I. PENDAHULUAN
78
II. DASAR TEORI
A. Keamanan Sistem
Masalah keamanan merupakan salah satu aspek
penting dari sebuah sistem informasi, sayang sekali
masalah keamanan ini seringkali kurang mendapat
perhatian dari pemilik dan pengelola sistem infromasi.
Jatuhnya informasi ke pihak lain (misal pihak lawan
bisnis) dapat menimbulkan kerugian bagi pemilik
informasi. Untuk itu keamanan dari sistem informasi
yang digunakan harus terjamin dalam batas yang
diterima. Web server dan database Server bagaikan
jantung dan otak dari organisme internet. Dua
komponen ini menjadi komponen pokok dari sebuah
aplikasi internet yang tangguh dan tepatlah keduanya
menjadi target hacker. Dalam beberapa kasus kita harus
dapat menentukan titik-titik lemah dalam aplikasi
tersebut yang bisa menjadi sasaran penyerang. [7]
4.
plaintext
Enkripsi
kunci enkripsi
chipertext
Dekripsi
plaintext
kunci dekripsi
B. Kriptografi
Kriptografi adalah ilmu yang mempelajari mengenai
bagaimana cara mengamankan suatu informasi.
Pengamanan ini dilakukan dengan mengenkrip
informasi tersebut dengan suatu kunci khusus. Informasi
ini sebelum dienkrip dinamakan plaintext. Setelah
dienkrip dengan suatu kunci dinamakan ciphertext. Ada
empat tujuan mendasar dari ilmu kriptografi ini yang
juga merupakan aspek keamanan informasi yaitu :
1. Kerahasiaan, adalah layanan yang digunakan
untuk menjaga isi dari informasi dari siapapun
kecuali yang memiliki otoritas atau kunci rahasia
untuk membuka/mengupas informasi yang telah
disandi.
2. Integritas data, adalah berhubungan dengan
penjagaan dari perubahan data secara tidak sah.
Untuk menjaga integritas data, sistem harus
memiliki
kemampuan
untuk
mendeteksi
manipulasi data oleh pihak-pihak yang tidak
berhak, antara lain penyisipan, penghapusan, dan
pensubsitusian data lain kedalam data yang
sebenarnya.
3. Autentikasi, adalah berhubungan dengan
identifikasi/pengenalan, baik secara kesatuan
sistem maupun informasi itu sendiri. Dua pihak
yang saling berkomunikasi harus saling
memperkenalkan diri. Informasi yang dikirimkan
C. Algoritma Rijndael
Rijndael termasuk dalam jenis algoritma kriptografi
yang sifatnya simetri dan cipher block. Dengan
demikian algoritma ini mempergunakan kunci yang
sama saat enkripsi dan dekripsi serta masukan dan
keluarannya berupa blok dengan jumlah bit tertentu.
Rijndael mendukung berbagai variasi ukuran blok dan
kunci yang akan digunakan. Namun Rijndael
mempunyai ukuran blok dan kunci yang tetap sebesar
128, 192, 256 bit. Pemilihan ukuran blok data dan kunci
akan menentukan jumlah proses yang harus dilalui
untuk proses enkripsi dan dekripsi. Berikut adalah
perbandingan jumlah proses yang harus dilalui untuk
masing-masing masukan.
TABEL I.
JUMLAH PROSES BERDASARKAN BIT BLOK DAN
KUNCI. [4]
Panjang kunci
(Nk) dalam
words
Jumlah proses(Nr)
10
12
14
79
MixColumns tidak akan dilakukan pada tahap terakhir.
Proses enskripsi adalah kebalikkan dari deskripsi.
Berikut penjelasannya :
1. Key Schedule
Proses key schedule diperlukan untuk mendapatkan
subkey-subkey dari kunci utama agar cukup untuk
melakukan enkripsi dan dekripsi. Proses ini terdiri dari
beberapa operasi, yaitu :
a. Operasi Rotate, yaitu operasi perputaran 8 bit pada
32 bit dari kunci.
b. Operasi SubBytes, pada operasi ini 8 bit dari subkey
disubstitusikan dengan nilai dari S-Box.
c. Operasi Rcon, operasi ini dapat diterjemahkan
sebagai operasi pangkat 2 nilai tertentu dari user.
Operasi ini menggunakan nilai-nilai dalam Galois
field. Nilai-nilai dari Rcon kemudian akan di-XOR
dengan hasil operasi SubBytes.
d. Operasi XOR dengan w[i-Nk] yaitu word yang
berada pada Nk sebelumnya.
2. AddRoundKey
Pada proses ini subkey digabungkan dengan state.
Proses penggabungan ini menggunakan operasi XOR
untuk setiap byte dari subkey dengan byte yang
bersangkutan dari state. Untuk setiap tahap, subkey
dibangkitkan dari kunci utama dengan menggunakan
proses key schedule. Setiap subkey berukuran sama
dengan state yang bersangkutan. Proses AddRoundKey
diperlihatkan pada Gambar 3.
4. Shift Rows
Proses Shift Rows akan beroperasi pada tiap baris dari
tabel state. Proses ini akan bekerja dengan cara memutar
byte-byte pada 3 baris terakhir (baris 1, 2, dan 3) dengan
jumlah perputaran yang berbeda-beda. Baris 1 akan
diputar sebanyak 1 kali, baris 2 akan diputar sebanyak 2
kali, dan baris 3 akan diputar sebanyak 3 kali.
Sedangkan baris 0 tidak akan diputar.
5. MixColums
Proses MixColumns akan beroperasi pada tiap kolom
dari tabel state. Operasi ini menggabungkan 4 bytes dari
setiap kolom tabel state dan menggunakan transformasi
linier Operasi Mix Columns memperlakukan setiap
kolom sebagai polinomial 4 suku dalam Galois field dan
kemudian dikalikan dengan c(x) modulo (x4+1), dimana
c(x)=3x3+x2+x+2. Kebalikkan dari polinomial ini
adalah c(x)=11x3+13x2+9x+14. Operasi MixColumns
juga dapat dipandang sebagai perkalian matrix.
III. KERANGKA KONSEP PENELITIAN
A. Kerangka Berfikir
Keamanan
Sistem
3. SubBytes
Rijndael hanya memiliki satu S-box. Kriteria desain
untuk kotak S yang dibuat sedemikian rupa sehingga
tahan terhadap diferensial linear yang dikenal sebagai
pembacaan sandi dan menyerang menggunakan
manipulasi aljabar. Koordinat x merupakan digit
pertama sedangkan y yang kedua dari bilangan
hexadesimal, dapat dilihat pada Tabel II.
Contoh :
19 A0 9 A E 9
3D F 4 C 6 F 8
S
E 3 E 2 8 D 48
BE 2 B 2 A 08
(1)
Sehingga mendapatkan S sebagai berikut
D 4 E 0 B8 1E
27 BF B 4 41
S'
11 98 5 D 52
AE F1 E 5 30
(2)
Proses sub bytes ditampilkan dalam perpindahan state
diatas.
Pengaman Data
Algoritma RC 6
Algoritma
Rijndael
SQL Injection
Tujuan
Penelitian
Pengamanan
Sistem
Selesai
80
merupakan algoritma yang merupakan keturunan dari
RC5 yang juga merupakan kandidat AES (Advanced
Encryption Standard). Pada mulanya, perancangan RC6
diawali ketika RC5 dianggap dapat dijadikan kandidat
untuk mengikuti kompetisi pemilihan AES. Algoritma
Rijndael dan SQL Injection menjadi tujuan utama dalam
penelitian ini. Serta menjadi pengamanan sistem
informasi remunerasi berbasis web. Kerangka berfikir
dalam penelitian ini terdapat dalam Gambar 5.
B. Flowchart dan Solusi Masalah
Flowchart dan solusi masalah dalam penelitian ini
terdapat dalam Gambar 6.
Admin
Mulai
Aplikasi
Web
Login
Mengolah Data
Login
Tidak
Enkripsi
berhasil
1.
Definisi Aktor
Tabel III dibawah ini menjelaskan tentang definisi
setiap Aktor yang ada pada sistem yaitu Admin dan
penyerang.
Ya
Masuk
Aplikasi
Selesai
Dalam
flowchart
solusi
masalah,
aplikasi
menggunakan security algoritma Rijndael. Tampak
dalam
Gambar 6 dimulai dari masuk aplikasi,
kemudian input pada login, setelah dimasukkan nama
dan password maka akan dienkripsi,dan ketika enkripsi
berhasil, dan data valid, maka aplikasi dapat digunakan.
No
1
2
Login
Mengubah Data
Penyerang
Proses
Rijndael
2.
Ya
TABEL III.
DEFINISI AKTOR
Aktor
Deskripsi
Admin
User yang berhak mengakses dan
melakukan pengolahan data Admin
Penyerang
User yang tidak sah (penyerang)
yang dapat masuk ke sistem Admin
dan memanipulasi data pada sistem
seperti
mengubah
data
memasukkan
data
maupun
menghapus data
No
TABEL IV.
DEFINISI ALUR SISTEM
Proses
Deskripsi
Login
Mengolah
Data
Memasukkan
Data
Mengubah
Data
Menghapus
Data
Cek SQL
Injection
Tidak
Selesai
81
dan Menghapus data.
B. Analisis Cara Kerja Algoritma Rijndael
Proses Enkripsi
Pada system flow enkripsi dalam algoritma
Rijndael, mempunyai beberapa urutan proses
terlihat pada Gambar 8.
Proses Login Menggunakan Algoritma
Rijndael
Create User
Rijndael Encrypt
Login
Rijndael Decrypt
Mulai
Mulai
Add round
key
Menu Admin
Menu Login
Operas Sub
Byte (Sbox)
Data
User &
Passwo
rd
Data
User &
Passwo
rd
Shift Row
Input Hexa
Split
Generate
Key
Add round
Key
Tidak
Login
Mix
Coloum
Simpan
Database
Hasil mix
kolom di
add round
key
Invert Shift
Row
Invert Sub
Byte
Cek
User&Pass
Invert Sbox
Ya
Sub Byte
(Generate
Key)
Menu Utama
Selesai
Selesai
Shift Row
Add round
key(output
hexadesimal
)
Add Round
Key
Invert Mix
Coloum
Invert Shift
Row
Invert Sub
Byte
Add Round
Key
Hexa,Desim
al,Huruf or
Angka
82
sistem.
Pengujian Serangan SQL Injection Pada Web
tanpa Rijndael.
Dalam mengimplementasikan serangan SQL
Injection ini dibutuhkan website yang memiliki
keamanan yang rendah. Website dengan keamanan
yang rendah memudahkan bagi penyerang untuk
melakukan serangan SQL Injection. Berikut
beberapa skenario yang akan diuji dalam penelitian
ini dalam Tabel V.
TABEL V.
SERANGAN SQL INJECTION PADA WEB TANPA RIJNDAEL
Variabel SQL Injection
Dampak Serangan
No
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
'or 1=1#
or 1=1or 1=1ora=a#
'or"a"="a"#
Admin #
' or 'x'='x'#
Admin or 1=1 #
hi' or 'a'='a'#
hi) or (a=a
Admin' or 0=0#
or a=a
admin' OR '1'='1
' or 0=0 #
' or 0=0 -" or 0=0 -" or 0=0 #
admin ' or 'x'='x
" or "x"="x
) or ('x'='x
' or 1=1-" or 1=1-or 1=1-' or a=a-" or "a"=a
hi or 1=1
admin
having 1=1
hi' or 'a'='a
hi" or 1=1 -or 0=0
admin 'or"a"="a"#
hi" or "a"="a
hi' or 1=1 -hi' or 'a'='a#
hi') or ('a'='a
hi") or ("a"="a#
admin hi' or a'='a'#
admin'or 1=1#
admin hi' or 'a'='a'#
Berhasil Login
Gagal Login
Gagal Login
Gagal Login
Berhasil Login
Gagal Login
Berhasil Login
Gagal Login
Berhasil Login
Gagal Login
Berhasil Login
Gagal Login
Berhasil Login
Berhasil Login
Gagal Login
Gagal Login
Gagal Login
Berhasil Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Berhasil Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Berhasil Login
Berhasil Login
'or 1=1#
Gagal Login
2
3
or 1=1or 1=1-
Gagal Login
Gagal Login
4
5
6
ora=a#
'or"a"="a"#
Admin #
Gagal Login
Gagal Login
Gagal Login
7
8
' or 'x'='x'#
Admin or 1=1 #
Gagal Login
Gagal Login
9
10
hi' or 'a'='a'#
hi) or (a=a
Gagal Login
Gagal Login
11
12
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Admin' or 0=0#
or a=a
" or 0=0 #
admin ' or 'x'='x
" or "x"="x
) or ('x'='x
' or 1=1-" or 1=1-or 1=1-' or a=a-" or "a"=a
hi or 1=1
admin
having 1=1
hi' or 'a'='a
hi" or 1=1 -or 0=0
admin 'or"a"="a"#
hi" or "a"="a
hi' or 1=1 -hi' or 'a'='a#
hi') or ('a'='a
hi") or ("a"="a#
admin hi' or a'='a'#
admin'or 1=1#
admin hi' or 'a'='a'#
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
Gagal Login
83
sebuah web.
[7]
[8]
[9]
Gambar 12. Tampilan Pengujian SQL Injection Pada Rijndael
[10]
[11]
[12]
[13]
[14]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
84
TABEL II.
S-BOX. [8]
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
63
CA
B7
O4
O9
53
DD
51
CD
6O
EO
E7
BA
70
E1
8C
1
7C
82
FD
C7
83
D1
EF
A3
OC
81
32
C8
78
3E
FB
A1
2
77
C9
93
23
2C
OD
AA
4O
13
4F
3A
37
25
B5
98
89
3
7B
7D
26
C3
1A
ED
FB
8F
EC
DC
OA
6D
2E
66
11
OD
4
F2
FA
36
18
18
20
43
92
5F
22
49
8D
1C
48
69
BF
5
6B
59
3F
96
6E
FC
4D
9D
97
2A
O6
D5
A6
03
D9
E6
6
6F
47
F7
O5
5A
B1
33
38
44
90
24
4E
B4
F6
8E
42
Y
7
C5
F0
CC
9A
A0
58
85
F5
17
88
5C
A9
C6
OE
94
68
8
30
AD
34
O7
52
6A
45
BC
C4
46
C2
6C
E8
61
9B
41
9
O1
D4
A5
12
3B
CB
F9
B6
A7
EE
D3
56
DD
35
1E
99
A
67
A2
E5
80
D6
BE
O2
DA
7E
B8
AC
F4
74
57
87
2D
B
2B
AF
F1
E2
B3
39
7F
21
3D
14
62
EA
1F
B9
E9
OF
C
FE
9C
71
EB
29
4A
50
10
64
DE
91
65
4B
86
CE
BO
D
D7
A4
D8
27
E3
4C
3C
FF
5D
5E
95
7A
BD
C1
55
54
E
AB
72
31
B2
2F
58
9F
F3
19
OB
E4
AE
88
1D
28
BB
F
76
CO
15
75
84
CF
A8
D2
73
DB
79
O8
8A
9E
DF
16