Institutional Repository | Satya Wacana Christian University: Aplikasi Advanced Encryption Standart (AES) Untuk Kerahasiaan Basis Data Keuangan (Studi Kasus : PT. Indomedia) T1 672007710 BAB II
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
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