SIMULASI SISTEM REMOTE ACCESS IPSEC...
Transcript of SIMULASI SISTEM REMOTE ACCESS IPSEC...
SIMULASI SISTEM REMOTE ACCESS IPSEC BERBASIS
PERANGKAT LUNAK IKEv2 STRONGSWAN
Oleh:
GIRI PATMONO
103091029599
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAIS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2010 M/ 1431 H
SIMULASI SISTEM REMOTE ACCESS IPSEC BERBASIS
PERANGKAT LUNAK IKEv2 STRONGSWAN
Skripsi
Diajukan untuk Memenuhi Persyaratan Memperoleh
Gelar Sarjana Komputer
Pada Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh:
GIRI PATMONO
103091029599
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAIS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2010 M/ 1431 H
ii
SIMULASI SISTEM REMOTE ACCESS IPSEC
BERBASIS PERANGKAT LUNAK IKEV2 STRONGSWAN
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar
Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh :
GIRI PATMONO
103091029599
Menyetujui :
Pembimbing I, Pembimbing II,
Arini, MT Hari Satria, S.Si, CCNANIP. 19760131 200901 2001 NIP.19711022 2009100 1002
Mengetahui :
Ketua Program Studi Teknik Informatika
Yusuf Durrachman, MITNIP. 19710522 200604 1002
iii
PENGESAHAN UJIAN
Skripsi berjudul ”Simulasi Sistem Remote Access IPsec Berbasis Perangkat
Lunak IKEv2 strongSwan” yang ditulis oleh Giri Patmono, NIM 103091029599
telah diuji dan dinyatakan lulus dalam sidang Munaqosyah Fakultas Sains dan
Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta pada hari Senin, 6
September 2010. Skripsi ini telah diterima sebagai salah satu syarat untuk
memperoleh gelar sarjana strata satu (S1) pada Program Studi Teknik
Informatika.
Menyetujui :
Penguji I, Penguji II,
Herlino Nanang, MT Andrew Fiade, MKomNIP. 19731209 200501 1002 NIP. 19820811 200912 1004
Pembimbing I, Pembimbing II,
Arini, MT Hari Satria, S.Si, CCNA
NIP. 19760131 200901 2001 NIP. 19711022 2009100 1002
Mengetahui :
Dekan Ketua Program Studi Fakultas Sains dan Teknologi, Teknik Informatika,
DR. Syopiansyah Jaya Putra, M.Sis Yusuf Durrachman, MIT NIP. 19680117 200112 1001 NIP. 19710522 200604 1002
iv
PENGESAHAN UJIAN
Skripsi berjudul “Simulasi Sistem Remote Access IPsec Berbasis
Perangkat Lunak IKEv2 strongSwan” yang ditulis oleh Giri Patmono, NIM
103091029599 telah diuji dan dinyatakan lulus dalam Sidang Munaqosyah
Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas
Islam Negeri Syarif Hidayatullah Jakarta pada hari ….., tanggal
…………………... Skripsi ini telah diterima sebagai salah satu syarat untuk
memperoleh gelar Sarjana Strata Satu (S1) Program Studi Teknik Informatika.
Jakarta, September 2010
Tim Penguji,
Mengetahui,
v
Penguji I, Penguji II,
Ketua Prodi Teknik Informatika
Yusuf Durachman, MIT NIP. 197105222006041002
Dekan Fakultas Sains dan Teknologi
DR. Syopiansyah Jaya Putra, MSisNIP. 196801172001121001
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-
BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN
SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI
ATAUPUN LEMBAGA MANAPUN.
Jakarta, Agustus 2010
GIRI PATMONO
103091029599
vi
ABSTRAK
Giri Patmono – 103091029599, Simulasi Sistem Remote Access IPsec Berbasis
Perangkat Lunak IKEv2 strongSwan, dibimbing oleh Arini, MT dan Hary Satria,
S.Si, CCNA.
VPN (Virtual Private Networking) merupakan suatu teknologi untuk membangun jaringan komputer virtual menggunakan media jaringan publik seperti Internet dengan melibatkan teknik tunneling. Salah satu skenario penerapan VPN adalah untuk remote access yang memungkinkan pengguna jarak jauh untuk mengakses sumber daya yang ada di jaringan komputer utama. Saat ini, remote access VPN berbasis protokol IPsec memiliki berbagai masalah dan kebutuhan yang menghambat penerapannya secara luas. Skripsi ini akan mencoba menentukan masalah dan kebutuhan dalam penerapan remote access VPN berbasis protokol IPsec. Kemudian akan dibuat suatu kriteria kebutuhan sistem sebagai solusi masalah tersebut dengan dasar penggunaan perangkat lunak IKEv2 strongSwan. Untuk melaksanakan pengujian, sistem akan dibuat dalam suatu lingkungan simulasi jaringan menggunakan tool virtualisasi VMware. Metode pengembangan sistem yang kami gunakan adalah Network Development Life Cycle (NDLC) sampai pada tahapan ketiga yaitu analysis, design, dan simulation prototyping. Secara garis besar, skripsi ini mengajukan sistem remote access IPsec berbasis perangkat lunak IKEv2 strongSwan sebagai solusi masalah kebutuhan remote access VPN berbasis IPsec. Tujuan skripsi ini adalah untuk mendapatkan verifikasi terhadap kemampuan sistem remote access IPsec berbasis perangkat lunak IKEv2 strongSwan tersebut. Kesimpulan yang kami dapatkan dari hasil penelitian skripsi ini adalah bahwa sistem remote access IPsec berbasis perangkat lunak IKEv2 strongSwan mampu mengatasi semua masalah dan kebutuhan dalam penerapan remote access VPN berbasis IPsec. Pengembangan selanjutnya yang dapat dilakukan adalah melakukan simulasi penerapan IPsec Extensible Authentication Protocol (EAP) dan simulasi pengujian interoperabilitas antara Linux IKEv2 strongSwan sebagai server dan klien berbasis Windows.
Keyword : remote access VPN, IPsec remote access problem, IKEv2, IKEv2 strongSwan, simulasi jaringan, virtualisasi VMware.
vii
KATA PENGANTAR
Puji serta syukur Puji syukur saya panjatkan ke hadirat Allah SWT, karena
atas berkat dan rahmat-Nya skripsi ini dapat diselesaikan. Shalawat serta salam
penulis haturkan ke junjungan Nabi besar Muhammad SAW.
Penulis akhirnya dapat menyelesaikan skripsi dengan judul ”SIMULASI
SISTEM REMOTE ACCESS IPSEC BERBASIS PERANGKAT LUNAK IKEv2
STRONGSWAN”. Skripsi merupakan salah satu tugas wajib mahasiswa sebagai
persyaratan untuk mengambil gelar Strata 1 (S1) pada Program Studi Teknik
Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif
Hidayatullah Jakarta.
Dalam penyusunan Skripsi ini saya mendapat bimbingan dan bantuan dari
berbagai pihak, oleh karena itu perkenankanlah pada kesempatan ini saya
mengucapkan terima kasih kepada :
1. DR. Syopiansyah Jaya Putra, M.Sis, selaku Dekan Fakultas Sains dan
Teknologi UIN Syarif Hidayatullah Jakarta.
2. Yusuf Durrachman, MIT, selaku Ketua Program Studi Teknik Informatika
dan Viva Arifin, MMSi, selaku Sekretaris Program Studi Teknik
Informatika.
3. Ibu Arini, M.T selaku dosen pembimbing I dan Bapak Hary Satria, S.Si,
CCNA selaku dosen pembimbing II yang telah memberikan bimbingan,
dan dukungan sehingga penulis dapat menyelesaikan skripsi ini.
viii
4. Seluruh Dosen Teknik Informatika yang tidak dapat penulis sebutkan satu
persatu yang telah memberikan ilmu dan bimbingannya selama penulis
menyelesaikan studi di Teknik Informatika.
5. Seluruh staff Jurusan TI/SI dan staff Akademik FST yang telah membantu
peneliti dalam masa perkuliahan.
6. Teman-teman dari Prodi Teknik Informatika angkatan 2003 khususnya
kelas D(Ali, Ba’i, Bahtiar, Erwin, Gun-gun, Hafizs, Hary, Muhartanto,
Rijal, Rulan, Shidiq, Syamsul, Syukur, Aida, Diah, Desi, Lela, Ma’ul
Mimi, Prilia, Ratih, Yuni) dan band ”SwitchCase”(Adam, Fahmi, Putro,
Tedy, Wildan) yang telah melewatkan waktu bersama selama masa kuliah.
7. Teman-teman TI seperjuangan angkatan 2003 kelas A, B & C.
Akhir kata saya berharap agar skripsi ini dapat bermanfaat bagi semua yang
membacanya sekian.
Depok, Agustus 2010
Giri Patmono103091029599
ix
LEMBAR PERSEMBAHAN
Skripsi ini peneliti persembahkan kepada orang tua (Bapak Sukaryo dan
Ibu Sihwati) beserta saudari penulis (Adikku tersayang Ira Damayanti) dan
seluruh sanak saudara dan keluarga besar penulis yang selalu memberikan
dukungan baik moral dan materi kepada penulis. Dukungan mereka tidak
terbayang besarnya bagi penulis. Semoga mereka selalu dalam berkah dan
lindungan Allah SWT.
x
DAFTAR ISI
Halaman Sampul ............................................................................................. i
Halaman Judul ................................................................................................ ii
Lembar Pengesahan Pembimbing .................................................................... iii
Lembar Pengesahan Ujian ............................................................................. iv
Lembar Pernyataan ......................................................................................... vi
Abstrak ............................................................................................................. vii
Kata Pengantar ................................................................................................. viii
Lembar Persembahan ....................................................................................... x
Daftar Isi ......................................................................................................... xi
Daftar Gambar ................................................................................................ xvi
Daftar Tabel .................................................................................................... xviii
Daftar Lampiran ............................................................................................... xix
Daftar Istilah ................................................................................................... xx
BAB I PENDAHULUAN
1.1 Latar Belakang..............................................................................1
1.2 Rumusan Masalah.........................................................................3
1.3 Batasan Masalah...........................................................................3
1.4 Tujuan Penelitian..........................................................................4
1.5 Manfaat Penelitian........................................................................4
1.6 Hipotesa........................................................................................5
1.7 Metodologi Penelitian...................................................................5
1.8 Sistematika Penulisan...................................................................6
BAB II TINJAUAN PUSTAKA
2.1 Virtual Private Networking..........................................................7
2.1.1 Tujuan VPN 8
2.1.2 Tunneling 9
xi
2.1.3 Beberapa Tipe Protokol Tunneling VPN...........................................9
2.1.4 Topologi Jaringan VPN....................................................................11
2.1.4.1 Host-to-Host VPN......................................................................11
2.1.4.2 Site-to-Site VPN 12
2.1.4.3 Remote Access VPN..................................................................13
2.2 Kriptografi..................................................................................14
2.2.1 Kriptografi Simetris..........................................................................14
2.2.1.1 Enkripsi Simetris 14
2.2.1.2 Hashed Message Authentication Code.......................................14
2.2.2 Kriptografi Kunci Publik..................................................................15
2.2.2.1 Enkripsi Asimetris......................................................................15
2.2.2.2 Diffie Hellman Key Exchange....................................................16
2.2.2.3 Digital Signature 17
2.3 IPsec Protocol Suite....................................................................18
2.3.1 Arsitektur IPsec................................................................................18
2.3.2 Protokol Pembentuk IPsec...............................................................19
2.3.2.1 ESP 19
2.3.2.2 IKE 21
2.3.3 Mode Enkapsulasi............................................................................22
2.3.3.1 Mode Transport 22
2.3.3.2 Mode Tunnel 22
2.3.4 Security Association.........................................................................23
2.3.5 Security Databases...........................................................................24
2.4 NAT............................................................................................24
2.5 Protokol IKEv2...........................................................................26
2.5.1 Pertukaran Pesan Pada IKEv2..........................................................27
2.5.1.1 Initial Exchange (IKE_SA)........................................................27
2.5.1.2 CHILD_SA 28
2.5.1.3 Informational Exchange.............................................................28
2.5.1.4 Rekeying 29
2.5.2 Traffic Selector.................................................................................29
xii
2.5.3 Nonce 30
2.5.4 Penggunaan Alamat dan Port...........................................................30
2.5.5 Pembuatan Material Kunci...............................................................31
2.5.6 Penanganan Error.............................................................................31
2.5.7 Format Header IKEv2......................................................................31
2.5.8 Tipe Payload IKEv2.........................................................................33
2.6 Simulasi Jaringan........................................................................35
2.6.1 Manfaat Simulasi Jaringan...............................................................36
2.6.2 VMware Workstation.......................................................................37
2.7 Perangkat Lunak IKEv2 strongSwan.........................................38
2.8 OpenSSL.....................................................................................39
2.9 NDLC.........................................................................................39
BAB III METODOLOGI PENELITIAN
3.1 Subyek Penelitian.......................................................................42
3.2 Obyek Penelitian.........................................................................42
3.3 Jenis Penelitian...........................................................................42
3.4 Alat Penelitian............................................................................42
3.5 Metode Penelitian.......................................................................44
3.5.1 Metode Pengumpulan Data..............................................................44
3.5.2 Metode Pengembangan Sistem........................................................44
3.6 Alur Proses Penelitian................................................................48
BAB IV ANALISIS DAN PEMBAHASAN
4.1 Fase Analysis..............................................................................49
4.1.1 Penentuan Masalah Remote Access VPN Berbasis IPsec...............49
4.1.1.1 Kebutuhan Algoritma Kriptografi Yang Kuat...........................49
4.1.1.2 Kebutuhan Pengulangan Autentikasi.........................................50
4.1.1.3 Masalah Ketidakcocokan NAT-IPsec........................................50
4.1.1.4 Masalah Alamat Klien IPsec yang Overlapping........................51
4.1.1.5 Masalah NAT Traversal Mode Transport..................................52
xiii
4.1.1.6 Kebutuhan Peer IPsec yang Mobile dan Multihoming..............53
4.1.2 Pemberian Solusi Dengan Protokol IKEv2......................................54
4.1.2.1 Algoritma Suite B......................................................................54
4.1.2.2 Repeated Authentication untuk IKEv2......................................58
4.1.2.3 NAT Traversal pada IKEv2.......................................................58
4.1.2.4 Virtual IP 60
4.1.2.5 NAT Traversal Tunnel Mode policy..........................................61
4.1.2.6 MOBIKE 62
4.1.3 Menentukan Kebutuhan Sistem.......................................................63
4.2 Fase Design.................................................................................64
4.2.1 Perancangan Topologi Jaringan Internet..........................................65
4.2.2 Perancangan Skenario Pengujian.....................................................65
4.2.2.1 Skenario Pengujian Algoritma Suite B......................................66
4.2.2.2 Skenario Pengujian Repeated Authentication............................66
4.2.2.3 Skenario Pengujian NAT Traversal...........................................67
4.2.2.4 Skenario Pengujian Virtual IP....................................................68
4.2.2.5 Skenario Dua Roadwarrior Tunnel Mode..................................69
4.2.2.6 Skenario Pengujian MOBIKE....................................................70
4.3 Fase Simulasi Prototyping..........................................................70
4.3.1 Pembuatan Simulasi Jaringan Internet.............................................71
4.3.1.1 Instalasi VMware Workstation..................................................71
4.3.1.2 Simulasi Jaringan Internet Dengan VMware VMnet.................72
4.3.1.3 Pembuatan Virtual Machine.......................................................73
4.3.1.4 Konfigurasi Jaringan Virtual......................................................75
4.3.2 Penerapan Perangkat Lunak.............................................................76
4.3.2.1 Pembuatan X.509 Certificate berbasis Signature ECDSA.........76
4.3.2.2 Pembuatan Sertifikat CA...........................................................77
4.3.2.3 Pembuatan Sertifikat untuk End Entity......................................77
4.3.2.4 Instalasi Certificate....................................................................78
4.3.2.5 Instalasi Perangkat Lunak IKEv2 strongSwan...........................79
4.3.3 Pengujian Sistem..............................................................................80
xiv
4.3.3.1 Pengujian Algoritma Suite B.....................................................80
4.3.3.2 Pengujian Repeated Authentication...........................................81
4.3.3.3 Pengujian NAT Traversal..........................................................82
4.3.3.4 Pengujian Virtual IP...................................................................84
4.3.3.5 Pengujian Dua Roadwarrior Tunnel Mode................................87
4.3.3.6 Pengujian MOBIKE...................................................................89
4.3.4 Evaluasi 91
4.3.4.1 Pengujian Algoritma Suite B.....................................................91
4.3.4.2 Pengujian Repeated Authentication...........................................91
4.3.4.3 Pengujian NAT Traversal..........................................................92
4.3.4.4 Pengujian Virtual IP...................................................................92
4.3.4.5 Pengujian NAT Traversal Tunnel Mode....................................92
4.3.4.6 Pengujian MOBIKE...................................................................92
BAB V KESIMPULAN DAN SARAN
5.1 Kesimpulan.................................................................................93
5.2 Saran...........................................................................................94
DAFTAR PUSTAKA..................................................................................95
LAMPIRAN
xv
DAFTAR GAMBAR
Gambar 2.1 Contoh VPN untuk akses secara remote................................... 7Gambar 2.2 Contoh tunneling dengan GRE................................................. 9Gambar 2.3 Host-to-Host VPN..................................................................... 12Gambar 2.4 Site-to-Site VPN........................................................................ 13Gambar 2.5 Remote Acces VPN.................................................................... 14Gambar 2.6 Enkripsi Asimetris..................................................................... 16Gambar 2.7 Pembuatan Kunci Diffie-Hellman............................................. 17Gambar 2.8 Komponen Arsitektur IPsec...................................................... 19Gambar 2.9 Format Header ESP (RFC 4303)............................................. 20Gambar 2.10 Enkapsulasi pada mode transport............................................ 22Gambar 2.11 Enkapsulasi pada mode tunnel................................................. 23Gambar 2.12 Network Address Translation................................................... 25Gambar 2.13 Format Header IKEv2.............................................................. 32Gambar 2.14 General IKEv2 Payload Header............................................... 33Gambar 2.15 Network Development Life Cycle.............................................. 40Gambar 3.1 Metode Pengembangan NDLC ................................................ 45Gambar 3.2 Alur Proses Penelitian ............................................................. 48Gambar 4.1 Alamat IP Klien IPsec yang overlapping.................................. 52Gambar 4.2 Traffic description yang overlapping........................................ 53Gambar 4.3 UDP Encapsulated ESP pada mode transport......................... 59Gambar 4.4 UDP Encapsulated ESP pada mode tunnel.............................. 59Gambar 4.5 UDP encapsulation of IPsec ESP packet.................................. 59Gambar 4.6 Format Floated IKE Header..................................................... 60Gambar 4.7 Format Header UDP untuk paket NAT-keepalive.................... 60Gambar 4.8 Virtual IP address..................................................................... 61Gambar 4.9 Policy NAT Traversal Tunnel Mode......................................... 62Gambar 4.10 Desain Topologi Jaringan Internet........................................... 65Gambar 4.11 Skema Pengujian Algoritma Suite B......................................... 66Gambar 4.12 Skema Pengujian Repeated Authentication.............................. 67Gambar 4.13 Skema Pengujian NAT Traversal.............................................. 67Gambar 4.14 Skema Pengujian Virtual IP...................................................... 68Gambar 4.15 Skema Pengujian Dua Roadwarrior Tunnel Mode................... 69Gambar 4.16 Skema Pengujian MOBIKE....................................................... 70Gambar 4.17 Instalasi VMware Workstation................................................. 71Gambar 4.18 Tampilan VMware Workstation................................................ 72Gambar 4.19 Virtual Network Editor............................................................. 72Gambar 4.20 Desain Simulasi Jaringan Internet dengan VMware................ 73Gambar 4.21 Pemilihan Guest OS.................................................................. 74Gambar 4.22 Tipe Koneksi Jaringan untuk Virtual Machine......................... 74Gambar 4.23 Tampilan Virtual Machine........................................................ 75Gambar 4.24 Setting Jaringan pada Virtual Machine.................................... 75Gambar 4.25 Pengujian Algoritma Kriptografi.............................................. 80Gambar 4.26 Hasil output konsol uji Algoritma Suite B pada GW1.............. 81
xvi
Gambar 4.27 Pengujian Repeated Authentication.......................................... 82Gambar 4.28 Hasil output konsol uji Repeated Authentication pada GW1. . . 82Gambar 4.29 Pengujian NAT Traversal......................................................... 83Gambar 4.30 Hasil output konsol uji NAT Traversal pada A........................ 84Gambar 4.31 Pengujian Virtual IP................................................................. 85Gambar 4.32 Hasil output konsol uji Virtual IP pada A............................... 85Gambar 4.33 Hasil output konsol uji Virtual IP pada Z................................ 86Gambar 4.34 Pengujian Dua Roadwarrior Tunnel Mode.............................. 87Gambar 4.35 Hasil output konsol uji Dua Roadwarrior Tunnel Mode A....... 88Gambar 4.36 Hasil output konsol uji Dua Roadwarrior Tunnel Mode B....... 88Gambar 4.37 Pengujian MOBIKE.................................................................. 89Gambar 4.38 Output awal pada A dengan IP 192.169.0.100......................... 90Gambar 4.39 Output pada A setelah interface 192.169.0.100 down.............. 90
xvii
DAFTAR TABEL
Tabel 2.1 Tipe Exchange pada pertukaran IKEv2....................................... 32Tabel 2.2 Nilai Next Payload pada Payload IKEv2..................................... 33Tabel 3.1 Perangkat Keras yang digunakan sebagai alat penelitian............ 43Tabel 3.2 Perangkat Lunak yang digunakan sebagai alat penelitian........... 43Tabel 4.1 Solusi yang diberikan berdasarkan protokol IKEv2.................... 54Tabel 4.2 Algoritma Suite B NSA berdasarkan level kerahasiaan.............. 55Tabel 4.3 Perbandingan kekuatan algoritma kriptografi.............................. 56Tabel 4.4 Cryptography Suite B pada RFC 4869........................................ 57Tabel 4.5 Perbandingan perangkat lunak IKEv2 sesuai kebutuhan sistem.. 64Tabel 4.6 Masalah, solusi, dan skenario pengujian sistem.......................... 66Tabel 4.7 Hasil Pengujian Sistem................................................................ 91
xviii
DAFTAR LAMPIRAN
Lampiran 1 Skema Jaringan Komputer dan Sertifikat X.509
Lampiran 2 Kode Konfigurasi IKEv2 strongSwan
Lampiran 3 Tampilan Hasil Pengujian Sistem
xix
DAFTAR ISTILAH
Istilah Artialgoritma suite B
Suatu kumpulan algoritma kriptograsi berdasarkan spesifikasi suite B NSA
asymetric key encryption
Enkripsi yang menggunakan dua kunci berbeda untuk proses enkripsi dan dekripsi
autentikasi Proses untuk membuktikan bahwa seorang pengguna adalah benar adanya.
bits of security Tingkat keamanan enkripsi simetris dengan ukuran suatu bit. Misalnya enkripsi simetris dengan kunci ukuran 80 bit.
Certificate
Berkaitan dengan kriptografi kunci publik. Sertifikat merupakan data identitas suatu entitas yang dikaitkan dengan kunci publik. Sertifikat dikeluarkan dan ditandatangani oleh suatu Certificate Authority. Contoh sertifikat adalah sertifikat berformat X.509.
Certificate Authority
Suatu pihak yang mengeluarkan dan menandatangani suatu sertifikat.
CHILD SA Exchange
Salah satu tipe pertukaran pesan pada IKEv2
CHILD SA Exchange
Salah satu tipe pertukaran pesan pada IKEv2
ciphertext suatu data yang telah dienkripsi sehingga menjadi tidak terbaca
confidentiality suatu konsep yang menjelaskan tentang proteksi data sehingga hanya yang berhak saja yang dapat mengetahui isinya
cryptographic hash function
Suatu proses kriptografi untuk menghasilkan suatu output string tetap dari suatu variabel data
dedicated linebiasa disebut pula leased line, yaitu suatu jalur komunikasi yang terus menerus ada bagi suatu pelanggan telekomunikasi. Jalur ini secara khusus didedasikan bagi pelanggan. Kebalikan dari dedicated line adalah dial up.
dekripsi proses untuk mengubah ciphertext menjadi plaintextDiffie Hellman (DH)
lihat diffie hellman key exchange.
dial up linesuatu jalur komunikasi yang ada bagi suatu pelanggan telekomunikasi dengan metode dial up. Jalur ini dibagi bersama oleh pelanggan lain. Berbiaya lebih murah dibanding dedicated line
diffie hellman key exchange
Protokol yang memungkinkan dua pihak untuk membuat suatu shared secret diatas media komunikasi yang tidak aman.
Digest Lihat message digest.
digital signature salah satu penerapan kriptografi asimentris yang mencoba mensimulasikan sifat keamanan dari tandatangan kedalam bentuk digital.
Discrete Logarithm
Problem matematika berbasis logaritma diskrit yang dijadikan dasar dalam algoritma DSA dan DH..
DSA Digital Signature Algorithm merupakan standar algoritma digital signature
ECDH Merupakan protokol diffie hellman key exchange yang menggunakan elliptic curve cryptography
ECDSA Varian DSA yang menggunakan elliptic curve cryptographyElliptic Curve Cryptography
Elliptic Curve Cryptography (ECC) merupakan pendekatan kriptografi asimetris yang berdasarkan struktur kurva eliptis.
enkripsi proses untuk mengubah plaintext menjadi ciphertextEnkripsi asimetris
Lihat asymetric encryption.
Enkripsi simetris
Enkripsi dimana kunci yang sama digunakan dalam proses enkripsi dan dekripsi.
ESP Encapsulating Security Payload (ESP) merupakan protokol bagian dari IPsec yang menyediakan layanan auntentikasi, integrity, dan confidentiality
xx
Fedora Merupakan suatu sistem operasi bertujuan umum yang dibangun diatas kernel Linux dikembangkan oleh komunitas dan disponsosri Red Hat.
Finite Field Cryptography
Finite Field Cryptography (FFCC) merupakan pendekatan kriptografi asimetris yang berdasarkan masalah matematika seperti integer factorization diatas suatu finite fields.
Gateway IPsec biasa disebut pula Server IPsec, bertugas melayani permintaan pembuatan tunnel IPsec dari klien
Grup DH Grup yang berisi nilai yang menjadi patokan dalam proses pembuatan shared secret. Contohnya adalah grup DH 14 MODP berukuran 2048 bit.
HMAC HMAC (Hash-based Message Authentication) merupakan tipe MAC yang digunakan dalam protokol IPsec
IKE bagian protokol IPsec yang bertugas melakukan manajemen SAIKE peer suatu host komputer yang terlibat dalam suatu negosiasi IKEIKEv2 Versi terbaru IKE yang mengalami perbaikan dan pembaharuanInformational Exchange
Salah satu tipe pertukaran pesan pada IKEv2 yang digunakan untuk mempertukarkan pesan bersifat manajerial
Initial Exchange
pertukaran awal pada IKEv2 untuk membangun tunnel IPsec
Integer Factorization
Problem matematika berbasis faktorisasi nilai Integer yang dijadikan dasar dalam algoritma RSA.
Internet Jaringan komputer yang saling terhubung secara global
IP Internet Protocol (IP) adalah suatu protokol komunikasi untuk melakukan pengiriman data dalam suatu jaringan berbasis packet-switched
IPsec IPsec (IP security) adalah kumpulan protokol untuk mengamankan komunikasi data pada jaringan IP
IPsec host suatu host IPsec adalah komputer yang terlibat dalam suatu pembangunan tunnel IPsec. Biasa disebut pula IPsec peer
IPsec peer lihat IPsec host
IPv4 IPv4 (Internet Protocol version 4) adalah iterasi keempat dari IP dan merupakan protokol versi pertama yang secara luas digunakan saat ini.
jaringan private Jaringan komputer yang dimiliki oleh pribadi dan tak dapat diakses publik.jaringan publik Jaringan komputer yang dapat diakses oleh publik
Kriptografi Ilmu yang mempelajari tentang penyembunyian rahasia menggunakan suatu nilai atau kunci rahasia.
kriptografi asimetris
Kriptografi asimetris, biasa disebut pula kriptografi kunci publik atau public-key cryptography, merupakan suatu bentuk kriptografi yang menggunakan sepasang kunci yaitu kunci private dan kunci publik.
kriptografi kunci-publik
lihat kriptografi asimetris
kriptografi simetris
Kriptografi simetris, merupakan suatu bentuk kriptografi yang menggunakan kunci rahasia yang sama untuk proses kriptografinya.
kunci private kunci rahasia yang secara matematis bersesuaian dengan kunci publik dan hanya boleh diketahui dan dimiliki oleh penggunanya saja.
kunci publik Kunci yang secara matematis bersesuaian dengan kunci private, bersifat publik dan boleh disebarluaskan
LAN Local Area Network (LAN) adalah suatu jaringan komputer yang terdiri dari komputer yang berada di satu lokasi kecil seperti kantor, rumah, dsb
leased line lihat dedicated line
MAC Message Authentication Code (MAC) merupakan suatu potongan informasi yang digunakan untuk mengautentikasi suatu pesan.
message digest Hasil proses hashing yang menghasilkan output string berukuran tetap.message integrity
Suatu konsep yang menjelaskan bahwasanya suatu pesan tidak mengalami perubahan dari pengirim ke penerima
MOBIKE Suatu protokol yang menyediakan layanan ekstensi untuk IKEv2 sehingga
xxi
alamat IP yang diasosiasikan dengan SA IKE dan SA IPsec dapat berubah tanpa adanya proses pembangunan ulang tunnel IPsec.
mobile worker Suatu pengguna layanan jaringan yang bersifat mobile yang berada di luar jaringan utama
mode transport Mode operasi IPsec yang melakukan pengamanan data pada layer transport tanpa melakukan enkapsulasi header IP asli
mode tunnel Mode operasi IPsec yang melakukan pengamanan data pada layer network. Melibatkan teknik enkapsulasi header IP asli ke dalam header IP baru
MODP MODP (Modular Prime) adalah salah satu tipe nilai berbasis nilai prima modular yang digunakan dalam grup DH.
NAT Network Addresss Translation (NAT) adalah suatu mekanisme untuk memetakan suatu alamat IP ke alamat IP lainnya
NAT Traversal Dalam IPsec, merupakan suatu mekanisme yang menggunakan enkapsulasi UDP untuk melewatkan paket IPsec melalui NAT.
NDLC Network Development Life Cycle (NDLC) adalah metode pengembangan sistem jaringan komputer yang menggunakan siklus hidup berulang.
NETKEY Merupakan suatu driver yang menerapkan protokol IPSec dalam lingkungan kernel Linux
Nonce Suatu data sekali pakai yang digunakan sebagai salah satu input dalam negosiasi kunci IKE dan IPsec
open source
Open Source dalam konteks software adalah suatu software yang tersedia dalam bentuk source code dimana hak cipta terhadap software itu masih dimiliki oleh pemegang asli dan software bebas untuk didistribusikan, diubah, dan dimanipulasi demi pengembangan.
openSSL Perangkat lunak open source yang menerapkan standar protokol SSL dan TLS dan juga algoritma kriptografi yang dibutuhkan protokol tersebut
Overlapping Adanya nilai yang sama yang tumpang tindih.Overlapping IP address
Nilai alamat IP yang sama sehingga terjadi konflik.
PKIDalam kriptografi, Public Key Infrastructure (PKI) adalah suatu mekanisme untuk mengikat suatu identitas dengan suatu kunci publik. Contoh sistem PKI adalah sertifikat X.509
plaintext Pesan yang dapat dibaca sebelum mengalami enkripsi atau sesudah mengalami dekripsi
protokol Dalam jaringan komputer, protokol merupakan suatu tata cara aturan standar agar komputer dapat berkomunikasi dengan benar
public key encryption
Sistem enkripsi yang menggunakan dua tipe kunci yaitu kunci publik dan kunci private
rekeying Proses pembuatan ulang parameter kunci yang digunakan dalam proses kriptografi
remote access IPsec
Sistem remote access VPN yang dibangun dengan tunnel IPsec
remote access VPN
Topologi VPN dimana seorang remote user atau mobile worker atau teleworker membangun tunnel VPN dengan server VPN
remote user Pengguna sumber daya jaringan yang secara fisik berada di luar jaringanrepeated authentication
Suatu autentikasi antara peer IKE secara periodik
RFC Request For Comment (RFC) adalah dokumen yang mengatur standar protokol, saran pengembangan, dan diskusi untuk pengembangan Internet
RSA Singkatan dari Rivest-Shamir-Adleman, merupakan algoritma yang dapat digunakan untuk enkripsi asimetris dan digital signature.
roadwarrior Istilah lain untuk menjelaskan mobile worker atau telecommuter atau remote user dalam konteks VPN
SA Security Association (SA) adalah suatu data yang menampung informasi
xxii
untuk tunnel IPsec seperti parameter algoritma enkripsi, algoritma autentikasi, sequence number, dll.
secure VPN Konsep VPN yang juga menyediakan layanan keamanan data.sertifikat x509 Format sertifikat standar untuk sertifikat kunci publik.server IPsec lihat gateway IPsecsession key Suatu kunci rahasia yang hanya dipakai dalam satu sesi komunikasishared secret Suatu nilai atau kunci rahasia yang didapat dari hasil pertukaran kunci IKE.
shared state Dalam konteks IPsec, merupakan suatu keadaan yang sama yang dimiliki antara peer IPsec yang membangun komunikasi VPN
simulasiPeniruan kondisi atau keadaan dari sesuatu hal. Dalam jaringan komputer, simulasi digunakan untuk melakukan peniruan dari kerja jaringan komputer nyata untuk tujuan penelitian atau pengujian
site-to-site VPN Topologi VPN yang menghubungkan dua jaringan LAN diatas suatu media jaringan publik
SSL Secure Socket Layer (SSL) merupakan standar protokol untuk menyediakan layanan keamanan untuk komunikasi data Internet.
strongSwan Perangkat lunak aplikasi open source yang menerapkan standar protokol IKEv2.
symetric key encryption
Sistem enkripsi yang menggunakan kunci rahasia yang sama dalam proses kriptografi
teleworker Pengguna remote access VPN dari rumah
TLS Protokol penerus dari SSL yang menyediakan layanan keamanan untuk komunikasi data Internet.
traffic descriptor
Informasi SA berisi jenis protokol dan nomor port yang diproteksi IPsec.
traffic selector Informasi SA berisi subnet jaringan yang ingin diproteksi IPsec
tunnelingProses enkapsulasi suatu paket kedalam protokol tunneling dengan tujuan agar suatu paket dapat dikirimkan melewati jaringan lain dengan protokol yang berbeda atau bertujuan untuk membuat VPN.
VMware Perangkat lunak untuk virtualisasi sistem operasi dan jaringan komputer
VPN Suatu jaringan private diatas jaringan publik yang dibangun menggunakan mekanisme tunnel.
WAN Jaringan komputer yang terdiri dari jaringan komputer LAN. Internet dapat dikategorikan sebagai suatu WAN.
xxiii
BAB I
PENDAHULUAN
1.1 Latar Belakang
VPN (Virtual Private Networking) merupakan suatu teknologi untuk
membangun jaringan virtual antara komputer melalui media jaringan publik
seperti Internet dengan melibatkan teknik tunneling. Penjelasan sederhananya,
VPN adalah suatu jaringan komputer private yang dibangun diatas media fisik
jaringan publik. Teknik tunneling digunakan untuk melewatkan transmisi data
private diatas media jaringan publik sehingga terbentuk suatu jaringan komputer
lokal virtual walaupun secara fisik bisa saja terdiri dari komputer dengan lokasi
geografis berbeda seperti antar benua. VPN menyediakan solusi dengan biaya
lebih murah dibanding pilihan dedicated line ataupun leased-line bagi pihak yang
ingin memperluas jaringan infrastruktur komputer.
Terdapat dua skenario umum penggunaan VPN yaitu Site-to-Site dan
Remote Access. Site-to-Site menghubungkan antar jaringan komputer LAN
sedangkan Remote Access VPN digunakan antara pengguna remote(jarak jauh)
seperti telecoworker (bekerja dari rumah) atau mobile worker (pekerja mobile)
dengan suatu jaringan komputer LAN utama dari suatu organisasi.
Salah satu standar teknologi yang dapat digunakan untuk membuat VPN
adalah Internet Protocol Security (IPsec) yang bekerja pada level lapisan network.
IPsec terdiri dari beberapa protokol yaitu Authentication header (AH),
Encapsulating Security Payload (ESP), dan Internet Key Exchange (IKE). AH
dan ESP berfungsi untuk memberikan layanan kriptografi, sedangkan IKE
bertugas menangani urusan manajemen parameter Security Association (SA).
1
Protokol IKEv2 merupakan pengembangan dari protokol IKE (IKEv1) dan
ia memiliki banyak kelebihan dibanding versi sebelumnya. Protokol IKEv2 dipilih
sebagai topik penelitian karena protokol tersebut masih terbilang baru dan belum
secara luas diterapkan. strongSwan merupakan salah satu implementasi perangkat
lunak IKEv2 dalam lingkungan sistem operasi Linux dengan lisensi GPL (GNU
Public License) sehingga ia bersifat free dan open source.
Penerapan VPN berbasis IPsec dalam skenario Remote Access (disebut
pula Remote Access IPsec) memiliki masalah dan kebutuhan yang menghambat
penerapannya secara luas. Dari hasil studi literatur, kami berhasil menemukan
masalah dan kebutuhan yang bersifat mendasar dan opsional yang berperan
penting dalam penerapan remote access VPN berbasis IPsec. Secara garis besar,
skripsi ini akan mencoba menentukan masalah dan kebutuhan yang bersifat
mendasar dan opsional dalam penerapan remote access VPN berbasis protokol
IPsec. Kemudian akan dibuat suatu kriteria kebutuhan sistem sebagai solusi
dengan dasar perangkat lunak IKEv2 strongSwan. Berdasarkan kriteria itu, skripsi
ini akan membuat suatu sistem remote access IPsec berbasis perangkat lunak
IKEv2 strongSwan yang memberikan solusi atas setiap masalah dan kebutuhan
itu. Untuk memudahkan pengujian, sistem akan dibuat dalam suatu lingkungan
simulasi jaringan menggunakan tool virtualisasi VMware. Suatu desain skenario
jaringan akan dibuat untuk mengakomodasi kebutuhan pengujian terhadap sistem
Remote Access IPsec berbasis perangkat lunak IKEv2 strongSwan itu. Hasil dari
penelitian ini adalah berupa verifikasi terhadap kemampuan sistem Remote
Access IPsec berbasis perangkat lunak IKEv2 strongSwan sebagai solusi atas
masalah dan kebutuhan remote access IPsec.
2
1.2 Rumusan Masalah
Rumusan masalah penelitian dibuat dengan mengajukan pertanyaan
sebagai berikut :
1) Menemukan masalah-masalah yang ada dalam penerapan sistem Remote
Access VPN berbasis IPsec?
2) Bagaimanakah membuat sistem Remote Access IPsec berbasis perangkat
lunak IKEv2 strongSwan yang mampu memberikan solusi terhadap masalah
yang berhasil ditemukan?
3) Bagaimana merancang skenario jaringan yang dibutuhkan untuk
mengakomodasi pengujian sistem dengan tool virtualisasi VMware?
4) Dari hasil pengujian, apakah sistem Remote Access IPsec berbasis perangkat
lunak IKEv2 strongSwan yang dibangun mampu berjalan pada setiap skenario
jaringan pengujian?
1.3 Batasan Masalah
Batasan masalah dalam skripsi ini dapat dijelaskan dalam pernyataan
sebagai berikut:
1) Simulasi jaringan menggunakan tool VMware Workstation.
2) Perangkat lunak IKEv2 yang digunakan adalah strongSwan versi 4.4.0
3) Penelitian hanya dilakukan pada jaringan berbasis IPv4.
4) Skenario VPN adalah Remote Access VPN.
5) Sistem VPN IPsec menggunakan PC dengan sistem operasi Fedora 9 dengan
kernel Linux 2.6.24.
6) Implementasi protokol IPsec (IPsec stack protocol driver) yang digunakan
dalam sistem operasi Linux adalah NETKEY (native ipsec stack).
3
7) Protokol kriptografi yang digunakan adalah ESP (AH tidak digunakan).
1.4 Tujuan Penelitian
Penelitian ini bersifat eksploratoris yang bermaksud untuk menjelajahi dan
menyelidiki lebih dalam mengenai seluk-beluk mengenai Remote Access VPN
berbasis IPsec, permasahan yang ada dalam penerapannya, solusi protokol IKEv2,
dan solusi perangkat lunak open source IKEv2 untuk lingkungan Linux.
Tujuan penelitian skripsi dapat dijabarkan dalam pernyataan berikut ini:
1) Menemukan permasalahan yang ada pada penerapan Remote Access VPN
berbasis IPsec.
2) Membuat simulasi sistem Remote Access IPsec berbasis perangkat lunak
IKEv2 strongSwan.
3) Melakukan pengujian pada simulasi sistem Remote Access IPsec berbasis
perangkat lunak IKEv2 strongSwan untuk memverifikasi kemampuan sistem
tersebut sebagai solusi atas masalah dan kebutuhan yang ada pada Remote
Access VPN berbasis Ipsec.
1.5 Manfaat Penelitian
Dengan adanya penelitian skripsi ini, semoga manfaat-manfaat berikut
terpenuhi :
1) Memperluas pemahaman dan wawasan penulis mengenai konsep Remote
Access VPN berbasis IPsec terutama mengenai permasalahan yang ada dan
bagaimana protokol IKEv2 dapat digunakan sebagai solusi terhadap
permasalahan tersebut.
2) Dapat memberikan ulasan dan evaluasi terhadap solusi sistem IPsec dengan
perangkat lunak IKEv2 strongSwan.
4
3) Menambah referensi dalam bidang VPN berbasis IPsec bagi pihak yang
berkepentingan.
1.6 Hipotesa
Hipotesa yang digunakan dalam skripsi ini dijelaskan dalam pernyataan
berikut :
• Sistem Remote Access IPsec berbasis perangkat lunak IKEv2 strongSwan
mampu digunakan sebagai solusi terhadap masalah dan kebutuhan yang
umumnya ada pada skenario Remote Access VPN berbasis IPsec.
1.7 Metodologi Penelitian
Metode penelitian dalam skripsi ini dibagi menjadi dua bagian yaitu :
1) Metode Pengumpulan Data
Metode yang dipakai untuk mendapatkan data dan informasi yang
dibutuhkan adalah studi pustaka. Teori serta fakta yang didapatkan melalui studi
pustaka digunakan sebagai dasar penunjang kebenaran ilmiah dalam skripsi ini.
2) Metode Pengembangan Sistem
Pengembangan sistem yang digunakan dalam penelitian ini adalah metode
pengembangan model NDLC (Network Development Life Cycle) sampai tahap
tiga yaitu simulation prototyping. Tahap - tahap siklus pengembangan model
NDLC (Network Development Life Cycle), yaitu:
a) Fase Analysis
b) Fase Design
c) Fase Simulation Prototyping
d) Fase Implementation
e) Fase Monitoring
f) Fase Management
5
1.8 Sistematika Penulisan
Penulisan skripsi ini dilaksanakan dengan format susunan yang terbagi ke
dalam beberapa bab, yang terdiri dari :
BAB I PENDAHULUAN
Dalam bab ini akan diuraikan secara ringkas latar belakang, rumusan dan batasan
masalah, tujuan dan manfaat penulisan, hipotesa, metodologi penelitian dan
sistematika penulisan.
BAB II TINJAUAN PUSTAKA
Bab ini berisi tinjauan kepustakaan yang membahas mengenai teori-teori VPN,
IPsec, Kriptografi, protokol IKEv2, tool virtualisasi VMware, perangkat lunak
IKEv2 strongSwan dan openSSL.
BAB III METODOLOGI PENELITIAN
Di dalam bab ini, metodologi penelitian yang digunakan dalam skripsi ini akan
diuraikan secara lebih terperinci.
BAB IV ANALISIS DAN PEMBAHASAN
Bab ini akan menyajikan hasil penyelidikan terhadap masalah pada Remote
Access VPN berbasis IPsec, menyajikan solusi kebutuhan sistem, membuat desain
skenario jaringan, membangun simulasi sistem remote accees IPsec, membahas
data-data yang dihasilkan dari proses pengujian.
BAB V PENUTUP
Bab ini merupakan bab terakhir dari skripsi yang menyajikan kesimpulan dan juga
saran.
DAFTAR PUSTAKA
LAMPIRAN
6
BAB II
TINJAUAN PUSTAKA
2.1 Virtual Private Networking
Virtual Private Networking (VPN) merupakan suatu koneksi antar jaringan
komputer yang bersifat private dengan menggunakan media jaringan publik
seperti Internet sebagai media penghubung fisik. Dengan kata lain, VPN
merupakan jaringan private diatas jaringan publik. Penggunaan VPN menjamin
keamanan yang tinggi karena koneksi dengan VPN menggunakan mekanisme
autentikasi dan enkripsi (Wijaya, 2006:186). Contoh penggunaan VPN adalah
untuk menghubungkan remote client dengan jaringan LAN melalui suatu VPN
server.
Gambar 2.1 Contoh VPN untuk akses secara remote
Suatu jaringan komputer private terdiri atas komputer yang dimiliki oleh
suatu organisasi yang melakukan penyediaan informasi antar komputer di dalam
jaringan private tersebut. Informasi yang dikirim antar komputer di dalam
jaringan komputer private hanya bisa dilihat oleh pengguna jaringan itu. LAN
(Local Area Network) merupakan salah satu tipe jaringan private. Public network
di sisi lain adalah jaringan dimana semua pengguna komputer bisa mengakses
jaringan tersebut. Contoh jaringan publik adalah Internet.
7
Hal yang membedakan antara jaringan private asli dan VPN adalah
penggunaan media fisik. Jaringan private yang sebenarnya menggunakan media
khusus yang dimiliki secara pribadi dan didedikasikan untuk menghubungkan dua
jaringan lokal yang terpisah. Media tersebut didedikasikan hanya untuk suatu
jaringan tertentu sehingga tidak ada pihak publik yang memiliki akses terhadap
lalu lintas data. Di lain pihak, VPN menggunakan media jaringan publik sebagai
media penghubung antara jaringan private. Oleh karena itu, transmisi data yang
terjadi dapat dibaca oleh pihak luar.
2.1.1 Tujuan VPN
Suatu perusahaan atau organisasi bisa mempunyai beberapa kantor cabang.
Setiap kantor cabang itu bisa memiliki jaringan LAN mereka sendiri. Kebutuhan
untuk menghubungkan berbagai jaringan lokal tersebut kemudian muncul. Pada
awalnya, suatu perusahaan bisa menggunakan media leased line untuk
menghubungkan antar kantor cabang tersebut. Akan tetapi, penggunaan leased
line adalah suatu solusi yang membutuhkan biaya besar. Jika kantor cabang
tersebut memiliki jarak yang sangat jauh, maka leased line bukan menjadi pilihan
ideal lagi.
Virtual Private Network dibuat agar sumber daya yang terdapat pada suatu
LAN dapat diakses dari berbagai tempat. VPN dibutuhkan oleh remote user yang
harus bisa mengakses sumber daya jaringan LAN kapan saja dan dimana saja.
Contoh dari remote user adalah seperti mobile worker dan juga teleworker.
Seorang mobile worker harus bisa mengakses data yang terdapat dalam jaringan
lokal perusahaan sesuai dengan kegiatannya. Untuk dapat mengakses jaringan
tersebut, mereka harus melakukan dial-in yang merupakan suatu cara yang relatif
8
mahal. Administrator jaringan terkadang harus mengatur sistem jaringan pada
waktu diluar kerja dan akses dapat dilakukan dari rumah kapan saja. Untuk kasus-
kasus tersebut, VPN merupakan solusi yang ideal.
VPN dapat dibuat dengan teknik tunneling antara Router pada setiap
jaringan lokal menggunakan media jaringan Internet. Dengan menggunakan
teknologi VPN maka biaya yang dikeluarkan menjadi lebih rendah dibanding
dengan menggunakan media leased line.
2.1.2 Tunneling
Tunnelling adalah proses enkapsulasi suatu paket kedalam protokol
tunneling dengan tujuan agar suatu paket dapat dikirimkan melewati jaringan lain
dengan protokol yang berbeda atau untuk menyediakan suatu kanal virtual
melewati jaringan publik. Salah satu contoh tunneling adalah menggunakan GRE
(Generic Routing Encapsulation). GRE merupakan suatu protokol yang didesain
untuk mengenkapsulasi paket IP kedalam paket IP baru. Dengan kata lain, GRE
melakukan enkapsulasi paket IP kedalam paket IP lain.
Gambar 2.2 Contoh tunneling dengan GRE
2.1.3 Beberapa Tipe Protokol Tunneling VPN
VPN dibangun dengan menggunakan protokol-protokol tertentu yang
menyediakan fungsi khusus masing-masing. Terdapat protokol yang berfungsi
untuk membuat suatu tunnel dan juga protokol yang berfungsi menyediakan
IPv4 TCP Data Protokol IPv4 biasa
Protokol IPv4 yang dienkapsulasiOleh GRE
IPv4 TCP DataIPv4 GRE
PayloadDeliveryHeader GRE
Format EnkapsulasiGRE
Payload
9
fungsi enkripsi dan autentikasi. Protokol PPTP dan L2TP merupakan protokol
yang menyediakan fungsi tunneling tetapi tidak menyediakan fungsi enkripsi.
Protokol IPsec merupakan contoh protokol yang mempu menyediakan fungsi
tunneling maupun enripsi dan autentikasi. Tipe VPN yang menggunakan protokol
tunneling dan kriptografi untuk menyediakan layanan confidentiality, autentikasi
pengirim, dan message integrity biasa pula disebut Secure VPN
(http://en.wikipedia.org/ Virtual_private_network).
Protokol-protokol tunneling yang berjalan pada Layer 2 dikenal dengan
nama Data Link Layer Tunneling. PPTP dan L2TP adalah contoh dari protokol
yang berjalan pada Layer 2. Protokol tunneling yang berjalan pada Layer 3
disebut juga dengan Network Layer Tunneling. Selain itu terdapat pula protokol
yang berjalan pada Layer 4 atau Transport Layer yang bisa digunakan untuk
membangun suatu VPN seperti misalnya SSL(Secure Socket Layer).
Berikut adalah beberapa jenis protokol yang digunakan untuk membangun
VPN.
• PPTP, Point-to-Point Tunneling Protocol (PPTP) bekerja dengan
menerapkan tunneling pada protokol Point-to-Point (PPP). PPTP
mengenkapsulasi paket data ke dalam protokol IP dan kemudian
dikirimkan ke media jaringan TCP/IP. Di dalam perjalanan, Router yang
menerima paket akan memperlakukan paket itu sebagai paket IP. Oleh
karena itu, paket yang awalnya merupakan data PPP dapat dilewatkan
melalui jaringan TCP/IP seperti Internet.
• L2TP, L2TP bertindak sebagai protokol data link layer yang digunakan
untuk melakukan tunneling antara dua peer pada jaringan yang umum
10
dipakai seperti Internet. Seperti halnya PPTP, paket L2TP dienkapsulasi
dalam paket IP agar dapat dikirimkan melewati jaringan Internet.
• IPsec, IPsec beroperasi pada network layer. IPsec merupakan protokol
keamanan standar untuk digunakan dalam komunikasi data pada jaringan
Internet.
• SSL/TLS, Secure Socket Layer (SSL) atau Transport Layer Security
(TLS) memungkinkan suatu aplikasi untuk berkomunikasi melintasi
jaringan dimana dilakukan pencegahan terhadap aksi yang bisa
membahayakan seperti eavesdropping, tampering, dll. SSL/TLS
menyediakan autentikasi endpoint dan privacy dengan menggunakan
teknologi kriptografi. SSL/TLS dapat digunakan untuk melakukan
tunneling suatu lalu-lintas data khususnya pada aplikasi-aplikasi yang
umum digunakan di Internet seperti web browsing, file transer.
2.1.4 Topologi Jaringan VPN
Topologi jaringan VPN merupakan suatu skema topologi jaringan yang
biasa digunakan dalam mengkategorikan suatu komunikasi VPN. Terdapat tiga
desain utama yang digunakan yaitu host-to-host, host-to-network(remote access),
dan network-to-network.
2.1.4.1 Host-to-Host VPN
Host-to-host mungkin merupakan skema yang kurang umum dibanding
dua skema lainnya. Ia hanya melibatkan dua host dalam pembangunan
komunikasi VPN. Konfigurasi host-to-host membuat suatu tunnel untuk
mengenkapsulasi komunikasi antara dua host.
11
Gambar 2.3 Host-to-Host VPN
Contoh penerapan dari skema macam ini adalah suatu remote backup
server, redundant server, dll. Kedua host terpisah secara geografis dan terhubung
melalui Internet.
2.1.4.2 Site-to-Site VPN
Site-to-site atau juga disebut network-to-network merupakan skema VPN
yang menghubungkan dua jaringan private yang terpisah secara geografis diatas
suatu VPN tunnel. VPN tipe ini umum digunakan ketika jaringan-jaringan
LAN(Local Area Network) terpisah secara geografis dihubungkan melalui
jaringan Internet sehingga sumber daya yang ada di kedua LAN tersebut dapat
digunakan oleh pengguna pada kedua jaringan.
Kebaikan dari VPN network-to-network adalah bahwa pengguna pada
kedua jaringan dapat secara transparan menggunakan sumber daya pada kedua
jaringan. VPN Gateway adalah pihak yang bertugas mengurus kebanyakan fungsi
VPN.
Untuk menjalankan VPN network-to-network, suatu fungsi tunneling
digunakan antara dua tunnel endpoint (umumnya adalah VPN Gateway atau
Router) untuk mengenkapsulasi komunikasi data antara dua jaringan private.
Enkapsulasi adalah sangat penting agar kedua jaringan private yang memiliki
alamat IP private dapat dikirimkan melewati Internet.
12
Contoh penerapan skema network-to-network adalah koneksi antara dua
jaringan kantor cabang yang terpisah secara geografis. Suatu VPN dibuat untuk
menghubungkan dua LAN dengan membuat tunnel antara dua VPN Gateway
menggunakan media jaringan publik Internet.
Gambar 2.4 Site-to-Site VPN
2.1.4.3 Remote Access VPN
Remote Access VPN merupakan skema VPN yang menghubungkan suatu
host kepada suatu jaringan private melalui jaringan Internet. Jenis VPN ini
digunakan oleh pegawai perusahaan yang ingin terhubung ke jaringan khusus
perusahaannya dari berbagai lokasi yang jauh (remote) dari perusahaannya, untuk
beberapa situasi, remote clients mungkin memiliki akses langsung ke jaringan
seperti Internet.
Contoh penerapan skema ini adalah ketika suatu pekerja yang bersifat
remote berhubungan dengan jaringan LAN perusahaan yang bersifat private.
Pembangunan koneksi VPN yang terjadi adalah antara remote client dengan
Server VPN yang menjembatani LAN melalui Internet. Remote client pertama-
tama menginisiasi suatu request kepada Gateway untuk membuat VPN tunnel.
Remote client kemudian dapat mengakses sumber daya yang ada pada jaringan
LAN diatas VPN tunnel.
13
Gambar 2.5 Remote Acces VPN
2.2 Kriptografi
Kriptografi merupakan suatu ilmu yang mempelajari tentang
penyembunyian informasi dengan penggunaan suatu secret key. Di masa modern,
kriptografi dapat dilihat sebagai perpaduan matematika dan ilmu komputer.
2.2.1 Kriptografi Simetris
Kriptografi simetris adalah suatu bentuk kriptografi dimana suatu
pengguna berbagi kunci rahasia (shared secret key) yang sama.
2.2.1.1 Enkripsi Simetris
Enkripsi simetris adalah enkripsi dimana kunci yang digunakan dalam
proses enkripsi dan dekripsi adalah sama. Contoh dari enkripsi simetris adalah
DES (Data Encryption Standard) dan AES (Advance Encryption Standard).
2.2.1.2 Hashed Message Authentication Code
Message Authentication Code (MAC) merupakan suatu fungsi kriptografi
yang digunakan untuk melakukan autentikasi terhadap suatu pesan. Suatu
algoritma MAC menerima input berupa secret key dan pesan berukuran tertentu,
dan kemudian menghasilkan output nilai MAC.
HMAC (Hashed Message Authentication Code) merupakan salah satu tipe
MAC yang memiliki algoritma tersendiri dimana kalkulasi nilai output melibatkan
cryptograpic hash function dan kombinasi shared secret key. Sama seperti MAC,
14
HMAC dapat digunakan untuk melakukan verifikasi integrity dan authenticity
pesan. HMAC digunakan dalam sistem VPN berbasis IPsec. Berbagai algoritma
hash seperti MD5 atau SHA1 dapat dipakai dalam kalkulasi HMAC. Contoh
HMAC yang umum dipakai adalah HMAC-SHA1 dan HMAC-MD5 untuk IPsec.
2.2.2 Kriptografi Kunci Publik
Kriptografi Kunci-Publik atau disebut pula kriptografi asimetris, adalah
suatu bentuk kriptografi dimana suatu pengguna memiliki sepasang kunci
kriptografi yaitu kunci private dan kunci publik. Kunci private tersimpan secara
rahasia, sedangkan kunci publik bisa didistribusikan secara luas.
2.2.2.1 Enkripsi Asimetris
Sistem enkripsi dengan menggunakan symetric key memiliki masalah yang
bisa membahayakan keamanan informasi. Masalah itu diantaranya adalah
kebutuhan manajemen terhadap key. Setiap pihak yang berkepentingan terhadap
aktivitas enkripsi membutuhkan key yang sama untuk melakukan proses enkripsi
dan dekripsi. Oleh karena itu, dibutuhkan suatu cara agar kunci dapat disebarkan
secara aman kepada pihak tertentu saja. Disinilah masalahnya, jika sejak awal
komunikasi data Internet adalah aman, maka tidak dibutuhkan adanya kriptografi.
Ketika jumlah key bertambah, kebutuhan akan key management juga menjadi
semakin kompleks. Contoh enkripsi asimetris adalah RSA (Rivest-Shamir-
Adleman).
Suatu solusi dikembangkan dengan gagasan agar membuat dua buah kunci
(key) yang akan berperan dalam enkripsi dan dekripsi. Dua buah kunci tersebut
adalah berbeda tetapi secara matematika saling bersesuaian satu sama lain.
Berbeda dengan sistem enkripsi symetric, salah satu kunci digunakan dalam
15
mekanisme one-way function untuk menghasilkan ciphertext. Sedangkan kunci
yang lain digunakan untuk melakukan kebalikan dari one-way function untuk
mendapatkan plaintext. Oleh karena itu, sistem ini disebut dengan asymetric key.
Konsep enkripsi asimetris dengan penggunaan dua macam kunci ini disebut juga
public key encryption.
Sistem public key diajukan dalam bentuk proposal pertama kali oleh
Whitfield Diffie dan Martin Hellman pada tahun 1976. Pada sistem public key,
terdapat dua key yang secara matematika saling berhubungan. Kunci-kunci itu
adalah public key dan private key. Private key bersifat rahasia dan hanya
pemiliknya yang mengetahui.
Sistem jenis ini memiliki sifat khusus dimana kunci yang berbeda
digunakan dalam enkripsi dan dekripsi dan jika misal diberikan suatu kunci
enkripsi, maka akan sangat tidak mungkin untuk mendapatkan kunci yang sesuai
untuk dekripsi (Tanenbaum, 2001:588).
Gambar 2.6 Enkripsi Asimetris
2.2.2.2 Diffie-Hellman Key Exchange
Diffie-Hellman (D-H) Key Exchange merupakan suatu protokol kriptografi
yang memungkinkan dua pihak yang tidak memiliki pengetahuan satu sama lain
sebelumnya untuk secara bersama membuat suatu shared secret key (kunci rahasia
bersama) diatas suatu saluran komunikasi publik yang tidak aman. Kunci yang
16
telah berhasil dibuat itu kemudian dapat digunakan untuk melindungi komunikasi
data selanjutnya dengan menggunakan enkripsi simetris dengan shared secret key.
Gambar 2.7 Pembuatan Kunci Diffie-Hellman
Langkah pertama dalam negosiasi DH adalah kedua node memilih grup
DH yang sama. Grup DH digunakan sebagai patokan pembuatan nilai publik dan
private DH. Kemudian langkah kedua, kedua node mempertukarkan Nilai publik
DH masing-masing. Langkah ketiga seperti contoh gambar diatas, Node A
mengkombinasikan nilai publik B yang diterima dengan nilai private A begitu
pula sebaliknya dengan node B. Hasil proses tersebut adalah shared secret yang
hanya diketahui kedua node.
2.2.2.3 Digital Signature
Digital Signature adalah suatu signature elektronis yang bisa digunakan
untuk menandatangani data atau pesan yang dikirimkan melalui jaringan
komputer. Fungsi Digital signature adalah untuk memvalidasi identitas dari
pengirim data dan memastikan bahwa data tidak berubah di perjalanan.
Digital signature dikembangkan berdasarkan konsep kriptografi kunci
publik. Untuk menerapkan digital signature, dibutuhkan adanya sertifikat digital
pengirim dan sepasang kunci yang dikeluarkan oleh Certificate Authority. Digital
17
signature dilakukan dengan melakukan suatu fungsi matematika hash terhadap
suatu dokumen, yang kemudian dienkripsi dengan kunci private pengirim.
Hasilnya adalah suatu signature yang kemudian ditempelkan ke dokumen
tersebut. Penerima melakukan fungsi hash yang sama terhadap dokumen itu
dengan kunci publik pengirim. Jika nilai hashnya adalah sama, itu berarti bahwa
dokumen tersebut benar dikirimkan oleh pengirimnya tanpa mengalami
modifikasi. Contoh Digital Signature adalah Digital Signature Algorithm (DSA).
2.3 IPsec Protocol Suite
IPsec (IP security) adalah suatu kumpulan protokol-protokol yang didesain
oleh Internet Engineering Task Force (IETF) untuk menyediakan keamanan
untuk paket pada level network(Forouzan, 2007:996). Standar IPsec umum
digunakan dalam VPN untuk site-to-site VPN maupun remote access VPN).
Secara garis besar, IPsec terdiri atas tiga protokol utama yaitu; AH
(Authentication Header), ESP (Encapsulating Security Payload), dan IKE
(Internet Key Exchange).
IP Security (IPSec) menyediakan confidentiality, data integrity, dan
autentikasi terhadap Paket IP. Layanan ini disediakan dengan membuat dan
memelihara suatu shared state antara host atau peer IPsec. Keadaan (state) itu
disebut security association (SA). SA mendefinisikan hal-hal seperti layanan
spesifik untuk paket data, algoritma kriptografi yang akan digunakan, dan kunci-
kunci yang digunakan sebagai input bagi algoritma kriptografi.
2.3.1 Arsitektur IPsec
Arsitektur IPsec memiliki komponen-komponen sebagai berikut:
• Policy Agent
18
• IKE
• Security Association Database (SAD)
• Security Policy Database (SPD)
• AH dan atau ESP
Gambar 2.8 Komponen Arsitektur IPsec 2.3.2 Protokol Pembentuk IPsec
Protokol-protokol yang membentuk IPsec adalah protokol ESP untuk
layanan kriptografi dan protokol IKE untuk manajemen SA.
2.3.2.1 ESP (Encapsulating Security Payload)
Protokol Encapsulating Security Payload (ESP) menyediakan
perlindungan autentikasi, data integrity, dan antireplay dengan ditambah juga
fungsi confidentiality. ESP juga menyediakan perlindungan terbatas terhadap
traffic analysis dalam mode tunnel. ESP adalah protokol yang mampu
memberikan layanan autentikasi dan juga layanan confidentiality.
Secara garis besar paket ESP terdiri dari empat bagian, yaitu :
1. ESP header, yang berisi field SPI dan sequence number.
19
2. Payload, yang berisi field IV(Initialization Vector) dan payload data.
3. ESP trailer, berisi field padding, pad length, next header.
4. ESP authentication data, yang berisi Integrity Check Value (ICV).
Gambar 2.9 Format Header ESP (RFC 4303)
ESP menggunakan SPI dan destination address untuk mengidentifikasi SA
yang diterapkan. Selain itu, ESP juga menggunakan fungsi sequence number
untuk menyediakan perlindungan antireplay.
Block cipher menentukan bahwa padding harus dilakukan untuk mencapai
ukuran blok tertentu. Padding akan diletakkan setelah payload data pada padding
field. Sebagai contoh, next header field harus disejajarkan dengan pembatas
ukuran 4-byte.Adalah mungkin untuk menambahkan nomor acak pada padding
bytes untuk menyembunyikan panjang dari payload data.Padding dengan ukuran
0 sampai 255 byte ditambahkan pada payload data. Panjang dari padding adalah
terdapat pada pad length field.
Next header field menunjukkan tipe data apa yang terdapat pada IV dan
payload data field.Integrity Check Value field berisi Authentication data nilai
untuk paket ESP. ICV harus dimulai dengan pembatas 4-byte dan harus berupa
kelipatan 32-bit words. Dua metode autentikasi yang paling umum digunakan
adalah HMAC-MD5-96 dan HMAC-SHA1-96.
20
2.3.2.2 IKE
Internet Protocol Security (IPsec) menyediakan confidentiality, data
integrity, kontrol akses, dan autentikasi bagi paket IP. Layanan IPSec ini
disediakan dengan memelihara suatu shared state(keadaan berbagi/bersama)
antara peer yang terlibat. Shared state ini terdiri dari berbagai informasi yang
mendefinisikan hal-hal seperti algoritma enkripsi yang digunakan, kunci
kriptografi, dll. Informasi yang dikandung dalam keadaan bersama(shared state)
dikenal dengan sebutan security assocation(SA). Proses pembuatan SA secara
manual kadang akan menjadi tugas yang memberatkan. Oleh karena itu, suatu
proses otomatis yang akan menangani SA menjadi suatu kebutuhan penting.
Protokol Internet Key Exchange (IKE) ada untuk menjawab kebutuhan itu.
Internet Key Exchange (IKE) adalah suatu protokol untuk membangun,
menegosiasikan, memodifikasi, dan menghapus Security Association (SA) pada
host yang menjalankan layanan IPsec. SA mengandung informasi yang
dibutuhkan untuk membangun hubungan yang aman antara dua host IPsec
berdasarkan pada aturan yang telah disetujui bersama. IKE didasarkan pada
protokol ISAKMP (Internet Security Association and Key Management).
Pertukaran kunci(key exchage) pada IKE berdasar kepada protokol Diffie-
Hellman cryptographic key exchange. Protokol IKE(IKE versi 1) didefinisikan
dalam RFC(Request For Comment) 2407, 2408, dan 2409.
Terdapat dua fase dalam IKE. Pada fase pertama(Phase 1), IKE
menegosiasikan SA untuk mendapatkan parameter-parameter kriptografi yang
akan digunakan dalam proses fase kedua. SA yang didapatkan pada fase pertama
21
disebut juga ISAKMP SA. Fase kedua(Phase 2) merupakan proses negosiasi SA
untuk mendapatkan parameter untuk protokol IPsec ESP atau AH. SA yang
didapatkan pada fase kedua disebut juga IPsec SA.
Terdapat dua pilihan mode untuk membangun SA fase pertama. Mode-
mode tersebut adalah Main Mode dan Aggressive Mode. Aggressive Mode adalah
lebih cepat tetapi ia tidak menyediakan perlindungan identitas sedangkan Main
Mode menyediakan perlindungan terhadap identitas. Pada fase kedua, terdapat
Quick Mode yang digunakan untuk membangun SA untuk protokol IPsec yang
akan digunakan.
2.3.3 Mode Enkapsulasi
Protokol Authentication Header (AH) dan Encapsulating Security
Payload (ESP) dapat digunakan dalam dua mode operasi yaitu mode transport dan
mode tunnel. Gambar berikut menjelaskan secara ringkas enkapsulasi yang terjadi
dalam kedua mode tersebut pada protokol AH dan ESP.
2.3.3.1 Mode Transport
Mode transport digunakan untuk mengamankan komunikasi antara dua
host tetap. Istilah transport mode muncul dari fakta bahwa VPN mode transport
melindungi data pada layer transport. Mode transport melindungi data protokol
yang terletak setelah IP header dalam suatu paket IP.
Gambar 2.10 Enkapsulasi pada mode transport
2.3.3.2 Mode Tunnel
Mode tunnel digunakan untuk membuat VPN antara dua network atau
antara suatu host dengan network.
22
Gambar 2.11 Enkapsulasi pada mode tunnel
Mode tunnel Seperti terlihat pada gambar diatas, terdapat dua IP header
yaitu outer IP header dan inner IP header. Outer IP header berisi source dan
destination address dari gateway. Sedangkan inner IP header berisi alamat dari
final destination address. Adanya dua IP header adalah hal yang membedakan
antara mode transport dan mode tunnel.
2.3.4 Security Association
Agar dapat beroperasi, IPsec membutuhkan beberapa nilai pada beberapa
parameter keamanannya. Host-host yang berkomunikasi dalam VPN akan saling
berbagi suatu keadaan dan parameter yang sama yang terlebih dahulu
dinegosiasikan sebelum membangun suatu sesi VPN. Pembuatan parameter
keamanan dalam IPsec dilakukan melalui suatu mekanisme yang disebut security
association (SA) (Forouzan, 2007:1002). Keadaan dan parameter dalam security
association mencakup hal-hal seperti algoritma enkripsi, algoritma autentikasi,
sequence number, dll.
SA mengontrol lalu-lintas data dari protokol-protokol keamanan secara
satu arah. Sebagai gambaran, satu SA dapat mengontrol lalu lintas data protokol
ESP dari host A ke host B, tetapi dibutuhkan SA lain untuk mengontrol traffic
dari arah sebaliknya. Sepasang SA dibutuhkan untuk setiap protokol yang
digunakan, satu untuk input dan satu untuk output. Jika suatu sesi VPN
menggunakan protokol ESP, maka setiap endpoint akan menggunakan dua SA.
Setelah terjadi negosiasi, kemudian SA akan diterapkan pada protokol yang
23
bersangkutan. IPsec menyimpan data mengenai SA dalam suatu basis data yang
disebut SAD (Security Association Database).
Parameter-parameter SA dinegosiasikan dengan menggunakan protokol
IKE(Internet Key Exchange). Akan tetapi, SA juga dapat dibuat dengan
menggunakan manual keying. Kekurangan yang terdapat pada teknik manual
keying adalah bahwa teknik ini tidak efisien dalam skala besar dan tidak
menegosiasikan kunci baru jika kunci sudah kadaluarsa(expired) .
2.3.5 Security Databases
IPSec mengandung dua database nominal yaitu Security Policy Database
(SPD) dan Security Association Database (SAD) (Burnett, 2004:220). SPD
menspesifikasikan policy (kebijakan) yang menentukan pengaturan seluruh
lalulintas/traffic IP, baik inbound maupun outbound. Sedangkan SAD
mengandung parameter yang dihubungkan dengan security association yang
sedang aktif.
2.4 NAT
Dalam jaringan komputer, Network Address Translation (NAT) adalah
teknik untuk mengirimkan lalulintas data jaringan melalui router yang melibatkan
proses penulisan ulang alamat IP dan juga nomor port TCP/UDP
(http://en.wikipedia.org/Network_address_translation). Secara esensial, NAT
adalah translasi dari satu alamat IP ke jaringan IP yang berbeda(Tulloch, 2000).
Setiap host pada jaringan Internet harus memiliki satu alamat IP publik
yang unik. Alasannya adalah agar host tersebut dapat diidentifikasi dan dapat
berkomunikasi ke dan dari komputer lain di Internet. ISP (Internet Service
Provider) kadang hanya memberikan satu alamat IP publik kepada pelanggannya,
24
sedangkan pelanggan tersebut kadang ingin menghubungkan lebih dari satu
komputer ke Internet. Solusi yang paling umum digunakan untuk mengatasi
masalah ini adalah NAT (Network Address Translation).
Gambar 2.12 Network Address Translation
Terdapat satu kekurangan atau bisa pula disebut sebagai keuntungan
dalam NAT tergantung dari penilaian dari sisi yang berbeda. Host dari Internet
tidak dapat menjangkau komputer di belakang router/NAT yang berada di
jaringan lokal karena memiliki alamat IP private. Karena Internet tidak dapat
menjangkau secara langsung host yang berada di belakang NAT, sehingga NAT
akan sedikit memberikan perlindungan akses terhadap host pada jaringan lokal.
Perlindungan ini bekerja mirip seperti firewall, dan oleh karenanya banyak pihak
yang mengkombinasikan NAT dan firewall dalam satu alat.
Karena terbatasnya jumlah alamat IP dalam sistem IPv4, maka NAT
banyak digunakan untuk mengatasi masalah kekurangan alamat IPv4 tersebut.
NAT telah menjadi fitur standar dalam alat-alat seperti router untuk penggunaan
home office. Biaya untuk mendapatkan alamat IP publik tambahan umumnya
tidak sebanding dengan keuntungan yang didapat. Karena itu penggunaan NAT
menjadi sebuah pilihan yang ideal.
25
2.5 Protokol IKEv2
IKEv2(Internet Key Exchange version 2) merupakan pembaharuan dari
protokol IKE lama dan menjadi standar yang ditetapkan dalam RFC 4306. IKEv2
adalah protokol yang digunakan untuk melakukan tugas manajemen SA seperti
pembuatan, pembaharuan, dan penghapusan(http://en.wikipedia.org/IKEv2).
IKEv2 menggunakan teknik pertukaran Diffie-Hellman untuk membuat suatu
shared secret, dimana nantinya akan digunakan untuk membuat kunci kriptografi
turunan. Selain itu, IKEv2 bertugas untuk melakukan fungsi autentikasi dari
masing-masing pihak yang berkomunikasi.
Sesuai dengan RFC 4306, tujuan dari revisi IKE menjadi IKEv2
diantaranya adalah sebagai berikut:
1. Untuk mendefinisikan seluruh protokol IKE dalam dokumen tunggal,
menggantikan RFC 2407, 2408, 2409 dan menggabungkan dukungan
terhadap NAT Traversal, Extensible Authentication, dan Remote
Address Acquisition.
2. Untuk menyederhanakan pertukaran awal IKE dengan mengganti
delapan exchange awal berbeda dengan exchange empat-pesan tunggal
(perubahan terjadi pada mekanisme autentikasi yang mempengaruhi
hanya payload AUTH tunggal daripada merestrukturisasi keseluruhan
exchange).
3. Untuk mengurangi latency IKE pada kasus umum dengan membuat
exchange awal menjadi 2 round trip (4 pesan), dan memungkinkan
penyusunan CHILD_SA pada exchange tersebut.
26
4. Untuk menggantikan syntax kriptografi untuk melindungi pesan-pesan
IKE dengan berdasar pada ESP untuk memudahkan penerapan dan
analisis keamanan.
5. Untuk memperbaiki kelemahan kriptografi.
6. Untuk mespesifikasikan perilaku yang dibutuhkan jika muncul kondisi
error tertentu sehingga mempermudah revisi di masa depan.
2.5.1 Pertukaran Pesan Pada IKEv2
Berikut adalah penjelasan untuk tipe pertukaran pesan pada IKEv2.
2.5.1.1 Initial Exchange (IKE_SA)
Dalam komunikasi IKE, terdapat istilah yang dikenal sebagai initiator dan
responder. Initiator mengajukan suatu pesan untuk meminta informasi disebut
request. Responder kemudian memberikan pesan response yang memberikan
informasi sesuai permintaan. Sepasang pesan(message) ini yaitu request dan
response disebut sebagai exchange(pertukaran).
Proses membuat SA awal untuk IKE disebut dengan IKE_SA atau initial
exchange. Pembangunan komunikasi IKE_SA selalu diawali dengan
IKE_SA_INIT exchange dan IKE_AUTH exchange (proses ini dikenal sebagai
Phase 1 dalam IKEv1). Masing-masing exchange(pertukaran) ini secara terdiri
dari dua message(pesan) sehingga total terdapat empat pesan. Exchange pertama
yaitu IKE_SA_INIT menegosiasikan algoritma kriptografi, nonce, pertukaran
Diffie-Hellmani. Exchange kedua yaitu IKE_AUTH melakukan autentikasi,
mempertukarkan identitas, dan memulai negosiasi pembuatan CHILD_SA.
Sebagian data pada pesan IKE_AUTH sudah terenkripsi oleh kunci yang berhasil
dibuat pada pertukaran IKE_SA_INIT. Pada exchange IKE_SA ini, terjadi proses
27
negosiasi IPsec_SA yang “menumpang” pada proses pertukaran IKE_AUTH
sehingga tidak dibutuhkan proses pertukaran tambahan untuk menegosiasikan
IPsec SA, berbeda dengan proses implementasi IKEv1 yang menggunakan proses
Quick Mode (fase 2) untuk membuat suatu IPsec SA.
2.5.1.2 CHILD_SA
Proses pertukaran untuk membuat suatu CHILD_SA disebut dengan
CREATE_CHILD_SA exchange(proses ini dikenal sebagai Phase 2 dalam
IKEv1). CREATE_CHILD_SA terdiri dari sepasang pesan yaitu request dan
response. Proses ini dapat diinisiasi oleh salah satu pihak setelah initial exchange
berhasil dilakukan. Seluruh pesan setelah initial exchange sudah secara otomatis
terlindungi dengan algoritma kriptografi.
CREATE_CHILD_SA digunakan pada proses pembuatan SA baru dan
pembaharuan SA(rekeying).
2.5.1.3 Informational Exchange
Kadangkala dalam suatu waktu, IKE peer mungkin ingin untuk
menyampaikan pesan-pesan kontrol mengenai error atau notifikasi kepada satu
sama lain. Untuk mencapai hal itu, IKE menyediakan Informational Exchange.
Pesan dalam Informational Exchange mengandung nol atau lebih payload
bertipe notification, delete, dan configuration. Recipient(penerima) pesan
Informational harus mengirimkan pesan response(untuk memastikan bahwa pesan
diterima dan tidak hilang). Pesan request maupun response dapat berupa pesan
tanpa payload apapun. Hal itu dapat digunakan sebagai cara untuk mengetahui
bahwa peer dalam keadaan alive(hidup/terhubung).
28
2.5.2 Rekeying
IKE dan ESP menggunakan parameter kunci rahasia sebagai salah satu
input dalam algoritma kriptografi yang sebaiknya hanya digunakan dalam waktu
yang terbatas dan untuk jumlah data yang terbatas. Ketika lifetime(umur) dari
sebuah SA(security association) telah expire(habis), SA tersebut tidak boleh
digunakan lagi. Jika dibutuhkan, suatu SA baru dapat dinegosiasikan lagi.
Pembangunan ulang suatu SA untuk menggantikan SA yang telah expire
dinamakan rekeying.
Jika pada IKEv1 lifetime menjadi suatu nilai yang dinegosiasikan, maka
pada IKEv2, setiap ujung dari SA bertanggungjawab untuk memaksakan lifetime
policy-nya sendiri. Jika kedua ujung SA memiliki policy yang berbeda, maka
ujung SA dengan lifetime lebih pendek akan selalu menjadi pihak me-request.
2.5.3 Traffic Selector
Ketika suatu paket Internet Protocol(IP) diterima oleh suatu sistem IPsec
dan cocok dengan kriteria selektor proteksi yang terdapat pada SPD(security
policy database), sistem IPsec harus melindungi paket tersebut dengan IPsec. Jika
belum terdapat SA untuk digunakan dalam proses tersebut, maka adalah menjadi
tugas protokol IKE(dalam hal ini IKEv2) untuk membuat SA.
Traffic Selector (TS) memungkinkan komunikasi data-data SPD antara
peer yang hendak membangun SA. Informasi yang ada dalam SPD dikirimkan
diatas suatu traffic selector payload. Payload TS menspesifikasikan kriteria untuk
paket yang akan dikirimkan diatas SA yang akan dibuat.
29
2.5.4 Nonce
Setiap pesan IKE_SA_INIT (pesan awal negosiasi SA) mengandung
sebuah nonce, Nonce merupakan suatu data yang memiliki nilai tertentu dan
digunakan untuk sekali pakai. Nonce digunakan sebagai salah satu input dalam
fungsi kriptografi. Pesan IKE lainnya seperti CREATE_CHILD_SA request dan
CREATE_CHILD_SA response juga mengandung nilai nonce. Penggunaan nonce
dilakukan untuk meningkatkan kekuatan pseudo-random bits dari kunci Diffie-
Hellman.
Nonce yang digunakan dalam IKEv2 harus secara acak dipilih, dan harus
berukuran paling tidak 128 bytes, dan harus berukuran paling tidak setengah dari
ukuran kunci yang dinegosiasikan pseudo-random function(prf atau pseudo-
random function adalah salah satu algoritma kriptografi yang dinegosiasikan
dalam proses negosiasi IKE).
2.5.5 Penggunaan Alamat dan Port
IKEv2 berjalan diatas port UDP 500 dan 4500, dan secara implisit
mengasosiasikan ESP menggunakan alamat IP yang sama. Tetapi suatu penerapan
IKE harus pula bisa menerima request bahkan jika source port adalah bukan 500
atau 4500, dan juga harus bisa merespon sesuai dengan alamat dan nomor port
yang diterima dari request.
Alamat IP dan port pada outer header(header terluar) tidak secara
kriptografi terlindungi dikarenakan bahwa IKEv2 didesain untuk bekerja bahkan
melalui Network Address Translation(NAT).
30
2.5.6 Pembuatan Material Kunci
Terdapat empat algoritma kriptografi yang dinegosiasikan dalam negosiasi
IKE_SA yaitu algoritma enkripsi, algoritma perlindungan integritas, grup Diffie-
Hellman, dan pseudo-random function(prf). Prf digunakan dalam konstruksi
material kunci untuk semua algoritma kriptografi yang digunakan baik dalam
IKE_SA maupun CHILD_SA.
2.5.7 Penanganan Error
Terdapat beberapa macam error yang dapat muncul selama pemrosesan
IKE. Penanganan error dilakukan sesuai dengan kondisi-kondisi tertentu. Jika
suatu request diterima dalam format yang salah atau tidak sesuai dengan policy
yang ada(misalnya tidak ada algoritma enkripsi yang cocok), maka respon harus
mengandung pesan berupa notify yang mengindikasikan error. Jika error muncul
diluar konteks IKE request(misalnya pesan yang diterima adalah pesan ESP tetapi
tidak ada SPI yang sesuai), maka node IKE sebaiknya menginisiasi suatu
pertukaran informasi dengan menggunakan notify payload yang menjelaskan
tentang masalah tersebut.
Terdapat tipe error lainnya yang mesti ditangani oleh suatu implementasi
IKE. Respon penanganan error tersebut bisa berupa ketetapan maupun standar
RFC 4306.
2.5.8 Format Header IKEv2
IKE messages(pesan-pesan IKE) pada implementasi protokol IKEv2
menggunakan port UDP 500 dan/atau 4500. Setiap paket UDP berisi satu pesan
IKE. Jika pesan dikirim menggunakan port UDP 500, maka IKE message adalah
persis sesudah header UDP. Sedangkan jika dikirim dengan port UDP 4500, maka
31
IKE message didahului oleh empat oktet(32 bit) bernilai nol. Empat oktet bernilai
nol ini bukan merupakan bagian dari dari IKE message dan tidak termasuk dalam
length field atau checksum. Setiap IKE message dimulai dengan IKE header
diikuti dengan IKE payload sesuai dengan identifikasi field Next Payload pada
header IKE atau payload sebelumnya.
Format header IKEv2 dapat dilihat pada gambat berikut.
Gambar 2.13 Format Header IKEv2
Penjelasan ringkas untuk field dalam header IKEv2 adalah sebagai berikut.
• Initiator’s SPI(8 oktet) – Nilai yang dipilih intiator untuk
mengidentifikasi secara unik suatu SA IKE.
• Responder’s SPI(8 oktet) – Nilai yang dipilih responder untuk
mengidentifikasi secara unik suatu SA IKE.
• Next Payload (1 oktet) – Mengindikasikan tipe payload yang ada
setelah header.
• Major Version (4 bits) – Mengindikasikan versi mayor dari protokol
IKE. Field ini bernilai 2 pada implementasi IKEv2.
• Minor Version (4 bits) – Mengindikasikan versi minor dari protokol
IKE. Field ini bernilai 0 pada implementasi IKEv2 berdasar RFC 4306.
• Exchange Type (1 octet) – Mengindikasikan tipe exchange(pertukaran)
yang dipergunakan.
Tabel 2.1 Tipe Exchange pada pertukaran IKEv2Tipe Pertukaran Nilai
RESERVED 0-33
32
IKE_SA_INIT 34IKE_AUTH 35
CREATE_CHILD_SA 36INFORMATIONAL 37
RESERVED TO IANA 38-239Reserved for private use 240-255
• Flags (1 octet) – Mengindikasikan opsi-opsi yang diset untuk pesan.
• Message ID (4 octets) – Message ID(Message Identifier) digunakan
untuk mengendalikan retransmisi paket-paekt yang hilang dan untuk
mencucokkan reqeust dan response.
• Length (4 octets) – Panjang dari total message (header + payload)
dalam satuan oktet.
2.5.9 Tipe Payload IKEv2
Setiap IKE message selalu dimulai dengan IKE header dan kemudian
diikuti oleh satu atau lebih IKE payload. Setiap IKE payload selalu didahului oleh
General Payload Header. General Payload Header digunakan diantaranya untuk
mengidentifikasi tipe payload serta panjang payload.
Gambar 2.14 General IKEv2 Payload Header
Tabel 2.2 Nilai Next Payload pada Payload IKEv2Tipe Next Payload Notasi NilaiNo Next Payload 0
RESERVED 1-32Security Association SA 33
Key Exchange KE 34Identification – Initiator IDi 35
Identification – Responder IDr 36Certificate CERT 37
Certificate Request CERTREQ 38Authentication AUTH 39
Nonce Ni, Nr 40Notify N 41Delete D 42
Vendor ID V 43Traffic Selector – Initiator TSi 44
Traffic Selector – Responder TSr 45
33
Encrypted E 46Configuration CP 47
Extensible Authentication EAP 48RESERVED TO IANA 49-127
PRIVATE USE 128-255
Berikut adalah penjelasan ringkas mengenai tipe-tipe payload itu.
• Security Association Payload – Digunakan untuk menegosiasikan
atribut dari SA seperti encryption algorithm, integrity algorithm,
Diffie-Hellman Group, dll.
• Key Exchange Payload - Digunakan untuk mempertukarkan nilai
public key sebagai bagian dari pertukaran kunci Diffie-Hellman.
• Identification Payloads – Digunakan oleh peer yang bernegosiasi
untuk saling menyatakan identitas satu sama lain.
• Certificate Payload – Menyediakan cara untuk mengirimkan data
sertifikat atau informasi berhubungan autentikasi lainnya melalui IKE.
• Certificate Request Payload - Menyediakan cara untuk meminta data
sertifikat melalui IKE. Payload ini biasanya muncul pada pesan IKE
IKE_INIT_SA response dan juga IKE_AUTH request.
• Authentication Payload - Payload ini berisi data yang digunakan untuk
tujuan autentikasi.
• Nonce Payload – Payload ini berisi nonce yang merupakan data
bersifat acak.
• Notify Payload - Digunakan untuk mengirimkan data bersifat
informational yang memberikan keterangan mengenai kondisi error,
state transition, dll kepada IKE peer.
• Delete Payload – Mengandung suatu nilai identifikasi SA yang oleh
pihak sender telah dihapus sehingga menjadi tidak valid lagi.
• Vendor ID Payload - Payload ini berisi suatu nilai konstan yang
digunakan oleh pihak vendor untuk mengidentifikasi dan mengenali
instan dari suatu aplikasi hasil implementasi protokol IKE.
• Traffic Selector Payload - Digunakan oleh peer untuk mengidentifikasi
aliran paket yang akan dikenakan pemrosesan IPsec.
34
• Encrypted Payload - Payload ini berisi payload lain dalam format
terenkripsi. Encrypted Payload harus merupakan payload terakhir
dalam pesan.
• Configuration Payload - Digunakan untuk mempertukarkan informasi
konfigurasi antara IKE peer.
• Extensible Authentication Protocol (EAP) Payload - Digunakan dalam
proses autentikasi tambahan untuk IKE_SA sesuai dengan RFC 3748.
2.6 Simulasi Jaringan
Simulasi adalah suatu cara untuk mereproduksi suatu kondisi dari situasi,
dengan menggunakan model, untuk kebutuhan studi atau pengujian atau latihan
dan lainnya(Harrel, 2004:5). Simulasi biasanya melakukan representasi dari sifat
atau perilaku dari suatu sistem. Simulasi jaringan adalah suatu teknik yang
melakukan pemodelan perilaku suatu jaringan secara virtual dengan
merepresentasikan suatu entitas jaringan dengan karakteristik seperti jaringan
sesungguhnya.
Simulasi dan prototyping jaringan digunakan untuk memodelkan keadaan
jaringan dunia nyata dengan cara memodelkan sistem yang memberikan fitur dan
karakteristik mirip dengan sistem asli. Tujuan utama simulasi jaringan adalah
bukan untuk secara sempurna memodelkan suatu sistem jaringan tetapi untuk
memberikan karakteristik inti dari sistem. Model sistem tersebut kemudian dapat
dimanipulasi untuk memberikan suatu kondisi yang dapat dianalisis.
Dalam dunia praktis belakangan ini, simulasi jaringan menjadi pilihan
praktis dan ideal dalam suatu riset maupun eksperimen yang melibatkan banyak
entitas dan sistem yang berbeda. Simulasi akan dapat mengurangi biaya dan
waktu yang dibutuhkan dalam suatu percobaan. Perilaku jaringan, sistem aplikasi,
dan berbagai layanan dapat diwujudkan dalam suatu lab virtual. Berbagai atribut
35
dari lingkungan jaringan komputer dapat dimanipulasi sesuai kebutuhan sehingga
kemudian dapat diobservasi untuk mendapatkan data. Selain itu, suatu hasil
penelitian dapat dibuktikan kebenarannya dengan melakukan pengujian kembali
penelitian dalam suatu lingkungan yang sama.
Alat atau perangkat lunak yang digunakan dalam membuat suatu simulasi
jaringan disebut simulator jaringan. Simulator jaringan digunakan oleh peneliti,
pengembang, dan banyak pihak lain untuk mendesain berbagai macam jaringan,
melakukan pengujian, dan menganalisis efek dari berbagai parameter jaringan.
Simulator jaringan secara umum mencakup hal seperti teknologi networking dan
memungkinkan pengguna untuk mendesain berbagai skenario jaringan.
2.6.1 Manfaat Simulasi Jaringan
Proses penelitian suatu perangkat lunak sistem jaringan pada lingkungan
jaringan nyata terkadang bisa menjadi proses yang sulit. Hal tersebut terjadi
karena terdapat variabel-variabel yang tidak dapat dikontrol sehingga
menyebabkan proses penelitian tidak dapat secara konsisten diproduksi ulang dan
hasil penelitian kurang dapat diandalkan. Selain itu proses pengujian suatu sistem
jaringan komputer dengan alat fisik yang nyata bisa menghabiskan banyak sumber
daya.
Proses pengujian sistem jaringan menggunakan simulasi memberikan
kemampuan uji terhadap berbagai skenario dengan biaya yang relatif lebih rendah
jika dibanding dengan menyediakan jaringan nyata secara utuh. Simulasi jaringan
menjadi pilihan realistis dan ideal bila dibandingkan jika kita harus
mempersiapkan sistem jaringan pengujian yang mengandung berbagai alat fisik
seperti komputer, router, switch, dsb, simulasi jaringan akan memberikan
36
kemampuan yang relatif sama dengan biaya dan waktu yang lebih sedikit.
Pengujian terhadap suatu skenario yang tadinya terlalu sulit atau tidak mungkin
dipersiapkan dengan alat fisik, simulasi jaringan dapat memungkinkannya.
Simulasi dan prototyping jaringan terutama bermanfaat bagi para
administrator jaringan yang memiliki tugas untuk memelihara sistem jaringan.
Pengujian konfigurasi dapat dilakukan terlebih dahulu diatas suatu simulasi
jaringan. Analisis dapat dilakukan terhadap data yang didapat dari hasil pengujian.
Jika kesimpulan pengujian sudah mencapai hasil yang memuaskan, kemudian
penerapan secara real dapat dilaksanakan pada sistem jaringan nyata.
Selain itu, simulasi jaringan juga sangat bermanfaat bagi para pendesain
untuk menguji protokol-protokol jaringan baru atau menguji dampak perubahan
konfigurasi atau penerapan sistem jaringan baru dalam suatu lingkungan
pengujian yang terkendali.
2.6.2 VMware Workstation
VMware Workstation merupakan suatu perangkat lunak virtualisasi yang
memungkinkan pengguna menjalankan beberapa sistem operasi berbasis x86 atau
x86-64 dalam satu PC (Personal Computer) fisik. VMware Workstation
merupakan salah satu produk perangkat lunak yang dibuat oleh perusahaan
VMware, Inc. VMware dapat digunakan untuk membuat suatu simulasi sistem
jaringan komputer yang terdiri dari komputer dan jaringan virtual. VMware
mengakomodasi pembangunan suatu jaringan virtual dengan tools Virtual
Network Editor yang bisa diakses melalui Edit>Virtual Network Settings.
37
2.7 Perangkat Lunak IKEv2 StrongSwan
Menurut Pandia (2007) aplikasi atau perangkat lunak aplikasi adalah suatu
subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer
langsung untuk melakukan suatu tugas yang diinginkan pengguna. aplikasi atau
program aplikasi ini dibuat oleh programmer secara individu atau massal. Contoh
perangkat lunak aplikasi adalah pengolah kata, lembar kerja, pemutar media, dan
lain-lain.
StrongSwan adalah merupakan suatu perangkat lunak aplikasi yang
menerapkan standar protokol IKEv2 yang bersifat open source dan free untuk
lingkungan sistem operasi Linux berbasis kernel 2.4 dan 2.6. Ia merupakan
turunan dari proyek FreeS/WAN. strongSwan secara aktif terus dipelihara oleh
Andreas Steffen yang merupakan seorang professor Keamanan Komunikasi
University of Applied Sciences Rapperswil di Switzerland.
Proyek strongSwan memiliki fokus terhadap mekanisme autentikasi yang
kuat dengan menggunakan sertifikat kunci publik X.509 dan penyimpanan private
key dalam suatu smartcard melalui antarmuka standar PKCS#11. Salah satu fitur
unggulan yang dimiliki strongSwan adalah penggunaan atribut sertifikat X.509
untuk menerapkan skema advanced access control berbasis pada keanggotaan
grup. Proyek pengembangan strongSwan disponsori oleh University of Applied
Sciences Rapperswil, Astaro (sebuah perusahaan yang menawarkan solusi
keamanan TI), dan StrongSec GmbH.
StrongSwan yang digunakan dalam skripsi ini merupakan versi 4.4.0 yang
secara penuh telah mengimplementasikan standar protokol IKEv2 dalam
RFC4306. strongSwan menyediakan layanan protokol IKEv2 melalui suatu
38
daemon yang bernama charon. Sampai saat skripsi ini ditulis, strongSwan sudah
secara penuh mendukung IKEv2(RFC 4306) dan menyediakan fitur-fitur
unggulan seperti kemampuan IPsec policy berdasarkan wildcard, keanggotaan
grup sesuai yang didefinisikan dalam atribut sertifikat X.509, certificate
revocation berdasarkan Online Certificate Status Protocol, alamat IP Virtual,
dukungan smartcard, Dead Peer Detection, dll.
strongSwan mendukung penggunaan driver IPsec yang terintegrasi ke
dalam kernel Linux yang biasa disebut native IPsec driver (NETKEY). Tipe
driver IPsec terintegrasi memiliki kelebihan yaitu implementasi yang lebih
mudah, penerapan keamanan yang lebih mudah, dan dukungan terhadap seluruh
mode tunnel dan transport (Sunyoto, 2008:18)
2.8 OpenSSL
OpenSSL merupakan suatu implementasi protokol SSL (Secure Socket
Layer) dan TLS (Transport Layer Security) open source dan berlisensi free (GNU
Public License). Selain menerapkan standar protokol SSL/TLS, ia juga
menyediakan fungsi terhadap algoritma kriptografi, kemampuan pembuatan
sertifikat X.509, kemampuan pembuatan kunci publik (DH, DSA, RSA), dll.
OpenSSL saat ini telah mencapai versi 1.0.0.
2.9 Network Development Life Cycle
Network Development Life Cycle (NDLC) merupakan panduan atau
langkah-langkah yang harus dilakukan untuk merancang suatu sistem jaringan
komputer baik dalam skala lokal maupun skala luas. Menurut Goldman dan
Rawles (2001:470), NDLC merupakan model kunci dibalik proses perancangan
jaringan komputer. Seperti model pengembangan sistem untuk aplikasi perangkat
39
lunak, NDLC terdiri dari elemen yang mendefinisikan fase, tahapan, langkah, atau
mekanisme secara spesifik. Untuk membangun suatu simulasi sistem remote
access IPsec berbasis perangkat lunak IKEv2 strongSwan dalam skripsi ini, kami
menggunakan metode NDLC sampai tahapan tiga yaitu simulation prototyping.
Gambar 2.15 Network Development Life Cycle.
(Sumber: http://ilkom.unsri.ac.id/data/NDLC.jpg).
Setiap tahapan pada metode pengembangan sistem NDLC dijelaskan
sebagai berikut:
1. Analysis : Tahap awal ini dilakukan analisa kebutuhan sistem, analisa
permasalahan yang ada, dan analisa keinginan user.
2. Design : Dari data-data yang didapatkan sebelumnya, tahap design ini
akan membuat gambar rancangan topologi jaringan komputer yang
akan dibangun, diharapkan dengan gambar ini akan memberikan
gambaran seutuhnya dari kebutuhan sistem. Design bisa berupa
struktur topologi, design tata layout perkabelan, dan sebagainya yang
akan memberikan gambaran jelas tentang project yang akan dibangun.
3. Simulation Prototyping : beberapa profesional sistem jaringan
komputer akan membuat dalam bentuk simulasi dengan bantuan tools
40
khusus di bidang network seperti BOSON, PACKET TRACERT,
NETSIM, VMware dan sebagainya, hal ini dimaksudkan untuk melihat
kinerja awal dari network yang akan dibangun dan sebagai bahan
presentasi dan sharing dengan team work lainnya.
4. Implementation : Tahapan ini akan memakan waktu lebih lama dari
tahapan sebelumnya. Dalam tahapan implementatation, langkah yang
dilakukan adalah penerapan sistem yang telah direncanakan dan di-
design sebelumnya.
5. Monitoring : setelah implementation, tahapan monitoring merupakan
tahapan yang penting, agar jaringan komputer dan komunikasi dapat
berjalan sesuai dengan keinginan dan tujuan awal dari user pada tahap
awal analisis, maka perlu dilakukan kegiatan monitoring.
6. Management : tahapan management atau pengaturan, salah satu yang
menjadi perhatian khusus adalah masalah policy. Policy atau kebijakan
perlu dibuat untuk mengatur agar sistem yang telah dibangun dan
berjalan dengan baik dapat berlangsung lama dan unsur reliability
terjaga.
41
BAB III
METODOLOGI PENELITIAN
3.1 Subyek Penelitian
Subyek dalam penelitian skripsi ini adalah konsep Remote Access VPN
berbasis IPsec atau disebut juga Remote Access IPsec. Skripsi ini mencoba
menemukan masalah yang saat ini ada dalam penerapan Remote Access IPsec.
3.2 Obyek Penelitian
Yang menjadi obyek dalam penelitian ini adalah suatu sistem Remote
Access IPsec berbasis perangkat lunak protokol IKEv2 strongSwan. Sistem ini
dibuat sebagai solusi terhadap permasalahan Remote Access IPsec yang menjadi
subyek penelitian.
3.3 Jenis Penelitian
Penelitian skripsi ini berjenis eksperimental yang melakukan studi analisis,
perancangan, dan pengujian pada kasus secara general (umum). Penelitian ini juga
bersifat eksploratoris yang bermaksud untuk menjelajahi dan menyelidiki lebih
dalam mengenai seluk-beluk mengenai Remote Access VPN berbasis IPsec,
permasahan yang ada dalam penerapannya, solusi protokol IKEv2, dan solusi
perangkat lunak open source IKEv2 strongSwan untuk lingkungan Linux.
3.4 Alat Penelitian
Penelitian ini akan menggunakan instrumen perangkat keras (hardware)
dan perangkat lunak (software). Tabel berikut menjelaskan tentang kebutuhan
perangkat keras dan perangkat lunak sebagai alat penelitian.
42
Tabel 3.1 Perangkat Keras yang digunakan sebagai alat penelitianNo Perangkat Jumlah Keterangan Spesifikasi Hardware
1 PC Desktop 1
Sebagai Komputer akan
menjalankan simulasi
jaringan komputer dan
pengujian terhadap
sistem remote access
IPsec berbasis IKEv2
Desktop PC dengan spesifikasi :
a. CPU Intel P4 3,00
GHz HT
b. RAM DDR2 PC5300
1,5 GB
c. Harddisk 20 GB
Tabel 3.2 Perangkat Lunak yang digunakan sebagai alat penelitian
No Perangkat Lunak Keterangan
1 Sistem Operasi Fedora 9 dengan kernel Linux 2.6.24
2 VMware Workstation Tool simulasi komputer dan jaringan
3 Perangkat Lunak OpenSSL
Perangkat lunak implementasi protokol
SSL/TLS dan juga berbagai standar
algoritma kriptografi
4Perangkat Lunak IKEv2
strongSwan
Perangkat lunak implementasi protokol
IKEv2 dalam lingkungan sistem operasi
Linux
5 WiresharkTools untuk capture dan analisis paket data
pada jaringan komputer
3.5 Metode Penelitian
3.5.1 Metode Pengumpulan Data
43
Untuk mendapatkan data-data yang dibutuhkan dalam proses penelitian,
metode yang digunakan adalah studi pustaka atau literatur.
3.5.1.1 Studi Pustaka
Dalam metode ini, penulis menggunakan data-data dari berbagai buku,
jurnal penelitian, paper dan proceeding dari seminar ilmiah, dokumen yang
mengatur standar Internet, yang didapat baik dari media cetak maupun elektronis
online. Data-data yang didapat tersebut akan digunakan sebagai dasar penunjang
kebenaran ilmiah dalam penelitian skripsi ini.
3.5.2 Metode Pengembangan Sistem
Untuk membangun suatu simulasi jaringan komputer Internet yang
dibutuhkan sebagai sarana untuk melakukan pengujian sistem remote access IPsec
berbasis perangkat lunak IKEv2 strongSwan, kami menggunakan metode NDLC.
Metode NDLC yang digunakan dalam penelitian skripsi ini adalah sampai pada
tahapan tiga yaitu analysis, design, dan simulation prototyping sesuai dengan
fokus skripsi ini yang akan melakukan simulasi pengujian sistem dan juga karena
keterbatasan-keterbatasan lainnya.
Gambar 3.1 Metode Pengembangan NDLC.
Analysis
Design
SimulationPrototyping
Implementation
Management
Monitoring
44
Berikut adalah tahapan yang dilaksanakan dalam proses penelitian skripsi
ini:
1) Fase Analysis
Pada tahapan awal ini, kami melakukan usaha untuk mencari apa saja
permasalahan yang ada saat ini dalam penerapan Remote Access VPN berbasis
IPsec. Berdasarkan permasalahan tersebut, kami memberikan solusi dengan
dasar penggunaan protokol IKEv2 yang mampu memberikan jawaban
terhadap permasalahan yang telah dibahas. Kemudian kami mengajukan daftar
kriteria sistem yang akan dibutuhkan. Langkah-langkah yang diterapkan
dalam fase ini adalah :
a. Menentukan Masalah
b. Memberikan Solusi
c. Menentukan kriteria kebutuhan sistem
2) Fase Design
Pada tahap ini akan dilakukan desain skenario jaringan untuk
mengakomodasi kebutuhan pengujian sistem. Untuk tahap desain skenario
jaringan ini, langkah awal yang dilakukan adalah membuat suatu topologi
jaringan Remote Access VPN secaca umum yang merepresentasikan situasi
jaringan Intenet. Langkah selanjutnya adalah merancang skenario-skenario
jaringan yang khusus merepresentasikan kondisi permasalahan Remote Access
IPsec. Skenario jaringan khusus ini nantinya akan digunakan dalam pengujian
sistem remote access IPsec berbasis IKEv2 strongswan yang dibangun.
Langkah-langkah yang diterapkan dalam fase ini adalah :
45
a. Desain Topologi Jaringan Internet
b. Desain Skenario Jaringan Pengujian
3) Fase Simulation Prototyping
Pada tahap ini akan dilakukan pembangunan simulasi sistem jaringan
komputer Wide Area Network (yang merepresentasikan Internet) berdasarkan
desain skenario jaringan yang telah dibuat pada tahap sebelumnya. Dalam
penelitian ini, program VMware Workstation digunakan sebagai alat untuk
membuat simulasi jaringan komputer. VMware Workstation akan digunakan
untuk menjalankan beberapa komputer virtual dengan sistem operasi berbasis
Linux Fedora 9 kernel 2.6.24. Komputer tersebut kemudian dihubungkan
kedalam suatu jaringan virtual. Jaringan komputer virtual ini akan
merepresentasikan desain skenario pengujian yang telah dibuat pada bagian
sebelumnya.
Setelah sistem jaringan virtual berhasil dibuat, langkah selanjutnya
adalah mengimplementasikan seluruh elemen perangkat lunak yang akan
digunakan dalam sistem. Langkah pertama adalah implementasi perangkat
lunak sistem operasi, kemudian implementasi sistem Public Key Infrastructure
berbasis signature ECDSA dengan tool openSSL. Langkah selanjutnya adalah
implementasi perangkat lunak IPsec IKEv2 strongSwan sehingga akan
terbentuk sistem Remote Access IPsec berbasis protokol IKEv2 yang utuh.
Setelah simulasi sistem remote access IPsec berbasis IKEv2
strongSwan berhasil dibuat, langkah selanjutnya yang dilakukan adalah
melakukan pengujian terhadap sistem yang berhasil dibuat. Pengujian
46
dilakukan untuk melakukan verifikasi terhadap kemampuan sistem remote
access IPsec berbasis perangkat lunak IKEv2 strongSwan untuk mengatasi
permasalahan remote access IPsec.
Langkah-langkah yang diterapkan dalam fase ini adalah :
a. Pembuatan Simulasi Jaringan
b. Penerapan Perangkat Lunak
c. Pengujian Sistem
4). Fase Implementation, Monitoring, dan Management
Tahapan berikutnya yaitu Implementation, Monitoring, dan Management
tidak penulis lakukan dikarenakan selain dari fokus penelitian skripsi ini yang
melakukan simulasi pembangunan sistem, terdapat keterbatasan yang
menghambat pelaksanaan tahapan-tahapan tersebut. Keterbatasan-keterbatasan
yang menghambat proses penelitian skripsi ini adalah:
a. Waktu yang tidak mendukung, dikarenakan sempitnya waktu yang
dimiliki penulis untuk melakukan penelitian.
b. Peralatan yang terbatas, kebutuhan alat penelitian seperti hardware
yang terbatas.
3.6 Alur Proses Penelitian
47
Gambar 3.2 Alur Proses Penelitian
Perencanaan Penelitian Skripsi
Perumusan & Pendefinisian Masalah
Perumusan Hipotesis
Metode Pengembangan Sistem
Metode Pengumpulan Data
NETWORK DEVELOPMENT
LIFE CYCLE (NDLC)
Simulation Prototyping
Design
Analysis
Desain Topologi Jaringan Internet
Pengujian Sistem
Evaluasi
Penentuan Masalah Studi Literatur
Desain Skenario Jaringan Pengujian
Pembuatan Simulasi Jaringan Internet
Perumusan Kesimpulan Pembuatan Laporan
Penentuan Kebutuhan Sistem Pemberian Solusi
Penerapan Perangkat Lunak
Managemement
Implementation
Monitoring
48
BAB IV
ANALISIS DAN PEMBAHASAN
4.1 Fase Analysis
Fase ini merupakan fase awal dalam proses penelitian skripsi ini. Pada fase
ini, langkah yang kami lakukan adalah melakukan penentuan masalah, pemberian
solusi, dan penentuan kriteria kebutuhan sistem.
4.1.1 Penentuan Masalah Remote Access VPN berbasis IPsec
Pada bagian ini, akan diulas secara detail permasalahan yang ada pada
penerapan Remote Access VPN Berbasis IPsec yang telah berhasil kami temukan
melalui kegiatan studi pustaka.
4.1.1.1 Kebutuhan Algoritma Kriptografi Yang Kuat
Kebutuhan algoritma kriptografi dalam remote access IPsec dapat dibagi
menjadi kedalam beberapa bagian yaitu algoritma endpoint authentication,
algoritma pembuatan kunci shared secret, algoritma message integrity, algoritma
enkripsi. Saat ini berbagai vendor penyedia solusi sistem remote access IPsec
memiliki suatu set algoritma kriptografi atau algorithm suite sendiri. Pilihan–
pilihan algoritma yang bervariasi itu belum tentu menyediakan tingkat keamanan
yang baik. Contoh dari pemilihan algoritma kriptografi itu adalah seperti pilihan
algoritma digital signature RSA sebagai algoritma autentikasi endpoint, pilihan
grup MODP Diffie-Hellman 768bit dan 1024bit sebagai input dalam algoritma
pembuatan shared secret, pilihan HMAC-MD5-96 sebagai algoritma message
integrity, dan pilihan algoritma 3DES atau CAST128 sebagai algoritma enkripsi.
Masalahnya adalah bahwa pihak-pihak yang ingin menerapkan sistem
remote access IPsec dihadapkan pada banyak pilihan algoritma kriptografi dimana
49
pilihan-pilihan tersebut belum tentu menyediakan tingkat keamanan yang baik.
Oleh karena itu, dibutuhkan suatu referensi ilmiah yang menyediakan rujukan set
pilihan algoritma kriptografi atau algorithm suite yang memberikan tingkat
keamanan yang kuat.
4.1.1.2 Kebutuhan Pengulangan Autentikasi
Dalam skenario remote access, terkadang masing-masing peer IPsec ingin
melakukan autentikasi mutual diulangi secara periodik. Proses ini disebut sebagai
pengulangan autentikasi. Tujuan pengulangan autentikasi adalah untuk membatasi
waktu bahwa suatu SA (Security Association) dapat digunakan oleh pihak ketiga
yang telah mengambil alih kendali peer IPsec.
Masalahnya adalah proses pengulangan autentikasi bisa saja dilakukan
dengan secara sederhana mengulang proses initial exchange, akan tetapi pada
skenario remote access IPsec, dibutuhkan interaksi user pada klien remote access
untuk membuat ulang proses initial exchange. Oleh karena itu, dibutuhkan suatu
prosedur otomatis yang bisa menjalankan skema pengulangan autentikasi secara
periodik tanpa interaksi user. Selain itu dibutuhkan suatu standar rentang waktu
untuk pengulangan autentikasi.
4.1.1.3 Masalah Ketidakcocokan NAT-IPsec
Remote Access VPN terutama digunakan untuk menyediakan akses bagi
pengguna remote access seperti teleworker(bekerja dari rumah) atau mobile user.
Pengguna tersebut umumnya berada dalam suatu lingkungan yang menjalankan
fungsi NAT. Berdasarkan RFC3715(IPsec-NAT Compatibility Requirements),
diketahui bahwa penerapan IPsec dalam suatu lingkungan NAT tidak dapat
berjalan lancar atau dengan kata lain terdapat ketidakcocokan antara IPsec dengan
50
NAT. Luasnya penggunaan NAT membuat penerapan IPsec sebagai solusi standar
VPN khususnya remote access VPN (teleworker dan mobile user) mengalami
hambatan.
Salah satu penyebab masalah ketidakcocokan antara NAT dan IPsec
adalah mekanisme kerja kedua teknik tersebut yang saling bertolak belakang. Di
satu sisi, NAT memodifikasi data alamat dan nomor port pada header IP. Di sisi
lain, IPsec mencoba memberikan suatu tingkat pengamanan komunikasi data
dengan mengantisipasi adanya modifikasi itu. Jadi pada dasarnya IPsec berfungsi
untuk mencegah apa yang NAT lakukan dan secara fundamental saling
berlawanan.
4.1.1.4 Masalah Alamat Klien IPsec yang Overlapping
Berdasarkan RFC3938(UDP Encapsulation of IPsec ESP Packets) pada
bagian 5.1, terdapat sebuah kemungkinan kasus yang dapat menimbulkan konflik
pada penerapan IPsec mode operasi tunnel dalam situasi NAT Traversal. Yaitu
ketika terdapat IPsec Remote Access Client (IRAC) yang memiliki alamat IP yang
saling overlapping (tumpang tindih). IPsec Remote Access Server (IRAS atau
gateway IPsec akan melihat klien-klien tersebut adalah sama karena memiliki
alamat IP yang sama sehingga akan memiliki SA IPsec yang akan overlapping.
Server bisa saja menggunakan SA yang salah ketika akan mengirimkan paket dari
jaringan LAN ke klien IPsec. Masalah ini membutuhkan solusi yang tidak dapat
diselesaikan hanya dengan menggunakan mekanisme NAT Traversal saja.
51
Gambar 4.1 Alamat IP Klien IPsec yang overlapping
Pada gambar diatas bisa dilihat bahwa klien A dan klien B memiliki
alamat IP private yang sama yaitu 10.1.0.10/24. Dengan demikian SA pada server
IPsec memiliki nilai traffic selector yang sama atau overlapping. Hal ini akan
menjadi masalah bagi server IPsec karena dia memiliki kemungkinan untuk
mengirimkan paket IPsec ke tujuan klien yang salah.
4.1.1.5 Masalah NAT Traversal Mode Transport
Berdasarkan RFC3938(UDP Encapsulation of IPsec ESP Packets) pada
bagian 5.2, terdapat situasi yang berpotensi menimbulkan masalah IPsec pada
mode operasi transport dalam situasi NAT Traversal. Misalnya terdapat beberapa
klien dibelakang NAT yang sama membangun suatu VPN IPsec mode transport.
Bagi server IPsec, dalam mode transport, klien-klien dibelakang NAT adalah
klien yang sama baginya, yaitu alamat IP NAT eksternal. SA yang dibangun
antara server IPsec dan NAT memuat traffic description yang berisi keterangan
protokol dan informasi port. Jika traffic description tersebut saling overlapping
(tumpang tindih), maka server bisa mengirimkan paket IPsec ke klien dengan SA
yang salah.
GW2
IPsecSecurity Gateway
.10
.10 192.168.0.0/30.1 .2.1
10.1.0.0/24
A
.3.1
10.1.0.0/24
BNAT
NATLAN
192.168.1.0/24
Outbound SA pada IPsec GW2:SA1, server GW2 to A, tcp, udp-encap <4500,2501>traffic selector <192.168.0.2/32 - 10.1.0.10/24>
SA2, server GW2 to B, tcp, udp-encap <4500,2502>traffic selector <192.168.0.2/32 - 10.1.0.10/24 - >
GW1
GW3
52
Gambar 4.2 Traffic description yang overlapping
Pada gambar diatas bisa dilihat bahwa klien A dan klien B memilih traffic
descriptor port TCP 80 yang sama. Dalam mode transport IPsec, Hal ini akan
menjadi masalah bagi server IPsec karena dia mungkin saja mengirimkan paket
IPsec ke tujuan klien yang salah.
4.1.1.6 Kebutuhan Peer IPsec yang Mobile dan Multihoming
IKEv2 digunakan untuk melakukan autentikasi mutual dan juga untuk
membangun dan mengelola SA (Security Association). SA IKE dan SA IPsec
mode tunnel dibuat secara implisit antara alamat IP yang digunakan ketika SA
IKE dibangun. Alamat IP ini kemudian digunakan sebagai outer IP header
(header IP terluar) pada paket IPsec mode tunnel. Jika SA IKE telah dibuat, maka
menjadi tidak mungkin untuk mengubah alamat IP tersebut. Terdapat skenario
dimana alamat IP tersebut bisa berubah. Misalnya terdapat suatu klien IPsec yang
mobile dan sering berpindah jaringan sehingga memiliki alamat IP yang sering
berubah. Selain itu terdapat juga klien yang bersifat multihoming yang terhubung
ke lebih dari satu jaringan dengan interfacenya masing-masing. Jika interface
yang digunakan untuk membangun tunnel IPsec tiba-tiba down, maka peer IPsec
IPsecServer
.20
.10 192.168.0.0/30
.3 .2
.1
10.1.0.0/24
GW2A
B
NATOverlappingtraffic descriptor
Outbound SA pada Server IPsec GW2:
SA1, GW2 to A , tcp:80, udp-encap <4500,2501>, mode transport, traffic selector <192.168.0.2/32 – 192.168.0.3/32>
SA2, GW2 to B , tcp:80, udp-encap <4500,2502>, mode transport, traffic selector <192.168.0.2/32 – 192.168.0.3/32>
53
GW1
itu harus membangun dari ulang kembali SA IKE dan SA IPsec. Pembangunan
ulang tunnel bukan merupakan pilihan yang ideal bagi user remote access
dikarenakan dibutuhkan adanya interaksi user. Untuk alasan tersebut, dibutuhkan
adanya suatu prosedur yang mampu secara otomatis melakukan update SA untuk
memenuhi kebutuhan mobility dan multihoming peer IPsec.
4.1.2 Pemberian Solusi Dengan Protokol IKEv2
Tabel berikut menjelaskan solusi yang diberikan untuk setiap
permasalahan pada remote access VPN berbasis IPsec.
Tabel 4.1 Solusi yang diberikan berdasarkan protokol IKEv2No Masalah yang dihadapi Solusi yang diberikan1 Kebutuhan algoritma
kriptografi yang kuatAlgoritma kritpgrafi suite BRFC4869
2 Kebutuhan Pengulangan autentikasi
repeated authenticationRFC4478
3 Masalah Ketidakcocokan NAT-IPsec
NAT Traversal pada IKEv2
4 Masalah Alamat Klien IPsec yang overlapping
virtual IP melalui configuration payload pada IKEv2
5 Masalah NAT Traversal mode transport
konfigurasi Tunnel Mode policy
6 Kebutuhan Peer IPsec yang mobile dan multihoming
MOBIKE RFC4555
4.1.2.1 Algoritma Suite B
Untuk pemilihan set algoritma kriptografi IPsec, kami memutuskan untuk
memilih acuan Suite B Cryptography. Suite B adalah suatu kumpulan standar
kriptografi yang dispesifikasikan oleh NSA (National Security Agency) sebuah
badan keamanan Amerika. Suite B membuat standar acuan bagi industri melalui
suatu set algoritma kriptografi yang bisa digunakan untuk membuat produk yang
memenuhi kebutuhan pemerintahan. Termasuk didalam spesifikasi Suite B adalah
algoritma Integrity, Enkripsi, Key Exchange, Digital Signature. Seluruh algoritma
54
dalam Suite B sudah di-approve oleh FIPS (Federal Information Processing
Standards) Amerika. FIPS bertugas untuk mengatur standar dan guidelines bagi
sumber daya komputasi Federal Amerika Serikat. Sebagian besar algoritma
kriptografi dalam Suite dipublikasikan oleh NIST (National Institute of Standards
and Technology) Amerika.
Tabel 4.2 Kekuatan Algoritma Suite B NSA berdasarkan level kerahasiaan(Sumber: Wheeler, 2009:3 )
Tabel diatas menunjukkan set algoritma dalam suite B dan kekuatannya
untuk algoritma enkripsi, hashing, digital signature, dan key exchange. Algoritma
enkripsi menggunakan AES-GCM(Advance Encryption Standard-Galois Counter
Mode) dengan kunci berukuran 128 bit untuk pengamanan data level secret dan
dibawahnya, dan kunci berukuran 256 bit untuk pengamanan data level top secret.
Algoritma Hashing menggunakan SHA-256 (Secure Hash Algorithm-256) dengan
digest berukuran 256 bit pada level secret and below, dan SHA-384 dengan digest
berukuran 384 bit untuk top secret. Algoritma Digital Signature menggunakan
ECDSA (Elliptic Curve Digital Signature Algorithm) dengan kunci berukuran
256bit pada level secret and below, dan kunci berukuran 256 bit untuk
pengamanan data level top secret. Untuk key exchange, digunakan protokol
ECDH (elliptic curve Diffie-Hellman) dengan dengan kunci berukuran 256bit
pada level secret and below, dan kunci berukuran 256 bit untuk pengamanan data
level top secret.
55
Menurut (Wheeler, 2009:5), elliptic-curve cryptography (ECC) mengacu
pada masalah elliptic-curve discrete-logarithm problem, yang merupakan evolusi
terhadap pendekatan discrete-logarithm yang digunakan pada mekanisme Diffie-
Hellman (DH) and DSA tradisional, sedangkan RSA menggunakan pendekatan
berbasis integer factorization.
Tabel dibawah menunjukkan perbandingan kekuatan algoritma asimetris
berbasis pendekatan konvensional discrete logarithm (modulus DSA dan DH),
dan pendekatan integer factorization (modulus RSA) dengan algoritma asimetris
berbasis pendekatan elliptic curve (ECC prime field). Algoritma kriptografis
tersebut dibandingkan dengan patokan algoritma enkripsi per ukuran bit 80, 112,
128, 192, dan 256 bit.
Tabel 4.3 Perbandingan kekuatan algoritma kriptografi(Sumber: Wheeler, 2009:4)
Seperti bisa dilihat pada tabel diatas, untuk mendapatkan tingkat
keamanan bit (bits of security) 128 bit enkripsi simetris dengan AES-128,
dibutuhkan nilai modulus pada DSA (Digital Signature Algorithm), DH (Diffie-
Helman), dan berukuran 3072bit. Dengan alternatif ECC(elliptic curve
cryptography), hanya dibutuhkan nilai prima berukuran 256 bit untuk tingkat
keamanan bit (bits of security) 128 bit enkripsi simetris dengan AES-128 yang
sama. Dengan demikian, algoritma berbasis penggunaan ECC prime field
56
menawarkan efisiensi penggunaan ukuran bit dibandingkan dengan DSA, DH,
maupun standar DSA biasa.
RFC 4869 (Suite B Cryptographic Suites for IPsec) memberikan dukungan
kompatibilitas terhadap spesifikasi Suite B dari NIST untuk protokol IKEv2.
Dokumen RFC 4869 mengajukan 4 “User Interface Suites” yang mengacu pada
spesifikasi Suite B dari NIST.
Tabel 4.4 Cryptography Suite B pada RFC 4869Algoritma Suite B
GCM-128Suite B
GCM-256Suite B
GMAC-128Suite B
GMAC-256
ESPEncryption
AES-GCM 128bit
16 octet ICV
AES-GCM 256bit
16 octet ICVNull Null
Integrity Null Null AES-GMAC 128bit
AES-GMAC 256bit
IKEv2
Encyrption AES-CBC 128bit
AES-CBC 256bit
AES-CBC 128bit
AES-CBC 256bit
prf HMAC-SHA-256
HMAC-SHA-384
HMAC-SHA-256
HMAC-SHA-384
Integrity HMAC-SHA-256-128
HMAC-SHA-384-192
HMAC-SHA-256-128
HMAC-SHA-384-192
DH Group 256-bit random ECP group
384-bit random ECP
group
256-bit random ECP group
384-bit random ECP group
Authentication ECDSA-256 ECDSA-384 ECDSA-256 ECDSA-384
Keempat suite dibedakan oleh pilihan algoritma kriptografi pada negosiasi
pengamanan paket IKEv2 dan tunnel ESP. Suite B GCM-128(Galois Counter
Mode-128) dan GMAC-128(Galois Message Authentication Code-128) memiliki
pilihan algoritma kriptografi untuk IKEv2 tetapi berbeda untuk ESP. Begitu pula
pilihan suite B GCM-256 dan GMAC-256 adalah sama untuk IKEv2 tetapi
berbeda untuk ESP.
Pilihan ESP ada yang menggunakan algoritma enkripsi AES-GCM 128
atau 256 dan ada yang menggunakan algoritma integrity AES-GMAC 128 atau
256. Pilihan untuk IKEv2 menggunakan algoritma enkripsi AES-CBC (Advanced
Encryption Standard-Cipher Block Chaining) 128 atau 256 bit, algoritma integrity
57
HMAC-SHA-256-128 atau HMAC-SHA-384-192, algoritma key exchange DH
dengan grup ecp (elliptic curve prime) 128 atau 256 bit, dan algoritma digital
signature ECDSA (Elliptic Curve Digital Signature Algorithm) 256 atau 384 bit.
4.1.2.2 Repeated Authentication untuk IKEv2
Untuk solusi pengulangan autentikasi, kami memilih RFC 4478 (Repeated
Authentication in IKEv2 Protocol). Dalam RFC 4478, dijelaskan suatu
mekanisme untuk memenuhi kebutuhan pengulangan autentikasi secara otomatis
bagi host IPsec pada skenario Remote Access IPsec. RFC 4478 mendefinisikan
suatu pesan notifikasi baru bagi original responder dapat kirim kepada original
initiator untuk menetapkan waktu sebelum autentikasi harus diulang. Rentang
waktu untuk autentikasi ulang didefinisikan RFC 4478 antara 300 detik(5 menit)
sampai 86400 detik (24 jam).
4.1.2.3 NAT Traversal pada IKEv2
Suatu solusi dikembangkan untuk mengatasi masalah ketidakcocokan
antara NAT dan IPsec yaitu dengan membentuk suatu standar mekanisme pada
enkapsulasi IPsec. Solusi ini dinamakan “NAT-Traversal” atau NAT-T yang
diajukan sebagai standar oleh Internet Engineering Task Force (IETF). Terdapat
RFC (Request For Proposal) yang mendefinisikan standar NAT Traversal yaitu
RFC 3947(Negotiation of NAT-Traversal in IKE), dan RFC 3948(UDP
Encapsulation of IPsec ESP Packets). RFC3947 mendefinisikan mekanisme untuk
mendeteksi satu atau lebih NAT antara host IPsec, dan bagaimana cara IKE
menegosiasikan penggunaan enkapsulasi UDP terhadap paket IPsec melewati
NAT. Sedangkan RFC3948 menspesifikasikan metode untuk enkapsulasi dan
58
dekapsulasi paket ESP di dalam suatu paket UDP untuk melewatkannya melalui
NAT.
Standar Protokol IKEv2(RFC 4306) sudah secara default mendukung
kemampuan NAT-Traversal. Hal ini merupakan peningkatan dari IKEv1 yang
secara default tidak mengatur penanganan masalah IPsec dengan NAT.
Gambar 4.3 UDP Encapsulated ESP pada mode transport
Gambar 4.4 UDP Encapsulated ESP pada mode tunnel
Gambar 4.5 UDP encapsulation of IPsec ESP packet
Header Floated IKE yang digunakan adalah yang sesuai dengan yang
ditentukan dalam RFC 3947 (Negotiation of NAT-Traversal in the IKE). Format
header IKE akan menggunakan port 4500. Non-ESP Marker di dalam header
59
berukuran 4 bytes dengan nol yang sejajar dengan SPI field dari sebuah paket
ESP.
Gambar 4.6 Format Floated IKE Header.
Paket NAT keepalive digunakan untuk membuat pemetaan NAT
dengan nomor port dinamis tetap hidup.
Gambar 4.7 Format Header UDP untuk paket NAT-keepalive.
4.1.2.4 Virtual IP
Untuk menangani masalah alamat klien IPsec yang overlapping pada
mode operasi tunnel dalam situasi NAT Traversal, dapat digunakan mekanisme
Virtual IP Address (Alamat IP Virtual). Alamat IP virtual adalah suatu alamat IP
yang digunakan oleh klien IPsec secara virtual untuk mengidentifikasi terhadap
server IPsec.
Virtual IP address dapat digunakan untuk menyelesaikan masalah konflik
alamat IP overlapping oleh klien-klien IPsec. Ketika metode virtual IP digunakan,
maka klien akan memesan sebuah alamat IP virtual dan kemudian server IPsec
akan mengalokasikan sebuah alamat IP virtual baginya. Data SA kemudian akan
60
berisi traffic selector alamat IP virtual dari klien IPsec tersebut. Dengan demikian,
adanya alamat IP klien overlapping dapat dihindari.
Gambar 4.8 Virtual IP address
Virtual IP address diperoleh melalui configuration payload (CP) yang
dinegosiasikan dalam proses pertukaran IKEv2. Seperti bisa dilihat pada gambar
diatas, klien A dan klien B memiliki alamat IP private yang sama atau overlapping
yaitu 10.0.1.10/24. Dengan mekanisme penggunaan virtual IP, Walaupun A dan B
memiliki alamat IP private yang overlapping, klien A akan memiliki alamat unik
dengan virtual IP 10.10.0.1 dan klien B memiliki virtual IP 10.10.0.2. Dengan
demikian, masalah dapat diselesaikan.
4.1.2.5 NAT Traversal Tunnel Mode Policy
Untuk mengatasi masalah NAT Traversal mode transport dalam situasi
NAT Traversal, solusi yang dapat digunakan adalah dengan memaksakan
(enforcement) policy penggunaan mode enkapsulasi tunnel pada enkapsulasi UDP
NAT Traversal pada konfigurasi sistem IPsec. Dengan penggunaan mode tunnel,
masalah konflik traffic descriptor tidak akan muncul karena setiap klien adalah
unik dengan alamat IP yang berbeda.
Virtual IP Address via configuration payloadSA1, server GW2 to A, tcp, udp-encap <4500,2501> Virtual IP=10.3.0.1/32traffic selector <192.168.1.0/24 - 10.10.0.1/32>
SA2, server GW2 to B, tcp, udp-encap <4500,2502> Virtual IP=10.3.0.2/32traffic selector <192.168.1.0/24 - 10.10.0.2/32>
IPsecSecurity Gateway
.10
.10 192.168.0.0/30.1 .2.1
10.1.0.0/24
GW2A
.2.1
10.1.0.0/24
BNAT
NATLAN
192.168.1.0/24
Virtual IP
61
Gambar 4.9 Policy NAT Traversal Tunnel Mode
NAT Traversal Tunnel Mode dibuat dengan melakukan konfigurasi mode
tunnel pada sistem remote access berbasis perangkat lunak IKEv2 strongSwan.
Seperti bisa dilihat pada gambar diatas, dengan kebijakan atau policy mode tunnel,
tidak akan ditemui masalah traffic descriptor yang overlap sehingga dengan
demikian, tidak akan muncul konflik masalah NAT Traversal mode transport.
4.1.2.6 MOBIKE
Sebagai alternatif solusi permasalahan kebutuhan mobility dan
multihoming IPsec, dapat digunakan protokol MOBIKE. Protokol IKEv2 melalui
ekstensi RFC 4555 (IKEv2 Mobility and Multihoming Protocol) memungkinkan
alamat IP yang diasosiasikan dengan IKEv2 dan mode tunnel IPsec untuk
berubah. Dengan demikian, suatu peer IPsec mobile atau multihoming dapat
menggunakan protokol MOBIKE untuk mempertahankan koneksi IKEv2 dan
IPsec dengan gateway IPsec sementara alamat IP-nya(alamat IP klien itu)
berubah.
Protokol MOBIKE menjelaskan suatu mekanisme yang memungkinkan
pengguna Remote Access VPN untuk berpindah dari satu alamat IP ke alamat IP
lainnya tanpa harus membuat ulang SA baru (hanya update SA Address).
Kebijakan enforced Tunnel Mode IPsec Encapsulation: SA1, GW2 to A , tcp 80, udp-encap <4500,2501>, mode tunneltraffic selector <192.168.0.10/32 – 10.1.0.10/24>
SA2, GW2 to B , tcp 80, udp-encap <4500,2502>, mode tunneltraffic selector <192.168.0.10/32 – 10.1.0.20/24>
IPsecServer
.20
.10 192.168.0.0/24
.3 .2
.1
10.1.0.0/24
GW2A
B
NAT
GW1
Tunnel Modemembuat traffic SA menjadi unik
62
MOBIKE juga mendukung skenario dimana gateway VPN atau klien IPsec
memiliki beberapa interface jaringan (Network Interface). Interface ini bisa saja
terhubung ke ISP yang berbeda sehingga peer IPsec tersebut berada dalam kondisi
multihoming. Ada kemungkinan bahwa salah satu dari host IPsec tersebut ingin
memindahkan suatu tunnel IPsec aktif ke interface lain, misalnya karena interface
yang down, dia dapat tetap mempertahankan SA yang aktif dan menggunakan
interface lainnya untuk tunnel IPsec.
4.1.3 Menentukan Kebutuhan Sistem
Pada bagian ini, akan diberikan uraian mengenai alternatif solusi
perangkat lunak IKEv2 untuk lingkungan sistem operasi Linux yang bersifat open
source, dan juga free (lisensi GPL). Kami menggunakan implemetasi perangkat
lunak IKEv2 strongswan dengan pertimbangan bahwa ia memberikan dukungan
fitur yang paling luas dan memenuhi seluruh kriteria kebutuhan sistem yang
diajukan.
StrongSwan merupakan salah satu pengembang awal perangkat lunak
protokol IKEv2 untuk sistem Linux. StrongSwan menyediakan fungsi layanan
IKEv2 melalui daemon charon. Proyek strongSwan berfokus pada dukungan kuat
terhadap mekanisme autentikasi x.509 termasuk fitur private key dengan smart
card/token. Fitur yang luas lainnya menjadi kelebihan tersendiri dari alternatif
IKEv2 yang satu ini. StrongSwan merupakan proyek yang dikembangkan dari
proyek sebelumnya yaitu Frees/WAN yang sudah berhenti. Situs resminya ada di
http://www.strongswan.org.
Pemilihan solusi perangkat lunak IPsec IKEv2 dilakukan dengan
membandingkan fitur dan kemampuan setiap aplikasi dengan kriteria kebutuhan
63
sistem. Kriteria kebutuhan sistem dibuat berdasarkan analisis masalah dan solusi
yang telah dibahas pada bagian sebelumnya.
Berdasarkan data dokumentasi software-software implementasi IKEv2
yang dikumpulkan sampai pada saat skripsi ini dibuat, kami mendapatkan data
yang dibutuhkan untuk membandingkan fitur dan kemampuan dari berbagai solusi
perangkat lunak IPsec IKEv2 terhadap kriteria kebutuhan sistem yang diajukan.
Berikut adalah daftar kriteria kebutuhan sistem dan perbandingan berbagai
alternatif solusi perangkat lunak IPsec IKEv2.
Tabel 4.5 Perbandingan perangkat lunak IKEv2 sesuai kebutuhan sistemFitur Kebutuhan Sistem
OpenIKEv20.9.8
IKEv2release-2.0-
alpha1
Racoon220090327c
Strongswan4.4.0
Openswan2.6.8
RFC 4869(Suite B Cryptography) Tidak Tidak Tidak Ya Tidak
Repeated Authentication Tidak Tidak TidakYa
(bukan RFC 4478)
Tidak
NAT Traversal Tidak Ya Ya Ya YaVirtual IP
(via config payload) Ya Tidak Eksperimental Ya Ya
NAT Traversal tunnel mode Ya Ya Ya Ya Ya
MOBIKE Tidak Tidak Tidak Ya Tidak
Sebagaimana dapat dilihat, aplikasi Strongswan dengan implementasi
IKEv2-nya paling banyak memiliki fitur dan kemampuan yang memenuhi
keseluruhan kriteria kebutuhan sistem yang diharapkan. Oleh karena itu, kami
memutuskan untuk memilih menggunakan solusi perangkat lunak IKEv2 dari
StrongSwan.
4.2 Fase Design
Fase ini merupakan fase kedua dalam proses penelitian skripsi ini. Pada
fase ini, langkah yang kami lakukan adalah melakukan perancangan topologi
jaringan Internet, dan perancangan skenario jaringan pengujian.
64
4.2.1 Perancangan Topologi Jaringan Internet
Skema topologi jaringan Internet yang akan menjadi dasar perancangan
skenario pengujian Remote Access IPsec adalah seperti gambar berikut.
Gambar 4.10 Desain Topologi Jaringan Internet
Skema jaringan diatas digunakan untuk merepresentasikan keadaan
jaringan WAN/Internet dimana terdapat LAN(dengan alamat IP private) yang
terhubung ke Internet(jaringan IP publik) melalui gateway. Komputer di jaringan
LAN dapat mengakses jaringan IP publik melalui gateway yang bertindak sebagai
router. Gateway router tersebut juga melakukan fungsi NAT agar dapat
mengakomodasi kebutuhan akses internet oleh LAN.
Jaringan komputer dengan nomor 10.1.0.0/24 dan 10.2.0.0/24
merepresentasikan dua buah jaringan private LAN yang saling terpisah. Jaringan
komputer dengan nomor 192.168.0.0/24 merepresentasikan jaringan publik
Internet yang menjadi media penghubung antara dua LAN yang terpisah.
4.2.2 Perancangan Skenario Pengujian
Rancangan skenario jaringan pada tahap ini dibuat untuk
merepresentasikan masalah yang ada pada sistem Remote Access VPN berbasis
IPsec sesuai dengan fase analysis bagian pemberian solusi. Desain skenario
jaringan pengujian ini nantinya akan digunakan dalam pengujian sistem.
10.1.0.0/24
publik
.2
10.2.0.0/24
.10 .1
GW1 GW2.3.1 192.168.0.0/24
A B
NAT NAT
LAN 1 LAN 2
private private
65
Tabel 4.6 Masalah, solusi, dan skenario pengujian sistem No Masalah yang
dihadapiSolusi yang diberikan
Skenario Pengujian
1 Kebutuhan algoritma kriptografi yang kuat
Algoritma kriptografi suite B
Skenario Algoritma Suite B
2 Pengulangan autentikasi repeated authentication
Skenario Repeated Authentication
3 Ketidakcocokan NAT-IPsec
NAT Traversal Skenario NAT Traversal
4 Alamat Klien IPsec yang overlapping
Virtual IP Skenario Virtual IP
5 NAT Traversal Mode Transport
Tunnel Mode policy Skenario Dua Roadwarrior Tunnel Mode
6 Peer IPsec yang mobile dan multihoming
MOBIKE Skenario MOBIKE
4.2.2.1 Skenario Pengujian Algoritma Suite B
Pengujian Algoritma Kriptografi bertujuan untuk menguji kemampuan
dukungan terhadap algoritma kripografi Suite B sesuai RFC 4869. GW1 bertindak
sebagai initiator dan GW2 sebagai responder.
Gambar 4.11 Skema Pengujian Algoritma Suite B
Pada skenario ini, empat macam cryptographic user interface suites (UI
Suites) akan diuji yaitu Suite-B-GCM-128, Suite-B-GCM-256, Suite-B-GMAC-128, dan
Suite-B-GMAC-256.
4.2.2.2 Skenario Pengujian Repeated Authentication
Pengujian Repeated Authentication bertujuan untuk menguji kemampuan
autentikasi ulang dalam satu kurun waktu yang telah ditentukan sesuai dengan
RFC 4478. GW1 bertindak sebagai initiator dan GW2 sebagai responder.
.1
GW1 GW2.2192.168.0.0/24
Tunnel VPN
66
Gambar 4.12 Skema Pengujian Repeated Authentication
RFC4478 menetapkan waktu autentikasi ulang yang reasonable yaitu
dalam rentang 300 detik(5 menit) sampai dengan 86400 detik(24 jam). Akan
tetapi, demi kepentingan pengujian semata, kami mengatur skenario dimana
initiator GW2 menetapkan lifetime IKE sebesar 60 menit dan responder GW1
menetapkan lifetime IKE sebesar 30 detik. Proses re-autentikasi akan dilakukan
sesuai dengan ketetapan waktu yang lebih kecil yaitu 30 detik.
4.2.2.3 Skenario Pengujian NAT Traversal
Pengujian NAT Traversal bertujuan untuk menguji kemampuan NAT
Traversal antara suatu host remote dibelakang NAT dengan suatu gateway/server
IPsec dibelakang NAT pula.
Gambar 4.13 Skema Pengujian NAT Traversal
Ini merupakan skenario kasus yang umum dimana host remote dibelakang
NAT ingin berkomunikasi secara aman dengan satu gateway IPsec. Akan tetapi
.1
GW1 GW2.2192.168.0.0/24
Tunnel VPN
10.1.0.0/24
.1
10.2.0.0/24
.10 .1
GW1 GW2.2.1 192.168.0.0/24
A B
NAT VPN
LAN 1 LAN 2
Tunnel VPN
NAT.10
67
berbeda dengan kondisi umum dimana server memiliki IP publik, gateway/server
IPsec justru juga berada dibelakang NAT. Dengan demikian kedua endpoint IPsec
yang akan membangun tunnel berada dibelakang NAT (situasi double NAT).
Mekanisme source NAT diterapkan pada host IPsec A sedangkan mekanisme
destination NAT diterapkan pada Server IPsec B.
4.2.2.4 Skenario Pengujian Virtual IP
Pengujian Virtual IP bertujuan untuk menguji kemampuan membangun
suatu komunikasi VPN berbasis IPsec antara pengguna yang bersifat remote atau
roadwarrior yang berada dibelakang subnet yang berbeda tetapi beralamat IP
yang sama, dengan sebuah gateway/server IPsec.
Gambar 4.14 Skema Pengujian Virtual IP
Skenario jaringan ini akan digunakan untuk menguji masalah alamat klien
IPsec yang overlapping pada NAT Traversal mode operasi tunnel. Host IPsec A
dan Z akan membangun tunnel IPsec kepada Server IPsec GW2. NAT-Traversal
(enkapsulasi UDP) akan digunakan dalam proses pembangunan tunnel IPsec.
Virtual IP melalui configuration payload akan digunakan untuk mengatasi
10.1.0.0/24
.1
10.2.0.0/24
.10 .1
GW1 GW2.2.1 192.168.0.0/24
A B
NAT VPNserver
LAN 1 LAN 2
Tunnel VPN
Z.10
Tunnel VPN
LAN 3GW3
NAT.1 .3
.10
10.1.0.0/24
68
masalah alamat klien IPsec yang overlapping. Mekanisme source NAT diterapkan
pada host IPsec A dan Z.
4.2.2.5 Skenario Dua Roadwarrior Tunnel Mode
Pengujian Dua Roadwarrior Same NAT Tunnel Mode bertujuan untuk
menguji kemampuan membangun suatu komunikasi VPN berbasis IPsec antara
dua pengguna yang bersifat remote atau roadwarrior yang berada dibelakang
sebuah NAT dengan sebuah gateway/server IPsec. Tunnel IPsec yang akan
dibangun disetting untuk berjalan pada mode operasi tunnel.
Gambar 4.15 Skema Pengujian Dua Roadwarrior Tunnel Mode
Skenario jaringan ini akan digunakan untuk menguji masalah konflik pada
NAT Traversal mode operasi transport. Host IPsec A dan B akan membangun
tunnel IPsec kepada Server IPsec GW2. NAT-Traversal (enkapsulasi UDP) akan
digunakan dalam proses pembangunan tunnel IPsec. Mode operasi tunnel akan
digunakan sebagai setting konfigurasi default. Mekanisme source NAT diterapkan
pada host IPsec A dan B.
10.1.0.0/24
.1.10
GW1 GW2.2.1 192.168.0.0/24
A
NAT VPNserver
LAN 1
Tunnel VPN
B
.20
Tunnel VPN
69
4.2.2.6 Skenario Pengujian MOBIKE
Pengujian MOBIKE bertujuan untuk menguji kemampuan MOBIKE
antara satu pengguna yang bersifat remote atau disebut juga roadwarrior yang
bersifat multihomed (terhubung ke beberapa jaringan).
Gambar 4.16 Skema Pengujian MOBIKE
Dalam skenario ini, pertama-tama, Host A akan membangun tunnel IPsec
dengan GW2 dengan interface IP 192.168.0.100. Kemudian, beberapa saat
kemudian interface IP tersebut down sehingga klien A hanya terhubung ke
jaringan ke LAN1 dengan interface IP 10.1.0.10. Sesuai dengan protokol
MOBIKE, suatu pesan notifikasi akan dikirimkan ke Server GW2 melalui route
path yang ada untuk memperbaharui alamat IP Security Association. Koneksi
IPsec yang telah dibangun dapat tetap dipertahankan dan tak perlu membuat ulang
tunnel IPsec(IKE SA) baru.
4.3 Fase Simulation Prototyping
Fase ini merupakan fase ketiga dalam proses penelitian skripsi ini. Pada
fase ini, langkah yang kami lakukan adalah membuat simulasi jaringan komputer,
menerapkan perangkat lunak, pengujian sistem, dan evaluasi.
A
10.1.0.0/24
10.2.0.0/24
.1
GW1 GW2.2.1 192.168.0.0/24
B
NAT VPNserver
LAN 1 LAN 2
Tunnel VPN
.10.1
.100.1
70
4.3.1 Pembuatan Simulasi Jaringan Internet
Pada bagian ini akan dilakukan pembuatan simulasi sistem jaringan
komputer yang merepresentasikan jaringan Internet yang terdiri dari beberapa
komputer dengan menggunakan tool virtualisasi VMware Workstation.
4.3.1.1 Instalasi VMware Workstation
VMware Workstation adalah suatu software virtualisasi yang
memungkinan penjalanan beberapa sistem operasi pada saat bersamaan diatas
suatu komputer berbasis arsitektur Intel x86. VMware Workstation diinstal pada
sistem operasi dasar yang disebut Host OS dan kemudian beberapa sistem operasi
lain (disebut Guest OS) dapat diinstal diatas Host OS tersebut.
Pada skripsi ini VMware diinstal pada sistem operasi dasar Ms. Windows
XP SP2 dan kemudian beberapa sistem operasi Fedora 9 diinstal diatas OS
Windows itu dengan menggunakan virtualisasi VMware Workstation.
Proses Instalasi VMware Workstation untuk Windows cukup mudah,
cukup jalankan file installer dan ikuti petunjuk instalasi.
Gambar 4.17 Instalasi VMware Workstation
Berikut adalah tampilan interface dari VMware Workstation.
71
Gambar 4.18 Tampilan VMware Workstation
4.3.1.2 Simulasi Jaringan Internet Dengan VMware VMnet
VMware mampu mengakomodasi pembangunan suatu jaringan virtual
dengan tools Virtual Network Editor yang bisa diakses melalui Edit>Virtual
Network Settings.
Gambar 4.19 Virtual Network Editor
Suatu Virtual Network atau jaringan virtual disediakan oleh VMware
melalui fitur VMnet. Setiap VMnet merepresentasikan satu jaringan virtual. Host
OS dapat mengakses sebuah VMnet melalui Host Virtual Adapter yang
disediakan VMware. Sedangkan Guest OS mendapat akses ke VMnet melalui
setting adapter pada virtual machine.
72
Gambar 4.20 Desain Simulasi Jaringan Internet dengan VMware
Guest OS yang akan diinstal dengan VMware akan menjalankan sistem
operasi Fedora 9 berkernel Linux 2.6.24. Ada OS yang berperan sebagai Router
Gateway(GW1 dan GW2) dengan fungsi NAT dan ada OS yang berperan sebagai
Host LAN(A dan B). Terdapat tiga jaringan IP yaitu LAN1(10.1.0.0/24) yang
direpresentasikan dengan VMnet1, jaringan Internet(192.168.0.0/24) yang
direpresentasikan dengan VMnet2, dan jaringan LAN2(10.2.0.0/24) yang
direpresentasikan dengan VMnet3.
4.3.1.3 Pembuatan Virtual Machine
Untuk membuat virtual machine gunakan tool New Virtual Machine,
selanjutnya pilih opsi “Custom”,
10.1.0.0/24
Internet
.2
10.2.0.0/24
.10 .1
GW1 GW2.3.1 202.0.0.0/24
A B
NAT NAT
LAN 1 LAN 2
HOST OS
GUEST OS GUEST OS GUEST OS
GUEST OS
A GW1 GW2
B
VMNET1
Host Virtual Adapter
VMNET3VMNET2
= Host ethernet adapter
= Guest ethernet adapter
73
Gambar 4.21 Pemilihan Guest OS
Beri nama untuk host tersebut “A”. Gunakan setidaknya memori sebesar
128 MB yang mencukupi untuk instalasi Linux sebagai router dengan text-mode
dan kemudian pada pilihan Network Connection pilih “Use host-only
networking”.
Gambar 4.22 Tipe Koneksi Jaringan untuk Virtual Machine
Setelah selesai membuat sebuah virtual machine, ulangi langkah tersebut
diatas hingga semua kebutuhan empat Guest OS terpenuhi yaitu A, B, GW1, dan
GW2.
74
Gambar 4.23 Tampilan Virtual Machine
Langkah pembuatan virtual machine diatas diulangi terus untuk membuat
setiap komputer yang dibutuhkan dalam proses pengujian.
4.3.1.4 Konfigurasi Jaringan Virtual
Setelah pembuatan virtual machine selesai, langkah selanjutnya adalah
konfigurasi jaringan virtual. Gunakan “edit virtual machine settings” untuk
melakukan penyesuaian adapter Ethernet pada virtual machine. Ubah setting
Ethernet menjadi “Custom” dan sesuaikan dengan kebutuhan jaringan virtual.
Gambar 4.24 Setting Jaringan pada Virtual Machine
Seperti terlihat pada gambar, GW1 dan GW2 memiliki dua adapter
Ethernet. Untuk membuat adapter Ethernet baru bagi GW1 dan GW2 gunakan
“Add Hardware Wizard” dan pilih Ethernet Adapter.
GW1 GW2A B
Aeth1: VMnet1
Beth1 : VMnet3
GW1eth0 : VMnet2eth1 : VMnet1
GW1eth0 : VMnet2eth1 : VMnet3
VMNET1 VMNET2 VMNET3
75
4.3.2 Penerapan Perangkat Lunak
Pada bagian ini, perangkat lunak openSSL dan strongSwan akan
diterapkan pada sistem Linux. Perangkat lunak openSSL digunakan dalam
membangun sistem Public Key Certificate X.509 berbasis signature ECDSA.
Sedangkan perangkat lunak strongSwan berperan sebagai penyedia layanan
protokol IKEv2.
4.3.2.1 Pembuatan X.509 Certificate berbasis Signature ECDSA
Untuk membuat sistem PKI (Public Key Infrastructure) X.509, digunakan
toolkit OpenSSL. OpenSSL merupakan perangkat lunak open source dan free
yang mengimplementasikan protokol SSLv2/v3(Secure Socket Layer
version2/version3) dan TLSv1(Transport Layer Security version 1) serta standar
kriptografi yang berkaitan dengan protokol tersebut. OpenSSL dapat diperoleh
melalui situs http://www.openssl.org. OpenSSL yang dipakai disini adalah versi
1.0.0.
Untuk menginstal OpenSSL dari source(format tar.gz), pertama-tama
paket yang berbentuk archive terkompresi harus diekstrak ke suatu direktori
tertentu seperti /home.
# mv openssl-1.0.0.tar.gz /home# cd /home# tar –xzvf strongswan-4.2.5.tar.gz
Kemudian lakukan kompilasi pada paket yang telah diekstrak.
# cd /home/ openssl-1.0.0# ./config# make# make test# make install
76
OpenSSL akan diinstall pada default direktori /usr/ssl. Lakukan
pengecekan apakah OpenSSL telah terinstal dengan benar atau tidak dengan
perintah berikut.
# openssl version
Konfigurasi terhadap OpenSSL dilakukan melalui file /usr/ssl/openssl.cnf.
4.3.2.2 Pembuatan Sertifikat CA
Untuk membuat sertifikat CA X.509 berbasis signature ECDSA (Elliptic
Curve Digital Signature Algorithm), terlebih dahulu kita membuat private key
berbasis Elliptic Curve berukuran 521bit baru kemudian membuat sertifikat X.509
CA dari key tersebut.
# openssl ecparam -genkey -name secp521r1 -out cakey.pem# openssl req –x509 –new –key cakey.pem -days 3650 -out cacert.pem
Isi data untuk sertifikat x509 CA. Data tersebut adalah “Country Name”,
“State or Province Name”, “Locality”, “Organization Name”, “Common Name”,
dan “Email Address”. Akan ada dua file hasil dari pembuatan CA yaitu
cakey.pem yang merupakan private key dan cacert.pem yang merupakan sertifikat
dari CA beserta public key.
4.3.2.3 Pembuatan Sertifikat untuk End Entity
Setelah membuat self-signed certificate CA maka tugas selanjutnya adalah
membuat sertifikat x509 untuk setiap komputer (end entity certificate) yang akan
membuat koneksi IPsec. Pertama kita membuat private key elliptic curve
berukuran 384bit untuk peer IPsec, setelah itu dari private key itu dibuat
certificate request untuk setiap peer IPsec , dan certificate request itu kemudian
di-sign oleh CA certificate yang sebelumnya telah dibuat. Berikut adalah
perintahnya di konsol linux.
77
# openssl ecparam -genkey -name secp384r1 -out xxxkey.pem# openssl req –new –key xxxkey.pem -out xxxreq.pem
Nama xxx diganti dengan nama host komputer dimana sertifikat itu
diperuntukkan. Misalnya, untuk pembuatan key dan certificate request untuk host
A, maka xxxkey.pem diganti menjadi akey.pem dan xxxreq.pem diganti menjadi
areq.pem. Begitu pula pembuatan untuk host lainnya B, Z, GW1, GW2, GW3
sehingga didapatkan file private key akey.pem, bkey.pem, zkey.pem,
gw1key.pem, gw2key.pem, gw3key.pem, dan file certificate request areq.pem,
breq.pem, zreq.pem, gw1req.pem, gw2req.pem, gw3req.pem,
Format isian certificate request pada dasarnya sama seperti membuat CA,
tetapi kali ini data isian disesuaikan untuk host IPsec. Kemudian request sertifikat
yang telah dibuat harus disign oleh sertifikat CA yang sebelumnya telah dibuat.
# openssl x509 –req –in xxxreq.pem –CA cacert.pem -CAkey cakey.pem -days 365 –extfile openssl.cnf –extension usr_cert -CAcreateserial -out xxxcert.pem
Ganti xxx dengan nama host komputer dimana sertifikat itu diperuntukkan.
Misalnya, untuk penandatanganan certificate request untuk host A, maka
xxxreq.pem diganti menjadi areq.pem. xxxcert.pem diganti menjadi acert.pem dan
Begitu pula penandatanganan untuk host lainnya B, Z, GW1, GW2, GW3
sehingga didapatkan file sertifikat publik x.509 acert.pem, bcert.pem, zcert.pem,
gw1cert.pem, gw2cert.pem, gw3cert.pem.
4.3.2.4 Instalasi Certificate
Untuk skema pendistribusian file sertifikat X.509 dapat dilihat pada
lampiran 1 Skema Jaringan Komputer dan Sertifikat X.509. Pada setiap komputer
atau host IPsec yang terlibat dalam pembuatan tunnel IPsec, tempatkan file
sertifikat dan private key di direktori /etc/ipsec.d/ dengan aturan sebagai berikut.
78
• Direktori /etc/ipsec.d/private/ sebagai tempat untuk private key host IPsec
yang sesuai. Contohnya hanya host A yang memiliki akey.pem dan host B
memiliki bkey.pem, dan seterusnya.
• Direktori /etc/ipsec.d/certs/ sebagai tempat untuk end entity atau public
certificate. Berisi seluruh file end entity certificate X.509 yaitu acert.pem,
bcert.pem, zcert.pem, gw1cert.pem, gw2cert.pem, gw3cert.pem.
• Direktori /etc/ipsec.d/ cacerts/ sebagai tempat untuk CA certificate yang
mengeluarkan dan men-sign end entity certificate. Berisi file cacert.pem.
4.3.2.5 Instalasi Perangkat Lunak IKEv2 strongSwan
StrongSwan merupakan solusi perangkat lunak IPsec open source untuk
lingkungan sistem operasi berbasis kernel Linux. Aplikasi Strongswan yang
dipakai dalam skripsi ini adalah versi 4.4.0 yang menggunakan daemon charon
sebagai penyedia fungsi IKEv2. Strongswan bersifat open source berlisensi
GPLv2 (GNU GENERAL PUBLIC LICENSE) dan dapat didownload gratis di
situs resminya http://www.strongswan.org.
Untuk menginstal Strongswan dari source(format tar.gz), pertama-tama
paket yang berbentuk archive terkompresi harus diekstrak ke suatu direktori
tertentu seperti /home.
# mv strongswan-4.4.0.tar.gz /home# cd /home# tar –xzvf strongswan-4.4.0.tar.gz
Kemudian lakukan kompilasi pada paket yang telah diekstrak.
# cd /home/strongswan-4.4.0# ./configure# make# make install
79
StrongSwan akan diinstall pada default direktori /usr/local. Lakukan
pengecekan apakah strongSwan telah terinstal dengan benar atau tidak dengan
perintah berikut. Dan jika tidak ada error yang muncul maka strongSwan sudah
bisa digunakan.
# ipsec version
Konfigurasi terhadap strongSwan terutama dilakukan melalui file
/etc/ipsec.conf, file secret key /etc/ipsec.secrets. File ipsec.conf digunakan sebagai
konfigurasi koneksi tunnel VPN IPsec (Security Association Database) dan
konfigurasi policy pengamanan traffic (Security Policy Database). File
ipsec.secrets berisi data rahasia data credential private key yang nantinya
digunakan dalam proses autentikasi peer IPsec. Proses autentikasi yang digunakan
adalah sertifikat x.509 berbasis signature ECDSA.
4.3.3 Pengujian Sistem
Pengujian sistem dilakukan terhadap setiap skenario pengujian yang telah
dibuat pada tahapan desain. Konfigurasi sistem IPsec adalah berbeda pada setiap
skenario pengujian. Ada pengujian yang membutuhkan konfigurasi routing, dan
atau juga firewall NAT. Untuk kode konfigurasi sistem remote access IPsec
berbasis perangkat lunak IKEv2 strongswan dapat dilihat pada Lampiran 2. Kode
Konfigurasi IKEv2 strongSwan.
4.3.3.1 Pengujian Algoritma Suite B
Gateway GW1 akan membangun suatu tunnel IPsec kepada Gateway
GW2.
Gambar 4.25 Pengujian Algoritma Kriptografi
.1
GW1 GW2.2192.168.0.0/24
80
Pembangunan dan pengujian tunnel IPsec dilakukan dengan perintah di
konsol linux sebagai berikut. Untuk membangun tunnel IPsec dengan algoritma
Suite B GCM-256 digunakan perintah berikut.
gw1# ipsec up suite-b-gcm-256Untuk memverifikasi apakah tunnel IPsec berhasil dibangun digunakan
perintah ipsec statusall pada GW1.
gw1# ipsec statusall | less
Gambar 4.26 Hasil output konsol uji Algoritma Suite B pada GW1Baris pada security association (SA) ”...ESTABLISHED 74 seconds
ago...” menunjukkan bahwa SA IKE antara peer IKE GW1 dan GW2 berhasil
dibangun. Baris ”...IKE proposal: AES_CBC_256/HMAC_SHA2_384_192/
PRF_HMAC_SHA2_384/ECP_384...” menunjukkan bahwa untuk SA IKE,
algoritma yang digunakan adalah enkripsi AES-CBC-256, algoritma HMAC-
SHA-384-192, dan elliptic curve 384 bit. Baris ”...INSTALLED, TUNNEL,
ESP...” menunjukkan bahwa SA untuk tunnel ESP berhasil dibuat dengan ”ESP
SPI=ca09414a” untuk inbound dan”ESP SPI=c407a17b” untuk outbound. Baris
”...AES_GCM_16_256...” menunjukkan bahwa enkripsi ESP menggunakan AES-
GCM-256.
4.3.3.2 Pengujian Repeated Authentication
Gateway GW1 akan membangun suatu tunnel IPsec kepada Gateway
GW2 dengan pengulangan autentikasi setiap 30 detik.
81
Gambar 4.27 Pengujian Repeated Authentication
Pembangunan dan pengujian tunnel IPsec dilakukan dengan perintah di
konsol linux sebagai berikut.
gw1# ipsec up repeat-authUntuk memverifikasi apakah tunnel IPsec berhasil dibangun digunakan
perintah ipsec statusall pada GW1.
gw1# ipsec statusall | less
Gambar 4.28 Hasil output konsol uji Repeated Authentication pada GW1Baris ”...scheduling reauthentication in 30s...” (SA) menunjukkan bahwa
akan dilakukan pengulangan autentikasi secara otomatis dalam 30 detik antara
peer IKE GW1 dan GW2.
4.3.3.3 Pengujian NAT Traversal
A, yang berada dibelakang router NAT GW1 akan membangun suatu
tunnel IPsec mode tunnel kepada B yang ada dibelakang NAT GW2. GW1 akan
menerapkan fungsi Source NAT terhadap paket IPsec dari A 10.1.0.0/24.
Sedangkan GW2 akan menerapkan fungsi Destination NAT ke B sehingga seluruh
lalu-lintas paket IKE dan ESP yang ditujukan ke router GW2 akan diteruskan ke
B. A bertindak sebagai klien sedangkan B bertindak sebagai server IPsec bagi
.1
GW1 GW2.2192.168.0.0/24
82
subnet 10.2.0.0/24. NAT-Traversal (enkapsulasi UDP) digunakan untuk
melewatkan traffic IPsec melalui NAT.
Gambar 4.29 Pengujian NAT Traversal
Untuk membuat aturan source NAT pada GW1 terhadap subnet
10.1.0.0/24 ke alamat source GW1, sehingga paket IPsec yang terenkapsulasi
UDP(NAT Traversal) dapat lewat, digunakan perintah iptables berikut.
gw1# echo 1 > /proc/sys/net/ipv4/ip_forwardgw1# iptables -t nat -A POSTROUTING -o eth0 -s 10.1.0.0/24 -p udp -j SNAT --to-source 192.168.0.1:2000-2100
Untuk membuat aturan destination NAT pada GW2 terhadap paket IPsec
ke alamat IP B, digunakan perintah iptables berikut.
gw2# echo 1 > /proc/sys/net/ipv4/ip_forwardgw2# iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.1 -p udp -j DNAT --to-destination 10.2.0.10gw2# ip route add 10.1.0.0/24 via 10.2.0.10
Pembangunan dan pengujian tunnel IPsec dilakukan dengan perintah di
konsol linux sebagai berikut.
a# ipsec up nat-traversal
Untuk memverifikasi apakah tunnel IPsec berhasil dibangun digunakan
perintah ipsec statusall pada host A.
a# ipsec statusall | less
10.1.0.0/24
.1
10.2.0.0/24
.10 .1
GW1 GW2.2.1 192.168.0.0/24
A B
NAT VPNNAT.10
83
Gambar 4.30 Hasil output konsol uji NAT Traversal pada Host ABaris pada security association (SA) ”...ESTABLISHED 71 seconds
ago...” menunjukkan bahwa SA IKE antara peer IKE A dan B berhasil dibangun.
Baris ”...INSTALLED, TUNNEL, ESP in UDP...” menunjukkan bahwa SA untuk
tunnel ESP berhasil dibuat dalam mode NAT Traversal (yaitu dengan mekanisme
enkapsulasi UDP) yang berarti bahwa host IPsec berada dibelakang NAT dengan
”ESP SPI=cf03cf23” untuk inbound dan”ESP SPI=c7f05510” untuk outbound.
Baris ”...AES_CBC_128/HMAC_SHA1_96...” menunjukkan bahwa tunnel ESP
dilindungi dengan enkripsi AES-CBC-128.
4.3.3.4 Pengujian Virtual IP
A dan Z berperan sebagai roadwarrior (remote client) yang masing-
masing berada di belakang Router NAT GW1 dan GW3. Suatu tunnel IPsec
mode tunnel akan dibangun antara A - GW2 dan Z - GW2. A dan Z akan
memiliki alamat IP address private yang sama yaitu 10.0.1.10/24. Masing-masing
roadwarrior tersebut meminta sebuah virtual IP melalui configuration payload
IKEv2. Gateway/server IPsec GW2 kemudian memberikan alamat virtual IP yang
unik.
84
Gambar 4.31 Pengujian Virtual IPUntuk membuat aturan source NAT pada GW1 dan GW3 terhadap subnet
masing-masing, sehingga paket IPsec yang terenkapsulasi UDP(NAT Traversal)
dapat lewat, digunakan perintah iptables berikut.
gw1# echo 1 > /proc/sys/net/ipv4/ip_forwardgw1# iptables -t nat -A POSTROUTING -o eth0 -s 10.1.0.0/24 -p udp -j SNAT --to-source 192.168.0.1:2000-2100
gw3# echo 1 > /proc/sys/net/ipv4/ip_forwardgw3# iptables -t nat -A POSTROUTING -o eth0 -s 10.1.0.0/24 -p udp -j SNAT --to-source 192.168.0.3:2000-2100
Pembangunan dan pengujian tunnel IPsec dilakukan dengan perintah di
konsol linux sebagai berikut.
a# ipsec up virtual-ipz# ipsec up virtual-ip
Untuk memverifikasi apakah tunnel IPsec berhasil dibangun digunakan
perintah ipsec statusall pada A dan Z.
a# ipsec statusall | lessz# ipsec statusall | less
Gambar 4.32 Hasil output konsol uji Virtual IP pada ABaris pada security association (SA) ”...ESTABLISHED 2 minutes ago...”
menunjukkan bahwa SA IKE antara peer IKE A dan GW2 berhasil dibangun.
10.1.0.0/24
.1
10.2.0.0/24
.10 .1
GW1 GW2.2.1 192.168.0.0/24
A B
NAT VPNserver
Z.10
GW3
NAT.1 .3
.10
10.1.0.0/24
85
Baris ”...INSTALLED, TUNNEL, ESP in UDP...” menunjukkan bahwa SA untuk
tunnel ESP berhasil dibuat dalam mode NAT Traversal (yaitu dengan mekanisme
enkapsulasi UDP) yang berarti bahwa host IPsec A berada dibelakang NAT
dengan ”ESP SPI=ce51c3a8” untuk inbound dan”ESP SPI=c90d7e99” untuk
outbound. Baris ”...AES_CBC_128/HMAC_SHA1_96...” menunjukkan bahwa
tunnel ESP dilindungi dengan enkripsi AES-CBC-128. Baris ”...virtual-ip(2) :
10.10.0.1/32 == 10.2.0.0/24...” menunjukkan bahwa Host A mendapatkan virtual
IP 10.10.0.1, dan trafic selector dibuat antara alamat virtual A 10.10.0.1/32
dengan subnet 10.2.0.0/24.
Gambar 4.33 Hasil output konsol uji Virtual IP pada Host ZBaris pada security association (SA) ”...ESTABLISHED 10 minutes
ago...” menunjukkan bahwa SA IKE antara peer IKE Z dan GW2 berhasil
dibangun. Baris ”...INSTALLED, TUNNEL, ESP in UDP...” menunjukkan bahwa
SA untuk tunnel ESP berhasil dibuat dalam mode NAT Traversal (yaitu dengan
mekanisme enkapsulasi UDP) yang berarti bahwa host IPsec Z berada dibelakang
NAT dengan ”ESP SPI=c9518939” untuk inbound dan”ESP SPI=ce5b481e”
untuk outbound. Baris ”...AES_CBC_128/HMAC_SHA1_96...” menunjukkan
bahwa tunnel ESP dilindungi dengan enkripsi AES-CBC-128. Baris ”...virtual-
ip(2) : 10.10.0.2/32 == 10.2.0.0/24...” menunjukkan bahwa Host Z mendapatkan
virtual IP 10.10.0.2, dan trafic selector dibuat antara alamat virtual Z 10.10.0.1/32
dengan subnet 10.2.0.0/24.
86
4.3.3.5 Pengujian Dua Roadwarrior Tunnel Mode
A dan B berperan sebagai roadwarrior (remote user) yang berada di
belakang Router NAT GW1. Suatu tunnel IPsec akan dibangun antara A - GW2
dan B - GW2. GW2 akan bertindak sebagai gateway/server IPsec. NAT-Traversal
(enkapsulasi UDP) digunakan untuk melewatkan traffic IPsec melalui NAT.
Gambar 4.34 Pengujian Dua Roadwarrior Tunnel Mode
Untuk membuat aturan source NAT pada GW1 terhadap subnet
10.1.0.0/24 ke alamat source GW1, sehingga paket IPsec yang terenkapsulasi
UDP(NAT Traversal) dapat lewat, digunakan perintah iptables berikut.
gw1# echo 1 > /proc/sys/net/ipv4/ip_forwardgw1# iptables -t nat -A POSTROUTING -o eth0 -s 10.1.0.0/24 -p udp -j SNAT --to-source 202.0.0.1:2000-2100
Policy atau kebijakan mode tunnel dibuat dengan melakukan konfigurasi
“mode=tunnel” pada perangkat lunak IKEv2 strongSwan seperti bisa dilihat pada
Lampiran 2. Kode Konfigurasi IKEv2 strongSwan pada nomor 5.Pengujian Dua
Roadwarrior Tunnel Mode. Pembangunan dan pengujian tunnel IPsec dilakukan
dengan perintah di konsol linux sebagai berikut.
a# ipsec up duarw-samenatb# ipsec up duarw-samenat
Untuk memverifikasi apakah tunnel IPsec berhasil dibangun digunakan
perintah ipsec statusall pada A dan B.
a# ipsec statusall | lessb# ipsec statusall | less
10.1.0.0/24
.1.10
GW1 GW2.2.1 192.168.0.0/24
A
NAT VPNserver
B.20
87
Gambar 4.35 Hasil output konsol uji Dua Roadwarrior Tunnel Mode ABaris”...ESTABLISHED 21 seconds ago...” menunjukkan bahwa SA IKE
antara peer IKE A dan GW2 berhasil dibangun. Baris ”...INSTALLED,
TUNNEL, ESP in UDP...” menunjukkan bahwa SA untuk tunnel ESP berhasil
dibuat dalam mode NAT Traversal (yaitu dengan mekanisme enkapsulasi UDP)
yang berarti bahwa host IPsec A berada dibelakang NAT dengan ”ESP
SPI=c313c374” untuk inbound dan”ESP SPI=cdc95cc2” untuk outbound. Baris
”...AES_CBC_128/HMAC_SHA1_96...” menunjukkan bahwa tunnel ESP
dilindungi dengan enkripsi AES-CBC-128.
Gambar 4.36 Hasil output konsol uji Dua Roadwarrior Tunnel Mode B Baris pada security association (SA) ”...ESTABLISHED 36 seconds
ago...” menunjukkan bahwa SA IKE antara peer IKE B dan GW2 berhasil
dibangun. Baris ”...INSTALLED, TUNNEL, ESP in UDP...” menunjukkan bahwa
SA untuk tunnel ESP berhasil dibuat dalam mode NAT Traversal (yaitu dengan
88
mekanisme enkapsulasi UDP) yang berarti bahwa host IPsec B berada dibelakang
NAT dengan ”ESP SPI=c1931ce5” untuk inbound dan”ESP SPI=ca01271f” untuk
outbound. Baris ”...AES_CBC_128/HMAC_SHA1_96...” menunjukkan bahwa
tunnel ESP dilindungi dengan enkripsi AES-CBC-128.
4.3.3.6 Pengujian MOBIKE
A berperan sebagai roadwarrior (remote user) yang terhubung pada
jaringan 192.168.0.0/24 dan jaringan 10.1.0.0/24. Suatu tunnel IPsec mode tunnel
host-to-network akan dibangun antara A - GW2 melalui IP 192.168.0.100.
Interface dengan alamat IP 192.168.0.100 itu kemudian down sehingga A hanya
terhubung pada jaringan 10.1.0.0/24 dengan alamat IP 10.1.0.10. A kemudian
akan mengirimkan pesan notifikasi IKE kepada server GW2 untuk
memberitahukan perubahan alamat IP SA sehingga SA yang lama tetap dapat
dipertahankan tanpa adanya pembuatan ulang tunnel.
Gambar 4.37 Pengujian MOBIKE
Untuk membuat aturan source NAT pada GW1 terhadap subnet
dibelakangnya, sehingga paket IPsec yang terenkapsulasi UDP(NAT Traversal)
dapat lewat, digunakan perintah iptables berikut.
gw1# echo 1 > /proc/sys/net/ipv4/ip_forwardgw1# iptables -t nat -A POSTROUTING -o eth0 -s 10.1.0.0/24 -p udp -j SNAT --to-source 202.0.0.1:2000-2100
Pembangunan dan pengujian tunnel IPsec dilakukan dengan perintah di
konsol linux sebagai berikut.
a# ipsec up mobike
.100
10.2.0.0/24
.1
GW2.2.10 192.168.0.0/24
A B
VPNserver
GW1
NAT.1 .1
.10
10.1.0.0/24
89
Gambar 4.38 Output awal pada A dengan IP 192.169.0.100Baris pada security association (SA) ”...IKE_SA mobike(4) established
between 192.168.0.100...” menunjukkan bahwa SA IKE antara A dan GW2
berhasil dibangun antara alamat IP 192.168.0.100([email protected])...
192.168.0.2([email protected]).
Untuk membuat interface 192.168.0.100 mati dan untuk memverifikasi
jika tunnel IPsec masih tetap ada dapat digunakan perintah berikut pada A.
(interface jaringan 192.168.0.100 disimulasikan mati)a# ifconfig eth1 192.168.0.100/24 downa# ipsec statusall | less
Gambar 4.39 Output pada A setelah interface 192.169.0.100 down.Baris pada security association (SA) ”...ESTABLISHED 103 seconds ago,
10.1.0.10([email protected])...” menunjukkan bahwa SA IKE antara peer IKE A dan
GW2 masih tetap ada. Perubahan terjadi pada data alamat SA IKE dimana
sebelumnya yaitu antara alamat IP 192.168.0.100 ([email protected]) dengan
90
192.168.0.2 ([email protected]), menjadi alamat IP 10.1.0.10 ([email protected]) dengan
192.168.0.2 ([email protected]).
4.3.4 Evaluasi
Hasil dari pengujian simulasi sistem Remote Access IPsec berbasis
perangkat lunak IKEv2 strongSwan dapat dilihat melalui tabel berikut.
Tabel 4.7 Hasil Pengujian Sistem No Solusi Hasil Pengujian
1 Algoritma Suite B
Suite-B-gcm-128 BerhasilSuite-B-gcm-256 BerhasilSuite-B-gmac-128 Tidak BerhasilSuite-B-gmac-256 Tidak Berhasil
2 Repeated Authentication Berhasil3 NAT Traversal Berhasil4 Virtual IP Berhasil5 Dua Roadwarrior Tunnel Mode Berhasil6 MOBIKE Berhasil
4.3.4.1 Pengujian Algoritma Suite B
Hasil dari pengujian Suite B menunjukkan bahwa algoritma kriptografi
Galouis-Counter Mode (GCM) berhasil dijalankan, akan tetapi mode GMAC
tidak berjalan. Algoritma kriptografi GCM menyediakan standar layanan enkripsi
yang kuat sesuai dengan spesifikasi suite B sehingga walaupun pengujian GMAC
tidak berhasil, mode GCM pun sudah cukup untuk memenuhi kebutuhan
pengamanan data.
4.3.4.2 Pengujian Repeated Authentication
Mekanisme Repeated Authentication pada strongSwan dapat berjalan
dengan lancar sesuai dengan hasil pengujian. Dengan demikian, kebutuhan
pengulangan autentikasi bagi pengguna VPN khususnya remote access berbasis
IPsec dapat dipenuhi.
91
4.3.4.3 Pengujian NAT Traversal
Protokol IKEv2 secara default sudah mendukung NAT Traversal dengan
mekanisme enkapsulasi UDP. Fungsi NAT Traversal IKEv2 pada perangkat lunak
strongSwan dapat berjalan baik sesuai dengan hasil pengujian. Dengan demikian,
pengguna remote access VPN berbasis IPsec khususnya pengguna yang berada
dibelakang NAT dapat membangun suatu tunnel IPsec.
4.3.4.4 Pengujian Virtual IP
Mekanisme Virtual IP merupakan mekanisme dalam protokol IKEv2 yang
mampu mengatasi permasalahan konflik overlapping internal IP address pada
komunikasi IPsec Mode NAT Traversal. Perangkat lunak IKEv2 strongSwan
terbukti dapat menjalankan fungsi Virtual IP dengan baik.
4.3.4.5 Pengujian NAT Traversal Tunnel Mode
Pengujian NAT Traversal mode tunnel pada IKEv2 strongSwan dapat
berjalan dengan baik. IKEv2 pada StrongSwan mendukung NAT Traversal mode
tunnel secara default sehingga permasalahan konflik NAT Traversal mode
transport tidak akan muncul. Selain itu, strongSwan IKEv2 tidak mendukung
NAT Traversal mode transport secara default dikarenakan pertimbangan
keamanan sesuai dengan dokumentasi resminya yang didapat melalui halaman
situsnya yaitu http://www.strongswan.org/FAQ.
4.3.4.6 Pengujian MOBIKE
Fitur MOBIKE berjalan lancar pada Strongswan dilihat dari hasil
pengujian yang menunjukkan keberhasilan. Dengan demikian, kebutuhan peer
IPsec yang mobile dan multihoming dapat dipenuhi.
92
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berikut adalah hasil kesimpulan yang penulis dapatkan dalam proses
penelitian skripsi ini :
1. Terdapat masalah-masalah yang berhasil ditemukan untuk penerapan Remote
Access VPN berbasis IPsec seperti masalah kebutuhan algoritma kriptografi
yang kuat, kebutuhan pengulangan autentikasi, masalah ketidakcocokan
Network Address Translator (NAT) dan IPsec, masalah konflik alamat klien
IPsec yang overlapping, masalah NAT Traversal mode transport, masalah
kebutuhan peer IPsec yang mobile dan multihoming. Hal tersebut dapat dilihat
pada fase analysis bagian penentuan masalah.
2. Sistem Remote Access IPsec berbasis perangkat lunak IKEv2 strongSwan
menawarkan alternatif sistem yang open source, berbiaya murah, dan mampu
memberikan solusi terhadap permasalahan Remote Access VPN berbasis
IPsec. Solusi untuk masalah Remote Access IPsec yang diberikan oleh
perangkat lunak IKEv2 strongSwan dapat dilihat pada tabel 4.7.
3. Tool virtualisasi VMware dapat digunakan untuk membuat simulasi jaringan
komputer sesuai dengan desain skenario pengujian yang dibuat pada bagian
4.2.2 Perancangan Skenario Pengujian.
4. Hasil pengujian sistem menunjukkan bahwa sistem Remote Access IPsec
berbasis perangkat lunak IKEv2 strongSwan umumnya mampu berjalan pada
setiap skenario pengujian. Hasil pengujian skenario suite B algorithm dapat
dilihat pada gambar 4.26, skenario repeated authentication dapat dilihat pada
93
gambar 4.28, skenario NAT Traversal dapat dilihat pada gambar 4.30,
skenario virtual IP dapat dilihat pada gambar 4.32 dan gambar 4.33, skenario
Dua roadwarrior tunnel mode dapat dilihat pada gambar 4.35 dan gambar
4.36, skenario MOBIKE dapat dilihat pada gambar 4.38 dan gambar 4.39.
5.2 Saran
Berikut adalah saran-saran untuk proses penelitian lebih lanjut mengenai
sistem Remote Access IPsec berbasis protokol IKEv2 dengan perangkat lunak
strongSwan :
1. Melakukan simulasi penerapan sistem autentikasi IPsec Extensible
Authentication Protocol (EAP) dalam IKEv2.
2. Melakukan simulasi pengujian interoperabilitas antara Sistem Linux sebagai
IPsec server dan klien berbasis sistem operasi Windows dalam kerangka
protokol IKEv2. Mengingat bahwa implementasi perangkat lunak IKEv2 pada
lingkungan Windows masih terbilang baru, maka topik ini akan sangat
menantang.
3. Mengimplementasikan perangkat lunak IKEv2 Strongswan dalam suatu
lingkungan sistem jaringan yang menawarkan redundancy seperti misalnya
konsep IPsec failover and redundancy atau high cluster IPsec server.
4. Melakukan manajemen terhadap Remote Addres Virtual IP menggunakan
suatu database berbasis SQL.
94
DAFTAR PUSTAKAA. Huttunen, B. Swander , V. Volpe , L. DiBurro , M. Stenberg , “UDP Encapsulation of
IPsec ESP Packets” , RFC 3948, January 2005
B. Aboba, W. Dixon , “IPsec-Network Address Translation (NAT) Compatibility
Requirements”, RFC 3715, March 2004
Burnett, Steve, Stephen Paine, RSA Security's Official Guide to Cryptography, California:
McGraw-Hill/Osborne, 2004
C. Kaufman, “Internet Key Exchange (IKEv2) Protocol”, RFC 4306, December 2005
Elaine Barker, William Barker, William Burr, William Polk, and Miles Smid, Special
Publication 800-57: Recommendation for Key Management , National Institute of
Standards and Technology, 2007
Forouzan, Behrouz A., Data Communications and Networking Third Edition, NY:
McGraw-Hill, 2003
Harrell, Charles, Biman K Ghosh, Royce O. Bowden Jr., Simulation Using Promodel
Second Edition, NY:McGraw-Hill, 2004
http://en.wikipedia.org/Network_address_translation, diakses 30 Juli 2010 15:25WIB
http://en.wikipedia.org/Public_key_cryptography, diakses 30 Juli 2010 15:20WIB
http://en.wikipedia.org/Virtual_private_network, diakses 30 Juli 2010 15:23WIB
http://en.wikipedia.org/IKEv2, diakses 30 Juli 2010 15:31 WIB
Joel M Snyder, IPsec and SSL VPNs: Solving remote access problems,
http://searchsecurity.techtarget.com/searchSecurity/downloads/Snyder.VPN.ORIGINAL.
ppt, diakses 30 Juli 2010 15:24WIB
L. Law and J. Solinas, “Suite B Cryptographic Suites for IPsec”, RFC 4869, May 2007.
Nasuhi, Hamid, Ropi Ismatu, dkk. Pedoman Penulisan Karya Ilmiah Skripsi, Tesis dan
Disertasi. Jakarta: CeQDA, 2007.
P. Erone , “IKEv2 Mobility and Multihoming Protocol (MOBIKE)”, RFC 4555, June
2006. .
Pandia, Henry. Teknologi Informasi dan Komunikasi. Jilid I, II dan III. Jakarta: Erlangga,
2007.
95
Rawles, Philip T., James E. Goldman, Applied Data Communications: A Business-
Oriented Approach, 2001 ISBN 0-471-37161-0
Scott Kelly, IPsec Remote Access Requirements, IPsec Remote Access Working Group
49th IETF, http://www.vpnc.org/ietf-ipsra/ietf49-requirements.ppt, diakses 30 Juli 2010
15:24WIB
Sunyoto, Aris Wendy, VPN Sebuah Konsep, Teori dan Implementasi, BukuWeb
Networking, 2008
T. Kivinen , B. Swander , A. Huttunen, V. Volpe , “Negotiation of NAT-Traversal in the
IKE” , RFC 3947, January 2005
Tanenbaum, Andrew S., Modern Operating Systems Second Edition, NJ: Prentice-Hall,
2001
Tulloch, Mitch, Microsoft Encyclopedia of Networking eBook, Microsoft Press, 2000
Wheeler, Bob, Suite B: Classified Network Security Goes Commercial, The Linley
Group, Inc, Juli 2009.
White Paper: Remote Access VPN and IPSec , NCP Secure Communication, April 2001,
http://www.symtrex.com/pdfdocs/wp_ipsec.pdf, diakses 30 Juli 2010 15:24WIB
White Paper: Virtual Private Networks Solutions for Remote Access, Comparison of
IPSEC and SSL, 2004 Schlumberger Information Solutions, Houston,
Texas.http://www.slb.com/media/services/consulting/infrastructure/whitepaper_vpnsra.pd
f, diakses 30 Juli 2010 15:24WIB
Wijaya, Ir. Hendra, Cisco ADSL Router, PIX Firewall, dan VPN, Jakarta:PT Elex Media
Komputindo, 2006
Y. Nir, “Repeated Authentication in Internet Key Exchange (IKEv2) Protocol”, RFC
4478, April 2006
96
Lampiran 1
Skema Jaringan Komputer dan Sertifikat X.509
Skema Jaringan Komputer
Host Private Key Sertifikat X.509A akey.pem acert.pemB bkey.pem bcert.pemZ zkey.pem zcert.pem
GW1 gw1key.pem gw1cert.pemGW2 gw2key.pem gw2cert.pemGW3 gw3key.pem gw3cert.pem
Host komputer dan file sertifikat X.509
10.1.0.0/24
.1
10.2.0.0/24
.10 .1
GW1 GW2.2.1 192.168.0.0/24
A B
Z.10
GW3
.1 .3
.10
10.1.0.0/24
Lampiran 2
Kode Konfigurasi IKEv2 strongSwanA, B, Z, adalah host komputer klien sedangkan GW1, GW2, GW3 adalah gateway router. Konfigurasi sistem dilakukan pada file ipsec.conf pada setiap host komputer yang menjalankan sistem IPsec dengan perangkat lunak IKEv2 strongSwan. Konfigurasi berbeda dibuat untuk skenario pengujian yang berbeda.
1. Pengujian Algoritma Suite B Konfigurasi file ipsec.conf dilakukan terhadap host IPsec GW1 dan GW2.
conn %defaultleft=192.168.0.1leftcert=gw1cert.pemleftid=gw1@[email protected]=ikev2mobike=noauthby=ecdsa
conn suite-b-gcm-128ike=aes128-sha256-ecp256esp=aes128gcm16auto=add
conn suite-b-gcm-256ike=aes256-sha384-ecp384esp=aes256gcm16auto=add
conn suite-b-gmac-128ike=aes128-sha256-ecp256esp=aes128gmac16keyexchange=ikev2auto=add
conn suite-b-gmac-256ike=aes256-sha384-ecp384esp=aes256gmac16keyexchange=ikev2auto=add
Konfigurasi ipsec.conf GW1
conn %defaultleft=192.168.0.2leftcert=gw2cert.pemleftid=gw2@[email protected]=ecdsakeyexchange=ikev2mobike=no
conn suite-b-gcm-128ike=aes128-sha256-ecp256esp=aes128gcm16auto=add
conn suite-b-gcm-256ike=aes256-sha384-ecp384esp=aes256gcm16auto=add
conn suite-b-gmac-128ike=aes128-sha256-ecp256esp=aes128gmac16keyexchange=ikev2auto=add
conn suite-b-gmac-256ike=aes256-sha384-ecp384esp=aes256gmac16keyexchange=ikev2auto=add
Konfigurasi ipsec.conf GW2
2. Pengujian Repeated AuthenticationKonfigurasi file ipsec.conf dilakukan terhadap host IPsec GW1 dan GW2.
conn %defaultikelifetime=30skeylife=20mrekeymargin=0skeyingtries=1
conn repeat-authleft=192.168.0.1leftcert=gw1cert.pemleftid=gw1@[email protected]=ikev2mobike=no
Konfigurasi ipsec.conf GW1
conn %defaultikelifetime=60mkeylife=20mrekeymargin=5skeyingtries=1
conn repeat-authleft=192.168.0.2leftcert=gw2cert.pemleftid=gw2@[email protected]
keyexchange=ikev2mobike=noauto=add
Konfigurasi ipsec.conf GW2
3. Pengujian NAT Traversal Konfigurasi file ipsec.conf dilakukan terhadap host IPsec A dan B.
conn nat-traversalleft=10.1.0.10leftcert=acert.pemleftid=a@[email protected]=10.2.0.0/24keyexchange=ikev2mobike=noauto=add
Konfigurasi ipsec.conf Host A
conn nat-traversalleft=10.2.0.10leftcert=bcert.pemleftid=b@tes.co.idleftsubnet=10.2.0.0/24right=%anyrightsubnet=10.1.0.0/24keyexchange=ikev2mobike=noauto=add
Konfigurasi ipsec.conf Server B
4. Pengujian Virtual IPKonfigurasi file ipsec.conf pada skenario ini dilakukan terhadap host IPsec A, Z
dan GW2.
conn virtual-ipleft=10.1.0.10leftsourceip=%[email protected][email protected]=10.2.0.0/24keyexchange=ikev2mobike=noauto=add
Konfigurasi ipsec.conf A
conn virtual-ipleft=10.1.0.10leftsourceip=%configleftcert=zcert.pem
[email protected][email protected]=10.2.0.0/24keyexchange=ikev2mobike=noauto=add
Konfigurasi ipsec.conf Z
conn virtual-ipleft=192.168.0.2leftcert=gw2cert.pemleftid=gw2@tes.co.idleftsubnet=10.2.0.0/24right=%anyrighttsourceip=10.10.0.0/24keyexchange=ikev2mobike=noauto=add
Konfigurasi ipsec.conf GW2
5. Pengujian Dua Roadwarrior Tunnel ModeKonfigurasi file ipsec.conf pada skenario A, B dan GW2.
conn duarw-samenatleft=10.1.0.10leftcert=acert.pemleftid=a@[email protected]=ikev2mobike=nomode=tunnelauto=add
Konfigurasi ipsec.conf A
conn duarw-samenatleft=10.1.0.20leftcert=bcert.pemleftid=b@[email protected]=ikev2mobike=nomode=tunnelauto=add
Konfigurasi ipsec.conf B
conn duarw-samenatleft=192.168.0.2leftcert=gw2cert.pemleftid=gw2@tes.co.idright=%anyrightsubnet=10.1.0.0/24keyexchange=ikev2mobike=nomode=tunnelauto=add
Konfigurasi ipsec.conf GW2
6. Pengujian MOBIKEKonfigurasi file ipsec.conf pada skenario ini dilakukan terhadap host IPsec A dan
gateway IPsec GW2.
conn mobikeleft=192.168.0.100leftcert=acert.pemleftid=a@[email protected]=10.2.0.0/24keyexchange=ikev2mobike=yesauto=add
Konfigurasi ipsec.conf A
conn mobikeleft=192.168.0.2leftcert=gw2cert.pemleftid=gw2@tes.co.idleftsubnet=10.2.0.0/24right=%[email protected]=ikev2mobike=yesauto=add
Konfigurasi ipsec.conf GW2
Lampiran 3
Tampilan Hasil Pengujian Sistem
1. Pengujian Algoritma Suite B
a) Pengujian AES-GCM-128
Hasil Output Konsol pada Host GW1
Baris pada security association (SA) ”...ESTABLISHED 76 seconds ago...”
menunjukkan bahwa SA IKE antara peer IKE GW1 dan GW2 berhasil dibangun. Baris
”...IKE proposal: AES_CBC_128/ HMAC_SHA2_256_128/ PRF_HMAC_SHA2_256/
ECP_256...” menunjukkan bahwa untuk SA IKE, algoritma yang digunakan adalah
enkripsi AES-CBC-128, algoritma HMAC-SHA-256-128, dan elliptic curve 256 bit.
Baris ”...INSTALLED, TUNNEL, ESP...” menunjukkan bahwa SA untuk tunnel ESP
berhasil dibuat dengan ”ESP SPI=c702a69e” untuk inbound dan”ESP SPI=ca931f42”
untuk outbound. Baris ”AES_GCM_16_128” menunjukkan bahwa enkripsi ESP
menggunakan AES-GCM-128.
Hasil Capture Wireshark Pada Jaringan 192.168.0.0/24
Hasil capture pada Wireshark menunjukkan bahwa komunikasi data berhasil
dienkripsi dengan melihat paket ”ESP (SPI=0xca931f42)” outbound (keluar) dari GW1
dan paket ”ESP (SPI=0x c702a69e)” inbound (masuk) ke GW1.
b) Pengujian AES-GCM-256
Hasil Output Konsol pada Host GW1
Baris pada security association (SA) ”...ESTABLISHED 8 seconds ago...”
menunjukkan bahwa SA IKE antara peer IKE GW1 dan GW2 berhasil dibangun. Baris
”...IKE proposal : AES_CBC_256/ HMAC_SHA2_384_192/ PRF_HMAC_SHA2_384/
ECP_384...” menunjukkan bahwa untuk SA IKE, algoritma yang digunakan adalah
enkripsi AES-CBC-256, algoritma HMAC-SHA-384-192, dan elliptic curve 384 bit.
Baris ”...INSTALLED, TUNNEL, ESP...” menunjukkan bahwa SA untuk tunnel ESP
berhasil dibuat dengan ”ESP SPI=ca09414a” untuk inbound dan”ESP SPI=c407a17b”
untuk outbound. Baris ”AES_GCM_16_256” menunjukkan bahwa enkripsi ESP
menggunakan AES-GCM-256.
Hasil Capture Wireshark Pada Jaringan 192.168.0.0/24Hasil capture pada Wireshark menunjukkan komunikasi data berhasil dienkripsi
dengan melihat paket ”ESP (SPI=0xc407a17b)” outbound (keluar) dari GW1 dan paket
”ESP (SPI=0xca09414a)” inbound (masuk) ke GW1.
2. Pengujian Repeated Authentication
Hasil Capture Wireshark pada jaringan 192.168.0.0/24 sebelum autentikasi ulangHasil capture Wireshark menunjukkan bahwa suatu tunnel IPsec berhasil
dibangun dengan adanya pertukaran paket ”IKE_SA_INIT dan IKE_AUTH”. Baris pada
security association (SA) ”ESTABLISHED 10 seconds ago” menunjukkan bahwa SA
IKE antara peer IKE berhasil dibangun 10 detik lalu. Baris ”IKE SPIs:
d1e0a17c1071a9a5_i* aca702d5d7bbf0d9_r*, public key reauthentication in 7 seconds”
menunjukkan pengulangan autentikasi akan dilakukan dalam 7 detik.
Hasil Capture Wireshark pada jaringan 192.168.0.0/24 sesudah autentikasi ulangHasil capture menunjukkan bahwa terjadi pertukaran pesan ”ISAKMP
INFORMATIONAL” yang berarti bahwa terjadi pengulangan autentikasi. Pengulangan
autentikasi ditunjukkan dengan adanya pertukaran pesan ”IKE_SA_INIT dan
IKE_AUTH” baru.
3. Pengujian NAT Traversal
Hasil Capture Wireshark pada jaringan 192.168.0.0/24 Hasil capture menunjukkan bahwa terjadi pertukaran pesan”IKE_SA_INIT dan
IKE_AUTH” yang berarti terjadi pembangunan tunnel IPsec. Paket ”UDPENCAP”
menunjukkan paket NAT-keepalive yang menunjukkan bahwa tunnel IPsec dibuat dalam
mode NAT Traversal dimana host IPsec berada dibelakang NAT.
Hasil Output Konsol pada Host A
Baris pada security association (SA) ”...ESTABLISHED 71 seconds ago...”
menunjukkan bahwa SA IKE antara peer IKE A dan B berhasil dibangun. Baris
”...INSTALLED, TUNNEL, ESP in UDP...” menunjukkan bahwa SA untuk tunnel ESP
berhasil dibuat dalam mode NAT Traversal (yaitu dengan mekanisme enkapsulasi UDP)
yang berarti bahwa host IPsec berada dibelakang NAT dengan ”ESP SPI=cf03cf23”
untuk inbound dan”ESP SPI=c7f05510” untuk outbound. Hasil capture pada Wireshark
menunjukkan komunikasi data berhasil dienkripsi dengan melihat paket ”ESP
(SPI=0xc7f05510)” outbound (keluar) dari A dan paket ”ESP (SPI=0xcf03cf23)”
inbound (masuk) ke A.
4. Pengujian Virtual IP
Hasil Output Konsol pada GW2Baris”... virtual-ip(4): ESTABLISHED 86 seconds ago...” menunjukkan bahwa
SA IKE antara GW2 dan A berhasil dibangun. Baris ”...virtual-ip(4) : 10.2.0.0/24 ==
10.10.0.1/32...” menunjukkan bahwa Host A mendapatkan virtual IP 10.10.0.1. Baris”...
virtual-ip(5): ESTABLISHED 46 seconds ago...” menunjukkan bahwa SA IKE antara
peer IKE GW2 dan Z berhasil dibangun. Baris ”...virtual-ip(5) : 10.2.0.0/24 ==
10.10.0.2/32...” menunjukkan bahwa Host Z mendapatkan virtual IP 10.10.0.2.
5. Pengujian Dua Roadwarrior Tunnel Mode
Hasil Capture Wireshark pada jaringan 192.168.0.0/24 Hasil capture pada Wireshark menunjukkan komunikasi data berhasil dienkripsi
dengan melihat paket ”ESP (SPI=0xcdc95cc2)” outbound (keluar) dari A dan paket ”ESP
(SPI=0xc313c374)” inbound (masuk) ke A. Komunikasi data juga berhasil dienkripsi
pada Host B dengan melihat paket ”ESP (SPI=0xca01271f)” outbound (keluar) dari B
dan paket ”ESP (SPI=0x c1931ce5)” inbound (masuk) ke B.
6. Pengujian MOBIKE
Hasil capture Wireshark sebelum interface 192.169.0.100 down.Hasil capture pada Wireshark menunjukkan tunnel IPsec yang berhasil dibangun
dengan SA IKE ”initiator cookie: 4DE8345848BD7C37 dan responder cookie:
3ADBF9DF3DFEC8A3”.
Hasil output konsol pada A sesudah interface 192.169.0.100 down.Paket ”ISAKMP INFORMATIONAL” menunjukkan terjadi pertukaran pesan
yang melakukan update SA sehingga SA IKE antara peer IKE A dan GW2 masih tetap
ada. SA IKE masih tetap sama yaitu ”initiator cookie: 4DE8345848BD7C37 dan
responder cookie: 3ADBF9DF3DFEC8A3”.
Simulasi Sistem Remote Access IPsec Berbasis Perangkat Lunak IKEv2 strongSwan
Giri Patmono (103091039599) Program Studi Teknik Informatika
Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta
1
Abstrak
VPN (Virtual Private Networking) merupakan suatu teknologi untuk membangun jaringan komputer virtual menggunakan media jaringan publik seperti Internet dengan melibatkan teknik tunneling. Salah satu skenario penerapan VPN adalah untuk remote access yang memungkinkan pengguna jarak jauh untuk mengakses sumber daya yang ada di jaringan komputer utama. Saat ini, remote access VPN berbasis protokol IPsec memiliki berbagai masalah dan kebutuhan yang menghambat penerapannya secara luas. Skripsi ini akan mencoba menentukan masalah dan kebutuhan dalam penerapan remote access VPN berbasis protokol IPsec. Kemudian akan dibuat suatu kriteria kebutuhan sistem sebagai solusi masalah tersebut dengan dasar penggunaan perangkat lunak IKEv2 strongSwan. Untuk melaksanakan pengujian, sistem akan dibuat dalam suatu lingkungan simulasi jaringan menggunakan tool virtualisasi VMware. Metode pengembangan sistem yang kami gunakan adalah Network Development Life Cycle (NDLC) sampai pada tahapan ketiga yaitu analysis, design, dan simulation prototyping. Secara garis besar, skripsi ini mengajukan sistem remote access IPsec berbasis perangkat lunak IKEv2 strongSwan sebagai solusi masalah kebutuhan remote access VPN berbasis IPsec. Tujuan skripsi ini adalah untuk mendapatkan verifikasi terhadap kemampuan sistem remote access IPsec berbasis perangkat lunak IKEv2 strongSwan tersebut. Kesimpulan yang kami dapatkan dari hasil penelitian skripsi ini adalah bahwa sistem remote access IPsec berbasis perangkat lunak IKEv2 strongSwan mampu mengatasi
semua masalah dan kebutuhan dalam penerapan remote access VPN berbasis IPsec. Pengembangan selanjutnya yang dapat dilakukan adalah melakukan simulasi penerapan IPsec Extensible Authentication Protocol (EAP) dan simulasi pengujian interoperabilitas antara Linux IKEv2 strongSwan sebagai server dan klien berbasis Windows. 1. Pendahuluan
VPN (Virtual Private Networking) merupakan suatu teknologi untuk membangun jaringan virtual antara komputer melalui media jaringan publik seperti Internet dengan melibatkan teknik tunneling. Penjelasan sederhananya, VPN adalah suatu jaringan komputer private yang dibangun diatas media fisik jaringan publik. Teknik tunneling digunakan untuk melewatkan transmisi data private diatas media jaringan publik sehingga terbentuk suatu jaringan komputer lokal virtual walaupun secara fisik bisa saja terdiri dari komputer dengan lokasi geografis berbeda seperti antar benua. VPN menyediakan solusi dengan biaya lebih murah dibanding pilihan dedicated line ataupun leased-line bagi pihak yang ingin memperluas jaringan infrastruktur komputer.
Terdapat dua skenario umum penggunaan VPN yaitu Site-to-Site dan Remote Access. Site-to-Site menghubungkan antar jaringan komputer LAN sedangkan Remote Access VPN digunakan antara pengguna remote(jarak jauh) seperti telecoworker (bekerja dari rumah) atau mobile worker (pekerja mobile) dengan suatu jaringan komputer LAN utama dari suatu organisasi.
Salah satu standar teknologi yang dapat digunakan untuk membuat
2
VPN adalah Internet Protocol Security (IPsec) yang bekerja pada level lapisan network. IPsec terdiri dari beberapa protokol yaitu Authentication header (AH), Encapsulating Security Payload (ESP), dan Internet Key Exchange (IKE). AH dan ESP berfungsi untuk memberikan layanan kriptografi, sedangkan IKE bertugas menangani urusan manajemen parameter Security Association (SA).
Penerapan VPN berbasis IPsec dalam skenario Remote Access (disebut pula Remote Access IPsec) memiliki masalah dan kebutuhan yang menghambat penerapannya secara luas. Dari hasil studi literatur, kami berhasil menemukan masalah dan kebutuhan yang bersifat mendasar dan opsional yang berperan penting dalam penerapan remote access VPN berbasis IPsec.
Secara garis besar, skripsi ini akan mencoba menentukan masalah dan kebutuhan yang bersifat mendasar dan opsional dalam penerapan remote access VPN berbasis protokol IPsec. Kemudian akan dibuat suatu kriteria kebutuhan sistem sebagai solusi. Berdasarkan kriteria itu, skripsi ini akan membuat suatu sistem remote access IPsec berbasis perangkat lunak IKEv2 strongSwan yang memberikan solusi atas setiap masalah dan kebutuhan. Untuk memudahkan pengujian, sistem akan dibuat dalam suatu lingkungan simulasi jaringan menggunakan tool virtualisasi VMware. Suatu desain skenario jaringan akan dibuat untuk mengakomodasi kebutuhan pengujian terhadap sistem Remote Access IPsec berbasis perangkat lunak IKEv2 strongSwan itu. Hasil dari penelitian ini adalah berupa verifikasi terhadap kemampuan sistem Remote Access IPsec berbasis perangkat lunak IKEv2
strongSwan sebagai solusi atas masalah dan kebutuhan remote access IPsec. 2. Remote Access IPsec
Remote access VPN berbasis protokol IPsec atau disebut pula remote access IPsec merupakan salah satu tipe remote access VPN yang bisa digunakan pada jaringan IP. IPsec menyediakan suatu komunikasi remote access VPN yang aman melalui fungsi-fungsi kriptografi. Dalam beberapa skenario tertentu, remote access IPsec memiliki masalah dan kebutuhan yang menjadi batu sandungan bagi penerapan IPsec sebagai solusi standar kebutuhan remote access VPN. Masalah dan kebutuhan itu menghambat penerapan remote access IPsec secara luas. Bagian ini akan memberikan penjelasan mengenai konsep remote access IPsec dan mengenai masalah dan kebutuhan yang ada saat ini pada penerapan remote access IPsec.
2.1. Tinjauan Remote Access IPsec
Remote access VPN memiliki karakteristik utama yaitu berupa adanya pengguna remote(jarak jauh) yang memiliki alamat IP yang dinamis yang mengakses jaringan target (jaringan LAN utama) melalui jaringan publik Internet. Remote access VPN yang menggunakan protokol IPsec sebagai penyedia mekanisme tunneling dan fungsi keamanan disebut pula remote access IPsec.
VPN menggunakan mekanisme tunneling yang merupakan suatu enkapsulasi paket data dari protokol jaringan yang satu ke protokol jaringan lainnya. Dengan tunneling, data yang berasal dari jaringan LAN lokal dapat dikirimkan melewati jaringan Internet
3
menuju jaringan tujuan. Tunnel remote access IPsec diterminasi pada ujung-ujung tunnel endpoint yaitu klien remote access itu sendiri dan suatu gateway keamanan yang pada hal ini adalah gateway IPsec.
IPsec dibentuk oleh tiga protokol utama yaitu IKE, AH, dan ESP. Fungsi manajemen kunci kriptografi dan parameter SA lainnya disediakan oleh protokol IKE. Protokol AH dan ESP berfungsi sebagai penyedia mekanisme tunneling komunikasi data, layanan confidentiality, data integrity, dan data source authentication.
Ketersediaan akses broadband secara luas, sejalan dengan keinginan untuk mengurangi biaya akses PSTN, telah menjadi pendorong berkembangnya penggunaan remote access berbasis jaringan Internet. Remote access IPsec sebagai salah satu alternatif solusi secure remote access berbasis Internet pun mengalami peningkatan penggunaan secara luas.
Remote access IPsec yang dibangun menggunakan media jaringan publik Internet memiliki kelebihan finansial dibanding remote access mengguakan media leased line. Fitur keamanan yang disediakan oleh IPsec pun menjadi insentif pertumbuhan remote access berbasis IPsec. Akan tetapi, dalam beberapa hal tertentu, terdapat masalah dan kebutuhan yang memberikan tantangan bagi suksesnya penerapan remote access IPsec sebagai solusi standar untuk kebutuhan remote access VPN.
2.2. Masalah dan Kebutuhan Remote Access IPsec
Dari hasil studi literatur, kami berhasil menemukan masalah-masalah dan kebutuhan yang bersifat mendasar
dan opsional pada penerapan remote access IPsec. Kami kemudian menetapkan masalah dan kebutuhan remote access IPsec sebagai berikut:
1. Kebutuhan algoritma kriptografi yang kuat.
2. Kebutuhan pengulangan autentikasi.
3. Masalah ketidakcocokan NAT dan IPsec.
4. Masalah alamat IP klien-klien IPsec yang overlapping.
5. Masalah NAT Traversal mode transport.
6. Kebutuhan peer IPsec yang mobile dan multihoming.
2.2.1. Kebutuhan algoritma kriptografi yang kuat
Kebutuhan algoritma kriptografi dalam remote access IPsec dapat dibagi menjadi kedalam beberapa bagian yaitu algoritma endpoint authentication, algoritma pembuatan kunci shared secret, algoritma message integrity, algoritma enkripsi. Saat ini berbagai vendor penyedia solusi sistem remote access IPsec memiliki suatu set algoritma kriptografi atau algorithm suite sendiri. Pilihan–pilihan algoritma yang bervariasi itu belum tentu menyediakan tingkat keamanan yang baik. Contoh dari pemilihan algoritma kriptografi itu adalah seperti pilihan algoritma signature RSA sebagai algoritma autentikasi endpoint, pilihan grup MODP Diffie-Hellman 768bit dan 1024bit sebagai input dalam algoritma pembuatan shared secret, pilihan HMAC-MD5-96 sebagai algoritma message integrity, dan pilihan algoritma 3DES atau CAST128 sebagai algoritma enkripsi.
Masalahnya adalah bahwa pihak-pihak yang ingin menerapkan sistem remote access IPsec dihadapkan pada banyak pilihan algoritma
4
kriptografi dimana pilihan-pilihan tersebut belum tentu menyediakan tingkat keamanan yang baik. Oleh karena itu, dibutuhkan suatu referensi ilmiah yang menyediakan rujukan set pilihan algoritma kriptografi atau algorithm suite yang memberikan tingkat keamanan yang kuat.
2.2.2. Kebutuhan pengulangan autentikasi
Dalam skenario remote access, terkadang masing-masing peer IPsec ingin melakukan autentikasi mutual diulangi secara periodik. Proses ini disebut sebagai pengulangan autentikasi. Tujuan pengulangan autentikasi adalah untuk membatasi waktu bahwa suatu SA (Security Association) dapat digunakan oleh pihak ketiga yang telah mengambil alih kendali peer IPsec.
Pengulangan autentikasi dilakukan dalam suatu rentang waktu tertentu secara periodik seperti misalnya tiap 10 menit. Proses pengulangan autentikasi bisa saja dilakukan dengan secara sederhana mengulang proses initial exchange, akan tetapi pada skenario remote access IPsec, dibutuhkan interaksi user pada klien remote access untuk membuat ulang proses initial exchange. Oleh karena itu, dibutuhkan suatu prosedur otomatis yang bisa menjalankan skema pengulangan autentikasi secara periodik tanpa interaksi user.
2.2.3. Masalah ketidakcocokan NAT dan IPsec
Remote Access VPN terutama digunakan untuk menyediakan akses bagi pengguna remote access seperti teleworker(bekerja dari rumah) atau mobile user. Pengguna tersebut umumnya berada dalam suatu lingkungan yang menjalankan fungsi NAT. Berdasarkan RFC3715(IPsec-
NAT Compatibility Requirements), diketahui bahwa penerapan IPsec dalam suatu lingkungan NAT tidak dapat berjalan lancar atau dengan kata lain terdapat ketidakcocokan antara IPsec dengan NAT. Luasnya penggunaan NAT membuat penerapan IPsec sebagai solusi standar VPN khususnya remote access VPN (teleworker dan mobile user) mengalami hambatan.
Salah satu penyebab masalah ketidakcocokan antara NAT dan IPsec adalah mekanisme kerja kedua teknik tersebut yang saling bertolak belakang. Di satu sisi, NAT memodifikasi data alamat dan nomor port pada header IP. Di sisi lain, IPsec mencoba memberikan suatu tingkat pengamanan komunikasi data dengan mengantisipasi adanya modifikasi itu. Jadi pada dasarnya IPsec berfungsi untuk mencegah apa yang NAT lakukan dan secara fundamental saling berlawanan.
2.2.4. Masalah alamat IP klien-klien IPsec yang overlapping
Berdasarkan RFC3715(IPsec-NAT Compatibility Requirements) pada bagian 2.1 poin e, terdapat sebuah kemungkinan kasus yang dapat menimbulkan konflik pada penerapan IPsec mode operasi tunnel dalam situasi NAT Traversal. Yaitu ketika terdapat IPsec Remote Access Client (IRAC) yang memiliki alamat IP yang saling overlapping (tumpang tindih). IPsec Remote Access Server (IRAS atau gateway IPsec akan melihat klien-klien tersebut adalah sama karena memiliki alamat IP yang sama sehingga akan memiliki SA IPsec yang akan overlapping. Server bisa saja menggunakan SA yang salah ketika akan mengirimkan paket dari jaringan LAN ke klien IPsec. Masalah ini
5
membutuhkan solusi lain yang tidak dapat diselesaikan hanya dengan menggunakan mekanisme NAT Traversal saja.
2.2.5. Masalah NAT Traversal mode transport
Berdasarkan RFC3938(UDP Encapsulation of IPsec ESP Packets) pada bagian 5.2, terdapat situasi yang berpotensi menimbulkan masalah IPsec pada mode operasi transport dalam situasi NAT Traversal. Misalnya terdapat beberapa klien dibelakang NAT yang sama membangun suatu VPN IPsec mode transport. Bagi server IPsec, dalam mode transport, klien-klien dibelakang NAT adalah klien yang sama baginya, yaitu alamat IP NAT eksternal. SA yang dibangun antara server IPsec dan NAT memuat traffic description yang berisi keterangan protokol dan informasi port. Jika traffic description tersebut saling overlapping (tumpang tindih), maka server bisa mengirimkan paket IPsec ke klien dengan SA yang salah.
2.2.6. Kebutuhan peer IPsec yang mobile dan multihoming
IKEv2 digunakan untuk melakukan autentikasi mutual dan juga untuk membangun dan mengelola SA (Security Association). SA IKE dan SA IPsec mode tunnel dibuat secara implisit antara alamat IP yang digunakan ketika SA IKE dibangun. Alamat IP ini kemudian digunakan sebagai outer IP header (header IP terluar) pada paket IPsec mode tunnel. Jika SA IKE telah dibuat, maka menjadi tidak mungkin untuk mengubah alamat IP tersebut. Terdapat skenario dimana alamat IP tersebut bisa berubah. Misalnya terdapat suatu klien IPsec yang mobile dan sering
berpindah jaringan sehingga memiliki alamat IP yang sering berubah. Selain itu terdapat juga klien yang bersifat multihoming yang terhubung ke lebih dari satu jaringan dengan interfacenya masing-masing. Jika interface yang digunakan untuk membangun tunnel IPsec tiba-tiba down, maka peer IPsec itu harus membangun dari ulang kembali SA IKE dan SA IPsec. Pembangunan ulang tunnel bukan merupakan pilihan yang ideal bagi user remote access dikarenakan dibutuhkan adanya interaksi user. Untuk alasan tersebut, dibutuhkan suatu mekanisme yang mampu melakukan update alamat IP untuk SA IKE dan IPsec tanpa membuat ulang tunnel baru.
3. IKEv2
Internet Key Exchange (IKE) adalah protokol yang digunakan untuk membuat suatu security association (SA) dalam suatu suite protokol IPsec. IKE menggunakan mekanisme pertukaran kunci Diffie-Hellman untuk membuat suatu kunci shared session secret, yang nantinya digunakan dalam proses pembuatan kunci kriptografi lebih lanjut. Autentikasi antara pihak-pihak yang membangun komunikasi dilakukan dengan menggunakan teknik berbasis public key atau berbasis pre-shared key. IKE yang pertama (IKEv1) didefinisikan pada November 1998 oleh Internet Engineering Task Force (IETF) dalam suatu rangkaian publikasi Request for Comments (RFC) yaitu RFC 2407, RFC 2408, and RFC 2409.
IKE kemudian diperbaharui menjadi versi dua (IKEv2) pada Desember 2005 dalam RFC 4306. IKEv2 telah diperluas oleh RFC 4301 (Security Architecture for the Internet Protocol) sampai RFC 4309 (Using AES CCM Mode with IPsec ESP).
6
Lebih banyak RFC lain terus ditambahkan untuk lebih meningkatkan fitur IKEv2.Organisasi induk dari IETF, Internet Society (ISOC) adalah pihak yang memelihara hak cipta dari standar RFC dan membuat standar tersebut bebas tersedia secara gratis.
3.1. Tinjauan IKEv2 IKEv2(Internet Key Exchange
version 2) merupakan pembaharuan dari protokol IKE lama(IKEv1) dan menjadi standar yang ditetapkan dalam RFC 4306. IKEv2 adalah protokol yang digunakan untuk melakukan tugas manajemen seperti pembuatan, pembaharuan, dan penghapusan security association (SA). IKEv2 menggunakan teknik pertukaran Diffie-Hellman untuk membuat suatu shared secret, dimana nantinya akan digunakan untuk membuat kunci kriptografi lebih lanjut. Selain itu, IKEv2 bertugas untuk melakukan fungsi autentikasi dari masing-masing pihak yang berkomunikasi.
Protokol IKEv2 menggunakan paket UDP pada port 500 dan port 4500, dan biasanya membutuhkan 4 paket dalam 2 kali pertukaran pesan (pesan IKE_SA_INIT dan pesan IKE_AUTH) untuk membuat SA IKE dan SA IPsec bagi kedua peer. Material kunci yang dinegosiasikan kemudian diberikan pada IPsec stack di kernel. Sebagai contoh, material tersebut bisa berupa kunci AES, informasi identifikasi endpoint IPsec dan port yang mesti dilindungi, dan juga tipe tunnel IPsec yang telah dibangun. IPsec stack, di lain pihak, melakukan intersepsi terhadap paket IP dimana proses enkripsi/dekripsi yang sesuai akan diterapkan.
Komunikasi IKEv2 selalu dimulai dengan proses pertukaran initial exchange. Initial exchange ini
terdiri dari pesan IKE_SA_INIT dan IKE_AUTH yang biasanya terdiri dari empat pesan. Semua komunikasi pada IKE selalu terdiri dari sepasang request-response. Sepasang pesan pertama (IKE_SA_INIT) menegosiasikan algoritma kriptografi, mempertukarkan nonce, dan melakukan pertukaran Diffie-Hellman (DH). Sepasang pesan kedua (IKE_AUTH) melakukan autentikasi terhadap pesan sebelumnya, mempertukarkan identitas dan sertifikat, dan membangun CHILD_SA pertama. Sebagian pesan pada fase ini terenkripsi dan integrity protected dengan kunci yang telah dibuat pada proses pertukaran IKE_SA_INIT, sehingga identitasnya terlindungi dan pesannya terautentikasi.
3.2. Perangkat Lunak IKEv2 strongSwan
Kebanyakan implementasi perangkat lunak IPsec terdiri dari suatu daemon service IKE yang berjalan pada level user space dan suatu IPsec stack pada level kernel yang memproses paket IP. Daemon pada user space memiliki akses yang mudah terhadap penyimpanan data yang mengandung konfigurasi informasi. Informasi tersebut adalah seperti alamat endpoint IPsec, kunci dan sertifikat. Modul IPsec pada kernel di lain pihak, bisa memproses paket secara efisien dan dengan overhead minimum yang penting terhadap performa. Terdapat beberapa implementasi IPsec dan layanan daemon IKEv2 yang bersifat open source pada lingkungan sistem operasi Linux seperti Openswan, strongSwan, OpenIKEv2, dan racoon2.
StrongSwan adalah merupakan suatu perangkat lunak aplikasi yang menerapkan protokol IPsec dan IKEv2
7
yang bersifat open source dan free untuk lingkungan sistem operasi Linux berbasis kernel 2.4 dan 2.6. Ia merupakan turunan dari proyek FreeS/WAN. strongSwan menerapkan IPsec melalui daemon IKEv2 bernama charon dan layanan IPsec stack berbasis kernel linux NETKEY. NETKEY merupakan implementasi IPsec native pada kernel Linux 2.6.
Proyek strongSwan memiliki fokus terhadap mekanisme autentikasi yang kuat dengan menggunakan sertifikat kunci publik X.509 dan penyimpanan private key dalam suatu smartcard melalui antarmuka standar PKCS#11. Salah satu fitur unggulan yang dimiliki strongSwan adalah penggunaan atribut sertifikat X.509 untuk menerapkan skema advanced access control berbasis pada keanggotaan grup. Proyek pengembangan strongSwan disponsori oleh University of Applied Sciences Rapperswil, Astaro (sebuah perusahaan yang menawarkan solusi keamanan TI), dan StrongSec GmbH.
StrongSwan yang digunakan dalam skripsi ini merupakan versi 4.4.0 yang secara penuh telah mengimplementasikan standar protokol IKEv2 dalam RFC4306.
4. Simulasi Sistem dan Pengujian
Untuk melaksanakan simulasi dan pengujian sistem kami menerapkan langkah-langkah sebagai berikut.
1. Pembuatan Simulasi Jaringan Internet.
2. Penerapan Perangkat Lunak. 3. Pengujian Sistem. 4. Evaluasi.
4.1. Pembuatan Simulasi Jaringan Internet
Pada tahapan untuk membuat simulasi jaringan Internet, pertama kami melakukan instalasi VMware Workstation sebagai tool virtualisasi sistem operasi dan jaringan komputer.
Gambar 1: Tampilan VMware
Workstation
Selanjutnya kami membuat virtual machine yang berperan sebagai sistem IPsec dengan sistem operasi Fedora 9 dan melakukan konfigurasi jaringan virtual menggunakan VMware VMnet.
Gambar 2: Rancangan Virtual
Machine dengan VMware Workstation
4.2. Penerapan Perangkat Lunak
Perangkat lunak yang digunakan dalam sistem remote access IPsec ini adalah openSSL dan strongSwan. openSSL digunakan sebagai tool untuk membuat sertifikat X.509 berbasis signature ECDSA. strongSwan digunakan sebagai perangkat lunak yang menyediakan layanan IKEv2 untuk pembangunan sistem VPN IPsec.
4.3. Pengujian Sistem Sistem remote access IPsec
berbasis perangkat lunak IKEv2 strongSwan dibuat sebagai solusi atas
HOST OS
GUEST OS GUEST OS GUEST OS
GUEST OS
A GW1 GW2
B
VMNET1 VMNET3 VMNET2
= Host ethernet adapter
= Guest ethernet adapter
8
masalah dan kebutuhan remote acces VPN berbasis IPsec sesuai dengan uraian masalah pada bagian sebelumnya. Untuk setiap masalah dan kebutuhan remote access IPsec, diberikan suatu solusi baik berupa standar protokol maupun konfigurasi yang semuanya berlandaskan perangkat lunak IKEv2 strongSwan. Simulasi sistem yang telah dibuat kemudian diuji pada suatu desain skenario jaringan yang dirancang khusus untuk setiap masalah.
Tabel 1: Masalah, solusi, dan skenario pengujian untuk masalah remote
access IPsec No
Masalah yang
dihadapi
Solusi yang
diberikan
Skenario Pengujian
1 Kebutuhan algoritma kriptografi yang kuat
Algoritma kriptografi suite B
Skenario Algoritma Suite B
2 Pengulangan autentikasi
repeated authentication
Skenario Repeated Authentication
3 Ketidakcocokan NAT-IPsec
NAT Traversal
Skenario NAT Traversal
4 Alamat Klien IPsec yang overlapping
Virtual IP Skenario Virtual IP
5 NAT Traversal Mode Transport
Tunnel Mode policy
Skenario Dua Roadwarrior Tunnel Mode
6 Peer IPsec yang mobile dan multihoming
MOBIKE Skenario MOBIKE
Perangkat lunak IKEv2 strongSwan mendukung fitur dan standar protokol sesuai solusi yang diberikan. Berikut adalah tabel perbandingan beberapa implementasi perangkat lunak IKEv2 sesuai kriteria solusi. Tabel 2: Perbandingan perangkat lunak
IKEv2 sesuai kriteria solusi
4.3.1. Skenario Algoritma Suite B
Pengujian Algoritma Kriptografi bertujuan untuk menguji kemampuan dukungan terhadap algoritma kripografi Suite B sesuai RFC 4869. GW1 bertindak sebagai initiator dan GW2 sebagai responder.
Gambar 3: Skema Pengujian Algoritma
Suite B
Pada skenario ini, empat macam cryptographic user interface suites (UI Suites) akan diuji yaitu Suite-B-GCM-128, Suite-B-GCM-256, Suite-B-GMAC-128, dan Suite-B-GMAC-256.
4.3.2. Skenario Repeated Authentication
Pengujian Repeated Authentication bertujuan untuk menguji kemampuan autentikasi ulang dalam satu kurun waktu yang telah ditentukan sesuai dengan RFC 4478. GW1 bertindak sebagai initiator dan GW2 sebagai responder.
.1
GW1 GW2 .2 192.168.0.0/24
Tunnel VPN
9
Gambar 4: Skema Pengujian Repeated
Authentication Pada skenario ini, initiator
GW2 menetapkan lifetime IKE sebesar 60 menit dan responder GW1 menetapkan lifetime IKE sebesar 30 detik. Proses re-autentikasi akan dilakukan sesuai dengan ketetapan waktu yang lebih kecil.
4.3.3. Skenario NAT Traversal Pengujian NAT Traversal
bertujuan untuk menguji kemampuan NAT Traversal antara suatu host remote dibelakang NAT dengan suatu gateway/server IPsec dibelakang NAT pula.
Gambar 5: Skema Pengujian NAT
Traversal Ini merupakan skenario kasus
yang umum dimana host remote dibelakang NAT ingin berkomunikasi secara aman dengan satu gateway IPsec. Karena alasan tertentu, kebijakan sistem adalah untuk menerapkan fungsi NAT terhadap gateway/server IPsec. Mekanisme source NAT diterapkan pada host IPsec A sedangkan mekanisme destination NAT diterapkan pada Server IPsec B.
4.3.4. Skenario Virtual IP
Pengujian Virtual IP bertujuan untuk menguji kemampuan membangun suatu komunikasi VPN berbasis IPsec antara pengguna yang bersifat remote atau roadwarrior yang berada dibelakang subnet yang berbeda tetapi beralamat IP yang sama, dengan sebuah gateway/server IPsec.
Gambar 6: Skema Pengujian Virtual IP
Skenario jaringan ini akan digunakan untuk menguji masalah konflik overlapping private IP Address pada NAT Traversal mode operasi tunnel. Host IPsec A dan Z akan membangun tunnel IPsec kepada Server IPsec GW2. NAT-Traversal (enkapsulasi UDP) akan digunakan dalam proses pembangunan tunnel IPsec. Virtual IP melalui configuration payload akan digunakan untuk mengatasi masalah overlapping private IP Address. Mekanisme source NAT diterapkan pada host IPsec A dan Z.
4.3.5. Skenario Dua Roadwarrior Tunnel Mode
Pengujian Dua Roadwarrior Same NAT Tunnel Mode bertujuan untuk menguji kemampuan membangun suatu komunikasi VPN berbasis IPsec antara dua pengguna yang bersifat remote atau roadwarrior yang berada dibelakang sebuah NAT dengan sebuah gateway/server IPsec. Tunnel IPsec yang akan dibangun disetting untuk berjalan pada mode operasi tunnel.
10.1.0.0/24
.1
10.2.0.0/24
.10 .1
GW1 GW2 .2 .1 192.168.0.0/2
4
A B
NAT VPN server
LAN 1 LAN 2
Tunnel VPN
Z
.10
Tunnel VPN
LAN 3 GW3
NAT .1 .3
.10
10.1.0.0/24
10.1.0.0/24
.1
10.2.0.0/24
.10 .1
GW1 GW2 .2 .1 192.168.0.0/2
4
A B
NAT VPN
LAN 1 LAN 2
Tunnel VPN
NAT .10
.1
GW1 GW2 .2 192.168.0.0/24
Tunnel VPN
10
Gambar 7: Skema Pengujian Dua
Roadwarrior Tunnel Mode Skenario jaringan ini akan
digunakan untuk menguji masalah konflik pada NAT Traversal mode operasi transport. Host IPsec A dan Z akan membangun tunnel IPsec kepada Server IPsec GW2. NAT-Traversal (enkapsulasi UDP) akan digunakan dalam proses pembangunan tunnel IPsec. Mode operasi tunnel akan meng-override setting konfigurasi mode transport. Mekanisme source NAT diterapkan pada host IPsec A dan Z.
4.3.6. Kebutuhan peer IPsec yang mobile dan multihoming
Pengujian MOBIKE bertujuan untuk menguji kemampuan MOBIKE antara satu pengguna yang bersifat remote atau disebut juga roadwarrior yang bersifat multihomed (terhubung ke beberapa jaringan).
Gambar 8: Skema Pengujian MOBIKE
Dalam skenario ini, pertama-tama, Host A akan membangun tunnel IPsec dengan GW2 dengan interface IP 192.168.0.100. Kemudian, beberapa saat kemudian interface IP tersebut down sehingga klien A hanya terhubung ke jaringan ke LAN1 dengan interface IP 10.1.0.10. Sesuai dengan protokol MOBIKE, suatu pesan notifikasi UPDATE_SA_ADDRESSES akan dikirimkan ke Server GW2 melalui route path yang ada untuk memperbaharui alamat IP Security Association. Koneksi IPsec yang telah dibangun dapat tetap dipertahankan dan tak perlu membuat ulang tunnel IPsec(IKE SA) baru.
4.4. Evaluasi Hasil dari pengujian simulasi
sistem Remote Access IPsec berbasis perangkat lunak IKEv2 strongSwan dapat dilihat melalui tabel berikut.
Tabel 3: Hasil Pengujian Sistem No PengujianHasil
Suite-B-gcm-128
Berhasil
Suite-B-gcm-256
Berhasil
Suite-B-gmac-128
Tidak Berhasil
1
Algoritma Suite B
Suite-B-gmac-256
Tidak Berhasil
2 Repeated Authentication Berhasil 3 NAT Traversal Berhasil 4 Virtual IP Berhasil 5 Dua Roadwarrior Tunnel
Mode Berhasil
6 MOBIKE Berhasil
5. Kesimpulan
Berikut adalah hasil kesimpulan yang penulis dapatkan dalam proses penelitian skripsi ini : 1. Terdapat masalah-masalah yang berhasil ditemukan untuk penerapan Remote Access VPN berbasis IPsec seperti masalah kebutuhan algoritma
A
10.1.0.0/24
10.2.0.0/24
.1
GW1 GW2 .2 .1 192.168.0.0/2
4
B
NAT VPN server
LAN 1 LAN 2
Tunnel VPN
.10 .1
.100 .1
10.1.0.0/24
.1 .10
GW1 GW2 .2 .1 192.168.0.0/24
A
NAT VPN server
LAN 1
Tunnel VPN
B
.20
Tunnel VPN
11
kriptografi yang kuat, kebutuhan pengulangan autentikasi, masalah ketidakcocokan Network Address Translator (NAT) dan IPsec, masalah konflik alamat klien IPsec yang overlapping, masalah NAT Traversal mode transport, masalah kebutuhan peer IPsec yang mobile dan multihoming. 2. Sistem Remote Access IPsec berbasis perangkat lunak IKEv2 strongSwan dapat digunakan sebagai alternatif sistem yang open source, berbiaya murah, dan mampu memberikan solusi terhadap permasalahan Remote Access VPN berbasis IPsec. 3. Tool virtualisasi VMware dapat digunakan untuk membuat simulasi jaringan komputer sesuai dengan desain skenario jaringan pengujian. 4. Hasil pengujian sistem menunjukkan bahwa sistem Remote Access IPsec berbasis perangkat lunak IKEv2 strongSwan secara umum mampu berjalan pada setiap skenario jaringan pengujian.
Berikut adalah saran-saran untuk proses penelitian lebih lanjut mengenai sistem Remote Access IPsec berbasis protokol IKEv2 dengan perangkat lunak strongSwan : 1. Melakukan simulasi penerapan sistem autentikasi IPsec Extensible Authentication Protocol (EAP) dalam IKEv2. 2. Melakukan simulasi pengujian interoperabilitas antara Sistem Linux sebagai IPsec server dan klien berbasis sistem operasi Windows dalam kerangka protokol IKEv2. Mengingat bahwa implementasi perangkat lunak IKEv2 pada lingkungan Windows masih terbilang baru, maka topik ini akan sangat menantang.
3. Mengimplementasikan perangkat lunak IKEv2 Strongswan dalam suatu lingkungan sistem jaringan yang menawarkan redundancy seperti misalnya konsep IPsec failover and redundancy atau high cluster IPsec server. 4. Melakukan manajemen terhadap Remote Addres Virtual IP menggunakan suatu database berbasis SQL. Referensi
� Burnett, Steve, Stephen Paine, RSA Security's Official Guide to Cryptography, California: McGraw-Hill/Osborne, 2004
� Forouzan, Behrouz A., Data Communications and Networking Third Edition, NY: McGraw-Hill, 2003
� Harrell, Charles, Biman K Ghosh, Royce O. Bowden Jr., Simulation Using Promodel Second Edition, NY:McGraw-Hill, 2004
� Nasuhi, Hamid, Ropi Ismatu, dkk. Pedoman Penulisan Karya Ilmiah Skripsi, Tesis dan Disertasi. Jakarta: CeQDA, 2007.
� Pandia, Henry. Teknologi Informasi dan Komunikasi. Jilid I, II dan III. Jakarta: Erlangga, 2007.
� Rawles, Philip T., James E. Goldman, Applied Data Communications: A Business-Oriented Approach, 2001 ISBN 0-471-37161-0
� Sunyoto, Aris Wendy, VPN Sebuah Konsep, Teori dan Implementasi, BukuWeb Networking, 2008
� Tanenbaum, Andrew S., Modern Operating Systems Second Edition, NJ: Prentice-Hall, 2001
� Tulloch, Mitch, Microsoft Encyclopedia of Networking eBook, Microsoft Press, 2000
� Wijaya, Ir. Hendra, Cisco ADSL Router, PIX Firewall, dan VPN, Jakarta:PT Elex Media Komputindo, 2006
� Joel M Snyder, IPsec and SSL VPNs: Solving remote access problems, http://searchsecurity.techtarget.com/searchSecurity/downloads/Snyder.VP
12
N.ORIGINAL.ppt, diakses 30 Juli 2010 15:24WIB
� Scott Kelly, IPsec Remote Access Requirements, IPsec Remote Access Working Group 49th IETF, http://www.vpnc.org/ietf-ipsra/ietf49-requirements.ppt, diakses 30 Juli 2010 15:24WIB
� White Paper: Remote Access VPN and IPSec , NCP Secure Communication, April 2001, http://www.symtrex.com/pdfdocs/wp_ipsec.pdf, diakses 30 Juli 2010 15:24WIB
� White Paper: Virtual Private Networks Solutions for Remote Access, Comparison of IPSEC and SSL, 2004 Schlumberger Information Solutions, Houston, Texas.http://www.slb.com/media/services/consulting/infrastructure/whitepaper_vpnsra.pdf, diakses 30 Juli 2010 15:24WIB
� Special Publication 800-57, Recommendation for Key Management , National Institute of Standards and Technology, 2007
� Internet Key Exchange (IKE) protocol vulnerability risks, Ari Muittari, Master's thesis seminar 18.5.2004, HUT, Networking Laboratory
� IPSec/IKE Protocol Hacking ToorCon 2K2 – San Diego CA, Anton Rager Sr. Avaya Security Consulting
� “IPsec and NAT-T: Finally in harmony?”, Steve Riley, Microsoft Tech Ed. 03 10th anniversary
� NAT Traversal for IPsec, Research Seminar on Data communications Software HIIT, 09.11.2005
� Comparison and Analysis of IP and IKEv2 Mobility Extensions, Chandani Haresh, HelsinkiUniversityof Technology
� C. Kaufman, “Internet Key Exchange (IKEv2) Protocol”, RFC 4306, December 2005
� L. Law and J. Solinas, “Suite B Cryptographic Suites for IPsec”, RFC 4869, May 2007.
� Y. Nir, “Repeated Authentication in Internet Key Exchange (IKEv2) Protocol”, RFC 4478, April 2006
� B. Aboba, W. Dixon , “IPsec-Network Address Translation (NAT) Compatibility Requirements”, RFC 3715, March 2004
� T. Kivinen , B. Swander , A. Huttunen, V. Volpe , “Negotiation of NAT-Traversal in the IKE” , RFC 3947, January 2005
� A. Huttunen, B. Swander , V. Volpe , L. DiBurro , M. Stenberg , “UDP Encapsulation of IPsec ESP Packets” , RFC 3948, January 2005
� P. Erone , “IKEv2 Mobility and Multihoming Protocol (MOBIKE)”, RFC 4555, June 2006. .