52013035
Kronologi
Sebelum Alice mengirim pesan rahasia kepada Bob, Alice meminta kunci publik milik Bob.
Kemudian Bob mengirim kunci publik-nya kepada Alice.
Sebelum kunci publik itu sampai di Alice, tanpa sepengetahuan Alice dan Bob, kunci publik milik
Bob DICATAT oleh Charlie dan DIGANTI dengan kunci publik milik Charlie sendiri, lalu dikirimkan
lagi (diteruskan) ke Alice.
Alice tertipu, mengira bahwa kunci publik yang diterimanya adalah kunci publik milik Bob,
padahal itu milik Charlie.
Setelah selesai menuliskan pesan rahasianya, kemudian Alice meng-enkripsi pesannya
menggunakan kunci pulic milik Charlie (bukan milik Bob) dan mengirimkannya ke Bob.
Sebelum sampai di Bob, pesan dari Alice di-dekripsi oleh Charlie menggunakan kunci private
miliknya (karena pesan tersebut dienkripsi menggunakan kunci publik milik Charlie).
Agar Bob tidak curiga, pesan yang sudah di-dekripsi itu di-enkripsi kembali menggunakan kunci
publik milik Bob yang sebelumnya sudah dicatat oleh Charlie, kemudian dikirimkan lagi ke Bob.
Bob men-dekripsi pesan itu dengan kunci private miliknya, dan pesan itu dibaca oleh Bob seperti
tidak terjadi apa-apa.
Pada kasus diatas, MITM terjadi karena Alice tidak bisa memastikan apakah pesan berisi kunci
publik yang diterimanya adalah benar milik Bob. Untuk bisa memastikan pesan itu berisi kunci
publik milik Bob, maka pesan itu harus di-enkripsi menggunakan kunci private milik Bob dan didekripsi oleh Alice menggunakan kunci publik milik Bob, padahal Alice belum mengetahui kunci
publik milik Bob.
Bagaimana solusinya?
Agar serangan MITM tidak terjadi dibutuhkan mekanisme untuk mendapatkan kunci publik
dengan benar.
Untuk memecahkan masalah diatas, dibutuhkan bantuan pihak ke-3 sebagai pihak penjamin yang
kunci publik-nya telah diketahui sebelumnya.
Mari kita ilustrasikan pengembangan dari kasus MITM sebelumnya yang dilakukan oleh Charlie.
Anggap saja pihak penjamin itu adalah Dedy, dengan kunci publik yang telah dikenal sebelumnya
oleh Alice.
Ketika Alice ingin mengetahui kunci publik Bob, maka Bob sebelumnya harus meminta Dedy
untuk membuat surat jaminan yang berisi kunci publik Bob dan pernyataan bahwa Bob adalah
orang baik dan rajin menabung.
Kemudian surat itu di-enkripsi dengan kunci private milik Dedy untuk memastikan bahwa surat
itu benar dibuat oleh Dedy.
Bila Alice bertanya pada Bob, Hey Bob tolong kirim kunci publik mu, aku ada pesan rahasia
untukmu. Maka Bob akan mengirimkan surat jaminan dari Dedy pada Alice.
Ketika surat jaminan yang dikirim Bob tiba di Alice. Alice bisa menguji identitas pembuat surat itu
dengan cara men-dekripsi dengan kunci publik milik Dedy yang sudah dikenalnya.
Bila berhasil di-dekripsi, maka surat jaminan itu benar dibuat oleh Dedy. Di dalam surat jaminan
itu tertera juga kunci publik milik Bob. Kini Alice siap mengirim pesan rahasia pada Bob.
Bagaimana dengan Charlie? Bila Charlie nekat mengganti surat jaminan Dedy dengan surat
jaminan yang dibuatnya sendiri lalu mengirimnya ke Alice. Maka Alice dengan mudah
mengetahui bahwa surat ini palsu, karena tidak bisa di-dekripsi dengan kunci publik Dedy, artinya
surat jaminan ini bukan dibuat oleh Dedy.