KEAMANAN KOMPUTER ADITYO NUGROHO,ST TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE TUBAN PERTEMUAN 6 – CIPHER ALIRAN (STREAM CIPHER)
Cipher Aliran (Stream Cipher) Refresh… Cipher yang beroperasi pada plainteks/cipherteks dalam bentuk BIT TUNGGAL. Rangkaian bit dienkripsi / didekripsi bit per bit.
Cipher Aliran (Stream Cipher) Refresh… Pada cipher aliran, bit hanya mempunyai dua buah nilai, sehingga proses enkripsi hanya menyebabkan dua keadaan pada bit : berubah atau tidak berubah. Dua keadaan tersebut ditentukan oleh ALIRAN-KUNCI (keystream) yang dibangkitkan oleh PEMBANGKIT ALIRAN KUNCI (keystream generator).
Cipher Aliran (Stream Cipher) Refresh… Keamanan sistem ini sepenuhnya bergantung pada keystream generator. Jika yang dibangkitkan hanya bit 0,maka cipherteks = plainteks Tidak berguna Keystream Generator pi ki ci Plainteks Enkripsi Cipherteks Dekripsi
Cipher Aliran (Stream Cipher) Refresh… Jika keystream generator mengeluarkan aliran kunci dengan pola 16-bit yang berulang, maka algoritma enkripsinya menjadi sama persis dengan XOR sederhana dengan tingkat keamanan yang rendah.
Cipher Aliran (Stream Cipher) Refresh… Jika keystream generator mengeluarkan aliran kunci yang benar-benar acak (truly random), maka algoritma enkripsinya sama dengan one-time pad dengan tingkat keamanan yang sempurna. Dalam hal ini aliran kunci sama panjangnya dengan panjang plainteks sehingga akan didapatkan unbreakable cipher.
Cipher Aliran (Stream Cipher) Refresh… Kesimpulan : hanya dengan perhitungan XOR sederhana, KUNCI ACAK yang di-generate SEPANJANG plainteks dan metode enkripsi ONE-TIME PAD, akan didapatkan cipherteks yang sulit dipecahkan.
Contoh Keysteram Generator Cipher aliran sering menggunakan LINEAR FEEDBACK SHIFT REGISTER (LFSR) atau REGISTER GESER UMPAN-BALIK LINEAR sebagai keystream generator. LFSR terdiri dari dua bagian yaitu REGISTER GESER dan FUNGSI UMPAN BALIK.
Contoh Keysteram Generator REGISTER GESER : barisan bit-bit (bn,bn-1,…b3,b2,b1) yang panjangnya n (disebut juga register geser n-bit) FUNGSI UMPAN BALIK : fungsi yang menerima masukan dari register geser dan mengembalikan nilai fungsi ke register geser.
Contoh Keysteram Generator Setiap sebuah bit dibutuhkan, semua bit dalam register digeser 1 bit ke kanan.
Contoh Keysteram Generator Bit paling kiri merupahan hasil perhitungan fungsi bit-bit lain dalam register tersebut. Output dari register geser adalah 1 bit, yaitu bit paling kanan yang telah digeser.
Contoh Keysteram Generator Contoh : LFSR 4 bit, dengan fungsi umpan balik XOR bit paling kanan dengan bit paling kiri.
Contoh Keysteram Generator Sehingga bit output yang menjadi keystream adalah : 1 1 1 1 0 1 0 1 Loop Ke Isi Register Bit Output 1 1 1 1 1 0 1 1 1 2 1 0 1 1 3 0 1 0 1 4 1 0 1 0 5 1 1 0 1 6 0 1 1 0 7 0 0 1 1 8 1 0 0 1
Contoh Keysteram Generator LFSR n-bit mempunyai 2n – 1 status internal (keadaan isi register). Mengapa bukan 2n ? Karena bila isi register 0000, maka akan menghasilkan barisan 0 yang tiada akhir, sehingga tidak ada gunanya.
Serangan Terhadap Cipher Aliran Known-Plaintext Attack Ciphertext-Onky Attack Flip-Bit Attack
Known-Plaintext Attack Serangan Terhadap Cipher Aliran Known-Plaintext Attack Misal Kriptanalis memiliki potongan PLAINTEKS (P) dan CIPHERTEKS (C) yang berkoresponden, maka ia dapat menemukan bagian ALIRAN-KUNCI (K) dengan melakukan operasi XOR plainteks dan cipherteks
Ciphertext-Only Attack Serangan Terhadap Cipher Aliran Ciphertext-Only Attack Serangan ini terjadi jika keystream yang sama digunakan dua kali atau lebih tehadap potongan plainteks yang berbeda. Disebut juga KEYSTREAM REUSE ATTACK
Ciphertext-Only Attack Serangan Terhadap Cipher Aliran Ciphertext-Only Attack Misal kriptanalis memiliki dua potongan cipherteks yang berbeda (C1 dan C2) yang dienkripsi dengan bit-bit kunci yang sama. Kemudian ia meng XOR kan kedua cipherteks tersebut dan akhirnya memperoleh dua buah plainteks yang ter-XOR satu sama lain
Ciphertext-Only Attack Serangan Terhadap Cipher Aliran Ciphertext-Only Attack
Ciphertext-Only Attack Serangan Terhadap Cipher Aliran Ciphertext-Only Attack Jika salah satu dari P1 atau P2 diketahui atau dapat diterka, maka XOR kan salah satu plainteks tersebut dengan cipherteksnya untuk mendapatkan bit-bit kunci K yang berkoresponden. Dan P2 dapat diungkap dengan kunci K tersebut
Ciphertext-Only Attack Serangan Terhadap Cipher Aliran Ciphertext-Only Attack Jika P1 dan P2 tidak diketahui, dapat dilakukan dengan menggunakan nilai statistik dari pesan. Misal dalam teks Bahasa Inggris, dua buah spasi ter-XOR atau satu spasi dengan huruf “e” sebagai huruf yang sering muncul. Kriptanalis cukup cerdas untuk mendeduksi kedua plainteks tersebut
Serangan Terhadap Cipher Aliran Flip-Bit Attack Serangan ini tidak untuk menemukan kunci atau plainteks. Tetapi mengubah bit cipherteks tertentu sehingga hasil dekripsinya berubah. Pengubah pesan (Man in the middle) tidak perlu mengetahui kunci, ia hanya perlu mengetahui posisi pesan yang diminati saja
Serangan Terhadap Cipher Aliran Flip-Bit Attack Pengubahan dilakukan dengan membalikkan (flip) bit tertentu (0 menjadi 1 atau 1 menjadi 0). Serangan ini memanfaatkan karakteristik stream cipher, dimana mesalahan 1-bit pada cipherteks hanya menghasilkan kesalahan 1-bit pada plainteks hasil dekripsi.
Serangan Terhadap Cipher Aliran Flip-Bit Attack Contoh : Plainteks : QT TRNSFR US $00010,00 FRM ACCNT 123-67 TO Cipherteks : uhtr07hjLmkyR3j7Ukdhj38lkkldkYtr#)oknTkRgh Penyadap mengamati nilai uang berasosiasi dengan karakter U. Dalam perjalanan pesan, ia membalikkan (flip) sebuah bit dari karakter U
Serangan Terhadap Cipher Aliran Flip-Bit Attack 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 Hasilnya, karakter U (00101101) menjadi karakter T (00101100) Cipherteks : uhtr07hjLmkyR3j7Tkdhj38lkkldkYtr#)oknTkRgh Plainteks : QT-TRNSFR US $10010,00 FRM ACCNT 123-67 TO Hasil dekripsi : $10,00 menjadi $10010,00
Aplikasi Cipher Aliran Stream cipher cocok untuk mengenkripsikan aliran data yang terus menerus melalui saluran komunikasi, misalnya mengenkripsi data jaringan komputer atau pada jaringan seluler GSM.
Aplikasi Cipher Aliran Alasannya, karena tiap bit plainteks ditentukan hanya oleh satu bit cipherteks maka bila 1 bit cipherteks yang diterima mengandung kesalahan, maka hal ini hanya menghasilkan 1 bit kesalahan waktu dekripsi.
Aplikasi Cipher Aliran Kondisi di atas tidak benar untuk cipher blok karena jika satu bit cipherteks yang diterima mengandung kesalahan, maka kesalahan ini akan merambat pada seluruh blok bit hasil plainteks hasil dekripsi (error propagation)