Apa itu meet-in-the-middle attack?
Meet-in-the-middle adalah jenis serangan plaintext yang cukup terkenal dan bisa secara drastis mengurangi jumlah percobaan brute-force yang dibutuhkan untuk membongkar teks terenkripsi yang dikunci dengan lebih dari satu kunci. Serangan ini bikin proses peretasan jadi jauh lebih gampang buat penyusup mendapatkan akses ke data.
Serangan ini menargetkan fungsi kriptografi pada block cipher. Penyerang bakal pakai teknik brute-force baik ke plaintext (teks asli sebelum dienkripsi) maupun ciphertext (teks hasil enkripsi).
Caranya, penyerang mencoba mengenkripsi plaintext dengan berbagai kunci untuk mendapatkan intermediate ciphertext — yaitu teks yang baru terenkripsi oleh satu kunci. Di saat yang sama, penyerang mencoba mendekripsi ciphertext dengan berbagai kunci untuk mencari hasil intermediate ciphertext yang sama dengan hasil dari proses enkripsi plaintext tadi. Kalau ketemu hasil yang cocok, besar kemungkinan dua kunci yang dipakai di kedua proses itulah kunci asli dari block cipher.
Nama serangan ini diambil dari tekniknya — karena penyerang mencoba membongkar metode enkripsi dua tahap dari dua arah sekaligus, sehingga mereka “bertemu di tengah” proses enkripsi.
Bagaimana cara kerja meet-in-the-middle attack?
Meet-in-the-middle attack memanfaatkan dua hal yang sudah diketahui: satu blok plaintext dan satu blok ciphertext yang berpasangan. Serangan ini dilakukan dengan cara bekerja dari kedua ujung rantai enkripsi menuju ke tengah, bukan brute-force dari satu ujung sampai ujung lainnya. Intinya, proses enkripsi yang rumit dipecah jadi dua langkah lebih sederhana.
Serangan ini sering dipakai untuk memecahkan metode Data Encryption Standard (DES) ganda. Misalnya, double DES memakai dua kunci berbeda untuk mengubah plaintext menjadi ciphertext melalui dua tahap enkripsi. Tujuan serangan ini adalah memanfaatkan nilai di tahap tengah (intermediate values) untuk menemukan semua kunci yang dipakai — dalam kasus double DES berarti dua kunci.
Awalnya, DES dibuat dengan key length yang lebih panjang supaya brute-force makin susah. Single DES punya entropi 256. Kalau dipakai double DES, entropinya jadi 2112, yang artinya bukan dua kali lebih kuat, tapi 256 kali lebih kuat dibanding single DES. Namun, ternyata double DES tetap rentan terhadap meet-in-the-middle karena metode ini bisa memotong jumlah percobaan yang dibutuhkan secara signifikan.
Dampak dari meet-in-the-middle attack
Walaupun teknik ini bisa bikin kerja peretas jadi lebih ringan, serangan ini tetap butuh pasangan plaintext dan ciphertext. Artinya, penyerang harus bisa menyimpan semua kemungkinan intermediate ciphertext baik dari proses enkripsi plaintext maupun dekripsi ciphertext. Memang butuh ruang penyimpanan besar, tapi bukan hal yang mustahil.
Efektivitas metode ini membuat DES jadi kurang populer. Double DES jarang dipakai, sementara triple DES masih ada di beberapa sistem. Sayangnya, triple DES juga bisa dipatahkan dengan brute-force lewat teknik ini.
Meet-in-the-middle termasuk serangan pasif, artinya penyerang hanya bisa membaca pesan tanpa mengubah atau mengirim pesan baru. Serangan seperti ini bisa berlangsung lama tergantung jenis enkripsi yang dibobol. Biasanya, serangan ini lebih relevan untuk spionase korporat atau internasional yang punya sumber daya besar untuk menampung data.
Meet-in-the-middle vs. man-in-the-middle
Meskipun namanya mirip, meet-in-the-middle beda banget sama man-in-the-middle.
Man-in-the-middle adalah serangan di mana penyerang “menguping” atau memodifikasi komunikasi antara dua pihak secara diam-diam. Di sini, penyerang berada di tengah arus data, menyamar supaya tidak ketahuan, lalu bisa menyadap atau mengubah data.
Bedanya, meet-in-the-middle lebih ke teknik brute-force terhadap kunci enkripsi, sedangkan man-in-the-middle lebih interaktif dan berfokus pada manipulasi komunikasi secara langsung.