Sistem ini diawali dengan proses pengiriman data dari aplikasi mobile melalui internet. Ancaman (Thread) Kebijakan (Policy) Spesifikasi Desain Implementasi Operasi dan Pemeliharaan
Jaringan tersebut merupakan jaringan unsecure
sehingga diperlukan keamanan dalam
pengiriman data pilkada ke server. Pada pembahasan di bawah ini, akan dijelaskan dari setiap tahap dalam pembangunan sistem ini.
Ancaman (Thread)
Jenis ancaman yang teridentifikasi yang dapat menimbulkan serangan keamanan dalam sistem pengiriman data pilkada via mobile ini adalah snooping dan modification or alteration. Ancaman snooping atau pengintaian terjadi dikarenakan pengiriman data melewati jaringan komunikasi public yang semua pihak dapat melihat aliran informasi yang lewat pada jaringan tersebut atau biasa dikenal dengan
wiretapping, yaitu pengintaian dalam jaringan yang terbuka. Snooping yang terjadi dalam sistem pengiriman data pilkada adalah mengetahui jumlah suara yang dikirim petugas ke pusat. Modification or alteration, adanya pengubahan data jumlah suara pilkada oleh pihak yang tidak berhak kemudian dikirim ulang ke server dengan harapan petugas dan
server tidak menyadari adanya perubahan. Penyamaran, yaitu adanya pihak yang tidak berhak mengaku sebagai petugas sehingga dapat menggunakan sistem untuk hal yang tidak sesuai prosedur. Salah satu cara untuk
mengatasi ancaman ini adalah dengan
memberikan layanan kerahasiaan, autentikasi dan integritas pada sistem.
Kebijakan (Policy)
Pada tahap ini, ditentukan kebijakan-kebijakan yang akan berlaku dalam sistem ini. Kebijakan keamanan tersebut meliputi:
1 User Policy
Pada sistem ini, terdapat dua pihak yaitu pihak pengirim dan penerima. Dalam sistem pengiriman data pilkada via mobile, penerima sendiri adalah admin server dan pengirim adalah petugas yang mengirimkan data jumlah suara pilkada viamobile. Masing-masing pihak memiliki peranan yang berbeda dalam proses pengiriman data. Sistem ini tidak melibatkan pihak ketiga.
2 Communication and Network Policy
Jalur komunikasi dalam sistem pengiriman data pilkada bersifat dua arah serta menggunakan jaringan yang unsecure dan umum. Hal ini menyebabkan setiap orang dapat melihat adanya pertukaran data yang mengalir di dalam jaringan dengan ketentuan kondisi normal. Penelitian ini menggunakan jaringan
unsecure dan umum untuk menerapkan metode pendistribusian kunci yang sesuai sebagai pengaman.
3 Access Policy
Sistem ini sepenuhnya mengatur hak akses
user. Dalam sistem ini, user yang sudah diberikan hak dapat menggunakan layanan yang disediakan oleh sistem. Untuk melakukan proses tersebut, user harus memasukkan
username, password, dan pin. Kebijakan ini diberikan untuk mencegah adanya ancaman penyamaran yang sudah diidentifikasi pada tahap sebelumnya.
4 Application and Data Policy
Aplikasi hanya bisa digunakan oleh user
yang telah mendaftarkan diri ke admin sehingga aplikasi tersebut bisa di-install di handphone user dan tidak bisa di-copy ke handphone yang lain.
Data yang digunakan dalan sistem ini merupakan data dummy. Asumsi bahwa data yang dikirim ke server merupakan data valid
digunakan.
Spesifikasi
Pada tahap ini, dilakukan penentuan algoritme yang akan digunakan. Algoritme yang dipakai untuk menyajikan keamanan pada sistem ini adalah sebagai berikut:
1 Autentikasi dan verifikasi
Fungsi hash diterapkan untuk menjaga layanan integritas. Autentikasi digunakan untuk mendapat nilai autentikasi dari data, sedangkan
verifikasi digunakan untuk memeriksa
keautentikan data dengan nilai autentikasinya. Metode ini digunakan untuk menyembunyikan keautentikan data agar tidak diketahui oleh pihak luar. Selain itu, metode ini digunakan sebagai bentuk pencegahan penyamaran dan modifikasi data oleh pihak yang tidak berhak. Untuk mendukung layanan integritas, sistem menggunakan fungsi hash yaitu MD5.
2 Kerahasiaan Data
Algoritme kriptografi kunci publik
digunakan untuk menjaga kerahasiaan data adalah RSA. Algoritme ini merupakan metode yang digunakan dalam pembangkitan kunci yang nantinya akan didistribusikan secara umum. Studi kasus dalam penelitian ini adalah petugas akan mengirimkan kunci publik ke
server agar server bisa membuka pesan yang dikirim oleh petugas. Hal ini dilakukan untuk layanan keautentikan dapat terealisasi. Tahap spesifikasi dalam penelitian ini juga ditentukan lingkungan pengembangan sistem.
Desain
Ancaman, kebijakan, dan spesifikasi yang
sudah ditentukan dilanjutkan untuk
dibagi berdasarkan modul yang dibutuhkan dalam sistem. Modul-modul tersebut antara lain adalah:
1 Modul pendaftaran petugas
Modul ini digunakan untuk pendaftaran petugas yang nantinya akan diberi hak untuk mengakses sistem atau dengan kata lain modul ini dijadikan sebagai layanan jaminan hak akses terhadap sistem. Hasil dari desain sistem pendaftaran petugas dapat dilihat pada
flowchart pendaftaran petugas pada Gambar 5. Antarmuka aplikasi di sisi server dapat dilihat pada Lampiran 1, sedangkan antarmuka aplikasi di sisi klien dapat dilihat pada Lampiran 2.
Mulai Pendaftaran ditutup? Cek status pendaftaran tidak Ya
Input Data Diri Pendaftaran ditutup
Input data lengkap? Ya tidak Pernyataan salah Simpan Data Tabel penanggung jawab, Tabel user, dan Tabel token
pada basis data pilkada
Selesai
Gambar 5 Flowchart pendaftaran petugas. Pendaftaran hanya bisa dilakukan pada saat pendaftaran dibuka oleh panitia. Data yang dimasukkan adalah data diri petugas sesuai dengan KTP petugas, username, password,
password token, serta pin yang akan digunakan ketika login. Jika input data lengkap, sistem akan menyimpan data tersebut ke dalam
database dengan mengambil nilai hash dari
password, password token, dan pin. 2 Modul pendaftaran calon
Modul ini digunakan untuk memberikan referensi kepada petugas dan memberikan jaminan agar tidak terjadi kesalahan ketika mengirimkan data berupa jumlah suara yang terkait dengan calon serta memberikan standarisasi penamaan calon dalam sistem. Desain yang dirancang dapat dilihat pada
flowchart pendaftaran calon pada Gambar 6.
Mulai Pendaftaran ditutup? Cek status pendaftaran tidak Ya
Input Data Diri Pendaftaran ditutup Input data lengkap? Ya tidak Pernyataan salah Simpan Data Tabel Calon dan count Selesai
Gambar 6 Flowchart pendaftaran calon.
Mulai Petugas memasukkan Username, password dan pin Input data lengkap? Peringatan kesalahan Tidak Ya
Generate key(public key, private key,modulo)
Enkripsi Username, Password dan PIN
menggunakan kunci publik dengan algoritma
kunci asimetri Login
Mendeskripsi username, password dan pin menggunakan
kunci privat petugas dengan algoritma kunci asimetri
Proses login
Login valid? Tidak
Tabel user pada basis data
pilkada Ya
Gambar 7 Flowchart login ke system. 3 Modul login ke sistem
Desain pada modul ini digunakan untuk masuk ke dalam sistem dengan username,
password, dan pin. Setelah login ini dilakukan oleh petugas, dilakukan proses pengiriman data.
Login dilakukan oleh petugas pada saat proses perhitungan suara, baik saat hasil perhitungan
belum selesai atau sudah selesai, dengan ketentuan bahwa pengiriman data yang pertama adalah insert data baru sesuai dengan id
petugas. Untuk yang kedua kali dan seterusnya, yang dilakukan hanya proses update data di dalam database berdasarkan id petugas tersebut. Untuk lebih detail mengenai desain modul ini dapat dilihat pada flowchart login pada Gambar 7.
Pada modul ini, akan dilakukan
pembangkitan kunci publik ketika petugas melengkapi input data pada sistem. Kunci publik digunakan untuk mengenkripsi data petugas, dalam hal ini adalah username, password, dan password token agar tidak ada pihak luar yang mengetahui isi pesan yang dikirimkan. Kode implementasi public key infrastructure dapat dilihat pada Lampiran 3.
User Interface untuk modul login dapat dilihat pada Gambar 8.
Gambar 8 Form Login. 4 Modul pengiriman data
Modul ini merupakan fungsi utama dalam penelitian ini. Desain modul ini dapat dilihat pada flowchart pengiriman data pada Gambar 9.
Pada modul ini, petugas melakukan
pengiriman data berupa jumlah suara yang diperoleh oleh setiap calon ke server. Pada proses pengiriman ini, dilakukan enkripsi-deskripsi menggunakan algoritme kunci publik. Contoh data yang telah dienkripsi dapat dilihat pada Lampiran 4.
Fungsi yang sifatnya update data ini bisa dilakukan berulang kali oleh petugas. Pada saat petugas melakukan pengiriman data pertama kali, sistem tidak otomatis logout, tetapi kembali ke tampilan utama.
Untuk menjamin keamanan bahwa sistem
masih dipegang oleh orang yang sama, setelah melakukan pemilihan, petugas akan diminta untuk memasukkan password token sebagai parameter untuk membangkitkan challenge code yang nantinya akan divalidasi oleh system. Challenge code hanya berlaku dalam selang waktu tiga menit.
Memilih calon dan memasukkan Jumlah suara, nama TPS dan
keadaan
Proses submit
Proses Generate respon Code menggunakan password token petugas
dan challenge code
Memasukkan password token Proses Generate Challenge Code
Enkripsi id petugas, challenge code, respon code, jumlah suara, pilihan calon, nama TPS, kondisi pilkada menggunakan kunci
publik petugas Password kosong? Tidak Ya Proses send send Deskripsi id petugas, challenge code, respon code, jumlah suara, pilihan
calon, nama TPS, kondisi pilkada menggunakan kunci privat Password benar? Tidak Respon code sesuai? Ya Tabel history pada basis data
pilkada Simpan data Pernyataan salah Ya selesai Tidak
Gambar 9 Flowchart pengiriman data.
User interface untuk form pengisian data dapat dilihat pada Gambar 10.
User interface untuk generate token key
dapat di lihat pada Gambar 11.
Gambar 10 Form data pilkada.
user System
Gambar 11 Formgenerate token.
Implementasi
Tahap implementasi dilakukan untuk
merealisasikan desain sistem yang sudah dibuat dalam bentuk aplikasi. Beberapa komponen yang digunakan untuk merealisasikan desain sistem adalah sebagai berikut:
Algoritme fungsi hash yang digunakan adalah MD5 yang menghasilkan nilai hash
dengan panjang 128 bit.
Algoritme kunci publik yang berfungsi untuk pengamanan dalam pendistribusian kunci menggunakan sepasang kunci dengan fungsi tertentu, yaitu kunci publik dan kunci privat. Algoritme yang digunakan sebagai algoritme kunci publik yakni RSA.
Komponen dan lingkungan implementasi desain sistem direalisasikan menjadi aplikasi menggunakan perangkat dengan spesifikasi sebagai berikut:
1 Perangkat lunak:
MySQL 5.0.67,
J2ME Wireless Toolkit 2.5.2,
Netbeans IDE 6.9, dan
Bahasa pemograman yang digunakan
adalah Java 2 Mobile Edition (J2ME) 2 Perangkat keras:
Processor : Intel® Dual- Core 2.00GHz,
Memory : 2GB,
Harddisk : 160GB, dan
Handphone berbasis Java, misalnya: Sony Ericsson W205
Pada tahap ini, juga dilakukan pengujian terhadap sistem menggunakan metode uji
blackbox testing. Berdasarkan hasil pengujian, sistem sudah berjalan dengan baik berdasarkan
flowchart atau desain sistem yang telah ditentukan pada tahap desain. Untuk lebih detail, hasil pengujian dapat dilihat di Lampiran 5.