WELCOME !

Happy To Share

Selasa, 27 November 2018

CBC - MAC (Cipher Block Chaining Message Authentication Code)



Berikut saya lampirkan tugas kuliah Keamanan Informasi mengenai

CBC-MAC atau Cipher Block Chaining Message Authentication Code

Pada Kriptografi, CBC-MAC adalah teknik untuk membangun kode otentikasi pesan dari block cipher. Pesan dienkripsi dengan beberapa algoritma block cipher dalam mode CBC untuk membuat rantai blok sehingga setiap blok bergantung pada enkripsi yang tepat dari blok sebelumnya. Interpendensi(hubungan yang saling ketergantungan) ini memastikan bahwa perubahan ke salah satu bit plaintext akan menyebabkan blok terenkripsi terakhir berubah dengan cara yang tidak dapat diprediksi atau dilawan tanpa mengetahui kunci ke block cipher (via Wikipedia)

Untuk menghitung CBC-MAC pesan m satu meng enkripsi m dalam mode CBC dengan inisiasi nol vektor. Gambar beikut merupakan sketsa perhitungan blok menggunakan kunci rahasia k dan cipher blok E :



Note : tidak ada yang salah dengan CBC-MAC, ketika diterapkan dengan benar. Dan itu tidak sulit untuk diterapkan dengan benar. Masalahnya adalah bahwa banyak orang yang menggunakan CBC-MAC (daripada HMAC atau mode AEAD yang tepat) tampaknya tidak mampu melakukan hal ini.

Seperti yang saya baca dari blog.cryptographyengineering.com dia menuliskan beberapa contoh penerapan yang salah :

1. Your Implementation doesn't handle variable-length messages

"CBC-MAC sangat mirip dengan mode CBC klasik untuk enkripsi, dengan beberapa perbedaan utama. Pertama, Initialization Vector (IV) adalah nilai tetap, biasanya nol. Kedua, CBC-MAC hanya menghasilkan blok terakhir dari ciphertext - nilai tunggal ini membentuk MAC "

Banyak implementasi yang berakhir seperti penjelasan diatas, dan itu menyebabkan masalah yang besar. Terutama, jika sistem anda memungkinkan untuk pesan dengan panjang variabel (seperti yang seharusnya) ada serangan sederhana yang memungkinkan anda untuk memalsukan pesan baru.

Pertama, dapatkan MAC T pada pesan m1. Sekarang XOR tag T ke block pertama dari beberapa pesan kedua m2 sewenang-wenang. dan dapatkan MAC pada versi modifikasi dari m2. Hasil tag T ternyata menjadi MAC yang valid untuk gabungan (m1 dan m2). Ini adalah pemalsuan yang valid, dan dalam beberapa kasus sebenarnya dapat bermanfaat

Perbaikan standar untuk menambah panjang pesan ke blok pesan yang pertama sebelum di - MAC, Sehingga, sejumlah implementasi besar yang mengejutkan melompati langkah tambahan ini.

2. Your Implementation uses a random Initialization Vector

Jika CBC-MAC dengan IV tetap bagus, pasti CBC-MAC dengan IV acak harus super-hebat. Tapi tidak, itu tidak benar. Menggunakan variabel IV random itu buruk karena alasan sederhana yang memverifikasi CBC-MAC mengharuskan Anda untuk mengetahui IV, dan untuk mengetahui IV Anda mungkin perlu membacanya dari suatu tempat. Biasanya ini berarti tempat yang sama sangat tidak terpercaya dimana anda menyimpan pesan anda.

Jika penyerang dapat mengubah CBC-MAC IV, mereka juga dapat mengubah block pesan pertama yang di MAC dengan cara yang setara. Ini berfungsi karena langkah pertama CBC-MAC adalah XOR IV dengan pesan.

3. You've used the same key for MAC and encryption

Aturan umum dalam kriptografi adalah anda tidak boleh menggunakan kunci yang sama untuk 2 primitif kriptografi yang berbeda (misalnya : enkripsi dan tanda tangan atau enkripsi dan MAC)

beberapa orang beranggapan bahwa peraturan dibuat untuk dilanggar

Perhatikan, bahwa kunci yang dibagikan bisa pas dalam beberapa kasus. Mode gabungan seperti CCM (Kependekan dari CTR + CBC-MAC) sebenarnya menggunakan kunci yang sama untuk kedua operasi. Namun, pada mode ini dilakukan dengan cara yang sangat hati-hati dan bijaksana.

Untuk melakukan ini, untuk mengekripsi serangkaian file kecil yang sesuai dengan nilai counter C, C + 1, dll. Dari ciphertext yang ingin diserang. CBC-MAC dari masing-masing file memungkinkan untuk menciptakan keystream mode-CTR yang perlu didekripsi ciphertext yang asli, sehingga akan didapatkan pesan yang dibobol.

4. You've used CBC-MAC as a hash function

Apabila anda menggunakan CBC-MAC dengan kunci non-rahasia, itu menjadi akibat yang sangat buruk untuk apapun. Tetapi faktanya, Anda dapar dengan mudah menemukan collisions atau tabrakan yang ditemui pada output, sesuatiu yang sangat buruk jika anda menggunakannya untuk mengotentikasi kode.

Memang tidak untuk semua MAC-HMAC. Misalnya harus mempertahankan ketahanan benturan fungsi hash yang mendasari bahkan jika kunci MAC dikompromi. Ini adalah alasan untuk lebih memilih kasus-kasus dimana keahlian kriptografi bukanlah taruhan yang pasti.

5. Kesimpulan

Saya akan mengulangi bahwa tidak ada yang benar-benar bermasalah dengan CBC-MAC, yang merupakan algoritme yang sangat bagus jika diterapkan dan digunakan dengan benar. Masalah-masalah di atas hanya muncul ketika orang mencobanya sendiri, tanpa menggunakan konstruksi standar.

Sekian menurut saya, jika menurutmu ada yang kurang silahkan komen ! :)


Selasa, 28 Oktober 2014

Tugas Admin Server

Soal latihan :

dengan ip address : 88.77.xx.66/27
*catatan : xx adalah nomor absen
Domain : asta-xx.sch.id
Service:
Setting IP
1. DHCP Server
2. DNS Server
3. Web Server
4. Mail Server
5. FTP Server
6. SSH Server
7. Proxy Server
Webmail Server
 Sub Domain : www.asta-xx.sch.id dan surat.asta-xx.sch.id
 dengan proxy memblokir facebook.com