IPsec: Aplikasi Teknik Kriptografi untuk Keamanan Jaringan Komputer


Abstraksi

Keamanan pada komunikasi melalui jaringan komputer sekarang telah menjadi sebuah persoalan penting. Teknik kriptografi diimplementasikan pada protokol komunikasi IPsec untuk mendapatkan aspek keamanan tersebut. IPsec merupakan serangkaian protokol komunikasi yang menerapkan beberapa teknik kriptografi untuk menjamin keamanan dalam komunikasi melalui jaringan komputer. IPsec merupakan solusi yang transparan terhadap pengguna karena pengguna tidak perlu menyadari keberadaannya karena IPsec membungkus paket-paket IP dengan header yang pada akhirnya ditransmisikan sebagai paket-paket IP biasa. Protokol Authentication Header (AH) menjamin data integrity, sedang protokol Encapsulating Security Payload (ESP) selain menjamin data integrity juga menjamin data confidentiality. IPsec bukanlah protokol komunikasi yang sempurna. Kompleksitasnya yang tinggi, dokumentasinya yang belum sempurna untuk sebuah standar, fitur yang tidak perlu (sehingga menambah kompleksitas) merupakan beberapa kelemahan yang dimilikinya. Tetapi hingga kini, IPsec masih dianggap sebagai protokol keamanan yang paling baik dibanding protokol keamanan IP yang lain.


Pendahuluan

Pada awal perkembangannya, jaringan komputer digunakan hanya untuk pengiriman e- mail antar perguruan tinggi untuk keperluan riset dan untuk berbagi penggunaan printer dalam suatu perusahaan. Untuk memenuhi tujuan tersebut, aspek keamanan jaringan pada saat itu tidak mendapat perhatian penting. Namun kini, saat jaringan komputer juga telah digunakan untuk berbagai aktivitas perbankan dan perdagangan, terutama melalui Internet, aspek keamanan menjadi masalah yang harus mendapat perhatian besar.
Kriptografi merupakan ilmu untuk menyamarkan suatu pesan demi menjaga kerahasiaannya. Suatu pesan (plain text) harus melalui proses enkripsi terlebih dulu menjadi bentuk yang tidak berarti (cipher text) sebelum dikirimkan ke penerima yang berhak. Hanya pihak yang berhak lah yang dapat melakukan proses dekripsi, yaitu mengubah kembali cipher text menjadi plain text memakai suatu kunci yang rahasia. Plain text akan sulit diturunkan dari cipher text-nya oleh orang yang tidak berhak (yang tidak memiliki kunci yang bersesuaian dengan cipher text tersebut). Kriptografi menganut prinsip kerahasiaan melalui ketidakjelasan (secrecy through obscurity).
Dalam makalah ini, IPsec akan dibahas sebagai salah satu aplikasi teknik kriptografi untuk keamanan jaringan komputer. Aspek keamanan yang disediakan merupakan hasil dari teknik kriptografi yang diimplementasikan dalam rangkaian protokol IPsec. Sejak pendefinisiannya dalam beberapa dokumen RFC (Request for Comments), para ahli telah melakukan beberapa analisis untuk mengidentifikasi kelebihan dan kelemahan IPsec, serta memberikan beberapa rekomendasi untuk perbaikan.

Keamanan Jaringan Komputer

Masalah keamanan jaringan komputer secara umum dapat dibagi menjadi empat kategori yang saling berkaitan 17):
1.    Secrecy/Confidentiality
Informasi yang dikirimkan melalui jaringan komputer harus dijaga sedemikian rupa kerahasiaannya sehingga tidak dapat diketahui oleh pihak yang tidak berhak mengetahui informasi tersebut.
2.    Authentication
Identifikasi terhadap pihak-pihak yang sedang melakukan komunikasi melalui jaringan harus dapat dilakukan. Pihak yang berkomunikasi melalui jaringan harus dapat memastikan bahwa pihak lain yang diajak berkomunikasi adalah benar-benar pihak yang dikehendaki.
3.    Nonrepudiation
Pembuktian korespondensi antara pihak yang mengirimkan suatu informasi dengan informasi yang dikirimkan juga perlu dilakukan dalam komunikasi melalui jaringan komputer. Dengan pembuktian tersebut, identitas pengirim suatu informasi dapat dipastikan dan penyangkalan pihak tersebut atas informasi yang telah dikirimnya tidak dapat dilakukan.
4.    Integrity Control
Informasi yang diterima oleh pihak penerima harus sama dengan informasi yang telah dikirim oleh pihak pengirim. Informasi yang telah mengalami perubahan dalam proses pengiriman, misalnya diubah oleh pihak lain, harus dapat diketahui oleh pihak penerima.
Dalam protokol stack OSI (Open Systems Interconnection) Reference Model terdapat beberapa kemungkinan penempatan aspek keamanan jaringan. Terdapat pula kemungkinan bahwa aspek keamanan jaringan tidak hanya ditempatkan pada salah satu layer melainkan dikombinasikan pada beberapa layer sekaligus karena penempatan pada tiap layer memiliki keunggulan masing-masing.
Pada physical layer, kabel transmisi dapat diamankan dengan penggunaan tabung pelapis yang berisi gas bertekanan tinggi. Pada data link layer, paket pada jalur point-to-point dapat dienkripsi ketika meninggalkan sebuah mesin dan didekripsi ketika masuk ke mesin yang lain. Pada network layer, penggunaan firewall dan protokol IPsec digunakan untuk menjamin keamanan. Pada transport layer, koneksi dapat dienkripsi untuk menjamin kemanan antarproses (end-to-end). Terakhir, pada application layer, aspek autentikasi dan nonrepudiation dapat dijamin dengan algoritma pada aplikasi yang digunakan.

IPsec (IP Security)

Sebagaimana telah dijelaskan sebelumnya, masalah utama yang menjadi perhatian dalam mengimplementasikan aspek keamanan dalam jaringan komputer adalah di layer mana aspek keamanan tersebut harus diimplementasikan.
Salah satu solusi yang menjamin tingkat keamanan paling tinggi adalah dengan mengimplementasikan aspek keamanan pada application layer. Dengan implementasi aspek keamanan pada layer ini maka keamanan data dapat dijamin secara end-to-end (proses ke proses) sehingga upaya apa pun untuk mengakses atau mengubah data dalam proses pengiriman data dapat dicegah. Namun, pendekatan ini membawa pengaruh yang besar yaitu bahwa semua aplikasi yang dibangun harus ditambahkan dengan aspek keamanan untuk dapat menjamin keamanan pengiriman data.
Pendekatan lain didasarkan bahwa tidak semua pengguna menyadari pentingnya aspek keamanan sehingga mungkin menyebabkan mereka tidak dapat menggunakan fitur keamanan pada aplikasi dengan benar. Selain itu, tidak semua pengembang aplikasi memiliki kemauan untuk menambahkan aspek keamanan pada aplikasi mereka. Oleh karena itu, aspek keamanan ditambahkan pada network layer sehingga fitur kemanan dapat dipenuhi tanpa campur tangan pengguna atau pengembang aplikasi.
Pada akhirnya pendekatan kedua mendapat dukungan lebih banyak daripada pendekatan pertama sehingga dibuat sebuah standar keamanan network layer yang salah satu desainnya yaitu IPsec. IPsec merupakan kumpulan protokol yang dikembangkan oleh IETF (Internet Engineering Task Force) untuk mendukung pertukaran paket yang aman melalui IP layer.
IPsec didesain untuk menyediakan keamanan berbasis kriptografi yang memiliki karakteristik interoperable dan berkualitas. Layanan keamanan yang disediakan mencakup access control, connectionless integrity, data origin authentication, proteksi dari replay attack (sequence integrity), data confidentiality dan traffic flow confidentiality. Layanan tersebut disediakan pada IP layer sehingga mendukung proteksi untuk IP layer dan layer lain di atasnya 7, 18).
Secara teknis, IPsec terdiri atas dua bagian utama. Bagian pertama mendeskripsikan dua protokol untuk penambahan header pada paket yang membawa security identifier, data mengenai integrity control, dan informasi keamanan lain. Bagian kedua berkaitan dengan protokol pembangkitan dan distribusi kunci.
Bagian pertama IPsec adalah implementasi dua protokol keamanan yaitu:
1.    Authentication Header (AH) 8) menyediakan data integrity, data origin authentication dan proteksi terhadap replay attack.
2.    Encapsulating Security Payload (ESP) 9) menyediakan layanan yang disediakan oleh AH ditambah layanan data confidentiality dan traffic flow confidentiality.
Kedua protokol di atas dapat diaplikasikan masing-masing atau secara bersamaan untuk menyediakan layanan keamanan yang dibutuhkan pada IPv4 dan IPv6. Setiap protokol mendukung dua mode penggunaan: transport mode dan tunnel mode.
Pada transport mode, protokol menyediakan proteksi terhadap layer di atas IP layer. Layanan keamanan pada mode ini dilakukan dengan penambahan sebuah IPsec header antara IP header dengan header protokol layer di atas IP yang diproteksi. Sedangkan pada tunnel mode, protokol diaplikasikan untuk menyediakan proteksi pada paket IP sehingga sekaligus melindungi layer di atas IP layer. Hal ini dilakukan dengan mengenkapsulasi paket IP yang akan diproteksi pada sebuah IP datagram yang lain. Penambahan header pada kedua mode protokol dapat dilihat pada Gambar 1 3)
IPsec: Aplikasi Teknik Kriptografi untuk Keamanan Jaringan Komputer
Sedang bagian kedua IPsec adalah implementasi protokol IKE (Internet Key Exchange) 6) yang berfungsi dalam pembangkitan dan pertukaran criptographic key secara otomatis. Criptographic key digunakan dalam autentikasi node yang berkomunikasi dan proses enkripsi dan dekripsi paket yang dikirimkan. IKE tidak dibahas secara detil pada makalah ini.
Sebuah implementasi IPsec beroperasi pada sebuah host atau security gateway untuk menyediakan proteksi pada traffic IP. Proteksi yang ditawarkan berdasarkan kebutuhan didefinisikan melalui Security Policy Database (SPD) yang ditetapkan dan dipelihara oleh administrator sistem. Berdasarkan SPD tersebut, paket-paket diproses melalui salah satu dari tiga mode pemrosesan berdasarkan informasi pada header paket, yaitu 3):
1.    Paket diberikan layanan keamanan IPsec (apply security).
2.    Paket tidak diberikan layanan IPsec dan dibuang (drop/discard).
3.    Paket diperbolehkan melewati protokol keamanan IPsec tanpa memberikan layanan keamanan IPsec (bypass).

Data Integrity dan Authentication pada IPsec

Integritas data yang dikirimkan melalui jaringan komunikasi dijamin oleh IPsec melalui metode autentikasi digital signature atas informasi yang dikirimkan secara paket-per-paket. Layanan jaminan integritas data ini disediakan dengan menggunakan algoritma HMAC ( Hash Message Authentication Code) baik oleh protokol AH (Authentication Header) maupun oleh protokol ESP (Encapsulating Security Payload).

Hash Message Authentication Code (HMAC)

Untuk menjamin integritas paket, IPsec menggunakan Hash Message Authentication Code (HMAC)10). HMAC adalah algoritma autentikasi menggunakan kunci rahasia. Integritas data dan autentikasi asal data yang disediakan oleh HMAC bergantung pada penyebaran kunci rahasia yang digunakan. Jika hanya sumber (pengirim) dan tujuan (penerima) yang mengetahui kunci HMAC, maka autentikasi asal data dan integritas data untuk paket-paket yang dikirim antara kedua pihak tersebut dijamin.
HMAC menggunakan fungsi hash satu arah, H, dan kunci rahasia K. Beberapa fungsi hash yang digunakan di antaranya adalah: MD5 dan SHA-1. Untuk memperjelas fungsi hash yang digunakan, digunakan notasi HMAC-H. Contohnya, HMAC-MD5 menyatakan HMAC yang menggunakan fungsi hash MD5. H merupakan fungsi hash yang melakukan hashing dengan iterasi suatu fungsi kompresi pada blok-blok data. Panjang blok data dalam byte, B (B=64 untuk MD5 dan SHA-1), dan panjang output hash dalam byte, L (L=16 untuk MD5, L=20 untuk SHA-1), masing-masing menjadi batas atas dan batas bawah panjang kunci K. Bila panjang K melebihi B, maka yang digunakan sebagai kunci adalah H(K).
Menghitung HMAC sebuah data ‘text’ berarti melakukan perhitungan H(K XOR opad, H(K XOR ipad, text)), dengan ipad = byte 0x36 diulangi sebanyak B kali, dan opad = byte 0x5C diulangi sebanyak B kali. Algoritma HMAC adalah sebagai berikut:
1.    Append nol pada akhir K untuk membuat string sepanjang B byte.
2.    Lakukan XOR string sepanjang B byte hasil langkah 1 dengan ipad.
3.    Append data ‘text’ dengan string sepanjang B byte hasil langkah 2.
4.    Terapkan fungsi H pada hasil langkah 3.
5.    XOR string sepanjang B byte yang dihasilkan langkah 1 dengan opad.
6.    Append hasil H dari langkah 4 dengan string sepanjang B byte hasil langkah 5.
7.    Terapkan fungsi H pada hasil langkah 6 dan kembalikan hasilnya sebagai HMAC ‘text’.
Salah satu praktek kriptografi menyangkut HMAC adalah hanya menggunakan sebagian bit (sepanjang t bit) paling kiri dari keluaran algoritma HMAC. Notasi yang digunakan untuk menyatakan penerapan praktek ini yaitu HMAC-H-t. Contohnya, HMAC-MD5-96 menyatakan HMAC yang menggunakan fungsi hash MD5 dan hanya menggunakan 96 bit paling kiri dari hasil keluaran algoritma HMAC. Penggunaan sebagian keluaran ini mempunyai keuntungan yaitu lebih sedikit informasi hash paket yang bisa didapat oleh penyerang.

Authentication Header (AH)

AH didefinisikan sebagai protokol IP yang diberi nomor protokol 51. Dengan demikian, field protokol pada header paket IP yang diproteksi akan memiliki nilai 51 yang menunjukkan bahwa header yang mengikutinya adalah sebuah header AH. Field pada header AH diperlihatkan pada Gambar 2 3, 8).

IPsec: Aplikasi Teknik Kriptografi untuk Keamanan Jaringan Komputer

 Pesan berisi informasi yang akan dikirim melalui jaringan akan dipecah-pecah menjadi paket -paket IP. Hal yang pertama dilakukan oleh IPsec dalam pemrosesan paket tersebut adalah memeriksa apakah paket tersebut akan diberikan layanan keamanan dengan protokol AH. Hal ini dilakukan dengan mencocokan paket yang bersangkutan dengan entri pada Security Policy Database (SPD).
Apabila terdapat entri pada SPD, IPsec akan menentukan sebuah Security Association (SA) berisi informasi mengenai algoritma MAC (Message Authentication Code) yang digunakan untuk paket tersebut sesuai dengan source dan destination paket yang bersangkutan. Setiap pasangan source dan destination memiliki Security Association yang berbeda yang ditentukan secara manual sebelumnya maupun secara otomatis melalui protokol IKE (Internet Key Exchange).
Informasi mengenai algoritma MAC yang digunakan dalam SA ditambahkan pada header AH yaitu pada field SPI (Security Parameter Index) setelah sebelumnya memberi nilai pada field Next header, Payload length dan Reserved. Field Next header diberi nilai numerik dari tipe protokol dari data yang diproteksi (misalnya TCP atau UDP pada transport mode, atau IP pada tunnel mode). Selain itu, field Payload length diberi nilai sesuai panjang header AH, kemudian field Reserved diberi nilai kosong (null value).
Field Sequence number pada awalnya diberi nilai kosong, untuk kemudian ditambahkan satu- per-satu untuk setiap paket terproteksi yang dikirimkan. Sequence number ini tidak dapat berulang sehingga apabila sudah mencapai nilai maksimum 232 maka SA untuk pengiriman pesan yang berjalan harus dimatikan terlebih dahulu dan dibentuk SA baru untuk pengiriman pesan lanjutan. Hal ini dimaksudkan untuk mencegah terjadinya replay attack atas paket pesan.
Field Authentication data adalah field yang panjangnya variabel berisi hasil dari fungsi pengecekan integritas yang disebut ICV (Integrity Check Value). Protokol AH pada IPsec tidak mendefinisikan (algoritma) authenticator tertentu tetapi mengharuskan implementasi authenticator untuk menjamin interoperabilitas antara implementasi IPsec yang berbeda-beda. Dua authenticator yang harus diimplementasikan adalah HMAC-SHA-1-96 13) dan HMAC-MD5- 96 14). Kedua fungsi merupakan fungsi MAC dengan kunci rahasia yang keluarannya di-truncate menjadi 96 bit .
ICV dihitung dengan menjalankan fungsi yang didefinisikan oleh authenticator pada SA dengan parameter kunci rahasia dan seluruh paket IP yang terproteksi termasuk header AH. Namun demikian, field-field pada header IP yang sifatnya berubah-ubah seperti TTL (Time To Live) dan header checksum serta field Authentication data itu sendiri diberi nilai kosong terlebih dahulu sebelum dimasukkan ke dalam fungsi. Setelah nilai ICV tersebut didapat maka nilainya dimasukkan dalam field Authentication data. Nilai-nilai field dari header IP yang berubah juga dimasukkan kembali ke dalam field masing-masing.
Pemrosesan AH selesai sampai titik ini dan paket IP yang terproteksi siap untuk dikirimkan. Bergantung pada ukuran paket yang dihasilkan, paket tersebut mungkin terfragmentasi dalam perjalanannya. Hal ini tidak menjadi masalah dan akan ditangani oleh pihak penerima.
Pihak penerima pesan harus melakukan reassembly atas paket yang terfragmentasi. Setelah paket utuh diterima, hal pertama yang dilakukan adalah menentukan SA yang digunakan untuk memproteksi paket tersebut. SA yang digunakan ditentukan melalui field Destination dan field Protocol pada header IP serta field SPI pada header AH. Bila tidak ditemukan SA yang sesuai, maka paket tersebut di-discard.
Kemudian, pengecekan Sequence number dilakukan. Sama halnya dengan sebelumnya, apabila paket yang diperiksa gagal memenuhinya maka paket tersebut di-discard. Paket yang gagal memenuhi pengecekan Sequence number menunjukkan bahwa paket terproteksi tersebut telah di-replay oleh pihak lain.
Proses yang teakhir dilakukan adalah pengecekan ICV. ICV yang terdapat pada field Authentication data pada header AH disimpan dan field tersebut diberi nilai kosong. Field pada header IP yang berubah -ubah juga diberi nilai kosong. Setelah itu, algoritma authenticator yang didefinisikan SA dijalankan pada paket tersebut dan hasilnya dibandingkan dengan ICV yang disimpan sebelumnya. Jika hasilnya sama maka paket tersebut terautentikasi dan paket IP yang diproteksi dapat di-restore dan diperlakukan sebagaimana paket IP biasanya.

Encapsulating Security Payload (ESP)

ESP didefinisikan sebagai protokol IP yang diberi nomor protokol 50. Dengan demikian, field protokol pada header paket IP yang diproteksi akan memiliki nilai 50 yang menunjukkan bahwa header yang mengikutinya adalah sebuah header ESP. Field pada header ESP diperlihatkan pada Gambar 3 3, 9).
IPsec: Aplikasi Teknik Kriptografi untuk Keamanan Jaringan Komputer
 Sebagaimana halnya pada protokol AH, paket yang akan diproses harus ditentukan terlebih dahulu apakah akan diberi layanan keamanan IPsec. Serupa dengan yang dilakukan pada AH, informasi paket yang diterima dicocokan pada entri di SPD (Security Policy Database). Apabila paket tersebut terdapat pada entri SPD maka paket tersebut akan diberikan layanan keamanan ESP. Sebuah Security Association (SA) kemudian akan ditentukan dari definisi yang ditentukan secara manual sebelumnya maupun secara otomatis dengan protokol IKE. Namun demikian, berbeda dengan protokol AH yang hanya menentukan authenticator (algoritma autentikasi yang digunakan), SA pada protokol ESP juga menentukan sebuah encryptor (algoritma enkripsi paket yang digunakan). Hal ini disebabkan ESP tidak hanya menyediakan fitur data integrity tetapi juga fitur data confidentiality. Fitur data confidentiality akan dijelaskan pada bagian selanjutnya.
Nilai numerik informasi mengenai Security Association (SA) yang telah ditentukan kemudian dimasukkan ke dalam field Security Parameter Index (SPI) sebagaimana dilakukan pada protokol AH. Demikian pula dengan field Sequence number akan diinisiasi dengan nilai nol dan di -increment setiap pemrosesan paket pesan yang diproteksi. Seperti pada protokol AH, field ini diperlukan untuk untuk menjamin keamanan pengiriman paket dari replay-attack.
Field IV (Initialization Vector), Protected data, Pad, dan Pad length akan berisi nilai hasil pemrosesan data confidentiality. Field-field ini akan dijelaskan pada bagian berikutnya. Untuk sementara, field-field tersebut diasumsikan telah diisi nilai sebagaimana mestinya.
Kemudian, field Next header diberi nilai sesuai dengan nilai numerik protokol dari payload paket yang terproteksi. Dengan demikian, apabila ESP digunakan dalam transport mode dengan payload berupa paket TCP maka akan memiliki nilai 6 dan bila digunakan dalam tunnel mode (payload berupa paket IP) maka akan memiliki nilai 4.
Terakhir, sebagaimana dalam protokol AH, field Authentication data akan berisi nilai yang digunakan dalam pengecekan integritas paket atau ICV (Integrity Check Value). Seperti halnya pada protokol AH, authenticator yang harus diimplementasi dalam protokol ESP adalah HMAC-MD5-96 dan HMAC-SHA-96 untuk menjamin interoperabilitas antar implementasi IPsec yang berbeda-beda. Semua field dari field SPI hingga field Next Header kemudian dimasukkan ke dalam fungsi hash yang telah ditentukan pada SA dan hasilnya dimasukkan ke dalam field Authentication data.
Sampai di sini pemrosesan fitur data integrity dari paket protokol ESP selesai dijalankan. Paket kemudian siap untuk dikirimkan melalui saluran komunikasi. Fragmentasi paket juga mungkin terjadi sebagaimana pada paket AH dan akan ditangani pula oleh pihak penerima paket tersebut.
Pihak penerima pesan harus melakukan reassembly atas paket yang terfragmentasi. Setelah paket utuh diterima, hal pertama yang dilakukan adalah menentukan SA yang digunakan untuk memproteksi paket tersebut. SA yang digunakan ditentukan melalui field Destination dan field Protocol pada header IP serta field SPI pada header ESP. Bila tidak ditemukan SA yang sesuai, maka paket tersebut di-discard.
Kemudian seperti pada protokol AH, pengecekan Sequence number dilakukan. Apabila paket yang diperiksa gagal memenuhinya maka paket tersebut di-discard. Paket yang gagal memenuhi pengecekan Sequence number menunjukkan bahwa paket terproteksi tersebut telah di-replay oleh pihak lain.
Proses berikutnya yang dilakukan adalah pengecekan ICV. ICV yang terdapat pada field
Authentication data pada header ESP. Setelah itu, algoritma authenticator yang didefinisikan SA dijalankan pada paket tersebut dari field SPI hingga field Next header dan hasilnya dibandingkan dengan ICV yang disimpan sebelumnya. Jika hasilnya sama maka paket tersebut terautentikasi.
Pemrosesan data integrity untuk paket yang diterima selesai sampai di sini dan akan dilanjutkan pada pemrosesan data confidentiality yang akan dijelaskan pada bagian selanjutnya.

Data Confidentiality pada IPsec

Fitur data confidentiality pada IPsec hanya disediakan oleh protokol ESP dengan menggunakan algoritma kriptografi simetri. Protokol AH tidak menyediakan fitur ini walaupun sama-sama menyediakan fitur data integrity. Aspek ini lah yang menyebabkan pembagian protokol IPsec ke dalam dua jenis (AH dan ESP). Hal ini bertujuan untuk menyediakan fleksibilitas bagi pengguna untuk dapat memilih tingkat keamanan yang dikehendaki karena tidak semua pesan bersifat rahasia tetapi integritas harus selalu dijaga. Bila pesan tidak bersifat rahasia maka pengguna dapat menggunakan protokol AH dan bila pesan harus dijamin kerahasiaanya maka pengguna dapat memilih protokol ESP.

Algoritma Kriptografi Simetri pada IPsec

Confidentiality pada IPsec disediakan melalui implementasi algoritma kriptografi simetri yang digunakan dalam enkripsi dan dekripsi paket. RFC 2451 18) menerangkan penggunaan algoritma Blowfish, CAST-128, 3DES, IDEA, RC5 dalam mode CBC ( Cipher Block Chaining) dengan ESP. RFC 2451 tesebut juga menyatakan pada prinsipnya, algoritma block cipher yang lain juga dapat digunakan. IPsec dirancang tidak dengan mendefinisikan algorima enkripsi yang harus digunakan, tetapi hanya mengharuskan implementasi algoritma DES-CBC dan NULL untuk menjamin interoperabilitas. Beberapa algoritma selain yang telah disebut yang pernah dipakai dalam IPsec adalah AES-CBC dan RC4 1).

Encapsulating Security Payload (ESP)

Pada pembangkitan paket protokol ESP, pemrosesan data confidentiality dilakukan setelah penentuan Security Association (SA) dan sebelum pemrosesan data integrity. Sebagaimana telah dijelaskan pada bagian sebelumnya, encryptor yang mendeskripsikan algoritma yang digunakan dalam pengenkripsian paket ditentukan oleh Security Association (SA). Seperti halnya authenticator, IPsec tidak mendefinisikan encryptor yang digunakan tetapi mengharuskan implementasi DES-CBC dengan Initilization Vector eksplisit 12) untuk menjamin interoperabilitas dengan implementasi IPsec lainya. Namun demikian, DES terbukti telah dapat dipatahkan sehingga implementasi dan penggunaan algoritma enkripsi lain yang lebih kuat lebih disarankan. ESP juga mendukung algoritma enkripsi NULL 5), yaitu fungsi enkripsi yang identik dengan fungsi identitas, NULL(m)=I(m)=m. Algoritma NULL ini disediakan untuk memberi pilihan pemakaian protokol ESP tanpa memperhatikan aspek confidentiality.
Setelah informasi yang diperlukan seperti algoritma enkripsi, dan kunci enkripsi ditentukan oleh Security Association (SA) dan nilainya telah dimasukkan dalam field Security Parameter Index (SPI). Maka paket yang akan diproteksi akan dienkripsi dengan authenticator yang telah ditentukan dengan parameter kunci yang sesuai. Jika digunakan dalam transport mode maka pengenkripsian akan dilakukan pada paket layer di atas IP (UDP atau TCP) dan jika digunakan dalam tunnel mode maka pengenkripsian akan dilakukan pada paket IP.
Sebagaimana telah disebut di atas, authenticator DES-CBC mengharuskan Initialization Vector (IV) secara eksplisit disimpan. Dengan demikian, bila menggunakan authenticator ini, sebuah nilai IV diambil dari 8 octet pertama paket yang akan dienkripsi dan nilainya dimasukkan ke dalam field IV (Initialization Vector). Field IV ini tidak akan disertakan dalam field-field yang dienkripsi karena akan digunakan sebagai salah satu parameter dalam dekripsi.
Field Protected data kemudian akan diisi dengan paket yang terproteksi. Dalam proses tunnel mode maka akan diisi dengan paket IP sedangkan dalam transport mode maka akan diisi dengan paket UDP atau TCP. Beberapa algoritma authenticator mengharuskan ukuran blok paket yang akan dienkripsi berupa kelipatan dari blok tertentu. Oleh karena itu, field Pad disediakan untuk memenuhi tujuan tersebut dan diisi dengan nilai padding yang tergantung pada authenticator yang digunakan. Ukuran padding yang ditambahkan dimasukkan dalam field Pad ength.
Bila semua field pada header ESP telah terisi maka proses enkripsi dapat dilakukan. Enkripsi akan dilakukan terhadap field Protected data hingga field Next header dengan menggunakan algoritma yang telah ditentukan dan dengan parameter Initialization Vector bila diperlukan dan kunci yang juga telah ditentukan sebelumnya. Hasil dari proses enkripsi akan dimasukkan antara field IV dan field Authentication data menggantikan field-field yang menjadi masukan proses enkripsi.
Sampai di sini, pemrosesan data confidentiality dari paket ESP selesai dijalankan dan akan dilanjutkan dengan pemrosesan data integrity sebagaimana telah dijelaskan pada bagian sebelumnya.
Pada saat penerimaan paket, pemrosesan data confidentiality dilakukan setelah pemrosesan data integrity. Paket yang terautentikasi kemudian diserahkan pada decryptor. Berdasarkan informasi pada SPI (Security Parameter Index), decryptor mengetahui algoritma apa yang digunakan untuk mendekripsi paket beserta kuncinya. Proses dekripsi dilakukan pada potongan paket yang terletak antara field IV dan field Authentication data. Dengan parameter Initialization Vector yang diambil dari field IV dan kunci yang didapat dari Security Association (SA) berdasarkan SPI maka bagian yang terenkripsi dapat dikembalikan ke bentuknya semula.
Berdasarkan informasi pada field Pad length, paket yang terproteksi (paket IP, TCP, atau UDP) dapat dikembalikan ke bentuknya semula dengan mengurangi ukurannya sebanyak padding yang dilakukan. Paket yang telah didekripsi tersebut siap untuk diproses lebih lanjut dan diperlakukan sebagaimana paket biasanya.

Analisis terhadap Ipsec

Beberapa ahli telah melakukan analisis terhadap IPsec. Analisis yang dilakukan merupakan usaha identifikasi kelebihan dan kelemahan IPsec (yang di antaranya menghasilkan beberapa rekomendasi untuk perbaikan).
Kelebihan IPsec:
1.    IPsec dapat melindungi protokol apa pun yang berjalan di atas IP dan pada medium apa pun yang dapat digunakan IP, sehingga IPsec merupakan suatu metode umum yang dapat menyediakan keamanan komunikasi melalui jaringan komputer 11).
2.    IPsec menyediakan keamanan secara transparan, sehingga dari sisi aplikasi, user tidak perlu menyadari keberadaannya 2, 11).
3.    IPsec dirancang untuk memenuhi standar baru IPv6 tanpa melupakan IPv4 yang sekarang digunakan 2, 3).
4.    Perancangan IPsec tidak mengharuskan penggunaan algoritma enkripsi atau hash tertentu sehingga jika algoritma yang sering digunakan sekarang telah dipecahkan, fungsinya dapat diganti dengan algoritma lain yang lebih sulit dipecahkan 2).
Kelemahan IPsec:
1.    IPsec terlalu kompleks, penyediaan beberapa fitur tambahan dengan menambah kompleksitas yang tidak perlu 4).
2.    Beberapa dokumentasinya masih mengandung beberapa kesalahan, tidak menjelaskan beberapa penjelasan esensial, dan ambigu 4).
3.    Beberapa algoritma default yang digunakan dalam IPsec telah dapat dipecahkan/dianggap tidak aman (misalnya DES yang dianggap tidak aman dan MD5 yang telah mulai berhasil diserang 3)). Algoritma penggantinya telah tersedia dan administrator sistem sendiri yang harus memastikan bahwa mereka menggunakan algoritma lain untuk mendapatkan keamanan yang lebih tinggi 3).
Beberapa rekomendasi yang dihasilkan Ferguson dan Schneier 4) untuk perbaikan IPsec:
1.    Hilangkan transport mode. Dari sisi keamanan, fungsionalitas tunnel mode merupakan superset dari fungsionalitas transport mode.
2.    Hilangkan protokol AH. Dengan tidak perlunya transport mode, maka protokol AH juga dapat dihilangkan karena fungsinya dan kelebihannya (overhead bandwidth lebih kecil) dapat digantikan dengan modifikasi minor pada protokol ESP dalam tunnel mode.
3.    Modifikasi protokol ESP sehingga selalu menyediakan fitur autentikasi, hanya enkripsi yang opsional. Saat ini autentikasi dan enkripsi pada ESP bersifat opsional (dengan adanya algoritma NULL).
4.    Modifikasi protokol ESP sehingga semua data (termasuk kunci dekripsi) yang digunakan dalam dekripsi paket terautentikasi.
Meskipun memiliki beberapa kekurangan, IPsec masih dianggap sebagai protokol keamanan yang paling baik untuk memperoleh keamanan dalam komunikasi melalui jaringan komputer bila dibandingkan dengan protokol keamanan IP yang lain seperti Microsoft PPTP dan L2TP 4).

Kesimpulan

Kesimpulan yang bisa diambil:
1.    Aspek keamanan dalam komunikasi melalui jaringan komputer menjadi semakin penting terutama karena banyaknya aktivitas pertukaran informasi rahasia melalui Internet.
2.    Keamanan jaringan terbagi menjadi empat kategori umum, yaitu:
·         Secrecy/Confidentiality
·         Authentication
·         Nonrepudiation
·         Integrity Control
3.    IPsec merupakan salah satu solusi kemanan jaringan berupa protokol kemanan yang berada di network layer untuk pengiriman paket IP.
4.    IPsec terdiri atas dua bagian utama, yaitu:
·         Protokol penambahan header pada paket IP (AH dan ESP).
·         Protokol pembangkitan dan distribusi kunci secara otomatis (IKE)
5.    IPsec menggunakan teknik-teknik kriptografi dalam menyediakan layanan keamanan Authentication, Data Integrity, dan Confidentiality.
6.    Authentication dan Data Integrity disediakan oleh protokol AH dan ESP dengan menggunakan HMAC.
7.    Confidentiality disediakan oleh protokol ESP dengan mengunakan algoritma kriptografi simetri.
8.    Walaupun menurut para ahli masih memiliki beberapa kekurangan, IPsec masih dianggap sebagai solusi terbaik dalam menyediakan keamanan dalam komunikasi melalui jaringan komputer.

Referensi

1.    Alshamsi, AbdelNasir dan Takamichi Saito, A Technical Comparison of IPsec and SSL, Tokyo University of Technology, 2004, http://eprint.iacr.org/2004/314.pdf, 9 Januari 2005 08:00.
2.    Dahlgren, Anders dan Oskar Jönsson, IPsec, the Future of Network Security?, Göteborg University, 2000, http://www.handels.gu.se/epc/archive/00002483/01/dahlgrenjonsson.pdf, 9 Januari 2005 08:00.
3.    Doraswamy, Naganand dan Dan Harkins, IPsec: The New Security Standard for the Internet, Intranet, and Virtual Private Networks, Prentice-Hall, 1999.
4.    Ferguson, Neil dan Bruce Schneier, A Cryptographic Evaluation of IPsec. Counterpane Internet Security, Inc., 1999, http://www.schneier.com/paper-ipsec.pdf, 9 Januari 2005 08:00.
5.    Glenn, Rob dan Stephen Kent, RFC 2410: The NULL Encryption Algorithm and Its Use with Ipsec, The Internet Society: Network Working Group, 1998, http://www.ietf.org/rfc/rfc2410.txt, 9 Januari 2005 08:00.
6.    Harkins, Dan dan Dave Carrel, RFC 2409: The Internet Key Exchange (IKE), The Internet Society: Network Working Group, 1998, http://www.ietf.org/rfc/rfc2409.txt, 9 Januari 2005 08:00.
7.    Kent, Stephen dan Randall Atkinson, RFC 2401: Security Architecture for the Internet Protocol, The Internet Society: Network Working Group, 1998, http://www.ietf.org/rfc/rfc2401.txt, 9 Januari 2005 08:00.
8.    Kent, Stephen dan Randall Atkinson, RFC 2402: IP Authentication Header, The Internet Society: Network Working Group, 1998, http://www.ietf.org/rfc/rfc2402.txt, 9 Januari 2005 08:00.
9.    Kent, Stephen dan Randall Atkinson, RFC 2406: IP Encapsulating Security Payload (ESP), The Internet Society: Network Working Group, 1998, http://www.ietf.org/rfc/rfc2406.txt, 9 Januari 2005 08:00.
10. Krawczyk, Hugo, et al, RFC 2104: HMAC: Keyed-Hashing for Message Authentication, The Internet Society: Network Working Group, 1997, http://www.ietf.org/rfc/rfc2104.txt, 9 Januari 2005 08:00.
11. Lee, Jin W., Introduction of IPsec, Arizona State University, 2002, http://rts-lab.eas.asu.edu/document/Introduction%20of%20IPsec.pdf, 9 Januari 2005 08:00.
12. Madson, Cheryl dan Naganand Doraswamy, RFC 2405: The ESP DES-CBC Cipher Algorithm with Explicit IV, The Internet Society: Network Working Group, 1998, http://www.ietf.org/rfc/rfc2405.txt, 9 Januari 2005 08:00.
13. Madson, Cheryl dan Rob Glen, RFC 2403: The Use of HMAC-MD5-96 within ESP and AH, The Internet Society: Network Working Group, 1998, http://www.ietf.org/rfc/rfc2403.txt, 9 Januari 2005 08:00.
14. Madson, Cheryl dan Rob Glen, RFC 2404: The Use of HMAC-SHA-1-96 within ESP and AH, The Internet Society: Network Working Group, 1998, http://www.ietf.org/rfc/rfc2404.txt, 9 Januari 2005 08:00.
15. Nedeltchev, Plamen dan Radoslav Ratchkov, IPsec-based VPNs and Related Algorithms, 2002, http://www.cisco.com/warp/public/784/packet/apr02/pdfs/plamen.pdf, 9 Januari 2005 08:00
Share This :

Artikel terkait : IPsec: Aplikasi Teknik Kriptografi untuk Keamanan Jaringan Komputer

Posting Lebih Baru Posting Lama

0 komentar: