PERANCANGAN SIMULASI MAN IN THE MIDDLE ATTACK PADA ALGORITMA KRIPTOGRAFI RSA DAN PENCEGAHANNYA DENGAN INTERLOCK PROTOCOL
NASKAH PUBLIKASI
disusun oleh Moh. Yose Rizal 06.11.1136
Kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2012
DESIGN OF SIMULATION MAN IN THE MIDDLE ATTACK ON RSA CRYPTOGRAPHY ALGORITHM AND ITS PREVENTION BY INTERLOCK PROTOCOL
PERANCANGAN SIMULASI MAN IN THE MIDDLE ATTACK PADA ALGORITMA KRIPTOGRAFI RSA DAN PENCEGAHANNYA DENGAN INTERLOCK PROTOCOL
Moh. Yose Rizal Ema Utami Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT
Cryptography is the basis for computer security because the subject of the functions of a computer is a data and information. Computer establish computer networks as a means for the distribution of data and information, therefore the need for security so that only people who are entitled to access to know and use the data. RSA key generation algorithm with the one through the roses multiplication, which, if the process is reversed then there are two variables that must be factored. Man in the middle attack is an attack technique that can happen when eavesdropping the sender and receiver share a public key distribution where the person is in the middle of the communication between them without the knowledge of the key exchange for the benefit of message interception and modification. Problems can be prevented by interlock protocol. Messages are sent encrypted in two parts, the first form of the results of the oneway hash function and the other is the message itself. Program applications are made in the form of the RSA cryptosystem with simulations that describe how the interlock protocol to prevent man in the middle attack as well as the theory of algorithms. With animatif interface to facilitate understanding in tackling the interception of communications messages. Keywords: RSA, man in the middle attack, interlock protocol
1.1 PENDAHULUAN RSA (RivestShamirAdleman) telah banyak dipilih dalam berbagai aplikasi internet dan browser semenjak dipublikasikan sebagai aplikasi paten. Algoritma yang dinamai berdasarkan tiga orang penemunya ini juga terpasang dalam perangkat lunak yang dijual secara komersial dan direncanakan akan digunakan pada banyak perangkat lunak lainnya. Selain itu dikabarkan lembaga lembaga pemerintahan, perusahaan bidang bisnis dan ekonomi serta institusi pendidikan juga telah memanfaatkan secara internal seperti untuk keamanan komunikasi maupun perlindungan data. Dalam proses komunikasi data, walaupun data telah dienkripsi, terdapat kemungkinan data tersebut dapat diketahui oleh orang lain. Salah satu kemungkinannya adalah orang tersebut menyadap media komunikasi yang digunakan oleh kedua orang yang sedang berkomunikasi tersebut. Hal inilah yang disebut dengan maninthemiddleattack. Problema maninthemiddleattack ini dapat diilustrasikan sebagai berikut, misalkan Alice dan Bob sedang berkomunikasi dan Mallory ingin menyadapnya. Ketika Alice mengirimkan kunci publiknya kepada Bob, Mallory dapat menangkap kunci ini dan mengirimkan kunci publiknya sendiri kepada Bob. Kemudian, ketika Bob mengirimkan kunci publiknya kepada Alice, Mallory juga dapat menangkap kunci tersebut dan mengirimkan kunci publiknya sendiri kepada Alice. Ketika Alice mengirimkan pesan kepada Bob yang dienkripsi dengan menggunakan kunci publik Bob, Mallory dapat menangkapnya. Karena pesan tersebut dienkripsi dengan menggunakan kunci publik Mallory, maka Mallory dapat mendekripsikan pesan tersebut dengan menggunakan kunci
privatnya dan kemudian dienkripsi kembali dengan menggunakan kunci publik dari Bob dan mengirimkannya kepada Bob. Hal yang sama juga terjadi ketika Bob mengirimkan pesan kepada Alice. Mallory dapat mengetahui semua pesan yang dikirimkan oleh Bob dan Alice tersebut. Problema maninthemiddleattack ini dapat dicegah dengan menggunakan interlock protocol. Diciptakan oleh Ron Rivest dan Adi Shamir. Dua ilmuwan dari MIT (Massachusetts Institute of Technology) yang juga terlibat dalam pembuatan RSA. Algoritma inti dari interlock protocol 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.
2.1 LANDASAN TEORI 2.1.1 Kriptografi Kriptografi berasal dari bahasa yunani dan terdiri dari dua kata, yaitu cryptos yang berarti tersembunyi atau rahasia dan graphein artinya tulisan atau menulis tulisan. Kriptografi pada awalnya dapat didefinisikan sebagai ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya (Munir, 2006). Dan pelaku
atau praktisi kriptografi dinamakan cryptographer. Aspekaspek tujuan kriptografi, yaitu: 1. Confidentiality (kerahasiaan), adalah layanan yang digunakan untuk menjaga isi informasi dari siapapun kecuali yang memiliki otoritas untuk membuka informasi yang telah disandi. Umumnya hal ini dilakukan dengan cara membuat suatu algoritma matematis yang mampu mengubah data hingga menjadi sulit untuk dibaca. Istilah lain yang senada dengan confidentiality adalah privacy. 2. Data Integrity (keutuhan data), adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihakpihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya. Didalam kriptografi, layanan ini direalisasikan dengan menggunakan tanda tangan digital (digital signature). Pesan yang telah ditandatangani menyiratkan bahwa pesan yang dikirim adalah asli. 3. Authentication (keotentikan) yaitu layanan yang berhubungan dengan pengidentifikasian. Baik otentikasi pihakpihak yang terlibat dalam pengiriman data maupun keaslian pesan. Dalam hal ini juga tanda tangan digital dapat menyatakan sumber data atau informasi. 4. Nonrepudiation (antipenyangkalan) yaitu usaha untuk mencegah terjadinya penyangkalan terhadap terciptanya aksi oleh yang mengirim atau membuat (menyangkal bahwa pesan tersebut berasal dari dirinya).
2.1.2 Komponen Kriptografi Menurut Kessler (2006, h. 8) adapun komponenkomponen kriptografi: 1. Enkripsi Merupakan hal sangat penting dalam kriptografi, sebagai cara pengamanan data yang dikirimkan sehingga terjaga kerahasiaannya. Pesan asli disebut plaintext (teksbiasa), yang diubah menjadi kodekode yang tak dimengerti. 2. Dekripsi Kebalikan dari enkripsi. Pesan yang telah dienkripsi dikembalikan ke bentuk aslinya. Algoritma yang digunakan untuk dekripsi bisa sama atau dapat juga berbeda dengan algoritma enkripsinya. 3. Kunci Kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Dalam kriptografi model asimetri, kunci terbagi menjadi kunci rahasia (private key) dan kunci umum (public key). 4. Cipher Algoritma kriptografi disebut juga cipher, yaitu aturan untuk enciphering dan deciphering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. 5. Ciphertext Suatu pesan yang telah melalui proses enkripsi. Pesan yang ada pada tekskode ini tidak bisa dibaca karena berupa karakterkarakter yang tidak mempunyai makna (arti).
6. Plaintext Bisa juga disebut cleartext. Teks asli atau teks biasa ini merupakan pesan yang ditulis atau diketik dan memiliki makna. Lalu inilah yang kemudian diproses menggunakan algoritma kriptografi untuk menjadi ciphertext (tekskode). 7. Pesan Pesan dapat berupa data atau informasi yang dikirim (melalui kurir, saluran komunikasi data, dsb) atau yang disimpan dalam media perekaman (kertas, storage, dsb). 8. Pengirim dan Penerima Komunikasi data yang menggunakan kriptografi selalu melibatkan dua pihak atau entitas. Pengirim (sender) dapat dikatakan entitas pertama, lalu penerima (receiver) adalah entitas yang menerima pesan dari pihak pertama, yang dalam hal ini bisa berupa orang atau komputer (machine). 9. Cryptanalysis dan Cryptology Kriptanalisis dapat diartikan sebagai analisis kode atau suatu ilmu untuk mendapatkan teks asli tanpa harus mengetahui kunci yang sah secara wajar. Jika suatu teks kode berhasil diubah menjadi teks asli tanpa menggunakan kunci yang sebenarnya, proses tersebut dinamakan breaking code. Hal ini dilakukan oleh para kriptanalis. Analis kode juga dapat menemukan kelemahan dari suatu algoritma kriptografi dan akhirnya dapat menemukan pula kunci dan atau plaintext dari ciphertext yang dienkripsi dengan algoritma tertentu.
Sedangkan kriptologi bisa didefinisikan sebagai ilmu dan seni untuk membuat dan memecahkan kode rahasia. (Oppliger, 2005) 2.1.3 Algoritma Kriptografi 1. Algoritma Kriptografi Simetris Disebut sebagai algoritma simetris, karena dalam proses enkripsi dan dekripsinya menggunakan kunci yang sama. Algoritma enkripsi dan deskripsi bisa merupakan algoritma yang sudah umum diketahui, namun kunci yang dipakai harus terjaga kerahasiaanya, dan hanya diketahui oleh pihak pengirim dan penerima saja. Kunci ini disebut sebagai private key. Sebelum berkomunikasi kedua pihak harus bersepakat lebih dahulu tentang kunci yang dipergunakan. Pendistribusian kunci dari satu pihak ke pihak lainnya memerlukan suatu kanal tersendiri yang terjaga kerahasiaannya. Contoh algoritma kriptografi simetrik antara lain: DES, AES, Rijndael, Blowfish. 2. Algoritma Kriptografi Asimetris Algoritma asimetrik disebut juga algoritma kunci publik. Disebut kunci publik karena kunci yang digunakan pada proses enkripsi dapat diketahui oleh orang banyak tanpa membahayakan kerahasiaan kunci dekripsi, sedangkan kunci yang digunakan untuk proses dekripsi hanya diketahui oleh pihak tertentu (penerima). Mengetahui kunci publik semata tidak cukup untuk menentukan kunci rahasia. Pasangan kunci publik dan kunci rahasia menentukan sepasang transformasi yang merupakan invers satu sama lain, namun tidak dapat diturunkan satu dari yang lain.
Dalam sistem kriptografi kunci publik ini, proses enkripsi dan dekripsi menggunakan kunci yang berbeda, namun kedua kunci tersebut memiliki hubungan matematis (karena itu disebut juga sistem asimetris). Syarat – syarat yang harus dipenuhi oleh suatu algoritma publikkey yaitu (Stalling, 1995): 1. Mudah secara komputasi bagi suatu pihak B untuk mengkonstruksi sepasang kunci asimetris (kunci publik KU, kunci pribadi KR). 2. Mudah secara komputasi bagi pengirim A, dengan memiliki kunci publik B dan pesan yang ingin dienkripsi, M, untuk menghasilkan ciphertext (C). 3. Mudah secara komputasi bagi penerima B untuk mendekripsi ciphertext yang dihasilkan dengan menggunakan kunci pribadinya untuk mengembalikan pesan aslinya. 4. Tidak bisa secara komputasi bagi pihak ketiga untuk memperoleh kunci pribadi KRb hanya dengan mengetahui kunci publik KUb. 5. Tidak bisa secara komputasi bagi pihak ketiga untuk mengembalikan data asli M hanya dengan mengetahui kunci publik KUb dan ciphertext C.
Walaupun bukanlah suatu keharusan bagi semua aplikasi publikkey, namun persyaratan keenam bisa ditambahkan : 6. Fungsi enkripsi dan dekripsi bisa diterapkan dengan urutan yang dibalik.
Kegunaan dari persyaratan keenam adalah untuk penerapan tanda tangan digital (digital signature) yang digunakan memecahkan isu otentikasi (authentication) dalam masalah keamanan data. Menurut Stalling (Stalling, 1995), proses enkripsi publikkey sederhana melibatkan empat tahap berikut : 1. Setiap user di dalam jaringan membuat sepasang kunci untuk digunakan sebagai kunci enkripsi dan dekripsi dari pesan yang akan diterima. 2. User kemudian mempublikasikan kunci enkripsinya dengan menempatkan kunci publiknya ke tempat umum. Pasangan kunci yang lain tetap dijaga kerahasiaannya. 3. Jika user A ingin mengirimkan sebuah pesan ke user B, ia akan mengenkripsi pesan tersebut dengan menggunakan kunci publik user B. 4. Pada saat user B ingin mendeskripsikan pesan dari user A, ia akan menggunakan kunci pribadinya sendiri. Tidak ada pihak lain yang bisa mendekripsi pesan itu karena hanya B sendiri yang mengetahui kunci pribadi B. Contoh algoritma kriptografi asimetrik antara lain: RSA, Elgamal, Diffie Hellman.
2.1.4 RSA RSA adalah salah satu contoh kriptografi yang menerapkan konsep public key. Algoritma ini pertama kali dipublikasikan di tahun 1977 oleh Ron Rivest, Adi
Shamir, dan Leonard Adleman dari Massachusetts Institute of Technology (MIT). Nama RSA sendiri adalah singkatan dari nama belakang mereka bertiga. Clifford Cocks, seorang matematikawan Inggris sebenarnya juga telah mengembangkan algoritma yang hampir sama dengan RSA ini pada tahun 1973. Namun algoritma buatannya tidak begitu dikenal oleh publik, dan baru dipublikasi pada tahun 1997 karena merupakan proyek rahasia. Walau begitu algoritma yang dikembangkan Rivest, Shamir, dan Adleman tidak berhubungan dengan pekerjaan Cocks. Pada algoritma RSA terdapat 3 langkah utama yaitu key generation (pembangkitan kunci), enkripsi, dan dekripsi. Kunci pada RSA mencakup dua buah kunci, yaitu public key dan private key. Public key digunakan untuk melakukan enkripsi, dan dapat diketahui oleh orang lain. Sedangkan private key tetap dirahasiakan dan digunakan untuk melakukan dekripsi. Pembangkitan kunci atau key generation dari RSA adalah sebagai berikut: 1. Pilih dua buah bilangan prima sembarang a dan b. Jaga kerahasiaan a dan b ini. 2. Hitung n = a * b. Besaran n ini tidak perlu dirahasiakan. 3. Hitung m = (a1) * (b1). Sekali m telah dihitung, a dan b dapat dihapus untuk mencegah diketahuinya oleh pihak lain. 4. Pilih sebuah bilangan bulat untuk kunci publik, sebut namanya e, yang relatif prima terhadap m (relatif prima berarti PBB(e, m) = 1) dengan syarat e ≠ (p1), e ≠ (q1), dan e < n 5. Hitung kunci dekripsi, d, dengan kekongruenan ed ≡1 (mod m). Proses enkripsi dapat dilakukan dengan :
Sedangkan proses dekripsi dilakukan dengan :
Blokblok plainteks dinyatakan dengan p1, p2, p3, ... (harus dipenuhi persyaratan bahwa nilai pi harus terletak dalam himpunan nilai 0, 1, 2, ..., n1 untuk menjamin hasil perhitungan tidak berada di luar himpunan). Pada langkah kelima pembangkitan kunci atau key generation, kekongruenan ed ≡ 1 (mod m) sama dengan ed mod m = 1. Sehingga dapat pula dikatakan bahwa ed ≡1 (mod m) ekivalen dengan ed = 1 + km. Maka d dapat dihitung dengan cara yang sederhana dengan persamaan
Dengan mencoba nilai k = 1, 2, 3, ..., diperoleh nilai d yang bulat. Nilai itu yang akan dipakai sebagai kunci pribadi untuk dekripsi pesan. Dalam implementasi sebenarnya, nilai a dan b diharapkan sangat besar sekali (misalnya 100 digit) agar pekerjaan memfaktorkan n menjadi faktor primanya menjadi sangat sukar, sehingga lebih susah untuk ditembus. Contoh penerapan algoritma RSA. 1. Menentukan bilangan acak a dan b a = 13
b = 5
2. Hitung n dan m n = 13 * 5 = 65 3. Cari nilai e PBB(e, 48) = 1
m = 12 * 4 = 48
Misalnya, e = 2 maka PBB(2, 48) = 2 e = 3 maka PBB(3, 48) = 3 e = 4 maka PBB(4, 48) = 4 e = 5 maka PBB(5, 48) = 1 , jadi digunakan e = 5 4. Lalu cari nilai d
Misalnya k = 1 maka d = 9,8 k = 2 maka d = 19,4 k = 3 maka d = 29 , jadi digunakan d = 29 Kita coba mengenkripsi pesan menggunakan angkaangka yang telah didapatkan. Misalkan pesan yang dikirim adalah angka 48. E = 48 5 mod 65 = 254803968 mod 65 = 3 Setelah dilakukan enkripsi, didapat nilai sekarang adalah 3. Kemudian akan kita coba lakukan dekripsi pada nilai tersebut. D = 3 29 mod 65 = 68630377364883 mod 65 = 48 Perhatikan bahwa nilai yang didapat sama dengan nilai awal, yaitu 48. Kekuatan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan menjadi faktor primanya, dalam hal ini memfaktorkan n menjadi a dan b. Karena sekali n berhasil difaktorkan, maka menghitung nilai m adalah perkara mudah. Selanjutnya, walau nilai e diumumkan, perhitungan kunci d tidaklah mudah pula karena nilai m yang tidak diketahui.
2.1.5 ManintheMiddle Attack Dalam keadaan ini, orang yang menyadap berada di antara kedua orang yang sedang berkomunikasi. Datadata 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. 2.1.6 Interlock Protocol Problema maninthemiddleattack 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.
3.1 ANALISIS DAN PERANCANGAN 3.1.1 Spesifikasi Perangkat Keras dan Perangkat Lunak 1. Laptop Acer aspire 4920. 2. Prosesor Intel Core 2 Duo 1,83 GHz. 3. VGA Intel Mobile(R) 965 4. RAM 512 MB DDR2 (upgrade to 2 GB) 5. Hard Disk 160 GB 6. Microsoft Windows XP SP3 7. Microsoft Visual Basic 6.
4.2. Hasil Penelitian dan Pembahasan Prosesproses yang terjadi di dalam perangkat lunak, yaitu: 1. Pertama, user harus menginput kunci publik dan privat Bob, Alice dan Mallory. 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, (p1)(q1)) = 1). e. Nilai d, sebagai kunci privat untuk proses dekripsi, dihitung dengan rumus d = e 1 mod ((p1)(q1)). Hitung dengan algoritma Extended Euclidean. Input kunci ini juga dapat dihasilkan secara acak (random). 2. User dapat memulai proses simulasi maninthemiddleattack. Proses ini mensimulasikan terjadinya penyadapan dan penggantian kunci oleh Mallory, pihak yang berada di tengah saluran komunikasi Alice dan Bob. Proses yang terjadi adalah: a. Alice mengirimkan kunci publiknya (KPA) kepada Bob. b. Mallory menyadap kunci publik Alice (KPA) dan menggantinya dengan kunci publiknya sendiri (KPM). c. Bob menerima ’kunci publik Alice’ yang sebenarnya adalah kunci publik Mallory (KPM). d. Bob mengirimkan kunci publiknya (KPB) kepada Alice.
e. Mallory menyadap kunci publik Bob (KPB) dan menggantinya dengan kunci publiknya sendiri (KPM). f. Alice menerima ’kunci publik Bob’ yang sebenarnya adalah kunci publik Mallory (KPM). 3. Selanjutnya, user dapat mensimulasikan pengiriman pesan Alice kepada Bob dan Bob kepada Alice. Misalkan, Alice mengirimkan pesan kepada Bob. a. Alice mengenkripsi pesan yang akan dikirimkan kepada Bob dengan ’kunci publik Bob’ (yang sebenarnya adalah kunci publik Mallory). b. Mallory menyadap pesan dari Alice. Karena kunci publik yang digunakan untuk proses enkripsi sebenarnya adalah kunci publik Mallory, maka Mallory dapat mendekripsi pesan Alice dengan kunci privatnya dan melihat pesan yang dikirimkan Alice. Pesan diteruskan kepada Bob. c. Bob menerima pesan. Bob mendekripsi pesan dengan kunci privatnya. Bob tidak akan menyadari bahwa pesan sebenarnya telah dibaca dan bahkan diubah oleh Mallory. 4. User juga dapat mensimulasikan proses solusi dengan menggunakan interlock protocol. Terdapat dua buah variasi interlock protocol, yaitu: a. Variasi pertama adalah: ketika Alice akan mengirimkan pesan kepada Bob, Alice mengenkripsi pesannya dan membagi hasil enkripsi menjadi 2 bagian. Kedua bagian dikirimkan secara terpisah dalam satu jangka waktu. Ketika Mallory menerima bagian pertama dari pesan, Mallory tidak akan dapat membaca pesan. Mallory harus menerima kedua bagian sekaligus untuk dapat membaca pesan, dan ketika Mallory menerima bagian kedua
dari pesan, Mallory sudah terlambat untuk mengubah pesan karena bagian pertama telah atau sudah harus diterima Bob. Apabila tidak, maka ini akan menimbulkan kecurigaan karena range waktu yang tidak wajar. b. Variasi kedua adalah: Alice mengenkripsi pesannya dan menggunakan fungsi hash SHA1 untuk menghasilkan nilai hash dari pesan terenkripsi. Nilai hash dikirimkan sebagai bagian pertama, dan pesan terenkripsi dikirimkan sebagai bagian kedua. Ketika Bob menerima kedua bagian pesan, Bob melakukan verifikasi apakah nilai hash bagian kedua yang diterima sama dengan bagian pertama. Apabila tidak sama, maka dapat dipastikan ada yang mengubah atau memodifikasi pesan.
Ketahanan perangkat lunak dalam pengujian mampu berjalan baik saat dilakukan simulasi berulang – ulang asalkan idle time tidak lebih dari 3 sampai 5 menit. Kekurangan yang mendasar dari perangkat lunak ini pada terbatasnya isi pesan. Dalam simulasi pesan yang dikirim inputnya harus berjumlah kurang dari 50 karakter. Selain itu kekurangan lainnya, software tidak dapat mensimulasikan jika terjadi gangguan dalam jaringan yang disebabkan oleh faktor teknis atau non teknis dan membedakannya dengan gangguan yang disebabkan oleh aktifitas penyadapan. Dan hal yang bisa menjadi keunggulan dari perangkat lunak ini dengan adanya fitur interlock protocol. Pencegahan serangan pada kriptografi umumnya tidak termasuk dalam paket penyerangan pada kriptografi.
5.1. Kesimpulan 1. Pembangkitan kunci algoritma RSA supaya mendapatkan bilangan prima besar untuk meningkatkan kekuatan kunci maka dilakukan dengan pembangkitan bilangan acak secara random oleh perangkat lunak. 2. Dengan menggunakan interlock protocol, walaupun kunci publik pihak penerima dan pengirim didapatkan dan diganti oleh penyadap, tetapi penyadap tidak dapat menjalankan prosedur maninthemiddleattack untuk melihat dan mengubah pesan. Hal ini dikarenakan pesan terenkripsi terbagi menjadi dua bagian pada variasi pertama dan terdapat fungsi hash untuk memverifikasi keaslian pesan pada variasi kedua. 3. Perangkat lunak mensimulasikan proses kerja maninthemiddleattack sebagai salah satu bentuk penyerangan terhadap metode kriptografi publik dan proses kerja interlock protocol untuk mengatasinya, sehingga perangkat lunak dapat digunakan untuk mendukung proses belajar mengajar, terutama dalam mata kuliah Kriptografi. 4. Pendeteksian keberadaan penyadap tidak diketahui jika tidak terjadi modifikasi dalam isi pesan yang dikirim. 5. Noise yang timbul disebabkan faktor teknis pada jaringan atau nonteknis selama pengiriman data, tidak dikategorikan sebagai adanya penyadapan walaupun terdapat jeda antara pengiriman pesan bagian 1 dan 2 saat dilakukan simulasi interlock protocol.
DAFTAR PUSTAKA
Kurniawan, J., 2004, Kriptografi, Keamanan Internet dan Jaringan Komunikasi, Informatika, Bandung.
Menezes, Alfred J., van Orschot, Paul C., & Vanstone. Scott. 1997. Handbook of Applied Cryptography. New York : CRC Press LLC.
Rinaldi Munir, 2004, Kriptografi, Bandung,
Schneier, B, 1996, Applied Crytography, Second Edition, John Willey and Sons Inc. Canada.
Stallings, W., Cryptography and Network Security Third Edition, Prentice Hall.
www.computerhope.com/jargon/m/mitma.htm, 30 maret 2012.
www.cs.steven.edu/~swetzel/publications/mim.pdf, diakses pada tanggal 1 november 2011.
www.cs.umu.se/education/examina/rapporter/mattiasericsson.pdf, tanggal 22 september 2011.
www.ouah.org/mitmbrief.htm, diakses tanggal 5 februari 2012
diakses