• Tidak ada hasil yang ditemukan

Modifikasi Cipher Block Chaining (CBC) MAC dengan Penggunaan Vigenere Cipher, Pengubahan Mode Blok, dan Pembangkitan Kunci Berbeda untuk tiap Blok

N/A
N/A
Protected

Academic year: 2021

Membagikan "Modifikasi Cipher Block Chaining (CBC) MAC dengan Penggunaan Vigenere Cipher, Pengubahan Mode Blok, dan Pembangkitan Kunci Berbeda untuk tiap Blok"

Copied!
9
0
0

Teks penuh

(1)

Modifikasi

Cipher Block Chaining

(CBC) MAC dengan

Penggunaan

Vigenere Cipher

, Pengubahan Mode Blok, dan

Pembangkitan Kunci Berbeda untuk tiap Blok

Fatardhi Rizky Andhika 13508092

Program Studi Teknik Informatika

Sekolah Teknik Elektro dan Informatika

Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia

if18092@students.if.itb.ac.id

AbstractMessage Authentication Code atau yang lebih

dikenal dengan singkatan MAC adalah suatu cara untuk menguji keabsahan suatu pesan tanpa merahasiakan pesan yang diautentikasi tersebut. Dengan kata lain, algoritma MAC digunakan untuk melakukan autentikasi atau uji keaslian terhadap pesan. Dalam proses melakukan autentikasinya, algoritma MAC ini menerima sebuah kunci privat dan sebuah pesan yang ingin diautentikasi, melakukan komputasi terhadap pesan, lalu menghasilkan nilai MAC. Nilai MAC yang diperoleh merupakan dasar dalam melakukan autentikasi pesan. Dengan mekanisme seperti ini, pesan tersebut dapat diketahui apakah masih asli dan tidak diubah atau pesan tersebut sudah diubah oleh pihak-pihak lain sebelumnya. Penghitungan nilai pesan dengan algoritma MAC dapat dilakukan dengan dua cara. Cara yang pertama yaitu penggunaan algoritma MAC berbasis fungsi hash satu arah sedangkan cara yang kedua yaitu penggunaan algoritma MAC berbasis cipher block. Untuk yang berbasis fungsi hash, yang umum digunakan adalah penggunaan fungsi seperti MD5 atau SHA. Sedangkan untuk algoritma yang berbasis cipher block dapat menggunakan berbagai algoritma termasuk algoritma enkripsi simetri. Penggunaan konsep cipher block dalam pembangkitan nilai autentikasi pesan ternyata memiliki kelemahan. Kelemahan utama dari algoritma CBC MAC ini adalah algoritma ini hanya cocok untuk pesan dengan panjang yang tetap saja, tidak dapat mengautentikasi pesan yang panjangnya tidak ditentukan. Kelemahan lain dari algoritma ini adalah konsep bloknya yang sangat kaku sehingga perubahan pada karakter tertentu pesan tidak menghasilkan nilai MAC yang jauh beda. Namun, masih dapat dilakukan modifikasi tertentu terhadap CBC MAC sehingga lebih kuat dan tahan serangan. Dalam makalah ini akan dibahas bentuk modifikasi yang dilakukan beserta analisis kekuatan dari MAC yang telah dimodifikasi tersebut.

Kata kunci Cipher Block Chaining(CBC), Message

Authentication Code (MAC), modifikasi, serangan

I.

P

ENDAHULUAN

Pada masa sekarang ini, informasi merupakan hal yang sangat penting dan mendasar. Informasi merupakan hal

yang dipertukarkan dalam berkomunikasi. Dan hal yang paling penting adalah informasi itu mahal harganya karena ketersampaian informasi dari satu pihak ke pihak lain dapat sangat besar pengaruhnya bagi pihak-pihak tertentu. Informasi menjadi barang yang harus dilindungi dan dijaga dari pihak-pihak lain yang tidak berhak memilikinya. Pada dasarnya, pertukaran informasi antara beberapa pihak dapat melalui berbagai media. Media paling tradisional yang pastinya dilakukan setiap orang adalah berkomunikasi secara lisan. Untuk media komunikasi seperti ini, keaslian dari pesan sangat terjamin, karena pihak yang mendengarkan pastinya mendengar sekaligus melihat secara langsung tersampainya informasi tersebut kepadanya. Namun, untuk informasi yang tertuang dalam media lain, terutama media tulis yang tidak dapat dipastikan langsung keasliannya membutuhkan metode dan cara lain untuk pengujian keaslian dari informasi atau pesan tersebut. Untuk pesan-pesan yang melalui media tulis seperti ini, termasuk file dan dokumen yang terdapat di dalam media elektronik, harus tersedia cara tertentu untuk memeriksa integritas pesan yang ditransmisikan melalui semua jalur komunikasi terutama yang tidak aman.

Salah satu cara yang disediakan oleh bidang kriptografi untuk menunjukkan keaslian pesan adalah penggunaan Message Authentication Code atau yang lebih sering disingkat sebagai MAC. MAC merupakan salah satu bagian ilmu dari kriptrografi yang melakukan penghitungan pesan dengan kunci privat tertentu dan menyisipkan nilainya ke dalam pesan (atau dapat juga terpisah) sehingga pihak penerima dapat menguji keaslian pesan. MAC biasanya digunakan oleh pihak yang saling membagi kunci privat mereka untuk mengautentikasi pesan antarmereka.

Penggunaan MAC sebagai cara mengautentikasi pesan sangat penting untuk menjaga keamanan dan keaslian dari informasi yang dikirimkan melalui media-media komunikasi yang tidak aman. Makalah ini akan membahas bentuk modifikasi terhadap salah satu algoritma MAC yaitu CBC-MAC.

(2)

II.

L

ANDASAN

T

EORI

A.

M

ESSAGE

A

UTHENTICATION

C

ODE

(MAC)

KONSEP DASAR MESSAGE AUTHENTICATION CODE

Message Authentication Code (MAC) adalah potongan informasi berupa kode yang digunakan untuk otentikasi bagian informasi lain berupa pesan. MAC merupakan sebuah fungsi satu arah yang menggunakan kunci privat dalam penghitungan nilai MAC dari pesan tersebut. Sistem MAC ini berbeda dengan fungsi hash semisal SHA ataupun MD5 yang tidak menggunakan kunci privat apapun untuk menghitung nilai hash dari pesan. Nilai hash yang dihasilkan adalah selalu berukuran tetap berapapun panjang dari pesan yang diotentikasi. Selanjutny, MAC dilekatkan pada pesan (atau bisa juga menggunakan file luar) yang nantinya akan digunakan untuk otentikasi keaslian pesan. Perbedaan antara MAC dan algoritma enkripsi adalah MAC digunakan tanpa perlu merahasiakan isi pesan. MAC juga bukan tanda tangan digital, MAC hanya menyediakan otentikasi pengirim dan integritas pesan saja.

Algoritma MAC adalah algoritma yang melakukan penghitungan nilai hash file dengan menerima masukan pesan beserta kunci privat tertentu. Selanjutnya, MAC akan menghasilkan tag file <MAC> pada pesan sebagi penanda bahwa bagian itu adalah nilai hash dari pesan tersebut. Apabila dituangkan secara matematis, bentuk umum dari algoritma MAC adalah sebagai berikut :

MAC

=

C

K

(

M

)

dengan

MAC

menunjukkan nilai hash, C adalah

fungsi

hash

yang digunakna dalam penghitungan

MAC (atau algoritma

MAC

), dan

K

merupakan

kunci rahasia atau kunci privat yang digunakan.

Fungsi MAC ini tidak hanya menjaga integritas dari

data namun juga dapat mendeteksi setiap perubahan

yang terjadi pada isi pesan.

Gambar 1 Bentuk pesan yang telah disisipi MAC di akhir pesan

Berikut ini merupakan bagan yang menunjukkan contoh proses penggunaan MAC sebagai cara mengotentikasi pesan antara dua pihak yang saling memiliki kunci privat yang telah disepakati sebelumnya.

Gambar 2 Mekanisme Penggunaan Message Authentication Code

Pada gambar di atas, pihak pengirim dan penerima terlebih dahulu menentukan kunci privat yang akan mereka gunakan dalam otentikasi pesan antarmereka. Selanjutnya, pihak pengirim akan menggunakan algoritma MAC dengan kunci privat tadi untuk menghasilkan nilai MAC dari pesan yang akan ditransmisikan. Pesan kemudian diembedkan dengan nilai MAC yang telah ditemukan dan dikirimkan ke pihak penerima. Pihak penerima kemudian mengotentikasi keaslian pesan dengan menghitung kembali MAC yang dari pesan tersebut lalu mencocokkannya dengan MAC yang tertera pada pesan. Apabila ada ketidakcocokan, dapat diambil kesimpulan langsung bahwa terjadi perubahan pada isi pesan yang diterima. Artinya, pesan tidak lagi asli.

ALGORITMA PEMBANGUN MAC

Perancangan algoritma MAC dapat dilakukan dengan dua cara/pendekatan. Cara pertama yaitu dengan menggunakan algoritma kriptografi simetri berbasis blok cipher atau yang lebih dikenal dengan konsep Cipher Block Chaining (CBC), sedangkan cara yang satu lagi yaitu pembangunan MAC dengan menggunakan fungsi hash satu arah. Contoh dari fungsi satu arah adalah fungsi SHA dan MD5 yang melakukan pengihitungan nilai hash file saja. Pada makalah ini akan dijelaskan tentang CBC MAC dan modifikasi yang dilakukan terhadapnya.

B.

C

IPHER

B

LOCK

C

HAINING

MAC

KONSEP DASAR CBCMAC

Cipher Block Chaining (CBC) MAC adalah teknik membangun message authentication code (MAC) dari block cipher. Pesan dienkripsi dengan algoritma cipher blok dalam model CBC untuk menciptakan rantai blok yang mana setiap blok akan sangat bergantung dengan enkripsi pada blok sebelumnya. Ketergantungan seperti ini memastikan perubahan pada bit apapun pada plainteks akan menyebabkan perubahan pada blok akhir hasil enkripsinya. Pada CBC, hasil akhir dari enkripsi tidak dapat diprediksi tanpa mengetahui kunci dari cipher blok nya.

(3)

Pada konsep CBC ini, penghitungan nilai MAC bergantung pada proses enkripsi pada tiap blok. Mekanisme pencarian CBC MAC adalah dengan membagi pesan ke dalam blok-blok pesan dengan panjang tetap. Blok pertama pesan akan di XOR kan dengan IV terdiri atas kumpulan bit 0. Blok pertama pesan kemudian akan dienkripsi dengan fungsi enkripsi tertentu dengan kunci K. Hasil dari enkripsi ini kemudian di XOR lagi dengan blok pesan kedua. Hal ini diulangi berkali-kali sampai blok pesan terakhir. Hasil enkripsi pada blok pesan terakhir merupakan nilai MAC yang diperoleh dengan algoritma ini.

Berikut merupakan gambaran operasi pada CBC MAC.

Gambar 3 Mekanisme operasi pada CBC MAC

dengan m adalah pesan yang akan dicari nilai MAC-nya, E adalah fungsi enkripsi berbasis blok, dan k adalah kunci privat yang digunakan untuk melakukan enkripsi. Pembagian blok pesan pada CBC MAC adalah pesan dibagi ke dalam blok-blok pesan dengan panjang setiap blok adalah panjang yang sudah ditetapkan, dalam hal ini adalah panjang blok bersesuaian dengan spesifikasi fungsi enkripsi yang dipakai.

Misalnya, DES digunakan sebagai cipher blok, maka ukuran blok adalah 64 bit, dan kunci rahasia MAC adalah kunci DES yang panjangnya 56 bit.

Dalam pembuatan MAC dengan konsep CBC ini, kunci yang dilakukan untuk melakukan enkripsi untuk semua blok adalah selalu sama. Begitu pula dengan fungsi enkripsi yang digunakan. Yang berbeda untuk setiap blok hanyalah masukan berupa potongan blok pesan yang sudah di-XOR dengan hasil enkripsi pesan sebelumnya

.

KELEMAHAN CBCMAC

Konsep CBC dalam enkripsi pesan sudah diakui kehebatannya dalam menahan serangan dari kriptanalis. Keunggulan dari penggunaan CBC MAC ini adalah algoritma ini cocok digunakan untuk pesan dengan panjang pesan yang tetap. Namun, penggunaan CBC sebagai algoritma penghitungan MAC masih memiliki kelemahan untuk pesan dengan panjang yang tidak tetap (arbitrary).

Seorang penyerang yang mengetahui tag MAC yang benar dari sebuah pesan tertentu, misalnya pasangan (m,

t) dan (m', t') dapat mengenerate pesan ketiga m'' yang mana hasil CBC MAC nya adalah be t' juga. Hal ini dapat dilakukan dengan melakukan XOR blok pertama dari m' dengan t dan melalakukan konkat mdengan m' yang telah termodifikasi ini. Contoh matematisnya adalah seperti ini.

Gambar 4 Bentuk matematis kelemahan CBC MAC

Untuk menghadapi kelemahan CBC MAC terhadap pesan dengan panjang tidak tetap tersebut, dapat dilakukan modifikasi terutama pada konsep blok pesan dan pembangkitan kuncinya. Bentuk modifikasi yang akan dilakukan adalah mengubah teknis pembagian blok dan menggunakan bantuan algoritma enkripsi simetri Vigenere Cipher dan Caesar Cipher sebagai algoritma enkripsi bloknya.

C.

C

AESAR

C

IPHER

KONSEP DASAR CAESAR CIPHER

Caesar Cipher merupakan salah satu algoritma cipher tertua dan paling diketahui dalam perkembangan ilmu kriptografi. Caesar cipher merupakan salah satu jenis cipher substitusi yang membentuk cipher dengan cara melakukan penukaran karakter pada plainteks menjadi tepat satu karakter pada chiperteks. Teknik seperti ini disebut juga sebagai chiper abjad tunggal.

Algoritma kriptografi Caesar Cipher sangat mudah untuk digunakan. Inti dari algoritma kriptografi ini adalah melakukan pergeseran terhadap semua karakter pada plainteks dengan nilai pergeseran yang sama.

Adapun langkah-langkah yang dilakukan untuk membentuk chiperteks dengan Caesar Cipher adalah :

1. Menentukan besarnya pergeseran karakter yang digunakan dalam membentuk cipherteks ke plainteks.

2. Menukarkan karakter pada plainteks menjadi cipherteks dengan berdasarkan pada pergeseran yang telah ditentukan sebelumnya.

Begitulah konsep dasar dari algoritma Caesar Cipher yang bekerja pada mode karakter. Namun, Caesar Cipher yang akan digunakan dalam salah satu bagian modifikasi CBC MAC ini adalah berupa mode extended ASCII. Karena total macam karakter dalam ASCII ada 256 karakter, maka, persamaan enkripsi dari Caesar Cipherny menjadi sebagai berikut :

c

i

=

E

(

p

i

) = (

p

i

+ K) mod 256

pi adalah karakter plainteks ke-i, dan ciadalah karakter chiperteks ke-i

digunakan angka 256 disini karena teknik caesar cipher akan diterapkan dalam mode ASCII. Caesar Cipher akan digunakan pada tahapan pembentukan key pada modifikasi CBC MAC.

(4)

D.

V

IGENERE CIPHER

KONSEP DASAR VIGENERE CIPHER

Vigenere cipher merupakan jenis cipher abjad majemuk yang paling sederhana. Vigenere cipher menerapkan metode substitusi poli alfabetik dan termasuk ke dalam kategori kunci simetris dimana kunci yang digunakan untuk proses enkripsi adalah sama dengan kunci yang digunakan untuk proses dekripsi.Enkripsi dengan menggunakan algoritma Vigenere cipher pada dasarnya adalah menggunakan prinsip Caesar Cipher, yaitu melakukan enkripsi karakter pada plainteks menjadi karakter lain pada cipherteks. Perbedaan antara Caesar Cipher dan Vigenere cipher adalah huruf yang sama pada plainteks tidak selalu dienkripsi menjadi huruf yang sama pada cipherteks. Hal ini terjadi karena pada Vigenere cipher, pergeseran karakternya ditentukan oleh karakter yang ada pada kata kunci dan kata ini selalu diulang. Akibatnya, karakter yang sama pada plainteks bolehjadi memiliki karakter yang berbeda pada cipherteksnya. Karena hal ini lah, Vigenere cipher merupakan cipher substitusi abjad-majemuk. Tujuan utama dari Vigenere cipher ini adalah menyembunyikan keterhubungan antara plainteks dan cipherteks dengan menggunakan kata kunci sebagai penentu pergeseran karakternya.

Metode yang digunakan dalam enkripsi dengan menggunakan Vigenere cipher adalah menyusun kunci bersesuaian dengan plainteks yang ada di atasnya. Apabila telah sampai di akhir kunci, ulangi kembali penyusunan kunci sampai seluruh plainteks telah memiliki karakter kunci masing-masing.

Langkah selanjutnya adalah melakukan Caesar Cipher untuk tiap-tiap karakter tersebut dengan nilai pergeseran karakter ditentukan oleh karakter kunci untuk tiap karakternya. Dalam Vigenere cipher ini, karakter A menyatakan pergeseran 0, B=1, C=2, D=3, ... , dan Z=25.

Rumus matematis dari enkripsi Vigenere cipher ini adalah sebagai berikut :

Ci = Ek(Mi) = (Mi+Ki) mod 26

Dengan Ci = karakter chiperteks, Ki = karakter kunci, dan Mi = karakter plainteks

Untuk modifikasi CBC MAC ini, vigenere cipher yang digunakan adalah sama mirip dengan Vigenere Cipher karakter standar, namun tidak lagi menggunakan hanya 26 karakter saja melainkan 256 macam karakter ASCII (mode extended). Maka, rumus matematis dari enkripsi Vigenere cipher ini adalah sebagai berikut :

Ci = Ek(Mi) = (Mi+Ki) mod 256

Dengan Ci = karakter chiperteks, Ki = karakter kunci, dan Mi = karakter plainteks

III.

R

ANCANGAN

M

ODIFIKASI

CBC

MAC

CBC MAC bukanlah algoritma yang tidak dapat dipecahkan atau diakali oleh para kriptanalis. Seperti yang telah disebutkan pada bagian penjelasan tentang CBC MAC, konsep pembagian blok tersebut tidak dapat diterapkan pada pesan dengan panjang pesan adalah acak. Artinya, ini menjadi kelemahan utama karena inti dari konsep blok sendiri adalah membagi pesan ke dalam blok-blok dengan panjang tiap blok adalah sama. Dengan kata lain, apabila ingin menggunakan CBC MAC, panjang pesan harus kelipatan dari panjang blok.

Kelemahan dari CBC MAC yang lain adalah kurang amannya MAC apabila kriptanalis menggunakan teknik penciptaan pesan ketiga dengan menghasilkan MAC yang valid hanya dengan berdasarkan dua pasangan pesan beserta nilai MAC-nya. Seperti yang telah dijelaskan pada bagian CBC MAC sebelumnya, hal ini dapat saja terjadi karena konsep blok yang masih kaku dan tidak dinamis sehingga menciptakan cara-cara umum yang dapat diperkirakan dan dilakukan kriptanalis serta penyusup pesan.

Kelemahan lainnya dari penggunaan CBC MAC adalah ketergantungan secara penuh nilai MAC terhadap blok terakhir dari pesan. Seperti yang telah dijelaskan pada bagian sebelumnya, CBC MAC mendapatkan nilai MAC hanya dari hasil XOR blok terakhir dengan hasil blok sebelumnya, lalu dienkripsi. Artinya, pengubahan bit yang berada pada bagian terakhir-terakhir dari blok pesan terakhir tidak akan menimbulkan hasil MAC yang sangat jauh berbeda, namun hanya di bagian akhirnya sajja. Hal ini nantinya dapat membantu kriptanalis dalam menganalisa fungsi enkripsi dan memecahkan fungsi MAC yang digunakan.

Namun, kelemahan dari CBC MAC ini dapat dikurangi dengan menerapkan konsep blok baru yang lebih dinamis dan mencukupi untuk mengatasi permasalahan panjang pesan tetap tersebut. Dengan penggunaan konsep blok yang baru dan lebih baik, secara langsung akan menghilangkan beberapa kelemahan dari CBC MAC yang ada saat ini.

Hal lain yang dapat dilakukan adalah mengubah kebutuhuhan kunci yang sebelumnya sama untuk tiap blok menjadi berbeda untuk masing-masing blok yang dienkripsi. Hal ini sebaiknya dilakukan untuk makin memantapkan efek domino dan ketergantungan apabila dilakukan perubahan pada isi pesan yang diotentikasi. Semakin besarnya efek dari perubahan satu karakter pada pesan, maka semakin besar pulalah perubahan yang akan diperoleh di hasil akhir penghitungan MAC dari pesan tersebut. Penggunaan kunci yang berubah antara tiap blok juga akan menciptakan kesulitan yang lebih bagi para kriptanalis untuk memperkirakan keterhubungan antara pesan dan nilai MAC dari pesan.

Lebih jelasnya beberapa bentuk modifikasi yang digunakan adalah 3 langkah sebagai berikut :

(5)

PERUBAHAN PEMBAGIAN BLOK

Pada awalnya, CBC-MAC merupakan algoritma yang membagi pesan ke dalam blok-blok yang panjang setiap blok adalah bersesuaian dengan panjang blok yang diolah oleh fungsi enkripsi. Artinya untuk setiap pencarian MAC, panjang pesan harus merupakan kelipatan dari blok. Untuk mengantisipasi kekurangan dari CBC-MAC yang tidak dapat mengatasi kasus panjang pesan acak ini, pada CBC MAC yang termodifikasi, panjang blok dibuat tetap namun dengan konsep pembentukan blok yang berbeda. Adapun panjang blok nya adalah 20 byte.

Apabila dibandingkan antara konsep pembuatan blok yang lama dan yang hasil modifikasi adalah sebagai berikut (untuk contoh panjang blok digunakan 5):

- Berikut adalah pesan yang digunakan dengan total panjang pesan adalah 10 karakter

0 1 2 3 4 5 6 .. 9 10 - Apabila digunakan pembagian blok dengan konsep

lama, maka,

0 1 2 3 4 5 6 7 8 9 10

Blok 1(0-4) Blok 2(5-9)

- Dengan menggunakan konsep pembagian blok yang baru, pembagian blok akan menjadi seperti berikut :

0 1 2 3 4 5 .. 10

Blok 1(0-4)

Blok 2(1-5)

Dalam sistem blok yang baru ini, blok dengan panjang 5 akan dibentuk dengan memajukan karakter satu-persatu. Untuk pesan dengan panjang 11 karakter dan panjang blok adalah 5 karakter, banyak blok yang akan tercipta adalah 7 blok. Dengan pembagian blok seperti ini, maka semua kasus panjang pesan acak akan dapat teratasi.

PEMBANGKITAN KUNCI BERBEDA UNTUK TIAP BLOK Teknik modifikasi berikutnya yang dapat dilakukan adalah menggunakan kunci berbeda untuk masing-masing blok pesan yang sudah didapat tadi. Langkah ini diambil hanya sebagai antisipasi agar keterhubungan antara pesan dan hasil enkripsinya akan makin acak (acak dengan penggunaan fungsi tertentu). Dengan demikian, penentuan keterhubungan antara pesan dan hasil MAC akan semakin sulit dipecahkan oleh kriptanalis.

Pembangkitan kunci untuk masing-masing blok ini menggunakan Caesar Cipher. Mekanismenya adalah sebagai berikut :

- Pesan telah dibagi ke dalam blok-blok dengan menggunakan metode pembagian blok seperti pada penjelasan sebelumnya.

- Untuk blok pesan pertama, kunci yang digunakan untuk enkripsi adalah kunci masukan pertama kali - Untuk enkripsi blok-blok pesan selanjutnya, kunci

enkripsi adalah hasil caesar cipher kunci sebelumnya dengan nilai pergeseran adalah total nilai blok pesan mod 256

K

i

= (K

i-1

+ m) mod 256

m = P

i-1

karakter-1 + P

i-1

karakter-2

+ P

i-1

karakter-3 + ...+ P

i-1

karakter-n

dengan n = panjang kunci, Pi-1=pesan blok i-1 PENERAPAN VIGENERE CIPHER SEBAGAI FUNGSI ENKRIPSI

Untuk melengkapi modifikasi ini, dipilihlah algoritma enkripsi simetri yang digunakan sebagai cipher blok. Dalam modifikasi ini, algoritma yang dipilih adalah algoritma vigenere cipher yang dimodifikasi dengan panjang tetap adalah sepanjang blok yang ditentukan (20karakter/byte). Algoritma ini dipilih karena algoritma ini cukup mudah untuk diimplementasikan dan memenuhi syarat sebagai cipher blok dengan menerapkan modifikasi tertentu. Untuk panjang kunci yang digunakan adalah selalu 20 karakter, bersesuaian dengan panjang blok yang sudah ditentukan di awal modifikasi ini.

Panjang Blok = Panjang Kunci = 20byte

Berikut merupakan bagan yang menunjukkan mekanisme pembentukan MAC dengan tahap modifikasi yang dirancang dalam makalah ini.

(6)

XOR XOR XOR Initialize Vector Blok pesan 1 Enkripsi Vigenere CIpher Enkripsi Vigenere CIpher Enkripsi Vigenere CIpher

Blok pesan 1 Blok pesan n

Result Kunci 0 Enkripsi Caesar Cipher Enkripsi Caesar Cipher Enkripsi Caesar Cipher Nilai pergeseran Key 1 Nilai Pergeseran Key 2 ...

Nilai pergeseran Blok n-1

Hasil enkripsi Blok n-1 Key n Key n-1

Gambar 5 Bagan Mekanisme Pembentukan MAC Baru

Bagan di atas menunjukkan bagaimana mekanisme dari modifikasi yang dilakukan terhadap CBC MAC. Pada modifikasi ini, pesan akan dipecahkan ke dalam blok-blok dengan konsep pembagian blok seperti yang telah dijelaskan pada bagian sebelumnya. Setiap blok pesan akan di XOR dengan hasil enkripsi blok sebelumnya (kecuali blok pertama yang di XOR dengan Initialize Vector 0). Metode XOR yang dilakukan adalah XOR untuk tiap tiap karakter pada blok, XOR dilakukan dalam keadaan perbyte. Pembentukan kunci blok berikutnya diperoleh dengan cara men-Caesar Cipher kan kunci dengan nilai pergeseran adalah total byte dari blok pesan mod 256.

VI.

A

NALISIS DAN

K

EAMANAN

A

LGORITMA

CBC

MAC

B

ARU

Untuk melakukan uji terhadap CBC MAC termodifikasi ini, penulis melakukan implementasi algoritma CBC MAC di dalam program yang dikembangankan dengan bahasa Java. Implementasi ini ditujukan untuk mengetahui lebih jauh tentang hasil uji dari segi keamanan dan ketahan algoritma ini terhadap

serangan yang mungkin dilakukan. Gambar 6 Tampilan Utama Program

Program dibuat dengan dua fungsi utama, yaitu melakukan penghitungan MAC terhadap pesan/berkas dan melakukan uji verifikasi terhadap keaslian pesan. Untuk pembuatan MAC-nya, penulis menyediakan dua macam pembangkitan MAC, yaitu dapat menggunakan CBC biasa menggunakan algoritma Vigenere Cipher tanpa konsep blok baru, atau menggunakan CBC yang termodifikasi konsep blok dan kuncinya.

(7)

Pengujian pada CBC MAC Vigenere Cipher tanpa Modifikasi

Algoritma CBC MAC yang tidak termodifikasi tidak mengikuti konsep blok. Dengan demikian, algoritma ini hanya dapat mencari MAC dengan masukan pesan yang kelipatan dari panjang bloknya.

File uji yang digunakan adalah fileteks yang panjangnya adalah kelipatan kunci dengan isi sebagai berikut.

kalimat ini hanya digunakan untuk pengujian MAC dengan mode termodifikasi macnya

Sedangkan kunci yang digunakan adalah (panjang 20byte)

fatardhirizkyandhika

Hasil dari penghitungan MAC nya adalah

15200641242d1066514412752b0f3318135b3d 44

Kelemahan CBC tanpa modifikasi konsep blok nya adalah nilai MAC yang sangat bergantung pada blok terakhir pesan saja. Pada CBC MAC, pemrosesan dilakukan secara perblok dengan tiap blok yang diappend akan menghasilkan pesan utuh. Apabila dilakukan pengubahan pada bagian akhir blok terakhir saja, perubahan nilai MAC tidak akan sangat signifikan.

Berikut adalah contoh pesan yang diubah di bagian akhir

kalimat ini hanya digunakan untuk pengujian MAC dengan mode termodifikasi micnya

Hasil yang didapatkan adalah

15200641242d1066514412752b0f3320135b3d 44

Dari hasil uji tersebut, diperoleh bahwa perubahan satu karakter pada blok pesan terakhir hanya akan mengakibatkan sedikit saja perubahan pada MAC nya. Contoh uji lain adalah pengubahan isi pesan pada blok awal pesan, yaitu di blok pesan awal.

kalimat ini hanba digunakan untuk pengujian MAC dengan mode termodifikasi macnya

Karakter yang diubah pada blok pertama dengan posisi relatif terhadap blok nya adalah sama dengan pada pengujian yang sebelumnya membuktikan bahwa pengubahan blok manapun hanya akan mengubah posisi tertentu saja seperti hasil di bawah ini.

15200641242d1066514412752b0f3313135b3d 44

Hal ini merupakan kelemahan yang sangat mendasar

pada CBC MAC dengan fungsi enkripsi Vigenere Cipher saja. Dari kesamaan pola-pola seperti ini, kriptanalis akan dapat menemukan pola pencarian MAC yang digunakan. Secara umum, pemilihan fungsi enkripsi yang tidak melakukan confusion dan diffusion secara baik akan selalu menghasilkan hal seperti ini. Memang, untuk fungsi enkripsi sebaiknya menggunakan fungsi enkripsi yang dapat menciptakan diffusion dan confusion seperti algoritma AES atau DES. Namun, secara umum permasalahan konsep blok tetap yang menjadi masalah utama pada CBC MAC biasa dapat diatasi dengan algoritma yang akan diuji berikutnya.

Pengujian pada CBC MAC Vigenere Cipher dengan Modifikasi

Hal penting yang ditawarkan dari algoritma modifikasi ini adalah penggunaan konsep blok yang berbeda dengan pembagian blok biasa. Pada konsep blok ini, sebuah karakter tidak hanya digunakan oleh satu blok, namun bisa lebih karena himpunan isi bloknya dapat beririsan. Hal semacam ini akan menciptakan ketergantungan yang lebih antara setiap blok dengan perubahan setiap karakter pada pesan yang asli.

Algoritma modifikasi ini juga mengatasi permasalah pada algoritma CBC MAC biasa yang menggunakan vigenere cipher saja. Dengan digunakannya konsep pembangkitan kunci yang baru untuk setiap blok, perubahan karakter pada pesan akan sangat mempengaruhi nilai MAC secara keseluruhan.

Gambar 7 Contoh Penggunaan Program

(8)

yang sama dengan pengujian sebelumnya.

kalimat ini hanya digunakan untuk pengujian MAC dengan mode termodifikasi macnya

Dengan kunci yang sama

fatardhirizkyandhika

Hasil dari penghitungan nilai MAC adalah

fa5dffc58a33d7088e57bd1ec9c3107145176a 31

Apabila dilakukan pengubahan satu karakter seperti yang dilakukan pada pengujian sebelumnya yaitu kata “macnya” menjadi “micnya”, maka didapat hasil MAC seperti berikut ini

eaadef958a431728ce37ad1ed90310893d4f52 09

Perubahan satu karakter pada pesan sangat mempengaruhi hasil akhir dari MAC yang diperoleh . Begitu pula dengan pengujian apabila dilakukan perubahan karakter pada blok-blok awal, seperti perubahan karakter “hanya” menjadi “hanba”, didapat hasil sebagai berikut

0a13bf83ea2dc3263c39235c1dabb235fc424f 00

Setiap perubahan satu karakter pada bagian manapun pada pesan akan menciptakan perbedaan yang signifikan antara MAC asli dan MAC hasil perubahan. Hal ini terjadi karena penggunaan konsep blok yang setiap anggota bloknya beririsan sehingga perubahan satu bagian akan mempengaruhi proses pembuatan MAC secara berulang-ulang. Hal ini juga dibantu dengan penggunaan kunci yang berbeda untuk setiap blok dimana setiap kunci juga sangat dipengaruhi oleh keaslian blok pesan tersebut. Dengan adanya modifikasi semacam ini, kelemahan pada CBC MAC Vigenere Cipher sebelumnya dapat teratasi.

Penggunaan modifikasi-modifikasi seperti ini secara pasti dapat mempersulit kriptanalis dalam memecahkan pesan. Contoh serangan yang biasa dilakukan kriptanalis terhadap CBC MAC adalah menentukan pola MAC dari nilai MAC valid yang dimilikinya. Dengan penggunaan modifikasi ini, pola enkripsi MAC akan sangat sulit ditemukan oleh kriptanalis, akan lebih sulit dibandingkan memecahkan MAC yang menggunakan CBC biasa.

K

ELEBIHAN CBC

MAC

M

ODIFIKASI

CBC MAC modifikasi ini memiliki keunggulan yang jelas dibandingkan penggunaan CBC biasa, yaitu dapat mengatasi pesan dengan panjang pesan yang tidak tetap.Panjang pesan merupakan kelemahan dari algoritma CBC biasa. Dengan penggunaan konsep blok yang baru dan berbeda dengan pembagian blok pada CBC biasa, CBC MAC yang baru akan dapat mengatasi pesan dengan

panjang yang tidak tetap.

Dengan ditambahkannya penggunaan kunci berbeda untuk enkripsi setiap blok akan makin menyamarkan keterhubungan antara pesan dan hasil MACnya. Hal ini secara langsung dapat mempersulit para penyusup pesan yang ingin melakukan serangan message forgery.

K

EKURANGAN CBC

MAC

M

ODIFIKASI

Kekurangan dari CBC MAC secara umum adalah ketergantungan hasil MAC kepada fungsi enkripsi yang digunakan. Dalam kasus ini, penggunaan CBC biasa dengan fungsi enkripsi Vigenere Cipher adalah sangat lemah dan dapat dibaca pola perubahan pesannya. Hal ini sangat rentan dengan serangan mereka yang ingin melakukan forgery attack. Walaupun penggunaan konsep blok yang baru yang sudah dapat mengatasi permasalahan pesan dengan panjang tetap, pemilihan algoritma enkripsi yang lebih baik dan lebih aman dibanding Vigenere Cipher akan sangat membantu meningkatkan keamanan dari CBC MAC yang dimodifikasi ini.

VII.

K

ESIMPULAN

Dari analisis dan perancangan modifikasi CBC MAC dengan penggunaan algoritma enkripsi simetri Vigenere Cipher, pengubahan mode blok, dan pembangkitan kunci berbeda untuk tiap blok ini diperoleh kesimpulan sebagai berikut :

1. Message Authentication Code digunakan sebagai salah satu cara melakukan otentikasi terhadap pesan

2. Konsep Cipher Block Chaining (CBC) dapat digunakan untuk membangun nilai MAC.

3. Algoritma enkripsi simetri Vigenere Cipher dapat digunakan sebagai fungsi enkripsi berkonsep cipher block dengan dilakukan perubahan seperlunya.

4. CBC MAC dapat diperbaik dengan penggunaan konsep blok yang lebih baru yang dapat mengatasi permasalahan panjang pesan tidak tetap.

5. Kekuatan dari CBC MAC selain bergantung pada konsep blok yang digunakan juga sangat bergantung pada algoritma enkripsi simetri apa yang digunakan sebagai fungsi enkripsi cipher blocknya. Penggunaan algoritma enkripsi simetri yang makin kuat akan meningkatkan keamanan CBC MAC.

R

EFERENCES http://en.wikipedia.org/wiki/Message_authentication_code http://en.wikipedia.org/wiki/CBC-MAC http://scienceblogs.com/goodmath/2008/10/how_not_to_do_message_in tegrit.php http://en.wikipedia.org/wiki/Caesar_cipher http://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher. http://id.wikipedia.org/wiki/Kriptografi

(9)

P

ERNYATAAN

Dengan ini saya menyatakan bahwa makalah yang saya tulis ini adalah tulisan saya sendiri, bukan saduran, atau terjemahan dari makalah orang lain, dan bukan plagiasi.

Bandung, 9 Mei 2011

Fatardhi Rizky Andhika 13508092

Gambar

Gambar 1 Bentuk pesan yang telah disisipi MAC di akhir  pesan
Gambar 3 Mekanisme operasi pada CBC MAC
Gambar 5 Bagan Mekanisme Pembentukan MAC Baru Bagan di atas menunjukkan bagaimana mekanisme dari
Gambar 7 Contoh Penggunaan Program

Referensi

Dokumen terkait

Jika perawat merasa bahwa mereka memiliki peluang untuk mendapatkan pelatihan dan pengembangan, maka tidak hanya membantu memastikan bahwa perawat memiliki keterampilan

Pada analisis tambahan dengan meng- gunakan teknik anova diperoleh hasil bahwa tidak ada perbedaan yang signifikan antara tipe kepri- badian dengan jenis kelamin,

Data pada penelitian berdasarkan atas profesi responden ini sejalan dengan konsep EBP, yang mana responden profesi kesehatan senantiasa memberikan tingkat persepsi

[r]

Berdasarkan latar belakang yang telah diuraikan di atas, maka rumusan masalah dalam penelitian ini adalah adakah pengaruh intensitas mengikuti bimbingan agama

1. Peserta didik belum terlibat dalam proses pembelajaran, sehingga materi yang diberikan menjadi sulit dipahami oleh siswa dan mengakibatkan hasil belajar

Berdasarkan teori ini, suatu perusahaan yang dipandang memiliki reputasi yang baik oleh para stakeholder -nya akan membuat perusahaan itu lebih mudah untuk

Pelaksanaan hukum secara Represif adalah penegakan hukum yang dilakukan pihak Kepolisian Polair Polres Rokan Hilir untuk melakukan penindakan terhadap pelaku