Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Perancangan Keamanan Data menggunakan Rijndael 256 pada
Sistem Pusat Data Klasis Gunung Kidul Berbasis Client Server
Artikel Ilmiah
Peneliti :
Setevi Liana Setiadi (672015120)
Suprihadi, S.Si., M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
2019
i
ii
iii
iv
v
1
1. Latar Belakang Masalah
Klasis Gunung Kidul adalah ikatan beberapa GKJ (Gereja Kristen Jawa) di
wilayah tertentu yang didasarkan pada pengakuan keesaan gereja sebagaimana
dinyatakan dalam alkitab, pokok-pokok ajaran GKJ serta tata gereja dan tata
laksana GKJ. Klasis Gunung Kidul merupakan klasis yang terdiri dari 13 GKJ
dengan jumlah KK (Kartu Keluarga) dalam klasis adalah 1.013 dengan 10.581
anggota jemaat yang terbagi atas warga dewasa 2.292 dan warga anak 2.559 [1].
Website GKJ Gunung Kidul menyediakan informasi dari gereja-gereja yang
berada di Gunung Kidul. Informasi tersebut dapat diakses melalui beberapa menu
antara lain menu beranda, berita, info, kontak, fasilitas, laporan dan master data.
Namun terdapat menu yang tidak dapat diakses oleh sembarang orang yang tidak
memiliki hak akses. Menu itu antara lain menu fasilitas, laporan dan master data.
Hanya admin saja yang dapat mengakses menu tersebut seperti super admin (menu
fasilitas, menu laporan dan menu master data) dan admin gereja (menu fasilitas dan
menu laporan), karena pada menu-menu tersebut terdapat informasi berupa data
yang sangat penting. Data penting itu mengenai data jemaat dan data persembahan
dari 13 GKJ yang berada di Gunung Kidul. Oleh karena itu, agar data tersebut tidak
disalahgunakan oleh pihak yang tidak bertanggung jawab, maka dibutuhkan suatu
aspek keamanan dalam suatu jaringan untuk melindungi data-data gereja agar tidak
disalahgunakan ataupun dicuri oleh orang lain.
Berdasarkan latar belakang masalah, maka dilakukan penelitian yang
bertujuan untuk merancang keamanan pada sistem pusat data khususnya pada data
jemaat dan data persembahan. Untuk mengatasi masalah keamanan data tersebut,
maka dalam penulisan tugas akhir ini akan dilakukan perancangan implementasi
kriptografi pada data jemaat dan persembahan. Penerapan kriptografi ini dilakukan
dengan mengamankan pada sisi client server. Kriptografi adalah salah satu teknik
yang digunakan untuk meningkatkan aspek keamanan suatu informasi. Algoritma
yang digunakan untuk mengamankan data yaitu Rijndael. Rijndael dipilih karena
algoritma ini merupakan algoritma yang memiliki kecepatan operasi yang sangat
baik. AES merupakan algoritma kriptografi simetrik dengan menggunakan
algoritma Rijndael yang dapat mengenkripsi dan yang beroperasi dalam mode
penyandi blok(block cipher) yang memproses blok data 128-bit dengan panjang
kunci 128-bit (AES- 128), 192-bit (AES-192), atau 256-bit (AES-256) [2].
2. Kajian Pustaka
Penelitian yang dilakukan oleh (Pramuditya 2016) yang berjudul
“Penerapan Rijndael 256 dan Algoritma Based64 untuk Keamanan Data pada
Sistem Pengelolaan Dokumemn Berbasiskan Web (Studi Kasus SMK Negeri 1
Salatiga)” [3]. Penelitian ini bertujuan untuk merancang sistem pengelolaan
dokumen dan mengimplementasikan algoritma rijndael 256 dan algoritma base64
untuk keamanan data pada sistem pengelolaan dokumen. Pengimplementasian
sistem pengelolaan dokumen berbasis web pada SMK Negeri 1 Salatiga
menghasilkan dokumen yang dapat diamankan dengan cara disimpan dalam bentuk
2
ciphertext jika memiliki status “Tidak” sharing. Algoritma base64 yang
dipergunakan pada bahasa pemrograman PHP tersimpan dalam class mcrypt.
Penelitian terdahulu yang berjudul “Enkripsi Dan Dekripsi Dengan
Algoritma AES 256 Untuk Semua Jenis File” [4]. Penelitian ini membuktikan
bahwa isi file yang telah dienkripsi merupakan isi file dari file sumber, sehingga
apabila akan dilakukan proses dekripsi, maka akan kembali seperti file awal. File
dekripsi dapat kembali seperti ekstensi file sumber karena saat system melakukan
proses enkripsi ditambahkan header untuk menyimpan informasi ekstensi file
sumber. Oleh karena itu, ukuran file enkripsi akan bertambah 11 byte dari ukuran
file asli. Sedangkan ukuran file dekripsi akan kembali ke ukuran file asli.
Pada penelitian selanjutnya yang dilakukan oleh (Siregar, Syahfitri, and
Tommy 2010) yang berjudul “Aplikasi Pengamanan File dengan Algoritma AES
256 dan SHA1” [5]. Penelitian ini bertujuan untuk meningkatkan keamanan pesan
yang akan dikirim melalui saluran komunikasi agar isinya tidak diketahui oleh
pihak lain yang tidak berhak mengetahui isi pesan tersebut. Maka dari itu dapat
diterapkan algoritma kriptografi yang digunakan untuk proses enkripsi dan
dekripsi. Metode kriptografi yang digunakan untuk melakukan pengaman data
mencakup metode AES 256 dan SHA1. Perangkat lunak yang dibuat dapat
digunakan untuk mengamankan file dengan menerapkan metode AES256 dan
SHA1. Perangkat lunak juga akan menampilkan nilai hash dari kunci yang
dimasukkan. Hasil kombinasi dari metode AES256 dan SHA1 akan meningkatkan
keamanan karena kunci yang digunakan telah teracak dengan menggunakan metode
SHA1.
Berdasarkan dari ketiga penelitian di atas yang membahas tentang
keamanan data dengan metode AES, maka pada penelitian ini akan dilakukan
penelitian yang bertujuan untuk merancang dan mengimplementasikan aplikasi
kriptografi khusus untuk system pusat data klasis Gunung Kidul yang
menggunakan metode kriptografi Rijndael 256. Dalam penelitian ini pengguna
dapat menginputkan dan menampilkan data yang akan dilakukan enkripsi dan
dekripsi. Penelitian yang dilakukan akan melihat data yang diinputkan pengguna
dienkripsi didalam database server dan ditampilkan kembali dalam bentuk
plainteks. System yang dibangun diharapkan dapat membantu dan memudahkan
pengguna untuk menjaga kerahasiaan pada data jemaat dan data persembahan
dengan algoritma Rijndael yang akan diimplementasikan pada sistem ini.
Algoritma Rijndael ditemukan oleh Vincent Rijmen dan Joan Daeman dari
Belgia. Rijndael termasuk dalam algortima kriptografi yang sifat simetris dan block
cipher. Dengan demikian algoritma ini mempergunakan kunci yang sama saat
enkripsi dan dekripsi serta masukan dan keluarannya berupa blok dengan jumlah
bit tertentu. Algoritma Rijndael merupakan urutan blok data sebesar 128 bit, 192
bit dan 256 bit terbagi alam 4 blok yang disebut plaintext yang nantinya diproses
dengan cipher key menjadi chipertext. Blok-blok data masukan dan kunci
dioperasikan dalam bentuk array. Setiap anggota array sebelum menghasilkan
keluaran ciphertext dinamakan dengan state. Setiap state akan mengalami proses
3
yang secara garis besar terdiri dari empat tahap yaitu, AddRoundKey, SubBytes,
ShiftRows, dan MixColumns [6].
Secara umum proses enkripsi dengan algoritma AES terdiri dari [7]:
1. AddRoundKey, adalah proses XOR antara state awal (plainteks) dengan cipherkey. Tahap ini disebut juga dengan istilah initial round. Pada saat proses
AddRoundKey, subkey digabungkan dengan state. Proses penggabungan ini
menggunakan operasi XOR untuk setiap byte dari subkey dengan byte yang
bersangkutan dari state. Setiap subkey berukuran sama dengan state yang
bersangkutan.
2. Proses putaran sebanyak Nr–1 kali, dalam putaran tersebut terjadi proses :
SubBytes adalah proses substitusi byte dengan menggunakan tabel substitusi (S-Box). Sebuah tabel S-Box terdiri dari 16x16 baris dan kolom dengan
masing-masing berukuran 1 byte.
ShiftRows adalah proses pergeseran baris-baris array state secara wrapping. Proses ini bekerja dengan cara memutar byte-byte pada 3 baris terakhir
(baris 1, 2, dan 3) dengan jumlah putaran yang berbeda. 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.
MixColumns adalah proses pengacakan data pada masing-masing kolom array state. Operasi ini menggabungkan 4 bytes dari setiap kolom tabel state
dan menggunakan transformasi linier.
AddRoundKey adalah proses operasi XOR antara state terbaru dengan roundkey.
3. Final round, merupakan sebuah proses untuk putaran terakhir yang terdiri dari: SubBytes, ShiftRows, AddRoundKey
Proses yang dilakukan pada setiap putaran adalah [7] :
1. InverseShiftRows, adalah proses kebalikan dari shiftrows, pada proses ini dilakukan pergeseran bit ke kanan.
2. InverseSubBytes, adalah proses kebalikan dari SubBytes. 3. AddRoundKey, adalah operasi XOR antara state terbaru dengan round key. 4. InverseMixColumn, adalah proses mengacak data pada masing-masing kolom
array state.
5. Final round, yang merupakan proses untuk putaran terakhir terdiri dari : InverseShiftRows, InverseSubBytes, AddRoundKey
Arsitektur jaringan client server merupakan pengembangan dari arsitektur
file server. Arsitektur ini adalah model konektivitas pada jaringan yang mengenal
adanya server dan client, dimana masing-masing memiliki fungsi yang berbeda satu
sama lain [8]. Sistem client/server menawarkan sistem yang lebih ramping dalam
pembagian proses pengolahan informasi dimana secara garis besar dibagi menjadi
dua bagian yaitu bagian client yang berhubungan langsung dengan user dan bagian
server yang mengurus bagian pengolahan database secara multitask dan multiuser.
Secara umum sistem client/server bisa dikategorikan menjadi tiga jenis sebagai
4
berikut: (1) Client/Server Two Tiers, (2) Client/Server Multi Tiers, (3) Web Based
Client/Server [9].
3. Tahapan Penelitian
Metode pengumpulan data pada penelitian ini diselesaikan melalui tahapan
yang terbagi dalam empat tahapan, yaitu : (1) analisis kebutuhan, (2) perancangan
sistem, (3) implementasi sistem dan (4) pengujian system dan analisis hasil
pengujian.
Gambar 1. Tahapan Penelitian
Tahapan penelitian pada Gambar 1, dapat dijelaskan sebagai berikut. Tahap
pertama, analisis masalah yaitu suatu kegiatan yang dilakukan untuk mengetahui
permasalahan pada proses pengelolaan data pada suatu objek penelitian, serta
mengumpulkan data dan literature yang terkait dengan algoritma Rijndae 256 untuk
proses enkripsi dan dekripsi. Tahap kedua, yaitu perancangan sistem yang
merupakan tahapan merancang sistem yang memperbolehkan pengguna untuk
menginputkan plainteks. Sistem dapat mengekripsi plainteks (data jemaat dan data
persembahan) inputan dari pengguna dan mendekripsi cipherteks inputan pengguna
sesuai algoritma Rijndael 256. Tahap ketiga, implementasi sistem, yaitu membuat
aplikasi sesuai perancangan pada tahap kedua, yaitu bagaimana aplikasi berjalan
saat data dienkripsi dan didekripsi kembali. Dan Tahap keempat, pengujian sistem
dan analisis hasil pengujian, yaitu dilakukan pengujian terhadap proses kerja
algoritma Rijndael 256.
Metode yang digunakan dalam pengembangan sistem ini menggunakan
model prototype, sehingga dapat dilakukan teknik pengumpulan data atau informasi
tertentu mengenai kebutuhan-kebutuhan informasi pengguna yang dapat dilakukan
secara cepat. Dengan metode prototype ini, pengembang dan pihak GKJ Klasis
Gunung Kidul dapat saling berinteraksi selama proses pembuatan sistem
pengelolaan data berbasis web.
Analisis Kebutuhan dan Pengumpulan Data
Perancangan Sistem meliputi Enkripsi dan Dekripsi
Implemetasi Sistem
Pengujian Sistem dan Analisis Hasil Pengujian
5
Gambar 2. Metode Prototype
Gambar 2. merupakan tahap-tahap pada metode prototype yaitu
pengumpulan kebutuhan, perancangan dan evaluasi prototype. Yang dilakukan
dalam pengumpulan kebutuhan yaitu meneliti kebutuhan apa saja yang dibutuhkan
di GKJ Klasis Gunung Kidul. Pengumpulan data ini dilakukan dengan melakukan
wawancara dengan narasumber di GKJ Klasis Gunung Kidul dan menganalisa
rancangan kebutuhan apa yang nantinya diperlukan. Dari wawancara yang sudah
dilakukan dapat diketahui bahwa GKJ Klasis Gunung Kidul belum mempunyai
sistem untuk mengamankan data khususnya data jemaat dan persembahan.
Kemudian dengan merancang aplikasi sistem ini nantinya akan membantu dalam
mengamankan data jemaat dan data persembahan. Tahapan selanjutnya yaitu
perancangan sistem. Perancangan sistem nantinya meliputi alur program dan
perancangan menggunakan UML. Proses perancangan UML diagram meliputi use
case dan activity diagram. UML yang telah dibuat nantinya akan dilanjutkan
dengan pengimplementasian sistem. Tahapan yang terakhir yaitu evaluasi
prototype. Pada evaluasi prototype akan dilakukan pengujian sistem dan melakukan
analisis terhadap hasil pengujian tesebut. Pengujian menggunakan cara uji
fungsionalitas sistem, yaitu menggunakan metode blackbox. Pengujian blackbox
testing dilakukan untuk mengetahui bahwa semua fungsi dan fitur pada sistem
keamanan bekerja dengan tepat.
Tahap awal pada penelitian ini yaitu melakukan analisis kebutuhan dengan
mengidentifikasi masalah, mengumpulkan studi literatur mengenai metode-metode
tentang kriptografi khususnya metode algoritma Rijndael. Metode studi literatur
digunakan dengan melihat penelitian yang sudah ada dan merujuk pada penelitian
yang telah dilakukan. Pada tahap ini dilakukan analisis mengenai masalah yang ada
di GKJ Gunung Kidul yaitu permasalahan pada manajemen data jemaat dan
manajemen data persembahan yang belum memiliki fitur untuk melindungi atau
mengamankan data. Dalam analisis ini proses enkripsi dan dekripsi terjadi pada
jaringan yang menghubungkan dua titik yaitu client dan server. Pada jaringan client
server akan terjadi proses pertukaran data yang sudah ada proteksi keamanan
enkripsi dan dekripsi. Dalam hal pengelolaan sistem, ada dua user yang berperan
untuk mengelola sistem yaitu super admin yang dapat mengakses semua data gereja
dan admin gereja yang hanya dapat mengakses data gereja sendiri.
1. Analisis Kebutuhan Admin
6
- Super admin dan admin gereja harus melakukan login dahulu. - Super admin dan admin gereja dapat mengelola data (tambah, ubah dan
hapus).
- Super admin dapat mengelola semua data gereja sedangkan admin gereja hanya dapat mengelola data gerejanya saja.
- Admin dapat memberikan pengamanan pada menu data jemaat dan data persembahan.
2. Analisis Kebutuhan Server - Menyediakan database untuk penyimpanan data. - Mengirimkan data yang dibutuhkan oleh admin.
3. Analisis Kebutuhan Software - Sistem operasi Windows 7 - Web Server : XAMPP 5.6.40-0 - Web browser : Mozilla Firefox - PHP version 5.6.40 - UML designer : StarUML - Framework CodeIgniter - Perangkat Keras : Intel core i3 2.40 GHz dan 2 GB RAM.
Pada tahap selanjutnya dari penelitian ini yaitu perancangan sistem.
Perancangan sistem ini menggunakan Unified Modelling Language (UML). UML
bersifat scalability, yaitu objek lebih mudah dipakai untuk menggambarkan sistem
yang bersifat komplek. UML juga bersifat dynamic modelling, yaitu model dapat
digunakan untuk pemodelan sistem dinamis dan real time. Pada tahap awal
perancangan UML yaitu membangun use case diagram yang mempresentasikan
keseluruhan kerja sistem secara garis besar dan juga mempresentasikan interaksi
antara actor dengan sistem yang dibangun, serta menggambarkan fungsionalitas
yang dapat diberikan sistem kepada user atau actor.
7
Gambar 5. Use Case GKJ Klasis Gunung Kidul
Gambar 5. Menunjukkan use case diagram yang akan digunakan pada
aplikasi system pusat data Gunung Kidul. Pada aplikasi tersebut terdapat tiga actor
yaitu admin klasis, admin gereja dan publik. Actor admin klasis dalam penelitian
ini adalah actor yang telah ditentukan dan diberi kewenangan untuk dapat melihat
seluruh data gereja yang terdapat di GKJ Klasis Gunung Kidul dan dapat mengakses
semua menu. Menu-menu tersebut antara lain menu kontak, menu info, menu
berita, menu beranda, menu laporan, menu fasilitas dan menu master data.
Selanjutnya actor admin gereja dapat melakukan akses (edit, delete, add, search,
print) data gerejanya sendiri. Sedangkan untuk actor publik hanya dapat melihat
menu beranda, berita, info dan kontak. Saat actor admin klasis dan admin gereja
mengakses data jemaat dan data persembahan pada menu fasilitas, data-data yang
sudah di input dan di edit akan di enkripsi dan data-data yang sudah terenkripsi
akan tersimpan di server.
8
Gambar 6. Activity Diagram GKJ Klasis Gunung Kidul
Gambar 6. Menunjukkan activity diagram pengguna yaitu admin, dalam
aktivitasnya saat mengakses menu web GKJ Klasis Gunung Kidul. Admin klasis
harus melakukan login terlebih dahulu sebelum melakukan aktivitasnya pada
aplikasi. Setelah login berhasil, admin bisa memilih menu beranda, berita, info,
kontak, fasilitas, laporan dan master data. Selanjutnya sistem akan menampilkan
data dari menu yang sudah di pilih. Untuk admin klasis hanya bisa melihat, mencari
dan mencetak data. Sedangkan admin gereja dapat menambah, mengubah,
menghapus, mencetak dan mencari data.
Gambar 7. Activity Diagram submenu data jemaat
9
Gambar 7. Menunjukkan activity diagram pada menu fasilitas, sub menu
manajemen data jemaat. Alur proses pada sub menu ini, admin harus login terlebih
dahulu, setelah itu pilih sub menu manajemen data jemaat pada menu fasilitas.
Kemudian sistem akan menampilkan data jemaat dan pada sub menu ini disediakan
tiga aksi, antara lain tambah, cetak, cari. Saat admin memilih salah satu aksi tersebut
maka data akan di enkripsi dan disimpan di server. Dan pada saat data akan
ditampilkan, data akan di dekripsi menjadi plaintext.
Gambar 8. Activity Diagram submenu data persembahan
Gambar 8. Menunjukkan activity diagram pada menu fasilitas, sub menu
manajemen data persembahan. Alur proses pada sub menu ini, admin harus login
terlebih dahulu, setelah itu pilih sub menu manajemen data persembahan pada menu
fasilitas. Kemudian sistem akan menampilkan data persembahan dan pada sub
menu ini disediakan tiga aksi, antara lain tambah, cetak, cari. Saat admin memilih
salah satu aksi tersebut maka data akan di enkripsi dan disimpan di server. Ketika
proses menampilkan data, data dari server ditarik dalam bentuk pesan terenkripsi,
kemudian didekripsi dan ditampilkan dalam bentuk plaintext.
Alur proses sistem yang akan dibangun yaitu proses enkripsi dan dekripsi
pada data jemaat dan data persembahan. Adapun prosesnya ditunjukkan sebagai
berikut :
10
Gambar 3. Alur Enkripsi Rijndael
Gambar 4. Alur Dekripsi Rijndael
Gambar 3 dan Gambar 4 Merupakan alur proses enkripsi dan dekripsi
algoritma Rijndael. Proses awal yaitu inisialisasi kunci yang sudah di deklarasikan
pada library di CodeIgniter. Proses enkripsi dan dekripsi menggunakan kunci yang
sama. Setelah itu pengguna menginputkan plainteks yang akan dienkripsi pada
textfield yang sudah disediakan. Kemudian data yang telah dimasukkan akan
mengalami proses penyandian, kemudian dari proses enkripsi akan menghasilkan
cipherteks yang kemudian data yang terkenkripsi akan dikirim dan simpan di
database server. Sedangkan untuk proses dekripsi, pada saat pengguna ingin
melihat atau menampilkan data yang dipilih, pengguna tidak perlu memasukkan
kunci karena kunci yang digunakan sama dengan kunci yang digunakan saat
melakukan proses enkripsi. Data tersebut kemudian mengalami proses dekripsi
dengan menjalankan algoritma Rijndale 256 yang kemudian menghasilkan
plainteks.
4. Hasil dan Pembahasan
Hasi dari pembahasan ini berisi tentang uraian hasil implementasi
berdasarkan yang tertulis dalam metode dan perancangan. Sedangkan analisis hasil
dilakukan terhadap hasil yang telah diuji dari aplikasi. Pada sistem aplikasi ini
hanya fokus pada 2 user, yaitu admin klasis dan admin gereja yang memiliki peran
masing-masing dalam mengakses data. Admin klasis memiliki hak untuk
mengakses (melihat) seluruh data gereja yang terdapat di GKJ Klasis Gunung
Kidul. Sedangkan admin gereja hanya dapat mengakses (tambah, ubah, hapus, cari,
cetak) data gerejanya sendiri. Sebelum masuk ke aplikasi, admin klasis dan admin
gereja harus melakukan login terlebih dahulu.
Kode Program 1. Konfigurasi Key enkripsi
1. $config[‘encyption_key’] = ‘qWVMEdAg2trMZ2mHICbq9BRpIYKZwawn’;
Kode program 1. Merupakan bagian untuk melakukan inisialisasi
encryption key. Kunci enkripsi selalu mempengaruhi hasil enkripsi, oleh karena itu
pada bagian ini encryption key dideklarasikan didalam File Config. Encryption key
yang digunakan pada perancangan ini berjumlah 32 karakter.
Kode Program 2. Fungsi Library encryption pada Codeigniter
1. public function __construct(){ 2. parent::__construct(); 3. if($this->session->userdata('group_id') !='1'){
11
4. redirect(base_url("login")); 5. }else { 6. $this->load->model('M_Jemaat_Gereja'); 7. $this->load->library('encrypt'); 8. } 9. }
Kode program 2. Menjelaskan bahwa pada framework CodeIginiter, fungsi
keamanan data sudah disediakan didalam library CodeIgniter yang dapat langsung
diimplementasikan pada aplikasi. Source code diatas merupakan pemanggilan
untuk fungsi library encryption yang sudah disediakan CodeIgniter.
Gambar 9. Tampilan halaman manajemen data jemaat
Pada Gambar 9. Merupakan tampilan halaman manajemen data jemaat.
Halaman ini berisi data-data jemaat setiap gereja yang berada di klasis GKJ Gunung
Kidul. Halaman ini hanya dapat diakses oleh admin. Perbedaan tampilan untuk
admin klasis dengan admin gereja yaitu hak aksesnya. Admin klasis hanya dapat
melihat data jemaat dari 13 gereja, sedangkan admin gereja dapat akses tambah,
hapus dan ubah dari data gerejanya sendiri. Kemudian pada menu ini disediakan
beberapa aksi antara lain, detail, edit dan hapus. Jika admin memilih aksi detail
maka aksi ini akan menampilkan identitas data jemaat secara lengkap. Selanjutnya
jika admin memilih aksi edit maka aksi ini akan menampilkan form untuk
mengubah data jemaat yang akan di edit. Pada sistem ini, pada saat admin sudah
selesai mengubah data maka data yang baru dirubah secara otomatis akan dienkripsi
dan disimpan di server.
Kode Program 3 Pseudocode enkripsi algortima Rijndael
Cipher (byte in [4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)])
Begin
Byte state
State = in
AddRoundKey (state, w[0, Nb-1])
12
For round = 1 step 1 to Nr-1
SubBytes (state)
ShiftRows (state)
MixColumns (state)
AddRoundKey (state, w[round*Nb, (round+1)*Nb-1)
End for
SubBytes (state)
ShiftRows (state)
AddRoundKey (state, w[Nr*Nb, (Nr+1)*Nb-1])
Out = state
end
Kode program 3. Merupakan pseudo code enkripsi yang digunakan untuk
mengenkripsi data jemaat dan data persembahan. Langkah awal untuk melakukan
kriptografi yaitu melakukan kalkulasi pada plainteks menjadi cipherteks dari data
yang akan disimpan dalam array. Tiap elemen dari array state harus diisi dengan 8
bit teks dalam notasi heksadesimal. Setelah pengisian array state selesai,
berikutnya lakukan transformasi SubBytes yang dimana transformasi byte pada
setiap elemen state akan dipetakan dengan menggunakan sebuah table substitusi
(S-Box). Setelah slesai tahap transformasi SubBytes, lakukan transformasi
ShiftRows yang berfungsi sebagai proses pergeseran bit dimana bit paling kiri akan
dipindahkan menjadi bit paling kanan (rotasi bit). Setelah melakukan rotasi bit,
lakukan pengacakan array state dengan melakukan perkalian matriks
menggunakan galois field. setelah itu lakukan penambahan pada state dengan
operasi XOR. Setelah semua proses sudah selesai maka output yang dihasilkan
adalah file teks yang sudah menjadi cipherteks.
Gambar 10. Tampilan form tambah jemaat
Gambar 10. Merupakan tampilan halaman tambah pada menu data jemaat.
Tampilan ini berisi data untuk identitas jemaat gereja. Pada form tambah terdapat
field-field yang harus diisi. Setelah selesai mengisi data jemaat, pada button
Tambah data jemaat akan dikirim dan disimpan didalam server, untuk No.KTP dan
nama ibu, kedua data tersebut akan terenkripsi pada saat proses menambah data ke
14
dalam server. Begitu pula untuk form edit jemaat. Saat akan mengubah data jemaat
maka data dari server yang masih terenkripsi akan ditampilkan dengan proses
dekripsi dan data akan ditampilkan pada form edit. Untuk proses mengubah data,
proses yang terjadi sama seperti pada tambah data jemaat. Gambar 11. Merupakan
tampilan untuk form edit.
Gambar 11. Tampilan form edit data jemaat
Kode Program 4. Pseudocode proses dekripsi algortima Rijndael
InvCipher (byte in [4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)])
Begin
Byte state [4,Nb]
State = in
AddRoundKey (state, w[Nr*Nb, (Nr+1)*Nb-1])
For round = Nr-1 step -1 downto 1
InvShiftRows(state)
InvSubBytes(state)
AddRoundKey (state, w[round*Nb, (round+1)*Nb-1)
InvMixColumns(state)
End for
InvShiftRows(state)
InvSubBytes (state)
AddRoundKey (state, w[0, Nb-1])
Out = state
End Kode program 4. Merupakan pseudocode dekripsi algoritma Rijndael. Pada
proses dekripsi proses Key Schedule sama, mengambil kunci cipher dan melakukan
rutin ekspansi kunci untuk membentuk key schedule. Ekspansi kunci menghasilkan
total Nb(Nr+1) word. Pada proses AddRoundKey, sebuah round key ditambahkan
pada state dengan operasi XOR. Setiap round key terdiri dari Nb word dimana
setiap word akan dijumlahkan dengan kolom yang bersesuaian. Setelah melakukan
proses AddRoundKey, pada setiap kolom dalam state dikalikan dengan matriks
perkalian dalam AES. Setelah melakukan perhitungan pada perkalian matriks di
InvMixColumns dilanjutkan transformasi byte yang berkebalikan dengan
transformasi ShiftRows, karena pada transformasi InvShiftRows dilakukan
pergeseran bit ke kanan. Dilanjutkan proses transformasi InvSubBytes dimana
15
transformasi bytes yang berkebalikan dengan transformasi SubBytes, karena pada InvSubBytes tiap elemen pada state dipetakan dengan menggunakan tabel Inverse S-Box. Setelah transformasi InvSubBytes sudah dilakukan, maka hasil array
state yang awal enkripsi akan muncul kembali untuk dijadikan status awal dan dikalkulasikan cipherteks menjadi plainteks kembali. Setelah selesai melakukan
semua langkah diatas maka simpan file tersebut sebagai plainteks.
Gambar 12. Tampilan data yang sudah terenkripsi pada server database
Gambar 12. Merupakan tampilan database dari data jemaat yang sudah
terenkripsi. Jadi, pada pengembangan sistem keamanan yang dibuat ini data jemaat
sebelumnya seperti data No.KTP dan Nama Ibu belum memiliki fungsi keamanan
enkripsi. Saat admin melakukan aksi edit data baru maka data tersebut akan
dienkripsi. Tetapi saat akan menampilkan data sebelumnya yang pernah
ditambahkan, data tersebut belum dienkripsi. Namun saat data yang lama di update
menjadi data yang baru, secara otomatis data akan dienkripsi dan untuk dikirim dan
disimpan pada field baru pada server database.
Tahap terakhir pada perancangan sistem yaitu tahap pengujian sistem.
Pengujian pada tahap ini menggunakan metode blackbox yang merupakan
pengujian fungsionalitas tanpa memperhatikan alur eksekusi program melainkan
apakah setiap fungsi di aplikasi berjalan dengan semestinya. Pengujian aplikasi
dapat ditunjukkan pada tabel dibawah ini.
Tabel 1. Hasil pengujian Blackbox
Fungsi yang
diuji Kondisi
Output yang
diharapkan
Output yang
dihasilkan
sistem
Status
pengujian
Login
Username,
password dan
capcha benar
Sukses login Sukses login Berhasil
Username,
password dan
captcha salah
Gagal login Gagal login Berhasil
Tambah jemaat Form diisi
dengan benar
Sukses tambah
dan mengenkrip
data
Sukses tambah
dan mengenkrip
data
Berhasil
Edit jemaat Form diisi
dengan benar
Sukses ubah dan
mengenkrip data
Sukses ubah dan
mengenkrip data Berhasil
Hapus jemaat Konfirmasi
dengan benar
Sukses hapus
data
Sukses hapus
data Berhasil
16
Cetak jemaat Form dicetak
dengan benar Sukses cetak data Sukses cetak data Berhasil
Detail jemaat
Form
ditampilkan
secara lengkap
dan benar
Sukses
menampilkan
data
Sukses
menampilkan
data
Berhasil
Tambah
persembahan
Form diisi
dengan benar
Sukses tambah
dan mengenkrip
data
Sukses tambah
dan mengenkrip
data
Berhasil
Edit
persembahan
Form diisi
dengan benar
Sukses ubah dan
mengenkrip data
Sukses ubah dan
mengenkrip data Berhasil
Hapus
persembahan
Konfirmasi
dengan benar
Sukses hapus
data
Sukses hapus
data Berhasil
Cetak persebahan Form dicetak
dengan benar Sukses cetak data Sukses cetak data Berhasil
Tabel 1. merupakan tabel hasil pengujian blackbox pada aplikasi sistem
manajemen data jemaat dan manajemen data persembahan GKJ Klasis Gunung
Kidul. Pada tabel ditampilkan beberapa fungsi yang terdapat pada sistem. Dalam
pengujian semua fungsi berjalan dengan baik dan status pengujian menunjukkan
bahwa semuanya berhasil. Maka dapat disimpulkan bahwa kerja aplikasi sistem
keamanan pada data jemaat dan data persembahan GKJ Klasis Gunung Kidul
berjalan dengan baik.
5. Kesimpulan
Berdasarkan penelitian, analisis dan pengujian yang sudah dilakukan, maka
dapat disimpulkan bahwa aplikasi sistem keamanan yang dibangun dengan
menggunakan algoritma Rijndael 256 yang diterapkan untuk mengamankan data
jemaat dan data persembahan GKJ Klasis Gunung Kidul sangat membantu dalam
mengamankan data yang sangat penting, sehingga hanya orang tertentu saja yang
dapat mengakses data tersebut. Selain itu dengan menggunakan fungsi enkripsi
yang sudah disediakan Codeigniter berupa library MYCRPYT_RIJNDAEL_256
sangat memudahkan dalam menerapkan fungsi tersebut kedalam program enkripsi
dan dekripsinya. Serta data jemaat dan data persembahan yang diamankan dapat
disimpan pada database server dalam bentuk ciphertext dan dapat ditampilkan
kembali melalui proses dekripsi dalam bentuk plaintext (teks asli).
6. Daftar Pustaka
[1] http://si.klasisgk.or.id diakses pada 11 desember 2018.
[2] Pramuditya, Aryangga. 2016. “Penerapan Rijndael 256 Dan Algoritma Base64
Untuk Keamanan Data Pada Sistem Pengelolaan Dokumen Berbasis Web (
Studi Kasus SMK Negeri 1 Salatiga ) Artikel Ilmiah Penerapan Rijndael 256
Dan Algoritma Base64 Untuk Keamanan Data Pada Sistem Pengelolaan
Dokum.” (April).
http://si.klasisgk.or.id/
17
[3] Yuniati, Voni, Gani Indriyanta, & Antonius Rachmat C. April 2009. Enkripsi
Dan Dekripsi Dengan Menggunakan Algoritma AES 256 Untuk Semua Jenis
File. Jurnal Informatika, Vol. 5, No 1 : 22-31.
[4] SIREGAR, IHSAN FATHANAH AKBAR, HABIBI RAMDANI
SYAHFITRI, and TOMMY. 2010. “Aplikasi Pengamanan File Dengan
Algoritma Aes256 Dan Sha1.” (70):1–8.
[5] Kusumaningsih, Dewi, Ahmad Pudoli, and Iqbal Rahmadan. 2017.
“Steganografi Metode End of File Untuk Keamanan Data.” 9(1):47–55.
[6] Primasetiya, Oxy Riza. 2013. “Implementasi Algoritma AES Rijndael Pada
Proses Enkripsi Hemat Energi Untuk Video Streaming Dalam Jaringan Sensor
Nirkabel.” Seminar Nasional Aplikasi Teknologi Informasi (SNATI) 14–20.
[7] Munir, Rinaldi. 2006. Kriptografi. Bandung: Penerbit Informatika
[8] Fallis, A. .. 2013. “Client Server.” Journal of Chemical Information and
Modeling 53(9):1689–99.
[9] Hadiana, Ana. 2010. “Pengembangan Aplikasi Sistem Client / Server
Menggunakan Teknologi Java.” 9(3):94–100.