IPSec (singkatan dari IP Security) adalah sebuah protokol yang digunakan untuk mengamankan transmisi datagram dalam sebuah internetwork berbasis TCP/IP. IPSec mendefiniskan beberapa standar untuk melakukan enkripsi data dan juga integritas data pada lapisan kedua dalam DARPA Reference Model (internetwork layer). IPSec melakukan enkripsi terhadap data pada lapisan yang sama dengan protokol IP dan menggunakan teknik tunneling untuk mengirimkan informasi melalui jaringan Internet atau dalam jaringan Intranet secara aman. IPSec didefinisikan oleh badan Internet Engineering Task Force (IETF) dan diimplementasikan di dalam banyak sistem operasi. Windows 2000 adalah sistem operasi pertama dari Microsoft yang mendukung IPSec.

IPSec diimplementasikan pada lapisan transport dalam OSI Reference Model untuk melindungi protokol IP dan protokol-protokol yang lebih tinggi dengan menggunakan beberapa kebijakan keamanan yang dapat dikonfigurasikan untuk memenuhi kebutuhan keamanan pengguna, atau jaringan. IPSec umumnya diletakkan sebagai sebuah lapsian tambahan di dalam stack protokol TCP/IP dan diatur oleh setiap kebijakan keamanan yang diinstalasikan dalam setiap mesin komputer dan dengan sebuah skema enkripsi yang dapat dinegosiasikan antara pengirim dan penerima. Kebijakan-kebijakan keamanan tersebut berisi kumpulan filter yang diasosiasikan dengan kelakuan tertentu. Ketika sebuah alamat IP, nomor port TCP dan UDP atau protokol dari sebuah paket datagram IP cocok dengan filter tertentu, maka kelakukan yang dikaitkan dengannya akan diaplikasikan terhadap paket IP tersebut.

Dalam sistem operasi Windows 2000, Windows XP, dan Windows Server 2003, kebijakan keamanan tersebut dibuat dan ditetapkan pada level domain Active Directory atau pada host individual dengan menggunakan snap-in IPSec Management dalam Microsoft Management Console (MMC). Kebijakan IPSec tersebut, berisi beberapa peraturan yang menentukan kebutuhan keamanan untuk beberapa bentuk komunikasi. Peraturan-peraturan tersebut digunakan ntuk memulai dan mengontrol komunikasi yang aman berdasarkan sifat lalu lintas IP, sumber lalu lintas tersebut dan tujuannya. Peraturan-peraturan tersebut dapat menentukan metode-metode autentikasi dan negosiasi, atribut proses tunneling, dan jenis koneksi.

Untuk membuat sebuah sesi komunikasi yang aman antara dua komputer dengan menggunakan IPSec, maka dibutuhkan sebuah framework protokol yang disebut dengan ISAKMP/Oakley. Framework tersebut mencakup beberapa algoritma kriptografi yang telah ditentukan sebelumnya, dan juga dapat diperluas dengan menambahkan beberapa sistem kriptografi tambahan yang dibuat oleh pihak ketiga. Selama proses negosiasi dilakukan, persetujuan akan tercapai dengan metode autentikasi dan kemanan yang akan digunakan, dan protokol pun akan membuat sebuah kunci yang dapat digunakan bersama (shared key) yang nantinya digunakan sebagi kunci enkripsi data. IPSec mendukung dua buah sesi komunikasi keamanan, yakni sebagai berikut:

  • protokol Authentication Header (AH): menawarkan autentikasi pengguna dan perlindungan dari beberapa serangan (umumnya serangan man in the middle), dan juga menyediakan fungsi autentikasi terhadap data serta integritas terhadap data. Protokol ini mengizinkan penerima untuk merasa yakin bahwa identitas si pengirim adalah benar adanya, dan data pun tidak dimodifikasi selama transmisi. Namun demikian, protokol AH tidak menawarkan fungsi enkripsi terhadap data yang ditransmisikannya. Informasi AH dimasukkan ke dalam header paket IP yang dikirimkan dan dapat digunakan secara sendirian atau bersamaan dengan protokol Encapsulating Security Payload.
  • protokol Encapsulating Security Payload (ESP): Protokol ini melakukan enkapsulasi serta enkripsi terhadap data pengguna untuk meningkatkan kerahasiaan data. ESP juga dapat memiliki skema autentikasi dan perlindungan dari beberapa serangan dan dapat digunakan secara sendirian atau bersamaan dengan Authentication Header. Sama seperti halnya AH, informasi mengenai ESP juga dimasukkan ke dalam header paket IP yang dikirimkan.

Beberapa perangkat keras serta perangkat lunak dapat dikonfigurasikan untuk mendukung IPSec, yang dapat dilakukan dengan menggunakan enkripsi kunci publik yang disediakan oleh Certificate Authority (dalam sebuah public key infrastructure) atau kunci yang digunakan bersama yang telah ditentukan sebelumnya (skema Pre-Shared Key/PSK) untuk melakukan enkripsi secara privat.

System Overview

IPSec didesain untuk menyediakan interoperabilitas, kualitas yang baik, sekuriti berbasis kriptografi untuk IPv4 dan IPv6. layanan yang disediakan meliputi kontrol akses, integritas hubungan, otentifikasi data asal, proteksi jawaban lawan, kerahasiaan (enkripsi), dan pembatasan aliran lalulintas kerahasiaan. Layanan-layanan ini tersedia dalam IP layer, memberi perlindungan pada IP dan layer protokol berikutnya. IP Security menyediakan sederet layanan untuk mengamankan komunikasi antar komputer dalam jaringan. Selain itu juga menambah integritas dan kerahasiaan, penerima jawaban optional (penyortiran jawaban) dan otentifikasi data asal (melalui manajemen kunci SA), IP Security juga menyediakan kontrol akses untuk lalulintas yang melaluinya. Tujuan-tujuan ini dipertemukan dengan dipertemukan melalui penggunaan dua protokol pengamanan lalulintas yaitu AH (Authentication Header) dan ESP (Encapsulating Security Payload) dan dengan penggunan prosedur dan protokol manajemen kunci kriptografi. Jika mekanisme ini diimplementasikan sebaiknya tidak merugikan pengguna, host dan komponen internet lainnya yang tidak mengguankan mekanisme ini untuk melindungi lalulintas data mereka. Mekanisme ini harus fleksibel dalam menggunakan akgtoritma keamanan, maksudnya yaitu modul ini dapat mengguanakan algoritma sesuai dengan pilihan tanpa mempengaruhi komponen implementasi lainnya. Penggunaan algoritma defaultnya harus dapat memfasilitasi interoperabilitas dalam internet pada umumnya. Pengguanaan algoritma ini dalam hubungannya dengan rpoteksi lalulintas (IPSec traffic protection) dan protokol manajemen kunci (key managemen protocols), bertujuan memperbolehkan sistem dan pengembang aplikasi untuk meningkatkan kualitas yang tinggi, internet layer, teknologi keamanan berbasis kriptografi.

IPSec protokol yang dikombinasikan dengan algoritma default-nya didesain untuk menyediakan keamanan lalu lintas internet yang baik. Bagaimanapun juga keaaman yang diberikan oleh protokol ini sebenarnya bergantung pada kualitas dari implementasi, yang mana implementasi ini diluar lingkup dari standarisasi ini. Selain itu keamanan sistem komputer atau jaringan adalah fungsi dari banyak faktor, meliputi individu, fisik, prosedur, sumber kecurigaan dan praktek keamananan komputer dalam dunia nyata. IPSec hanya salah satu komponen dari arsitektur sistem keamanan. Keamanan yang didapat dari pemakaian IPSec bergantung pada lingkungan operasi dimana implementasi IPSec dijalankan. Sebagai contoh kerusakan dalam keamanan sistrem operasi.

Definisi IPSec

IPSec menyediakan layanan sekuritas pada IP layer dengan mengizinkan sistem untuk memilih protokol keamanan yang diperlukan, memperkirakan algoritma apa yang akan digunakan pada layanan, dan menempatkan kunci kriptografi yang diperlukan untuk menyediakan layanan yang diminta. IPSec dapat digunakan untuk memproteksi satu atau lebih path antara sepasang Host, antara sepasang security gateway, atau antara security gateway dengan Host (istilah security gateway mengacu pada sistem intermediate yang menggunakan protokol IPSec, misalkan router dan firewall yang mengimplementasikan

IPSec). Layanan dari sekuritas yang disediakan oleh IPSec meliputi kontrol akses, integritas dan lain-lain seperti tesebut dibagian atas bekerja pada IP layer oleh karena itu layanan ini dapat digunakan oleh layer protokol yang lebih tinggi seperti TCP, UDP, ICMP, BGP dan lain-lain. IPSec DOI juga mendukung kompresi IP [SMPT 98] dimotivasi dari pengamatan bahwa ketika kompresi diterapkan dalam IPSec, hal ini akan mencegah kompresi efektif pada protokol yang lebih rendah.

Bagaimana IPSec bekerja

IPSec menggunakan dua protokol untuk menyediakan layanan keamanan lalulintas yaitu Authentication Header (AH) and Encapsulating Security Payload (ESP). Implementasi IPSec harus mendukung ESP dan juga AH.

  • Protokol AH menyediakan integritas hubungan, otentifikasi data asal dan layanan anti jawaban.
  • Protokol ESP menyediakan kerahasiaan (enkripsi), dan pembatasan aliran lalulintas kerahasiaan. ESP juga menyediakan layanan integritas hubungan, otentifikasi data asal dan layanan anti jawaban.
  • Kedua protokol ini merupakan pembawa kontrol akses berbasis distribusi kunci kriptografi dan manajemen aliran lalulintas relatif terhadap protokol keamanan.

Protokol-protokol ini dapat diterapakan secara sendiri-sendiri atau dikombinasikan antara keduanya untuk menyediakan layanan keamanan yang diinginkan dalam IPv4 dan IPv6. Masing-masing protokol mendukung dua mode penggunaan: mode transport dan mode x. Dalam mode transport protokol menyediakan proteksi terutama untuk layer protokol berikutnya. Sedangkan dalam mode tunnel protokol diterapkan untuk meneruskan paket IP. Perbedaan antara kedua mode tersebut dijelaskan pada bagian berikutnya. IPSec mengizinkan pengguna (administrator sistem) untuk mengontrol bagian-bagian terkecil dimana layanan keamanan diberikan. Sebagai contoh, salah satu dapat membuat tunnel enkripsi tunggal untuk membawa semua lalulintas antara dua sekurity gateway atau membuat tunnel enkripsi terpisah yang dibuat di masing-masing hubungan TCP antara sepasang Host yang berkomunikasi melintasi gateway tersebut. Manajemen IPSec harus menggabungkan fasilitas untuk menspesifikasikan:

  • Layanan keaman apa yang digunakan dan dengan kombinnasi yang seperti apa.
  • bagian Sekecil apa proteksi keamanan diterapkan.
  • Algoritma yang digunakan untuk mempengaruhi keamanan berbasis kriptografi.

Karena layanan keaman ini menggunakan nilai rahasia yang di-share (cryptographic keys), IPSec mengandalkan mekanisme terpisah untuk menempatkan kunci ini. (kunci ini digunakan untuk layanan otentifikasi/integritas dan layanan enkripsi).

Dimana IPSec diimplementasikan

Ada berbagai macam cara pengimplementasian IPSec dalam host atau hubungan dengan firewall atau router (untuk menciptakan sebuah security gateway). Beberapa contoh implementasi tersebut dijelaskan dibawah ini:

  1. Integrasi IPSec kedalam implementasi native IP. Cara ini membutuhkan akses ke source code IP dan cara ini mudah diaplikasikan untuk host dan security gateway.
  2. Implementasi Bump-In-The-Stack (BITS), dimana IPSec diimplementasikan dibawah implementasi protokol stack IP yang sudah ada, diantara native IP (IP asli) dan driver jaringan lokal. Akses source code untuk IP stack tidak diperlukan dalam konteks ini, membuat implementasi ini mendekati pengguanaan yang sesuai dengan sistem pewarisan. Pendekatan ini kita digunakan, pada umumnya digunakan dalam Host.
  3. Penggunaan pengolah kriptografi outboard merupakan desain keamanan karingan yang umum digunakan oleh militer dan beberapa sistem komersil. Sistem ini kadang dikenal sebagai implementasi Bump-In-The-Wire (BITW). Implementasi seperti itu dirancang untuk melayani Host atau Gateway ( atau keduanya). Biasanya device BITW adalah IP berpetunjuk. Apabila menyokong hanya Host tunggal maka ananlogi dengan BITS, tapi apabila menyokong router atau firewall maka harus berperilaku sebagai security gateway.

Security Association

Bagian ini akan menjelaskan kebutuhan manajemen untuk implementasi Ipv6 dan implementasi Ipv4 yang mengimplementasikan AH, ESP atau keduanya. Konsep “Security Association” adalah pokok dari IPSec. Semua implementasi dari AH dan ESP harus mendukung konsep Security Association seperti yang dijelaskan dibawah. Bagia terakhir menguraikan berbagai aspek manajemen Security Association, mendefinisikan manajemen kebijakan SA yang diperlukan, proses lalulintas, dan teknik manajemen SA.

Definisi dan ruang lingkup

Security Association adalah suatu hubungan simplex yang menghasilkan layanan keamanan lalulintas yang dibawanya. Layanan keamanan ini dihasilkan oleh SA dengan penggunaan AH atau ESP tapi bukan penggunaan keduanya. Jika proteksi AH dan ESP diterapkan dalam aliran lalulintas, kemudian dua tau lebih SA di-create untuk menghasilkan proteksi dalam aliran lalulintas. Untuk mengamankan komunikasi dua arah antara dua Host, atau antara dua security gateway maka dibutuhkan dua SA (satu di masing-masing arah).

Security Association secara unik dikenali dari tiga komponen yaitu Security Parameter Index (SPI), alamat tujuan IP dan protokol keamanan (AH atau ESH). Nilai SPI mencakup nilai 1 sampai 255 yang ditetapkan oleh IANA (Internet Assigned Number Authority) untuk penggunaan dimasa yang akan datang. Nilai SPI nol (0) ditetapkan untuk penggunaan implementrasi khusus lokal dan tidak dikirim lewat kabel. Sebagai contoh implementasi manajemen kunci mempunyai nilai SPI nol yang berarti tidak ada Security Association selama periode ketika implementasi IPSec telah meminta bahwa entitas manajemen kunci tersebut menetapakan SA baru, tetapi SA belum masih belum ditetapkan. Pada prinsipnya, alamat tujuan merupakan unicast address, IP broadcast address atau multicat group address. Bagaimanapun mekanisme manajemen SA IPSec saat ini hanya didefinisikan untuk SA unicast. Oleh karena itu, untuk diskusi pemaparan selanjutnya SA dideskripsikan utamanya untuk komunikasi point-to-point, meskipun konsepnya dapat diaplikasikan untuk kasus komunikasi point-to-multipoint.

Seperti telah dituliskan dibagian sebelumnya didefinisikan dua tipe SA yaitu mode transport dan mode tunnel. SA mode transport adalah SA antara dua Host. Dalam kasus dimana link security ingin digunakan antara dua sistem intermediate sepanjang path mode transport juga dapat digunakan antara dua security gateway. Dalam kasus terbaru mode transport juga digunakan untuk mensuport IP-in-IP atau GRE tunneling melalui SA mode transport. Catatan bahwa fungsi kontrol akses merupakan bagian yang penting dari IPSec secara significan dibatasi dalam konteks ini. Sehingga penggunaan mode transport harus dievaluasi secara hati-hati sebelum digunakan. Dalam Ipv4, header protokol keamanan mode transport terlihat setelah header IP dan beberapa pilihan lain dan sebelum protokol layer yang lebih tinggi (seperti TCP atau UDP) dalam IPv6, header protokol keamanan terlihat setelah header base IP dan ekstensionnya, tetapi mungkin juga terlihat sebelum atau sesudah pilihan tujuan dan sebelum protokol layer yang lebih tinggi. Dalam kasus ESP SA mode tranport menyediakan layanan keamanan hanya untuk protokol layer yang lebih tinggi darinya, tidak untuk IP header atau ekstension header yang mendahului ESP header. Dalam kasus untuk AH, proteksi juga ditambahkan ke bagian yang dipilih dari IP header, bagian yang dipilih dari ekstension header dan option pilihan (yang terdapat pada header IPv4, Hop-by-Hop ekstension header Ipv6, atau ekstension header tujuan pada Ipv6).

SA mode tunnel sebenarnya adalah SA yang diaplikasikan di IP tunnel. Dengan hanya sepasang pengecualian, kapan saja ujung manapun dari SA adalah Security gateway, SA harus mode tunnel. SA diantara dua security gateway pada dasarnya adalah SA mode tunnel seperti SA antara Host dan Security Gateway. Catatan bahwa dalam kasus dimana lalulintas ditujukan untuk security gateway seperti SNMP commands, security gateway berlaku sebagai Host dan mode transport diperbolehkan. Tapi dalam kasus tersebut security gateway tidak berlaku sebagai gateway. Seperti tertulis diatas security gateway mungkin mendukung mode transport untu menyediakan link (Hubungan) keamanan. Dua Host dapat menyusun sebuah mode tunnel antara mereka. Kebutuhan untuk transit traffic SA meliputi security gateway untuk menjadi SA tunnel mengacu ke kebutuhan untuk menghindari problem potensial dengan memperhatikan fragmentasi dan penyusunan ulang dari paket IPSec dan dalam keadaan dimana path yang banyak (melalui security gateway yang berbeda) menuju ke tujuan yang sama dibelakang security gateway.

Untuk SA mode tunnel ada header IP luar yang menspesifikasikan pemrosesan tujuan IPSec ditambah dengan header IP dalam yang menunjukkan tujuan terakhir dari peket tersebut. Header protokol keamana terlihat setelah header IP luar dan sebelum header IP dalam. Jika AH diterapkan dalam mode tunnel bagian header IP luar diperoleh proteksi seperti halnya paket IP yang disalurkan (semua header IP dalam diproteksi seperti halnya layer protokol yang lebih tinggi). Jika ESP diterapkan proteksi dikerjakan hanya pada paket yang disalurkan tidak pada header luar.

Fungsi Security Association

Layanan keamanan yang diberikan oleh SA bergantung pada protokol security yang dipilih, mode SA, endpoint SA, dan pada pemilihan layanan optional yang disertakan dalam protokol. Sebagai contoh, AH menyediakan layanan otentifikasi data asal dan integritas hubungan untuk datagram IP. AH juga memberikan layanan anti-replay, untuk membantu counter menolak service attack. AH merupakan protokol yang cocok utnuk diterapkan jika kerahasiaan kurang dipedulikan. AH juga menyediakan otentiofikasi untuk bagian yang dipilih dari header IP, yang mana mungkin dibutuhkan di beberapa keadaan. Sebagai contoh, jika integritas dari sebuah header option IPv4 atau header ekstension IPv6 harus diproteksi dalam rute antara pengirim dan penerima, AH menyediakan layanan tersebut (kecuali untuk bagian header IP yang tidak dapat ditebak dan dapat berubah.)

ESP memyediakan kerahasiaan untuk lalulintas. (kekuatan layanan kerahasiaan ini bergantung pada algoritma enkripsi yang diterapkan). ESP juga menyediakan layanan otentifikasi. Jika otentifiaksi dirundingkan untuk SA ESP, penerima juga memilih untuk menguatkan layanan anti-reply dengan fitur fyang sama seperti layanan anti-reply pada AH. Jangkauan otentifikasi yang diberikan oleh ESP lebih dangkal daripada AH, seperti header IP yang berada diluar header ESP tidak terlindungi. Hanya jika protokol layer berikutnya perlu untuk diotentifikasi, maka otentifikasi ESP merupakan pilihan yang tepat dan akan lebih efisien ruang daripada AH. Perlu diingat meskipun kerahasiaan dan otentifikasi merupakan layanan optional tetapi kedua layanan tersebut tidak dapat dihilangkan. Setidaknya salah satu dari layanan tersebut harus dipilih.

Apabila layanan kerahasiaan (confidentiality) dipilih, maka SA ESP (mode tunnel) antara dua security gateway dapat memberikan kerahasiaan aliran lalulintas parsial. Penggunaan mode tunnel menperbolehkan header IP dalam (inner IP header) untuk dienkripsikan, merahasiakan identitas dari sumber dan tujuan dari lalulintas tersebut. Lebih dari, lapisan ESP payload juga dapat dilibatkan untuk menyembunyikan ukuran dari peket. Layanan confidentiality aliran lalulintas yang sama juga dapat diberikan ketika mobile user menggunakan alamat IP dynamic dalam konteks dialup, dan menetapkan SA ESP (mode tunnel) menjadi firewall (berlaku sebagai security gateway).

Menggabungkan Security Association

Security Association dapat digabungkan menjadi satu kemasan dengan dua cara, yaitu transport adjacency dan iterated tunneling.

  • Transport Adjacency. Cara ini mengacu pada penggunaan lebih dari satu protokol security dalam datagram IP yang sama, tanpa melibatkan tunneling.

http://opensource.telkomspeedy.com/wiki/images/thumb/b/b1/Ipsec1.jpg/200px-Ipsec1.jpg

http://opensource.telkomspeedy.com/wiki/skins/common/images/magnify-clip.png

  • Iterated Tunneling. Cara ini mengacu pada pengaplikasian multiple layer dari protokol security yang dipengaruhi melalui IP tunneling. Pendekatan ini membolehkan nesting yang multiple level, karena masing-masing tunnel dimulai dan diakhiri pada tempat IPSec yang berbeda sepanjang path (lintasan). Ada tiga basic kasus pada iterated tunneling, yaitu:
  1. Kedua ujung (endpoint) untuk SA adalah sama. Tunnel dalam atau tunnel luar keduanya dapat berupa AH atau ESP.

http://opensource.telkomspeedy.com/wiki/images/thumb/a/a9/Ipsec2.jpg/200px-Ipsec2.jpg

http://opensource.telkomspeedy.com/wiki/skins/common/images/magnify-clip.png

  1. Salah satu dari ujung SA adalah sama.

http://opensource.telkomspeedy.com/wiki/images/thumb/b/b8/Ipsec3.jpg/200px-Ipsec3.jpg

http://opensource.telkomspeedy.com/wiki/skins/common/images/magnify-clip.png

  1. Tidak ada ujung yang sama.

http://opensource.telkomspeedy.com/wiki/images/thumb/e/eb/Ipsec4.jpg/200px-Ipsec4.jpg

http://opensource.telkomspeedy.com/wiki/skins/common/images/magnify-clip.png

Security Association Database (SAD)

Banyak dari detil dalam proses IP traffic dalam implementasi IPSec menjadi masalah lokal, tidak ada subject untuk menstandarkan. Bagaimanapun, beberapa aspek eksternal dari proses tersebut harus distandarisasi, untuk memastikan interoeprabilitas dan untuk menyediakan kapabilitas manajemen minimum yang perlu untuk penggunaan yang produktif dari IPSec. Bagian ini menjelaskan model umum untuk proses IP traffic relatif pada Security Association, untuk mendukung tujuan interoperabilitas dan fungsionalitas. Model yang dijelaskan berikut berupa nominal.

Ada dua database nominal dalam model tersebut, yaitu Security Policy Database (SPD) dan Security Association Database (SAD). Yang pertama menspesifikasikan kebijakan-kebijakan yang menentukan disposisi dari traffic IP pergi atau masuk dari sebuah Host, security gateway atau implementasi IPSec BITS atau BITW. Dan yang kedua berisi parameter yang dihubungkan dengan security association. Bagian ini juga akan menjelaskan tentang Selector, sekumpulan nilai field protokol layer IP dan protokol selanjutnya yang digunakan oleh Security Policy Database untuk memetakan lalulintas menjadi suatu ketentuan baku.

Security Policy Database (SPD)

Pada dasarnya Security Association adalah manajemen penyusunan yang digunakan untuk menguatkan pketentuan keamanan dalam lingkungan IPSec. SPD ini merupakan elemen dasar dalam proses SA yang menspesifikasikan layanan apa saja yang akan diberikan ke datagram IP dan dalam bentuk seperti apa. Bentuk dari database dan interfacenya diluar cakupan dari spesifikasi ini. Bagaimanapun juga, bagian ini menunjukkan manajemen fungsional minimum yang harus tersedia, untuk mengizinkan user dan administrator sistem mengontrol bagaimana IPSec diaplikasikan ke lalulintas pengiriman atau penerimaan oleh Host atau security gateway.

SPD harus dikonsultasikan selama proses seluruh traffic (inbound dan outbound), termasuk juga traffic non-IPSec. Dengan maksud untuk mendukung hal tersebut, SPD membutuhkan masukkan yang berbeda untuk traffic inbound dan outbound. Salah satunya adalah dengan memikirkannya sebagai SPD yang terpisah. Untuk datagram inbound ata outbound, tiga pilihan prose dimungkinkan, yaitu : discard, bypass IPSec atau Apply IPSec. Discard mengacu pada traffic yang tidak diizinkan keluar dari Host, melintasi security gateway, atau dikirimkan ke suatu aplikasi. Bypass IPSec mengacu pada traffic yang dizinkan lewat tanpa proteksi IPSec tambahan. Apply IPSec mengacu pada traffic yang diberikan proteksi IPSec, dan untuk traffic seperti itu SPD harus menspesifikasikan layanan keamanan yang harus disediakan, protokol untuk diterapkan, algoritma yang digunakan dan lain-lain.

Untuk setiap implementasi IPSec harus ada interface yang mengizinkan user atau administrator sistem untuk mengatur SPD. Terutama, setiap paket inbound atau outbound adalah subject yang akan diproses oleh IPSec dan SPD harus menentukan aksi apa yang akan diterapkan untuk masing-masing kasus.

SPD berisi daftar yang didalamnya terdapat ketentuan-ketentuan. Masing-masing ketentuan tersebut dikuncikan dengan satu atau lebih selector yang mendefisikan sekumpulan traffic IPSec yang diarahkan oleh ketentuan tersebut. SPD harus mengizinkan administrator keamanan untuk menspesifikasikan ketentuan-ketentuan sebagai berikut:

  • Masukan SPD adalah daftar yang berisi satu atau lebih pasangan kumpulan selector.
  • Masing-masing pasangan kumpulan selector tersebut terdiri dari satu set selector untuk SA dari initiator ke penerima dan satu set selector untuk SA dari penerima ke initiator.
  • Masing-masing kumpulan selector tersebut terdiri dari tipe selector sebagai berikut: range alamat IP asal, range alamat IP tujuan, protokol, range port sumber, range port tujuan, range tipe header Ipv6mobile (MH type), range tipe pesan ICMP, range kode ICMP, nama (list), level sensitifitas data (list).

Selector

Security Association dapat berupa bagian yang halus atau juga bagian yang kasar bergantung pada selector yang digunakan untuk mendefinisikan set dari traffic untuk Security Association. Sebagai contoh, semua traffic antara dua Host dibawa melalui SA tunggal, dan menghasilkan layanan security yang seragam. Alternatifnya, traffic antara sepasang Host dapat disebarkan melalui SA yang banyak, bergantung pada aplikasi yang sedang digunakan, dengan layanan security yang berbeda oleh SA yang berbeda juga. Sebagai catatan dalam kasus penerimaan paket dengan header ESP pada security gateway terenkapsulasi atau implementasi BITW, protokol layer transpor, port sumber/tujuan, dan nama mungkin saja menjadi kabur, tidak dapat diakses karena enkripsi atau fragmentasi.

Selector yang digunakan adalah:

  • Alamat IP tujuan (Ipv4 atau Ipv6): alamat ini dapat berupa alamat IP tunggal (unicast, anycast, broadcast (hanya untuk Ipv4), atau grup multicast), range dari alamat (termasuk nilai tinggi dan nilai rendah, alamat + mask, atau alamat wildcard. Tiga terakhir digunakan untuk mendukung lebih dari satu destination system sharing pada SA yang sama. Ketika paket yang disalurkan sampai pada ujung tunnel, protokol/alamat tujuan/SPI digunakan untuk menelaah SA untuk paket ini dalam SAD. Alamat tujuan ini muncul dari encapsulasi header IP. Ketika paket telah diproses menurut SA tunnel dan keluar dari tunnel, selector ini di “look up” dalam SPD inbound. SPD inbound mempunyai selector yang disebut alamat tujuan. Alamat tujuan IP ini adalah salah satu IP header inner (encapsulated). Dalam kasus paket transport, hanya akan ada satu header IP dan ambigunya tidak ada.
  • Alamat IP asal (Ipv4 atau Ipv6): alamat IP asal dapat berupa alamat IP tunggal (unicast, anycast, broadcast (hanya Ipv4), atau grup multicast), rang dari alamat (termasuk nilai tinggi dan nilai rendah), alamat + mask, atau alamat wildcard. Tiga terakhir digunakan untuk mendukung lebih dari satu souce system sharing dalam SA yang sama.

Nama: ada dua kasus, yaitu:

  1. User ID

·

    • String nama utuh yang berguna, contoh: mozart@foo.bar.com
    • X.500 distinguished name, contoh : C = US, SP = MA, O = GTE Internetworking, CN = Stephen T. Kent.
  1. Nama System (Host, Security Gateway, dan lain-lain)

·

    • Fully qualified DNS name (nama penuh), contoh : foo.bar.com
    • X.500 distinguished name
    • X.500 general name

Catatan :

·

o

      • User ID, digunakan untuk:
        • Implementasi native Host
        • Implementasi BITS dam BITW yang berfungsi layaknya Host dengan hanya satu user
        • Implementasi security gateway untuk proses inbound
      • Nama System digunakan untuk semua implementasi.
  • Level sensitifitas data
  • Protokol layer selanjutnya: diperoleh dari field protokol Ipv4 atau field next header Ipv6. ini merupakan nilai protokol individual. Field paket ini tidak berisi protokol layer berikutnya yang mangacu pada keberadaan header ekstension IP, misal routing header, AH, ESP, fragmentation header, destination option, Hop-by-Hop option, dll.
  • Port sumber dan tujuan (misal TCP/IP): ini merupakan nilai port TCP atau UDP individual atau wildcard port.

Tabel berikut menunjukan hubungan antara nilai “Next Header”dalam paket dan SPD dan nilai selector port yang diperoleh untuk SPD dan SAD.


Next header dalam paket Protokol layer transport dalam SPD Nilai field selector port yang didapat dalam SPD dan SAD ESP ESP or ANY ANY (i.e., dont’t look at it) -don’t care- ANY ANY (i.e., dont’t look at it) Specific value fragment Specific value NOT ANY (i.e., drop packet) Specific value not fragment Specific value Actual port selector field

Ipv6 mobility Header Message Type (MH Type) [mobile IP]: ini adalah selector 8-bit yang mengidentifikasi mobility message tertentu dalam permintaan. Ini harus digunakan hanya jika protokol layer berikutnya didefinisikan sbagai mobility header Ipv6. MH type tidak ada dalam kasus penerimaan paket dengan header ESP. ICMP Message Type (tipe pesan ICMP): ini mendefinisikan tipe dari pesan ICMP. Selector ini dapat berpa list. ICMP message type tidak ada pada kasus penerimaan paket dengan header ESP. ICMP code: ICMP code mendefinisikan penyebab khusus dari ICMP message. Selector ini dapat berupa list. ICMP code tidak ada dalam kasus penerimaan paket dengan header ESP. Security Association Database Pada implementasi IPSec ada Security Associatiation Database, dimana tiap-tiap masukan mendefinisikan parameter yang berhubungan dengan satu SA. Masing-masing SA mempunyai satu masukkan (entry) dalam SAD. Untuk proses outbound, masukan-masukan tersebut ditunjukan dengan masukkan-masukkan dalam SPD. Untuk proses inbound, tiap-tiap masukkan dalam SAD diindex-kan oleh alamat IP tujuan, tipe protokol IPSec, dan SPI. Field SAD berikut digunakan dalam melalukan proses IPSec: Sequence Number Counter: sebuah nilai 32-bit yang digunakan untuk membangkitkan sequence number field dalam header AH atau ESP Sequence Counter Overflow: flag yng mengindikasikan overflow yang mana dari sequence number counter yang harus membangkitkan event yang bisa diaudit dan mencegah transmisi paket tambahan dalam SA. Anti-Reply Window: counter 32-bit dan bit-map (peta-bit) yang digunakan untuk memperkirakan apakah pket inbound AH atau ESP adalah jawaban (reply). Algoritma otentifikasi, kunci (key) dan lain-lain. Algoritma enkripsi ESP, key, IV mode, IV dan lain-lain Jika layanan otentifikasi tidak dipilih, maka nilai field ini null. Lifetime dari Security Association: interval waktu dimana SA harus diganti dengan SA yang baru (dan SPI baru) atau dimatikan, serta indikasi aksi mana yang akan dilakukan. Ini dapat diekspresikan dengan waktu atau byte count (cacah byte), atau gabungan dari keduanya. Cara untuk menangani refreshing keys pada saat SA habis masanya dapat dilakukan dengan pendekatan sebagai berikut: a.Jika digunakan cacah byte, maka implementasi harus menghitung jumlah byte dimana algoritma IPSec diaplikasikan. Untuk ESP algoritma enkripsi dan untuk AH algoritma otentifikasi. b.Harus ada dua jenis lifetime, soft lifetime yang meperingatkan implementasi untuk menginisialisasi aksi seperti menyiapkan penggantian SA dan hard lifetime ketika SA yang bersangkutan berakhir. c.Jika seluruh paket tida dikirimkan selama masa hidup SA, paket tersebut harus dibuang. IPSec protocol mode (mode protokol IPSec): tunnel, transport atau wildcard. Mengindikasikan mode yang mana dari AH atau ESP yang diaplikasikan di SA tersebut. Path MTU.

Kombinasi Dasar Security Association Bagian ini membahas empat contoh kombinasi Security Association yang harus didukung oleh Host atau Security Gateway yang memenuhi IPSec. Kombinasi tambahan dari AH dan/atau ESP dalam mode tunnel dan/atau transport dapat disertakan tergantung pada pertimbangan pengimplemntasi (implementor). Implementasi yang mendukung harus mempunyai kemampuan membangkitkan keempat kombinasi dan juga harus dapat menerima dan memroses kombinasi apapun. Diagram dibawah ini menunjukan kasus-kasus dasar: Keterangan: = = = = = satu atau lebih SA (AH atau ESP, transport atau tunnel) – – – – = Hubungan Hx = host x SGx = Security Gateway x X* = X yang mendukung IPSec

1.kasus 1 : menyediakan security end-to-end antara 2 host melewati internet atau intranet


mode tunnel atau transport dapat dipilih oleh Host, jadi header paket antara H1 dan H2 dapat terlihat sebagai berikut: Transport Tunnel 1. [IP1][AH][next] 4. [IP2][AH][IP1][next] 2. [IP1][ESP][next] 5. [IP2][ESP][IP1][next] 3. [IP1][AH][ESP][next] jika diperhatikan tidak ada persyaratan untuk mendukung general nesting, tapi dalam mode transport, AH dan ESP dapat diterapkan bersama-sama ke dalam paket, prosedur penetapan SA harus memastikan ESP pertama, kemudian AH di terapkan pada paket. 2.kasus 2: kasus ini mengilustrasikan pendukung jaringan privat maya yang sederhana.

hanya mode tunnel yang dibutuhkan disini. Jadi header dalam paket antara SG1 dan SG2 terlihat sebagai berikut: Tunnel 4. [IP2][AH][IP1][next] 5. [IP2][ESP][IP1][next] 3.kasus 3: kasus ini merupakan kombinasi kasus 1 dan 2, penambahan end-to-end security antara host pengirim dan penerima.

4.kasus 4: kasus ini untuk mengatasi sistuasi dimana remote host (H1) menggunakan internet untuk mencapai organization firewall (SG2) dan kemudian melakukan akses ke beberapa server atau mesin yang lain (H2). Remote Host dapat berupa mobile Hosat (H1) dialing up ke server PPP/ARA lokal dalam internet dan kemudian melintasi internet ke home organization firewal (SG2).

hanya mode tunnel yang diperlukan antata H1 dan SG2. dalam kasus ini pengirim harus mengaplikasikan header transport sebelum header tunnel.

ESP (Encapsulation Security Protocol)

Format Paket ESP Header protokol (Ipv4, Ipv6 atau ekstension) yang mendahului header ESP berisi nilai 50 dalam field protokol (Ipv4) atau header selanjutnya (Ipv6, Ekstension). Gambar dibawah mengilustrasikan format level atas dari paket ESP. Paket diawali dengan field 4-byte (SPI dan sequence number). Kemudian selanjutnya adalah payload data, yang mempunyai substruktur bergantung pada pilihan algoritma enkripsi dan modenya, dan penggunaan dari TFC padding. Setelah payload data adalah padding danfield pad length dan field header selanjutnya. Kemudian dilengkapi dengan ICV (Integrity Check Value).

0 1 2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Security Parameters Index (SPI) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload data*(Variable) | ~ ~ | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Padding (0 – 255 byte) | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | pad length | Next Header + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integrity Check Value-ICV (variable) + ~ ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ format paket ESP level atas

  • meliputi field payload, sinkronisasi dat kriptograpic, vektor inisialisasi.

Pembawa ESP terdiri dari Padding, pad length dan next header field. Dan tambahannya, pembawa data ESP implisit (yang tidak ditransmisikan) meliputi integrity computation yang dijelaskan sebagai berikut. Jika layanan integritas dipilih, integrity computation meliputi SPI, sequence number, payload data dan pembawa ESP (eksplisit dan implisit). Jika layanan confidentiality dipilih, chipertext terdiri dari payload data (kecuali untuk sinkronisasi data kriptografi yang mungkin diikutkan) dan pembawa ESP (eksplisit). Ketetapan baru dibuat untuk memasukkan padding untuk aliran traffic yang terjaga kerahasiaannya yaitu setelah payload data dan sebelum pembawa ESP (ESP triler). Gambar dibawah menunjukkan mengilusrasikan substruktur dari payload data.

0 1 2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Security Parameters Index (SPI) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IV (Optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Rest Payload data*(Variable) | ~ ~ | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | TFC Padding* (optional, variable) | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Padding (0 – 255 byte) | +-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | pad length | Next Header + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Integrity Check Value-ICV (variable) + ~ ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Substruktur payload data

  • Jika mode tunnel yang digunakan, maka implementasi IPSec dapat menambah Traffic Flow Confidetiality (TFC).

Jika mode algoritma kombinasi yang diterapkan, ICV eksplisit yang terlihat pada gambar diatas akan dihilangkan. Tabel berikut mengacu pada field-field pada gambar pertama dan mengilustrasikan bagaimana beberpa pilihan algoritma, masing-masing dengan model pemrosesan yang berbeda mempengaruhi field-field diatas.

  1. of bytes

Requ’ d [1] What Encrypt cover What Integ covers What is Xmtd SPI 4 M

Y Plain Seq# (low order bits) 4 M

Y Plain IV Variable O

Y plain IP datagram [2] Variable M or D Y Y Cipher [3] TFC Padding [4] Variable O Y Y Cipher [3] Padding 0-255 M Y Y Cipher [3] Pad length 1 M Y Y Cipher [3] Next header 1 M Y Y Cipher [3] Seq# (high order bits) 4 If ESN [5]

Y Not xmtd ICV Padding Variable If need

Y Not xmtd ICV Variable M [6]


plain

Keterangan : [1] M = mandatory; ) = optional; D = Dummy [2] jika mode tunnel -> IP datagram jika mode transport -> next header dan data [3] chipertext jika enkripsi dipilih [4] hanya dapat digunakan jika spesififkasi payload adalah real length [5] extended sequence number [64 bit] [6] mandatory jika algoritma integrasi terpisah digunakan

  1. of bytes

Requ’ d [1] What Encrypt cover What Integ covers What is Xmtd SPI 4 M


Plain Seq# (low order bits) 4 M


Plain IV Variable O

Y plain IP datagram [2] Variable M or D Y Y Cipher TFC Padding [4] Variable O Y Y Cipher Padding 0-255 M Y Y Cipher Pad length 1 M Y Y Cipher Next header 1 M Y Y Cipher Seq# (high order bits) 4 If ESN [4]

Y [5] ICV Padding Variable If need

Y [5] ICV Variable O [6]


plain

Keterangan : [1] M = mandatory; O = optional; D = Dummy [2] jika mode tunnel -> IP datagram jika mode transport -> next header dan data [3] hanya dapat digunakan jika payload menspesifikasi “real” length [4] extended sequence number [64 bit] [5] algoritma memutuskan apakah akan ditransmisikan, tetapi dalam kasus yang sama hasilnya tidak terlihat. [6] algoritma menentukan apakah field ini ada. Optional maksudnya adalah field akan dihilangkan jika tidak digunakan. Field “Mandatory” selalu ada dalam format paket ESP, untuk semua SA. Security Parameter Index (SPI) SPI adalah nilai 32 bit yang digunakan oleh penerima untuk mengidentifikasi SA ke mana paket masuk terikat. Field SPI adalah mandatory. Untuk SA unicast, SPI digunakan sendiri untuk menspesifikasi SA, atau dapat digunakan dalam hubungan dengan tipe protokol IPSec. Dalam implemetasi untuk multicast. Tiap-tiap masukan dalam SAD harus mengindikasikan apakah SA akan mengecek alamat IP sumber dan tujuan. Indikasi dapat direpresentasikan dengan dua bit, pertama dihubungkan dengan alamat IP sumber dan yang lainnya untuk alamat IP tujuan. Nilai “1” untuk masing-masing bit mengindikasikan kebutuhan untuk membandingkan field alamat yang bersesuaian sebagai bagian dari proses looup. Sebagai contoh SA unicast mempunyai nilai kedua bit tersebut samadengan nol jika tidak ada alamat IP sumber atau tujuan digunakan untuk pencocokan (matching). Untuk multicast yang hanya mempercayakan pada alamat tujuan untuk menspesifikasikan grup multicast, hanya bit kedua yang akan si set “1”, mentiratkan kebutuhan penggunaan alamat IP tujuan dan menentukan SA yang tepat. Sequence Number and Extended (64 bit) Sequence Number Sequence number adalah field 32-bit yang berisi nilai pencacah yang bertambah satu untu tiap pakey yang dikirim. Untuk unicast SA atau single-sender multicast SA, pengirim harus menaikkan satu field ini untuk setiap paket yang ditransmisikan. Field ini “mandatory”. Extende Sequence Number mendukung implementasi IPSec kecepatan tinggi. Penggunaan ESN (Extended Sequence Number) harus dirundingkan dengan protokol manajemen SA. (Fitur ESN ini mudah diaplikasikan di multicast sebaik di unicast). Payload Data Payload data adalah field variabel panjang berisi data (dari paket IP asli) yang dideskriosikan dengan field next header. Padding (untuk enkripsi) Dua faktor utama yang memotivasi penggunaan field padding adalah: Jika algoritma enkripsi digunakan maka dibutuhkan plaintext untuk menjadi sebuah perkalian dari beberapa bilangan dalam bytes. Padding juga diperlukan untuk memastikan chipertext yang dihasilkan berhenti pada batas 4-byte. Pad length Field Pad length mengindikasikan sejumlah byte pad mendahului seketika dalam field padding. Next Header Next Header adalah mandatory, field 8-bit yang mengidentifikasi tipe dari data berada dalam field payload data. Traffic Flow Confidentiality (TFC) Padding Untuk mengatasi kelemahan dari field padding dimana field padding ini hanya mempunyai panjang terbatas (255 byte). TFC digunakan untuk menyembunyikan karakteristik traffic.

ESP Processing ESP dapat diaplikasikan dengan dua cara, yaitu mode transport dan mode tunnel. 1.Transport mode processing

Dalam mode transport, ESP dimasukkan setelah header IP dan sebelum protokol layer berikutnya, seperti TCP, UDP, ICMP, dan lain-lain. Diagram berikut mengilustrasikan penempatan mode transport ESP untuk paket Ipv4. Sebelum penerapan ESP

—————————-

IPv4 |orig IP hdr | | |

|(any options)| TCP | Data |

—————————-

Sesudah penerapan ESP

————————————————-

IPv4 |orig IP hdr | ESP | | | ESP | ESP|

|(any options)| Hdr | TCP | Data | Trailer | ICV|

————————————————-

|<—- encryption —->|

|<——– integrity ——->|

Dalam IPv6, ESP dipandang sebagai end-to-end payload, dan muncul setelah Hop-by-Hop, routing dan header fragmentasi elsteneion.

Sebelum penerapan ESP

—————————————

IPv6 | | ext hdrs | | |

| orig IP hdr |if present| TCP | Data |

—————————————

Sesudah penerapan ESP

———————————————————

IPv6 | orig |hop-by-hop,dest*,| |dest| | | ESP | ESP|

|IP hdr|routing,fragment.|ESP|opt*|TCP|Data|Trailer| ICV|

———————————————————

|<— encryption —->|

|<—— integrity ——>|

  • = apabila ada, dapat diletakkan sebelum ESP, sesudah ESP atau keduanya.

2.Tunnel mode processing Dalam mode tunnel, header IP “inner” membawa alamat sumber dan tujuan. Dalam mode tunnel, ESP melindungi seluruh paket IP inner, termasuk juga header IP inner. Posisi ESP dalam mode tunnel relatif terhada header IP outer, ini sama dengan ESP dalam mode transport. Diagram berikut mengilustrasikan posisi ESP dalam mode tunnel untuk paket IPv4 dan IPv6.

Sebelum penerapan ESP

—————————-

IPv4 |orig IP hdr | | |

|(any options)| TCP | Data |

—————————-

Sesudah penerapan ESP

———————————————————–

IPv4 | new IP hdr* | | orig IP hdr* | | | ESP | ESP|

|(any options)| ESP | (any options) |TCP|Data|Trailer| ICV|

———————————————————–

|<——— encryption ———>|

|<————- integrity ————>|

Sebelum penerapan ESP

—————————————

IPv6 | | ext hdrs | | |

| orig IP hdr |if present| TCP | Data |

—————————————

Setelah penerapan ESP

————————————————————

IPv6 | new* |new ext | | orig*|orig ext | | | ESP | ESP|

|IP hdr| hdrs* |ESP|IP hdr| hdrs * |TCP|Data|Trailer| ICV|

————————————————————

|<——— encryption ———->|

|<———— integrity ————>|

  • = jika ada, konstruksi dari header/ekstension IP outer dan modifikasi header/ekstension IP inner ada dalam dokumen Security Architecture.

Penerapan ESP dalam Protokol UDP Format Header UDP-encapsulated ESP

0 1 2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port | Destination Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Length | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ESP header [RFC 2406] | ~ ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Header UDP adalah header standar, dimana: Port sumber dan port tujuan sama seperti yang dipakai oleh traffic IKE. Checksum ditransmisikan sebagai nilai nol. Penerima tidak harus bergantung pada UDP Checksum saat bernilai nol

Nilai SPI dalam ESP tidak boleh nol. Diagram penerapan ESP pada UDP 1.ESP/UDP mode Transport Enkapsulasi

Sebelum penerapan ESP/UDP

—————————-

IPv4 |orig IP hdr | | |

|(any options)| TCP | Data |

—————————-

Setelah penerapan ESP/UDP

——————————————————-

IPv4 |orig IP hdr | UDP | ESP | | | ESP | ESP|

|(any options)| Hdr | Hdr | TCP | Data | Trailer |Auth|

——————————————————-

|<—– encrypted —->|

|<—— authenticated —–>|

1)Prosedur enkapsulasi ESP digunakan 2)Header UDP dimasukkan 3)Panjang total, protokol dan field header checksum dalam header IP diubah untuk mencocokkan paket IP Dekapsulasi 1)Header UDP dibuang dari paket. 2)Panjang total, protokol dan field header checksum dalam header IP baru diubah untuk mencocokkan dengan paket IP hasil. 3)Prosedur dekapsulasi ESP digunakan. 4)Prosedur dekapsulasi NAT Mode transport digunakan.

2.ESP/UDP mode Tunnel Enkapsulasi

Sebelum penerapan ESP/UDP

—————————-

IPv4 |orig IP hdr | | |

|(any options)| TCP | Data |

—————————-

Setelah Penerapan ESP/UDP

————————————————————–

IPv4 |new h.| UDP | ESP |orig IP hdr | | | ESP | ESP|

|(opts)| Hdr | Hdr |(any options)| TCP | Data | Trailer |Auth|

————————————————————–

|<———— encrypted ———–>|

|<————- authenticated ————>|

1)Prosedur enkapsulasi ESP digunakan. 2)Header UDP dimasukkan. 3)Panjang total, protokol dan field header checksum dalam header IP baru diubah untuk mencocokkan dengan paket IP hasil.

Dekapsulasi 1)Header UDP dihapus dari paket. 2)Panjang total, protokol dan field header checksum dalam header IP baru diubah untuk mencocokkan paket IP hasil. 3)Prosedur dekapsulasi ESP dilaksanakan. 4)Dekapsulasi NAT mode tunnel dilaksanakan

AH (Authentication Header)

Format AH Gambar dibawah ini meunjukkan format dari AH.

0 1 2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Next Header | Payload Len | RESERVED |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Security Parameters Index (SPI) |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Sequence Number Field |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| |

+ Integrity Check Value-ICV (variable) |

| |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Format AH

Tabel berikut mengacu pada field-field penyusun AH, ditambah field lain yang masuk dalam integrity computationdan mengilustrasikan field yang mana yang dilapisi ICV dan apa yang ditransmisikan.

  1. of bytes

Requ’d [1] What integ covers What is Xmtd IP Header variable M [2] plain Next header 1 M Y plain Payload length 1 M Y plain RESERVED 2 M Y plain SPI 4 M Y plain Seq# (low order 32-bit) 4 M Y plain ICV Variable M Y [3] plain IP datagram [4] Variable M Y plain Seq# (high order 32-bit) 4 If ESN Y Not xmtd ICV padding Variable If need Y Not xmtd


Keterangan: [1] – M andatory [2] – perhitungan Integrity Check Value ICV AH mengkomputasi field sebagai berikut: 1.Field header IP 2.Header AH (next header, Payload length, SPI, Sequence number (low order 32 bit), dan ICV (dimana akan diset nol untuk komoutasi ini, serta byte padding eksplisit (jika ada) 3.Protokol data level selanjutnya. 4.Bit itnggi dari ESN (jika diterapkan), dan padding implisit yang dibutuhkan oleh algoritma integritas (integrity algorithm) [3] – Zero’d sebelum kalkulasi ICV [4] – Jika mode tunnel -> IP datagram Jika mode tranport -> next header dan data

Field-field yang menyusun AH didefinisikan sebagai berikut:

Next Header Next Header adalah field 8-bit yang mengidentifikasi tipe dari next payload setelah AH. Payload Length Field 8-bit ini menspesifikasikan panjang AH dalam 32-bit word (4-byte unit), dikurangi “2”. Tujuannya adalah mengekspresikan panjang AH telah dipilih untuk mengizinkan penggunaan header IPv6 ekstension. Dalam kasus ini dari algoritma integritas yang menghasilkan nilai otentifikasi 96-bit, ditambah 3 32-bit word, field length akan menjadi 4. untuk IPv4, total panjang dari header harus merupakan kelipatan dari 8-octet unit. RESERVED Field 16-bit yang dicadangkan untuk penggunaan dimasa depan. SPI (Sequrity Parameter Index) SPI merupakan nilai 32-bit yang digunakan olehpenerima untuk mengidentifikasi dari SA mana paket kiriman disalurkan. Sequence Number Fiel 32-bit yang tak bertanda yang berisi nilai pancacah yang akan bertambah satu setiap paket dikirimkan. Extended (64-bit) Sequence Number Untuk mendukung implementasi IPSec yang kecepatannya lebih tinggi. Integrty Check Value (ICV) ICV adalah field yang berisi nilai cek untuk integritas. Field ini harus mempunyai panjang kelipatan 32-bit.

Authetication Header Processing AH dapat diaplikasikan dengan dua cara, yaitu: 1.Mode Transport. Dalam mode transport AH dimasukkan setelah header IP dan sebelum protokol layer selanjutnya, seperti TCP, UDP, ICMP dan lain-lain. Atau sebelum header IPSec lain yang telah dimasukkan. Diagram berikut mengilustrasikan mode transport AH diposisikan pada semua paket IPv4.

Sebelum penerapan AH

—————————-

IPv4 |orig IP hdr | | |

|(any options)| TCP | Data |

—————————-


Setelah penerapan AH

———————————

IPv4 |orig IP hdr | | | |

|(any options)| AH | TCP | Data |

———————————

|<——- authenticated ——->|

kecuali untuk mutable fields ifeld yang dapat berubah)

dalam IPv6, AH dipandang sebagai end-to-end payload, dan dapat muncul setelah hop-by-hop, routing, dan header ekstensi fragmentasi. Header option tujuan dapat muncul sebelum atau setelah atau sebelum dan sesudah header AH tergantung semantic yang diinginkan. Diagram berikut mengilustrasikan penempatan AH pada mode tranport dalam paket IP.

Sebelum penerapan AH

—————————————

IPv6 | | ext hdrs | | |

| orig IP hdr |if present| TCP | Data |

—————————————


Setelah penerapan AH

————————————————————

IPv6 | |hop-by-hop, dest*, | | dest | | |

|orig IP hdr |routing, fragment. | AH | opt* | TCP | Data |

————————————————————

|<—- authenticated except for mutable fields ———–>|

* = dapat diletak sebelum, sesudah atau keduanya.

2.mode tunnel dalam mode tunnel, header IP “inner” membawa alamat sumber dan tujuan IP, sedangkan header IP “outer” berisi alamat IPSec “peers”, seperti alamat Security gateway. Dalam mode tunnel, AH melindungi seluruh paket IP inner, meliputi seluruh header IP inner. Posisi AH dalam mode tunnel, relatif pada header IP outer, adalah sama seperi AH dalam mode transport. Diagram berikut mengilustrasikan penempatan AH mode tunnel dalam IPv4 dan IPv6.

————————————————

IPv4 | new IP hdr* | | orig IP hdr* | | |

|(any options)| AH | (any options) |TCP | Data |

————————————————

|<- authenticated except for mutable fields –>|

| in the new IP hdr |

————————————————————–

IPv6 | | ext hdrs*| | | ext hdrs*| | |

|new IP hdr*|if present| AH |orig IP hdr*|if present|TCP|Data|

————————————————————–

|<– authenticated except for mutable fields in new IP hdr ->|

* = if present, construction of outer IP hdr/extensions and

modification of inner IP hdr/extensions is discussed in

the Security Architecture document.

Aplikasi

Contoh software yang yang digunakan untuk IP Security salah satunya adalah CIPE (Cryptographic IP Encapsulation). CIPE (Cryptographic IP Encapsulation) CIPE merupakan suatu software memberikan fasilitas bagi interkoneksi subnetwork yang aman (menghadapi eavesdropping, termasuk traffic analysis, dan faked message injection) melintasi jaringan paket yang tidak aman seperti Internet. CIPE mengenkripsi data pada level jaringan. Paket-paket yang berjalan antar host pada jaringan dienkripsi. Mesin enkripsi ditempatkan dekat driver yang mengirim dan menerima paket. CIPE dapat digunakan dalam tunnelling, dalam rangka menciptakan Virtual Private Network. Enkripsi level rendah memiliki keuntungan yaitu dapat dibuat transparan antar dua jaringan yang terhubung dalam VPN, tanpa merubah software aplikasi.

Ringkasan dari dokumentasi CIPE: Standar-standar IPSEC mendefinisikan sejumlah protokol yang dapat digunakan (di antara berbagai hal lain) untuk membangun VPN yang terenkripsi. Namun demikian, IPSEC lebih seperti himpunan protokol kelas berat dan rumit dengan banyak pilihan, implementasi seluruh himpunan protokol masih jarang digunakan dan beberapa isu (seperti manajemen kunci) masih belum terpecahkan. CIPE menggunakan pendekatan yang lebih sederhana, yaitu banyak hal yang dapat diparameterkan (seperti pilihan algoritma enkripsi yang digunakan) adalah pilihan tetap pada saat instalasi. Hal ini membatasi fleksibilitas, namun memungkinkan implementasi yang sederhana (maka efisien, mudah didebug).

Teknologi VPN berbasiskan IPSec yang melakukan proses enkripsi terhadap data yang melewati jaringan VPN, merupakan salah satu dari implementasi Secure VPN.

Protocol IPSec bekerja di layer network. Memiliki dua buah security protocol yaitu Authentication Header (AH) dan Encapsulation Security Payload (ESP). Serta dilengkapi dengan Internet Key Exchange (IKE) yang akan digunakan untuk mekanisme pertukaran kunci.

IPSec di design untuk memberikan keamanan trafik pada network layer dengan memberikan layanan utama yaitu:

Confidentially : Menjamin kerahasiaan data.

Integrity : Menjamin integritas data dalam proses transfer data.

Authenticity : Menjamin keaslian bahwa data berasal dari pengirim yang sebenarnya.

Anti Reply : Menjamin tidak akan terjadi transaksi berulang-ulang


enkapsulasi authentication header.jpg

enkapsulasi encapsulation security payload.jpg

Konfigurasi IPSec sederhana dengan mngunakan GNS3

IP Sec merupakan salah satu cara untuk membuat koneksi VPN pada Router Cisco, di samping menggunakan Tunneling Protokol, seperti L2F, L2TP dan GRE. Berikut salah satu contoh konfigurasi sangat sederhana IP Sec di dunia nyata.

http://ansofy.files.wordpress.com/2008/08/ip-sec-vpn.jpg?w=300&h=240

Karena keterbatasan yang penulis miliki, maka saat ini belum bisa dicoba di dunia nyata : ( . Tapi untunglah saat ini kita bisa menggunakan GNS3 yang bisa digunakan sebagai sarana belajar bagi yang belum mempunyai peralatan cisco beneran : ). Kondisi yang akan ditest dengan menggunakan GNS3 pada kesempatan ini bisa dilihat dari diagram berikut ini :

http://ansofy.files.wordpress.com/2008/08/ipsec-vpn-gns3.jpg?w=300&h=273

Konfigurasi IP pada Router R1

hostname R1

!

int f0/0

ip add 192.168.1.254 255.255.255.0

no shut

desc Connection to LAN

!

int s1/0

ip add 12.34.56.2 255.255.255.252

no shut

desc Connection to ISP

!

ip route 0.0.0.0 0.0.0.0 12.34.56.1

Konfigurasi IP pada Router R2

hostname R2

!

int f0/0

ip add 192.168.2.254 255.255.255.0

no shut

desc Connection to LAN

!

int s1/0

ip add 23.45.67.2 255.255.255.252

no shut

desc Connection to ISP

!

ip route 0.0.0.0 0.0.0.0 23.45.67.1

Konfigurasi IP pada Router ISP

hostname ISP

!

int s1/0

ip add 12.34.56.1 255.255.255.252

no shut

desc Connection to R1

!

int s/0

ip add 23.45.67.1 255.255.255.252

no shut

desc Connection to R2

Konfigurasi PC-Router PC1

hostname PC1

!

int fa0/0

ip add 192.168.1.10 255.255.255.0

no shut

desc PC1

!

no ip routing

ip default-gateway 192.168.1.254

Konfigurasi PC-Router PC2

hostname PC2

!

int fa0/0

ip add 192.168.2.10 255.255.255.0

no shut

desc PC2

!

no ip routing

ip default-gateway 192.168.2.254

Konfigurasi IP Sec pada R1 disertai sedikit penjelasannya :

1. Konfigurasi isakmp yang dipakai :

– Pre-shared authentication,

– Aes encryption,

– Sha hash algorithm and

– Diffy-Helman group 5

Fase ini dikenal sebagai fase 1 atau key exchange phase of ipsec vpn negotiation.

Konfigurasi yang kita ambil harus sama di kedua sisi, dalam hal ini di R1 dan R2

R1(config)#crypto isakmp policy 1

R1(config-isakmp)#authentication pre-share

R1(config-isakmp)#encryption aes

R1(config-isakmp)#hash sha

R1(config-isakmp)#group 5

2. Konfigurasi autentikasi dari pre-shared key :

R1(config-isakmp)#exit

R1(config)#crypto isakmp key ansofy address 23.45.67.2

Key yang dipakai untuk kedua sisi, R1 dan R2 harus sama,

Ip addressnya adalah ip address external dari router vpn yang lain.

3. Konfigurasi ip sec transform-set menggunakan enkripsi “aes” dan algoritma “sha hash”. Pilihan lain menggunakan des atau 3des dan md5 hash.

R1(config)#crypto ipsec transform-set esp-aes-sha esp-aes esp-sha-hmac

4. Buatlah sebuah access-list untuk mengidentifikasi traffik yang akan dienkripsi.

Dari router R1, kita akan mengenkripsi trafik dengan source address 192.168.1.0/24 dan destination address 192.168.2.0 / 24

R1(config)#access-list 102 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

5. Lalu kita akan konfigurasi crypto map. Bagian konfigurasi ini mengikat semua bagian yang telah dikonfigurasi sebelumnya.

R1(config)#crypto map vpn 10 ipsec-isakmp

% NOTE: This new crypto map will remain disabled until a peer and a valid access list have been configured.

Gunakan perintah match address untuk mencocokan akses list dari traffik yang akan dienkripsi

R1(config-crypto-map)#match address 101

Set tranform-set sesuai yang kita definisikan dari konfigurasi pada langkah 3

R1(config-crypto-map)#set transform-set esp-aes-sha

Set peer dengan ip address dari router vpn lawannya.

R1(config-crypto-map)#set peer 23.45.67.2

6. Konfigurasi crypto map vpn pada interface “outside” dari router

R1(config-crypto-map)#exit

R1(config-if)#int s1/0

R1(config-if)#crypto map vpn

%CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

Untuk mengkonfigurasi IPSec pada R2 caranya persis sama dengan R1, hanya ada beberapa hal yang perlu diubah, terutama IP yang jangan sampai terbalik J.

Kalau kita sudah memahami step-step dalam konfigurasi IPSec, maka tidak ada salahnya kalau kita tinggal copas aja konfigurasi sederhana yang telah kita buat :

Konfigurasi IPSec pada R1

crypto isakmp policy 1

authentication pre-share

encryption aes

hash sha

group 5

!

crypto isakmp key ansofy address 23.45.67.2

crypto ipsec transform-set esp-aes-sha esp-aes esp-sha-hmac

access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

!

crypto map vpn 10 ipsec-isakmp

match address 101

set transform-set esp-aes-sha

set peer 23.45.67.2

!

int s1/0

crypto map vpn

Konfigurasi IPSec pada R2

crypto isakmp policy 1

authentication pre-share

encryption aes

hash sha

group 5

!

crypto isakmp key ansofy address 12.34.56.2

crypto ipsec transform-set esp-aes-sha esp-aes esp-sha-hmac

access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255

!

crypto map vpn 10 ipsec-isakmp

match address 101

set transform-set esp-aes-sha

set peer 12.34.56.2

!

int s1/0

crypto map vpn

Setelah semua konfigurasi seadanya beres dilakukan, tinggal kita lakukan pengetesan, seperti biasa, ping dan traceroute menjadi senjata bagi para networker, selain itu juga diperlihatkan : sh crypto engine connections active, yang memperlihatkan kepada kita bahwa proses enkripsi dan deskripsi telah berjalan. Adapun konfigurasi lengkapnya yg terangkum dalam show run dari setiap device, tidak diperlihatkan di sini, supaya tulisannya lebih singkat.

PC1#ping 192.168.2.10

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.2.10, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 16/37/60 ms

PC1#traceroute 192.168.2.10

Type escape sequence to abort.

Tracing the route to 192.168.2.10

1 192.168.1.254 8 msec 8 msec 8 msec

2 192.168.2.10 24 msec 20 msec *

PC2#ping 192.168.1.10

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.10, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 16/31/56 ms

PC2#traceroute 192.168.1.10

Type escape sequence to abort.

Tracing the route to 192.168.1.10

1 192.168.2.254 8 msec 4 msec 8 msec

2 192.168.1.10 56 msec 16 msec *

R1#sh crypto engine connections active

ID Interface IP-Address State Algorithm Encrypt Decrypt

1 Serial1/0 12.34.56.2 set HMAC_SHA+AES_CBC 0 0

2000 Serial1/0 12.34.56.2 set HMAC_SHA+AES_CBC 0 24

2001 Serial1/0 12.34.56.2 set HMAC_SHA+AES_CBC 24 0

R2#sh crypto engine connections active

ID Interface IP-Address State Algorithm Encrypt Decrypt

1 Serial1/0 23.45.67.2 set HMAC_SHA+AES_CBC 0 0

2000 Serial1/0 23.45.67.2 set HMAC_SHA+AES_CBC 0 24

2001 Serial1/0 23.45.67.2 set HMAC_SHA+AES_CBC 24 0