Serangan Terhadap Kriptografi
Serangan Terhadap Kriptografi
Keseluruhan point dari kriptografi adalah menjaga kerahasiaan plainteks (atau kunci, atau keduanya) dari penyadap (eaesdropper) atau kriptanalis (cryptanalyst).
Penyadap bisa juga merangkp sebagai seorang kriptanalis.
Nama lain penyadap :
- Penyusup (intruder)
- Penyerang (attacker)
- Musuh (enemy, adversaries)
- Pencegat (interceptor)
- Lawan (opponent)
Penyadap berusaha mendapatkan data yang digunakan untuk kegiatan kriptanalisis (cryptanalysis).
Kriptanalis berusaha mengungkap plainteks atau kunci dari data yang disadap. Kriptanalis juga dapat menemukan kelemahan dari sistem kriptograf yang pada akhirnya mengarah untuk menemukan kunci dan mengungkap plainteks.
Metode Penyadapan
- Wiretapping; penyadap mencegat data yang ditransmisikan pada saluran kabel komunikasi dengan menggunakan sambungan perangkat keras.
- Elektromagnetic Eavesdropping; penyadap mencegat data yang ditransmisikan melalui saluran wireless, misalnya radio dan microwive.
- Acoustic Eavesdropping; menangkap gelombang suara yang dihasilkan oleh suara manusia.
Serangan (attack)
yang dimaksud dengan serangan (attack) adalah setiap usaha (attempt) atau percobaan yang dilakukan oleh kriptanalis untuk menemukan kunci atau menemukan plainteks dari cipherteks nya.Serangan terdiri dari:
Exhaustive attack atau brute force attack;
percobaan yang dibuat untuk mengungkap plainteks atau kunci dengan mencoba semua kemungkinan kunci (trial and error).
Asumsi yang digunakan:
Kriptanalis mengetahui algoritma kriptografi
Kriptanalis memiliki sebagian plainteks dan cipherteks yang bersesuaian.
Cara: plainteks yang diketahui dienkripsikan dengan setiap kemungkinan kunci, dan hasil nya dibandingkan dengan cipherteks yang bersesuaian.
Jika hanya cipherteks yang tersedia, cipherteks tersebut didekripsi dengan setiap kemungkinan kunci dan plainteks, hasilnya diperiksa apakah mengandung makna.
Misalkan sebuah sistem kriptografi membutuhkan kunci yang panjangnya 8 arakter, karakter dapat berupa angka (10 buah), huruf (26 huruf besar dan 26 huruf kecil), maka jumlah kunci yang harus dicoba adalah sebanyak 62 x 62 x 62 x 62 x 62 x 62 x 62 x 62 = 62 pangkat 8 buah.
Secara teori, serangan secara exhaustive ini dipastikan berhasil mengungkap plainteks tapi dalam waktu yang sangat alama.
Untuk menghadapi serangan ini, perancang kriptosistem (kriptografer) harus membuat kunci yang panjang dan tidak mudah ditebak.
Analytical attack
pada jenis serangan ini, kriptanalis tidak mencoba-coba semua kemungkinan kunci tetapi menganalisis kelemahan algoritma kriptografi untuk mengurangi kemungkinan kunci yang tidak mungkin ada.Analisis dilakukan dengan memecahkan persamaan-persamaan matematika (yang diperoleh dari definisi suatu algoritma kriptografi) yang mengandung peubah-peubah yang mempresentasikan plainteks atau kunci.
Asumsi yang digunakan: kriptanalis mengetahui algoritma kriptografi.
Untuk menghadapi serangan ini, kriptografer harus membuat algoritma kriptografi yang kompleks sedemikian sehingga plainteks merupakan fungsi matematika dari cipherteks dan kunci yang cukup kompleks, dan tiap kunci merupakan fungsi matematika dari cipherteks dan plainteks yang cukup kompleks.
Metode analytical attack biasanya lebih cepat menemukan kunci dibandingan dengan exhaustive attack.
Data yang digunakan untuk menyerang sistem kriptografi dapat dikategorikan sebagai berikut:
Chipertext - only attack
Kriptanalis memiliki beberapa cipherteks dari beberapa pesan, semua dienkripsi dengan algoritma yang sama. Tugas kriptanalis adalah menemukan plainteks sebanyak mungkin atau menemukan kunci yang digunakan untuk mengenkripsi pesan.
Known - plaintext attack
Beberapa pesan yang formatnya terstruktur membuka peluang kepada kriptanalis untuk menerka plainteks dari cipherteks yang bersesuaian.
Chosen - plaintext attack
Serangan jenis ini lebih hebat daripada know-plaintext attack, karena kriptanalis dapat memilih plainteks tertentu untuk dienkripsikan, yaitu plainteks-plainteks yang lebih mengarahkan penemuan kunci.
Adaptive-chosen-plaintext attack
Kasus khusus dari jenis serangan chosen. Misalnya kriptanalis memilih blok plainteks yang besar, lalu dienkripsi, kemudian memilih blok lainnya yang lebih kecil berdasarkan hasil serangan sebelumnya, begitu seterusnya.
Chosen-ciphertext attack
Kriptanalis memiliki akses terhadap cipherteks yang didekripsi (misalnya terhadap mesin elektronik yang melakukan dekripsi secara otomatis.
Chosen-text attack; gabungan chosen-plaintext attact dan chosen-ciphertext attact.
Chosen-key attack; kriptanalis memiliki pengetahuan mengenai hubungan antara kunci-kunci yang berbeda, dan memilih kunci yang tepat untuk mendekripsi pesan.
Rubber-hose cryptanalysis; kriptanalis mengancam, mengirim surat gelap, atau melakukan penyiksaan sampai orang yang memegang kunci memberi kunci untuk mendekripsi pesan. Mungkin ini cara yang terbaik untuk memecahkan kriptografi.
Kompleksitas serangan:
Kompleksitas data (data complexity); jumlah data yang dibutuhkan sebagai masukan untuk serangan. semakin banyak data yang dibutuhkan untuk melakukan serangan, berarti semakin bagus algoritma kriptografi tersebut.Kompleksitas waktu (time complexity)
Waktu yang dibutuhkan untuk melakukan serangan. Ini disebut juga faktor kerja ( work factor). Semakin lama waktu yang dibutuhkan untuk melakukan serangan, berarti semakin bagus algoritma kriptografi tersebut.
Kompleksitas ruang memori (space/storage complexity); jumlah memori yang dibutuhkan untuk melakukan serangan. Semakin banyak memori yang dibutuhkan untuk melakukan serangan, berarti semakin bagus algoritma kriptografi tersebut.
Catatan:
Dalam pembahasan tentang serangan terhadap kriptografi, kita selalu mengasumsikan kriptanalis mengetahui algoritma kriptografi, sehingga keamanan algoritma terletak sepenuhnya pada kunci. Hal ini didasarkan pada prinsip Kerckhoff (1883) yaitu "Semua algoritma kriptografi harus publik; hanya kunci yang rahasia".
Jika keamanan algoritma kriptografi ditentukan dengan menjaga kerahasiaan algoritma nya, maka algoritma tersebut dinamakan algoritma terbatas (restricted). Algoritma terbatas tidak cocok lagi saat ini.
Misalkan algoritma terbatas digunakan oleh orang-orang di dalam sebuah group. Setiap orang mengenkripsi dan mendekripsi pesan dengan algoritma yang hanya diketahui oleh mereka saja. Tetapi, jika seorang anggota keluar dari group, maka algoritma tersebut harus diganti (anggota yang keluar belum tentu bisa dipercaya akan tetap merahasiakan algoritma group nya dulu).
Dengan mempublikasikan algoritma kriptografi, kriptografer memperolah konsultasi gratis dari sejumlah kriptologis akademisi yang ingin sekali memecahkan algoritma sehingga mereka dapat mempublikasikan paper yang memperlihatkan kecerdasaran mereka.
Jika banyak pakar telah mencoba memecahkan algoritma selama 5 tahun setelah dipubliasikan dan tidak seorangpun berhasil, maka mungkin algoritma tersebut tangguh.
Keamanan Algoritma Kriptografi
Sebuah algoritma kriptografi dikatakan aman (computationally secure) bila algoritma kriptografi tersebut memenuhi tiga kriteria berikut ini:- Persamaan matematis yang menggambarkan operasi algoritma kriptografi sangat kompleks sehingga algoritma tidak mungkin dipecahkan secara analitik.
- biaya untuk memecahkan cipherteks melampaui nilai informasi yang terkandung di dalam cipherteks tersebut.
- Waktu yang diperlukan untuk memecahkan cipherteks melampaui lamanya waktu informasi tersebut harus dijaga kerahasiaannya.
Materi Video: