Implementasi Kriptografi AES untuk Keamanan Data Sistem

advertisement
Bab 3
Metode dan Perancangan Sistem
3.1 Tahapan Penelitian
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.
Identifikasi Masalah dan Studi Literatur
Perancangan Sistem
Implementasi Sistem
Pengujian Sistem dan Analisis Hasil Pengujian
Gambar 3.1 Tahapan Penelitian
Tahapan penelitian pada Gambar 3.1, dapat dijelaskan sebagai berikut. Tahap pertama:
identifikasi masalah, yaitu kebutuhan sistem untuk konsultasi yang aman. Kebutuhan yang lain
adalah perlunya pengamanan data konsultasi antara dosen dan mahasiswa.
Tahap kedua: perancangan sistem yang meliputi perancangan proses, dan perancangan
arsitektur. Proses terbagi menjadi dua, yaitu proses enkripsi dan proses dekripsi. Algoritma
kriptografi yang digunakan untuk mengamankan data adalah AES. Kedua proses tersebut terjadi
di server maupun di client. Arsitektur sistem terbagi menjadi dua, yaitu server dan client. Server
berupa aplikasi web yang dikembangkan dengan bahasa pemrograman PHP yang berjalan pada
web server Apache dengan database MySQL. Client juga berupa aplikasi web, dikembangkan
dengan JavaScript.
9
Tahap ketiga: implementasi sistem, yaitu membuat aplikasi sesuai perancangan proses
pada tahap kedua. Sistem terbagi menjadi dua bagian utama, yaitu server dan client. Server
berupa web server dengan bahasa pemrograman PHP, client berupa browser yang digunakan
oleh pengguna. Pada browser berjalan aplikasi web dengan memanfaatkan teknologi JavaScript.
Implementasi proses enkripsi dan dekripsi dilakukan pada bagian server dan client. Pada bagian
server, digunakan pustaka AES yang sudah terintegrasi pada PHP. Pada bagian client, digunakan
pustaka AES yang dikembangkan oleh Veness (Veness, 2016).
Tahap keempat: pengujian sistem dan analisis hasil pengujian, yaitu dilakukan pengujian
terhadap proses yang telah dirancang, dan melihat kesesuaian solusi terhadap masalah yang telah
teridentifikasi sebelumnya. Pengujian yang dilakukan terdiri dari analisis dengan WireShark
untuk membuktikan bahwa data yang dikirimkan pada jaringan komputer, sudah dalam bentuk
ciphertext. Pengujian keutuhan data juga dilakukan, untuk memastikan bahwa tidak ada
perubahan pesan yang kirimkan.
3.2 Perancangan Sistem
UML digunakan sebagai alat pemodelan dalam pengembangan aplikasi di penelitian ini.
UML yang digunakan adalah use case diagram, activity diagram, dan class diagram.
Gambar 3.2 Use Case Diagram Sistem
10
Use case diagram pada Gambar 3.2 menampilkan 3 aktor yang memiliki fungsi dalam sistem.
Pengguna sistem terdiri dari tiga, yaitu Dosen, Mahasiswa, dan Administrator. Administrator
mengolah data dosen dan mahasiwa. Dosen kemudian dapat melihat data
mahasiswa yang ditugaskan untuk dibimbing atau diwalikan.Mahasiswa hanya dapat
melakukan bimbingan atau konsultasi kepada dosen walinya atau dosen pembimbingnya.
Gambar 3.3 Activity Diagram Pengiriman dan Penyandian Pesan
Proses konsultasi ditunjukkan pada Gambar 4 dalam bentuk activity diagram. Mahasiswa
setelah melalui proses login, kemudian mengirimkan pesan ke dosen. Pesan yang dikirimkan,
dienkripsi terlebih dahulu sebelum dilewatkan ke internet. Proses enkripsi terjadi di lapisan
client, yaitu di browser, dengan menggunakan JavaScript. Kemudian hasil enkripsi diteruskan ke
server, sehingga ketika dilewatkan di jaringan internet, pesan sudah dalam bentuk cipher text.
Ketika dosen mengakses sistem, pesan dari mahasiswa akan dibuat dari database, kemudian
dikirimkan ke browser dosen. Pesan yang terenkripsi tersebut kemudian didekripsi untuk
ditampilkan dalam bentuk plaintext kepada dosen. Proses ini berlaku sebaliknya ketika dosen
mengirim pesan kepada mahasiswa.
11
Gambar 3.4 Class Diagram Sistem
Class diagram pada Gambar 5 merupakan rancangan struktur data yang digunakan pada
sistem. Mahasiswa dan Dosen diwakili dengan class Mahasiswa, dan class Dosen. Komunikasi
antara Mahasiswa dan Dosen diwakili dengan class Konsultasi. Tiap konsultasi dapat
dikelompokkan menjadi kategori-kategori.
12
3.3 Perancangan Proses
mulai
Input Kunci
Input data chat
Kelompokkan chat ke dalam blok
berukuran 16 warna (16 byte)
Baca blok satu demi
satu
Jika blok terakhir
berisi kurang dari 16
byte,
false
true
Lakukan proses
Padding
sehingga
menjadi 16 byte
false
Lakukan Enkripsi
AES untuk tiap blok
Semua Blok selesai
dienkripsi?
true
Output ciphertext
Selesai
Gambar 3.5 Alur Proses Enkripsi
Proses enkripsi ditunjukkan pada Gambar 3.5. Proses enkripsi membutuhkan dua masukan, yaitu
kunci enkripsi dan data chat dalam bentuk plaintext. Data chat dikelompokkan dalam blok-blok
berukuran 16 byte, sesuai ketentuan desain AES. Kunci yang digunakan juga harus dalam ukuran
16 byte, karena pada penelitian ini digunakan AES dengan panjang kunci 128 bit (16 byte). Pada
blok terakhir, jika panjangnya kurang dari 16 byte, maka perlu dilakukan proses padding,
13
sehingga terbentuk blok 16 byte. Padding dilakukan dengan menambahkan byte bernilai 0 pada
bagian akhir. Pada akhir proses enkripsi, dihasilkan ciphertext.
mulai
Input Kunci Dekripsi
Input Chat Ciphertext
Kelompokkan ke dalam blok
berukuran 16 byte
Baca blok satu demi
satu
Lakukan dekripsi
AES untuk tiap blok
false
Semua Blok selesai
didekripsi?
true
Hapus padding pada blok paling
akhir
Output plaintext
Selesai
Gambar 3.6 Alur Proses Dekripsi
Proses dekripsi ditunjukkan pada Gambar 3.6. Proses dekripsi membutuhkan dua masukan, yaitu
kunci dekripsi dan data chat dalam bentuk ciphertext. Data chat dikelompokkan dalam blok-blok
berukuran 16 byte, sesuai ketentuan desain AES. Kunci yang digunakan juga harus dalam ukuran
16 byte. Pada proses dekripsi tidak terdapat proses padding, karena hasil dari proses enkripsi,
merupakan kelipatan 16 byte, sehingga dapat dipastikan tidak ada blok yang berukuran kurang
dari 16 byte. Setelah proses dekripsi semua blok selesai, maka pada blok terakhir perlu dilakukan
14
penghapusan padding jika terdapat data padding. Hasil dari proses dekripsi adalah data chat
dalam bentuk plaintext.
15
Download