Institutional Repository | Satya Wacana Christian University: Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai Sekolah: studi kasus SMA Kristen Payeti Waingapu
Perancangan dan Implementasi Translucent Database
Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6)
pada Data Personal Pegawai Sekolah
(Studi Kasus: SMA Kristen Payeti Waingapu)
Artikel Ilmiah
Peneliti:
Reinhart Yohanis Sitaniapessy (672008249)
Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2014
Perancangan dan Implementasi Translucent Database
Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6)
pada Data Personal Pegawai Sekolah
(Studi Kasus: SMA Kristen Payeti Waingapu)
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti:
Reinhart Yohanis Sitaniapessy (672008249)
Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2014
Lembar Persetujuan
Database Menggunakan Algoritma Kriptografi Rivest Code
6 (RC6) pada Data Personal Pegawai Sekolah
Studi Kasus : SMA Kristen Payeti Waingapu
1
2 Reinhart Yohanis Sitaniapessy , Magdalena A. Ineke Pakereng
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
1
2 E-mail: [email protected] , [email protected]
Abstract
Data security is an integral part of any system that uses the validity and privacy ofdata, especially if it involves a lot of interested parties. The form of data storage in a
database format is also one of the many forms of data handling is applied. High levels of
efficiency, better data management, extensive support, and of course, a high level of security,
are the criteria that need to be owned by a good database program. Translucent databases
can be used as a solution of the problem. Translucent databases is a method for securing
personal data is to encrypt the original data of employees, thus those who illegally enter the
system can not determine the original data. This method has several features that can be
used, among others, the RC6 encryption algorithm, ignorance, and data stunt. The results of
this study are an application for data processing school employee, which encode a school
employee personal data, so it can provide security in an employee database.Keywords: Translucent database, RC6, Cryptography
Abstrak
Keamanan data merupakan bagian integral dari setiap sistem yang menggunakan
validitas dan privacy data, khususnya apabila melibatkan banyak pihak yang berkepentingan.
Bentuk penyimpanan data dalam format database juga merupakan salah satu bentuk
penanganan data yang banyak diterapkan. Tingkat efisiensi yang tinggi, manajemen data
yang baik, dukungan yang luas, dan tentunya, tingkat keamanan yang tinggi, merupakan
kriteria yang perlu dimiliki oleh program database yang baik. Solusi masalah tersebut adalah
metode translucent database. Metode translucent database adalah metode khusus untuk
mengamankan data personal. Translucent database dapat menyandikan data asli pegawai,
dan pihak yang masuk sistem secara ilegal tidak dapat mengetahui data aslinya. Metode ini
memiliki beberapa fitur yang dapat digunakan antara lain yaitu enkripsi menggunakan
algoritma RC6, ignorance, dan stunt data. Hasil dari penelitian ini adalah sebuah aplikasi
untuk mengolah data pegawai sekolah, yang menyandikan data pribadi pegawai sekolah,
sehingga dapat memberikan pengamanan dalam database pegawai. 1 Kata Kunci: Translucent database, RC6, Kriptografi
Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen
2 Satya Wacana Salatiga Staf Pengajar Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga1. Pendahuluan
Keamanan data merupakan bagian integral dari setiap sistem yang mengutamakan validitas dan privacy data, khususnya apabila melibatkan banyak pihak yang berkepentingan. Dalam suatu jaringan komputer, umumnya data penting yang digunakan bersama-sama diletakkan pada suatu komputer pusat yang disebut
server . Server inilah yang kemudian memperoleh perhatian ekstra guna menjaga agar
data yang tersimpan di dalamnya tidak rusak, hilang, atau dapat diakses oleh pihak yang tidak berwenang.
Bentuk penyimpanan data dalam format database juga merupakan salah satu bentuk penanganan data yang banyak diterapkan. Tingkat efisiensi yang tinggi, manajemen data yang baik, dukungan yang luas, dan tentunya, tingkat keamanan yang tinggi, merupakan kriteria yang perlu dimiliki oleh program database yang baik [1].
SMA Kristen Payeti Waingapu menyimpan data sekolah dalam bentuk file
spreadsheet (Microsoft Excel). Salah satu data sekolah yang disimpan adalah data
personal guru dan pegawai sekolah. File tersebut tersimpan pada satu komputer yang difungsikan sebagai server, dengan tujuan dapat diakses dan digunakan bersama- sama. File pada komputer server tersebut dapat diakses oleh pihak yang memiliki hak akses (username dan password) yang terdaftar pada komputer server. Namun ketika file tersebut tersalin pada komputer lain, tidak ada jaminan keamanan untuk
file tersebut. SMA Kristen Payeti Waingapu dapat memanfaatkan keuntungan yang
ditawarkan oleh sistem informasi, yaitu sentralisasi data. Server yang dimiliki oleh sekolah dapat dimanfaatkan menjadi database server untuk menyimpan data, salah satunya data pribadi guru dan pegawai sekolah. Tingkat keamanan akan menjadi lebih baik, yaitu selain hak akses pada komputer server, juga hak akses pada aplikasi
database server yang ada pada komputer server tersebut. Namun hal ini juga belum
cukup aman, karena ketika harddisk komputer server tersebut dicuri, maka data yang di dalamnya akan kehilangan perlindungan yang ditawarkan oleh sistem operasi
server [1]. SMA Kristen Payeti Waingapu memiliki masalah keamanan data pada file
personal guru dan pegawai sekolah, dimana data tersebut dimanipulasi oleh pihak yang tidak memiliki hak akses sehingga data tersebut perlu diamankan.
Solusi masalah tersebut adalah metode translucent database. Metode
translucent database adalah metode khusus untuk mengamankan data personal
[1][2]. Translucent database dapat menyandikan data asli pegawai, dan pihak yang masuk sistem secara ilegal tidak dapat mengetahui data aslinya. Data asli hanya terlihat jika administrator sistem yang membuka kunci pengaman data pegawai.
Berkaitan dengan masalah yang ada maka dilakukan penelitian berjudul “Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai Sekolah (Studi Kasus: SMA Kristen Payeti Waingapu)”.
2. Tinjauan Pustaka
Pada penelitian berjudul “Translucent databases: A Precursor to Privacy
Sensitive Databases”, dibahas tentang penerapan translucent database untuk
mengamankan data personal pada beberapa kasus. Contoh kasus yang pertama adalah translucent database pada data personal objek penelitian kanker. Konsep metode translucent database yang diterapkan adalah menggunakan fitur enkripsi satu arah untuk mengamankan data personal. Enkripsi menggunakan algoritma kriptografi
MD
5. Peneliti terdahulu memberikan pengaman pada saat data akan disimpan dalam
database data personal objek penelitian, sehingga ketika data sudah berada dalam
database , maka kondisi data sudah dalam keadaan terenkripsi [3].Penelitian tentang translucent database yang lain adalah “Perancangan dan Implementasi Translucent database Menggunakan Algoritma Kriptografi AES dan
Vigenere pada Data Personal Pegawai Sekolah (Studi Kasus: SMA Sedes Sapientiae
Semarang)”. Tujuan penelitian tersebut adalah untuk mengamankan data personal yang tersimpan di database, sehingga terhindar dari penyalahgunaan/pencurian informasi. Pada penelitian tersebut diterapkan dua algoritma kriptografi untuk pengamanan data personal pegawai sekolah. Algoritma tersebut adalah AES dan Vigenere. Algoritma AES digunakan untuk menyandikan data otentikasi guru dan pegawai. Algoritma Vigenere digunakan untuk menyandikan data personal pegawai dan guru. Hasil dari penelitian tersebut adalah sebuah aplikasi translucent database untuk data pegawai SMA Sedes Sapientiae, yang dapat digunakan untuk meningkatkan keamanan penyimpanan data pegawai sekolah [4].
Pada penelitian "Implementation of RC5 and RC6 Block Ciphers on Digital
Images" , Mohamed menggunakan RC5 dan RC6 untuk menyandikan citra digital.
Penelitian tersebut dipelajari efisiensi dari algoritma RC5 dan RC6, yang diaplikasikan pada citra digital. Hasil analisis keamanan menunjukkan bahwa RC6 lebih aman dari pada RC5 [5].Berdasarkan penelitian–penelitian terkait translucent database dan algoritma RC6 maka dilakukan penelitian yang membahas tentang metode translucent
database untuk menyimpan data personal menggunakan algoritma kriptografi RC6
pada data personal pegawai sekolah, dengan mengambil studi kasus pada SMA Kristen Payeti Waingapu. Ketika data akan disimpan, data tersebut dienkripsi terlebih dahulu sehingga data yang masuk ke dalam database merupakan data yang telah dienkripsi. Hal ini bertujuan untuk memberikan kerangka ide bagi penelitian
translucent database selanjutnya dan memberikan software bagi SMA Kristen Payeti
Waingapu yang dapat membantu menyelesaikan masalah keamanan dalam hal penyimpanan database pegawai.
Penelitian yang dilakukan membahas tentang penerapan translucent
database . Translucent database adalah sebuah metode pengamanan database.
Pengamanan database sering dilakukan untuk database yang berkaitan dengan data personal seseorang, atau sekelompok orang [2]. Peter Wayner dalam bukunya yang berjudul Translucent databases Lite: Confusion, Misdirection, Randomness, Sharing,
Authentication And Steganography To Defend Privacy , menjelaskan bahwa istilah
translucent database memiliki arti bahwa sebagian "cahaya" atau informasi
dibiarkan untuk dapat dilihat namun tetap menyediakan lapisan keamanan.
Translucent database tidak mendefinisikan sebuah cara tertentu, namun merupakan
visi dan tujuan, yang masing-masing bagian di dalamnya dapat berdiri sendiri atau gabungan beberapa di antaranya [6]. Beberapa hal yang merupakan bagian dari visi tersebut adalah [6]: (1) Encryption. Translucent database mengamankan data dengan
one-way functions dan enkripsi, (2) Ignorance. Dalam banyak kasus, data disandikan
oleh komputer user, sebelum akhirnya dilewatkan pada jaringan, menuju server
database . Sehingga translucent database tidak pernah melihat informasi sebenarnya
yang disembunyikan, (3) Minimization. Translucent database menyamarkan informasi dengan cara menyimpan seminimal mungkin data yang diperlukan. Sebagai contoh jika kodepos sudah cukup memenuhi kebutuhan, maka tidak perlu menyimpan keseluruhan alamat, (4) Misdirection . Translucent database menambahkan data palsu dan mencampurnya dengan data asli. Hanya pengguna yang sah yang dapat membedakan data asli dari data palsu, (5) Stunt data.
Translucent database dapat mengganti data dengan cipher data hasil enkripsi, (6)
Equivalence . Translucent database dapat menyamarkan informasi yang sensitif
dengan menggantikannya dengan nilai yang mirip secara fungsional. Sebagai contoh, data tinggi badan seseorang yang berupa angka, dapat diganti dengan nilai seperti "tinggi", "rata-rata", atau "pendek", dan (7) Quantization. Fitur kuantisasi ini digunakan untuk data angka. Penggunaan fitur ini ditunjukkan dengan adanya penyamaran nilai atau pembulatan nilai, misalnya untuk data titik koordinat. Ketujuh fitur tersebut bukan merupakan definisi yang secara keseluruhan harus dipenuhi oleh
translucent database , dengan kata lain, penggunaan salah satu fitur atau
penggabungan fitur tersebut sudah dapat dikategorikan sebagai translucent database [6].
Translucent database ketika diterapkan dalam sebuah database memiliki
beberapa keuntungan. Keuntungan translucent database antara lain [2]: (1) Lebih aman. Translucent database dapat membuat sistem menjadi lebih aman. Bahkan jika penyusup dapat lolos dalam lapisan keamanan password, data personal tetap tidak bisa dicuri, karena pengamanan langsung diberikan pada data sasaran. Bentuk pengamanannya antara lain dapat mengacak data, mengganti data asli dengan data yang disandikan, atau bisa juga menampilkan data dalam sesuatu yang khusus, seperti pengkategorian kelompok data, (2) Lebih privasi. Translucent database banyak berguna bagi organisasi, karena anggota organisasi data personalnya jadi lebih privasi. Hal ini karena hanya si pemilik data saja yang dapat mengakses data.
Translucent database dapat mengurangi adanya penyalahgunaan privasi seseorang
atau sekelompok orang, (3) Bebas. Translucent database dapat mengurangi jumlah data yang terlihat dalam sebuah informasi. Penyamaran data personal dapat mengurangi rasa ingin tahu orang lain, misalnya dalam sistem informasi pelayanan pos hanya menampilkan data nama pelanggan, dan kode pos yang berkaitan, sedangkan untuk data yang lain diberi pengamanan khusus. Jika ada sebuah penyajian informasi yang memakai translucent database, dapat membebaskan data tersebut dari rasa ingin tahu orang lain, (4) Cepat. Translucent database yang diimplementasikan dalam sebuah sistem tidak mengurangi kecepatan kinerjanya. Penerapan translucent database dapat memperingan dan mempercepat upaya pengamanan data dalam sistem. Fitur-fitur yang dimiliki oleh translucent database dapat digabungkan satu sama lain, untuk dapat meminimalkan terjadinya hambatan karena adanya sebuah pengamanan pada system, dan (5) Fleksibel. Translucent
database dapat memberikan fleksibilitas pada sistem. Pengamanan data yang
dirancang dapat disesuaikan kebutuhan pemilik dan pengguna sistem. Pengamanan dapat diberikan pada saat data akan disimpan dalam database. Pengamanan juga dapat diberikan pada saat data sudah banyak tersimpan, sehingga menggunakan sebuah sistem tambahan yang berfungsi sebagai pengaman data.
Pada penelitian ini digunakan algoritma RC6 sebagai algoritma untuk proses enkripsi dan dekripsi data. Algoritma RC6 [7] adalah versi yang dilengkapi dengan beberapa parameter, sehingga dituliskan sebagai RC6-w/r/b, dimana parameter w merupakan ukuran kata dalam satuan bit, r adalah bilangan bulat bukan negatif yang menunjukkan banyaknya iterasi selama proses enkripsi, dan b menunjukkan ukuran kunci enkripsi dalam byte. Ketika algoritma ini masuk sebagai kandidat AES, maka ditetapkan nilai parameter w = 32, r = 20 dan b bervariasi antara 16, 24, dan 32 byte. RC6-w/r/b memecah block 128 bit menjadi 4 buah block 32 bit, dan mengikuti enam aturan operasi dasar sebagai berikut : A + B Operasi penjumlahan bilangan integer. A – B Operasi pengurangan bilangan integer. A B Operasi exclusive-OR (XOR). A x B Operasi perkalian bilangan integer. A<<<B A dirotasikan ke kiri sebanyak variabel kedua (B) A>>>B A dirotasikan ke kanan sebanyak variabel kedua (B)
RC6 memecah block 128 bit menjadi 4 buah block 32 bit, maka algoritma ini bekerja dengan 4 buah register 32-bit A, B, C, dan D. Byte yang pertama dari atau ciphertext ditempatkan pada byte A, sedangkan byte yang terakhirnya
plaintext
ditempatkan pada byte D. Dalam prosesnya akan didapatkan (A, B, C, D) = (B, C, D,
A) yang diartikan bahwa nilai yang terletak pada sisi kanan berasal dari register di sisi kiri.
Gambar 1 Diagram Proses Enkripsi RC6 [7]
Proses dekripsi ciphertext pada algoritma RC6 merupakan pembalikan dari proses enkripsi. Pada proses whitening, bila proses enkripsi menggunakan operasi penjumlahan, maka pada proses dekripsi menggunakan operasi pengurangan. Sub kunci yang digunakan pada proses whitening, setelah iterasi terakhir diterapkan sebelum iterasi pertama, begitu juga sebaliknya sub kunci yang diterapkan pada proses whitening, sebelum iterasi pertama digunakan pada whitening setelah iterasi terakhir. Pada proses dekripsi, hal yang harus dilakukan adalah menerapkan algoritma yang sama dengan proses enkripsi, dengan tiap iterasi menggunakan sub kunci yang sama dengan yang digunakan pada saat enkripsi, hanya saja urutan sub kunci yang digunakan terbalik.
Gambar 2 Diagram Proses Dekripsi RC6 [7]
RC6 jika dibandingkan dengan Rijndael dalam hal keceptan enkripsi sedikit lebih lambat tetapi dalam hal ini tidak menggangu hasil penelitian yang dibangun.
3. Metode dan Perancangan Sistem
Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi dalam empat tahapan, yaitu: (1) Identifikasi masalah dan studi literatur, (2) Perancangan sistem, (3) Implementasi sistem, dan (4) Pengujian sistem dan analisis hasil pengujian.
Identifikasi Masalah dan Studi Literatur Perancangan Sistem meliputi Perekayasaan Perangkat Lunak, Perancangan Basis data dan Perancangan Antarmuka Sistem Implementasi Sistem Pengujian Sistem dan Analisis Hasil Pengujian
Gambar 3 Tahapan Penelitian
Tahapan penelitian pada Gambar 3, dapat dijelaskan sebagai berikut. Tahap
pertama : identifikasi masalah, yaitu mengidentifikasi masalah-masalah yang akan
dibahas, serta mendapatkan data dan literatur yang terkait dengan metode translucent
database dan kriptografi RC6 untuk proses pengamanan data personal pegawai dan
guru, dan memberikan pengamanan dalam lapisan aplikasi, sehingga hanya guru dan pegawai yang mengetahui password saja yang dapat mengakses data personal pegawai; Tahap kedua: perancangan sistem yang meliputi perekayasaan perangkat lunak menggunakan sebuah bahasa pemodelan sistem, yaitu UML (Unified Modeling
Language ), perancangan basis data yang meliputi tabel data autentikasi dan tabel
data pegawai dan perancangan antarmuka sistem, dalam sistem yang akan dibangun;
Tahap ketiga : implementasi sistem, yaitu membuat aplikasi sesuai perancangan
proses pada tahap kedua; dan Tahap keempat: pengujian sistem dan analisis hasil pengujian, yaitu dilakukan pengujian terhadap aplikasi penyimpan data yang digunakan untuk tempat pegawai menyimpan data personal, dan aplikasi pengaman data, serta melihat hasil yang diberikan apakah sudah sesuai dengan konsep translucent database menggunakan kriptografi RC6.
Berdasarkan analisis kebutuhan sistem yang didapat, maka dalam penelitian ini dilakukan implementasi translucent database pada sistem database pegawai sekolah. Fitur dari metode translucent database yang digunakan adalah fitur encryption , ignorence dan stunt data.
Proses utama dalam sistem yaitu pada saat pegawai melakukan registrasi untuk mendaftarkan data personalnya ke dalam database. Proses ini digambarkan dalam bentuk flowchart pada Gambar 4.
Gambar 4 Skema Proses Penyimpanan Data Personal Pegawai
Gambar 4 menunjukkan proses penyimpanan data personal pegawai yang dimulai dengan pegawai melakukan registrasi dengan memasukkan NIK dan
password untuk pengamanan data pada saat login pegawai. NIK dan password secara
otomatis akan masuk ke dalam database. Password yang masuk ke dalam database berupa data enkripsi karena telah dienkripsi tanpa sepengetahuan admin dan pemilik
password tersebut. Setelah selesai mengisi NIK dan password, pegawai mengisi data
dirinya kemudian disimpan tetapi sebelum disimpan pengguna harus terlebih dahulu mengenkripsi data tersebut agar data yang disimpan di dalam database terenkripsi. Enkripsi tersebut menggunakan algoritma RC6. Kemudian keluar untuk mengakhirinya.
Perancangan proses pada sistem yang dibangun menggunakan diagram UML, yaitu Use-Case Diagram, Activity Diagram dan Class Diagram. Use case diagram digunakan untuk menjelaskan fungsi-fungsi yang bersentuhan langsung dengan pengguna. fungsi kepala sekolah
fungsi admin fungsi pegawai
user admin pegawai login kepala sekolah manage database melihat semua data personalregistrasi edit data personal
pegawaiGambar 5 Use Case Diagram Sistem
Gambar 5 menunjukkan use case diagram sistem, dijelaskan sebagai berikut.Terdapat tiga aktor yang menggunakan sistem. Aktor pertama yaitu pegawai yang memiliki hak akses melakukan registrasi dan mengedit data personal miliknya. Aktor kedua yaitu admin yang bertugas untuk memanage database. Aktor ketiga yaitu kepala sekolah yang bertanggung jawab atas semua data personal pegawai sekolah dan memiliki hak akses untuk melihat semua data personal pegawai sekolah tersebut.
Gambar 6 Activity Diagram Pencatatan Data Pribadi Guru dan Pegawai
Gambar 6 menunjukkan activity diagram sistem untuk proses pencatatan data pribadi guru dan pegawai. Proses dimulai oleh administrasi, dengan melakukan pendataan data login tiap-tiap guru dan pegawai sekolah. Kemudian dengan menggunakan data login, masing-masing guru dan pegawai memasukkan data pribadinya. Tiap guru dan pegawai dapat melakukan perubahan terhadap data yang dimilikinya. Administrator dapat melakukan proses cetak data guru dan pegawai.
Gambar 7 Class Diagram Sistem
Gambar 7 merupakan rancangan class diagram, yang menjadi dasar dari desain database pada sistem. Class Pribadi merupakan representasi dari data pribadi guru dan pegawai. Class ini sekaligus representasi dari tabel pribadi. Tabel tersebut merupakan satu dari dua tabel yang terenkripsi. Tabel terenkripsi yang kedua adalah tabel PegawaiLogin, yang diwakili oleh class PegawaiLogin pada desain class
diagram . User menggunakan informasi dari tabel Pegawai melalui antarmuka
PribadiUI, kemudian dijembatani oleh PegawaiController. Demikian pula antara antarmuka PegawaiLoginUI dijembatani oleh PegawaiLoginController untuk berkomunikasi dengan class PegawaiLogin.
4. Hasil dan Pembahasan
Hasil implementasi sistem berdasarkan rancangan sistem dijelaskan sebagai berikut. Fitur dari metode translucent database yang digunakan adalah fitur
encryption , ignorence dan stunt data. Penggunaan fitur dijelaskan sebagai berikut:
(1) Fitur Encryption. Sistem menggunakan algoritma kriptografi RC6 untuk menyandikan informasi yang tersimpan pada tabel di database. Terdapat dua proses enkripsi untuk dua tabel. Tabel login pegawai berisi informasi NIK dan password tiap pegawai. Isi pada tabel tersebut dienkripsi dengan menggunakan kunci utama (master key). Kunci tersebut tersimpan di dalam aplikasi. Tabel kedua adalah tabel pribadi pegawai yang berisi informasi data pribadi masing-masing pegawai. Isi dari tabel tersebut dienkripsi dengan menggunakan password pegawai, yang tersimpan di dalam tabel login pegawai; (2) Fitur Ignorance. Fitur ignorance yang memiliki arti bahwa sistem database tidak peduli apakah data yang disimpan berupa data plain atau data cipher. Hal ini dicapai dengan cara melakukan proses enkripsi dan dekripsi pada bagian aplikasi, dan bukan pada bagian database, dengan kata lain, data dienkripsi oleh aplikasi sebelum dikirimkan ke sistem database. Demikian pula ketika akan digunakan, data diperoleh dari sistem database, kemudian didekripsi oleh aplikasi. Sistem database tidak perlu mengetahui (ignore) cara ataupun format dari data yang disimpannya; dan (3) Fitur Stunt Data. Fitur ini merupakan implikasi dari fitur encryption. Fitur stunt data berarti mengganti informasi dalam tabel, dengan data cipher hasil enkripsi. Fitur minimization tidak dapat digunakan, karena data yang disimpan harus detail, contohnya adalah alamat. Fitur misdirection tidak dapat digunakan karena selain pengguna yang sah, administrator juga berhak dan perlu untuk melihat data asli. Fitur equivalence dan quantization tidak digunakan karena data yang disimpan bukan merupakan data angka dengan rentang nilai, seperti contohnya adalah data tinggi badan, berat badan, dan koordinat
Gambar 8 Form Login Gambar 8 merupakan antarmuka form login dimana pegawai harus terlebih dulu melakukan registrasi untuk mengisi data personal pribadinya dengan cara memasukkan NIK / KTP dan password.
Gambar 9 Form Data Pribadi Pegawai Sebelum Enkripsi
Gambar 9 merupakan antarmuka form data pribadi pegawai sebelum dan Gambar 10 sesudah proses enkripsi. Setelah berhasil melakukan registrasi maka akan muncul form data pribadi pegawai yang kemudian pegawai tersebut mengisi data pribadi dirinya. Sebelum disimpan ke dalam database pegawai harus mengenkripsi data pribadi dirinya dengan cara mencentang tanda encrypt data, jika tanda tersebut tidak dicentang maka data tidak dapat disimpan.
Gambar 10 Form Data Pribadi Pegawai Sesudah Proses Enkripsi
Fitur Encryption ditunjukkan pada Kode Program 1. Enkripsi dan dekripsi dilakukan dengan menggunakan algoritma RC6.Kode Program 1 Perintah Untuk Proses Enkripsi dan Dekripsi Menggunakan RC6 1. public static byte[] Encrypt(byte[] v, byte[] k) 2. { 3. byte[] kfull = new byte[16];
4. Array.Copy(k, 0, kfull, 0, k.Length 5. < kfull.Length ? k.Length : kfull.Length); 6. byte[] plain = AddPadding(v); 7.
8. RC6 e = new RC6(kfull, true); 9. byte[] buffer = new byte[plain.Length]; 10. for (int i = 0; i < plain.Length; i += BlockSize) 11. { 12. e.Transform(plain, i, buffer, i); 13. } 14. return buffer; 15. }
16. 17. public static byte[] Decrypt(byte[] v, byte[] k) 18. { 19. byte[] kfull = new byte[16];
20. Array.Copy(k, 0, kfull, 0, k.Length 21. < kfull.Length ? k.Length : kfull.Length);
22. RC6 d = new RC6(kfull, false); 23. byte[] buffer = new byte[v.Length]; 24. for (int i = 0; i < v.Length; i += BlockSize) 25. { 26. d.Transform(v, i, buffer, i); 27. } 28. return RemovePadding(buffer); 29. }
Kode Program 1 menunjukkan perintah untuk dua fungsi kriptografi, yaitu proses enkripsi dan dekripsi. Algoritma RC6 merupakan block cipher, sehingga data perlu dikelompokkan ke dalam blok-blok dengan ukuran 16 byte (baris 3). Data yang berjumlah kurang dari 16 byte, dilakukan proses padding (baris 6) untuk tiap blok, baru kemudian dilakukan proses enkripsi (baris 10-13) ataupun dekripsi (baris 24- 27).
Fitur Ignorance pada sistem ditunjukkan pada Kode Program 2. Fitur
Ignorance pada aplikasi ini berada pada bagian aplikasi, yang berarti aplikasi
bertugas menyandikan data sebelum diteruskan ke sistem database untuk disimpan.Kode Program 2 Perintah untuk Proses Enkripsi Data Sebelum Disimpan ke Database 1. internal static void Insert(PegawaiLogin p) 2. {
3. PegawaiLogin cipher = p.Encrypt(); 4. using (MySqlConnection conn = new MySqlConnection(Connection.Koneksi)) 5. { 6. conn.Open(); 7. var command = conn.CreateCommand(); 8. command.Connection = conn; 9. command.CommandText = 10. "INSERT INTO pegawai_login VALUES (@nik, @pwd, @level)"; 11. command.Parameters.Add( 12. "@nik", MySqlDbType.VarChar).Value = cipher.NIK; 13. command.Parameters.Add( 14. "@pwd", MySqlDbType.VarChar).Value = cipher.Password; 15. command.Parameters.Add( 16. "@level", MySqlDbType.VarChar).Value = cipher.Level; 17. command.ExecuteNonQuery(); 18. } 19. } 20. 21. internal PegawaiLogin Encrypt() 22. {
23. PegawaiLogin p = new PegawaiLogin(); 24. p.NIK = this.NIK; 25. p.Password = RC6Wrapper.EncryptString( 26. this.Password, MasterKey.KEY); 27. p.Level = RC6Wrapper.EncryptString( 28. this.Level, MasterKey.KEY); 29. return p; 30. }
Kode Program 2 menunjukkan perintah untuk enkripsi data sebelum disimpan ke database, yaitu perintah enkripsi untuk tabel PegawaiLogin. Sebelum disimpan, data dienkripsi dengan menggunakan master key (perintah pada baris 21-29). Kemudian hasil enkripsi disimpan ke dalam tabel pegawai_login (perintah pada baris 4-17).
Fitur Stunt Data dapat ditunjukkan pada tabel di database, yaitu berupa
ciphertext yang tersimpan pada tabel pribadi maupun pegawai_login. Pada Gambar
11 ditunjukkan stunt data pada tabel pribadi dengan pengecualian yaitu nomor induk karyawan (NIK) karena merupakan primary key untuk tabel pribadi.
Gambar 11 Hasil Penggunaan Fitur Stunt Data
Pengujian sistem dilakukan untuk menguji fungsi-fungsi aplikasi hasil implementasi. Pengujian ini dilakukan untuk mengkaji fitur translucent database yang digunakan. Ada tiga fitur yang digunakan dari tujuh fitur translucent database yang ada. Fitur yang digunakan yaitu fitur encryption, ignorance, dan stunt data merupakan translucent database. Pengujian fitur dilakukan oleh pengembang aplikasi. Selain pengujian fitur translucent database, juga dilakukan pengujian responden yang dilakukan oleh user.
Tabel 1 Hasil Pengujian Pengembang Aplikasi No Fitur Translucent Database
Hasil Pengujian Kesimpulan
1 Encryption Fitur encryption ditunjukkan
dengan adanya algoritma RC6,
yang menyandikan data pribadi
pegawai dan data login pegawai.
(Kode Program 1) Berhasil2 Ignorance Proses enkripsi dan dekripsi
dilakukan pada sisi aplikasi. Data
yang dilewatkan di antara aplikasi
dan sistem database merupakan
data cipher. (Kode Program 2) Berhasil3 Stunt Data Data yang disimpan di dalam
tabel pribadi pegawai dan data
login pegawai merupakan data
cipher .(Gambar 11 Berhasil
Pengujian pada user, yang dilakukan oleh pegawai, untuk mengetahui respon dari pengguna terhadap sistem yang telah dikembangkan. Hasil pengujian ditunjukkan pada Tabel 2. Responden berjumlah 3 orang terdiri dari seorang guru komputer, pegawai sekolah yang merupakan seorang admin, dan kepala sekolah.
Tabel 2 Hasil Pengujian Responden
No Materi Pengujian Hasil Pengujian1 Kemudahan penggunaan aplikasi.
3 Responden menyatakan bahwa aplikasi SANGAT MUDAH digunakan karena susunannya mirip dengan FORMULIR DATA GURU DAN PENGAWAS JENJANG
PENDIDIKAN MENENGAH.
2 Kejelasan informasi yang
3 Responden menyatakan bahwa informasi yang ditampilkan dalam aplikasi ditampilkan SANGAT JELAS. Istilah yang digunakan familiar.
3 Keamanan data pribadi
3 Responden menyatakan bahwa merasa SANGAT PERCAYA dengan tingkat keamanan yang disediakan oleh aplikasi.
Berdasarkan hasil pengujian 3 responden, disimpulkan bahwa aplikasi mudah digunakan, menampilkan informasi yang jelas, dan memberikan dukungan keamanan terhadap data yang disimpan.
5. Simpulan
Berdasarkan perancangan dan implementasi translucent database pada data pegawai SMA Kristen Payeti Waingapu, diperoleh kesimpulan bahwa metode
translucent database dapat digunakan untuk membuat data pegawai sekolah
tersimpan dengan lebih aman. Penggunaan fitur translucent database pada data pegawai sekolah adalah fitur encryption, ignorance, dan stunt data. Penggunaan fitur tersebut sudah dapat dikategorikan translucent database. Hasil pengujian user menunjukkan bahwa aplikasi mudah digunakan, menampilkan informasi yang jelas, dan memberikan dukungan keamanan terhadap data yang disimpan. Saran yang dapat diberikan untuk penelitian dan pengembangan lebih lanjut adalah: (1) Fitur
Misdirection dapat diimplementasikan sebagai tambahan keamanan. Fitur ini akan
memberikan kendali keamanan kepada pemilik data secara penuh. Keuntungan yang juga merupakan kelemahaan yaitu hanya pemilik data yang mengetahui data sebenarnya. Kelemahan yang lain adalah tabel akan menjadi lebih besar daripada seharusnya, karena menyimpan data-data palsu yang digunakan untuk mengecoh (misdirect) pihak yang tidak memiliki hak akses.
6. Daftar Pustaka
[1]. Wayner, P. 2009. Disappearing cryptography: Information hiding:
Steganography & watermarking . 3rd edn. Burlington: Morgan Kaufmann.
[2]. Wayner, P. 2009. Translucent databases 2nd Edition: Confusion,
misdirection, randomness, sharing, authentication and steganography to
defend privacy . CreateSpace.[3]. Bhattacharya, P. & Karyar, M. 2004. Translucent databases: A Precursor to
Privacy Sensitive Databases . CSCI E170- Security, Privacy, and Usability,
Fall [4]. Simanungkalit, A. V. H., Pakereng, M. A. I. & Beeh, Y. R. 2010.
Perancangan dan Implementasi Translucent database menggunakan
Algoritma Kriptografi AES dan Vigenere pada Data Personal Pegawai
Sekolah (Studi Kasus : SMA Sedes Sapientiae Semarang) . Skripsi. Fakultas
Teknologi Informasi Universitas Kristen Satya Wacana [5]. Mohamed, A. B., Zaibi, G. & Kachouri, A. 2011. Implementation of RC5 and
RC6 block ciphers on digital images . In Systems, Signals and Devices (SSD), 2011 8th International Multi-Conference on, pp. 1–6.
[6]. Wayner, P. 2009. Translucent databases Lite: Confusion, misdirection, randomness, sharing, authentication and steganography to defend privacy .
CreateSpace. [7]. Rivest, R., Robshaw, M. J. B., Sidney, R. & Yin, Y. L. 1998. The RC6 Block Cipher . in First Advanced Encryption.