• Tidak ada hasil yang ditemukan

Implementasi Algoritma Rijndael Pada Pengamanan Record Dan File Database

N/A
N/A
Protected

Academic year: 2016

Membagikan "Implementasi Algoritma Rijndael Pada Pengamanan Record Dan File Database"

Copied!
68
0
0

Teks penuh

(1)

IMPLEMENTASI ALGORITMA RIJNDAEL PADA PENGAMANAN RECORD DAN FILE DATABASE

SKRIPSI AMALIA PRATIWI

091402063

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(2)

IMPLEMENTASI ALGORITMA RIJNDAEL PADA PENGAMANAN RECORD DAN FILE DATABASE

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

AMALIA PRATIWI 091402063

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : IMPLEMENTASI ALGORTIMA RIJNDAEL PADA PENGAMANAN RECORD DAN FILE DATABASE

Kategori : SKRIPSI

Nama : AMALIA PRATIWI

Nomor Induk Mahasiswa : 091402063

Program Studi : SARJANA (S-1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Diluluskan di

Medan, 23 April 2015

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Sajadin Sembiring, S.SI., M.Comp. Sc Dedy Arisandi S.T., M.Kom

NIP: - NIP: 19790831 200912 1 002

Diketahui/Disetujui oleh

Program Studi Teknologi Informasi Ketua,

(4)

iii

PERNYATAAN

IMPLEMENTASI ALGORITMA RIJNDAEL PADA PENGAMANAN RECORD

DAN FILE DATABASE

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 23 April 2015

(5)

UCAPAN TERIMA KASIH

Puji dan syukur penulis panjatkan kepada Allah SWT Yang Maha Pengasih dan Maha Penyayang, dengan segala rahmat dan karuniaNya penulisan tugas akhir ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Selama penyelesaian tugas akhir ini, banyak bantuan dan kerja sama serta doa dan dukungan dari berbagai pihak, oleh karena itu penulis sampaikan ucapan terima kasih sedalam-dalamnya dan penghargaan kepada :

1. Kedua orang tua dan sanak saudara penulis yang telah memberikan dukungan dan motivasi baik materil dan spiritual, Ayahanda H. Azhar Effendy, dan Ibunda Hj. Khairiah yang selalu sabar dalam mendidik dan membesarkan penulis. Untuk abang penulis Khairil Azmi dan yang terkasih Alpi Syahri, SH.,yang selalu memberikan semangat kepada penulis.

2. Bapak Dedy Arisandi, ST., M.Kom dan Bapak Sajadin Sembiring, S.SI., M.Comp. Sc selaku pembimbing yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis.

3. Bapak M. Anggia Muchtar, ST., MM.IT dan Bapak Romi Fadillah Rahmat, B.Comp., Sc., M.Sc yang telah bersedia menjadi dosen pembanding yang telah memberikan kritik dan saran kepada penulis.

4. Ketua dan Sekretaris Program Studi Teknologi Informasi, Bapak M. Anggia Muchtar, ST.,MM.IT dan Bapak M. Fadly Syahputra, B.Sc.,M.Sc.IT.

5. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi.

(6)

v

ABSTRAK

Perkembangan teknologi komputer saat ini, menyebabkan penyimpanan data dalam bentuk digital sangat mudah salah satunya adalah database. Database digunakan untuk menyimpan informasi yang banyak dan terstruktur untuk media pengumpulan, penyusunan, serta pencarian data. Data merupakan aset yang sangat penting dalam dunia bisnis. Sehingga sangat penting untuk dijaga kerahasiaan dan keasliannya. Metode dan teknik dalam pengamanan database sudah banyak yang diusulkan oleh peneliti didalam literatur. Akan tetapi belum ada yang ditetapkan sebagai standar, sehingga penelitian dalam bidang ini masih terbuka luas. Salah satu teknik pengamanan database yakni dengan menerapkan teknik kriptografi. Teknik kriptografi dapat digunakan untuk pengamanan record database dan juga untuk pengamanan file database. Pengamanan record database adalah proses enkripsi secara langsung pada setiap record. Sedangkan pengamanan file database adalah proses enkripsi langsung pada file tanpa melihat struktur database nya. Hasil pengujian menunjukkan pengamanan file database dengan teknik kriptografi lebih praktis dalam penggunaannya, akan tetapi teknik ini tidak dapat dilakukan pada

database server secara langsung. Pengamanan record harus dilakukan proses enkripsi untuk masing-masing record yang ada sehingga membutuhkan waktu yang lebih lama, akan tetapi teknik ini dapat digunakan langsung pada database server. Dalam penelitian ini metode yang digunakan untuk pengamanan database adalah metode kriptografi rijndael. File database yang digunakan dalam penelitian ini yaitu accdb, dbf, mdb, dan sql. Sedangkan pada record hanya dapat digunakan pada database mdb.

Kata Kunci: Pengamanan Database, Record, Kriptografi Rijndael.

(7)

IMPLEMENTATION RIJNDAEL ALGORITHM FOR SECURING OF RECORD

AND DATABASE FILE

ABSTRACT

The development of computer technology, causing data storage in digital form is very easy, one of them is database. Database is used to store a lot of structured information, collection, preparation, and data retrieval to the media. Data is a very important asset in the business world. It is very important to keep it confidential and authenticity. Methods and techniques in database securing has been proposed by many researchers in the literature. But none is set as the default, so that research in this field is still wide open. One of the database security techniques is applying cryptography techniques. Cryptography techniques can be used for securing the

databaserecords and also for securing the database file. Securing databaserecord is a direct encryption process on each record. While securing database record is the process of encrypting the database files directly to the file without seeing the structure of the database. The results show securing database files with cryptography techniques is more practical in use, but this technique cannot be performed on the

database server directly. Securing record has to be done for encryption process for each record so require for a long time, but this technique can be used directly to

database server. In this study the method that used for database securing is rijndael cryptography method. Database file that used in this study is accdb, dbf, mdb, and sql. While the record may only used in mdb database.

(8)

vii

(9)

3.3.1. Pengamanan Pada Record Database 29

3.3.2. Pengamanan Pada File Database 29

3.4. Flowchart 32

3.4.1. Flowchart Sistem 33

3.4.2. Flowchart Enkripsi Record Database 34 3.4.3. Flowchart Dekripsi Record Database 35 3.4.4. Flowchart Enkripsi File Database 36

3.4.5. Flowchart Dekripsi File Database 37 3.5. Perancangan Antarmuka Pengguna 37 3.5.1. Halaman Utama 38 3.5.2. Halaman Enkripsi dan Dekripsi Record Database 39 3.5.3. Halaman Enkripsi dan Dekripsi File Database 40 3.5.4. Halaman Cek File Database 41 3.5.5. Halaman Profil Pembuat 42

4.3.1. Rencana Pengujian Sistem 49 4.3.2. Hasil Pengujian Sistem 49

4.3.3. Hasil Uji Perbandingan Sistem 51 4.3.3.1. Keuntungan Kriptografi Rijndael Record Per Record 51 4.3.3.2. Keuntungan Kriptografi Rijndael File Database 51

4.3.3.3. Kerugian Kriptografi Rijndael Recor Per Record 52 4.3.3.4. Kerugian Kriptografi Rijndael File Database 53 BAB 5 KESIMPULAN DAN SARAN 54

5.1. Kesimpulan 54

5.2. Saran 54

(10)

ix

DAFTAR TABEL

Halaman

Tabel 2.1 Tabel S-BOX 13

Tabel 2.2 Tabel S-BOX Pengambilan Nilai Sub Byte 14

Tabel 2.3 Tabel Bilangan Polynomial 16

Tabel 2.5 Tabel Penelitian Terdahulu 23

Tabel 4.1 Tabel Rencana Pengujian 49

Tabel 4.2 Tabel Hasil Pengujian 49

(11)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Proses Enkripsi dan Dekripsi Kriptografi Simetris 9

Gambar 2.2 Proses Enkripsi dan Dekripsi Kriptografi Asimetris 9

Gambar 2.3 Diagram Proses Enkripsi Rijndael 10

Gambar 2.4 Diagram Proses Dekripsi Rijndael 11

Gambar 3.13 Rancangan Enkripsi Record Database 39

Gambar 3.14 Rancangan Halaman Enkripsi dan Dekripsi 40

Gambar 3.15 Rancangan Cek File Database 41

Gambar 3.16 Rancangan Halaman Profil Pembuat 42

(12)

v

ABSTRAK

Perkembangan teknologi komputer saat ini, menyebabkan penyimpanan data dalam bentuk digital sangat mudah salah satunya adalah database. Database digunakan untuk menyimpan informasi yang banyak dan terstruktur untuk media pengumpulan, penyusunan, serta pencarian data. Data merupakan aset yang sangat penting dalam dunia bisnis. Sehingga sangat penting untuk dijaga kerahasiaan dan keasliannya. Metode dan teknik dalam pengamanan database sudah banyak yang diusulkan oleh peneliti didalam literatur. Akan tetapi belum ada yang ditetapkan sebagai standar, sehingga penelitian dalam bidang ini masih terbuka luas. Salah satu teknik pengamanan database yakni dengan menerapkan teknik kriptografi. Teknik kriptografi dapat digunakan untuk pengamanan record database dan juga untuk pengamanan file database. Pengamanan record database adalah proses enkripsi secara langsung pada setiap record. Sedangkan pengamanan file database adalah proses enkripsi langsung pada file tanpa melihat struktur database nya. Hasil pengujian menunjukkan pengamanan file database dengan teknik kriptografi lebih praktis dalam penggunaannya, akan tetapi teknik ini tidak dapat dilakukan pada

database server secara langsung. Pengamanan record harus dilakukan proses enkripsi untuk masing-masing record yang ada sehingga membutuhkan waktu yang lebih lama, akan tetapi teknik ini dapat digunakan langsung pada database server. Dalam penelitian ini metode yang digunakan untuk pengamanan database adalah metode kriptografi rijndael. File database yang digunakan dalam penelitian ini yaitu accdb, dbf, mdb, dan sql. Sedangkan pada record hanya dapat digunakan pada database mdb.

Kata Kunci: Pengamanan Database, Record, Kriptografi Rijndael.

(13)

IMPLEMENTATION RIJNDAEL ALGORITHM FOR SECURING OF RECORD

AND DATABASE FILE

ABSTRACT

The development of computer technology, causing data storage in digital form is very easy, one of them is database. Database is used to store a lot of structured information, collection, preparation, and data retrieval to the media. Data is a very important asset in the business world. It is very important to keep it confidential and authenticity. Methods and techniques in database securing has been proposed by many researchers in the literature. But none is set as the default, so that research in this field is still wide open. One of the database security techniques is applying cryptography techniques. Cryptography techniques can be used for securing the

databaserecords and also for securing the database file. Securing databaserecord is a direct encryption process on each record. While securing database record is the process of encrypting the database files directly to the file without seeing the structure of the database. The results show securing database files with cryptography techniques is more practical in use, but this technique cannot be performed on the

database server directly. Securing record has to be done for encryption process for each record so require for a long time, but this technique can be used directly to

database server. In this study the method that used for database securing is rijndael cryptography method. Database file that used in this study is accdb, dbf, mdb, and sql. While the record may only used in mdb database.

(14)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Pangkalan data atau database merupakan kumpulan banyak data yang tersusun dalam suatu bangunan yang terstruktur dan memiliki kumpulan data (record) dari banyak informasi yang bersifat meluas (umum). Artinya, kumpulan informasi yang ada di data kemudian dimasukkan ke dalam satu struktur bangunan sebagai media penyimpan yang akan digunakan sewaktu–waktu untuk pembacaan data kembali.

Begitu banyak record yang tersimpan pada database masih banyak tampilan akhirnya persis dengan apa yang diinputkan oleh si pengguna. Oleh karena itu, bisa mempermudah jalannya kebocoran data yang ada sehingga menyebabkan kerugian besar bagi instansi tersebut.

Dibandingkan dengan file yang bukan database, file lain tersebut hanya memiliki struktur binary serta memiliki informasi penting namun tidak memiliki kumpulan data (record-record) dan lebih bersifat khusus dalam penggunaannya. Oleh karena itu, file database ini bila dilihat dari segi keamanan data maka sangat lebih beresiko bila dibandingkan dengan file lainnya apabila terjadi penyalahgunaan data. Berdasarkan hal di atas dapat dilihat betapa pentingnya file database bila dibandingkan dengan file yang bukan database.

Pada penulisan skripsi ini penulis akan menjelaskan perbandingan langsung antara pengamanan record per recordnya (row per row) atau pada file databasenya secara langsung.

(15)

Keamanan basis data dapat dilakukan dengan berbagai macam metode,

diantaranya dikenal dengan sebutan kriptografi. Kata kriptografi berasal dari bahasa Yunani, “kryptós” yang berarti tersembunyi dan “gráphein” yang berarti tulisan.

Sehingga kata kriptografi dapat diartikan berupa “tulisan tersembunyi”. Dalam kriptografi terdapat dua konsep utama yakni enkripsi dan dekripsi. Enkripsi adalah proses di mana informasi atau data yang hendak dikirim diubah menjadi bentuk yang hampir tidak dikenali sebagai informasi awalnya dengan menggunakan algoritma tertentu. Dekripsi adalah kebalikan dari enkripsi yaitu mengubah kembali bentuk tersamar tersebut menjadi informasi awal.

Penelitian pada teknik kriptografi sudah banyak dilakukan diantaranya (Suriski, 2010) aplikasi kriptografi file dengan menggunakan algoritma blowfish, (Kristoporus, 2012) implementasi algortima rijndael untuk enkripsi dan dekripsi pada citra digital. Pada penelitian ini penulis ingin membuat sebuah aplikasi yang dapat menerapkan algoritma rijndael dalam membandingkan dan mengamankan record dan file database.

Algoritma rijndael merupakan lanjutan dari enkripsi standart DES, yang masa berlakunya dianggap usai karena faktor keamanannya. Pada bulan Oktober 2000, algortima rijndael terpilih sebagai AES, dan pada bulan November 2001, algortima rijndael ditetapkan sebagai AES, dan diharapkan algoritma rijndael menjadi standar kriptografi yang dominan paling sedikit selama 10 tahun (Surian, 2006). Algoritma ini

merupakan salah satu algoritma kriptografi simetrik yang beroperasi dalam mode yang memproses blok kunci 128-bit, 192-bit, atau 256-bit sehingga dikenal dengan (AES-128), (AES-192), dan (AES-256).

1.2 Rumusan Masalah

(16)

3

1.3 Batasan Masalah

Agar penelitian ini tidak menyimpang dari apa yang telah dirumuskan, maka dibutuhkan beberapa batasan masalah. Dalam penelitian ini adapun batasan masalahnya yaitu :

1. Algoritma rijndael diimplementasikan pada saat enkripsi serta dekripsi pada string sebagai pola dasar untuk penerapan lanjutan pada record per record

database yang ada atau yang diinputkan.

2. Penginputan berupa record pada file dihasilkan output yang tetap akan tersimpan di dalam file yang sama. Pada contoh ini penulis mengambil format .MDB (microsoft access database) yang mewakili bentuk penerapan kriptografi pada database.

3. Algoritma rijndael diimplementasikan pada saat enkripsi serta dekripsi pada file

database yang diinputkan.

4. Penginputan berupa file database serta output yang dihasilkan akan tersimpan di dalam file yang diberi ekstensi berupa .krp (crypt).

5. Ekstensi file database yang dapat diamankan yaitu: .ACCDB, .DBF, .MDB, dan .SQL.

6. Kunci yang digunakan adalah dengan menggunakan blok IV Rijndael 128 bit. Serta dengan menggunakan ukuran Blok Kunci (AES) 128 bit, 192 bit, dan 256

bit.

7. Penulis menggunakan algoritma kriptografi rijndael dan tidak membahas serta membandingkan dengan metode kriptografi lainnya.

1.4 Tujuan Penelitian

Tujuan penelitian ini adalah salah satu teknik untuk pengamanan pada record dan file

(17)

1.5 Manfaat Penelitian

Adapun manfaat dari penelitian ini yaitu :

1. Dapat menambah pengetahuan dan wawasan penulis mengenai konsep dan metode kerja algoritma rijndael.

2. Dapat menambah keamanan pada isi record dan file database sehingga kerahasiaannya dapat terjaga.

1.6 Metodologi Penelitian

Penulis akan merancang dengan tahapan-tahapan metodologi penelitian sebagai berikut:

1. Studi Literatur

Pada tahap studi literatur, penulis mengumpulkan referensi-referensi yang berhubungan tentang permasalahan di atas. Tahapan ini ditujukan untuk

mengetahui apa yang akan dikerjakan, apa yang sudah dikerjakan oleh peneliti lain, dan bagaimana mereka menyelesaikannya, kemudian seberapa jauh

pengembangan terhadap pengamanan record dan file database. 2. Pengumpulan Data

Pada tahap pengumpulan data, dilakukan pengumpulan data yang mendukung dalam penyelesaian masalah yang diteliti secara sistematis.

3. Analisa dan Perancangan Sistem

Pada tahapan ini, penulis akan melakukan analisa terhadap kumpulan data yang telah dilakukan pada tahapan sebelumnya, dalam penyelesaian suatu masalah sehingga dapat merancang sebuah sistem yang akan diimplementasikan nantinya.

4. Implementasi Sistem

Pada tahapan pengimplementasian sistem, penulis melakukan pengimplementasian metode rijndael pada pengamanan record dan file

database. Implementasi meliputi pembuatan sistem dan menyelesaikan

(18)

5

5. Pengujian Sistem

Pada tahapan ini, penulis melakukan pengujian terhadap sistem yang telah dirancang untuk mengetahui kehandalan sistem tersebut dan untuk mengetahui apakah sesuai dengan yang diharapkan dalam penelitian ini.

6. Dokumentasi Sistem

Pada tahap dokumentasi sistem ini, penulis menyusun laporan terhadap sistem yang telah dibuat.

1.7 Sistematika Penulisan

Skripsi ini disusun dalam lima bab dengan sistematika penulisan sebagai berikut: Bab I Pendahuluan

Pada bab pendahuluan berisi tentang hal-hal yang mendasari dilakukannya penelitian serta pengidentifikasian masalah penelitian. Bagian-bagian yang terdapat dalam bab pendahuluan ini terdiri atas latar belakang masalah, perumusan masalah, batasan masalah, tujuan penelitian, dan manfaat penelitian.

Bab II Tinjauan Pustaka

Pada bab tinjauan pustaka berisi landasan teori, penelitian terdahulu, kerangka pikir dan hipotesis yang diperoleh dari acuan yang mendasari dalam melakukan penelitian ini.

Bab III Analisis dan Perancangan Sistem

Pada bab analisis dan perancangan sistem berisi metodologi penelitian yang dilakukan dalam pengimplementasian algoritma rijndael untuk mengamankan

file database.

Bab IV Implementasi dan Pengujian Sistem

Pada bab hasil dan pembahasan berisi penjelasan hasil dari pengujian

algoritma rijndael yang telah dilakukan dalam menyelesaikan permasalahan pengamanan file database.

(19)

Pada bab kesimpulan dan saran berisi kesimpulan dari hasil penelitian dan

(20)

BAB 2

TINJAUAN PUSTAKA

2.1. Definisi Kriptografi

Penjagaan sebuah informasi sangatlah diperlukan agar tidak jatuh ke tangan orang-orang yang tidak berhak untuk mengaksesnya. Teknik kriptografi telah banyak digunakan sebagai salah satu cara untuk menciptakan sebuah informasi yang selalu terjaga keabsahannya (Dony Ariyus, 2005).

Kriptografi pada awalnya merupakan ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. Kemudian seiring dengan berkembangnya kriptografi yaitu di mana kriptografi tidak lagi sebatas mengenkripsikan pesan, tetapi juga memberikan aspek keamanan yang lain seperti serangan dari kriptanalisis. Oleh karena itu pengertian kriptografi pun berubah menjadi ilmu sekaligus seni untuk menjaga keamanan pesan.

Cryptography (kriptografi) berasal dari bahasa Yunani yaitu dari kata crypto

yang berarti penulisan screet (rahasia), sedangkan graphein artinya writing (tulisan).

Jadi secara sederhana dapat diartikan screetwriting (tulisan rahasia). Definisi lain dari kriptografi adalah sebuah ilmu yang mempelajari teknik-teknik matematika yang

berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data serta otentikasi (Rinaldi Munir, 2006).

Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain (Dony Ariyus, 2005).

Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :

(21)

2. Integritas data, adalah berhubungan dengan penjagaan dari perubahan data

secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, psssenghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.

3. Autentikasi, adalah berhubungan dengan identifikasi atau pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.

4. Non-repudiasi, adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman atau terciptanya suatu informasi oleh yang mengirimkan atau membuat.

Teknik kriptografi untuk enkripsi data ada dua macam, antara lain : 1. Kriptografi Simetris

2. Kriptografi Asimetris

2.1.1.Kriptografi Simetris

Algoritma simetris atau sering disebut algoritma kriptografi konvensional adalah algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan proses deskripsi. Algoritma kriptografi simetris dibagi menjadi dua kategori yaitu algoritma aliran (Stream Ciphers) dan algoritma blok (Block Ciphers). Di mana pada algoritma aliran, proses penyandiannya akan beriorientasi pada satu bit atau byte data. Sedangkan pada algoritma blok, proses penyandiannya berorientasi pada sekumpulan bit atau byte data (per blok).

(22)

9

Gambar 2.1 Proses Enkripsi dan Dekripsi Kriptografi Simetris

2.1.2.Kriptografi Asimetris

Kriptografi asimetris adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi. Di mana kunci enkripsi dapat disebarkan kepada umum

dan dinamakan sebagai kunci publik (public key), sedangkan kunci deskripsi disimpan untuk digunakan sendiri dan dinamakan sebagai kunci pribadi (private key). Oleh karena itu, kriptografi ini dikenal pula dengan nama kriptografi kunci publik (public key cryptography).

Adapun contoh algoritma yang menggunakan kunci asimetris adalah RSA (Riverst Shamir Adleman) dan ECC (Elliptic Curve Cryptography). Adapun pada kriptografi asimetris, di mana setiap pelaku sistem informasi akan memiliki sepasang kunci, yaitu kunci publik dan kunci pribadi, dimana kunci publik di distribusikan kepada umum, sedangkan kunci pribadi disimpan untuk diri sendiri. Artinya bila A ingin mengirimkan pesan kepada B, A dapat menyandikan pesannya dengan menggunakan kunci publik B, dan bila B ingin membaca surat tersebut, ia perlu mendeskripsikan surat itu dengan kunci privatnya. Dengan demikian kedua belah pihak dapat menjamin asal surat serta keaslian surat tersebut.

(23)

2.2. Algoritma Rijndael

Algoritma kriptografi bernama Rijndael yang didesain oleh oleh Vincent Rijmen dan John Daemen asal Belgia keluar sebagai pemenang kontes algoritma kriptografi pengganti DES yang diadakan oleh NIST (National Institutes of Standards and Technology) milik pemerintah Amerika Serikat pada 26 November 2001. Algoritma Rijndael inilah yang kemudian dikenal dengan Advanced Encryption Standard (AES). Setelah mengalami beberapa proses standarisasi oleh NIST, Rijndael kemudian diadopsi menjadi standar algoritma kriptografi secara resmi pada 22 Mei 2002. Pada 2006, AES merupakan salah satu algoritma terpopuler yang digunakan dalam kriptografi kunci simetrik.

Proses enkripsi pada algoritma Rijndael terdiri dari 4 jenis transformasi byte, yaitu SubBytes(), ShiftRows(), MixCoulums(), dan AddRoundKey(). Pada awal proses enkripsi, masukan yang telah berbentuk array state akan mengalami transformasi

AddRoundKey(). Setelah itu, array state akan mengalami transformasi SubBytes(),

ShiftRows(),MixColoumns(), dan AddRoundKey() secara berulang-ulang sebanyak Nr.

Proses ini dalam algoritma Rijndael disebut sebagai round function. Round yang terakhir agak berbeda dengan round-round sebelumnya dimana pada round terakhir,

array state tidak mengalami transformasi MixColumns().

(24)

11

Transformasi cipher dapat dibalikkan dan diimplementasikan dalam arah yang

berlawanan untuk menghasilkan inverse cipher. Transformasi yang digunakan pada

inverse cipher adalah InvShiftRows(), InvSubBytes(), InvMixClolumns(), dan

AddRoundKey().

Gambar 2.4 Diagram Proses Dekripsi Rijndael (Stallings, 2005)

2.2.1.Rijndael Block Chiper

AES memiliki ukuran block yang tetap sepanjang 128 bit dan ukuran kunci sepanjang 128, 192, atau 256 bit. Berdasarkan ukuran block yang tetap, AES block bekerja pada matriks berukuran 4 x 4 di mana tiap-tiap sel matriks terdiri atas 1 byte (8 bit) (Nuryatin, 2014). Kunci round diturunkan dari kunci cipher melalui jadwal kunci, yang terdiri dari ekspansi kunci dan pemilihan kunci round. Jumlah round yang digunakan cipher rijndael adalah sebuah fungsi dari ukuran kunci sebagai berikut:

1. Kunci 128 bit: 10 round 2. Kunci 192 bit: 12 round 3. Kunci 256 bit: 14 round

2.3. Enkripsi

(25)

C = E ( M)

Keterangan:

C = Chipertext (Plaintext yang terenkripsi AES)

E = Proses enkripsi dengan Key Private

M = Pesan asli (Plaintext)

Secara umum enkripsi dengan algoritma Rijndael sebagai berikut :

1. AddRoundKey: Melakukan XOR antara state awal (plainteks) dengan cipher key. Tahap ini disebut juga initial round.

2. Round : Putaran sebanyak Nr – 1 kali. Proses yang dilakukan pada setiap putaran adalah:

a) SubBytes : Substitusi byte dengan menggunakan table substitusi (S-box). b) ShiftRows : Pergeseran baris-baris array state secara wrapping.

c) MixColumns : Mengacak data di masing-masing kolom array state.

d) AddRoundKey : Melakukan XOR antara state sekarang dengan round key. 3. Final round : Proses untuk putaran terakhir:

a) SubBytes

b) ShiftRows

c) AddRoundKey

Diskripsi proses enkripsi sebagai berikut :

1. Add Round Key

Add Round Key pada dasarnya adalah mengkombinasikan chiper teks yang

sudah ada dengan chiper key yang chiper key dengan hubungan XOR. Bagannya bisa dilihat pada Gambar 2.5

(26)

13

2. Sub Bytes

Proses SubBytes () memetakan setiap byte dari array state dengan menggunakan tabel substitusi S-Box. Tidak seperti Des S-box berbeda pada setiap putaran, AES hanya mempunyai satu buah S-Box. Tabel yang digunakan adalah seperti pada Tabel 2.1

Tabel 2.1 S-BOX Untuk Enkripsi

Cara pensubstitusian adalah untuk setiap byte pada array state, misalkan S[r,c] = xy, yang dalam hal ini xy adalah digit heksadesimal dari nilai S’[r,c], maka nilai substitusinya, yang dinyatakan dengan S’[r,c], adalah elemen di dalam S-Box yang merupakan perpotongan baris x dengan kolom y. Gambar 2.6 memperlihatkan transformasi SubBytes.

(27)

Add Round Key (State 1 XOR Cipherkey)

State 2 :

19 a0 9a e9

3d f4 c6 f8

e3 e2 8d 48

be 2b 2a 08

Untuk angka 19 cara mengambil nilai sub bytenya sebagai berikut ini :

Tabel 2.2 Tabel S-BOX Pengambilan Nilai Sub Byte

SubBytes (Subtitusi State 2 dengan S-Box Rijndael) State 3 :

d4 e0 b8 1e

27 bf b4 41

11 98 5d 52

ae f1 e5 30

3. Shift Rows

Proses ShiftRows() ini adalah proses yang sangat sederhana. Pada

(28)

15

byte : Karena 0 byte maka tidak melakukan pergeseran dan state-pun tetap

sama.

Geser Baris 1 Sebesar 0 Geser Baris 3 Sebesar Dua Byte

Geser Baris 2 Sebesar Satu Byte Geser Baris 4 Sebesar Tiga Byte

Gambar 2.7 Ilustrasi dari Shift Row

Hasil dari Shift Row Sebagai berikut :

Shift Row (Pergeseran Elemen State 3)

State 4 :

d4 e0 b8 1e

bf b4 41 27

5d 52 11 98

30 ae f1 e5

4. Mix Columns

(29)

Tabel 2.3 Bilangan Polynominal Untuk Mix Column

02 01 01 03 03 02 01 01

01 03 02 01

01 01 02 03

Hasil Substitusi dikalikan dengan matrix MixColumn :

Hasil Perkalian dengan matrix MixColumn :

Pada proses AddRoundKey() maka 128 bit hasil state akan di-XOR-kan dengan Kunci Ronde, yaitu kunci hasil dari proses Expand Key. Pada awal enkripsi, 128 bit plaintext akan di-XOR-kan dengan 128 bit kunci yang asli. Kemudian 128 bit plaintext akan mengalami proses-proses : SubBytes(), ShiftRows() dan MixColumns().

(30)

17

2.4. Dekripsi

Dekripsi adalah proses mengubah pesan dalam suatu bahasa sandi menjadi pesan asli kembali.

M = D (C) Keterangan:

M = Pesan asli setelah di dekripsi

D = Prose dekripsi menggunakan key private

C = Chipertext (Hasil Plaintext terenkripsi)

Pada Gambar 2.8 merupakan proses dari sebuah dekripsi file

(31)

2.5. Rfc2898 DeriveBytes

Rfc2898DeriveBytes adalah class atau metode dengan proses yang melibatkan pengambilan kunci (password), pencampur (salt), jumlah iterasi, dan kemudian menghasilkan kedalaman kunci melalui panggilan ke metode GetBytes.

Rfc2898DeriveBytes mencakup metode untuk menciptakan vektor kunci dan

inisialisasi (Blok IV) dari password dan pencampur (salt/S-Box/ASCII).

Rfc2898DeriveBytes berguna untuk menghasilkan kunci yang berasal dari kunci dasar dan parameter lainnya. Rfc2898DeriveBytes ini bukanlah satu-satunya metode untuk menghasilkan kunci ke dalam bentuk tipe data byte (GetBytes). Salah satunya yang lain adalah PasswordDeriveBytes. Rfc2898DeriveBytes adalah penerus dari beberapa class lainnya yang sangat direkomendasi oleh Visual Studio 2013 (Microsoft). Rfc2898DeriveBytes merupakan implementasi dari PBKDF2.

Adapun keuntungan pencampuran yang dilakukan berulang kali antara kunci dengan pencampur (salt) yakni:

1. Ukuran password tidak terbatas tergantung kepada iterasi yang diberikan. Sedangkan AES hanya mendukung ukuran kunci tertentu.

2. Penambahan ukuran pencampur (salt) dapat menggunakan frasa sandi yang sama untuk menghasilkan beberapa kunci yang berbeda (dengan asumsi pencampur (salt) bukan konstan. Hal ini penting untuk pemisahan kunci dengan menggunakan kembali kunci dalam konteks yang berbeda.

3. Bila iterasi yang diberi hingga 1000 kali, maka bertujuan agar memperlambat serangan untuk menebak password sebagaimana menghadapi serangan Brute

Force dalam menebak kunci AES. Bilamana hanya menggunakan kunci AES

maka kemungkinan kunci yang ditebak akan lebih mudah dikarenakan hanya mengandalkan kunci tanpa adanya pencampur (salt) dan iterasi yang dikenal sebagai pendalaman kunci. Dengan menggunakan Rfc2898DeriveBytes kita dapat menggunakan iterasi yang nilainya bisa di atur dan direkomendasikan hingga 10000 kali. Hal ini akan mempersulit serangan semacam Brute Force

(32)

19

2.6. Data Flow Diagram (DFD)

Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan

profesional sistem untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi. Adapun komponen-komponen dalam DFD adalah sebagai berikut:

Menurut Yourdan dan DeMarco:

Menurut Gene dan Serson:

2.7. Pengertian Database

Pada sistem informasi, database merupakan sebuah komponen yang paling berperan penting dalam menampung semua data-data yang telah diolah, basis data adalah suatu pengorganisasian sekumpulan data yang saling terkait sehingga memudahkan aktivitas untuk memperoleh informasi (Abdul Kadir dan Terra CH. Triwahyuni, 2003). Berikut

ini adalah beberapa alasan mengapa database sangat diperlukan :

1. Salah satu komponen penting dalam sistem informasi, karena merupakan dasar dalam menyediakan informasi.

2. Menentukan kualitas informasi yang akurat, tepat waktu dan relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih aktif dibandingkan biaya mendapatkannya.

3. Mengurangi duplikasi data.

4. Hubungan data dapat ditingkatkan.

(33)

2.7.1. Keamanan Database

Ada beberapa cara yang umum dapat dilakukan untuk mengamankan database dari pengaksesan orang lain yang tidak berhak, diantaranya (Janner Simarmata dan Iman Paryudi, 2005) :

1. Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita.

2. Password adalah kumpulan karakter atau string yang digunakan oleh pengguna jaringan atau sebuah sistem operasi yang mendukung banyak pengguna (multiuser) untuk memverifikasi identitas dirinya kepada sistem keamanan yang dimiliki oleh jaringan atau sistem tersebut.

3. Enkripsi adalah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. 4. MD5 (Message-Digest algortihm 5) adalah sebuah fungsi hash kriptografi

yang digunakan secara luas dengan hash value 128-bit.

2.8. VB NET

Microsoft Visual Basic .NET adalah sebuah alat untuk mengembangkan dan

membangun aplikasi yang bergerak di atas sistem .NET Framework, dengan menggunakan bahasa BASIC. Dengan menggunakan alat ini, para programmer dapat

membangun aplikasi Windows Forms, Aplikasi web berbasis ASP.NET, dan juga aplikasi command-line.

2.9. Flowchart

Flowchart merupakan sebuah metodologi yang digunakan untuk menganalisis,

(34)

21

Gambar 2.9 Simbol Flowchart

2.9. Diagram Dasar dalam Unified Modeling Language (UML)

UML adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. Standar spesifikasi UML

dijadikan standar defacto oleh OMG (Object Management Group) pada tahun 1997. UML mendeskripsikan OOP dengan beberapa diagram, diantaranya :

Diagram Struktur (Structure Diagram) 1. Diagram Kelas (Class Diagram)

(35)

2. Diagram Obyek (Object Diagram)

Menunjukan tampilan baik secra menyeluruh atau pun bagian struktur dari sistem yang dimodelkan.

3. Diagram Komponen (Component Diagram)

Menggambarkan bagaimana sistem dibagi menjadi komponen-komponen serta menunjukan ketergantungan antara komponen-komponen tersebut. 4. Diagram Deployment (Deployment Diagram)

Untuk memodelkan perangkat keras yang digunakan pada implementasi sistem, lingkungan, dan cara penggunaan sitem pada perangkat keras.

5. Diagram Struktur Komposit (Composite Diagram) Menggambarkan struktur internal yang saling terhubung. 6. Diagram Paket (Package Diagram)

Menggambarkan bagaimana sistem dibagi menjadi kelompok-kelompok logikal dengan menunjukkan ketergantungan antara kelompok tersebut. Diagram Perilaku (Behavior Diagram)

1. Diagram use-case

Menunjukan fungsi-fungsi yang diberikan sistem kepada aktor, tujuannya merepresentasikan kasus penggunaan dan setiap ketergantungan antara kasus pengguna.

2. Diagram State Machine

Merupakan notasi standar untuk menggambarkan banyak sistem, dari program komputer ke proses bisnis.

3. Diagram aktivitas (Activity Diagram)

Merepresentasikan langkah demi langkah alur bisnis dan operasional dari komponen pada sebuah sistem.

4. Diagram Komunikasi (Communication Diagram)

Menunjukan interaksi antara obyek-obyek atau bagian-bagian dari urutan pesan.

5. Diagram Ringkasan Interaksi (Interaction Overview Diagram)

(36)

23

6. Diagram Urutan (Sequence Diagram)

Menujukan bagaimana obyek-obyek berkomunikasi satu sama lain dari sebuah urutan pesan.

7. Diagram Pewaktuan (Timing Diagram)

Merupakan jenis yang lebih spesifik dari diagram interaksi di mana fokusnya pada batasan waktu.

2.11. Penelitian Terdahulu

Sistem kriptografi telah ada pada awal tahun 1900. Dalam melakukan penelitian, penulis membutuhkan beberapa referensi penelitian yang pernah dibuat oleh orang lain mengenai masalah pengamanan file dan algoritma rijndael.

Fadhilah (2012) telah melakukan penelitian tentang pengamanan citra digital dengan menggunakan algoritma rijndael.

Suriski et al (2010) juga telah melakukan penelitian tentang kriptografi file

dengan menggunakan algoritma blowfish.

Arief (2014) telah meneliti tentang bagaimana mengamankan file dengan menggunakan algortima rijndael dengan menggunakan interface USB Flashdisk.

Tabel 2.5 Tabel Penelitian Terdahulu

Peneliti Metode Kasus Tahun Penelitian

Fadhilah Rijndael Pengamanan Citra

Digital 2012

Suriski et al Blowfish Pengamanan File 2010

(37)

BAB 3

ANALISIS DAN PERANCANGAN

3.1. Data Yang Digunakan

Data yang digunakan dalam membangun sistem pengamanan file database berasal dari berbagai jenis file database. Dikarenakan File-file ini dapat berupa apa saja maka akan dikhusukan bagi pembacaan file database saja, yakni dengan menggunakan

model Class IO.File.ReadAllLines agar terlebih dahulu diinisialisasikan sebagai pembeda antara file database dengan file lainnya dan kemudian dilakukan proses pembacaan file ke tipe data byte (FileStream), sehingga data dapat di enkripsi. Sedangkan untuk record database juga berasal dari file database, tetapi lebih dikhususkan pada jenis database mdb (Microsoft Access). Pada skripsi ini model data yang digunakan adalah data provider ADO.NET dengan tipe koneksi terputus (offline). Skema model ADO.NET dapat dilihat pada gambar 3.1.

(38)

25

Data yang berada dalam database diambil melalui data provider (penyedia data).

ADO.NET dibangun untuk arsitektur terputus, sehingga memungkinkan benar-benar terputus dengan sumber data dapat dilakukan manipulasi melalui Objek Dataset, yang benar-benar independen dari Sumber Data (database). Dua komponen kunci dari ADO.NET adalah Data Providers dan DataSet.

1. Data Provider

Ada 4 objek dalam data provider ADO.NET :

No Objek dan Penjelasan

1 Connection

menyediakan koneksi ke Sumber Data (Database)

2

Command

digunakan untuk melakukan pernyataan SQL atau prosedur yang akan dilaksanakan pada Database

3

DataReader

Aliran berbasis, forward-only, read-only pengambilan hasil query dari Sumber Data (database)

4 DataAdapter

Mengisi Object Dataset dengan hasil dari Sumber Data

Data Provider mengandung beberapa object antara lain:

 Connection object (SqlConnection, OleDbConnection, OdbcConnection, OracleConnection)

 Command object (SqlCommand, OleDbCommand, OdbcCommand, OracleCommand)

 DataReader object (SqlDataReader, OleDbDataReader, OdbcDataReader, OracleDataReader)

 DataAdapter object (SqlDataAdapter, OleDbDataAdapter, OdbcDataAdapter, OracleDataAdapter).

Pada dasarya koneksi yang tersedia pada ADO .NET ini terbagi dua :

SqlConnection – dirancang untuk koneksi khusus ke Microsoft SQL Server.  OleDbConnection – dirancang untuk koneksi penggunaan database yang

sangat luas, seperti Microsoft Access and Oracle.

(39)

Connection

Command DataAdapter

DataSet

Tables Relations

DataReader

Disconnected Access

Connected Access

Gambar 3.2 Skema Perbandingan Connected dengan Disconnected Acces

2. Dataset

Dataset memberikan representasi terputus hasil query dari Sumber Data, dan itu benar-benar independen dari Sumber Data (database). DataSet memberikan fleksibilitas jauh lebih besar ketika berhadapan dengan manipulasi data. DataSet terdiri dari kumpulan objek DataTable yang dapat berhubungan satu sama lain dengan DataRelation. DataTable berisi koleksi DataRow dan DataColumn. Objek DataAdapter menyediakan sebuah jembatan antara DataSet dan Sumber Data. Diagram dataset dapat dilihat pada gambar 3.3 dibawah ini.

DataSet

DataRelationCollection

DataRelation

DataTableCollection ExtendedProperties

DataTable

DataRowCollection DataView PrimaryKey DataColumnCollection

DataRow DataColumn

(40)

27

Dataset memiliki banyak komponen pendukungnya dan dijelaskan pada tabel di

bawah ini :

No Komponen dan Penjelasan

1 DataTableCollection

Berisi semua tabel yang berasal dari sumber data

2 DataRelationCollection

Berisi data relasi antara tabel dalam sebuah dataset.

3

ExtendedProperties

Berisi tambahan informasi, seperti pernyataan SQL untuk pengambilan data, waktu pengambilan dan sebagainya.

4

DataTable

Mewakili sebuah tabel dalam DataTableCollection pada sebuah dataset. Berisi DataRow dan DataColumn. Objek DataTable adalah case-sensitive.

5

DataRelation

Mewakili sebuah relasi dalam DataRelationshipCollection pada dataset. Berguna untuk merelasikan objek DataTable masing-masing terhadap objek DataColumn.

6 DataRowCollection

Berisi semua data Row dalam DataTable.

7

DataView

merupakan bentuk aneka tampilan pada DataTable untuk mengurutkan, membatasi, pencarian, edit dan navigasi.

8

PrimaryKey

merupakan kolum yang memiliki identifikasi unik untuk membedakan row pada DataTable.

9

DataRow

merupakan row pada DataTable. Objek DataRow akan digunakan untuk mengambil, mengevaluasi, memasukkan, menghapus, dan mengupdate data dalam DataTable.

10 DataColumnCollection

merupakan kumpulan kolum yang ada pada DataTable.

11 DataColumn

merupakan kolum yang ada pada DataTable.

Istilah baru pada ADO.NET

Istilah lama Istilah baru

Table DataTable

Field DataColomn

Record DataRow

RecordSet DataTable

(41)

3.2. Use Case Diagram

Use Case Diagram merupakan model diagram UML yang digunakan untuk

menggambarkan requirement fungsional yang diharapkan dari sebuah sistem. Gambar 3.4 merupakan Use Case Diagram dari sistem pengamanan file database.

Memilih Menu

Gambar 3.4 Use Case Diagram

Use case specification untuk Gambar 3.4 adalah sebagai berikut:

Brief Description

Use case ini digunakan oleh pengguna untuk melakukan enkripsi dan dekripsi record database serta enkripsi dan dekripsi file database.

Pre Condition

Pengguna harus mengisi form enkripsi dan dekripsi untuk diproses oleh sistem.

Characteristic of activation

Eksekusi hanya bisa dilakukan oleh pengguna.

Flow of event

Use case ini akan dimulai jika pengguna memilih menu yang telah

disediakan.

 Kemudian sistem akan menampilkan form menu yang dituju.

 Di halaman tersebut, pengguna dapat mengisi form yang telah disediakan.

Use case ini berakhir ketika sistem menampilkan halaman output dari

(42)

29

Post Condition

Pengguna dapat memasukkan file database yang baru, dengan cara pengguna langsung menekan tombol pilih pada filedatabase yang telah tersedia.

3.3. Analisis Sistem Pengamanan

3.3.1.Pengamanan Pada Record Database

Pengamanan pada record database di mulai dengan pengamanan string-string pendek sebagai dasarnya. Pada Prinsipnya Kriptografi Rijndael bukan diperuntukkan untuk pengamanan string-string pendek namun bersifat kepada string-string panjang yang tersimpan pada tipe data byte atau yang dikenal dengan array string. Dikarenakan bentuk byte bukanlah bentuk yang dapat ditampilkan begitu saja maka diperlukan suatu media untuk bisa merepresentasikan suatu bentuk ke bentuk yang dapat dibaca atau di simpan.

Bentuk tersebut dikenal dengan proses enkoding. Encoding adalah proses menempatkan urutan karakter (huruf, angka, tanda baca, dan simbol tertentu) ke

dalam format kusus untuk transmisi yang efisien. Selain encoding, ada juga decoding. Decoding adalah proses yang berlawanan konversi dari format yang disandikan kembali ke urutan asli dari karakter.

Adapun jenis encoding yang yang tersedia dan umum digunakan pada proses penyandian adalah :

Jenis Encoding Keterangan

ASCII Penyandian karakter dengan menggunakan ASCII (7-bit) BigEndianUnicode Penyandian karakter UTF-16 big endian

Default Penyandian karakter dengan menggunakan kode ANSI Unicode Penyandian karakter dengan menggunakan UTF-16

little-endian

UTF32 Penyandian karakter dengan menggunakan UTF-32 little-endian

UTF7 Penyandian karakter dengan menggunakan UTF-7 UTF8 Penyandian karakter dengan menggunakan UTF-8

3.3.2.Pengamanan Pada File Database

(43)

IV. Data-data tersebut kemudian akan diproses dengan menggunakan algoritma

rijndael hingga diperoleh hasil enkripsi dan dekripsi filedatabase.

Adapun proses enkripsi rijndael diawali dengan menggunakan proses AddRoundKey diikuti sembilan iterasi dengan struktur yang terdiri dari empat proses yaitu SubBytes, ShiftRows, MixColumns, dan AddRoundKey. Sedangkan pada akhir proses enkripsi iterasi ke sepuluh tersusun atas tiga proses proses yaitu SubByte, ShiftRows, dan AddRoundKey. Gambar 3.5 merupakan flowchart algoritma rijndael.

Mulai

(44)

31

Gambar 3.5 menjelaskan bahwa pada proses enkripsi algoritma rijndael diawali

dengan memasukkan file database yang ingin dienkripsi, setelah itu sistem akan melakukan pelatihan enkripsi rijndael melalui langkah-langkah berikut ini:

FileStream

Filestream pada dasarnya adalah mengambil file database yang akan dienkripsi lalu mengubah file tersebut menjadi array teks / plaintext dengan tipe data byte.

AddRoundKey

Setelah byte tersebut dihasilkan maka sistem akan melakukan proses

AddRoundKey pada dasarnya adalah mengkombinasikan chiper teks yang sudah

ada dengan chiper key dengan hubungan XOR.

SubBytes

SubBytes memetakan setiap byte dari array state dengan menggunakan tabel subtitusi S-Box.

ShiftRows

ShiftRows merupakan proses yang sangat sederhana. Pada ShiftRows

melambangkan blok IV. Menurut proposal AES " Untuk panjang blok di atas 128 bit, dibutuhkan tiga putaran untuk mewujudkan difusi penuh yaitu kekuatan

difusi bulat, relatif terhadap panjang blok, berkurang dengan panjang blok.

Semakin besar panjang blok menyebabkan berbagai pola kemungkinan yang

dapat diterapkan pada input / output dari urutan putaran meningkat.

Fleksibilitas tambahan ini memungkinkan untuk memperpanjang serangan oleh

satu atau lebih putaran ".

MixColumns

(45)

Adapun ilustrasi pernacangan kriptografi pada File Database berdasarkan diagram

Rfc=Rfc2898 (Kunci, Pengacak (Salt/S-Box), Iterasi n kali)

AES 128 Bit = Rfc.Getbytes (16) AES 192 Bit = Rfc.Getbytes (24) AES 256 Bit = Rfc.Getbytes (32)

n = 10

Gambar 3.6 Ilustrasi Perancangan Kriptografi pada FileDatabase

3.4. Flowchart

(46)

33

(47)

serta pengecekkan terhadap pola yang dihasilkan dari masing-masing proses. Apabila

pengguna memilih menu profil maka aplikasi akan menampilkan data profil peneliti. Apabila pengguna memilih menu keluar maka aplikasi akan menutup segala kegiatan yang ada pada aplikasi.

3.4.2.Flowchart Enkripsi Record Database

Adapun flowchart enkripsi record database dapat dilihat pada gambar 3.8 sebagai berikut:

Mulai

Koneksi DB

Tampil Grid Data

Asli

Kunci

Enkripsi

Encoding

Data Enkripsi

Simpan/ Update DB

Selesai

(48)

35

3.4.3.Flowchart Dekripsi Record Database

Adapun flowchart dekripsi record database dapat dilihat pada gambar 3.9 sebagai berikut:

Mulai

Koneksi DB

Tampil Grid Data

Enkripsi

Kunci

Decoding

Dekripsi

Data Asli

Simpan/ Update DB

Selesai

(49)

3.4.4.Flowchart Enkripsi FileDatabase

Adapun flowchart enkripsi file database dapat dilihat pada gambar 3.10 sebagai berikut:

Mulai

Menu Enkripsi File

Pilih File Awal

Kunci

AES Kunci

Bit Blok IV Rijndael

Selesai

Pilih Blok IV di atas 128 bit

Proses Enkripsi File Simpan File

Enkripsi (Ektensi Krp)

Ya TIdak

(50)

37

3.4.5. Flowchart Dekripsi FileDatabase

Adapun flowchart dekripsi file database dapat dilihat pada gambar 3.11 sebagai berikut:

Mulai

Menu Dekripsi File

Pilih File .krp

Kunci

AES Kunci

Bit Blok IV Rijndael

Selesai

Proses Dekripsi File

Simpan File Dekripsi

Gambar 3.11 Flowchart Dekripsi File Database

3.5. Perancangan Antarmuka Pengguna (User Interface)

(51)

ditemukan suatu solusi.Perancangan antarmuka aplikasi yang tepat diperlukan agar

perangkat lunak yang dikembangkan dapat dengan mudah digunakan oleh pengguna, sehingga tujuan dari pengembangan perangkat lunak tercapai. Berikut ini adalah beberapa rancangan fidelity dari aplikasi pengamanan file database.

3.5.1.Halaman Utama

Kriptografi File Database

Profil Pembuat

Keluar

Kriptografi Rijndael

Implementasi Pada Record dan File Database

1

3

5

4

2

Kriptografi Record Database

Gambar 3.12 Rancangan Halaman Utama

(52)

39

3.5.2.Halaman Enkripsi dan Dekripsi Record Database

Enkripsi & Dekripsi Record Database

Tambah Data Hapus Data Proses Kriptografi

Pada Record

Gambar 3.13 Rancangan Enkripsi Record Database

(53)

memunculkan bahwa sistem sedang melakukan proses, commandbutton (13) dimana

sistem akan melakukan proses enkripsi semua row pada record, commandbutton (14) dimana sistem akan melakukan proses dekripsi semua row pada record.

3.5.3.Halaman Enkripsi dan Dekripsi Pada File Database

Kriptografi Rijndael

Gambar 3.14 Rancangan Halaman Enkripsi dan Dekripsi

Pada Gambar 3.14 Terdapat 11 komponen penting pada antarmuka, yaitu nama dari aplikasi yang dibuat (1), text input (2) dimana seorang pengguna harus memasukkan

(54)

41

button (9) dimana melakukan penyimpanan file yang ingin di amankan, command

button (10) dimana aplikasi ini akan melakukan proses enkripsi atau dekripsi,

progress bar (11) dimana akan memunculkan berapa banyak waktu yang digunakan

dalam melakukan sebuah proses.

3.5.4.Halaman Cek FileDatabase

Cek File Hasil Enkripsi :

Buka File

Cek File Hasil Dekripsi :

Buka File

Buka File Lainnya 1

2

3

4 5

Gambar 3.15 Rancangan Cek FileDatabase

Pada Gambar 3.15 terdapat 5 komponen penting pada antarmuka yaitu,

(55)

3.5.5.Halaman Profil Pembuat

Logo

Implementasi Algoritma Rijndael

Pada Record dan File Database

Amalia Pratiwi

091402063

TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

1

2

3

Gambar 3.16 Rancangan Halaman Profil Pembuat

(56)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

Bab ini akan membahas tentang implementasi algoritma rijndael pada pengamanan

file database, serta penjelasan mengenai pengujian aplikasi yang dibangun.

4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak

Spesifikasi perangkat lunak yang digunakan selama pembangunan perangkat lunak adalah sebagai berikut:

1. Operating System Windows 7, 2. Visual Basic NET 2013 3. NET Framework 4.0

Agar perangkat lunak dapat berjalan dengan baik untuk para pengguna, maka spesifikasi yang dibutuhkan oleh sistem baik dari sisi perangkat keras (hardware) maupun perangkat lunak (software) dapat diuraikan sebagai berikut.

Untuk perangkat keras, yang direkomendasikan adalah sebagai berikut : 1. Processor dengan kecepatan minimal 1 GHZ,

2. Hardisk minimal 80 GB, 3. RAM minimal 2 GB,

4.2. Implementasi Perancangan Antarmuka

4.2.1. Halaman Utama

(57)

Gambar 4.1 Halaman Utama

Halaman utama dapat menampilkan menu-menu yang dapat digunakan oleh pengguna, untuk dapat melakukan proses pada suatu aplikasi pengamanan file database.

4.2.2. Halaman Enkripsi dan Dekripsi Record Database

(58)

45

Gambar 4.2 Halaman Record Database

Pada saat menekan tombol enkripsi pada form yang telah disediakan maka sistem akan memulai proses encoding pada masing-masing record database. Adapun hasil dari enkripsi pada record database tersebut dapat dilihat pada Gambar 4.3.

Gambar 4.3 Halaman Enkripsi Record

4.2.3. Halaman Enkripsi File Database

(59)

Sebelum melakukan proses enkripsi pengguna harus terlebih dahulu mengisi

kolom-kolom yang telah disediakan, yaitu pemilihan file database, memasukkan kata kunci, memilih AES kunci serta Blok IV, dan memilih lokasi tempat penyimpanan file database yang akan dienkripsi. Halaman enkripsi file dapat dilihat pada Gambar 4.4.

Gambar 4.4 Halaman Enkripsi File Database

4.2.4. Halaman Dekripsi File Database

(60)

47

Gambar 4.5 Halaman Dekripsi File Database

4.2.5. Halaman Cek File Database

Halaman cek file database merupakan halaman yang dapat digunakan oleh pengguna untuk mengecek file hasil database yang telah dienkripsi dan didekripsi, tanpa memanggil fungsi dari kriptografi itu sendiri. Cek file database ini hanya murni menggantikan fungsi daripada tugas pemrosesan kata seperti aplikasi notepad. Dengan adanya halaman pengecekan tersebut pengguna dapat mengetahui pola file yang dihasilkan pada proses enkripsi atau dekripsi file database yang telah diamankan. Bila

file tersebut berupa enkripsi maka pola yang ditampilkan akan sulit dibaca karena pola tersebut mengandung kode-kode ASCII atau karakter-karakter yang tidak bisa dibaca oleh manusia. Jika pola berupa dekripsi maka ditampilkan pola file yang bisa dibaca oleh manusia. Umumnya hanya bekerja pada format database yang bukan buatan

Microsoft. Bila format database tersebut buatan Microsoft maka disediakan menu untuk pemanggilan langsung ke filenya langsung dan akan bisa dibuka jika komputer pengguna telah diinstal aplikasi database buatan Microsoft seperti aplikasi Microsoft Access. Pada halaman cek file database ini, pengguna harus membuka file database

yang telah dienkripsi yang memiliki jenis ekstensi .krp. Sedangkan pada pengecekan

(61)

Gambar 4.6 Halaman Cek File Database

4.2.6. Halaman Profil

Halaman profil merupakan halaman yang dapat memberikan informasi mengenai

peneliti. Halaman profil dapat dilihat pada Gambar 4.7.

(62)

49

4.3. Pengujian Sistem

Pengujian sistem bertujuan untuk menguji fungsi-fungsi khusus dari perangkat lunak yang dirancang. Adapun pengujian sangat penting dilakukan agar peneliti dapat mengetahui apakah perangkat lunak yang dibuat sudah memenuhi kriteria yang sesuai dengan tujuan.

4.3.1. Rencana Pengujian Sistem

Rencana pengujian sistem dengan menggunakan pengujian metode blackbox, yaitu digunakan untuk menguji fungsi-fungsi khusus dari perangkat lunak yang dirancang. Pengujian black box dapat dilihat pada tabel 4.1.

Tabel 4.1 Rencana Pengujian

No Komponen Sistem yang Diuji Butir Uji

1 Halaman Utama  Halaman Enkripsi Record

Database

 Halaman Enkripsi File Database

 Halaman Dekripsi File Database

 Halaman Cek Pola File

 Halaman Profil

 Keluar Program 2 Halaman Enkripsi dan Dekripsi

Record Database

 Form Enkripsi dan Dekripsi Record Database

 Notifikasi Enkrpsi dan Dekripsi Record 3 Halaman Enkripsi dan Dekripsi

File Database

 Form Enkripsi dan Dekripsi File Database

 Notifikasi Enkripsi dan Dekripsi File

4 Halaman Cek File Database Form Cek File Database 5 Halaman Profil Pembuat Data Penulis

6 Keluar Keluar Aplikasi

4.3.2. Hasil Pengujian Sistem

Tabel 4.2 Hasil Pengujian

No Komponen Sistem yang Diuji

Skenario Uji Hasil yang Diharapkan

Hasil Uji

1 Halaman Utama Pengguna berada pada

Halaman utama berhasil dimuat,

(63)
(64)

51

4.3.3. Hasil Uji Perbandingan Sistem

4.3.3.1.Keuntungan penggunaan kriptografi rijndael pada record per record :

Adapun keuntungan kriptografi rijndael pada record per record yaitu dapat diterapkan pada database langsung, meskipun pada kenyataannya dapat membuat

kekacauan data apabila proses enkripsi dan dekripsinya tidak sempurna.

4.3.3.2. Keuntungan penggunaan kriptografi rijndael pada file database Adapun keuntungan kriptografi rijndael pada file database yaitu:

1. Tidak membutuhkan waktu yang lama pada saat proses enkripsi dan dekripsi secara menyeluruh.

2. Tidak membutuhkan pemanggilan koneksi dan adapter yang berbeda pada tiap databasenya.

3. Setiap penyimpanan file yang telah dienkripsi telah ditandai dengan kedalaman kunci yang berbeda (128, 192, dan 256) sehingga memudahkan pengguna dan cukup hanya mengingat kuncinya saja pada saat proses dekripsinya.

(65)

4.3.3.3. Kerugian penggunaan kriptografi rijndael pada record per record

Kerugian penggunaan Rijndael pada sistem record per record adalah terletak pada masalah enkodingnya tidak ada yang sempurna. Dikarenakan hasil kryptografi pada rijndael adalah berupa byte maka harus disandikan kepada bentuk karakter tertentu dikenal dengan proses enkoding. Hasil yang didapat dari jenis enkoding terhadap proses kryptografi rijndael setelah pengujian ke sistem record per record dapat dilihat pada tabel 4.3.

Berhasil Gagal Gagal

BigEndian Unicode

Penyandian karakter

UTF-16 big endian Berhasil Gagal Gagal

Default

(66)

53

ke string aslinya berdasarkan Key dan AES. Namun pada saat dekripsi ini hanya dua

dari jenis enkoding yang bisa diandalkan yakni Default dan Unicode.

Namun keduanya tetap tidak sempurna dan masih ada kegagalan proses dekoding. Sedangkan bagian Simpan/update database ini sangat dipengaruhi dengan keberhasilan daripada enkrypt dan dekrypt record per record tersebut, di mana ketika kita berhasil mengenrypt record tetapi masih belum tentu untuk penyimpanannya. Ini dikarenakan permasalahan dari sintak SQL dengan karakter enkoding yang dihasilkan. Begitupun juga dengan proses dekrypt. Bila dekrypt gagal secara otomatis penyimpanan datapun juga gagal, dikarenakan class rijndael langsung menganggap recordnya kosong (null).

Adapun setelah percobaan kepada sistem record per record (row per row) maka kerugian penggunaan rijndael diuraikan sebagai berikut :

1. Enkripsi dapat dilakukan pada semua database, tetapi saat menyimpan database kembali maka hanya tipe data string atau teks yang dapat disimpan. 2. Enkripsi row per row dapat dilakukan dengan memasukkan kunci yang

berbeda-beda pada kenyataannya menyulitkan untuk mengingat pengguna pada kunci setiap row nya.

3. Disaat melakukan pemanggilan database yang berbeda, maka diperlukan koneksi adapter yang berbeda pula sesuai dengan database yang dibutuhkan.

4. Apabila bentuk encoding menyerupai bentuk sintax SQL maka akan didapat error dalam proses penyimpanan ke databasenya.

Contoh :

SQL = UPDATE tblBarang SET NamaBarang =’2’-+/o~’,

4.3.3.4.Kerugian penggunaan kriptografi rijndael pada file database

(67)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan analisis dari sistem dan pengujian sistem secara menyeluruh yang telah dilakukan pada bab sebelumnya, maka ada beberapa hal yang dapat dijadikan kesimpulan pada penelitian ini antara lain :

1. Algoritma rijndael dapat menyelesaikan permasalahan pengamanan pada file database dan record.

2. Kerahasiaan database yang dienkripsi oleh algoritma rijndael ini sudah lebih baik dengan menggunakan Blok IV 128 Bit dengan dipadukan AES kunci 128 Bit, 192 Bit, dan 256 Bit.

3. Aplikasi yang dibangun mampu melakukan proses enkripsi file database

.ACCDB, .FDB, .MDB, dan .SQL. Sedangkan enkripsi record hanya dapat dilakukan pada database mdb.

5.2. Saran

(68)

DAFTAR PUSTAKA

Ariyus, D. 2005. Pengantar Ilmu Kriptografi. Penerbit Andi. Yogyakarta.

Chan, Arief. S. 2014. Penerapan Kriptografi Rijndael Dalam Mengamankan File Menggunakan Interface USB Flashdisk. Medan

Hanifah, F. 2012. Aplikasi Algoritma Rijndael Dalam Pengamanan Citra Digital. Skripsi. Universitas Indonesia.

HM, Jogiyanto. 2005. Analisis & Desain Ed ke-III. Andi Offset. Yogyakarta.

Implementasi dan pengaruh antara rijndael 128 dengan 256 blok size. 2014. crypto.stackexchange.com, 12 Desember 2014 (diakses 12 Desember 2014).

JB, R. Kristoforus. & BP, Stefanus. Aditya. 2012. Implementasi Algoritma Rijndael Untuk Enkripsi dan Dekripsi Pada Citra Digital. Yogyakarta.

Kadir, A. & Triwahyuni, T. CH. 2003. Pengenalan Sistem Informasi. Penerbit Andi. Yogyakarta.

Munir, R. 2006. Kriptografi. Penerbit Informatika : Bandung.

Paryudi, I. & Simarmata, J. 2005. Basis Data. Penerbit Andi. Yogyakarta.

Sitinjak, Suriski., Fauziah, Y., Juwairiah. 2010. Aplikasi Kriptografi File Menggunakan Algoritma Blowfish.

Surian, D. 2006. Algoritma Kriptografi AES Rijndael. Jurnal Teknik Elektro 8(2) : 97-101.

Tjiharjadi, S. & Wijaya, M. C. 2009. Pengamanan Data Menggunakan Metoda Enkripsi Simetri Dengan Algoritma Feal. Yogyakarta.

Gambar

Gambar 2.6 Ilustrasi Sub Bytes
Tabel 2.2 Tabel S-BOX Pengambilan Nilai Sub Byte
Gambar 2.7 Ilustrasi dari Shift Row
Tabel 2.3 Bilangan Polynominal Untuk Mix Column
+7

Referensi

Dokumen terkait

[r]

Berdasarkan selisih hasil rata-rata nilai posttest pada kelas eksperimen dan kelas kontrol serta hasil analisis dengan teknik uji t-tes, maka dapat disimpulkan

Wawasan pembangunan kawasan Rancangan Tempatan Daerah Melaka Tengah (RTDMT) adalah untuk memajukan kawasan Daerah Melaka Tengah dalam aspek pembangunan ekonomi, sosial,

Riezky Sua Saharja sesuai dengan Pasal 14 ayat (1) dan (2) maka tidak dapat bertanggung jawab secara perseroan melainkan yang bertanggung jawab adalah Dewan

Penurunan nilai Likelihood tersebut dibandingkan dengan nilai chi square tabel dengan df (selisih jumlah variabel yang digunakan pada kedua block) yaitu sebesar 14,067

ini, menjelaskan keunikan atau kelebihan yang dimiliki oleh PT. Mina Wisata Islami Surabaya.. 18 tersebut yaitu, memiliki reputasi yang baik dalam persaingan.

Secara umum proses sertifikasi mencakup : peserta yang telah memastikan diri kompetensinya sesuai dengan standar kompetensi untuk paket/okupasi Operator Kran Putar Tetap

Sejalan dengan pendekatan konstruktivisme dalam pembelajaran, salah satu metode pembelajaran yang kini banyak mendapat respon adalah metode pembelajaran kooperatif atau