Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Telah dilakukan penelitian tentang permasalahan keamanan data di basis data yaitu akses ilegal ke sistem basis data. Akses ilegal yang dimaksud adalah pencurian data oleh pihak yang tidak bertanggung jawab. Teknik enkripsi yang digunakan adalah PGP (Pretty Good Privacy). Proses enkripsi yang dilakukan dapat dilihat pada Gambar 2.1. Data yang akan disimpan, ditulis ke dalam sebuah file teks, kemudian dengan dilakukan proses enkripsi terhadap file teks tersebut. Hasil enkripsi disimpan dalam file yang berbeda, kemudian file hasil enkripsi dibaca isinya, disimpan ke dalam tabel di basis data. Untuk proses dekripsi dapat dilihat pada Gambar 2.2. Kelemahan dari teknik ini adalah, proses enkripsi dan dekripsi harus melewati tahap baca dan tulis ke dalam file perantara, yang mempengaruhi
kecepatan
proses
penyimpanan/pembacaan
(Wahyudi, 2009).
Gambar 2.1 Proses Enkripsi Data
5
data
6
Gambar 1 merupakan proses enkripsi data. Dalam proses enkripsi, pada field basis data yang hendak dienkripsikan dimasukan dalam suatu file teks, selanjutnya dienkripsi. Hasil enkripsi diletakkan ke dalam file text lainnya. Selanjutnya file teks yang berisi field yang sudah dienkripsi dibaca dan isi file tersebut dimasukkan ke dalam tabel basis data. Proses dekripsi dilakukan untuk memperoleh kembali isi file teks asal (plaintext). Untuk memperoleh plaintext tersebut, maka isi field tabel basis data yang disimpan dalam
ciphertext dimasukkan
dalam suatu file teks, kemudian didekripsi dengan menggunakan script dekripsi. Plaintext hasil dekripsi disimpan dalam file text lainnya. Plaintext yang tersimpan dalam file ini kemudian dibaca dan digunakan untuk proses berikutnya. Proses dekripsi dapat dijelaskan pada Gambar 2.
Gambar 2.2 Proses Dekripsi Data
Pada penelitian proses enkripsi dan dekripsi berfokus pada pengembangan aplikasi yang dapat menyandikan
isi tabel suatu
7
basis data. Algoritma yang digunakan adalah AES. Key yang digunakan untuk proses enkripsi dan dekripsi tersimpan pada sistem, digunakan untuk semua rekor. IV yang digunakan adalah primary key dari tiap-tiap rekor. Sehingga untuk tiap rekor memiliki key yang sama namun IV yang berbeda, hal ini mengakibatkan untuk rekor-rekor yang memiliki data yang sama, tidak akan dihasilkan cipherdata yang sama. Proses enkripsi dan dekripsi dilakukan tanpa melalui file perantara.
2.2 Pengertian Kriptologi dan Kriptografi Pada buku berjudul Contemporary Cryptography, Oppliger menjelaskan bahwa Kriptologi (cryptology) berasal dari bahasa Yunani yaitu dari kata krypt´os yang berarti tersembunyi dan l´ogos yang artinya kata. Sehingga kriptologi dapat diartikan sebagai kata yang
tersembunyi.
menyimpan
data
Kriptografi
memberikan
kemampuan
untuk
sensitif atau mengirimkannya melalui jaringan
yang tidak aman (seperti contohnya Internet), sehingga tidak dapat dibaca oleh siapapun kecuali oleh penerima yang seharusnya (Oppliger, 2005). Pada buku yang sama, dijelaskan bahwa Kriptologi memiliki cabang
bidang
studi:
kriptografi
dan
kriptanalis.
Kata
grafi
(graphein) pada kata kriptografi berarti menulis. Kata analis (anal´yein) pada kata kriptanalis berarti mendapatkan.
8
2.3 Algoritma AES Algoritma AES memiliki nama lengkap Rijndael Advanced Encryption Standard. Istilah Rijndael merupakan kombinasi nama belakang dari dua orang pembuatnya, yaitu Vincent Rijmen dan Joan Daeman. AES merupakan algoritma pertama yang dibuat melalui kompetisi yang terorganisir pada tahun 1998. Advanced Encryption Standard (AES) merupakan standar enkripsi dengan kunci simetris yang diadopsi oleh pemerintah Amerika Serikat. Standar ini terdiri atas 3 blok cipher, yaitu AES128, AES-192 and AES-256, yang diadopsi dari koleksi yang lebih besar yang awalnya diterbitkan sebagai Rijndael. Masing-masing cipher memiliki ukuran 128-bit, dengan ukuran kunci masingmasing 128, 192, dan 256 bit. AES telah dianalisis secara luas dan sekarang
digunakan
di seluruh
dunia,
seperti halnya dengan
pendahulunya, Data Encryption Standard (DES). Gambar 2.3 menjelaskan proses yang dilakukan oleh AES.
9
Gambar 2.3 AES (Musa, 2003)
Penerapan enkripsi algoritma AES pada PT. Indomedia dimulai dengan pengguna memasukkan data transaksi melalui form transaksi
pada
aplikasi.
Kunci
yang
digunakan
adalah
“INDOMEDIA”, yang tersimpan pada aplikasi. Kunci kedua yang digunakan adalah ID transaksi yang merupakan primary key record transaksi. Kemudian sebuah object dari class MemoryStream dibuat untuk menampung hasil enkripsi. Object dari class Aes dibuat untuk menyimpan Key dan IV (kunci kedua). Inti dari proses enkripsi dilakukan menggunakan object dari class CryptoStream dengan
10
memberikan parameter berupa object dari MemoryStream dan Aes. Hasil enkripsi diambil melalui object MemoryStream, kemudian disimpan ke basis data. Gambar 2.4 merupakan proses enkripsi yang terjadi pada algoritma AES.
Gambar 2.4 Proses Enkripsi pada Algoritma AES
Penerapan dekripsi algoritma AES pada PT. Indomedia dimulai dengan mengambil data dari basis data.
Kunci yang
digunakan adalah “INDOMEDIA”, yang tersimpan pada aplikasi. Kunci kedua yang digunakan adalah ID transaksi yang merupakan primary key record transaksi. Kemudian sebuah object dari class
11
MemoryStream dibuat untuk menampung hasil dekripsi. Object dari class Aes dibuat untuk menyimpan Key dan IV (kunci kedua). Inti dari proses dekripsi dilakukan menggunakan object dari class CryptoStream dengan memberikan parameter berupa object dari MemoryStream dan Aes. Hasil dekripsi diambil melalui object MemoryStream, kemudian ditampilkan pada aplikasi. Gambar 2.5 merupakan proses dekripsi yang terjadi pada algoritma AES.
Gambar 2.5 Proses Dekripsi pada Algoritma AES
12
2.4 Perhitungan AES Pada
proses
enkripsi AES
terdapat
transformasi AES,
transformasi tersebut adalah Transformasi SubBytes. AES hanya mempunyai satu buah S-box. Misalkan S[r,c] = xy, yang dalam hal ini
adalah
digit
heksadesimal
dari
nilai
S[r,c],
maka
nilai
subtitusinya, yang dinyatakan dengan S’[r,c], adalah elemen di dalam S-box yang merupakan baris x dengan kolom y. gambar 2.6 menjelaskan tranformasi SubBytes.
Gambar 2.6 Transformasi SubBytes (M unir, 2006)
Misalkan S’[0,0] = 19, maka S’[0,0] = d4. Penjelasaan dari contoh tersebut adalah : 0 1 2 3 4 5 6 7 8 9 a b c d e f ---|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--| 00 |63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76 10 |ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0 20 |b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15 30 |04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75 40 |09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84 50 |53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf 60 |d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8 70 |51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2 80 |cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73 90 |60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db