ANALISA KRIPTOGRAFI KUNCI PUBLIK RSA DAN SIMULASI PENCEGAHAN MAN-IN-THE-MIDDLE ATTACK DENGAN MENGGUNAKAN INTERLOCK PROTOCOL MUKMIN RITONGA Mahasiswa Program Studi Teknik Informatika STMIK Budidarma Medan Jl. Sisingamangaraja No. 338 Simpang Limun Medan Email : Manda_irwansyah@yahoo.com ABSTRAK Data-data yang dikirimkan oleh orang yang sedang berkomunikasi satu sama lain selalu melalui orang yang menyadap tersebut, sehingga orang yang menyadap tersebut dapat mengetahui semua informasi yang dikirimkan satu sama lain. Keadaan ini muncul karena kedua orang yang sedang berkomunikasi tersebut tidak dapat mem-verifikasi status dari orang yang berkomunikasi dengannya tersebut, dengan mengambil asumsi bahwa proses penyadapan tersebut tidak menyebabkan gangguan dalam jaringan.dalam proses komunikasi data, walaupun data telahdienkripsi, terdapatkemungkinan data tersebutdapatdiketahuioleh orang lain. Salah satukemungkinantersebutadalah orang tersebutmenyadap media komunikasi yang digunakanolehkedua orang yang sedangberkomunikasitersebut.hal inilah yang disebutdengan man-in-the-middle-attack.dalamkeadaanini, orang yang menyadapberada di antarakedua orang yang sedangberkomunikasi.rsa merupakan salah satu teknik enkripsi dan dekripsi dengan menggunakan dua buah kunci. Kunci-kunci tersebut diperoleh dari hasil perhitungan eksponensial, perkalian, pembagian, penjumlahan dan pengurangan. Perhitungan dilakukan terhadap dua buah bilangan prima. Kata Kunci:RSA, Interlock Protokol, Man-in-Midle Attack 1. Pendahuluan Dalam proses komunikasi data, walaupun data telah dienkripsi, terdapat kemungkinan data tersebut dapat diketahui oleh orang lain. Salah satu kemungkinan tersebut adalah orang tersebut menyadap media komunikasi yang digunakan oleh kedua orang yang sedang berkomunikasi tersebut.hal inilah yang disebut dengan man-in-themiddle-attack.dalam keadaan ini, orang yang menyadap berada di antara kedua orang yang sedang berkomunikasi. Data-data yang dikirimkan oleh orang yang sedang berkomunikasi satu sama lain selalu melalui orang yang menyadap tersebut, sehingga orang yang menyadap tersebut dapat mengetahui semua informasi yang dikirimkan satu sama lain. Keadaan ini muncul karena kedua orang yang sedang berkomunikasi tersebut tidak dapat memverifikasi status dari orang yang berkomunikasi dengannya tersebut, dengan mengambil asumsi bahwa proses penyadapan tersebut tidak menyebabkan gangguan dalam jaringan. Dari metode man-in-the-middleattackuntuk penelitian terdahulu oleh Moh. Yose Rizal Dengan judul Kriptografi RSA dan Pencegahannya Dengan interlock protocol. 1.2 Perumusan Masalah Berdasarkan latar belakang pemilihan judul, maka yang menjadi permasalahan adalah sebagai berikut: 1. Bagaimana kerja man-in-the-middle-attack dalam menyadap dan mengubah pesan? 2. Bagaimana merancang sistem untuk mengatasi Man-In-The-Middle-Attack? 3. Bagaimana cara menginplementasikan interface dari perangkat lunak simulasi? 1.3 Batasan Masalah Karena keterbatasan waktu dan pengetahuan penulis, maka ruang lingkup permasalahan dalam merancang perangkat lunak ini adalah sebagai berikut: 1. Proses kerja enkripsi dan dekripsi pesan dari perangkat lunak ditampilkan dalam bentuk binermenggunakan algoritma RSA. 2. Fungsi hash satu arah yang digunakan adalah fungsi SHA-1. 3. Proses kerja yang akan ditampilkan prosessolusi mengatasi man-in-the-middle-attack dengan menggunakan interlock protocol. 4. Panjang pesan (message dibatasi maksimal 50 karakter. 1.4 Tujuan dan Manfaat Penelitian 1.4.1 Tujuan Penelitian 54
Tujuan penyusunan tugas akhir (skripsi ini adalah: 1. Untuk mengetahui kerja man-in-the-middleattack dalam menyadap dan mengubah pesan. 2. Untuk merancang sistem untuk mengatasi Man- In-The-Middle-Attack. 3. Untuk menginplementasikan interface dari perangkat lunak simulasi. 1.4.2 Manfaat Penelitian Manfaat dari penyusunan tugas akhir (skripsi ini, yaitu : 1. Membantu pemahaman proses terjadinya manin-the-middle attack dan proses pencegahannya dengan menggunakan interlock protocol. 2. Perangkat lunak dapat digunakan sebagai fasilitas pendukung dalam proses belajar mengajar, terutama untuk mata kuliah Kriptografi. 3. Mengetahui tingkat keamanan dalam proses enkripsi dan dekripsi dengan cara menggunakan algoritma Rivest Shamir Adleman. 2. Landasan Teori 2.1 Pengenalan Kriptografi Kriptografi (criptographi berasal dari bahasa yunani cryptos artinya secret (rahasia, sedangkan graphein artinya writing (tulisan. Sehingga kriptografi berarti secret writing (tulisan rahasia (Rinaldi Munir, 2006.Pengertian kriptografi secara modern adalah ilmu yang bersandarkan pada teknik matematika untuk berurusan dengan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas (Rifki Sadikin, 2012.Jadi kriptografi didefenisikan sebagai ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikan kebentuk yang tidak dapat dimengerti lagi maknanya. Secara umum kriptografi merupakan teknik pengamanan informasi yang dilakukan dengan cara mengolah informasi awal (plaintext dengan suatu kunci tertentu menggunakan suatu metode enkripsi tertentu sehingga menghasilkan informasi baru (chipertext yang tidak dapat dibaca secara langsung. Chipertext tersebut dapat dikembalikan menjadi informasi awal (plaintext melalui proses deskripsi. Gambar 2.1 Konsep enkripsi dan dekripsi 2.2 Protokol Kriptografi\ Suatu protokol adalah serangkaian langkah yang melibatkan dua pihak atau lebih dan dirancang untuk menyelesaikan suatu tugas. Dari definisi ini dapat diambil beberapa arti sebagai berikut: 55 1. protokol memiliki urutan dari awal hingga akhir; 2. setiap langkah harus dilaksanakan secara bergiliran; 3. suatu langkah tidak dapat dikerjakan bila langkah sebelumnya belum selesai; 4. diperlukan dua pihak atau lebih untuk melaksanakan protokol; 5. protokol harus mencapai suatu hasil; Selain itu, suatu protokol pun memiliki karakteristik yang lain, yaitu: 1. setiap orang yang terlibat dalam protokol harus mengetahui terlebih dahulu mengenai protokol dan seluruh langkah yang akan dilaksanakan; 2. setiap orang yang terlibat dalam protokol harus menyetujui untuk mengikutinya; 3. protokol tidak boleh menimbulkan kerancuan; 4. protokol harus lengkap; Cryptographic protocol adalah suatu protokol yang menggunakan kriptografi.protokol ini melibatkan sejumlah algoritma kriptografi, namun secara umum tujuan protokol lebih dari sekedar kerahasiaan.pihak-pihak yang berpartisipasi mungkin saja ingin membagi sebagian rahasianya untuk menghitung sebuah nilai, menghasilkan urutan random, atau pun menandatangani kontrak secara bersamaan.penggunaan kriptografi dalam sebuah protokol terutama ditujukan untuk mencegah atau pun mendeteksi adanya eavesdropping dan cheating. 2.3 Man-in-the-Middle Attack Dalam proses komunikasi data, walaupun data telah dienkripsi, terdapat kemungkinan data tersebut dapat diketahui oleh orang lain.salah satu kemungkinan tersebut adalah orang tersebut menyadap media komunikasi yang digunakan oleh kedua orang yang sedang berkomunikasi tersebut.hal inilah yang disebut dengan man-in-themiddle-attack. Dalam keadaan ini, orang yang menyadap berada di antara kedua orang yang sedang berkomunikasi.data-data yang dikirimkan oleh orang yang sedang berkomunikasi satu sama lain selalu melalui orang yang menyadap tersebut, sehingga orang yang menyadap tersebut dapat mengetahui semua informasi yang dikirimkan satu sama lain. Keadaan ini muncul karena kedua orang yang sedang berkomunikasi tersebut tidak dapat mem-verifikasi status dari orang yang berkomunikasi dengannya tersebut, dengan mengambil asumsi bahwa proses penyadapan tersebut tidak menyebabkan gangguan dalam jaringan. 55
Alice KP A KP M Mallory Disadap oleh Mallory KP B KP M Bob Gambar 2.1 ProsedurMan-in-the-Middle Attack (Active Cheater 2.3 Interlock Protocol Problema man-in-the-middle-attack ini dapat atasi dengan menggunakan interlock protocol.interlock protocol ini diciptakan oleh Ron Rivest dan Adi Shamir.Algoritma inti dari protokol ini yaitu protokol ini mengirimkan 2 bagian pesan terenkripsi. Bagian pertama dapat berupa hasil dari fungsi hash satu arah (one way hash function dari pesan tersebut dan bagian kedua berupa pesan terenkripsi itu sendiri. Hal ini menyebabkan orang yang menyadap tersebut tidak dapat mendekripsi pesan pertama dengan menggunakan kunci privatnya.ia hanya dapat membuat sebuah pesan baru dan mengirimkannya kepada orang yang akan menerima pesan tersebut. Secara singkat, carakerja interlock protocol adalah sebagai berikut: 1. Andi mengirimkan kunci publiknya kepada Kiki. 2. Kiki mengirimkan kunci publiknya kepada Andi. 3. Andi mengenkripsi pesannya dengan menggunakan kunci publik Kiki. Kemudian, mengirimkan sebagian pesan terenkripsi kepada Kiki. 4. Kiki mengenkripsi pesannya dengan menggunakan kunci publik Andi. Kemudian, mengirimkan sebagian pesan terenkripsi kepada Andi. 5. Andi mengirimkan bagian lainnya kepada Kiki. 6. Kiki menggabungkan kedua pesan Andi dan didekripsi dengan menggunakan kunci privatnya. 7. Kiki mengirimkan bagian lainnya kepada Andi. 8. Andi menggabungkan kedua pesan Kiki dan didekripsi dengan menggunakan kunci privatnya. 3. Analisa 56 3.1 Analisa Permasalahan\ Analisa adalah penguraian dari suatu pembahasan, dalam hal ini pembahasan mengenai Metode Interlock Protocol untuk mengatasi Man- In-The-Middle-Attack dalam mengamankan pesan.kriptografi merupakan salah satu solusi atau metode pengamanan data yang tepat untuk menjaga kerahasiaan dan keaslian data, serta dapat meningkatkan aspek keamanan suatu data atau informasi. Metode ini bertujuan agar informasi yang bersifat rahasia, tidak dapat diketahui atau dimanfaatkan oleh orang atau pihak yang tidak berkepentingan.kriptografi mendukung kebutuhan dua aspek keamanan informasi, yaitu perlindungan terhadap kerahasiaan data informasi dan perlindungan terhadap pemalsuan dan pengubahan informasi yang tidak diinginkan. 3.1.1 ProsesMetode Interlock Protocol untuk mengatasi Man-In-The-Middle-Attack Proses-proses yang terjadi di dalam perangkat lunak, yaitu: 1. Pertama, user harus meng-input kunci publik dan privat Kiki, Andi dan Tuty. Input kunci adalah: a. Nilai p, untuk menghitung nilai n (p adalah bilangan prima. b. Nilai q, untuk menghitung nilai n (q adalah bilangan prima.. c. Nilai n, dihitung dengan rumus n = p x q. (n adalah kunci publik untuk enkripsi. d. Nilai e, sebagai kunci publik untuk proses enkripsi. (GCD(e, (p-1(q-1 = 1. e. Nilai d, sebagai kunci privat untuk proses dekripsi, dihitung dengan rumus d = e -1 mod ((p-1(q-1. Hitung dengan algoritma Extended Euclidean. Input kunci ini juga dapat dihasilkan secara acak (random. 2. User dapat memulai proses simulasi man-inthe-middle-attack. Proses ini mensimulasikan terjadinya penyadapan dan penggantian kunci oleh Tuty, pihak yang berada di tengah saluran komunikasi Andi dan Kiki. Proses yang terjadi adalah: a. Andi mengirimkan kunci publiknya (KP A kepada Kiki. b. Tuty menyadap kunci publik Andi (KP A dan menggantinya dengan kunci publiknya sendiri. c. Kiki menerima kunci publik Andi yang sebenarnya adalah kunci publik Tuty. d. Kiki mengirimkan kunci publiknya (KP B kepada Andi. e. Tuty menyadap kunci publik Kiki (KP B dan menggantinya dengan kunci publiknya sendiri. f. Andi menerima kunci publik Kiki yang 56
sebenarnya adalah kunci publik Tuty. Sampai di sini, kunci publik Andi dan kunci publik Kiki telah disadap oleh Tuty. Andi dan Kiki tidak menyangka bahwa kunci yang dimiliki adalah kunci publik Tuty. 3. Selanjutnya, user dapat mensimulasikan pengiriman pesan Andi kepada Kiki dan Kiki kepada Andi. Misalkan, Andi mengirimkan pesan kepada Kiki. a. Andi mengenkripsi pesan yang akan dikirimkan kepada Kiki dengan kunci publik Kiki (yang sebenarnya adalah kunci publik Tuty. b. Tuty menyadap pesan dari Andi. Karena kunci publik yang digunakan untuk proses enkripsi sebenarnya adalah kunci publik Tuty, maka Tuty dapat mendekripsi pesan Andi dengan kunci privatnya dan melihat pesan yang dikirimkan Andi. Di sini, Tuty memiliki kekuasaan penuh untuk melihat dan mengubah pesan yang dikirim Andi. Tuty kemudian mengenkripsi kembali pesan dengan kunci publik Kiki yang sebenarnya. c. Pesan diteruskan kepada Kiki. d. Kiki menerima pesan. Kiki mendekripsi pesan dengan kunci privatnya. Kiki tidak akan menyadari bahwa pesan sebenarnya telah dibaca dan bahkan diubah oleh Tuty. 4. User juga dapat mensimulasikan proses solusi dengan menggunakan interlock protocol. Terdapat dua buah variasi interlock protocol, yaitu: a. Variasi pertama adalah: ketika Andi akan mengirimkan pesan kepada Kiki, Andi mengenkripsi pesannya dan membagi hasil enkripsi menjadi 2 bagian. Kedua bagian dikirimkan secara terpisah dalam satu jangka waktu. Ketika Tuty menerima bagian pertama dari pesan, Tuty tidak akan dapat membaca pesan. Tuty harus menerima kedua bagian sekaligus untuk dapat membaca pesan, dan ketika Tuty menerima bagian kedua dari pesan, Tuty sudah terlambat untuk mengubah pesan karena bagian pertama telah atau sudah harus diterima Kiki. Apabila tidak, maka ini akan menimbulkan kecurigaan karena range waktu yang tidak wajar. b. Variasi kedua adalah: Andi mengenkripsi pesannya dan menggunakan fungsi hash SHA-1 untuk menghasilkan nilai hash dari pesan terenkripsi. Nilai hash dikirimkan sebagai bagian pertama, dan pesan terenkripsi dikirimkan sebagai bagian kedua. Ketika Kiki menerima kedua bagian pesan, Kiki melakukan verifikasi apakah nilai hash bagian kedua yang diterima sama dengan bagian pertama. 57 Apabila tidak sama, maka dapat dipastikan ada yang mengubah atau memodifikasi pesan. 4. Algoritma Dan Implementasi 4.1 Algoritma Algoritma merupakan langkah-langkah yang dituangkan dalam bentuk tulisan untuk menyelesaikan suatu masalah. Proses untuk mengetahui simulasi pemanfaatan metode interlock protocol untuk mengatasi man-in-the-middleattack, maka dibutuhkan algoritma untuk mempermudah hal tersebut, yaitu: 4.1.1 Algoritma Kunci Publik Rivest Shamir dan Adleman (RSA Algoritma kunci publik RSA digunakan dalam proses simulasi. Algoritma proses pembentukan kunci dalam bentuk pseudocode adalah sebagai berikut: 1. Key expansi. Header : pembangkit kunci. Deklarasi : k, x, y : integer, n, m: double. \Deskripsi : x Bilangan prima 1 y Bilangan prima 2 Input : x x y y Output : k key (kunci Proses : Mulai Key expansion : N = (x*y M = (x-1(y-1 E =(x*m mud n =1 D = (1+ (k*m / e Output kuunci (e and Selesai. 2. Proses Enkripsi. Header : Proses Enkripsi Deklarasi : P :String, k : Integer. Deskripsi : Input : P plain teks E kunci private Out put : C cipher teks Proses Mulai P1 Pn = (A&C P1 = B1 P2 = B2 P3 = B3 Pn = Bn P1 mud n = C1 P2 mud n = C2 P3 mud n = C3 Pn mud n = Cn Cipher (C Selesai End. 4.2 Implementasi Implementasiperangkatlunak merupakanhasiltampilanakhir dari 57
prosesperancangan dimana programdimulaidaritampilanutama kemudianterdapattampilanprofil pemrogram. 4.2.1 Implementasi Interface Misalkan, diambil contoh input kunci seperti terlihat pada gambar 4.1 berikut. Gambar 4.1 Contoh input kunci 4.2.2 Implementasi Form Input Pesan Gambar 4.2 Contoh input pesan 58 Gambar 4.5 Tampilan form Teori 5. Kesimpulan Dan Saran 5.1 Kesimpulan Setelah menyelesaikan perangkat lunak simulasi pemanfaatan metode interlock protocol untuk mengatasiman-in-the-middle-attack, penulis menarik kesimpulan sebagai berikut: 1. Proses kerja man-in-the-middle-attack sebagai salah satu bentuk penyerangan terhadap metode kriptografi publik dan proses kerja interlock protocol untuk mengatasinya. 2. Dengan menggunakan interlock protocol, walaupun kunci publik pihak penerima dan pengirim didapatkan dan diganti oleh penyadap, tetapi penyadap tidak dapat menjalankan prosedur man-in-the-middleattack untuk melihat dan mengubah pesan. 3. Dengan menginplementasikan interface dari peragkat lunak simulasi dapat membangun atau merancang sebuah aplikasi interface. 4.2.3 Implementasi Proses Simulasi Tampilan proses simulasi terlihat pada gambar 4.3 berikut: Gambar 4.3 Contoh tampilan Form Utama 4.2.4 Implementasi Form Teori 5.2 Saran Penulis ingin memberikan beberapa saran yang mungkin dapat membantu dalam pengembangan perangkat lunak ini yaitu: 1. Perangkat lunak ini dapat dikembangkan dengan menambahkan algoritma kunci publik lainnya, seperti: metode Rabin, ElGamal dan LUC. 2. Perangkat lunak dapat dikembangkan dengan menambahkan fitur multimedia, yaitu dengan menambahkan animasi yang lebih baik dan suara yang mendukung proses simulasi. Daftar Pustaka 1. Schneier, B, 1996, Applied Crytography, Second Edition, John Willey and Sons Inc. Canada. 2. Kurniawan, J., 2004, Kriptografi,Keamanan Internet dan Jaringan Komunikasi, Informatika, Bandung. 3. Stallings, W., Cryptography and Network SecurityThird Edition, Prentice Hall. 4. Putar, R., 2005, The Best Source Code Visual Basic, PT. Elex Media Komputindo, Jakarta. 5. Suryokusumo.A, 2001, Microsoft Visual Basic 6.0, PT. Elex Media Komputindo, Jakarta. 6. Novian.A, 2004, PanduanMS. Visual Basic 6, Andi, Yogyakarta. 7. Supardi.Y, 2006, Microsoft Visual Basic 6.0 Untuk Segala Tingkat, PT. Elex Media Komputindo, Jakarta. 58