KEAMANAN KOMPUTER

Download Report

Transcript KEAMANAN KOMPUTER

KEAMANAN KOMPUTER
ADITYO NUGROHO,ST
TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE TUBAN
PERTEMUAN 7 – CIPHER BLOK (BLOCK CIPHER)
Electronic Code Book (ECB)
Cipher Block Chaining (CBC)
Cipher Blok (Block Cipher)
Refresh…
Beroperasi pada plainteks/cipherteks dalam bentuk
BLOK BIT.
Rangkaian bit dibagi menjadi blok-blok dengan ukuran
tertentu.
Dienkripsi / didekripsi blok per blok.
Cipher Blok (Block Cipher)
Refresh…
Rangkaian bit-bit plainteks dibagi menjadi blok-blok bit
dengan panjang sama, biasanya 64-bit atau lebih.
Kemudian setiap blok di-enkripsi dengan bit-bit kunci
yang panjangnya sama dengan panjang bit dalam blok
plainteks.
Cipher Blok (Block Cipher)
Refresh…
Algoritma cipher blok menggabungkan beberapa
teknik kriptografi klasik dalam proses enkripsi
sehingga dapat menjadi super-enkripsi.
1.
Substitusi
Menggantikan satu atau sekumpulan bit pada
blok plainteks tanpa merubah urutannya.
Cipher Blok (Block Cipher)
Refresh…
2.
Transposisi atau permutasi
Memindahkan atau menggeser posisi bit pada
blok plainteks berdasarkan aturan tertentu.
3. Ekspansi
Memperbanyak jumlah bit pada blok plainteks
berdasarkan aturan tertentu. Misal 32-bit
menjadi 48-bit.
Cipher Blok (Block Cipher)
Refresh…
4.
Kompresi
Kebalikan dari ekspansi, jumlah bit pada blok
plainteks dimampatkan berdasarkan aturan
tertentu.
Cipher Blok (Block Cipher)
Refresh…
Tahun 1949, Shannon mengemukakan dua prinsip
(properties) penyandian (encoding) data dalam
makalahnya yang berjudul Communication Theory of
Secrecy Systems.
Kedua prinsip tersebut digunakan dalam perancangan
cipher blok yang kuat.
Cipher Blok (Block Cipher)
Refresh…
1.
Confusion
Menyembunyikan hubungan apapun antara
plainteks, cipherteks dan kunci. Hal ini akan
membuat kriptanalis frustasi untuk mencari
pola-pola yang muncul pada cipherteks.
Confusion akan membuat hubungan statistik
plainteks, cipherteks dan kunci menjadi rumit.
Cipher Blok (Block Cipher)
Refresh…
2.
Diffusion
Menyebarkan pengaruh satu bit plainteks atau
kunci ke sebanyak mungkin cipherteks sehingga
perubahan pada cipherteks tidak dapat
diprediksi.
Cipher Blok (Block Cipher)
Refresh…
Untuk mendapatkan keamanan yang tinggi, prinsip
confusion dan diffusion diulang berkali-kali pada tiaptiap blok enkripsi dengan kombinasi yang berbeda.
Mode Operasi Cipher Blok
Terdapat 4 mode operasi yang lazim diterapkan pada
sistem blok cipher :
1. Electronic Code Book (ECB)
2. Cipher Block Chaining (CBC)
3. Cipher Feedback (CFB)
4. Output Feedback (OFB)
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
Pada mode ini, setiap blok plainteks Pi dienkripsi
secara individual dan independen menjadi blok
cipherteks Ci.
Enkripsi :
Dekripsi :
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
Istilah “CODE BOOK” dalam ECB muncul dari fakta
bahwa blok plainteks yang sama selalu menjadi blok
cipherteks yang sama, maka dimungkinkan membuat
buku kode plainteks dan cipherteks yang
berkoresponden
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
Namun semakin besar ukuran blok, maka semakin
besar pula ukuran buku kodenya.
Misal jika blok berukuran 64-bit, maka buku kode
terdiri dari 264 – 1 buah kode (entry), yang berarti
terlalu besar untuk disimpan. Lagipula setiap kunci
memiliki buku kode yang berbeda.
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
Misalkan plainteks (dalam biner) adalah :
10100010001110101001
Bagi plainteks menjadi blok-blok yang berukuran 4 bit :
1010 0010 0011 1010 1001
Atau dalam notasi HEX menjadi :
A23A9
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
Misal kunci (harus sama dengan panjang blok
plainteks) yang digunakan adalah : 1011 (HEX : B)
Dapat dilakukan fungsi enkripsi sederhana dengan
meng-XOR-kan blok plainteks dengan kunci, kemudian
geser secara wrapping bit-bit hasil enkripsi 1 posisi ke
kiri.
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
Plainteks : 10100010001110101001 (HEX : A23A9)
Cipherteks : 00100011000100100100 (HEX : 23124)
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
Catatlah bahwa blok palinteks yang sama selalu
dienkripsi menjadi blok cipherteks yang sama atau
identik.
Pada contoh di atas, blok 1010 muncul 2 kali dan selalu
dienkripsi menjadi 0010.
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
Contoh yang lebih mudah, misalkan pesan :
KUTU BUKU DI LEMARIKU
Dibagi menjadi blok-blok yang terdiri dari dua huruf
(dengan menghilangkan semua spasi) :
KU TU BU KU DI LE MA RI KU
Terlihat blok KU akan dienkripsi menjadi blok
cipherteks yang sama
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
Keuntungan Mode ECB :
1. Karena tiap blok plainteks dienkripsi secara
independen, maka tidak perlu mengenkripsi file
secara linear. Kita dapan mengenkripsi 5 blok
pertama, lalu blok-blok akhir, kembali ke blok-blok
tengah dan seterusnya.
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
Mode ECB cocok untuk mengenkripsi arsip (file)
yang diakses secara acak, misalnya arsip basis
data. Jika basis data dienkripsi menggunakan ECB,
maka sembarang record dapat dienkripsi atau
didekripsi secara independen/acak dari record
lainnya (dengan asumsi setiap record mempunyai
panjang data yang sama)
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
Jika mode ECB dikerjakan dengan prosesor paralel
(multiple processor / multiple core processor),
maka setiap prosesor dapat melakukan enkripsi
atau dekripsi blok plainteks yang berbeda dalam
waktu yang bersamaan (multi processing).
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
2.
Jika salah satu atau lebih bit pada blok
cipherteks mengalami kesalahan, maka
kesalahan ini hanya mempengaruhi cipherteks
yang bersangkutan pada waktu dekripsi. Blokblok cipherteks lainnya bila didekripsi tidak
terpengaruh oleh kesalahan bit cipherteks
tersebut.
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
Kelemahan ECB
1. Karena bagian plainteks sering berulang
(contoh:dari,yang,ini,itu) sehingga terdapat blokblok plainteks yang sama, maka hasil enkripsi
menghasilkan blok cipherteks yang sama.
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
Untuk mengurangi kelemahan ini, gunakan ukuran
blok yang besar, misal 64-bit atau lebih sehingga
mampu menghilangkan kemungkinan blok-blok yang
identik.
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
2. Pihak yang tidak baik dapat memanipulasi
cipherteks untuk mengambil membodohi atau
mengelabui penerima pesan. Dengan cara
menghilangkan atau menambahkan blok cipherteks.
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
P : UANG DITRANSFER LIMA SATU JUTA RUPIAH
UA NG DI TR AN SF ER LI MA SA TU JU TA RU PI AH
C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16
UA NG DI TR AN SF ER SA TU JU TA RU PI AH
C1 C2 C3 C4 C5 C6 C7 C10 C11 C12 C13 C14 C15 C16
Kondisi : Kriptanalis berhasil mendekripsi dan membuat tabel
blok keseluruhan blok cipherteks menjadi plainteks
Mode Operasi Cipher Blok
1. Electronic Code Book (ECB)
Kedua kelemahan di atas dapat diatasi dengan
mengatur enkripsi tiap blok individual bergantung
pada semua blok-blok sebelumnya. Dengan cara ini
blok plainteks yang identik akan menghasilkan blok
cipherteks yang berbeda sehingga manipulasi
cipherteks mungkin menghasilkan pesan hasil dekripsi
yang tidak bermakna.
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Mode ini menerapkan mekanisme umpan balik
(feedback) pada sebuah blok. Dimana hasil enkripsi
blok sebelumnya di-feedback-kan ke dalam enkripsi
blok berikutnya.
Dengan CBC, setiap blok cipherteks bergantung pada
seluruh blok plainteks sebelumnya.
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Untuk dekripsi, blok cipherteks yang akan diproses
dimasukkan dalam fungsi dekripsi, kemudian mengXOR-kan hasilnya dengan blok cipherteks sebelumnya.
Hal ini disebut dengan umpan-maju (feedforward)
apda akhir proses dekripsi.
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Proses ENKRIPSI CBC
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Proses DEKRIPSI CBC
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Pada enkripsi blok pertama, C0 = IV (INITIALIZATION
VECTOR).
IV digunakan untuk menggantikan blok cipherteks
sebelumnya (C0).
IV dapat diberikan oleh pengguna atau secara
otomatis acak oleh program.
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Pada dekripsi, blok plainteks pertama diperoleh
dengan cara meng-XOR-kan IV dengan hasil dekripsi
terhadap blok cipherteks pertama.
IV tidak perlu rahasia.
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Penggunaan IV(iv) untuk enkripsi :
: Penggunaan IV untuk dekripsi
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Dapat diperhatikan bahwa enkripsi terhadap blok i
adalah fungsi dari semua plainteks dari blok 0 sampai
blok i-1, sehingga blok plainteks yang sama
menghasilkan blok cipherteks yang berbeda hanya jika
blok plainteks sebelumnya berbeda.
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Jika blok plainteks sebelumnya ada yang sama, maka
ada kemungkinan cipherteksnya sama. Untuk
mencegah hal ini, maka digunakan IV yang merupakan
data acak sebagai blok pertama.
IV tidak mempunyai makna, hanya digunakan untuk
membuat tiap blok cipherteks menjadi unik.
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Contoh Kasus :
P : 1010 0010 0011 1010 1001
K : 1011
Fungsi Enkripsi (E) : XOR kan blok-blok P dengan K ,
kemudian geser secara wrapping
bit-bit hasil enkripsi ke kiri 1 bit.
iv : 0000
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Tahap 1a : XOR-kan plainteks dengan cipherteks
sebelumnya (dalam hal ini “iv” karena yang
akan di-XOR kan adalah blok pertama)
Tahap 1b : Enkripsikan dengan Key
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Tahap 1c : Geser hasil tahap 1b ke kiri 1 bit sehingga
menjadi 0010  C1
Tahap 2a : XOR-kan plainteks dengan cipherteks
sebelumnya
Tahap 2b : Enkripsikan dengan Key
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Tahap 2c : Geser hasil tahap 1b ke kiri 1 bit sehingga
menjadi 0111  C2
Dan seterusnya sehingga Plainteks : A23A9 menjadi
Cipherteks 27FBF dengan metode CBC
Dapat dilihat bahwa ternyata dengan metode CBC,
plainteks “A” dapat menghasilkan cipherteks “2” atau
“B”  penerapan prinsip DIFFUSION
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Keuntungan Mode CBC :
Karena blok-blok plainteks yang sama tidak menghasilkan blok-blok cipherteks yang sama, maka
kriptanalisis menjadi lebih sulit. Inilah alasan utama
digunakannya mode CBC.
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Kelemahan Mode CBC :
Pada proses enkripsi, karena blok cipherteks yang
dihasilkan bergantung pada blok-blok cipherteks
sebelumnya, maka kesalahan 1 bit pada sebuah blok
plainteks akan merambat pada blok berikutnya.
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Tetapi kesalahan yang terjadi pada proses enkripsi
tadi tidak terjadi pada proses dekripsi. Kesalahan 1 bit
pada blok cipherteks hanya mempengaruhi blok
plainteks yang berkoresponden dan 1 bit pada blok
plainteks berikutnya (pada posisi bit yang
berkoresponden pula).
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Kesalahan bit cipherteks biasanya terjadi karena
adanya gangguan (noise) saluran komunikasi data
selama transmisi atau malfunction pada media
penyimpanan.
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Persoalan keamanan yang muncul pada CBC
1. Karena blok cipherteks mempengaruhi blok-blok
berikutnya, pihak lawan dapat menambahkan blok
cipherteks tambahan pada akhir pesan terenkripsi
tanpa terdeteksi. Hal ini menghasilkan blok
plainteks tambahan pada waktu dekripsi.
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Persoalan keamanan yang muncul pada CBC
1. Karena tiap blok cipherteks mempengaruhi blokblok berikutnya, pihak lawan dapat menambahkan
blok cipherteks tambahan pada akhir pesan
terenkripsi tanpa terdeteksi. Hal ini menghasilkan
blok plainteks tambahan pada waktu dekripsi.
Mode Operasi Cipher Blok
2. Cipher Block Chaining (CBC)
Pengirim pesan harus menstrukturkan plainteksnya
sehingga tahu mana saja ujung pesan sehingga
dapat mendeteksi adanya blok tambahan
2. Pihak lawan dapat mengubah 1 atau beberapa bit
pada suatu blok cipherteks, tetapi hal ini hanya
mempengaruhi blok plainteks hasil dekripsinya dan
satu bit kesalahan pada plainteks berikutnya.