Pertukaran kunci Diffie–HellmanPertukaran kunci Diffie–Hellman[catatan 1] adalah metode untuk bertukar kunci kriptografis secara aman melalui saluran publik dan menjadi salah satu protokol kunci publik pertama yang disusun oleh Ralph Merkle dan dinamai dari Whitfield Diffie and Martin Hellman.[1][2] Diffie–Hellman (DH) adalah salah satu contoh penggunaan awal pertukaran kunci publik yang diimplementasikan dalam bidang kriptografi. Metode ini dipublikasikan pada tahun 1976 oleh Diffie dan Hellman dan menjadi karya publik pertama yang mengusulkan ide tentang pasangan kunci pribadi dan kunci publik. Sebelumnya, sambungan aman terenkripsi antara dua pihak membutuhkan pertukaran kunci secara fisik, misal daftar kunci yang ditulis di kertas lalu diantar oleh kurir. Metode pertukaran kunci Diffie–Hellman dapat dipakai oleh kedua pihak yang tidak tahu apa pun sebelumnya untuk membuat kunci rahasia bersama melalui saluran tak aman. Kunci ini kemudian dapat dipakai untuk berkomunikasi dengan penyandian kunci simetris. dipakai untuk mengamankan berbagai macam layanan internet. Namun, riset yang dipublikasikan pada Oktober 2015 menyebutkan bahwa parameter yang dipakai untuk banyak aplikasi internet yang memakai DH tidak cukup kuat untuk mencegah serangan yang didanai dengan cukup, seperti layanan keamanan di beberapa negara.[3] Metode ini dipublikasikan oleh Whitfield Diffie dan Martin Hellman pada tahun 1976.[2] Namun, pada tahun 1997, terungkap bahwa James H. Ellis,[4] Clifford Cocks, dan Malcolm J. Williamson dari GCHQ, badan intelijen sinyal Britania Raya telah menunjukkan pada tahun 1969[5] tentang cara mencapai kriptografi kunci publik.[6] Meski tidak memiliki fungsi autentikasi, kesepakatan kunci Diffie–Hellman menjadi dasar untuk berbagai protokol berautentikasi dan memberikan kerahasiaan ke depan dalam mode kunci tak kekal TLS (disebut sebagai EDH atau DHE). Metode ini diikuti segera oleh RSA, yaitu implementasi kriptografi kunci publik dengan algoritme asimetris. U.S. Patent 4.200.770 tahun 1977 (telah kedaluwarsa) menjelaskan algoritme ini yang sekarang berada dalam domain publik. Ia menyebut Hellman, Diffie, dan Merkle sebagai penemu. PenamaanPada tahun 2002, Hellman mengusulkan agar algoritme ini disebut pertukaran kunci Diffie–Hellman–Merkle untuk menghormati sumbangsih Ralph Merkle dalam penemuan kriptografi kunci publik (Hellman, 2002) dengan menulis,
PenjelasanGambaran umumPertukaran kunci Diffie–Hellman membuat kunci rahasia bersama antara dua pihak yang dapat dipakai untuk komunikasi rahasia atau pertukaran data melalui jaringan publik. Analoginya adalah menggunakan warna sebagai pengganti bilangan besar. Proses ini dimulai dari kedua pihak, Ani dan Budi, menyepakati warna awal secara publik yang tidak perlu dirahasiakan, tetapi harus berbeda tiap saat.[3] Dalam contoh ini, warnanya adalah kuning. Tiap pihak juga memiliki warna rahasia—dalam kasus ini, jingga dan biru telur. Langkah pentingnya adalah tiap orang mencampurkan warna bersama yang telah disepakati bersama dengan warna rahasia masing-masing sehingga menghasilkan warna cokelat kulit dan biru langit. Selanjutnya, mereka saling berkirim warna hasil pencampuran secara publik. Terakhir, tiap pihak mencampurkan warna rahasia masing-masing ke warna yang diterima masing-masing. Hasilnya adalah warna cokelat tua yang keduanya identik dan rahasia sehingga menjadi warna rahasia bersama. Jika ada pihak ketiga yang mengamati jalur publik, ia hanya mengetahui warna awal (kuning) dan warna hasil pencampuran awal (cokelat kulit dan biru langit). Namun, hanya dari itu saja, ia akan sulit mengetahui warna yang telah menjadi warna rahasia bersama antara Ani dan Budi. Di dunia nyata, yang ditukarkan adalah bilangan besar alih-alih warna. Hampir tidak mungkin untuk menghitungnya dalam waktu praktis, bahkan oleh superkomputer. Penjelasan kriptografisImplementasi protokol yang sederhana dan asli[2] menggunakan grup perkalian bilangan bulat modulus p dengan p adalah bilangan prima serta bilangan bulat g dengan g adalah akar primitif modulus p. Dua bilangan tersebut dipilih sedemikian rupa agar hasilnya dapat menerima bilangan dari 1 hingga p - 1. Berikut adalah contoh pelaksanaan protokol dengan nilai yang tidak rahasia berwarna biru dan nilai yang rahasia berwarna merah.
Ani dan Budi sama-sama memiliki bilangan yang sama karena, dalam modulus p, Lebih spesifiknya adalah Hanya a dan b yang dirahasiakan. Nilai-nilai yang lain dikirim secara terang. Kekuatan metode ini berasal dari fakta bahwa gab mod p = gba mod p butuh waktu sangat lama untuk dihitung hanya dari p, g, ga mod p, dan gb mod p. Setelah Ani dan Budi menghitung nilai rahasia mereka, nilai tersebut dapat dipakai sebagai kunci enkripsi untuk bertukar pesan melalui saluran terbuka/publik. Tentunya, nilai a, b, dan p harus besar agar aman. Jika p paling tidak 600 angka, komputer modern tercepat pun tidak dapat mencari a dari p, g, dan ga mod p. Masalah ini disebut dengan masalah logaritme diskret.[3] Perhitungan ga mod p dikenal sebagai perpangkatan modulus dan dapat dilakukan dengan efisien, bahkan untuk bilangan besar. Perhatikan bahwa nilai g tidak harus besar. Pada praktiknya, nilai g adalah bilangan bulat kecil, seperti 2, 3, dst. Tabel kerahasiaanTabel berikut menampilkan yang diketahui dan yang tidak diketahui oleh tiap pihak. Sama dengan sebelumnya, warna biru berarti nilai yang tidak rahasia dan warna merah berarti nilai yang rahasia. Di sini, Eka menjadi penyadap yang mengamati komunikasi antara Ani dan Budi tanpa mengubah isi pesannya.
Sekarang, s adalah kunci rahasia bersama yang diketahui oleh Ani dan Budi, tetapi tidak diketahui oleh Eka. Perhatikan bahwa sia-sia Eka menghitung AB yang bernilai sama dengan ga + b mod p. Generalisasi ke grup siklis berhingga
Operasi dengan lebih dari dua pihak
Kesepakatan kunci Diffie–Hellman dapat tidak terbatas untuk dua pihak saja. Metode ini dapat diiterasi berapa pun jumlah pihak yang terlibat. Keamanan
Protokol ini dianggap tahan dari penyadap bila G dan g dipilih dengan tepat. Kegunaan lainEnkripsiSkema enkripsi kunci publik yang menggunakan pertukaran kunci Diffie–Hellman telah diusulkan. Salah satunya adalah enkripsi Elgamal. Kerahasiaan ke depanProtokol yang menerapkan kerahasiaan ke depan menghasilkan pasangan kunci baru untuk tiap sesi dan membuangnya pada akhir sesi. Pertukaran kunci Diffie–Hellman sering dipakai untuk membuat kunci baru karena pembuatan kuncinya yang cepat. Kesepakatan kunci terautentikasiKetika Ani dan Budi berbagi kata sandi, mereka mungkin bisa memakai Diffie–Hellman dalam kesepakatan kunci terautentikasi kata sandi (PK) untuk menghindari serangan orang di tengah. Salah satu caranya adalah dengan membandingkan hash dari s yang dibuat beserta kata sandi secara mandiri. Pendekatan ini dijelaskan dalam Rekomendasi ITU-T X.1035. Kunci publikDiffie–Hellman dapat dipakai dalam infrastruktur kunci publik sehingga Budi dapat mengenkripsi pesan yang hanya bisa didekripsi oleh Ani tanpa komunikasi sebelumnya. Misalkan kunci publik Ani adalah (ga mod p, g, p). Untuk mengiriminya pesan, Budi memilih bilangan acak b, lalu mengirimi Ani gb mod p (tidak dienkripsi) beserta pesan yang dienkripsi dengan kunci simetris (ga)b mod p. Hanya Ani yang dapat mendekripsi kunci simetris karena memiliki a sehingga dapat mendekripsi pesan yang dikirim oleh Budi. Lihat pulaWikimedia Commons memiliki media mengenai Pertukaran kunci Diffie–Hellman.
Catatan kaki
Referensi
|