Anda di halaman 1dari 16

1.

Pendahuluan
Aset merupakan barang atau benda yang terdiri dari benda yang bersifat
tidak bergerak dan benda yang bersifat bergerak, baik yang berwujud dan tidak
berwujud yang tercakup dalam kekayaan perusahaan atau instansi. Pengelolaan
aset dan kebutuhan informasi mengenai data dan informasi suatu aset sangatlah
penting guna untuk memperbaiki kinerja atau efisiensi di dalam suatu instansi atau
lembaga [1]. Sebagai contoh informasi untuk mengetahui apakah suatu alat
produksi sudah saatnya untuk diganti atau masih layak untuk diperbaiki.
Lembaga Penjaminan Mutu dan Audit Internal (LPMAI) merupakan suatu
lembaga yang berada dalam Universitas Kristen Satya Wacana (UKSW) yang
bergerak dalam penjaminan mutu UKSW. LPMAI terdiri dari beberapa divisi,
diantara divisi tersebut adalah Sumber Daya dan Informasi (SDI) yang dimana
salah satu tugas dari divisi SDI adalah melakukan pengelolaan aset. LPMAI
Universitas Kristen Satya Wacana memiliki banyak aset yang belum
terdokumentasi dengan baik. Oleh karena belum adanya sebuah sistem untuk
mengelola data aset di LPMAI dan untuk memudahkan proses inventarisasi aset,
maka dibuatlah aplikasi inventaris aset yang berbasis web.
Dalam pemrograman web terdapat dua metode untuk mengirimkan data dari
client ke server. Kedua metode tersebut adalah parameter POST method dan
parameter GET method. POST method adalah jenis request dimana pengiriman
data dilakukan dengan memasukkan data pada sebuah permintaan (body of
request), sementara GET method adalah jenis request yang menempatkan data
yang dikirimkan pada URL web yang dituju. Hal ini menjadi salah satu
kelemahan dari GET method karena rentan terhadap serangan seperti XSS
maupun SQL injection [2]. Salah satu mekanisme untuk meningkatkan keamanan
adalah dengan menggunakan teknologi enkripsi. Enkripsi (encryption) adalah
proses yang dilakukan untuk mengamankan sebuah pesan (yang disebut plaintext)
menjadi pesan yang tersembunyi (disebut ciphertext). Ciphertext adalah pesan
yang sudah tidak dapat dibaca dengan mudah. Proses sebaliknya, untuk mengubah
ciphertext menjadi plaintext, disebut dekripsi (decryption) [3].
Berikut adalah hasil pengujian terhadap keamanan web dari serangan SQL
injection sebelum dilakukan proses enkripsi URL. Pengujian dilakukan
menggunakan aplikasi Web Cruiser Web Vulnerability Scanner.

Gambar 1 Celah Keamanan SQL injection

Berdasarkan gambar 1, terdapat beberapa celah keamanan web inventaris


aset yaitu SQL injection pada parameter GET dan POST sehingga perlu dilakukan
enkripsi URL. Hal ini perlu dilakukan karena dalam aplikasi inventaris aset ini
berisi informasi penting tentang seluruh aset berupa data tanggal masuk, kondisi
aset, harga tiap aset, anggaran tiap tahun, data pengguna dll. Dalam penelitian ini
enkripsi URL dengan algoritma AES hanya diterapkan pada parameter GET saja.
Tujuan dari penelitian ini adalah menciptakan suatu URL yang aman melalui
teknik enkripsi dengan algoritma AES pada parameter GET method. Proses
enkripsi yang pertama adalah mengenkripsi parameter dan value terlebih dahulu.
Selanjutnya pada script pemrosesan, parameter dan value di dekripsi menjadi
parameter dan value yang asli. Setelah itu parameter dan value itu diproses
sebagai input dalam script pemrosesan. Hasil dari penelitian ini adalah sebuah
aplikasi inventaris aset berbasis web yang telah menerapkan enkripsi AES pada
URL web tersebut.

2. Tinjauan Pustaka
Penelitian terdahulu yang berkaitan dalam penelitian ini berjudul
“Perlindungan Web pada Login Sistem Menggunakan Algoritma Rijndael”
membahas tentang pengamanan sistem menggunakan algoritma Rijndael untuk
mengenkripsi data. Algoritma Rijndael terpilih sebagai algoritma kriptografi yang
dapat melindungi informasi dengan baik serta efisien dalam implementasinya dan
dinobatkan sebagai Advanced Encryption Standard (AES). Algoritma ini akan
ditanamkan pada login sistem untuk melindungi akses yang tidak sah dari
penyerang. Hasil dari penggunaan algoritma Rinjdael dapat melindungi sistem
login dengan baik sehingga sistem dinyatakan aman dari para penyerang website
[4].
Penelitian yang berjudul “Implementasi AESCHIPPER Class Untuk
Enkripsi URL di Sistem Informasi Akademik Fakultas Teknik Universitas
Diponegoro” membahas tentang bagaimana mengatasi kelemahan parameter GET
yang ada pada aplikasi berbasis web yaitu Sistem Informasi Akademik Fakultas
Teknik Universitas Diponegoro dengan menggunakan teknik enkripsi ke URL
yang menggunakan parameter GET. Prosesnya adalah mengenkripsi variabel pada
sisi client dan mendekripsi pada sisi server untuk mengembalikan data aktual.
Hasilnya adalah variabel yang dikirim dengan parameter GET tidak ditampilkan
pada URL pada tiga modul, yaitu halaman menu utama, ganti password dan link
keluar dari sistem. Proses enkripsi menambahkan akses waktu ke sistem dengan
rata-rata 0:05 detik, sehingga garis besar tidak mempengaruhi kinerja sistem [2].
Mengacu pada penelitian terdahulu, maka penelitian ini akan
mengimplementasikan algoritma AES untuk enkripsi URL pada aplikasi
inventaris aset LPMAI yang berbasis web. Dalam penelitian ini, aplikasi
inventaris aset dibuat dengan PHP, MySQL, Bootstrap, Javascript, library FPDF
untuk generate keluaran berupa dokumen pdf, dan library ChartJs untuk
menampilkan anggaran dalam bentuk grafik.
Pemrograman web atau aplikasi web adalah aplikasi yang dibangun
berbasiskan web dengan menggunakan konsep client-server. Aplikasi yang
dibangun disimpan pada sisi server dalam bentuk dokumen yang disebut dengan
dokumen web yang dirancang dengan menggunakan HTML. Sisi client bertugas
untuk menampilkan halaman web yang terdapat pada server sesuai dengan

1
permintaan pengguna/client dengan menggunakan protokol HTTP [2]. Proses
enkripsi URL menggunakan modul enkripsi dan dekripsi yang berasal dari
phpclasses.org dan diterapkan ke dalam aplikasi inventaris aset. Ilmu yang
mempelajari enkripsi dan dekripsi adalah kriptografi.
Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak
menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh
seseorang yang tidak memiliki kunci dekripsi [5]. Pada dasarnya, sebuah metode
keamanan memiliki 2 proses utama yaitu enkripsi dan dekripsi. Enkripsi
(encryption) adalah proses menyandikan plaintext menjadi ciphertext, sedangkan
dekripsi (decryption) adalah proses mengembalikan chipertext menjadi plaintext
semula [6]. Dalam proses enkripsi dekripsi ada 2 istilah yaitu plaintext dan
ciphertext, dimana plaintext adalah pesan atau data awal yang masih jelas terbaca,
sedangkan ciphertext adalah pesan hasil pemrosesan suatu algoritma kemanan
data sehingga pesan atau data tidak terbaca, bisa berupa simbol ataupun susunan
huruf yang acak. Dalam penelitian ini enkripsi URL pada aplikasi inventaris aset
menerapkan algoritma AES (Advanced Encryption Standard).
Algoritma AES merupakan algoritma enkripsi yang populer dan merupakan
standar baru yang menggantikan algoritma DES (Data Encryption Standard),
karena DES sudah dianggap tidak aman. Pada bulan Oktober 2000, NIST
mengumumkan untuk memilih Rijndael (dibaca: Rhine-doll), dan pada bulan
November 2001, Rijndael ditetapkan sebagai AES, dan diharapkan Rijndael
menjadi standard kriptografi yang dominan paling sedikit selama 10 tahun [7].
Algoritma AES memiliki panjang kunci yang fleksibel dengan 3 varian bit, yaitu
128, 192 dan 256. Untuk panjang blok plaintext yang akan dienkripsi sebesar 128
bit atau setara dengan 16 karakter.

Gambar 2 Diagram Proses Enkripsi AES-128 [8]

Rijndael menggunakan substitusi dan permutasi, dan sejumlah putaran


(cipher berulang) – setiap putaran mengunakan kunci internal yang berbeda
(kunci setiap putaran disebut round key). Tetapi tidak seperti DES yang
berorientasi bit, Rijndael beroperasi dalam orientasi byte (untuk memangkuskan
implementasi algoritma ke dalam software dan hardware) [8]. Garis besar
Algoritma Rijndael yang beroperasi pada blok 128-bit dengan kunci 128-bit
adalah sebagai berikut (di luar proses pembangkitan round key):

2
1. AddRoundKey: melakukan XOR antara state awal (plaintext) dengan cipher
key. Tahap ini disebut juga initial round.
2. Putaran sebanyak Nr – 1 kali. Proses yang dilakukan pada setiap putaran
adalah:
a. SubBytes: substitusi byte dengan menggunakan tabel substitusi (S-box).
b. ShiftRows: pergeseran baris-baris array state secara wrapping.
c. MixColumns: mengacak data di masing-masing kolom array state.
d. AddRoundKey: melakukan XOR antara state sekarang round key.
3. Final round: proses untuk putaran terakhir:
a. SubBytes
b. ShiftRows
c. AddRoundKey

3. Metode Penelitian
Pada penelitian ilmiah ini dilakukan beberapa tahapan penelitian yang
memiliki keterkaitan antara tahapan satu dengan tahapan lain. Tahapan dalam
penelitian ini dapat dilihat pada gambar 3 [9].

Gambar 3 Tahapan Penelitian [9]

Berdasarkan gambar 3 tahapan penelitian dapat dijelaskan sebagai berikut,


tahapan pertama adalah identifikasi masalah, pada tahap ini dilakukan identifikasi
terhadap permasalahan yang terkait dengan keamanan pada aplikasi inventaris
aset berbasis web yaitu kerentanan pada URL terhadap serangan SQL injection.
Tahapan kedua adalah perancangan sistem, tahap ini meliputi perancangan proses
menggunakan UML (Unified Modeling Language), meliputi use case diagram,
dan activity diagram, serta perancangan arsitektur aplikasi. Perancangan aristektur
dari sistem yang dibangun adalah perancangan database seperti relasi antar tabel
yang dibuat pada database. Tahapan ketiga yaitu perancangan aplikasi, pada tahap
ini dilakukan pembuatan aplikasi dengan menerapkan metode AES untuk
mengenkripsi URL pada parameter GET. Tahapan keempat yaitu implementasi
dan pengujian sistem. Pada tahap ini aplikasi yang telah dirancang akan
diimplementasi dan diuji, kemudian selanjutnya akan dianalisis terhadap hasil
pengujian. Tahapan yang terakhir adalah penulisan hasil penelitian, tahap ini

3
merupakan tahap dokumentasi terhadap penelitian yang telah dilakukan dalam
bentuk artikel ilmiah.
Metode perancangan sistem yang dipakai dalam pembuatan aplikasi
inventaris aset yaitu metode prototype. Metode prototype adalah metode dalam
pengembangan rekayasa software yang bertahap dan berulang serta
mementingkan sisi user. Pengembangan software dengan metode ini dilakukan
secara bertahap mulai dari membuat purwarupa yang sederhana, selanjutnya
purwarupa akan dikembangkan dari waktu ke waktu hingga pembuatan software
selesai dan sesuai dengan kebutuhan user.

Gambar 4 Metode Prototype [10]

Gambar 4 merupakan gambar tahapan dari metode prototype yang dapat


dijelaskan sebagai berikut: 1) Listen to Customer, pada tahap ini dilakukan
analisis apa saja yang dibutuhkan customer yaitu sebuah aplikasi inventaris aset
yang aman dan mudah digunakan; 2) Build adalah membangun sistem dan desain
antarmuka web berdasarkan perancangan menggunakan UML (Unified Modeling
Language). Sistem dirancang menggunakan UML untuk selanjutnya dibuat
aplikasi berbasis web dan di integerasikan dengan database; 3) Customer Test,
pada tahap ini dilakukan pengujian sistem dengan cara pengujian secara langsung
oleh customer dan customer akan memberikan review terhadap aplikasi.

Gambar 5 Use Case Diagram

Gambar 5 merupakan use case diagram pada aplikasi inventaris aset. Use
case menjelaskan manfaat sistem yang dilihat dari sudut pandang orang atau

4
sesuatu yang berada diluar sistem (aktor), aktor user hanya bisa melihat data aset,
divisi, laporan peminjaman aset, dan grafik anggaran per tahun saja, yang telah
diolah oleh admin, manipulasi data atau menghapus sejumlah data hanya bisa
dilakukan oleh aktor admin. Admin merupakan staf bagian SDI (Sumber Daya dan
Informasi) yang bertugas melakukan manajemen aset, user, divisi, dan anggaran.

Gambar 6 Activity Diagram Admin Gambar 7 Activity Diagram User

Gambar 6 merupakan activity diagram admin dari aplikasi inventaris aset.


Admin melakukan login dan melakukan manipulasi data, proses manipulasi data
terbagi menjadi 3 yaitu insert data, update data, dan delete data.

5
Gambar 7 merupakan activity diagram user dari aplikasi inventaris aset.
User melakukan login untuk melihat data aset, melihat laporan peminjaman, dan
melihat grafik anggaran.
Proses enkripsi dan dekripsi URL pada aplikasi inventaris aset dapat
dijelaskan dalam flowchart pada gambar 8 dan gambar 9.

Gambar 8 Flowchart Enkripsi URL Gambar 9 Flowchart Dekripsi URL

Gambar 8 menunjukkan flowchart proses enkripsi URL, langkah-langkah


proses enkripsi tersebut dapat dijelaskan sebagai berikut:
a) Mengambil plaintext berupa data dari parameter GET.
b) Membangkitkan kunci enkripsi.
c) Membagi panjang string yang akan dienkripsi dengan panjang 16 karakter.
d) Mengenkripsi setiap 16 karakter.
e) Menggabung hasil enkripsi setiap 16 karakter menjadi satu string enkripsi
utuh.
f) Mengambil chipertext hasil proses enkripsi untuk ditampilkan pada URL.
Gambar 9 merupakan flowchart proses dekripsi URL, langkah-langkah
proses dekripsi tersebut dapat dijelaskan sebagai berikut:
a) Mengambil chipertext dari URL.
b) Membangkitkan kunci dekripsi (sama dengan kunci enkripsi).
c) Karena string hasil enkripsi memiliki panjang 32 karakter, maka untuk proses
dekripsi ini panjang string dibagi menjadi 32 karakter.
d) Mendekripsi setiap 32 karakter hasil enkripsi.

6
e) Menggabung hasil dekripsi 32 karakter menjadi satu string dekripsi utuh.
f) Mengambil plaintext hasil proses dekripsi untuk diproses di database.

4. Hasil dan Pembahasan

Penelitian ini menghasilkan penerapan enkripsi URL pada aplikasi


inventaris aset di LPMAI yang berbasis web. Pengguna aplikasi ini dibagi menjadi
dua, yaitu admin dan user. Admin berperan untuk mengelola seluruh data aset dan
user hanya dapat melihat data keseluruhan aset dan melihat data anggaran per
tahun berupa grafik.

Gambar 10 Halaman Login

Pada halaman ini mengharuskan admin maupun user untuk melakukan login
dengan memasukkan username dan password yang sudah terdaftar di database
sistem. Kemudian sistem akan menentukan apakah pengguna merupakan admin
atau user. Jika sistem memverifikasi pengguna maka akan tampil halaman
beranda seperti pada gambar 11.

Gambar 11 Halaman Admin

7
Gambar 11 merupakan tampilan halaman admin. Admin memiliki semua
hak akses create, read, update, delete terhadap fungsi-fungsi pada aplikasi seperti
mengelola data aset, divisi, anggaran, dan laporan peminjaman aset.
Seperti pada penjelasan sebelumnya, penelitian ini menambahkan fitur pada
aplikasi inventaris aset berupa enkripsi URL pada parameter GET dengan
algoritma AES yang bertujuan untuk meningkatkan keamanan aplikasi inventaris
aset.
AES merupakan algoritma block cipher yang menggunakan sistem
permutasi dan subtitusi (P-BOX dan S-BOX) dan memiliki 3 jenis yaitu 128, 192,
dan 256 bit. Berdasarkan ukuran blok yang tetap, AES bekerja pada matriks
berukuran 4x4 di mana tiap-tiap sel matriks terdiri atas 1 byte (8 bit). Dalam
penelitian ini menggunakan AES 128-bit yang setara dengan 16 karakter.

Tabel 1 S-BOX AES (Advanced Encryption Standard)

y
hex
0 1 2 3 4 5 6 7 8 9 a b c d e f
0 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76
1 ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0
2 b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15
3 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75
4 09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84
5 53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf
6 d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8
7 51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2
x
8 cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73
9 60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db
a e0 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79
b e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08
c ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a
d 70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e
e e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df
f 8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 bb 16

Berikut merupakan contoh penerapan AES 128 bit pada variabel URL.
1. Definisikan plaintext dan key.
Plaintext : kode_aset=A00003 (16 karakter)
Key : ard0.saR0fa rich
2. Lakukan konversi plaintext dan key diatas ke dalam nilai hexadecimal.
Konversi plaintext ke hexadecimal.
k o d e _ a s e t = A 0 0 0 0 3
6B 6F 64 65 5F 61 73 65 74 3D 41 30 30 30 30 33

8
Konversi key ke hexadecimal.
a r d 0 . s a R 0 f a r i c h
61 72 64 30 2E 73 61 52 30 66 61 20 72 69 63 68

Plaintext dalam HEX (128 bit): 6B 6F 64 65 5F 61 73 65 74 3D 41 30 30 30 30


33
Key dalam HEX (128 bit): 61 72 64 30 2E 73 61 52 30 66 61 20 72 69 63 68

3. Proses ekspansi kunci


• Key dalam HEX: 61 72 64 30 2E 73 61 52 30 66 61 20 72 69 63 68
• Ubah menjadi matriks 4x4:
- w[0] = (61,72,64,30),
- w[1] = (2E,73,61,52),
- w[2] = (30,66,61,20),
- w[3] = (72,69,63,68)
• Ambil matriks terakhir dan geser byte ke kiri melingkar. w[3] =
(69,63,68,72)
• Subtitusi byte dengan S-BOX. w[3] = (F9,FB,45,40)
• XOR w[3] dengan round constant (01,00,00,00). g(w[3]) = (F8,FB,45,40)
• XOR g(w[3]) dengan matriks awal. w[4] = w[0] ⊕ g(w[3]) =
(99,89,21,70)
• w[5] = w[4] ⊕ w[1] = (B7,FA,40,22)
• w[6] = w[5] ⊕ w[2] = (87,9C,21,02)
• w[7] = w[6] ⊕ w[3] = (F5,F5,42,6A)
• Gabung w[4],w[5],w[6],w[7], jadi roundkey pertama adalah: 99 89 21 70
B7 FA 40 22 87 9C 21 02 F5 F5 42 6A
Semua kunci yang telah melalui proses ekspansi kunci disajikan pada tabel
2.
Tabel 2 Hasil Ekspansi Kunci Setiap Putaran

Putaran Hasil (Hexadecimal)


0 617264302e7361523066612072696368
1 99892170b7fa4022879c2102f5f5426a
2 7da52396ca5f63b44dc342b6b83600dc
3 7cc6a5fab699c64efb5a84f8436c8424
4 249993e0920055ae695ad1562a365572
5 3165d305a36586abca3f57fde009028f
6 1012a0e4b377264f794871b29941733d
7 d39d870a60eaa14519a2d0f780e3a3ca
8 4297f3c7227d52823bdf8275bb3c21bf
9 b26afb2d9017a9afabc82bda10f40a65
10 3b0db6e7ab1a1f4800d2349210263ef7

4. Proses enkripsi AES 128 bit


• Add Roundkey, Putaran 0

9
o Plaintext dalam HEX: 6B 6F 64 65 5F 61 73 65 74 3D 41 30 30 30 30
33.
o Ambil plaintext lalu XOR dengan kunci putaran 0.

⊕ =

• Putaran 1, Substitution Bytes


o Subtitusikan matriks terkini hasil XOR yaitu dengan S-BOX AES.

 S-BOX

• Putaran 1, Shift Row


o Geser baris 1,2,3 ke kiri.

• Putaran 1, Mix Column


o Mix column mengalikan matriks tetap dengan matriks saat ini.

• Add Roundkey, Putaran 1


o XOR kan matriks saat ini dengan kunci putaran 1.

⊕ =

Jadi hasil AES Putaran 1: 999CB1D5B0FB04EB0E3582A8590006FC


Semua hasil putaran dalam hexadecimal yang telah melalui proses enkripsi
disajikan dalam tabel 3.

10
Tabel 3 Hasil Ciphertext Setiap Putaran

Putaran Hasil (Hexadecimal)


0 0a1d005571121237445b20104259535b
1 999cb1d5b0fb04eb0e3582a8590006fc
2 08d02fd8d23dc979840421327c95b729
3 2d01a72102526b1398d81a510dc320ff
4 3baa2e1d958a2a00b6d98614b54968aa
5 841b2841494ee4f64937e5e3a151bf4d
6 e580472efbf8098d11d4359e6f9c0f8f
7 5c14bd4be1de5908822130ae8dc2d9f3
8 f8e6bb1a5388f3243838107f3b2c3cba
9 5909f61311707330ea3ec82499d41164
10 f05c5ea429a89d35879a7696fe27b1c1

Putaran ke-10 adalah putaran akhir pada proses enkripsi. Pada putaran ini
tidak ada proses mix column, hanya melalui proses subtitusi S-BOX, shift row dan
add roundkey. Jadi chipertext yang ditampilkan ke URL adalah hasil putaran ke-
10 yaitu: f05c5ea429a89d35879a7696fe27b1c1. Tabel 3 merupakan hasil dari satu
contoh proses enkripsi dengan AES 128 bit, untuk hasil enkripsi dari masukan
berupa plaintext dan keluaran berupa chipertext dapat dilihat pada tabel 4.

Tabel 4 Plaintext dan Chipertext

Plaintext Chipertext
kode_aset=A00001 933410dc26eff325c753a12dfc1720cb
kode_aset=A00002 88faa3bd4023c954025018656050fec8
kode_aset=A00003 f05c5ea429a89d35879a7696fe27b1c1
kode_aset=A00004 d0ce13b245bd91b313cb4585a5406533
kode_aset=A00005 c01ab31748256519b06cd5bc39cd88fd
kode_aset=A00006 6de44cc18d8174e3bf34a17f4ffbcbb3
kode_aset=A00007 84b29a2671a30a1f9802d36c920b33d2
kode_aset=A00008 356f12422898151720b71e89acc5b5fd
kode_aset=A00009 e2e0cffba5b21e84a90c3aa0aa434053
kode_aset=A00010 f75b5124b45c1b293192efbb132ebb83

Pada tabel 4 disajikan plaintext berupa parameter GET dari URL dan hasil
keluaran berupa chipertext hasil enkripsi AES 128 bit.
Proses dekripsi merupakan proses merubah ciphertext menjadi plaintext
awal. Proses dekripsi dilakukan sama seperti enkripsi, tetapi dimulai dari putaran
ke-10 menuju putaran ke-0 untuk mendapatkan plaintext awal.

11
Pada bagian ini dijelaskan pseudo-code implementasi algoritma AES untuk
enkripsi URL pada sistem informasi data aset LPMAI berbasis web. Proses
enkripsi dan proses dekripsi sebagai berikut:

Proses Enkripsi
{Program ini digunakan untuk melakukan proses enkripsi URL}
Kamus:
Nr: Jumlah Ronde
w: Baris Byte Kunci Ronde
CT: Chipertext
K: Kunci
P: Plaintext: parameter GET
Start
(Nr, w)  (K)
CT = P
AddRoundKey(CT,w[0...3])
for i=1  Nr do
SubBytes(CT)
ShiftRows(CT)
if i ≠ Nr then
MixColumn(CT)
endif
AddRoundKey(CT,w[(i*4)...(i*4+3)])
end for
End

Proses Dekripsi
{Program ini digunakan untuk melakukan proses dekripsi URL}
Kamus:
Nr: Jumlah Ronde
w: Baris Byte Kunci Ronde
CT: Chipertext
K: Kunci
P: Plaintext: parameter GET
Start
(Nr, w)  (K)
P = CT
AddRoundKey (P, w [Nr*4...Nr*4-3])
for i=1  Nr do
InvSubBytes (P)
InvShiftRows (P)
AddRoundKey (P, w [(Nr-1)*4...((Nr-i)*4)+3])
if i ≠ Nr then
InvMixColumn (P)
end if
AddRoundKey (CT, w [(i*4)...(i*4+3)])
end for
End

12
Selanjutnya pada penelitian ini dilakukan pengujian keamanan web dari
serangan SQL injection setelah proses enkripsi URL menggunakan aplikasi Web
Cruiser Web Vulnerability Scanner dan pengujian waktu akses sistem. Waktu
akses sistem merupakan salah satu parameter yang digunakan untuk mengukur
performa suatu sistem/aplikasi. Pengukuran waktu akses sistem yang
menggunakan enkripsi URL maupun yang tanpa enkripsi URL menggunakan
add-on bernama firebug di perambah Mozilla Firefox.
Pengujian keamanan web dari serangan SQL injection menggunakan
aplikasi Web Cruiser Web Vulnerability Scanner ditampilkan pada gambar 12.

Gambar 12 Pengujian Web Cruiser Web Vulnerability Scanner

Gambar 12 menunjukkan hasil pengujian keamanan web dari serangan SQL


injection. Hasilnya tidak lagi terdeteksi celah keamanan dari parameter GET
seperti pada gambar 1, tetapi masih ada celah kemanan dari parameter POST
karena pada penelitian ini memang tidak menguji parameter POST. Dibawah ini
merupakan gambar pengujian firebug pada perambah Mozilla Firefox.

Gambar 13 Pengujian firebug untuk sistem dengan enkripsi URL

Gambar 14 Pengujian firebug untuk sistem tanpa enkripsi URL

Waktu akses diukur dalam satuan detik. Dari gambar 13 dan 14 terlihat
bahwa sistem dengan enkripsi URL memiliki waktu akses 1.08 detik. Sedangkan
pada sistem tanpa enkripsi URL memiliki waktu akses 1.01 detik. Terdapat selisih
sebesar 0.07 detik dimana sistem dengan enkripsi memiliki waktu akses lebih
lama dibanding sistem tanpa enkripsi.

13
Tabel 5 Perbandingan waktu akses dengan enkripsi dan tanpa enkripsi

Waktu Akses (detik)


No Proses Selisih
Dengan enkripsi Tanpa enkripsi
1 Beranda / menu utama 2.19 2.11 0.08
2 Melihat detail aset 1.08 1.01 0.07
3 Pencarian data aset 2.3 2.28 0.02
4 Masuk log 1.91 1.86 0.05
5 Melihat grafik anggaran 1.22 1.15 0.07

Tabel 5 menampilkan perbandingan hasil perhitungan waktu akses sistem


yang menggunakan enkripsi URL dan tanpa enkripsi URL. Berdasarkan tabel 5
menunjukkan bahwa setiap sistem yang menggunakan enkripsi selalu memiliki
waktu akses lebih lama dibandingkan dengan sistem yang tanpa enkripsi. Dapat
disimpulkan bahwa rata-rata hasil perhitungan waktu akses sistem adalah 0.06
detik. Tetapi dengan selisih waktu akses yang tidak sampai 1 detik, hal ini tidak
akan mempengaruhi performa keseluruhan sistem. Angka-angka dari pengujian
waktu akses sistem diatas selalu berubah setiap saat, akan tetapi selisih antara
keduanya tidak jauh berbeda.

5. Simpulan

Berdasarkan data penelitian yang telah dilakukan, maka dapat diambil


kesimpulan bahwa algoritma AES dapat diimplementasikan pada URL sebuah
web dengan teknik enkripsi. Enkripsi URL ini menghasilkan keluaran berupa
URL yang tidak menampilkan variabel asli melainkan chipertext hasil enkripsi.
Hal ini akan membuat keamanan sistem yang lebih baik, karena akan melindungi
dari serangan SQL injection yang menyerang melalui URL. Hasil dari pengujian
keamanan web terhadap serangan SQL injection menggunakan aplikasi Web
Cruiser Web Vulnerability Scanner adalah URL dengan parameter GET yang
telah melalui proses enkripsi tidak lagi terdeteksi sebagai celah keamanan, namun
masih terdapat celah keamanan pada parameter POST karena penelitian ini tidak
menguji parameter tersebut. Pengujian waktu akses sistem menjelaskan bahwa
sistem dengan enkripsi URL menyebabkan waktu akses sistem sedikit lebih lama
dibandingkan sistem tanpa enkripsi, dengan selisih rata-rata sebesar 0.06 detik.

6. Daftar Pustaka
[1] Yahya, Mochammad Indra. 2012. Perancangan Sistem Informasi Aset
Manajemen Berbasis Web di SMP Negeri 35 Surabaya. Surabaya:
Universitas Pembangunan Nasional.
[2] Subari, Arkhan dan Manan, Saiful. 2014. Implementasi Aeschipper Class
Untuk Enkripsi URL Di Sistem Informasi Akademik Fakultas Teknik
Universitas Diponegoro. Semarang: Jurnal Sistem Komputer Vol. 4 No. 2,
Universitas Diponegoro.
[3] Rahardjo, Budi. 2002. Keamanan Sistem informasi Berbasis Internet. PT

14
Insan Komunikasi Indonesia, Bandung.
[4] Dharmawan, Eka A. Yudaningtyas, Erni dan Sarosa, M. 2013. Perlindungan
Web pada Login Sistem Menggunakan Algoritma Rijndael. Malang: Jurnal
EECCIS Vol. 7, No. 1, Universitas Brawijaya.
[5] Kromodimoeljo, S. 2009. Teori dan Aplikasi Kriptografi. SPK IT
Consulting. Hal. 5.
[6] Wowor, A. D. Kriptografi. Salatiga: Fakultas Teknologi Informasi UKSW.
[7] Munir, R. 2004. Data Encryption Standart (DES). Bandung: Institut
Teknologi Bandung.
[8] Munir, R. 2004. Advanced Encryption Standard (AES). Bandung: Institut
Teknologi Bandung.
[9] Hasibuan, Zainal A. 2007. Metode Penelitian Pada Bidang Ilmu Komputer
dan Teknologi Informasi:konsep, teknik dan aplikasi. Jakarta: Fakultas Ilmu
Komputer Universitas Indonesia.
[10] Pressman, Roger S. 2001. Software Engineering a Practitioner’s Approach.
New York: McGraw-Hill Higher Education.

15

Anda mungkin juga menyukai