Kriptografi Asimetris |
Sedikit mengulang kembali, pada kriptografi simetris hanya menggunakan 1 buah kunci pada saat enkripsi maupun dekripsi. Hal itu tentu saja menimbulkan masalah pada saat melakukan pertukaran kunci seperti pada kasus Alice yang ingin mengirim pesan rahasia kepada Bob. Bagaimana cara mereka menegosiasikan kunci yang akan digunakan? apakah melalui sms, email atau telepon? bukankah itu semua bisa disadap?
Apa itu Kriptografi Asimetris?
Kriptografi Asimentris atau disebut juga Public Key Criptography (PKC), adalah kriptografi yang menggunakan 2 buah kunci (private & publik) yang masing-masing kunci tersebut hanya digunakan untuk enkripsi saja atau dekripsi saja.
Kunci public adalah kunci yang publikasikan/diberikan kepada orang lain, sedangkan kunci private harus dirahasiakan.
Apabila pesan di-enkripsi menggunakan kunci publik, maka dekripsi-nya menggunakan kunci private. Artinya, pesan hanya bisa dibuka oleh pemilik kunci private. Hal ini biasanya digunakan untuk tujuan confidentalily (kerahasiaan).
Sebaliknya, apabila pesan dienkripsi menggunakan kunci private, maka dekripsi-nya menggunakan kunci publik. Disini sudah jelas, berarti semua orang bisa membukanya. Ini biasa digunakan untuk melakukan authentication.
Alice dan Bob
Jika sebelumnya Alice dan Bob kesulitan dalam melakukan pertukaran kunci karena mereka menggunakan kriptigrafi simetris, coba lihat apabila mereka menggunakan kriptografi asimetris.
Saat Alice ingin mengirim pesan rahasia kepada Bob, mereka masing-masing harus sudah mempunyai kunci publik & private. Bila Alice ingin mengirim pesan kepada Bob, maka Alice mengenkripsi pesanya dengan kunci publik milik Bob (ingat, kunci publik boleh dimiliki oleh siapa saja), kemudian Bob mendekripsi pesan dari Alice menggunakan kunci private miliknya.
Terkesan lebih aman bukan? tapi tunggu, masih ada hal buruk yang dapat terjadi pada kriptografi asimetris.
Rawan Serangan MITM
Disini saya tidak akan menjelaskan tentang MITM, karena itu sudah pernah saya tulis pada posting sebelumnya.
Kronologi
Sebelum Alice mengirim pesan rahasia kepada Bob, Alice meminta kunci publik milik Bob. Kemudian Bob mengirim kunci publik-nya kepada Alice.
Disini saya tidak akan menjelaskan tentang MITM, karena itu sudah pernah saya tulis pada posting sebelumnya.
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 di-dekripsi 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. :D
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.
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. :D
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.
Kesimpulan
- Kriptografi asimetris dilakukan menggunakan 2 buah kunci; kunci publik dan kunci private.
- Kunci publik adalah kunci yang publikasikan/diberikan kepada orang lain.
- Kunci private harus dirahasiakan.
Kelebihan Kriptografi Asimetris:
- Pertukaran kunci mudah
- Lebih aman dibandingkan kriptografi simetris
Kelemahan Kriptografi Asimetris:
- Proses lama
- Rawan serangan MITM