Thursday, May 31, 2012

Cara Kerja Protokol Pertukaran Kunci Diffie Hellman

Protocol kesepakatan kunci Diffie-Hellman (Diffie-Hellman Key Agreement) membangun kunci sesi tanpa menggunakan kunci yang dibagikan sebelumnya. Pesan-pesan yang ditukarkan antara Alice dan Bob bisa dibaca oleh siapapun yang bisa menyadap/menguping(eavesdrop) dan si penyadap tidak akan bisa mengetahui kunci sesi yang akhirnya digunakan oleh Alice dan Bob. Di sisi lain, Diffie-Hellman tidak melakukan otentikasi pada pihak-pihak yang terlibat. Salah satu dari kegunaan utama dari DIffie-Hellman adalah dalam protokol Internet Key Exchange(IKE/ Pertukaran Kunci Internet), sebuah bagian pusat dari arsitektur IP Security(IPsec).

Protokol Diffie-Hellman mempunyai dua parameter, p dan g, yang mana keduanya bersifat publik dan mungkin akan digunakan oleh semua user dalam sistem tertentu. Parameter p harus berupa bilangan prima. Bilangan-bilangan bulat mod p (singkatan dari modulo p) mempunyai jangkauan dari 0 hingga p-1, karena x mod p adalah sisa dari x dibagi p, dan membentuk apa yang para matematikawan sebut sebagai group dibawah perkalian. Parameter g (biasanya disebut sebuah generator) harus berupa sebuah akar primitive(primitive root) dari p: untuk setiap angka n dari 1 sampai p -1 pasti ada nilai k sehingga n = g^k mod p. sebagai contoh jika p adalah bilangan prima 5 (pada sistem yang sebenarnya akan digunakan angka yang jauh lebih besar), maka kita akan memilih 2 sebagai generator karena:
1 = 2^0 mod p
2 = 2^1 mod p
3 = 2^3 mod p
4 = 2^2 mod p
Misalkan Alice dan Bob ingin sepakat pada sebuah kunci simetris yang terbagi. Alice dan Bob dan orang lain sudah mengetahui nilai p dan g. Alice meng-generate sebuah nilai privat acak a dan Bob meng-generate sebuah nilai acak privat b. baik a dan b diambil dari sekumpulan integer {1,….,p-1}. Alice dan Bob menurunkan pasangan nilai publik mereka, nilai yang akan mereka kirimkan satu sama lain tanpa terenkripsi, sebagai berikut. Nilai publik dari Alice adalah
g^a mod p
dan nilai publik Bob adalah
g^b mod p
Kemudian mereka menukar nilai pubik mereka. Akhirnya, Alice menghitung
g^ab mod p = (g^b mod p)^a mod p
dan bob menghitung
g^ba mod p = (g^a mod p)^b mod p
Alice dan Bob sekarang mempunyai gab mod p = g^ba mod p sebagai kunci simetris mereka yang dibagikan satu sama lain.

Setiap penyadap akan mengetahui p, g, dan dua nilai publik g^a mod p dan g^b mod p. jika saja, penyadap bisa menentukan a atau b, dia bisa dengan mudah menghitung kunci yang dihasilkan. Namun, menetukan a atau b dari informasi publik tersebut sulit secara komputasi terutama untuk p, a, dan b yang besar, yang disebut sebagai permasalahan logaritma diskrit(discrete logarithm problem)

Disisi lain terdapat masalah terdapat kekurangan dari diffie-Hellman terhadap otentikasi. Satu serangan yang bisa mengambil keuntungan dari hal ini adalah serangan man-in-the-middle. Misalkan Mallory adalah lawan dengan kemampuan untuk menyadap(intercept) pesan-pesan. Mallory telah mengetahui p dan g karena keduanya publik,  dia membuat nilai privat acak c dan d untuk digunakan Alice dan Bob, berturut-turut. Ketika Alice dan Bob mengirimkan kunci publik satu sama lain, Mallory meng-intercept mereka dan mengirimkan nilai publiknya sendiri, seperti dalam gambar di bawah. Hasilnya adalah Alice dan Bob berakhir tanpa diketahui membagi sebuah kunci dengan  Mallory dari pada satu sama lain.


Penyadapan Oleh Mallory
Sebuah varian dari Diffie-Hellman terkadang disebut Diffie-Hellman yang sudah diperbaiki(fixed) memungkinkan otentikasi dari satu atau kedua pihak. Mekanisme ini mengandalkan pada sertifikat yang mirip seperti sertifikat kunci publik namun men-sertifikasi parameter publik Diffie-Hellman dari sebuah pihak. Sebagai contoh, sertifikat tersebut akan menyatakan bahwa parameter Diffie-Hellman publik  dari Alice adalah p, g, dan ga mod p (sebagai catanan bahwa nilai dari a akan tetap hanya diketahui Alice). Sertifikat tersebut akan meyakinkan Bob bahwa pihak lain dalam Diffie-Hellman adalah Alice atau yang pihak lain tidak akan bisa menghitung kunci rahasia, karena dia tidak tahu nilai a. jika kedua pihak mempunyai sertifikat untuk parameter Diffie-Hellman mereka, mereka bisa melakukan otentikasi satu sama lain. Jika hanya satu pihak saja yang mempunyai sebuah sertifikat, maka hanya satu yang bisa diotentikasi. Hal ini berguna untuk beberapa situasi, sebagai contoh, ketika satu pihak adalah sebuah server dan lainnya adalah sebuah client sembarang, client bisa melakukan otentikasi web server dan membangun sebuah kunci sesi untuk kerahasiaan sebelum mengirimkan sebuah nomor kartu kredit pada web server.
untuk lebih lengkapnya silakan download buku ebook jaringan komputer bab keamanan di sini

No comments:

Post a Comment

Labels

AdMob Adobe Adsense Aero Buster Air Buster Airpush Al-Ghozali Amazon Appstore Amerika Android Android App Animasi apa itu App Application Arsitektur Asimetris asus AutoArtikel Bahasa Indonesia Bahasa Inggris Blogger Blogspot Browser Bus Cara akses Cara kerja cat CERN Chiper Chrome command Contoh CORBA cPanel CS3 diff Diffie-Hellman Distance Vector domain download e-book e-book Jaringan Komputer e-book Ketidaklogisan para Filsuf e-book Sistem Operasi ebook Einstein Engineering Design Process Enkripsi file Filosofi Firefox fisika Flow Control frame Game genap 2011-2012 Gerbang Quantum getaran gif Google google nexus 7 Google Play Gratis GRE grep GSM Handoff Handover head Hosting HTML5 Hypnolearning IDL IM3 IMS Interface Definition Language Internet internet dan bisnis telekomunikasi Internet Explorer iPad 3 jadwal Jaringan Jaringan Komputer Java JDBC JSP Judul Justin Bieber Kamera Kapsel Kecepatan Cahaya Ketidaklogisan Para Filsuf kisi-kisi Komputer Kriptografi LAN Linux Manajemen Manajemen Memori mediafire Memori Mesh Model View Controller MoonViewer Motivation Multicast Routing MVC MySql Near Field Communication Network Programming Neutrino New Technology File System Nilai NTFS OPERA Organisasi dan arsitektur komputer osilasi page Partai Peduli Rakyat PC pegas Pemasaran pembuat artikel Pemrograman Bahasa Tingkat Rendah Pemrograman Jaringan Pemrograman Web Penjadwalan Penyandian Perang Sipil perintah Pertukaran Kunci Photoshop PHP Physics PKS Power Point Process Producer Consumer Programming Protokol Proyek Akhir PSTN Quantum Information Quiz Quotes RAM review Ring RMI Safari Scheduling Security Sega Genesis Sejarah Servlet Shooter Simetris Singkronisasi Sistem File Sistem Koordinat Sistem Operasi slide SlideMe Socket Solaris sort source code SPIN spinner Star Studium Generale Superkonduktor Switch tablet Tahafut Al-Falasif tail TCP Terjemah test GRE Tolak Kenaikan Harga BBM Topologi Tugas Akhir tween Twitter UAS Ubuntu Ulasan Ulasan Nokia 808 PureView UNIBBA uniq UNIX UNIX SVR4 UTS Verbal Virtual Router Redundancy Protocol Vocab Vocabulary VRRP Web Services WiMAX Windows wired.com Wireless Sensor Network Words WSN