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 data (Wahyudi, 2009). Gambar 2.1 Proses Enkripsi Data 5
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. Kriptografi memberikan kemampuan untuk menyimpan data 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 AES- 128, 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 (Munir, 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