Apa itu Diffie-Hellman Key Exchange (Pertukaran Kunci Eksponensial)?

Diffie-Hellman key exchange adalah metode enkripsi digital yang dengan aman menukar kunci kriptografi antara dua pihak melalui saluran publik tanpa percakapan mereka ditransmisikan melalui internet. Kedua pihak menggunakan kriptografi simetris untuk mengenkripsi dan mendekripsi pesan mereka. Diterbitkan pada tahun 1976 oleh Whitfield Diffie dan Martin Hellman, ini adalah salah satu contoh pertama dari kriptografi kunci publik.

Diffie-Hellman key exchange menaikkan angka ke kekuatan yang dipilih untuk menghasilkan kunci dekripsi. Komponen dari kunci tersebut tidak pernah ditransmisikan langsung, membuat tugas seorang pembobol kode secara matematis sangat sulit. Metode ini tidak membagikan informasi selama pertukaran kunci. Kedua pihak tidak memiliki pengetahuan sebelumnya tentang satu sama lain, tetapi keduanya membuat kunci bersama.

Di mana Diffie-Hellman Key Exchange digunakan?

Tujuan dari Diffie-Hellman key exchange adalah untuk dengan aman membangun saluran untuk membuat dan membagikan kunci untuk algoritma kunci simetris.

Secara umum, ia digunakan untuk enkripsi, perjanjian kunci yang diautentikasi oleh kata sandi, dan keamanan ke depan. Perjanjian kunci yang diautentikasi dengan kata sandi digunakan untuk mencegah serangan man-in-the-middle (MitM). Protokol berbasis kerahasiaan ke depan melindungi dari kompromi kunci dengan menghasilkan pasangan kunci baru untuk setiap sesi.

Diffie-Hellman key exchange biasanya ditemukan dalam protokol keamanan, seperti Transport Layer Security (TLS), Secure Shell (SSH) dan IP Security (IPsec). Sebagai contoh, dalam IPsec, metode enkripsi digunakan untuk pembuatan dan rotasi kunci.

Meskipun Diffie-Hellman key exchange dapat digunakan untuk membangun kunci publik dan privat, algoritma Rivest-Shamir-Adleman, atau RSA, juga dapat digunakan, karena dapat menandatangani sertifikat kunci publik.

Bagaimana cara kerja Diffie-Hellman Key Exchange?

Untuk menerapkan Diffie-Hellman, dua pengguna akhir, Alice dan Bob, sepakat secara pribadi pada angka bulat positif p dan q, dimana p adalah angka prima dan q adalah generator dari p. Generator q adalah angka yang, ketika dipangkatkan dengan bilangan bulat positif yang kurang dari p, tidak pernah menghasilkan hasil yang sama untuk dua bilangan bulat tersebut. Nilai p bisa besar, tetapi nilai q biasanya kecil.

Setelah Alice dan Bob sepakat pada p dan q secara pribadi, mereka memilih kunci pribadi bulat positif a dan b. Kedua kunci ini kurang dari modulus angka prima p. Tidak ada pengguna yang membocorkan kunci pribadi mereka kepada siapa pun; idealnya, mereka menghafal angka-angka ini dan tidak menuliskannya atau menyimpannya di mana pun. Selanjutnya, Alice dan Bob menghitung kunci publik a* dan b* berdasarkan kunci pribadi mereka menurut rumus berikut:

a* = qa mod p

b* = qb mod p

Kedua pengguna dapat membagikan kunci publik mereka a* dan b* melalui media komunikasi yang dianggap tidak aman, seperti internet atau jaringan area luas perusahaan. Dari kunci publik ini, angka x dapat dihitung oleh masing-masing pengguna berdasarkan kunci pribadi mereka. Alice menghitung x menggunakan rumus berikut:

x = (b*) mod p

Bob menghitung x menggunakan rumus berikut:

x = (a*) mod p

Nilai x ternyata sama menurut salah satu dari dua rumus di atas. Namun, kunci pribadi a dan b, yang sangat penting dalam perhitungan x, tidak pernah ditransmisikan melalui saluran publik. Karena x adalah angka besar dan tampaknya acak, seorang peretas hampir tidak memiliki kesempatan untuk menebak x dengan benar, bahkan dengan bantuan komputer yang kuat untuk melakukan jutaan percobaan. Oleh karena itu, kedua pengguna dapat, secara teori, berkomunikasi secara pribadi melalui saluran publik dengan metode enkripsi pilihan mereka menggunakan kunci dekripsi x.

Kerentanannya Diffie-Hellman Key Exchange

Limitasi paling serius dari Diffie-Hellman dalam bentuk dasarnya adalah kurangnya autentikasi. Komunikasi yang menggunakan Diffie-Hellman sendiri rentan terhadap serangan MitM. Idealnya, Diffie-Hellman harus digunakan bersamaan dengan metode autentikasi yang diakui, seperti tanda tangan digital, untuk memverifikasi identitas pengguna melalui saluran komunikasi publik.

Diffie-Hellman key exchange juga rentan terhadap serangan logjam, khususnya terhadap protokol TLS. Serangan logjam menurunkan koneksi TLS ke kriptografi 512-bit, memungkinkan penyerang untuk membaca dan memodifikasi data yang lewat melalui koneksi tersebut. Diffie-Hellman key exchange masih bisa aman jika diterapkan dengan benar. Misalnya, serangan logjam tidak akan berhasil dengan kunci 2.048-bit.

Contoh dari Diffie-Hellman Key Exchange

Jika dua orang, katakanlah Alice dan Bob, ingin mengirimkan data sensitif melalui jaringan terbuka publik tetapi ingin menghindari peretas atau pendengus, mereka bisa menggunakan metode Diffie-Hellman key exchange untuk enkripsi. Jaringan publik terbuka ini bisa berada di kafe, misalnya.

Alice dan Bob memilih kunci rahasia secara pribadi, dan sebuah fungsi dijalankan pada kunci-kunci ini untuk membuat kunci publik. Hasil-hasilnya — dan bukan fungsi itu sendiri — yang dibagikan. Meskipun ada pihak ketiga yang sedang mendengarkan, pihak ketiga itu tidak akan memiliki semua angka yang terlibat, sehingga akan sulit untuk menurunkan fungsi dari mana angka-angka tersebut berasal.

Setelah itu, Alice dan Bob menjalankan fungsi baru menggunakan hasil yang mereka terima dari pihak lain, angka rahasia mereka sendiri, dan nilai prima asli. Alice dan Bob kemudian mencapai kunci rahasia bersama yang tidak dapat diturunkan oleh pihak ketiga. Alice dan Bob sekarang dapat berkomunikasi tanpa khawatir tentang pihak ketiga.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *