• Tidak ada hasil yang ditemukan

ANALISIS DAN PENGEMBANGAN IPB ONLINE VOTING CENTRE BERBASIS PROTOKOL TWO CENTRAL FACILITIES CHRISTINA EKA WARDHANI

N/A
N/A
Protected

Academic year: 2021

Membagikan "ANALISIS DAN PENGEMBANGAN IPB ONLINE VOTING CENTRE BERBASIS PROTOKOL TWO CENTRAL FACILITIES CHRISTINA EKA WARDHANI"

Copied!
23
0
0

Teks penuh

(1)

ANALISIS DAN PENGEMBANGAN

IPB ONLINE VOTING CENTRE BERBASIS PROTOKOL

TWO CENTRAL FACILITIES

CHRISTINA EKA WARDHANI

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(2)

ii

ANALISIS DAN PENGEMBANGAN

IPB ONLINE VOTING CENTRE BERBASIS PROTOKOL

TWO CENTRAL FACILITIES

CHRISTINA EKA WARDHANI

Skripsi

Sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer pada

Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(3)

ABSTRACT

CHRISTINA EKA WARDHANI. The Analysis and Development of IPB Online Voting Centre Based on Two Central Facilities Protocol. Under the supervision of SUGI GURITMAN.

The election can be developed as an alternative to a conventional election that has many shortages, especially in security issues. Security of the virtual election can be assured if the election apply the most appropriate cryptographic protocol. This research carried out by four students, has developed virtual election based on two central facilities protocol. The difference with other protocol is that the new system implementing two institutions into two different servers. These institutions are Central Legitimization Agency (CLA) and Central Tabulating Facility (CTF). This system is also equipped with a secure sites since the central information take place during the election and registration facilities that make the voters registration process easily. This site is run safely through the secure socket layer to encrypt each data sent so the process of transferring file avoid from falsification of data.

Keyword: cryptographic protocol, two central facilities, Central Legitimization Agency, Central Tabulating Facility, secure socket layer, encrypt.

(4)

Judul : Analisis dan Pengembangan IPB Online Voting Centre Berbasis Protokol Two Central Facilities

Nama : Christina Eka Wardhani NRP : G64050375 Menyetujui: Pembimbing Dr. Sugi Guritman NIP 196209271992031004 Mengetahui:

Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor

Dr. drh. Hasim, DEA NIP 196103281986011002

(5)

PRAKATA

Segala puji bagi Allah Tuhan Semesta Alam yang dengan rahmat dan ridho-Nyalah, tulisan ini dapat terselesaikan. Shalawat serta salam tak lupa penulis haturkan kepada Rasulullah SAW, kepada keluarga, sahabat serta pengikutnya hingga akhir zaman. Tulisan ini merupakan tugas akhir penulis sebagai syarat memperoleh gelar Sarjana Komputer dengan judul Analisis dan Pengembangan IPB Online Voting Centre Berbasis Protokol Two Central Facilities.

Ucapan terima kasih penulis sampaikan kepada seluruh pihak yang telah membantu kelancaran penelitian serta penulisan tugas akhir ini, antara lain:

1. Papa dan mama tercinta, Edy Wardoyo dan Tri Andayani serta kedua adik Adriana Dwiyanti dan Annisa Alifah Wardhani atas segala kasih sayang, doa, dan dukungan selama hidup penulis.

2. Dr. Sugi Guritman atas bimbingannya selama penelitian dan penulisan tugas akhir.

3. Seluruh keluarga besar, eyang kakung, Pade Nyoman, Bude Eni, semua om, tante, sepupu dan keponakan atas doa dan motivasinya.

4. Yth. Ibu Dr. Sri Nurdiati, M.Sc, Bapak Ir. Julio Adisantoso, M.Kom, Ibu Yeni Herdiyeni, S.Si, M.Kom, Bapak Sony H. Wijaya, S.Kom, M.Kom, Bapak Hendra Rahmawan, S.Kom, M.T, Bapak Hari Agung, S.Kom, M.Kom, Bapak Toto Haryanto, S.Kom, Mas Irvan, Pak Soleh, Pak Pendi, serta bapak dan ibu dosen lainnya atas nasehat, dukungan, dan keramahan yang senantiasa mengisi hari-hari penulis di Departemen Ilmu Komputer FMIPA.

5. Ina, Dewi, Vitria, Atika dan seluruh penghuni Pondok Rahmah atas keceriaan dan kebahagiaan yang telah diberikan selama penulis berada di sana.

6. Gank of Four (Novi, Mega, Elen) atas kebersamaan, kasih sayang, dan motivasi.

7. Moh. Tony Wahyudi atas semangat, dukungan dan keceriaan yang senantiasa mengisi hari-hari penulis.

8. Medria, Uud, dan Fajri teman-teman satu bimbingan.

9. Tanto, Isa, Nano, Febri, dan semua teman-teman ilkomerz 42 atas segala bantuan dan keceriaan selama penulis menempuh pendidikan di Departemen Ilmu Komputer.

10. Dan kepada semua pihak yang tidak bisa disebutkan satu persatu yang telah turut membantu secara langsung maupun tidak langsung.

Penulis menyadari sepenuhnya bahwa dalam tugas akhir ini masih terdapat kekurangan dan kelemahan dalam berbagai hal oleh karena keterbatasan kemampuan penulis. Oleh karena itu, dengan segala kerendahan hati penulis menerima masukan berupa saran atau kritik yang bersifat membangun dari pembaca demi kesempurnaan tugas akhir ini. Semoga tulisan ini dapat bermanfaat, amin.

Bogor, Agustus 2009

(6)

RIWAYAT HIDUP

Penulis lahir di Jakarta pada tanggal 22 Oktober 1987 dari pasangan Edy Wardoyo dan Tri Andayani. Penulis merupakan anak pertama dari tiga bersaudara (Adriana Dwiyanti dan Annisa Alifah Wardhani).

Pada tahun 2005 penulis lulus dari SMU Negeri 13 Jakarta dan pada tahun yang sama penulis lulus seleksi masuk IPB melalui jalur Seleksi Penerimaan Mahasiswa Baru (SPMB). Pada tahun 2006 penulis diterima di Departemen Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor.

Selama mengikuti perkuliahan, penulis aktif di berbagai organisasi ekstra kampus di antaranya Badan Eksekutif Mahasiswa FMIPA (2006-2007), Pendayagunaan Open Source Software (POSS), Java Campus Team (JCT) IPB, Komunitas Programmer Java dengan Netbans (NECTAR), Java User Group Indonesia (JUGI) Komunitas Programmer Java se-Indonesia. Selain itu penulis merupakan salah satu pengembang Sistem Informasi Sekolah Dewantara Open Source. Penulis menjadi asisten praktikum Data Mining dan Pengembangan Sistem Berorientasi Objek Departemen Ilmu Komputer IPB pada tahun 2009.

(7)

iv DAFTAR ISI Halaman DAFTAR GAMBAR ... v PENDAHULUAN Latar Belakang ... 1 Tujuan Penelitian ... 1

Ruang Lingkup Penelitian ... 1

Manfaat Penelitian ... 1

TINJAUAN PUSTAKA Kriptografi (Cryptography) ... 1

Protokol ... 2

Protokol Two Central Facilities ... 2

Central Legitimization Agency (CLA) ... 3

Central Tabulating Facilities (CTF) ... 3

Certified Authority (CA) ... 3

Kunci Publik (Public Key) ... 3

Kunci Simetri (Session Key) ... 3

Blowfish ... 3

Secure Hash Algorithm (SHA)-1... 3

Nonce... 4

Algoritme RSA ... 4

Secure Socket Layer (SSL) ... 4

METODE PENELITIAN Ancaman (Threat) ... 4 Kebijakan (Policy) ... 5 Spesifikasi (Specification) ... 5 Perancangan (Design)... 5 Implementasi (Implementation)... 5 Pengujian ... 5

HASIL DAN PEMBAHASAN Ancaman (Threat) ... 6

Kebijakan (Policy) ... 7

Spesifikasi (Specification) ... 7

Perancangan (Design)... 7

Perancangan Sistem Secara Umum ... 8

Perancangan Sistem Secara Khusus... 8

Implementasi (Implementation)... 9

Implementeasi IPB Online Voting Centre ... 9

Implementasi Secure Socket Layer pada IPB Online Voting Centre ... 10

Pengujian ... 10

KESIMPULAN DAN SARAN Kesimpulan ... 10

Saran ... 10

DAFTAR PUSTAKA ... 10

(8)

v DAFTAR GAMBAR

Halaman

1 The Security Life Cycle... 4

2 Skema pemilihan dengan Two Central Facilities ... 6

3 Proses registrasi pada IPB Online Voting Centre. ... 8

4 Halaman utama pada IPB Online Voting Centre. ... 9

5 Grafik perolehan suara pada IPB Online Voting Centre. ... 9

6 Form registrasi pada IPB Online Voting Centre. ... 9

7 Profil kandidat pada IPB Online Voting Centre. ... 9

8 Panduan pemilihan umum pada IPB Online Voting Centre. ... 9

(9)

1 PENDAHULUAN

Latar Belakang

Pemilihan umum dengan penyontrengan atau penyoblosan masih menjadi pilihan banyak negara atau institusi untuk memilih kandidat yang akan menempati jabatan tertentu. Pada kenyataannya, cara konvensional seperti ini ternyata menimbulkan banyak masalah dan membuka peluang terjadinya banyak kecurangan. Pemilih ganda, penggelembungan suara hingga kesalahan dan lamanya waktu rekapitulasi adalah contoh kecilnya. Hal ini dapat diatasi dengan electronic voting yang dibangun dengan protokol kriptografi yang aman. Seperti halnya Amerika Serikat yang telah berhasil menyelenggarakan electoral vote dengan sangat cepat berkat bantuan teknologi maju. Hanya dalam hitungan jam hasil pemunggutan suara dari seluruh negara bagian negara ini dapat diketahui oleh seluruh dunia. Tak hanya itu masalah-masalah yang disebutkan di atas pun dapat diatasi karena pemilihan ini terjamin keamanannya.

Penelitian yang dilakukan oleh empat orang mahasiswa ini merupakan lanjutan dari penelitian sebelumnya oleh Sireesha dan Chakchai (2005) yang telah mengembangkan secure election dengan protokol Two Cenral Facilities yang mengimplementasikan pengembangan Central Legitimization Agency (CLA) dan Central Tabulating Facilities (CTF) untuk mewujudkan pemilu virtual yang aman. Dalam sebuah kerja tim, dilakukan pengembangan yang diharapkan dapat semakin mendekatkan electronic voting yang dibuat dengan pemilihan yang sebenarnya.

Teknologi yang akan digunakan pada pemilihan umum di atas tentulah belum diketahui banyak pihak untuk itu diperlukan sarana yang akan membantu pendistribusian informasi yang diperlukan. Informasi tersebut di antaranya persyaratan menjadi pemilih, panduan pelaksanaan dan sebagainya. Proses pendaftaran pemilih juga sebaiknya dipermudah agar pemilih giat untuk mendaftarkan dirinya. Untuk itulah penelitian di atas disempurnakan dengan sebuah web yang dapat menjadi pusat informasi serta sarana registrasi online yang terjamin keamanannya.

Tujuan Penelitian

Penelitian ini bertujuan mengembangkan sistem informasi IPB Online Voting Centre sebagai pusat informasi selama pemilu berlangsung. Penelitian ini juga dilakukan untuk membuat simulasi guna melihat kemungkinan

penerapannya pada pemilu yang diadakan di lingkungan kampus Institut Pertanian Bogor (IPB).

Ruang Lingkup Penelitian

Penelitian ini difokuskan kepada pengembangan keamanan sistem informasi IPB Online Voting Centre dalam setiap pengiriman data yang dilakukan serta dalam proses registrasi dan konfirmasinya. Penelitian ini juga membangun simulasi yang diujikan pada lingkungan kampus IPB.

Manfaat Penelitian

Pengembangan sistem ini diharapkan dapat memudahkan pemilih dalam mengakses informasi yang mereka butuhkan terutama yang berkaitan langsung dengan pelaksanaan pemilihan serta menjamin bahwa pertukaran data yang terjadi, contohnya pada saat registrasi, berlangsung secara aman.

TINJAUAN PUSTAKA Kriptografi (Cryptography)

Menurut Schneier (1996), kriptografi adalah seni dan ilmu untuk menjaga kerahasiaan pesan. Empat tujuan utama dari kriptografi, yaitu: 1 Kerahasiaan (confidentiality)

Kriptografi digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi. Kerahasiaan dijaga dengan melakukan enkripsi (penyandian).

2 Keutuhan (integrity)

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. Bentuk-bentuk manipulasi yang dapat dilakukan antara lain penyisipan, penghapusan, dan pensubstitusian data lain ke dalam data yang sebenarnya.

3 Otentikasi

Berhubungan dengan identifikasi/ pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diotentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.

(10)

2 4 Non-repudasi

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

Protokol

Menurut Aprilia (2007), suatu protokol adalah serangkaian langkah yang melibatkan dua pihak atau lebih dan dirancang untuk menyelesaikan suatu tugas. Protokol memiliki berbagai karakteristik seperti:

a Protokol memiliki urutan dari awal hingga akhir.

b Setiap langkah harus dilaksanakan secara bergiliran.

c Suatu langkah tidak dapat dikerjakan bila langkah sebelumnya belum selesai.

d Diperlukan dua pihak atau lebih untuk melaksanakan protokol.

e Protokol harus mencapai suatu hasil. f Setiap orang yang terlibat dalam protokol

harus mengetahui terlebih dahulu mengenai protokol dan seluruh langkah yang akan dilaksanakan.

g Setiap orang yang terlibat dalam protokol harus menyetujui untuk mengikutinya. h Protokol tidak boleh menimbulkan

kerancuan (ambigu) dan tidak boleh timbul kesalahpahaman.

i Protokol harus lengkap, harus terdapat aksi yang spesifik untuk setiap kemungkinan situasi.

Protokol Two Central Facilities

Menurut Scheneier (1996), protokol Two Central Facilities adalah sebagai berikut: 1 Setiap pemilih mengirimkan pesan kepada

CLA dan meminta nomor validasi,

2 CLA melakukan pengiriman balik dengan nomor validasi acak. CLA menyimpan satu daftar nomor validasi. CLA juga mempertahankan daftar nomor validasi penerima, mengantisipasi seseorang memilih 2 kali,

3 CLA mengirimkan daftar nomor validasi kepada CTF,

4 Setiap pemilih memilih nomor identifikasi secara acak. Selanjutnya pemilih dapat membentuk sebuah pesan dengan angka, nomor validasi yang diperoleh dari CLA, dan pilihannya. Pesan ini lalu dikirimkan kepada CTF,

5 CTF akan memeriksa dan membandingkan nomor validasi dengan daftar yang dikirimkan CLA. Jika nomor validasi

terdapat pada daftar maka nomor tersebut akan disilang untuk menghindari pemilih memberikan suara dua kali. CTF akan menambahkan nomor identifikasi pada daftar sejumlah orang yang memberikan suara pada kandidat tertentu dan menambahkan satu pada penghitungan, 6 Setelah semua suara terpilih, CTF

mempublikasikan keluaran, seperti daftar nomor identifikasi dan untuk siapa suara tersebut diberikan.

Pada sistem ini setiap pemilih dapat melihat daftar nomor identifikasi dan mencari nomor miliknya. Ini memberikan bukti bahwa pilihannya telah dihitung. Tentu saja semua pesan yang dikirimkan antar pihak telah dienkripsi dan ditandatangani untuk menghindari peniruan terhadap identitas orang lain atau menghindari adanya penangkapan transmisi.

CTF tidak dapat memodifikasi suara karena setiap pemilih akan melihat string identifikasi yang dimilikinya. Jika seorang pemilih tidak berhasil menemukan string identifikasinya, atau ditemukan string identifikasi pada kandidat yang tidak dipilih, maka pemilih akan menyadari bahwa telah terjadi kecurangan. CTF tidak dapat memanipulasi kotak penghitungan suara karena kegiatan tersebut berada dalam pengawasan CLA. CLA mengetahui berapa banyak pemilih yang telah terdaftar dan nomor validasinya, dan akan mendeteksi jika terdapat modifikasi.

Meski demikian, CLA masih merupakan badan yang dapat dipercaya. Badan ini dapat menyatakan pemilih yang tidak memiliki hak pilih. CLA juga dapat mengawasi pemilih yang melakukan kecurangan seperti memilih lebih dari satu kali. Hal ini dapat diantisipasi dengan cara menerbitkan daftar pemilih yang telah disertifikasi. Jika nomor pemilih dalam daftar tidak sama dengan jumlah suara, maka dicurigai telah terjadi kesalahan atau kecurangan. Sebaliknya jika jumlah peserta yang ada pada gambar lebih banyak dari hasil tabulasi artinya beberapa pemilih tidak menggunakan hak suaranya.

Protokol ini memenuhi paling banyak syarat secure election menurut Scheneire (1996). Namun terdapat pula kekurangan yaitu protokol ini memudahkan terjadinya koalisi antara CLA dan CTF. Jika kedua lembaga tersebut berkoalisi dan menggabungkan pangkalan datanya maka dapat diketahui pilihan sekaligus identitas pemilih secara bersamaan.

(11)

3 Central Legitimization Agency (CLA)

Central Legitimization Agency (CLA) merupakan badan sertifikasi pemilih yang memiliki tugas utama mengotentikasi dan mengotorisasi pemilih. Setiap pemilih akan mengirim pesan kepada CLA yang berisi permintaan ValidationID. CLA akan membangkitkan ValidationID, mendaftarkannya secara aman kepada Central Tabulating Facilities, dan mengirimkannya pada pemilih. ValidationID bernilai kompleks sehingga secara komputasi tidak dimungkinkan seorang penyerang untuk memproduksi sebuah ID yang valid. CLA memiliki daftar ValidationID serta daftar identifikasi pemilih dari setiap ValidationID untuk mencegah pemilih menerima lebih dari satu ValidationID dan melakukan lebih dari satu kali pemilihan (DuFue dan Harris 2001).

Central Tabulating Facilities (CTF)

Central Tabulating Facilities (CTF) merupakan badan tabulasi/penghitungan suara yang bertugas:

• Memberikan daftar kandidat terpilih sebagai verifikasi atas permintaan pemilih.

Menerima secure ValidationID yang telah disertifikasi dan ditandatangani CLA. • Menerima permintaan sertifikasi daftar

kandidat dari pemilih yang sah.

Menerima secure vote dari pemilih yang sah melalui permintaan verifikasi secara aman. • Mengijinkan pemilih untuk meminta hasil

pemilihan yang sah.

Dalam rangka memverifikasi pemilih, CTF mengirimkan ValidationID pemilih untuk dicek kevalidannya oleh CLA. Jika ValidationID tersebut sah maka CTF akan mengirimkan daftar kandidat untuk dipilih. Selanjutnya secure vote pemilih akan dimasukkan ke dalam kotak suara (DuFeu dan Harris 2001).

Certified Authority (CA)

CA merupakan surat pernyataan atas hak kepemilikan kunci publik. Kunci publik itu sendiri disahkan oleh pihak yang berwenang (Sireesha dan Chakchai 2005).

Kunci Publik (Public Key)

Kunci Publik (Public Key) adalah kunci yang dirancang sedemikian sehingga kunci yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan pada proses dekripsi (Schneier 1996).

Kunci Simetri (Session Key)

Kunci Simetri (Session Key) adalah kunci yang dirancang sedemikian sehingga kunci yang digunakan untuk enkripsi sama dengan kunci yang digunakan pada proses dekripsi menurut Schneier (1996).

Blowfish

Menurut Schneier (1996) Blowfish merupakan blok cipher 64-bit dengan panjang kunci variabel. Algoritme ini terdiri atas dua bagian: key expansion dan enkripsi data. Key expansion mengubah kunci yang dapat mencapai 448 bit menjadi beberapa array subkunci (subkey) dengan total 4168 byte.

Blowfish dikembangkan untuk memenuhi kriteria disain sebagai berikut:

a Cepat, pada implementasi yang optimal Blowfish dapat mencapai kecepatan 26 clock cycle per byte.

b Kompak, Blowfish dapat berjalan pada memori kurang dari 5 KB.

c Sederhana, Blowfish hanya menggunakan operasi yang simpel: penambahan (addition), XOR, dan penelusuran tabel (table lookup) pada operand 32 bit. Desainnya mudah untuk dianalisis yang membuatnya resisten terhadap kesalahan implementasi.

d Keamanan yang variabel, panjang kunci Blowfish dapat bervariasi dan dapat mencapai 448 bit (56 byte).

Secure Hash Algorithm (SHA)-1

Menurut Munir (2004), Secure Hash Algorithm (SHA) adalah fungsi hash satu-arah yang dibuat oleh NIST dan digunakan bersama Digital Signature Standard (DSS). Oleh NSA, SHA dinyatakan sebagai standar fungsi hash satu-arah. SHA didasarkan pada MD4 yang dibuat oleh Ronald L. Rivest dari MIT.

Fungsi hash yang paling umum digunakan adalah SHA-1. SHA-1 menerima masukan berupa pesan dengan ukuran maksimum 64 bit dan menghasilkan message digest yang panjangnya 160 bit, lebih panjang dari message digest yang dihasilkan oleh MD5 yang hanya 128 bit.

Langkah-langkah pembuatan message digest dengan SHA-1 adalah sebagai berikut:

1 Ubah pesan m menjadi message digest dengan fungsi hash SHA-1, H,

2 Tentukan bilangan acak k<q,

3 Tanda-tangan dari pesan m adalah bilangan r dan s. Hitung r dan s sebagai berikut:

(12)

4 r = (gk mod p) mod q

s = (k-1 (H(m) + x*r)) mod q 4 Kirim pesan m beserta tanda-tangan r dan s. Nonce

Dalam bidang teknik keamanan, nonce merupakan kepanjangan dari number used once (nomor yang digunakan hanya sekali). Umumnya bilangan ini berupa bilangan acak atau semi-acak yang digunakan dalam protokol otentikasi untuk memastikan bahwa komunikasi lama tidak dapat digunakan ulang dalam serangan balasan (replay attacks) (Ross 2001). Algoritme RSA

Algoritme RSA dinamakan berdasarkan nama tiga orang penemunya yakni Ron Rivest, Adi Shamir, dan Leonard Adleman. Keamanan algoritme RSA didapatkan dari sulitnya menfaktorkan bilangan yang besar menjadi faktor-faktor prima. Pemfaktoran dilakukan untuk memperoleh kunci privat. Algoritme RSA digunakan sebagai algoritme kunci publik (Boneh 1999).

Secure Socket Layer (SSL)

Secure Sockets Layer adalah metode enkripsi yang dikembangkan oleh Netscape untuk memberikan keamanan di internet. SSL mendukung beberapa protokol enkripsi dan memberikan otentikasi client dan server. SSL beroperasi pada layer transpor, menciptakan saluran enkripsi yang aman untuk data, dan dapat mengenkripsi banyak tipe data.

Cara kerja SSL dapat dilihat dengan tahapan berikut ini:

1 Client membentuk koneksi awal ke server dan meminta koneksi SSL,

2 Bila server yang dihubungi telah dikonfigurasi dengan benar, maka server ini akan mengirimkan client public key miliknya,

3 Client membandingkan sertifikat dari server ke pangkalan data. Bila sertifikat ini terdaftar, artinya client mempercayai server dan akan maju ke langkah 4. Bila sertifikat itu terdaftar, maka pemakai harus menambahkan sertifikat ini ke trusted database sebelum maju ke langkah 4, 4 Client menggunakan public key yang

didapatnya untuk mengenkripsi sesi dan mengirimkan session key ke server. Bila server meminta sertifikat client di langkah 2, maka client harus mengirimkannya sekarang,

5 Server akan membandingkan sertifikat yang diterimanya dengan pangkalan data dan akan menerima atau menolak koneksi yang diminta. Bila kondisi ditolak, suatu pesan gagal akan dikirimkan ke client. Bila koneksi diterima, atau bila server tidak di-setup untuk menerima sertifikat, maka server akan men-decode session key yang didapat dari client dengan private key milik server dan mengirimkan pesan berhasil ke client. Dengan demikian terbuka suatu secure data chanel (Jumar 2003).

METODE PENELITIAN

Penelitian ini dikembangkan dengan metode Security Life Cycle. Berdasarkan Bishop (2003) 6 tahap utama yang diterapkan dalam Security Life Cycle diantaranya: (1) Ancaman (Threats), (2) Kebijakan (Policy), (3) Spesifikasi (Specification) (4) Perancangan (Design) (5) Implementasi (Implementation) serta (6) Operasi dan Pemeliharaan (Operation and Maintenance). Metode Security Life Cycle dapat dilihat pada Gambar 1. Oleh karena keterbatasan waktu, penelitian ini difokuskan dari tahap (1) hingga (5) serta disempurnakan dengan tahapan pengujian.

Gambar 1 The Security Life Cycle. Ancaman (Threat)

Sebuah ancaman (threat) adalah kekerasan potensial dalam suatu sistem keamanan. Di dalam konteks pemilu, terdapat banyak sekali serangan yang mengancam pertukaran informasi yang terkirim dan diterima oleh voter dan server. Peran kriptografi sangat dibutuhkan untuk melindungi sistem pemilu. Oleh karenanya, sistem pemilu yang akan dibangun harus dipersiapkan agar mampu melindungi sistem dari ancaman-ancaman yang mungkin

(13)

5 terjadi. Dalam penelitian ini berbagai ancaman

yang dapat timbul pada saat pemilihan berlangsung akan dianalisis dalam empat kelas besar yakni:

a Disclosure, yakni akses terhadap informasi oleh pihak yang tidak berwenang, contohnya akses terhadap pilihan atau suara pemilih. b Deception, yakni penerimaan data yang

salah, contohnya perubahan pilihan pemilih sehingga badan tabulasi menerima data yang salah.

c Disruption, yakni gangguan atau pencegahan terhadap operasi yang benar. d Usurpation, yakni pengaturan beberapa

bagian dari sistem oleh pihak-pihak yang tidak berwenang.

Kebijakan (Policy)

Kebijakan keamanan adalah pernyataan atas apa yang diperbolehkan dan tidak diperbolehkan dalam menjalankan sebuah sistem. Metode, alat, atau prosedur untuk melaksanakan kebijakan keamanan tersebut dinamakan mekanisme keamanan. Sistem pemilu yang rentan terhadap serangan keamanan tentu membutuhkan kebijakan tentang hal-hal yang diperbolehkan dan tidak diperbolehkan dalam proses penyelenggaraan pemilu secara online. Kebijakan yang dibuat untuk menjalankan pemilu online dalam penelitian ini mengacu pada protokol secure voting yang ditulis dalam buku karangan Schneier (1996).

Spesifikasi (Specification)

Spesifikasi adalah pernyataan baik formal maupun informal mengenai fungsi sistem yang diinginkan (Bishop 2003). Setelah kebijakan pemilu dibuat, langkah selanjutnya adalah menentukan spesifikasi sistem. Agar dapat menjalankan mekanisme keamanan sesuai dengan kebijakan, sistem pemilu online membutuhkan berbagai spesifikasi keamanan. Pada konteks penelitian kali ini spesifikasi yang digunakan adalah spesifikasi informal yang menjelaskan fungsi-fungsi yang dikerjakan sistem agar dapat menjalankan kebijakan. Perancangan (Design)

Tahap perancangan akan menerjemahkan spesifikasi menjadi komponen-komponen yang dapat diimplementasikan. Suatu perancangan dikatakan sesuai dengan spesifikasi jika dalam semua kondisi, rancangan yang telah dibuat tidak mengizinkan sistem untuk melanggar spesifikasi.

Tahap perancangan mencakup perancangan sistem secara umum yakni perancangan sistem keseluruhan dari IPB Online Voting Centre dan perancangan sistem secara khusus yaitu perancangan keamanan sistem dan proses pengiriman data.

Implementasi (Implementation)

Pada tahap ini hasil analisis dan perancangan akan diimplementasikan menjadi sistem dengan lingkungan implementasi pada adalah sebagai berikut:

a Sistem Operasi Microsoft Windows XP Service Pack 2.

b Apache Friends XAMPP sebagai server, MySQL sebagai pangkalan data, dan PHP sebagai bahasa pemrograman.

c Notepad++.

d Mozilla Firefox versi 3.0.11 sebagai browser yang digunakan dalam menjalankan sistem.

Pengujian

Tahap pengujian dilakukan untuk menguji apakah sistem yang dibangun memberi hasil keluaran seperti yang diharapkan. Pengujian pada penelitian ini dilakukan dengan metode blackbox dan simulasi.

HASIL DAN PEMBAHASAN Seperti yang telah disebutkan sebelumnya, penelitian ini merupakan sebuah bagian dari cakupan yang lebih besar yakni pengembangan electronic voting dengan protokol kriptografi Two Central Facilities. Penelitian sebelumnya oleh Sireesha dan Chakchai (2005) telah mengembangkan protokol tersebut sedemikian rupa sehingga memiliki alur seperti terdapat pada Gambar 2.

Protokol ini memiliki dua lembaga penyelenggara pemilu yang diimplementasikan dalam dua server yang berbeda. Lembaga pertama yakni Central Legitimization Agency (CLA) merupakan badan sertifikasi pemilih yang memiliki tugas utama mengotentikasi dan mengotorisasi pemilih. CLA mempunyai pangkalan data yang menyimpan data pemilih baik data diri maupun ID (username dan password) pemilih. Pangkalan data ini tidak dapat diperlihatkan pada pihak lain sekalipun CTF. Setiap proses yang membutuhkan data pemilih, contohnya login dan verifikasi pilihan harus melakukan pengecekan langsung dengan CLA. Lembaga kedua yakni Central Tabulating Facilities (CTF) merupakan badan

(14)

6 Gambar 2 Skema pemilihan dengan Two Central Facilities.

tabulasi/penghitungan suara. Pangkalan data yang terdapat pada CTF berisi suara atau pilihan pemilih dan perhitungannya untuk masing-masing kandidat.

Adapun alur kerja online voting berdasarkan gambar tersebut adalah sebagai berikut: 1 Pemilih (voters) mengirimkan permintaan

untuk memilih dan otentikasi dengan CLA. Untuk menunjukkan identitasnya, pemilih mengenkripsi pesan ini dengan kunci publik pemilih “voter.pub”,

2 CLA mengirimkan CA (Certified Authority) yang berisi kunci publik CLA “CLA.pub”. Pesan ini dienkripsi dengan kunci publik CA “CA.pub” untuk menjamin kerahasiaannya. Kunci publik CLA akan digunakan pemilih untuk mengirimkan session key yang akan digunakan pada komunikasi selanjutnya. Session key yang digunakan, dibangkitkan dengan algoritme blowfish,

3 Pemilih masuk ke sistem dengan memasukkan username dan password. Sebelum dilakukan pengiriman dan otentikasi dengan pangkalan data CLA, username dan password dienkripsi dengan session key,

4 Jika username dan password tersebut sah, maka pemilih mendapatkan balasan berupa ValidationID dari CLA,

5 Pemilih selanjutnya mengirimkan request candidate list kepada CTF. Untuk menunjukkan identitasnya, pemilih

mengenkripsi pesan ini dengan kunci publik pemilih “voter.pub”,

6 CTF mengirimkan CA (Certified Authority) yang berisi kunci publik CTF “CTF.pub”. Pesan ini dienkripsi dengan kunci publik CA “CA.pub” untuk menjamin kerahasiaannya. Kunci publik CTF akan digunakan pemilih untuk mengirimkan session key yang akan digunakan pada komunikasi selanjutnya. Session key yang digunakan, dibangkitkan dengan algoritme blowfish,

7 CTF mengirimkan ValidationID pemilih yang sudah dienkripsi dengan session key, 8 Jika sah, CLA akan mengirimkan pesan

konfirmasi bahwa pemilih tersebut pemilih yang sah,

9 Selanjutnya CTF akan mengirimkan balasan berupa candidate list yang akan dipilih. Proses yang sama juga terjadi saat pemilih memverifikasi pilihannya.

Penelitian ini merupakan bagian awal dari online voting. Pada penelitian ini dibangun sistem IPB Online Voting Centre berbasis web yang menjadi pusat informasi selama pemilihan berlangsung. Sistem ini sekaligus sebagai sarana registrasi online bagi para pemilih. Ancaman (Threat)

Sebuah sistem keamanan yang dibuat harus dipersiapkan agar mampu untuk melindungi sistem dari ancaman-ancaman yang mungkin terjadi. Pada situs yang dikembangkan, ancaman yang mungkin timbul antara lain:

(15)

7 1 Modification or alternation yakni

pengubahan informasi yang dilakukan oleh pihak yang tidak berwenang. Modification yang mengancam sistem ini termasuk dalam kelas deception. Ancaman modifikasi yang mungkin terjadi dalam adalah pengubahan akun login (username dan password) yang akan dikirimkan sistem ke pemilih. Pengubahan ini mungkin dilakukan oleh pihak yang tidak berwenang sehingga akun login tersebut tidak lagi sama dan tidak dapat digunakan oleh pemilih. Pengubahan lain yang mungkin terjadi adalah terhadap konten dari situs ini sendiri. Hal ini dapat mengakibatkan penerimaan informasi yang salah oleh pengguna sistem.

2 Snooping yakni penangkapan informasi oleh pihak-pihak yang tidak berwenang. Snooping merupakan bentuk dari disclosure. Hal ini bersifat pasif seperti penyadapan komunikasi atau pencarian informasi melalui sebuah berkas atau sistem. Ancaman yang mungkin terjadi adalah penyadapan komunikasi yang terjadi saat proses registrasi sehingga data yang dikirimkan pemilih dapat diketahui oleh pihak yang tidak berwenang.

Kebijakan (Policy)

Menurut Scheneier (1996) secure voting yang dibangun secara komputerisasi akan digunakan jika terdapat protokol yang menjamin:

1 Privasi individu.

2 Pencegahan terhadap kecurangan.

Suatu protokol secure election yang ideal harus memiliki 6 persyaratan sebagai berikut: 1 Hanya pemilih yang berhak yang dapat

memberikan suara (otentifikasi).

2 Tidak boleh memberikan lebih dari satu suara.

3 Tidak boleh menentukan orang lain harus memilih untuk siapa.

4 Tidak ada yang bisa menduplikasi suara orang lain.

5 Tidak boleh mengubah pilihan orang lain. 6 Setiap pemilih dapat memastikan bahwa

suara mereka sudah dikirimkan dan terhitung dalam penghitungan akhir. Sebagai bagian awal dari electronic voting, sistem yang dibangun haruslah memenuhi sebagian dari persyaratan diatas. Persyaratan tersebut diantaranya:

1 Hanya pemilih yang berhak yang dapat memberikan suara (otentifikasi) yang dipenuhi dengan adanya proses registrasi. Setiap pemilih terlebih dahulu harus mendaftarkan dirinya agar dapat mengikuti pemilihan. Setelah itu pemilih akan mendapatkan akun (username dan password) yang digunakan dalam proses pemilihan. Username dan password inilah yang menjadi bukti bahwa orang tersebut merupakan pemilih yang sah dan dapat memberikan suaranya.

2 Tidak boleh memberikan lebih dari satu suara. Hal ini dapat pula diartikan pencegahan pemilih ganda. Pemilih ganda dapat dicegah jika terlebih dahulu dilakukan pengecekan apakah seseorang yang mendaftar sebagai pemilih sudah pernah mendaftarkan dirinya. Pengecekan ini dapat dilakukan pada ID pemilih. 3 Setiap pemilih dapat memastikan bahwa

suara mereka terhitung dalam perhitungan akhir. Pemilih dapat memastikan hal tersebut jika terdapat grafik yang menampilkan hasil perhitungan. Perolehan suara pada kandidat yang dipilih akan mengalami peningkatan saat pemilih memberikan suaranya. Hal ini merupakan sebuah bukti bahwa pilihan pemilih masuk dan terhitung oleh sistem.

Spesifikasi (Specification)

Untuk memenuhi kebijakan diatas, sistem yang dibangun diharapkan dapat terjamin keamanannya. Secara umum sistem yang dibangun haruslah memberikan jaminan bahwa informasi yang diakses pengguna adalah informasi yang akurat. Dalam hal ini, penggunaan sebuah sertifikat digital yang merupakan solusi yang tepat.

Pengiriman data dalam setiap proses, misalnya registrasi juga haruslah terjamin keamanannya. Untuk itu diperlukan pengenkripsian data sebelum pengiriman dilakukan serta dapat pula dilakukan penambahan nilai hash agar integritas data terpenuhi.

Sistem ini juga dilengkapi dengan grafik yang menggambarkan perolehan suara setiap kandidat dari waktu ke waktu.

Perancangan (Design)

Perancangan sistem yang dibangun terbagi menjadi dua bagian, yakni perancangan sistem secara umum yang membahas keseluruhan sistem yang dibangun. Perancangan

(16)

8 selanjutnya adalah perancangan secara khusus

yang akan membahas perancangan keamanan sistem keseluruhan dan proses pengiriman data.

Perancangan Sistem Secara Umum

Sistem yang dibangun yakni sistem informasi IPB Online Voting Centre berbasis web dibangun dengan menggunakan CSS dan HTML yang dapat diakses atau dilihat menggunakan penjelajah situs dan dapat menerima input dari keyboard dan mouse. IPB Online Voting Centre menyediakan informasi-informasi yang diperlukan selama pemilihan berlangsung seperti:

Persyaratan mengikuti online voting, yaitu (1) pemilih terlebih dahulu harus melakukan registrasi, (2) pemilih diharapkan menyimpan username dan password yang akan digunakan pada untuk mengikuti online voting, dan (3) pemilih harus memastikan komputer yang digunakan nantinya sudah ter-install jre 1.6

• Perolehan suara masing-masing kandidat. Hasil perhitungan ini disajikan dalam bentuk grafik tiga dimensi berbentuk pie dilengkapi dengan nilai total suara dan persentasenya sehingga dapat menunjukkan perbedaan secara jelas antara perolehan suara masing-masing kandidat.

Registrasi untuk menjadi voter. Untuk menjadi voter yang sah terlebih dahulu seseorang harus memasukkan data dirinya, antara lain nama depan, nama belakang, nrp, nama ibu kandung dan alamat email. Sebagai konfirmasi sistem akan mengirimkan username dan password melalui email voter secara aman.

• Profil kandidat yang akan dipilih. Hal ini dimaksudkan agar voter dapat lebih mengenal para kandidat dan memilih kandidat yang terbaik.

Panduan mengikuti online voting yang merupakan langkah-langkah untuk menjalankan sistem online voting yang akan digunakan selama pemilihan. Perancangan Sistem Secara Khusus

Seorang pengguna harus terlebih dahulu memastikan bahwa web yang diaksesnya merupakan web yang asli, untuk itu IPB Online Voting Centre akan dilengkapi dengan sertifikat yang membuktikan keaslian sistem. Sertifikat yang tercantum pada sistem

merupakan sertifikat yang berasal dari pihak yang berwenang.

Proses komunikasi dan pengiriman data dalam setiap kesempatan pun haruslah dalam saluran yang aman. Pengamanan dapat dilakukan dengan terlebih dahulu mengenkripsi data yang akan dikirim ke server. Proses yang melibatkan hal ini adalah registrasi pemilih. Seorang calon pemilih harus terlebih dahulu mendaftarkan dirinya dengan cara mengisi data diri pada form yang ada di halaman registrasi. Saat pemilih selesai mengisi dan menekan tombol submit, akan dilakukan pengecekan terhadap beberapa field. Dilakukan pengecekan format data yang dimasukkan, dilakukan pula pengecekan apakah terdapat kesamaan data dengan yang sudah tersimpan dalam pangkalan data. Jika semua sudah selesai dilakukan, maka data akan dikirim dan disimpan ke pangkalan data server. Pengiriman data didahului dengan mengenkripsi data tersebut agar tidak diketahui pihak lain yang tidak berwenang. Jika semua sudah selesai dilakukan, maka data akan dikirim dan disimpan ke pangkalan data server.

Selanjutnya pemilih akan mendapatkan usename dan password yang berfungsi sebagai ID dan digunakan untuk masuk dan mengikuti pemilihan umum. Username dan password akan dikirim ke email pemilih. Untuk menjaga keutuhan data yang dikirimkan, disertakan nilai hash dari username dan password.

Gambar 3 Proses registrasi pada IPB Online Voting Centre.

(17)

9 Implementasi (Implementation)

Implementasi IPB Online Voting Centre Halaman utama dari sistem ini menampilkan informasi mengenai persyaratan untuk mengikuti pemilihan. Pada halaman utama juga ditampilkan grafik pie tiga dimensi yang menggambarkan perolehan suara masing-masing kandidat. Grafik ini terhubung dengan pangkalan data pada badan tabulasi (CTF) yang terus ter-update.

Gambar 4 Halaman utama pada IPB Online Voting Centre.

Gambar 5 Grafik perolehan suara pada IPB Online Voting Centre.

Pada halaman selanjutnya terdapat form yang harus diisi untuk registrasi menjadi voter. Terdapat beberapa field yakni nama depan, nama belakang, NRP, nama ibu kandung dan email yang harus diisi secara benar. Seseorang tidak dapat memasukkan data yang sama lebih dari satu kali, selain itu data baru bisa di-input-kan jika semua data terisi dalam format yang sesuai, contohnya NRP yang didahului dengan huruf dan diikuti dengan delapan digit angka.

Gambar 6 Form registrasi pada IPB Online Voting Centre.

Selanjutnya terdapat sekilas profil mengenai masing-masing kandidat. Profil tersebut meliputi biodata diri, pengalaman organisasi, prestasi yang dicapai, dsb.

Gambar 7 Profil kandidat pada IPB Online Voting Centre.

Panduan mengikuti pemilu terdapat di halaman selanjutnya. Halaman ini juga menyediakan fasilitas untuk mengunduh program IPB Online Voting yang akan digunakan selama pemilihan berlangsung.

Gambar 8 Panduan pemilihan umum pada IPB Online Voting Centre.

Halaman terakhir pada web ini berisikan informasi mengenai pengembang sistem informasi IPB Online Voting Centre dan sistem IPB Online Voting ini.

Gambar 9 Halaman Tentang kami pada IPB Online Voting Centre.

Tiga halaman web di awal juga menyertakan pengingat tanggal yakni batas akhir registrasi voter dan hari pemilihan.

(18)

10 Implementasi Secure Socket Layer pada

IPB Online Voting Centre

IPB Online Voting Centre merupakan sebuah web yang dikembangkan dengan Apache sebagai server. Agar proses pengiriman data yang dilakukan lebih aman maka web ini mengimplementasikan Secure Socket Layer (SSL) untuk metode enkripsi serta memberikan otentikasi client dan server. Pengimplementasian ini juga mengubah lokasi web yang sebelumnya diakses melalui HTTP, menjadi akses melalui HTTPS. HTTPS merupakan varian dari protokol HTTP dimana user mengakses dengan https://.

SSL merupakan sebuah modul pada Apache. Untuk mengimplementasikan SSL dan membuat HTTPS server di Apache perlu dilakukan beberapa langkah, yaitu:

1 Membuat sertifikat SSL

Hal ini dapat dilakukan dengan menjalankan perintah

:~# apache2-ssl-certificate

dan menjawab pertanyaan-pertanyaan tentang nama server, domain dan sebagainya. Pertanyaan tersebut harus dijawab dengan lengkap,

2 Aktifkan modul SSL,

3 Membuat virtual host untuk SSL.

Secara default, virtual host Apache akan mengarah pada virtual host 80. Namun untuk menjalankan SSL dibutuhkan dua virtual host yakni virtual host 80 dan virtual host SSL sendiri yakni virtual host 443,

4 Aktifkan port SSL, 5 Tes konfigurasi, 6 Restart Apache.

Konfigurasi dilakukan pada beberapa file Apache yaitu ”httpd.conf” dan ”httpd-vhosts.conf” (file konfigurasi virtual host).

Pengiriman akun login merupakan bagian dari fungsi registrasi voter. Pada saat registrasi, mula-mula akan dilakukan pengecekan apakah semua field diisi oleh voter. Ketika semua field sudah terisi dengan baik, dilakukan pula pengecekan format pengisian data pada field Nrp. Bila data yang terisi pada field-field tersebut sudah sesuai dengan format yang diinginkan maka akan dilakukan satu lagi pengecekan apakah terdapat data yang sama. Hal ini didasarkan pada Nrp voter. Jika data dapat melewati proses pengecekan di atas selanjutnya data tersebut akan tersimpan dalam pangkalan data

CLA. Kemudian CLA akan mengirimkan username dan password ke email voter. Username berupa nomor user, contohnya user0, user1, dan seterusnya sedangkan password merupakan bilangan yang dibangkitkan secara acak. Username dan password tersebut akan dikirim bersama dengan nilai hash-nya dengan SHA-1 untuk menjamin integritas. Nilai hash tersebut dapat langsung dibangkitkan dengan fungsi yang terdapat dalam PHP.

Pengujian

Pengujian terhadap sistem ini dilakukan menggunakan blackbox testing. Pengujian dibagi ke dalam dua tahap, yakni:

1. Tahap pengujian terhadap sistem IPB Online Voting Centre secara keseluruhan. Pada tahap ini akan diuji apakah sistem sudah memenuhi perancangan yang dibuat. 2. Tahap pengujian terhadap SSL yang diterapkan pada sistem. Pada tahap ini akan diujikan apakah sistem dapat berjalan dengan baik jika dijalankan pada https://. Hasil pengujian keseluruhan sistem baik sistem IPB Online Voting Centre maupun sistem pemilihan online voting dapat dilihat pada Lampiran 2.

KESIMPULAN DAN SARAN Kesimpulan

Sistem IPB Online Voting Centre dapat membantu mendistribusikan informasi terkait pemilihan yang akan dijalankan dan meningkatkan efisiensi waktu dan tenaga terkait dengan pendaftaran dan pendataan pemilih yang lebih mudah karena dapat dilakukan secara online.

Sistem ini juga terjamin keamanannya karena menerapkan SSL dan dijalankan pada https://.

Saran

Pada penelitian kali ini, sistem masih memiliki kelemahan dan kekurangan yang diharapkan dapat terus dikembangkan dan diperbaiki pada penelitian selanjutnya. Rekomendasi yang dapat dilakukan untuk penelitian selanjutnya diantaranya:

• Terdapat berkas yang harus diunduh pemilih pada salah satu halaman sistem. Berkas ini yang akan digunakan untuk proses pemilihan. Pada penelitian ini belum ada pengamanan khusus untuk

(19)

11 berkas tersebut. Penelitian selanjutnya

diharapkan dapat meningkatkan keamanan berkas tersebut, contohnya dengan sertifikasi khusus dan anti virus. Penelitian selanjutnya juga diharapkan dapat menambahkan fasilitas autoextract pada pengunduhan berkas tersebut serta mengujikan kemampuannya jika berkas tersebut diunduh oleh banyak orang. • Terkait dengan berkas tersebut yang

selanjutnya harus diletakkan di direktori c: pada komputer pengunduh agar dapat dijalankan, perlu pula dipikirkan path yang lebih sesuai karena direktori c: hanya umum pada sistem operasi Windows.

DAFTAR PUSTAKA

Adriana T. 2007. Kriptografi dan Pemanfaatannya pada RSA dan MD5. Bandung: Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung. Aprilia S. 2007. Penyerangan Cryptographic

Protocol Menggunakan Basic Cryptanalytic Attacks. Bandung: Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung.

Bishop M. 2003. Computer Security: Art and Science. Boston: Pearson Education, Inc. Boneh D. 1999. Twenty Years of attacks on

the RSA Cryptosystem. Notices of the American Mathematical Society (AMS). Bruce S. 1996. Applied Cryptography,

Second Edition, Jon Wiley & Sons. DuFeu D, Harris J. 2001. Online Election

System. Carleton University.

Munir R. 2004. Digital Signature Standard (DSS). Bandung: Departemen Teknik Informatika, Institut Teknologi Bandung. Ross A. 2001. Security Engineering: A Guide

to Building Dependable Distributed Systems. Wiley.

Sireesha J, Chakchai S. 2005. Secure Virtual Election Booth with Two Central Facilities. Department of Computer Science Washington University in St. Louis, USA.

Tamici H. 2007. Analisis Kinerja Cryptography Secure Hash Standard pada Digital Signature Standard. Bandung: Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung.

(20)

12 LAMPIRAN

(21)

13 Lampiran 1 Hasil pengujian sistem IPB Online Voting dengan metode blackbox testing

Tabel 1 Pengujian IPB Online Voting Center

No. Deskripsi Uji Kondisi Awal Skenario Uji Hasil yang

diharapkan Hasil Uji

1 Membuka halaman utama Halaman utama belum diakses oleh user User membuka halaman utama Halaman utama dapat ditampilkan Berhasil 2 Menampilkan diagram hasil pemilu

Halaman utama belum diakses oleh user User membuka halaman utama Tampil diagram

hasil pemilu Berhasil

3 Melakukan registrasi sebagai pemilih (user) Form registrasi masih dalam keadaan kosong User menginputkan data sebagai berikut: Nama depan Nama belakang NRP Nama ibu kandung Email Data tersimpan dalam pangkalan data CLA Berhasil 4 Mendapatkan konfirmasi dari proses registrasi Registrasi sudah dilakukan user User membuka email dari sistem.

User mendapatkan akun login (username dan password) serta nilai hash-nya. Tidak berhasil 5 Membuka halaman profil kandidat Halaman profil kandidat belum diakses oleh user User membuka halaman profil kandidat Halaman profil kandidat dapat ditampilkan Berhasil 6 Membuka halaman pemilihan umum Halaman pemilihan umum belum diakses oleh user User membuka halaman pemilihan umum Halaman pemilihan umum dapat ditampilkan Berhasil 7 Membuka halaman tentang kami Halaman tentang kami belum diakses oleh user User membuka halaman tentang kami Halaman tentang kami dapat ditampilkan Berhasil

(22)

14 Tabel 2 Pengujian pangkalan data CLA dan GUI Online Voting

No. Deskripsi Uji Kondisi Awal Skenario Uji Hasil yang

Diharapkan Hasil Uji 1 Melakukan login Field username dan password masih kosong Memasukkan username dan password User dapat memasukkan username dan password, user masuk ke sistem Berhasil 2 Melakukan pemilihan kandidat User sudah melakukan login User memilih kandidat pada daftar yang telah disediakan

Pilihan user

masuk ke sistem Berhasil

3 Melakukan logout User dalam kondisi log in

User mengklik

tombol log out User keluar sistem Berhasil

4 Membangkitkan random key

Pangkalan data dan berkas yang akan dibangkitkan belum tersedia Menjalankan kelas Generate Random Keys Semua berkas yang dibutuhkan telah tersedia dan berkas CLA, user tersimpan pada pangkalan data

Berhasil

Tabel 3 Pengujian Java Web Start

No. Deskripsi Uji Kondisi Awal Skenario Uji Hasil yang diharapkan

Hasil Uji

1

User mengunduh Voter.rar dari situs Online Voting User belum memiliki kunci simetri User membuka situs Online Voting dan mengunduh Voter.rar User dapat mengunduh dan menyimpan file Voter.rar Berhasil 2 User mencoba menjalankan aplikasi Online Voting Java Web Start

User telah mengunduh Voter.rar namun belum membuka aplikasi Java Web Start User menjalankan aplikasi Online Voting Aplikasi Online Voting dapat ditampilkan di layar user Berhasil 3 User mencoba untuk memilih dan mengirim hasil pilihan kandidat kepada CTF

User membuka aplikasi Online Voting dan sudah log in namun belum memilih kandidat

User menekan button submit Vote

Hasil pilihan kandidat berhasil dikirimkan dan diterima oleh CTF Berhasil 4 User mencoba untuk menverifikasi apakah hasil pilihannya telah dihitung oleh CTF User telah memilih namun belum melakukan verifikasi pilihan User menekan button verify Vote

CTF mengirimkan konfirmasi kepada user bahwa benar hasil pilihannya telah dihitung oleh CTF

(23)

15 Tabel 4 Pengujian pengiriman kunci simetri

No. Deskripsi Uji Kondisi Awal Skenario Uji Hasil yang diharapkan

Hasil Uji

1

Membangkitkan kunci simetri dengan Algoritme Blowfish di kelas User.java User belum memiliki kunci simetri Melakukan running pada kelas User.java User memiliki

kunci simetri Berhasil

2

Mengirimkan kunci simetri (paket 1) yang telah dienkripsi dari user menuju CLA CLA belum menerima kunci simetri (paket 1) dari user User mengenkripsi kunci simetri dan mengirimkannya kepada CLA CLA memiliki kunci simetri user Berhasil 3 Mengirimkan kunci simetri+Nonce+nilai hash (paket 2) yang telah dienkripsi dari user menuju CLA

CLA belum menerima kunci simetri + Nonce + hash (paket 2) dari user User mengenkripsi paket 2 dan mengirimkannya kepada CLA CLA menerima kunci simetri user Berhasil 4 CLA mengirimkan Nonce balasan kepada User User belum menerima Nonce balasan CLA mengirimkan Nonce balasan User menerima Nonce balasan dari CLA Berhasil 5 Mengirimkan kunci simetri (paket 1) yang telah dienkripsi dari user menuju CTF CTF belum menerima kunci simetri (paket 1) dari user User mengenkripsi kunci simetri dan mengirimkannya kepada CTF CTF memiliki kunci simetri user Berhasil 6 Mengirimkan kunci simetri+Nonce+nilai hash (paket 2) yang telah dienkripsi dari user menuju CTF CTF belum menerima kunci simetri + Nonce + hash (paket 2) dari user User mengenkripsi paket 2 dan mengirimkannya kepada CTF CTF menerima kunci simetri user Berhasil 7 CTF mengirimkan Nonce balasan kepada User User belum menerima Nonce balasan CTF mengirimkan Nonce balasan User menerima Nonce balasan dari CTF Berhasil

Tabel 5 Pengujian koneksi antara sistem dan pangkalan data CTF dan visualisasi hasil pemilihan suara

No. Deskripsi Uji Keadaan Awal Skenario Uji Hasil yang Diharapkan Hasil Uji 1. Pengiriman hasil pemilihan kandidat ke pangkalan data CTF Jumlah suara kandidat di pangkalan data belum bertambah Pemilih memilih salah satu kandidat

Jumlah suara kandidat terpilih di pangkalan data bertambah Berhasil 2. Menampilkan diagram hasil pemilihan suara Jumlah suara kandidat pada diagram belum bertambah Pemilih memilih salah satu kandidat

Jumlah suara kandidat terpilih pada diagram bertambah

Gambar

Gambar 1 The Security Life Cycle.  Ancaman (Threat)
Gambar 3 Proses registrasi pada IPB Online  Voting Centre.
Gambar 7 Profil kandidat pada IPB Online  Voting Centre.
Tabel 1 Pengujian IPB Online Voting Center
+3

Referensi

Dokumen terkait