IPSec adalah sekumpulan ekstensi dari keluarga protokol IP. IPSec menyediakan layanan kriptografi untuk keamanan transmisi data. Layanan ini termasuk authenticity, integrity, access control, confidentiality, dab anti replay. Layanan IPSec mirip dengan SSL namun, IPSec melayani lapisan network, dan dilakukan secara transparan. Layanan tersebut dideskripsikan sebagai berikut:
- Confidentiality, untuk meyakinkan bahwa sulit untuk orang lain tetapi dapat dimengerti oleh penerima yang sah bahwa data telah dikirimkan. Contoh: Kita tidak ingin tahu seseorang dapat melihat password ketika login ke remote server.
- Integrity, untuk menjamin bahwa data tidak berubah dalam perjalan menuju tujuan.
- Authenticity, untuk menandai bahwa data yang dikirimkan memang berasal dari pengirim yang benar.
- Anti Replay, untuk meyakinkan bahwa transaksi hanya dilakukan sekali, kecuali yang berwenang telah mengizinkan untuk mengulang.
IPSec bekerja dengan tiga jalan, yaitu:
- Network-to-network
- Host-to-network
- Host-to-host.
Contoh koneksi network-to-network, misalnya sebuah perusahaan yang mempunyai banyak kantor cabang dan ingin berbagi data dengan aman, maka tiap cabang cukup menyediakan sebuah gateway dan kemudian data dikirimkan melalui infrastuktur jaringan internet yang telah ada. Semua lalu lintas data antara gateway disebut virtual tunnel. Kedua tunnel tersebut memverifikasi otentifikasi pengirim dan penerima dan mengenkripsi semua lalu lintas. Namun lalu lintas didalam sisi gateway tidak diamankan karena diasumsikan bahwa LAN merupakan segment jaringan yang dapat dipercaya.
Koneksi host-to-network, biasanya digunakan oleh seseorang yang menginkan akses aman terhadap sumberdaya suatu perusahaani. Prinsipnya sama dengan koneksi network-tonetwork hanya saja salah satu sisi gateway digantikan oleh client.

Gambar 4.3. Network-to-Network dan Host-to-Network
1. Arsitektur IPSec
Perkembangan arsitektur IPsec mengacu pada pokok persoalan yang terdapat pada RFC. Terdapat tujuh bagian utama pada gambar 3 yang dapat digunakan untuk mendefinisikan keseluruhan arsitektur dari Ipsec.
1.1 Architecture
Mencakup konsep secara umum, definisi, kebutuhan keamanan, dan mekanisme yang mendefinisikan teknologi dari IPsec.
1.2 Encapsulating Security Payload (ESP)
Menyediakan layanan kerahasiaan data dengan enkripsi, enkapsulasi, dan secara opsional yaitu autentikasi.
1.3 Authentication Header (AH)
Menyediakan mekanisme untuk autentikasi data sumber dan layanan connectionless data integrity untuk paket IP.

Gambar 4.4. Secure IP Documentation Overview
1.4 Encryption Algorithm
Proses mengacak data sehingga tidak dapat dibaca oleh pihak lain. Pada kebanyakan proses enkripsi, Anda harus menyertakan kunci sehingga data yang dienkripsi dapat didekripsikan kembali. Ilmu yang mempelajari teknik enkripsi disebut kriptografi. Gambaran sederhana tentang enkripsi, misalnya mengganti huruf a dengan n, b dengan m dan seterusnya. Model penggantian huruf sebagai bentuk enkripsi sederhana ini sekarang tidak dipergunakan secara serius dalam penyembunyian data. ROT-13 adalah program yang masih suka dipergunakan. Intinya adalah mengubah huruf menjadi 23 huruf didepannya. Misalnya b menjadi o dan seterusnya. Menyediakan bermacammacam algoritma enkripsi yang digunakan oleh ESP.
1.5 Enkripsi Simetris
Pada enkripsi simetris, masing-masing pihak menyimpan kunci rahasia yang sama pada kedua pihak yang saling berkomunikasi. Kunci rahasia ini digunakan untuk melakukan pengkodean suatu data, ataupun mengembalikan data yang terkode menjadi data yang sebenarnya. Keuntungan penggunaanan enkripsi simetris adalah prosesnya relatif cepat, dan tidak menyebabkan data yang dienkripsi menjadi membengkak. Kesulitannya adalah kunci ini sulit dipertukarkan, oleh karena itu perlu digunakan teknologi lain yaitu enkripsi asimetris yang akan dibahas pada bagian setelah ini. Enkripsi asimetris yang umum digunakan adalah DES, 3DES, dll.

Gambar 4.5. Enkripsi Simetris
1.6 Enkripsi Asimetris
Enkripsi asimetris ini memanfaatkan kunci yang berbeda untuk melakukan enkripsi maupun dekripsi yang dikenal dengan public key dan private key. Data yang akan dienkripsi umumnya di enkripsi dengan public key dan untuk mendapatkan kembali datan asli digunakan private key. Seperti namanya, public key ini dapat diperoleh oleh siapa saja, jika diasosiasikan dalam kehidupan nyata mirip dengan gembok. Sedangkan private key hanya disimpan oleh orang yang bersangkutan, mirip dengan kunci gembok. Kekurangan utama enkripsi/dekripsi dengan public/private key adalah dokumen yang dihasilkan ukurannya membengkak, selain itu proses enkripsi/dekripsi ini juga membutuhkan komputasi yang lebih besar dibandingkan dengan simetric key. Umumnya enkripsi asimetris ini dikombinasikan dengan enkripsi simetris. Dimana kunci rahasia pada enkripsi simetris dipertukarkan memanfaatkan enkripsi asimetris, kemudian setelah kedua pihak mendapatkan kunci rahasia yang sama, data yang dikirimkan dienkripsi dengan enkripsi asimetris. Kelebihan lain enkripsi asimetris adalah data yang dienkripsi dengan private key dapat didekripsi dengan public key.

Gambar 4.6. Kunci Asimetris
1.7 Authentication Algorithm
Menyediakan algoritma autentikasi yang digunakan oleh AH dan secara opsional digunakan pula oleh ESP.
1.8 Authentication Algorithm
Menyediakan algoritma autentikasi yang digunakan oleh AH dan secara opsional digunakan pula oleh ESP.
1.9 Domain of Interpretation (DOI)
Mendefinisikan format payload, pertukaran tipe dan konvensi untuk penamaan terhadap informasi keamanan yang relevan. DOI juga mengandung nilai-nilai yang dibutuhkan untuk menghubungkan bagian satu dengan yang lainnya.
1.10 Key Management
Mengandung dokumen yang menggambarkan bermacam-macam skema dari manajemen pertukaran kunci.
2. IPSec Mode
Terdapat dua mode dalam implementasi dari IPsec. Mode pertama yang digunakan yaitu transport mode. Secara umum mode ini digunakan untuk komunikasi end-to-end antar dua host. Contohnya komunikasi client-server.

Gambar 4.7 Transport Mode IPsec
Mode implementasi kedua dari IPsec yaitu tunnel mode. Tunnel mode menyediakan proteksi untuk keseluruhan paket IP. Seperti terlihat pada Gambar 5, dimana gateway mengenkapsulasi keseluruhan paket, termasuk original header dari IP, kemudian menambahkan header IP baru pada paket data, lalu mengirimkannya ke jaringan publik menuju gateway yang kedua, dimana informasi akan di dekripsi dan bentuk asli informasi akan sampai ke penerima.

Gambar 4.8 Tunnel Mode IPsec
Implementasi AH pada IP diperlihatkan pada gambar di bawah ini:

Gambar 4.9. Paket IP sebelum diimplementasikan AH

Gambar 4.10. Transport Mode dan AH

Gambar 4.11. Tunnel Mode dan AH
Implementasi ESP pada IP diperlihatkan pada gambar di bawah ini:

Gambar 4.12. Paket IP sebelum diimplementasikan ESP

Gambar 4.13. Transport Mode dan ESP

Gambar 4.14. Tunnel Mode dan ESP
3. Key Management
Secara bersama protokol IPSec AH dan ESP menyediakan privasi, integritas, dan otentifikasi dari paket IP, namun hal tersebut belum lengkap. IETF juga telah menyediakan protokol yang melayani negosiasi antar protokol IPSec, algoritma, dan kunci dalam komunikasi tersebut, verifikasi identitas, dan mengatur pertukaran kunci.
ISAKMP(the internet security association and key management protocol)/Oakley key exchange protocol secara otomatis mengatasi pertukaran kunci rahasia antara pengirim dan penerima. Protokol tersebut memadukan ISAKMP dengan metode Oakley. ISAKMP biasa disebut juga IKE (internet key exchange). ISAKMP didasarkan atas model pembangkitan kunci Diffie-Hellman, dimana dua entitas saling berbagi informasi sebelum yakin identitas entitas yang lainnya. Dengan Diffie-Hellman, dua entitas membangkitkan nilai public mereka, yang kemudian mereka kirim ke entitas yang lain. Dua entitas berkomunikasi melalui UDP. Tiap entitas mengambil kunci public yang telah diterima dan mengkombinasikannya dengan kunci private. Hasilnya seharusnya sama untuk kedua entitas, namun tidak ada satu pun yang dapat membangkitkan nilai yang sama.
Meskipun ISAKMP adalah metode pertukaran kunci secara otomatik, ISAKMP tidak mengijinkan tingkat kepercayaan apapun dalam kunci untuk dikendalikan. Dengan ISAKMP, SPI (32 bit yang berisi informasi protokol keamanan untuk sebuah paket) dapat berubah dalam jangka waktu tertentu. ISAKMP mendukung tiga metode pertukuran kunci yaitu: main mode, aggressive mode, dan quick mode. Main mode membangun yang dikenal sebagai fasa pertama dari ISAKMP SA. SA atau security association, adalah metode untuk menyimpan semua detail mengenai kunci dan algoritma dalam tiap sesi IPSec. SA mencakup informasi yang sangat luas, termasuk algoritma otentifikasi AH dan kunci, algoritma enkripsi ESP dan kunci, berapa sering kunci harus diganti, bagaimana komunikasi diotentifikasi, dan informasi tentang umur SA.
Main mode membangun sebuah mekanisme yang digunakan untuk komunikasi diwaktu mendatang. Pada main mode persetujuan dalam otentifikasi, algoritma, dan kunci dilakukan. Main mode membutuhkan tiga tahap pertukuran antara pengirim dan penerima. Langkah pertama, dua entitas setuju dalam menggunakan algoritma dan hash untuk komunikasi. Langkah kedua, bertukar kunci public menggunakan model pertukaran Diffie-Hellman dan kemudian membuktikan identitas mereka kepada yang lain. Langkah terakhir, penerima dan pengirim saling memverifikasi identitas.
Pada aggressive mode sama dengan main mode hanya saja jumlah langkah yang dilakukan dua langkah saja, dan yang terakhir pada quick mode dimana dapat digunakan setelah SA ISAKMP telah dibuat menggunakan main mode atau aggressive mode untuk membuat material baru untuk membangkitkan kunci. Ini dikenal sebagai fasa pertukaran kedua. Dalam quick mode, semua paket telah dienkripsi, jadi langkah ini lebih mudah dari main mode dan aggressive mode.
4. Cara Kerja IPSec
Ilmu Kriptografi (Cryptographi) secara garis besar dapat diartikan sebagai ilmu dan seni penulisan rahasia terhadap informasi. Hal ini merupakan suatu bagian yang penting dalam keamanan komputer. Dalam aplikasinya kriptografi dapat mengamankan atau memproteksi data dari pembacaan yang tidak diijinkan. Kriptografi dapat menyembunyikan identitas pemakai atau program yang meminta layanan, serta dapat menyingkap terjadinya suatu penyusupan.
Dimana dalam cryptosystem terdapat dua hal pokok yaitu symetric dan asymetric. Symetric menggunakan key yang sama (the secret key) untuk mengenkripsi dan mendeskripsi suatu pesan, sedangkan asymetric menggunakan satu key (the public key) untuk mengenkripsi suatu pesan dan sebuah key yang berbeda (the private key) untuk mendeskripsi. Sementara itu untuk melindungi informasi yang tersimpan dalam hard disk komputer maupun mengenkripsi informasi dalam suatu hubungan komunikasi antara dua mesin seringkali digunakan private key crypthography.

Gambar 4.15. Mekanisme kerja IPSec
Enkripsi (encryption) merupakan suatu proses di mana sebuah pesan (plaintext) ditranformasikan atau diubah menjadi bentuk pesan lain (chipertext) menggunakan suatu fungsi matematis dan enkripsi password khusus yang lebih dikenal sebagai key. Sementara Deskripsi (descryption) merupakan proses kebalikan, dari chiphertext dirubah kembali ke plaintext dengan menggunakan fungsi matematis dan key.