Teori Dasar IPSec

Halo bro. Pie kabare ? Podo iseh urip kan ya ? Alhamdulillah !! :D

Ok guys, pada Lab. 55 kita sudah belajar GRE Tunnel basic kan ya.. Ciee udah jago nih kayaknya wkwk. Tapi ingat !! tunnel yang telah kita buat tersebut pastinya melewati internet kan ? Dan tidak salah lagi, internet merupakan tempat nongkrong para anak alay,, #eh salah fokus... bener juga sih banyak anak alay dari medsos juga.. Yang saya maksud di sini adalah Hacker. Yup, para teroris di dunia cyber (jujur saja saya juga pengen bisa ngehack, meretas untuk kebaikan umat cie'elahh :'v)

Karena itulah, security adalah hal yang sangat vital di dunia networking. Okelah misalkan kita jago routing, jago bikin network yang kompleks, tapi kalo nggak secure ? Think about it !!
Salah satu sekurity protocol yang populer digunakan untuk proteksi jaringan internet saat ini adalah IP Security (IPSec). IPSec adalah sebuah framework open standard, yang dikembangkan oleh Internet Engineering Task Force (IETF) yang menyediakan keamanan, menjanjikan sekuriti berbasis kriptografi dan enkripsi. IPSec dijalankan pada network layer pada jaringan, berfungsi untuk melindungi dan melakukan otentikasi paket IP antara device IPSec (peer).

Oke gan, dari sini mulai serius ya..siap2 nangkep istilah2 yang (mungkin) baru .. Kalo ga paham bisa cari di google, atau bisa tanya ke saya, ntar biar saya carikan di google juga :D

IPSec diimplementasikan dalam 3 jalan, yaitu :
1. Network to network
2. Host to network
3. Host to host
No explaination, I'm sure you got the point :)

IPSec menyediakan servis jaringan keamanan berikut ini. Servis2 berikut bersifat optional. Administrator yang menentukan penggunaan salah satu atau lebih servis berikut :

1. Data Confidentially, pengirim IPSec dapat mengenkripsi paket sebelum mentransmisikannya melalui sebuah jaringan, untuk meyakinkan bahwa data yang dikirim tidak dapat dibaca oleh orang yang tidak berhak.
Symetric encryption algorithms seperti NULL, DES, 3DES, AES dan Blowfish.

2. Data Integrity, penerima IPSec dapat melakukan otentikasi paket yang dikirim oleh pengirim IPSec untuk memastikan data tidak di ubah selama proses transmisi.
IPSec menerapkan Hash Messages Authentication Codes (HMAC), dengan hash algorithm seperti MD5 dan SHA.

3. Data Origin Authentication, yaitu penerima IPSec dapat melakukan otentikasi terhadap source dari paket IPSec yang dikirim. Servis ini tergantung pada servis no. 2
Dengan definisi Secret Key, dalam karakter ascii dan hexadesimal.

4. Anti-Replay, yaitu penerima IPSec dapat mendeteksi dan menolak paket yang dikirim berulang (replayed)

IPSec menggunakan 2 protocol untuk menyediakan keamanan yaitu AH (Authentication  Header) dan ESP (Encapsulating Security Payload). Secara singkat, AH memungkinkan verifikasi identitas pengirim, dan menggunakan nomor IP Protocol 50. Sedangkan ESP memungkinkan enkripsi data sehingga tetap rahasia, dia menggunakan nomor IP Protocol 51.

Secara bersamaan protocol IPSec AH dan ESP menyediakan privasi, integritas dan otentikasi dari protocol IP. Namun, hal tersebut belum lengkap. IETF juga telah menyediakan protokol yang melayani negosiasi antar protokol IPSec (mumet rak kwe), algoritma kunci dalam komunikasi tersebut, verifikasi identitas dan mengatur pertukaran kunci. Protocol ini dinamakan Internet Security Association and Key Management Protocol (ISAKMP) atau bisa juga disebut Internet Key Exchange (IKE).

Perhatikan diagram berikut :

           (Diagram Key Management dan Protocol IPSec)

                        +-------+
                        | IPsec |
                        +---+---+
                            |
                 +----------+----------+
                 |          |          |
                 v          v          v
               +-+---+    +----+    +-----+
               | IKE |    | AH |    | ESP |
               +-----+    +----+    +-----+
                  |
                  +---------------+
                                  |
                        +---------+--------+
                        |                  |
                  +---------+         +---------+
                  | Phase 1 |         | Phase 2 |
                  +---------+         +---------+
                       |                  |      
                  +----+-------+          |    
                  |            |          |
               +------+  +------------+ +-------+
               | Main |  | Aggressive | | Quick |
               | Mode |  |   Mode     | | Mode  |
               +------+  +------------+ +-------+

ISAKMP didasarkan atas model pembangkitan kunci Diffle-Hellman (opo meneh iki) dimana dua entitas (IPSec peer) saling berbagi informasi sebelum yakin identitas lawannya. Mereka berkomunikasi melalui UDP. Anggaplah A dan B adalah 2 entitas yang melakukan IPSec peering. Dengan metode Diffle-Hellman, si A akan akan membangitkan kunci publicnya dan kemudian dikirimkan ke B. Begitu pula sebaliknya. Setelah masing2 menerima kunci public yang dikirimkan oleh lawannya, mereka kemudian mengkombinasikannya dengan kunci privat. Hasilnya seharusnya sama untuk kedua entitas, namun tidak ada satu pun yang dapat membangkitkan nilai yang sama.

                 (Tabel Diffie-Hellman)
         ---------------+---------------+-----------
         Diffie-Hellman | Group Modulus | Reference
         ---------------|---------------|-----------
            Group 1     |    768 bits   |  RFC2409
            Group 2     |   1024 bits   |  RFC2409
            Group 5     |   1536 bits   |  RFC3526
         ---------------|---------------|-----------

Sesuai diagram, ISAKMP mendukung 3 metode pertukaran kunci yaitu : main mode, aggresive mode dan quick mode.

Main mode membangun yang dikenal dengan phase 1 dari ISAKMP SA. SA (Security Association) adalah metode untuk menyimpan semua detail mengenai kunci dan algoritma dalam tiap sesi IPSec. Kembali ke main mode, dia membangun sebuah mekanisme yang digunakan untuk komunikasi diwaktu mendatang. Pada main mode persetujuan dalam otentikasi, algoritma dan kunci dilakukan. Main mode membutuhkan 3 tahap pertukaran antara pengirim dan penerima :
1. Dua entitas setuju dalam menggunakan algoritma dan hash untuk komunikasi.
2. Bertukar kunci public menggunakan model pertukaran Diffle-Hellman dan kemudian membuktikan identitas mereka kepada lawannya.
3. Penerima dan pengirim saling memverifikasi idenetitas.

Pada aggressive mode, prosesnya sama dengan main mode tetapi hanya saja jumlah langkah yang dilakukan dua langkah saja. Aggressive mode juga termasuk dalam Phase 1.

Yang terakhir pada quick mode, dimana hanya dapat digunakan setelah SA ISAKMP dibuat menggunakan main mode atau aggressive mode untuk membuat material baru untuk membangkitkan kunci. Ini dikenal sebagai fase pertukaran phase 2. Dalam quick mode, semua paket telah dienkripsi, jadi langkah ini lebih mudah dari main mode dan aggressive mode.

Cara kerja IPSec dibagi menjadi 5 tahap sebagai berikut :
  • Memutuskan menggunakan IPSec antara dua node di internet.
  • Mengkonfigurasi dua buah gateway antar node untuk mendukung IPSec.
  • Inisialisasi tunnel IPSec antara 2 gateway
  • Negosiasi dari parameter IPSec/IKE antara dua gateway
  • Mulai melewatkan data
Untuk lebih jelasnya, perhatikan ilustrasi berikut :

(Diagram  IPSec handshake)

                                     .------.
  .------,~                          |      |
  |Initiator                         |Responder
  | PC   ||                          | PC   |
  \------ /                         _========_,
   ======/                          |_________|

           ,->     Proposal Phase 1 
          /     -------------------> 
          |        Accepts proposal                
Phase 1   |     <------------------  
Main Mode |        Diffie-Hellman  
          |     -------------------> 
         <         Diffie-Hellman
          |     <------------------- 
          |        Authenticate
          |     -------------------> 
          |        Authenticate     
           \,-> <------------------- 

           ,->  ESP/AH Proposal 
          /    ------------------->  
Phase 2   |    Accepts ESP/AH Proposal
Quick    <     <-------------------  
Mode      |      Confirm
          \    ------------------->  
           '->     

           ,->  <-------------------         
          /     ------------------->        
ESP/AH    |     <-------------------
Data     <      ------------------->   
Transfer  |     <-------------------
           \,->  ------------------>

Dan ini analogi secara bahasa manusianya, komunikasi IPsec tunneling antara Alice yang ada di Pekan Baru (PB) dan Bob yang ada di Bandar Lampung (BL). Ini modal copas btw :P

 .------. PB                                               BL .------.
 |Client|                                                     |Client|
 | PC   |        Router         Internet       Router         | PC   |      
 |      |,-----._========_,----X       X---- _========_,-----,|      |
_========_,     |_________|                  |_________|     _========_,  
|_________|                                                  |_________|
  Alice                                                        Bob


Langkah-langkah hubungan tersebut diuraikan sebagai berikut:

o PB mengkonfigurasi IPSec dengan BL
o BL mengkonfigurasi IPSec dengan PB
o Alice mengirimkan data kepada Bob
o PB mengenali bahwa data tersebut harus diamankan
o PB memulai IKE dengan peer di BL
o PB menawarkan algoritma enkripsi, algoritma hash (untuk otentifikasi), 
  metode otentifikasi, Diffie-Hellman, protokol EPS atau AH
o BL setuju dengan tawaran PB lalu meresponnya dengan mengirimkan 
  persetujuan kepada PB
o PB membangkitkan bilangan acak, �nonce�, dan mengirimkannya bersama
  kunci public ke BL
o BL menggunakan kunci public PB untuk mendekrip nonce yang telah 
  dienkrip dan kemudian memverifikasinya ke PB
o PB menggunakan kunci private untuk menandatangani nonce dan 
  mengirimkannya kembali ke BL
o BL menggunakan kunci private untuk menandatangani nonce dan mengirim-
  kannya kembali ke PB
o PB menggunakan kunci public untuk mendekrip nonce yang dienkrip 
  kemudian memverifikasi ke BL
o BL menggunakan kunci public PB untuk mendekrip nonce yang dienkrip
  kemudian memverifikasi ke PB
o PB memulai quick mode negotiation dengan BL dengan membangkitkan dan
  mengirimkan security parameter index (SPI)
o BL memverifikasi bahwa SPI belum digunakan olehnya dan mengkonfir-
  masi bahwa PB dapat menggunakan SPI tersebut, sambil BL juga 
  mengirimkan SPI miliknya sendiri ke PB.
o PB mengkonfirmasi SPI milik BL dan mengirimkan alamat dari host 
  Alice yang akan menggunakan IPSec SA
o BL mengkonfirmasi ke PB bahwa dapat mendukung IPSec untuk Alice dan
  sekaligus mengirimkan alamat host Bob ke BL
o PB mengkonfirmasi ke BL bahwa dapat mendukung IPSec untuk Bob dan
  mengirimkan atribut IPSec (umur SA dan algoritma enkripsi ke BL)
o BL memverifikasi bahwa atribut IPSec yang dikirimkan PB dan memba-
  ngun pasangan SA IPSec (inbound dan outbound) untuk Bob untuk 
  berbicara kepada Alice
o PB menerima konfirmasi atribut IPSec BL dan membangun pasangan SA
  IPsec (inbound dan outbound) untuk Alice untuk berbicara kepada Bob
o Tunnel terbentuk

Oke sampe sini dulu konsepnya.
Q : Terus mana Labnya ?
A : Labnya di next post aja mblo..
Q : Senengane hoax. Tidak sesuai judul. Judule iku Lab 56 !
A : Rencananya gitu, tapi ternyata konsepnya panjang bingit, jadi dilanjutkan di post berikutnya, khusus buat Lab :)
Q : Tenan yo ?
A : Y

Credit : kecoak.or.id

1 komentar:

Author mengatakan...
27 Juli 2016 pukul 10.19

baru mau minta tulisin ternyata udah ada disini artikel nya.
joss emang master satu ini

Posting Komentar