Institutional Repository | Satya Wacana Christian University: Perancangan dan Implementasi Translucent Database Menggunakan Kombinasi Algoritma Vernam Cipher dan Pseudorandom Number Generator pada Data Transaksi Barang

  

Perancangan dan Implementasi Translucent Database

Menggunakan Kombinasi Algoritma Vernam Cipher dan Pseudorandom

Number Generator pada Data Transaksi Barang

  

Artikel Ilmiah

Peneliti:

  

Venrico Rusdian Purnama (672008235)

Magdalena A. Ineke Pakereng, M.Kom.

  

Dian W. Chandra, S.Kom., M.Cs.

  

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

  

Mei 2015

Perancangan dan Implementasi Translucent Database

Menggunakan Kombinasi Algoritma Vernam Cipher dan Pseudorandom

  

Number Generator pada Data Transaksi Barang

  

Artikel Ilmiah

Diajukan kepada

Fakultas Teknologi Informasi

untuk memperoleh Gelar Sarjana Komputer

  

Peneliti :

Venrico Rusdian Purnama (672008235)

Magdalena A. Ineke Pakereng, M.Kom.

  

Dian W. Chandra, S.Kom., M.Cs.

  

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

  

Mei 2015

  

Perancangan dan Implementasi Translucent Database Menggunakan

Kombinasi Algoritma Vernam Cipher dan Pseudorandom Number

Generator pada Data Transaksi Barang

   1

   2

   3 Venrico Rusdian Purnama , Magdalena A. Ineke Pakereng , Dian W. Chandra

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

  

Jl. Diponegoro 52-60, Salatiga 50711, Indonesia

1 2 Email: venrico.rusdianpurnama@gmail.com , ineke.pakereng@staff.uksw.edu , 3

dian.chandra@staff.uksw.edu

Abstract

  Database servers often become targets of attacks and data theft. Information leakage can be

happen through physical access to a computer server, including server disk theft. When that happens,

the security protection provided by the operating system and database server software will be lost.

Translucent database can encode the contents of the database, so the only entitled party can read and

modify the information stored on the database. In this study is developed translucent database using

classical cryptographic Vernam Cipher. PRNG algorithm is used to generate the encryption key for the

Vernam Cipher with the aim of reducing the formed pattern of the key. Results from this study is a data

storage applications using translucent database to secure data stored in a database.

  Keywords: Translucent Database, Vernam Cipher, Pseudorandom Number Generator

Abstrak

  Server database seringkali menjadi target untuk penyerangan dan pencurian data. Kebocoran

informasi secara fisik berarti pencurian informasi dilakukan melalui akses fisik ke komputer server,

termasuk pencurian harddisk server. Ketika hal tersebut terjadi, perlindungan keamanan yang diberikan

oleh sistem operasi dan software database server menjadi hilang. Translucent database dapat

menyandikan isi dari database, sehingga hanya pihak yang berhak membaca dan mengubah yang dapat

mengakses informasi yang tersimpan didalamnya. Pada penelitian ini dikembangkan translucent

database dengan menggunakan algoritma kriptografi klasik Vernam Cipher. Algoritma PRNG

digunakan untuk membangkitkan kunci enkripsi bagi Vernam Cipher dengan tujuan mengurangi pola

kunci yang terbentuk. Hasil dari penelitian ini adalah sebuah aplikasi penyimpanan data transaksi yang

menggunakan translucent database untuk mengamankan data yang tersimpan di database. 1) Kata Kunci: Translucent Database, Vernam Cipher, Pseudorandom Number Generator 2) 3) Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana

  Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana

  1. Pendahuluan

  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].

  Server yang menjadi sentral dari penyimpanan data ini memiliki tanggung jawab yang

  besar untuk mengamankan data didalamnya. Karena menjadi pusat data, maka server database sering kali menjadi target untuk penyerangan dan pencurian data [1]. Ancaman keamanan data dikategorikan ke beberapa jenis. Kebocoran (leakage), merupakan jenis ancaman yang merupakan akses ilegal terhadap informasi yang ada di jaringan. Pengubahan (tampering), merupakan jenis ancaman yang berarti mengubah informasi tanpa ijin dari menyedia informasi. Pengerusakan (vandalism), adalah jenis ancaman yang merusak kondisi normal suatu jaringan,

  Kebocoran informasi dapat terjadi secara logic maupun fisik. Logic berarti pencurian informasi dilakukan melalui jaringan komputer. Fisik berarti pencurian informasi dilakukan melalui akses fisik ke komputer server, termasuk pencurian harddisk server. Ketika hal tersebut terjadi, perlindungan keamanan yang diberikan oleh sistem operasi dan software

  

database server menjadi hilang. Data yang tersimpan terpusat, memiliki resiko pencurian

informasi, terutama informasi transaksi.

  Berkaitan dengan masalah yang ada maka dilakukan penelitian berjudul “Perancangan dan Implementasi Translucent Database Menggunakan Kombinasi Algoritma Vernam Cipher dan Pseudorandom Number Generator pada Data Transaksi Barang. Translucent database adalah metode khusus untuk mengamankan data personal [1][2]. Penelitian ini merupakan riset yang bertujuan untuk mengaplikasikan fitur translucent pada aplikasi sistem informasi yang menggunakan database. Translucent database dapat menyandikan isi dari database, sehingga hanya pihak yang berhak membaca dan mengubah yang dapat mengakses informasi yang tersimpan didalamnya.

  Metode Translucent database juga harus menggunakan algoritma yang cocok sehingga data dapat tersandikan dengan baik dan menjadikannya lebih aman untuk disimpan.

  

Translucent database dapat diimplementasikan dengan menggunakan algoritma kriptografi

  klasik seperti Vernam Cipher. Algoritma Pseudorandom Number Generator digunakan untuk membangkitkan kunci enkripsi bagi Vernam Cipher dengan tujuan mengurangi pola kunci yang terbentuk sehingga lebih aman.

  2. Tinjauan Pustaka

  Pada penelitian Bhattacharya 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. 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 penelitian yang dilakukan oleh Simanungkalit. 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 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].

  Bhattacharya, fitur translucent yang digunakan adalah fitur encryption, tidak dijelaskan apakah fitur encryption tersebut dilakukan pada sisi aplikasi (ignorance) atau sisi database. Sehingga dapat dipastikan, pada penelitian tersebut hanya menggunakan dua fitur, yaitu

  

encryption dan stunt data. Pada penelitian Simanungkalit, sama dengan Bhattacharya,

  menggunakan fitur encryption dan stunt data. Simanungkalit melakuakan enkripsi pada sisi aplikasi, sehingga memenuhui fitur ignorance. Perbedaan penelitian ini terhadap dua penelitian sebelumnya adalah pada penggunakan algoritma enkripsi yang dipilih, yaitu Vernam Cipher dan PRNG. Perbedaan yang lain adalah fitur translucent yang digunakan selain encryption,

  stunt data, dan ignorance, adalah quantization dan minimization.

  dengan translucent database, maka dilakukan penelitian yang bertujuan untuk merancang dan mengimplementasikan translucent data dengan menggunakan kombinasi algoritma Vernam

  Cipher dan Pseudorandom Number Generator.

  Batasan masalah dalam penelitian ini adalah sebagai berikut: (1) Data yang disandikan adalah data transaksi penjualan. Data tersebut penting karena terdapat data keuangan perusahaan; (2) Algoritma yang digunakan adalah Vernam Cipher, dengan kunci yang digunakan adalah hasil dibangkitkan dengan algoritma Pseudorandom Number Generator. Algoritma-algoritma tersebut dipilih karena mudah diimplementasikan dan tidak memberikan beban komputasi belebihan ketika proses penyimpanan data maupun pembacaan data dari dan ke database; (3) Fitur translucent database yang digunakan adalah encryption, ignorance,

  

minimization , stunt data, dan quantization; (4) Fitur encryption dilakukan dengan

  menggunakan algoritma Vernam Cipher; (5) Fitur ignorance dilakukan dengan cara melakukan proses enkripsi di sisi client application. Fitur ini sesuai dengan salah satu kaidah translucent

  

database , yaitu database tidak peduli bentuk data yang disimpan, baik itu plain text atau cipher

text ; (6) Stunt data dilakukan dengan menggunakan algoritma Vernam Cipher; (7)

Quantization dilakukan dengan cara mencatat data waktu transaksi seperlunya saja, hingga

sampai detail jam (menit dan detik diabaikan).

  Vernam Cipher diciptakan oleh Mayor J. Maugborne dan G. Vernam pada tahun 1917.

  Metode tersebut juga dikenal dengan nama One Time Pad (OTP). Vernam Cipher merupakan algoritma berjenis kriptografi simetris. Pada proses enkripsi, plain text diubah ke dalam kode ASCII dan kemudian dikenakan operasi XOR terhadap kunci yang sudah diubah ke dalam kode ASCII. Pada proses dekripsi, cipher text diubah ke dalam kode ASCII, kemudian dikenakan operasi XOR terhadap kunci yang sudah diubah ke dalam kode ASCII juga. Contoh enkripsi

  

Vernam Cipher , dengan pesan "HELLO", dan kunci enkripsi yang digunakan adalah

"XMCKL".

  

Tabel 1 Contoh Enkripsi Vernam Cipher

Pesan Pesan ASCII Kunci Kunci ASCII Hasil XOR ASCII

  DEC HEX DEC HEX DEC HEX H

  72

  48 X

  88

  58

  16

  10 E

  69

  45 M

  77

  4D

  8

  8 L

  76

  4C C

  67

  43

  15 F L

  76

  4C K

  75

  4B

  7

  7 O

  79

  4F L

  76

  4C

  3

  3 Perlu diperhatikan, pada Tabel 1, hasil enkripsi dalam angka ASCII mewakili karakter yang tidak bisa dicetak/ditampilkan (non-printable character), sebagai contoh kode ASCII 8 mewakili karakter "Backspace" dan kode ASCII 7 mewakili perintah "Bell" [5]. Kedua proses tersebut memiliki langkah yang sama, perbedaan hanya pada input dan output saja.

  Vernam Cipher dipilih karena beberapa alasan. Vernam Cipher merupakan stream

cipher , sehingga memiliki jaminan bahwa panjang byte plaintext sama dengan panjang

ciphertext . Vernam Cipher bekerja dengan cara yang sederhana, yaitu dengan menggunakan

  operator XOR, sehingga waktu proses enkripsi dan dekripsi menjadi cepat. Jika digunakan dengan tepat, yaitu menggunakan kunci yang berbeda-beda atau acak, Vernam Cipher tidak akan bisa dipatahkan.

  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

  

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 lappisan keamanan. Translucent database merupakan suatu visi dan tujuan, daripada sebuah predikat yang terdefinisi dengan baik [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"; (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]. Pada penelitian ini digunakan gabungan lima dari tujuh fitur tersebut, untuk diimplementasikan pada

  

translucent database , yaitu encryption, ignorance, minimization, stunt data, dan quantization.

  Translucent database ketika diterapkan dalam sebuah database memiliki beberapa

  keuntungan. Keuntungan translucent database antara lain [2]: (1) Lebih aman. Translucent dapat membuat sistem menjadi lebih aman. Bahkan jika penyusup dapat lolos dalam

  database

  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 banyak berguna bagi organisasi, karena anggota organisasi data personalnya jadi

  database

  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; 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 sistem; (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

  Pseudorandom Number Generator (PNRG) adalah sebuah algoritma yang

  membangkitkan sebuah deret bilangan yang tidak benar-benar acak. Keluaran dari pembangkit bilangan acak semu hanya mendekati beberapa dari sifat-sifat yang dimiliki bilangan acak. Walaupun bilangan yang benar-benar acak hanya dapat dibangkitkan oleh perangkat keras pembangkit bilangan acak, bukannya oleh perangkat lunak komputer, akan tetapi bilangan acak semu banyak digunakan dalam beberapa hal seperti simulasi dalam ilmu fisika, matematika, biologi dan sebagainya, dan juga merupakan hal yang sangat penting dalam dunia kriptografi. Beberapa algoritma enkripsi baik yang simetris maupun asimetris memerlukan bilangan acak sebagai parameter masukannya seperti parameter kunci pada algoritma kunci publik dan pembangkitan initialization vector (IV) pada algoritma kunci simetri. Walaupun terlihat sederhana untuk mendapatkan bilangan acak, tetapi diperlukan analisis matematika yang teliti untuk membangkitkan bilangan seacak mungkin. Salah satu metodenya adalah linear

  

congruential generator atau LCG [7]. Linear Congruential Generator merupakan pembangkit

  bilangan acak yang sederhana, mudah dimengerti teorinya, dan juga mudah untuk diimplementasikan. LCG didefinisikan dalam relasi berulang berikut:

  n n

  X = (aX + c) mod m

  • –1

  Dimana : Xn = bilangan acak ke-n dari deretnya Xn-1 = bilangan acak sebelumnya a = faktor pengali c = increment m = modulus X0 adalah kunci pembangkit atau disebut juga umpan (seed). LCG mempunyai periode tidak lebih besar dari m, dan pada kebanyakan kasus periodenya kurang dari itu. LCG mempunyai periode penuh (m

  • – 1) jika memenuhi syarat berikut: c relatif prima terhadap m. a
  • – 1 dapat dibagi dengan semua faktor prima dari m a
  • – 1 adalah kelipatan 4 jika m adalah kelipatan 4 m > maks (a, c, X0) a > 0, c > 0
Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi dalam empat tahapan, yaitu: (1) Analisis kebutuhan dan pengumpulan data, (2) Perancangan sistem, (3) Implementasi sistem yaitu Perancangan aplikasi/program, dan (4) Pengujian sistem serta analisis hasil pengujian.

  

Gambar 1 Tahapan Penelitian

  Tahapan penelitian pada Gambar 1, dapat dijelaskan sebagai berikut. Tahap pertama: yaitu melakukan analisis kebutuhan-kebutuhan user dalam proses pengiriman gambar; Tahap

  

kedua: yaitu melakukan perancangan sistem yang meliputi perancangan database,

  perancangan antarmuka yakni sebagai media penghubung interaksi antara user dan sistem;

  

Tahap ketiga: yaitu mengimenplementasikan rancangan yang telah dibuat di tahap dua ke

  dalam sebuah aplikasi/program sesuai kebutuhan sistem; Tahap keempat: yaitu melakukan pengujian terhadap sistem yang telah dibuat, serta menganalisis hasil pengujian tersebut, untuk melihat apakah aplikasi yang telah dibuat sudah sesuai dengan yang diharapkan atau tidak, jika belum sesuai maka akan dilakukan perbaikan.

  Translucent database yang dikembangkan, menggunakan tujuh fitur yang telah

  disebutkan. Fitur Encryption ini digunakan pada data transaksi. Data transaksi dienkripsi dengan algoritma Vernam Cipher, dengan menggunakan kunci yang dibangkitkan oleh algoritma PRNG. Fitur encryption digunakan dengan tujuan untuk menyandikan isi data yang tersimpan pada database. Sehingga ketika file database atau harddisk yang menyimpan file

  

database dicuri, maka sekalipun file dapat dibuka/dipasang pada server database, namun isi

data tidak dapat dimengerti.

  Fitur Ignorance merupakan proses enkripsi yang dilakukan pada bagian aplikasi, bukan pada bagian database. Sehingga database hanya bertugas untuk menyimpan data saja. Fitur ini digunakan dengan tujuan untuk mempermudah tugas database, yaitu hanya menyimpan data. Semua fungsi untuk enkripsi dan dekripsi berlangsung pada sisi aplikasi. Hal ini memberikan dua keuntungan yaitu pertama, tidak tergantu pada satu produk database, sehingga dapat diganti dengan produk database yang lain jika memang diperlukan. Keuntungan kedua yaitu data yang dilewatkan melalui jaringan komputer dari komputer client menuju komputer server, merupakan data terenkripsi

  Fitur Minimization. Bekerja dengan cara menyimpan informasi pelanggan dengan data seminimal mungkin. Nama pelanggan akan digantikan dengan kode yang hanya dipahami oleh pengguna aplikasi. Fitur ini digunakan dengan tujuan untuk membatasi informasi yang disimpan dalam database, terutama ketika database berada ditangan pihak bukan pemilik.

  Fitur Stunt data, yaitu pada data transaksi, disimpan dalam bentuk cipher text. Fitur ini merupakan hasil dari fitur encryption, digunakan dengan tujuan untuk menyandikan data pada database.

  Fitur Quantization dilaakukan pada jam transaksi, dicatat dengan mengabaikan detail menit dan detik. Nilai menit dan detik dibulatkan. Sebagai contoh jam 7.29 disimpan sebagai jam 7, dan jam 7.30 keatas, disimpan sebagai jam 8. Fitur ini digunakan dengan tujuan untuk menghilangkan detail-detail yang tidak perlu, sehingga membatasi pihak lain untuk mencoba memahami data dan pola transaksi.

  Gambar 2 Proses Sistem Secara Umum Gambar 3 Penggunaan Algoritma PRNG dan Vernam Cipher pada Sistem

  Translucent

  Gambar 2 menunjukkan proses enkripsi data transaksi. Jam transaksi dibulatkan terlebih dahulu (quantization), kemudian digunakan sebagai seed untuk membentuk kunci acak dengan algoritma PRNG. Kunci acak tersebut digunakan untuk proses enkripsi dengan Vernam Cipher . Data yang dienkripsi adalah data transaksi.

  Detail secara teknis proses tersebut ditunjukkan pada Gambar 3. Input yang diperlukan adalah tanggal, kode barang, dan kode pelanggan. Kemudian berdasarkan tanggal yang dimasukkan, dibentuk nilai seed, untuk proses pembangkitan bilangan semi acak. Proses selanjutnya adalah proses enkripsi dengan Vernam Cipher, yaitu dengan melakukan operasi

  XOR tiap byte dari plaintext dengan bilangan semi acak. Bilangan semi acak dibangkitkan tiap kali proses XOR dilakukan.

  PlainText CipherText Mulai Mulai Input Input Input Key Input Key i=0 i=0 i < panjang True i < panjang True plaintext CipherText Selama Selama PlainText[i] XOR Key[i] CipherText[i] XOR Key[i] CipherText[i] = PlainText[i] = False False CipherText PlainText Output Output

Set nilai i=i+1 Set nilai i=i+1

Selesai Selesai Gambar 4 Proses Enkripsi Vernam Gambar 5 Proses Dekripsi Vernam

  Cipher Cipher

  Gambar 4 merupakan alur proses enkripsi dengan Vernam Cipher. Gambar 5 merupakan alur proses dekripsi dengan Vernam Cipher.

  Berdasarkan hasil perancangan, maka dilakukan implementasi dalam bentuk aplikasi desktop berbasis Windows. Aplikasi dikembangkan dengan menggunakan bahasa pemrograman C#, dengan pustaka .Net Framework 4.5. Perangkat pengembangan yang digunakan adalah Visual Studio Express 2012 for Windows Desktop. Gambar 6 menunjukkan halaman proses input transaksi. Enkripsi terjadi secara otomatis ketika pengguna menyimpan data transaksi.

  

Gambar 6 Tampilan Input Transaksi

  Pada Gambar 6, ditunjukkan tampilan input data transaksi, disediakan kolom-kolom berupa tanggal, barang, dsb. Detail ini dienkripsi terlebih dahulu sebelum diteruskan ke server

  database . Sehingga memenuhi visi translucent database yaitu ignorance.

  Keluaran sistem ditunjukkan pada Gambar 7 Tampilan ini merupakan ringkasan data stok yang berubah sesuai dengan transaksi yang dilakukan oleh perusahaan.

  

Gambar 7 Tampilan Detail Stok

Gambar 8 Data pada Database tanpa Translucent

  

Gambar 9 Data pada Database dengan Translucent

  Gambar 8 dan Gambar 9 merupakan tampilan perbandingan antara data tanpa fitur translucent (Gambar 8), dan dengan fitur translucent (Gambar 9).

  Kode Program 1 Perintah Enkripsi Menggunakan Vernam Cipher 1. for (int i = 0; i < data.Length; i++) 2. { 3. result[i] = (byte)(data[i] ^ rKey[i]); 4. }

  Kode Program 1 merupakan perintah yang digunakan untuk melakukan proses enkripsi dengan menggunakan algoritma Vernam Cipher. Algoritma Vernam Cipher menggunakan operasi XOR (baris 3).

  Kode Program 2 Perintah Dekripsi Menggunakan Vernam Cipher 1. for (int i = 0; i < data.Length; i++) 2. { 3. result[i] = (byte)(data[i] ^ rKey[i]); 4.

  }

  Kode Program 2 merupakan perintah yang digunakan untuk melakukan proses deskripsi dengan menggunakan algoritma Vernam Cipher.

  Kode Program 3 Perintah Pseudo Random Number Generator 1. private byte Xn, a, c, m; 2.

  3. public LCG(byte seed) 4. {

  5. Xn = seed; 6. a = 1664525; 7. c = 1013904223; 8. m = 4294967296; //2 pangkat 32 9. } 10. 11. public byte Next() 12.

  {

  13. Xn = (byte)(((a * Xn) + c) % m); 14. return Xn; 15. }

  Kode Program 3 merupakan perintah yang digunakan untuk membangkitkan bilangan- bilangan pseudonoise. Tiap bilangan merupakan hasil proses pseudorandom dengan menggunakan rumus Linear Congruential Generator (perintah pada baris 13-14). Rumus ini menggunakan tiga konstanta, yaitu a=1664525, c=1013904223 dan m=4294967296 (perintah pada baris 6-8). Pemilihan angka tersebut mengacu nilai-nilai parameter yang direkomendasikan [7]. Dan nilai awal yang digunakan disimpan dalam variabel Xn (perintah pada baris 5).

  

Gambar 10 Tabel Toko Sebagai lookup table Terpisah dari Database Utama

  Tabel Toko (Gambar 10) berisi data-data pelanggan dan supplier. Tabel ini diletakkan terpisah dengan database utama (SumberRejekiDB), dengan tujuan ketika file database utama dicuri, maka diperlukan tabel toko pada database lookup (SumberRejekiLookUp) untuk mendapatkan data lengkap dari kode toko yang dicuri tersebut. Sehingga jika database utama dicuri, data tersebut tetap tidak dapat dimengerti, karena semua data informasi toko yang lengkap berada di database lookup.

  Pengujian sistem dilakukan dengan menguji apakah sistem telah memenuhi lima visi

translucent database yaitu encryption, ignorance, minimization, stunt data, dan quantization.

  Tabel 2 Hasil Pengujian Pengembang Aplikasi

No Fitur Translucent Hasil Pengujian Kesimpulan

Database

  1 Encryption Fitur encryption ditunjukkan Berhasil dengan adanya algoritma Vernam, yang menyandikan data pada data transaksi.

  2 Ignorance Fitur ignorance ditunjukkan Berhasil dengan proses enkripsi dan dekripsi terjadi pada sisi aplikasi, bukan pada sisi database.

  3 Stunt Data Fiture stunt data ditunjukkan Berhasil dengan data yang tersimpan dalam

bentuk cipher text.

  4 Minimization Nama pelanggan diinisialkan Berhasil dengan inisial tertentu sesuai dengan data yang ada pada lookup tabel.

  5 Quantization Jam transaksi dicatat dengan Berhasil mengabaikan detail menit dan detik. Nilai menit dan detik dibulatkan.

  Pengujian keamanan dilakukan untuk mengetahui apakah informasi yang tersimpan pada database, berhasil diamankan oleh sistem. Pengujian keamanan terbagi ke dalam 3 bagian, yaitu pengujian keamanan hasil dari proses minimization (Gambar 11), pengujian keamanan hasil dari proses quantization (Tabel 3), dan hasil dari proses encryption dengan implikasi proses ignorance dan stunt data (Tabel 5).

  Gambar 11 Hasil Pengujian Keamanan Hasil Proses Minimization Gambar 11 menunjukkan pelanggan (pembeli) disimpan dengan menggunakan kode.

  Referensi dari kode tersebut tersimpan pada tabel Toko, pada database yang terpisah (Gambar 10).

  Tabel 3 Hasil Pengujian Keamanan Hasil Proses Quantization

No Jam Transaksi Sebelum Disimpan Jam Transaksi Setelah Disimpan

1 2015-05-01 13:29:05.000 2015-05-01 13:00:00.000 2 2015-05-02 13:29:12.000 2015-05-02 13:00:00.000 3 2015-05-02 13:45:23.000 2015-05-02 14:00:00.000 4 2015-05-02 13:45:27.000 2015-05-02 14:00:00.000 5 2015-05-04 10:01:18.253 2015-05-04 10:00:00.000 6 2015-05-04 10:49:16.157 2015-05-04 11:00:00.000 7 2015-05-06 13:41:48.000 2015-05-06 14:00:00.000 8 2015-05-13 13:39:48.897 2015-05-13 14:00:00.000 9 2015-05-13 13:43:04.960 2015-05-13 13:00:00.000 10 2015-05-13 13:43:54.033 2015-05-13 13:00:00.000

  Berdasarkan hasil pengujian pada tabel 3, disimpulkan bahwa sistem berhasil menutupi sebagian informasi pada jam transaksi, yaitu menit dan detik.

  Tabel 4 Hasil Pengujian Keamanan Hasil Proses Encryption, Ignorance, dan Stunt Data No Kunci (Tanggal Transaksi setelah proses Quantization)

  Plain text Cipher text

1. 2015-05-01 14:00:00.000 BB 24mm 0xFAD3E43E1A06EF

2. 2015-05-01 14:00:00.000 BB 18mm 0xFAD3E43D1606EF

3. 2015-05-01 14:00:00.000 FM 12mm 0xFEDCE43D1C06EF

4. 2015-05-02 14:00:00.000 MDF 12mm 0x73983162907998F7

5. 2015-05-02 14:00:00.000 MDF 15mm 0x73983162907E98F7

6.

  2015-05-02 14:00:00.000 MDF 2,7mm 0x739831629367C2F7FB 7.

  2015-05-13 14:00:00.000 MDF 2,7mm 0x04369A8FBA27EDF6B8

  Berdasarkan hasil pengujian pada tabel 4, disimpulkan bahwa sistem berhasil menyimpan data dalam bentuk cipher text. Pada contoh data nomor 6 dan 7, sekalipun data yang disandikan sama (MDF 2.7mm), namun cipher text yang dihasilkan berbeda, karena kunci yang digunakan berbeda.

  Pengujian waktu dilakukan untuk melihat efek dari implementasi translucent terhadap waktu proses (menyimpan ke database dan membaca dari database). Hasil pengujian ditunjukkan pada Tabel 5 untuk proses simpan, dan Tabel 6 untuk proses baca.

  Tabel 5 Hasil Pengujian Waktu Simpan

  No Data Kunci Tanpa Translucent (milidetik) Dengan Translucent (milidetik) Selisish (milidetik)

  Berdasarkan Tabel 5 dan Tabel 6, penambahan fitur translucent memberikan tambahan waktu proses. Besar dari waktu proses ini tentu saja bergantung pada data yang disimpan.

  [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 .

  6. Daftar Pustaka

  untuk penelitian dan pengembangan lebih lanjut adalah: (1) Dapat dilakukan analisis dan pembahasan mengenai pengaruh translucent database konsistensi data, relasi antar tabel dan performa database.

  

Translucent database yang dicapat, memenuhi 5 dari 7 fitur translucent database yaitu

encryption , ignorance, minimization, stunt data, dan quantization; Saran yang dapat diberikan

  dan Pseudorandom Number Generator pada Data Transaksi Barang; (2)

  

database dapat dirancang dan diimplementasikan dengan menggunakan kombinasi algoritma

Vernam Cipher

  Berdasarkan perancangan dan pengujian diperoleh kesimpulan yaitu: (1) Translucent

  5. Simpulan

  5. MDF 15mm 2015-05-02 14:00:00.000 1.244 2.812 1.568

  1. BB 24mm 2015-05-01 14:00:00.000 1.104 2.123 1.019

  4. MDF 12mm 2015-05-02 14:00:00.000 1.402 2.388 0.986

  3. FM 12mm 2015-05-01 14:00:00.000 1.230 2.514 1.284

  2. BB 18mm 2015-05-01 14:00:00.000 1.100 2.781 1.681

  BB 24mm 2015-05-01 14:00:00.000 1.112 2.333 1.221

  Tabel 6 Hasil Pengujian Waktu Baca No Data Kunci Tanpa Translucent (milidetik) Dengan Translucent (milidetik) Selisish (milidetik) 1.

  5. MDF 15mm 2015-05-02 14:00:00.000 1.201 2.196 0.995

  4. MDF 12mm 2015-05-02 14:00:00.000 1.112 2.190 1.078

  3. FM 12mm 2015-05-01 14:00:00.000 1.099 2.008 0.909

  2. BB 18mm 2015-05-01 14:00:00.000 1.103 2.100 0.997

  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 P egawai Sekolah (Studi Kasus : SMA Sedes Sapientiae

Semarang) . Fakultas Teknologi Informasi Universitas Kristen Satya Wacana

  [5]. Shirey, R. W. 2007. RFC 2828: Internet security glossary. The Internet Society [6]. Wayner, P. 2009. Translucent Databases Lite: Confusion, misdirection, randomness, sharing, authentication and steganography to defend privacy . CreateSpace. [7]. Singhal, V. K. 2013. Random Number Generators. Department of Mathematics, IIT

  Guwahati

Dokumen yang terkait

Institutional Repository | Satya Wacana Christian University: Analisis dan Implementasi Sistem Akademik JIBAS di SMP N 3 Pabelan: studi kasus SMP N 3 Pabelan

0 1 28

Institutional Repository | Satya Wacana Christian University: Optimasi Rendemen Lemak Algae Cyanophyta (Phormidium foveolarum) Ditinjau dari Waktu Sonikasi dan Nisbah Pelarut Ekstraksi = Lipid Yield Optimation from Cyanophyta Algae (Phormidium foveolarum)

0 0 27

TUGAS AKHIR Diajukan kepada Program Studi: Kimia, Fakultas: Sains dan Matematika guna memenuhi sebagian dari persyaratan untuk mencapai gelar Sarjana Sains (Kimia) Program Studi Kimia

0 0 19

Institutional Repository | Satya Wacana Christian University: Aktivitas Antioksidan Antosianin Buah Lobi-Lobi (Flacourtia inermis Roxb.) terhadap Kolesterol Total dalam Mencit = Antioxidant Activity of Anthocyanin of Batoko Plum Fruit (Flacourtia inermis

0 0 11

Institutional Repository | Satya Wacana Christian University: Desain Air Track Sederhana, Murah, dan Portable

0 0 19

Institutional Repository | Satya Wacana Christian University: Perancangan Sistem Informasi Kepegawaian di Badan Pertanahan Nasional di Jayapura

0 0 26

Bab 2 Tinjauan Pustaka - Institutional Repository | Satya Wacana Christian University: Perancangan Sistem Informasi Pemetaan Lokasi SPBU di Kota Semarang Berbasis Web Menggunakan Google Maps API

0 0 10

Bab 3 Metode dan Perancangan Sistem - Institutional Repository | Satya Wacana Christian University: Perancangan Sistem Informasi Pemetaan Lokasi SPBU di Kota Semarang Berbasis Web Menggunakan Google Maps API

0 1 25

Bab 4 Hasil Penelitian dan Pembahasan - Institutional Repository | Satya Wacana Christian University: Perancangan Sistem Informasi Pemetaan Lokasi SPBU di Kota Semarang Berbasis Web Menggunakan Google Maps API

0 0 16

Institutional Repository | Satya Wacana Christian University: Perancangan Sistem Informasi Pemetaan Lokasi SPBU di Kota Semarang Berbasis Web Menggunakan Google Maps API

0 0 19