Pada umumnya teknik kriptografi adalah untuk mengenkripsi pembicaraan tiap individual dengan adanya kunci. Hal ini dinamakan session key, karena hanya digunakan untuk satu session komunikasi.
Key Exchange dengan Symmetric Cryptography
Pada protokol ini diasumsikan Alice dan Bob berada pada sebuah jaringan tiap orang membagikan kunci rahasia (secret key) dengan Key Distribution Center (KDC) dimana Trent ada pada protokol. Hal ini berarti kunci-kunci harus berada pada tempatnya sebelum protokol dimulai. (Protokol mengabaikan masalah nyata yaitu bagaimana mendistribusikan kunci-kunci rahasia ini dimana kuncdan i berada di tempatnya dan Mallory tidak bisa menebaknya),
- Alice menghubungi Trent dan meminta sebuah session key untuk berkomunikasi dengan Bob.
- Trent membangkitkan session key yang acak. Dia mengenkripsi 2 (dua) salinan session key tersebut ; satu dengan kunci Alice dan satu yang lain dengan kunci Bob, kemudian Trent mengirim 2 (dua) salinan tersebut kepada Alice.
- Alice mendekripsi salinan session key-nya.
- Alice mengirim salinan session key lain kepada Bob.
- Bob mendekripsi salinan session key miliknya.
- Alice dan menggunakan session key untuk berkomunikasi secara aman.
Keamanan dari protokol ini bergantung pada Trent sebagai pihak yang dipercaya. Jika Mallory berhasil menyerang Trent maka dia dapat mempunyai kunci-kunci rahasia yang dibagikan oleh Trent kepada tiap pengguna.
Key Exchange dengan Public Key Cryptography
Alice dan Bob menggunakan public key cryptography untuk agree atau menyetujui session key yang digunakan untuk mengenkripsi data. Sehingga Alice dapat mengirim pesan secara aman kepada Bob walaupun Bob tidak mengetahui jatidiri Alice.
- Alice mendapat public key Bob dari KDC.
- Alice membangkitkan session key yang acak, mengenkripsinya menggunakan public key Bob dan mengirim kepada Bob.
- Bob mendekripsi pesan Alice menggunakan private-key miliknya.
- Keduanya dapat berkomunikasi menggunakan session key yang sama.
Man-in-the-Middle Attack
Pada attack ini Mallory dapat membuntuti Bob ketika berkomunikasi dan dapat membuntuti Alice ketika ia berkomunikasi. Dibawah ini bagaimana attack ini bekerja :
- Alice mengirim public key miliknya kepada Bob. Mallory mencegatnya dan mengganti kunci ini dengan public key miliknya dan dikirim kepada Bob.
- Bob mengirim public key miliknya kepada Alice. Mallory mencegatnya dan mengganti kunci ini dengan public key miliknya dan dikirim kepada Alice.
- Ketika Alice mengirim pesan kepada Bob, mengenkripsi dengan public key “Bob”, Mallory mencegatnya karena pesan di enkripsi dengan public key miliknya maka pesan didekripsi dengan private-key miliknya, kemudian di enkripsi kembali menggunakan public key Bob dan mengirimnya kepada Bob.
- Ketika Bob mengirim pesan kepada Alice, mengenkripsi dengan public key “Alice”, Mallory mencegatnya karena pesan di enkripsi dengan public key miliknya maka pesan didekripsi dengan private-key miliknya, kemudian di enkripsi kembali menggunakan public key Alice dan mengirimnya kepada Alice.
Man-in-the-Middle Attack bekerja karena Alice dan Bob tidak mempunyai jalan untuk memverifikasi satu dengan yang lain.
Protokol Interlock
Protokol ini dibuat oleh Ron Rivest dan Adi Shamir dimana protokol baik untuk menanggulangi Man-in-the-Middle Attack. Dibawah ini bagaimana protokol ini bekerja :
- Alice mengirim public key miliknya kepada Bob.
- Bob mengirim public key miliknya kepada Alice.
- Alice mengenkripsi pesan menggunakan public key Bob, namun ia hanya mengirim sebagian pesan terenkripsi teresebut kepada Bob.
- Bob mengenkripsi pesan menggunakan public key Alice, namun ia hanya mengirim sebagian pesan terenkripsi teresebut kepada Alice.
- Alice mengirim bagian lain pesan yang terenkripsi kepada Bob.
- Bob menempatkan 2 (dua) bagian pesan Alice secara bersama kemudian mendekripsinya dengan private key miliknya. Kemudian Bob mengirim bagian lain pesan yang terenkripsi kepada Alice.
- Alice menempatkan 2 (dua) bagian pesan Bob secara bersama kemudian mendekripsinya dengan private key miliknya.
Hal yang penting pada protokol ini adalah sebagian pesan tidak berguna untuk didekripsi tanpa bagian pesan lain. Ada beberapa cara untuk melakukan hal ini, yaitu:
- Jika algoritma yang digunakan adalah algoritma block cipher, sebagian dari tiap blok dapat dikirim pada setiap bagian pesan.
- Dekripsi pesan bergantung pada initialization vector, yang dapat dikirim pada bagian pesan lain.
- Bagian pertama yang dikirim dapat berupa one-way hash dari pesan terenkripsi dan pesan yang terenkripsi dikirim pada bagian kedua.
Key Exchange dengan Digital Signature
Trent menandatangani public key Alice dan Bob. Tanda tangan tersebut dimasukan pada ownership. Sehingga ketika Alice dan Bob menerima kunci tersebut maka mereka memverifikasi tanda tangan Trent.
Dalam hal ini Mallory tidak dapt meniru karena dia tidak mengetahui private key Alice maupun Bob. Maka yang dilakukan oleh Mallory adalah berkompromi (compromise) Trent (dengan break kedalam KDC) maka ia akan mendapatkan private key Trent. Dengan private key Trent maka ia dapat memalsukan tanda tangan untuk membohongi Alice dan Bob, kemudian ia merubah tanda tangan yang ada pada data base untuk menandatangani kunci-kunci secara nyata atau ia menagkap permintaan user dan mereplay dengan kunci-kunci palsu miliknya. Dalam hal ini dimungkinkan man-in-the-middle attack dan membaca komunikasi orang-orang. Pada beberapa jaringan serangan diatas lebih sulit dibandingkan dengan passively sitting pada suatu jaringan.
Key dan Message Transmission
Alice dan Bob tidak perlu untuk menyelesaikan protokol sebelum menukarkan pesan. Pada protokol ini, Alice mengirim pesan M kepada Bob tanpa ada protokol key exchange sebelumnya.
1. Alice membangkitkan session key K yang random dan mengenkripsi M menggunakan K. à EK(M)
2. Alice mendapatkan public key Bob dari database.
3. Alice mengenkripsi K dengan menggunakan public key Bob à EB(K)
4. Alice mengirim pesan terenkripsi dan session key terenkripsi kepada Bob. à EK(M), EB(K) (untuk mengamankan dari man-in-the-middle attack, Alice dapat menambah dengan pengunaann tanda tangan).
5. Bob mendekripsikan session key K menggunakan private key miliknya.
6. Bob mendekripsi pesan Alice menggunakan session key.
Protokol ini juga dapat dikombinasikan dengan menggunakan digital signature, timestamps dan protokol lain.
Key dan Message Broadcast
Tidak ada alasan Alice tidak dapat mengirim pesan yang terenkripsi kepada beberapa orang sekaligus. Pada contoh dibawah ini Alice akan mengirim pesan terenkripsi kepada Bob, Carol dan Dave.
- Alice membangkitkan session key K secara acak dan mengenkripsi M menggunakan kunci K. à EK(M)
- Alice mendapatkan public key Bob, Carol dan Dave dari database. à EB(K), EC(K), ED(K)
- Alice mengenkripsi K dengan public key Bob, public key Carol dan public key Dave. à EB(K), EC(K), ED(K), EK(M)
- Hanya Bob, Carol dan Dave dapat mendekripsi kunci K masing-masing menggunakan private key miliknya.
- Hanya Bob, Carol dan Dave dapat mendekripsi pesan Alice menggunakan kunci K.
Protokol ini dapat diimplementasikan pada store-and-forward network. Sebuah central server dapat memforward pesan Alice kepada Bob, Carol dan Dave dengan kunci yang terenkripsi. Server tidak harus aman atau dipercaya selama tidak dimungkinkan untuk mendekripsi pesan.
Juli 11, 2009 pukul 2:31 pm |
waduh pusing mbak…
Agustus 31, 2009 pukul 11:37 am |
sabar2.. hehe..
September 29, 2009 pukul 1:02 am |
Sama saya juga pusing.,!