• Tidak ada hasil yang ditemukan

Pengembangan Sistem Autentikasi Voter pada Central Legitimization Agency Menggunakan Media Mifare Smart Card®

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengembangan Sistem Autentikasi Voter pada Central Legitimization Agency Menggunakan Media Mifare Smart Card®"

Copied!
41
0
0

Teks penuh

(1)

REPRESENTASI

WORD GRAPH

MENGGUNAKAN

XML UNTUK KATA SIFAT DALAM BAHASA INDONESIA

RIA ASTRIRATMA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2012

PENGEMBANGAN SISTEM AUTENTIKASI

VOTER

PADA

CENTRAL LEGITIMIZATION AGENCY

MENGGUNAKAN MEDIA MIFARE

SMART CARD

®
(2)

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2012

Skripsi

sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer pada

Departemen Ilmu Komputer

PENGEMBANGAN SISTEM AUTENTIKASI

VOTER

PADA

CENTRAL LEGITIMIZATION AGENCY

MENGGUNAKAN MEDIA MIFARE

SMART CARD

®
(3)

ABSTRACT

ALFIAN PRAYANTA. The Development of Voting Authentication in Central Legitimization Agency Using Mifare Smart Card® Technology. Supervised by SUGI GURITMAN and SHELVIE NIDYA NEYMAN.

Cryptography becomes one of the important things in the development of electronic voting system. The voting system using internet network technology aims to reduce considerable calculation time as well as necessary human resources. Securing lines of communication between voting machines and servers is needed to communicate securely. The identity of the voters, which is used for authentication voting process is stored in Mifare smart card called identity card. Every identity card which contains unique identification and nomor induk kependudukan will be authenticated in Central Legitimization Agency server. Card identity is hashed with SHA-2 and encrypted with session key to assure that the integrity of data is not changed by others. Session key is distributed from CLA to voting machines which are encrypted with asymmetric RSA algorithm. Only voting machines can decrypt the ciphertext to get the session key as plaintext. The list of the voters who are allowed to vote is stored in the CLA database. The decrypted plaintext must be identical to one of the voters in the voters list, for the voter to be able to vote. Only one vote for each of the voters can be casted. If the time limit is reached, CLA will distribute the vote count to the Central Tabulating Facilities. Considering the complexity in building a complete secure online election voting process, this research is only focused developing a system to authenticate the voter identity in CLA from identity card which is stored in Mifare smart card.

(4)

Judul Skripsi : Pengembangan Sistem Autentikasi Voter pada Central Legitimization Agency

Menggunakan Media Mifare Smart Card®

Nama : Alfian Prayanta

NIM : G64070087

Menyetujui:

Pembimbing I, Pembimbing II,

Dr. Sugi Guritman Shelvie N. Neyman, S.Kom, M.Si

NIP. 19620927 199203 1 004 NIP. 19770206 200501 2 002

Mengetahui:

Ketua Departemen Ilmu Komputer,

Dr. Ir. Agus Buono, M.Si, M.Kom NIP. 19660702 199302 1 001

(5)

RIWAYAT HIDUP

Alfian Prayanta, anak laki-laki dari dua bersaudara pasangan Bapak Drs. M. Salam, M.Si dan Ibu Dra. Yernida, dilahirkan di Kota Jambi, Jambi pada Selasa, 14 Maret 1989. Pada tahun 2007, penulis lulus dari Sekolah Menengah Atas (SMA) Negeri 1 Kota Jambi kemudian penulis menempuh jalur Seleksi Penerimaan Mahasiswa Baru (SPMB) di Kota Jambi untuk masuk ke Institut Pertanian Bogor sebagai mahasiswa Departemen Ilmu Komputer Angkatan 44.

Saat ini, penulis telah menyelesaikan Praktik Kerja Lapang di Balai Mesin Perkakas, Teknik Produksi dan Otomasi – Badan Pengkajian dan Penerapan Teknologi. Pada Agustus 2010, penulis tergabung ke dalam tim database dan juga tim algoritma dalam proyek Optimasi Peletakan dan Pengambilan SLAB pada Pabrik Hot Strip Mill (HSM) PT. Krakatau Steel Indonesia. Penulis pernah

menjadi pengurus Komunitas Networking dan juga menjadi Ketua Komunitas Himpunan Mahasiswa

Ilmu Komputer (Himalkom), Institut Pertanian Bogor. Penulis pernah tergabung dalam oraganisasi Badan Eksekutif Mahasiswa Keluarga Mahasiswa Institut Pertanian Bogor (BEM-KM IPB) Kabinet Generasi Insiprasi periode 2010 sebagai staf Kementerian Pengembangan Sumber Daya Manusia. Penulis juga pernah menjadi Manager Humas pada Leadership and Entrepreneurship School (LES). Di kampus, penulis aktif menjadi asisten mata kuliah Basis Data, Rekayasa Perangkat Lunak, dan Sistem Pakar pada tahun 2009 hingga 2011 di Departemen Ilmu Komputer Institut Pertanian Bogor.

(6)

PRAKATA

Rasa syukur penulis ucapkan kepada Allah subhanahu wa-ta'ala yang telah memberikan anugerah dan rahmat-Nya hingga proses pembuatan skripsi ini dapat terselesaikan dengan lancar. Skripsi

berjudul “Pengembangan Sistem Autentikasi Voter pada Central Legitimization Agency

Menggunakan Media Mifare Smart Card” ini berangkat dari keinginan penulis yang ingin membantu mewujudkan pemilu di Indonesia ke arah yang lebih baik secara elektronik menggunakan protokol keamanan yang menjamin entitas dan proses didalamnya. Penelitian ini diharapkan dapat menjadi sumbangan pemikiran yang nantinya dapat terus dikembangkan bagi penyelenggaraan pemilu secara lebih luas di masa mendatang. Seiring dengan terselesaikannya skripsi ini, penulis ingin mengucapkan terima kasih kepada:

1 Ayah dan Ibu, Muhammad Salam dan Yernida, kedua orang yang menjadi sumber kekuatan untuk

tetap maju dan melangkah. Terima kasih pula penulis ucapkan kepada kakak perempuan, Anggi Pratiwi, yang selalu mengajarkan untuk tidak cepat menyerah dan menyadarkan bahwa mempelajari ilmu pengetahuan dimulai dari mencintai ilmu pengetahuan itu sendiri.

2 Bapak Dr. Sugi Guritman selaku pembimbing pertama yang telah menumbuhkan rasa kecintaan akan ilmu kriptografi dan mencetuskan pemikiran awal untuk mengerjakan penelitian e-voting. 3 Ibu Shelvie Nidya Neyman, S.Kom, M.Si selaku pembimbing kedua yang telah memberikan

memberi arahan, bimbingan, serta motivasi untuk menyelesaikan skripsi ini.

4 Ibu Dr. Ir. Sri Nurdiati, M.Sc selaku penguji yang telah memberikan motivasi spiritual, semangat pantang menyerah, dan selaku Ibu yang dalam kesibukannya masih menyempatkan mendengarkan cerita suka duka anak didiknya yang membutuhkan arahan, bimbingan, serta memberikan dorongan moril dan perhatian kepada penulis.

5 KPU Kota Bogor dan Kominfo Kota Bogor yang telah membantu dan bekerja sama dalam mendukung proses pengerjaan e-voting serta penyelenggaraan uji coba e-voting di Desa Cipaku, Bogor pada bulan Juli 2011.

6 Teman-teman yang menemani dari awal menginjakkan kaki di IPB hingga semester akhir perkuliahan dapat terlewati dan membantu penulis dalam tugas-tugas kelompok maupun pribadi, Auzi Asfarian, Yuridis Kurniawan, Adi Gunarso, Dean Apriana Ramadhan, Laras Muatiara Diva, Rani Dwijayanti, Ni Made Febriantini. Skripsi ini penulis persembahakan bagi teman-teman seperjuangan NCC Fitrah, Erick, Aco, Trie, Gamma, Gema, dan Teguh. Tidak lupa penulis ucapkan terimakasih kepada sahabat, Fitrah SFK, dan Gema Alief Utama, rekan seperjuangan dalam usaha bersama kita CV Skylynx Tekomindo. Terima kasih untuk teman-teman yang sering menghibur dengan permainan Dotanya, Aco, Bangun, Sayed, Gamma, Rilan, Raden, dan sahabat-sahabat yang tidak bisa penulis sebutkan satu persatu, terimakasih atas segala pertolongan dan bantuannya selama ini.

7 Rekan-rekan seperjuangan HIMALKOM 2009 dan BEM KM IPB 2010 Kabinet Generasi

Inspirasi yang telah memberikan dan mengajarkan rasa kekeluargaan, kebersamaan, kepemimpinan, kemandirian, entrepreneurship, serta pelajaran berharga lainya yang tidak akan pernah didapatkan dari ruang kuliah.

8 Seluruf staf pengajar Departemen Ilmu Komputer yang telah berbagi banyak ilmu, filosofi, dan cerita-cerita luar biasa sehingga mempelajari ilmu komputer menjadi hal yang menyenangkan. Terima kasih juga penulis ucapkan kepada segenap staf administrasi dan perpustakaan Departemen Ilmu Komputer yang telah membantu hingga skripsi ini dapat terselesaikan. Terima kasih atas bantuan semua pihak.

Akhir kata semoga karya ilmiah ini dapat bermanfaat dan memberi inspirasi bagi peneliti-peneliti muda lainnya untuk terus berlomba menciptakan karya terbaik.

Bogor, Januari 2012

(7)

v

DAFTAR ISI

Halaman

DAFTAR GAMBAR ... vi

PENDAHULUAN Latar Belakang ... 1

Tujuan ... 2

Ruang Lingkup ... 2

Manfaat ... 2

TINJAUAN PUSTAKA Kriptografi ... 2

Algoritme RSA ... 2

Algoritme AES ... 3

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

Central Legitimization Agency (CLA) ... 3

Central Tabulating Facilities (CTF) ... 3

Mifare Smart Card dan Reader ... 3

METODE PENELITIAN Ancaman (Threats) ... 4

Kebijakan (Policy) ... 5

Spesifikasi (Specification) ... 5

Perancangan (Design) ... 5

Implementasi (Implementation) ... 5

Pengujian (Testing) ... 5

HASIL DAN PEMBAHASAN Ancaman (Threats) ... 5

Kebijakan (Policy) ... 6

Spesifikasi (Specification) ... 6

Perancangan (Design) ... 7

Implementasi ... 9

Uji Keamanan Sistem ... 13

KESIMPULAN DAN SARAN Kesimpulan ... 15

Saran ... 15

(8)

vi

DAFTAR GAMBAR

Halaman

1

Protokol

e-voting

yang disesuaikan

... 1

2 Enkripsi dan dekripsi ... 2

3 Mifare smart card reader tipe ACR122U NFC ... 4

4 The security life cycle ... 4

5 Diagram alir pengiriman kunci simetri AES dari CLA ... 8

6 Diagram alir pembacaan Card identity dari Mifare smart card ... 8

7 Diagram alir autentikasi Card identity pada CLA ... 9

8 Mifare smart card klasik dengan kapasistas 1 kilobyte ... 11

9 Mifare smart card klasik dengan kapasistas 4 kilobyte ... 11

(9)

PENDAHULUAN

Latar Belakang

Pemilihan umum (pemilu) merupakan bagian penting dalam sistem demokrasi Indonesia. Sejak meraih kemerdekaan pada tahun 1945, Indonesia tercatat telah 10 kali menyelenggarakan pemilu. Secara umum, terdapat 4 aspek yang dapat diamati dari pemilu sebelumnya, yaitu sumber daya manusia, biaya, waktu, dan keamanan.

Banyak kendala dan permasalahan yang timbul pada penyelenggaraan pemilu hingga tahun 2009 yang lalu. Pada tahun 2011, dialog nasional yang diprakarsai oleh KPU yang

bertema “Menuju Pemilu Elektronik di

Indonesia” menyimpulkan beberapa masalah yang ditimbulkan pemilu konvensional, yaitu:  Banyak terjadi kesalahan dalam proses

pendataan dan pendaftaran pemilih.  Pemilih salah dalam memberi tanda pada

kertas suara.

 Proses pengumpulan kartu suara yang

berjalan lambat.

 Kurang terjaminnya kerahasiaan dari

pilihan yang dibuat oleh seseorang.  Keterlambatan dalam proses tabulasi hasil

perhitungan suara di daerah.

Penelitian ini mencoba menawarkan solusi

untuk memecahkan permasalahan yang

ditimbulkan pada pemilu sebelumnya dengan menggunakan sistem terotomatisasi (e-voting). Sistem e-voting yang aman, efektif, dan

efisien diperlukan demi suksesnya

penyelenggaraan pemilu sebagai tolak ukur

keberhasilan penerapan demokrasi di

Indonesia. E-voting menawarkan beberapa keunggulan dibandingkan sistem pemilu

konvensional, diantaranya mempercepat

perhitungan suara, memudahkan pengolahan suara, memudahkan verifikasi, menghemat

biaya, dan meningkatkan efektivitas

pelaksanaan pemilu.

Pada tahun 2001, DuFeu dan Harris melakukan penelitian tentangsistem e-voting,

dengan mengimplementasikan Central

Legitimization Agency (CLA) dan Central

Tabulating Facilities (CTF) untuk pemilu

yang aman. Penelitian terkait selanjutnya pada tahun 2005, Sireesha dan Chakchai melakukan penelitian dengan memodifikasi

sistem e-voting protokol Two Central

Facilities dengan menambahkan spesifikasi

pada entitas-entitas yang terlibat di dalam

protokol, dengan tujuan untuk meningkatkan keamanan sistem e-voting secara keseluruhan.

Penelitian-penelitian terdahulu

memer-lukan modifikasi dan penyesuaian jika ingin

diterapkan pada e-voting di Indonesia,

diantaranya dengan melakukan

penyempurnaan serta pengembangkan

protokol e-voting Two Central Facilities. Protokol ini dipilih karena termasuk protokol yang paling memenuhi sebagian besar

persyaratan untuk menjalankan secure

election dan memiliki tingkat keamanan yang

paling tinggi dibandingkan protokol-protokol lain yang dijelaskan oleh Schneier (1996).

Mengingat protokol Two Central Facilities tidak dapat secara langsung diterapkan pada pemilu di Indonesia, penelitian ini akan

menyesuaikan protokol tersebut dengan

kebijakan dan kebutuhan sistem e-voting di Indonesia. Secara spesifik, penelitian ini menitikberatkan kepada proses autentikasi

voter pada server CLA yang merupakan

bagian dari protokol Two Central Facilities. Ilustrasi protokol dapat dilihat pada Gambar 1 yang ditandai dengan garis berwarna merah.

Gambar 1 Protokol e-voting yang disesuaikan.

Proses autentikasi voter mengirimkan

voter identity dari mesin voting menuju CLA

yang secara tidak langsung akan

membangkitkan validation ID pada CLA.

Voter identity akan yang didapat oleh CLA

akan diautentikasi. Jika voter identiy terdaftar, sah, dan belum melakukan pemilihan, CLA akan mengirimkan validation ID untuk voter

identity tersebut sebagai legitimasi untuk

(10)

Tujuan

Tujuan utama dari penelitian ini untuk mengembangkan sistem autentikasi voter pada CLA dengan protokol Two Central Facilities serta melakukan pembacaan card identity pada Mifare smart card menggunakan Mifare smart

card reader yang dapat diterapkan pada

e-voting di Indonesia.

Ruang Lingkup

Ruang lingkup penelitian ini difokuskan kepada pembacaan data dari media Mifare

smart card yang digunakan untuk autentikasi

voter pada CLA. Penelitian ini dimulai dari

proses pembacaan voter identity dari Mifare

smart card yang kemudian dikirimkan menuju

CLA untuk dilakukan proses autentikasi dan selanjutnya pemberian legitimasi kepada mesin voting untuk melakukan pemilihan. Penelitian dilakukan bersama 2 rekan yang lain, Fitrah Fajar dan Erik Priyanggodo, untuk membuat model simulasi e-voting agar dapat diimplementasikan secara menyeluruh. Proses komunikasi antara mesin voting dan CTF

dikembangkan oleh Erik Priyanggodo,

sedangkan protokol e-voting secara

keseluruhan dikembangkan dan dianalisis oleh Fitrah Fajar.

Manfaat

Manfaat dari penelitian ini adalah

menghasilkan simulasi e-voting yang dapat dijadikan acuan dan media sosialisasi untuk

penyelenggaran pemilu dengan sistem

e-voting di Indonesia.

TINJAUAN PUSTAKA

Kriptografi

Kriptografi, menurut Schneier (1996), adalah seni dan ilmu untuk menjaga keamanan pesan. Beberapa istilah menurut Schneier yang sering digunakan dalam kriptografi, antara lain:

a) Plaintext: Semua data yang belum diproses

melalui suatu algoritme kriptografi.

Plaintext dapat berupa teks, gambar, atau

bentuk lainnya.

b) Ciphertext: Hasil proses algoritme

kriptografi dari suatu plaintext.

c) Enkripsi: Proses pengubahan pesan

sedemikian sehingga isi pesan

disembunyikan. Enkripsi juga dapat

dikatakan sebagai proses pengubahan

plaintext ke ciphertext, dengan algoritme

kriptografi tertentu.

d) Dekripsi: Proses pengubahan kembali dari

ciphertext ke plaintext dengan algoritme

kriptografi tertentu.

e) Cipher: Suatu algoritme kriptografi yang

dapat melakukan enkripsi dan dekripsi. f) Key: Parameter kunci yang digunakan oleh

cipher dalam melakukan proses enkripsi

dan dekripsi.

g) Message digest: Ukuran byte kecil yang

menunjukkan ukuran plaintext. h) Hash: Nama lain dari message digest.

Skema proses enkripsi dan dekripsi secara umum dapat dilihat pada Gambar 2.

Enkripsi Dekripsi

Plaintext Ciphertext

Original Plaintext

Gambar 2 Enkripsi dan dekripsi.

Algoritme RSA

Algoritme RSA dinamakan berdasarkan nama tiga orang penemunya yakni Ron Rivest,

Adi Shamir, dan Leonard Adleman.

Keamanan algoritme RSA didapatkan dari sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima. Pemfaktoran dilakukan untuk memperoleh kunci privat. Algoritme RSA memiliki besaran-besaran sebagai berikut:

1 p dan q bilangan prima (rahasia)

2 N = p. q (tidak rahasia)

3 φ (N) =(p-1)(q-1) (rahasia) 4 e (kunci enkripsi) (tidak rahasia) 5 d (kunci dekripsi) (rahasia)

6 m (plaintext) (rahasia)

7 c (ciphertext) (tidak rahasia)

Deskripsi sederhana dari algoritme RSA dijelaskan sebagai berikut, diberikan nilai N yang untuk persamaan:

Dengan p dan q adalah dua bilangan prima besar dengan ukuran yang sama. Diberikan nilai e dan d dengan ketentuan sebagai berikut:

N adalah RSA modulus, e adalah

encryption exponent, dan d adalah decryption

exponent. (N,e) adalah kunci publik yang

N = p . q

(11)

digunakan untuk enkripsi pesan. Kunci rahasia atau kunci privat yang digunakan untuk mendekripsi ciphertext atau pesan yang telah dienkripsi ke pesan sebenarnya (Boneh 1999). Pesan adalah bilangan integer M, untuk mengenkripsi M menggunakan cara C = Me

mod N. Untuk mendekripsi ciphertext

digunakan perhitungan M = Cd mod N (Boneh 1999).

Algoritme AES

AES merupakan algoritme kriptografi yang didesain untuk beroperasi pada blok pesan 128 bit dan menggunakan tiga variasi blok kunci dengan panjang 128 bit, 192 bit, atau 256 bit. Penelitian ini menggunakan algoritme AES dengan panjang kunci 128 bit. Empat proses utama algoritme AES sebagai berikut:

1. SubBytes (Transformasi Subtitusi Byte).

2. ShiftRows (Transformasi Pergeseran

Baris).

3. MixColumns (Transformasi Percampuran

Kolom).

4. AddRoundKey (Transformasi Penambahan

Kunci).

Struktur algoritme secara umum cukup sederhana. Proses enkripsi dan dekripsi

diawali proses AddRoundKey diikuti

sembilan round yang masing-masing tersusun

atas empat proses, dan diakhiri round

kesepuluh yang terdiri atas tiga proses yaitu

SubBytes, ShiftRows, dan AddRoundKey yang

menghasilkan ciphertext. (Stallings 2003).

Secure Hash Algorithm (SHA)-2

Untuk menghindari masalah keamanan yang disebabkan oleh collision pada SHA-1,

dikembangkan algoritme penggantinya.

Algoritme SHA generasi selanjutnya disebut

juga algoritme SHA-2. Penelitian ini

menggunakan salah satu dari algoritme SHA-2 yaitu SHA-256. Algoritme SHA-256 dapat digunakan untuk menghitung nilai message

digest dari sebuah pesan dengan panjang

maksimum 264 bit. Algoritme ini

menggunakan sebuah message schedule yang terdiri atas 64 elemen 32-bit word, delapan

buah variabel 32-bit, dan variabel

penyimpanan nilai hash 8 buah word 32-bit. Hasil akhir dari algoritme SHA-256 adalah sebuah message digest sepanjang 256-bit (NIST Secure Hash Standard 2008).

Central Legitimization Agency (CLA)

Central Legitimization Agency (CLA)

merupakan sebuah badan yang bertugas untuk

melakukan sertifikasi pemilih. Fungsi utama badan ini adalah untuk melakukan autentikasi dan otorisasi pemilih. CLA akan memeriksa apakah pemilih berhak atau tidak berhak melakukan pemilihan. CLA juga menyimpan daftar pemilih yang berhak melakukan pemilihan pada database CLA. Mesin voting akan mengirimkan identitas voter untuk selanjutnya dilakukan proses autentikasi.

Hanya voter yang terdaftar dan belum

melakukan pemilihan yang dapat memberikan suaranya. Pada saat pengiriman suara, CLA

akan membangkitkan Validation ID,

mendaftarkannya secara aman kepada CTF, dan mengembalikannya secara aman kepada mesin voting. Validation ID bernilai kompleks

sehingga secara komputasi tidak

dimungkinkan seorang penyerang untuk

memproduksi sebuah ID yang valid. CLA memiliki daftar sejumlah Validation ID yang

valid serta daftar identifikasi pengiriman suara

dari setiap Validation ID untuk mencegah pengiriman suara lebih dari satu kali (DuFeu dan Harris 2001).

Central Tabulating Facilities (CTF)

Central Tabulating Facilities (CTF)

merupakan suatu badan yang bertugas

melakukan penghitungan suara. CTF

menyediakan beberapa fungsionalitas sebagai berikut:

a) Menerima secure Validation ID yang telah disertifikasi oleh CLA.

b) Menerima suara dari mesin voting untuk selanjutnya dilakukan proses perhitungan. c) Mengizinkan mesin votinguntuk meminta

sertifikasi hasil perhitungan akhir.

Dalam rangka otorisasi pemilih, CTF melakukan pengecekan Validation ID dengan daftar yang diterima dari CLA. Jika Validation

ID valid, suara dari mesin voting akan

dimasukkan ke dalam kotak suara (DuFeu dan Harris 2001).

Mifare Smart Card dan Reader

Mifare card adalah salah satu perangkat penyimpanan, di mana memori dibagi menjadi segmen-segmen dan blok dengan mekanisme keamanan sederhana untuk kontrol akses. Berkat kehandalan dan biayanya yang rendah, Mifare card banyak digunakan untuk dompet elektronik, kontrol akses, kartu identitas perusahaan, transportasi, dan tiket stadion.

Salah satu varian Mifare card adalah

Mifare classic. Mifare Classic 1024 byte

(12)

menjadi 16 sektor dan masing-masing sektor dilindungi oleh dua kunci yang berbeda, yang disebut A dan B. Setiap sektor pada Mifare

classic 1024 byte terdiri dari 3 blok data dan 1

blok trailer. Mifare Classic 4096 byte dibagi menjadi empat puluh sektor, 32 sektor adalah ukuran yang sama seperti Mifare classic 1K dan delapan sektor sisanya adalah sektor yang ukurannya empat kali lipat dari sektor pada Mifare classic 1K.

Mifare smart card reader dapat

digunakan untuk melakukan proses

pembacaan UID (Unique Identity) dan nilai-nilai dari blok diagram pada Mifare card, sepertiditunjukkan pada Gambar 3.

Gambar 3 Mifare smart card reader ACR122U NFC (Advanced

Card Systems Limited 2008).

Mifare card reader ACR122U NFC

merupakan smart card reader/writer yang dikembangkan berdasarkan teknologi 13.56 MHz (RFID) contactless. Dengan kecepatan akses hingga 424 kbps dan kecepatan USB hingga 12 Mbps, ACR122U juga dapat membaca dan menulis lebih cepat dan efisien. Operasi kedekatan jarak ACR122U adalah sampai 5 cm, tergantung pada tipe contactless digunakan. Berikut adalah fitur dan spesifikasi dari ACR122U:

Fitur :

Read/write speed up to 424 kbps.

Built-in antenna for contactless tag access,

with card reading distance of up to 50 mm

(depending on tag type).

Built-in anti-collision feature (only 1 tag is

accessed at any time).

Spesifikasi:

Dimensions : 98 mm (L) x 65 mm (W) x

12.8 mm (H)

Weight : 70 g

Operating Temperature :0-50°C

Operating Frequency: 13.56 MHz

Operating System Support : Windows 98,

ME, 2000, XP, Vista, 7, Mac and Linux.

(Advanced Card Systems Limited 2008).

METODE PENELITIAN

Penelitian ini dikembangkan berdasarkan metode Security Life Cycle dari Bishop (2003). Terdapat 6 tahap utama didalamnya:

(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 4. Penelitian ini difokuskan dari tahap (1) hingga (5).

Gambar 4 The security life cycle (Bishop 2003).

Ancaman (Threats)

Sebuah ancaman (threat) adalah kekerasan potensial dalam suatu sistem keamanan. Dalam konteks pemilu, terdapat 4 kelas besar

serangan yang mengancam pertukaran

informasi yang dikirim dan diterima oleh

voter dan CLA, yakni:

a) Disclosure, yakni akses terhadap informasi

oleh pihak yang tidak berwenang.

b) Deception, yakni penerimaan data yang

salah.

c) Disruption, yakni gangguan atau

pencegahan terhadap operasi yang benar.

d) Usurpation, yakni pengaturan beberapa

(13)

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 requirement

secure voting Schneier (1996) dan kebijakan

KPU (Komisi Pemilihan Umum) Kota Bogor dalam merancang sistem e-voting yang telah untuk diujicobakan pada pemilihan ketua RW kelurahan Cipaku, Bogor bulanMei 2011.

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

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 sistem autentikasi

e-voting menggunakan media Mifare smart card

dimulai dari perancangan proses pengiriman kunci simetri, pembacaan card identity lalu dilakukan proses pengiriman card identity

menuju CLA untuk dilakukan proses

autentikasi. Secara garis besar perancangan sistem tersebut dapat dibagi menjadi tiga bagian, yakni:

1 Perancangan proses pengiriman kunci

simetri.

2 Perancangan pembacaan card identity dari Mifare smart card.

3 Perancangan pengiriman card identity dari mesin voting menuju CLA.

Implementasi (Implementation)

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

1 Platform: Web-based PHP

2 RSA (2048 bits): Enkripsi kunci publik 3 AES (128 bits): Enkripsi kunci simetri 4 SHA-2 (256 bits): Hashing

5 VPN : Pengamanan jalur komunikasi.

Implementasi e-voting menggunakan

algoritme yang telah direkomendasikan oleh

lembaga NIST (National Institute of

Standards and Technology) di Amerika.

Uji Kinerja Sistem

Tahap uji kinerja sistem melakukan pengujian terhadap serangan-serangan yang telah didefinisikan sebelumnya. Direkayasa

sebuah entitas palsu untuk melakukan

penyamaran sebagai entitas pada protokol.

HASIL DAN PEMBAHASAN

Ancaman (Threats)

Pengembangan sistem e-voting melibatkan banyak aspek teknis maupun non-teknis agar bisa diimplementasikan dan digunakan secara menyeluruh. Salah satu aspek penting yang

harus diperhitungkan adalah keamanan.

Pengembangan sistem ini dimulai dari analisis ancaman yang dapat menyerang sistem

e-voting sehingga tidak bekerja secara

semestinya dan juga dapat mengakibatkan terjadinya kebocoran data serta kecurangan oleh pihak-pihak yang tidak bertanggung jawab.

(14)

a) Pengintaian (snooping) merupakan penahanan informasi yang didapat pada saat proses komunikasi terjadi antara dua atau lebih entitas yang dilakukan oleh pihak yang tidak berwenang.Pengintaian dalam kotenks sistem e-voting berarti terdapat suatu entitas yang berhasil mendengarkan komunikasi pengiriman kunci simetri dari CLA menuju mesin

voting. Ancaman jenis ini tergolong ke

dalam kelas disclosure. Snooping

merupakan salah satu contoh serangan pasif. Pada Snooping, penyerang tidak terlibat langsung dalam komunikasi antara CLA dan mesin voting, namun menyadap pertukaran pesan antara kedua entitas. Tujuan penyerangan ini adalah untuk

mendapatkan informasi yang dapat

digunakan oleh kriptanalis atau pihak-pihak yang tidak berwenang. Untuk itu,

diperlukan layanan keamanan pesan

kerahasiaan untuk menjaga kemanan pada saat terjadi komunikasi kunci simetri antara CLA dan mesin mesin voting.

b) Modifikasi atau pengubahan (modification

oralternation) pengubahan informasi yang

dilakukan oleh pihak penyerang (attacker). Jika kunci simetri yang dibangkitkan oleh CLA telah diubah, mesin voting akan menerima kiriman kunci simetri berbeda yang dianggap benar oleh mesin voting. Ancaman ini pada akhirnya mengarah ke

dalam kelas deception. Ancaman

modifikasi yang mungkin terjadi dalam pengiriman card identity menuju CLA di antaranya kunci simertri yang sebelumnya dibangkitkan dan dikirimkan ke mesin

voting telah dirubah atau dirusak oleh

penyerang (attacker) saat kunci simetri dikirimkan dari CLA menuju mesin

voting. Hal ini menyebabkan komunikasi

antara mesin voting dan CLA tidak dapat dilakukan. Ancaman modifikasi terhadap

kunci simetri dapat menyebabkan

terjadinya peningkatan ancaman disruption

dan usurpation. Layanan keamanan

integritas (integrity) digunakan untuk menanggulangi masalah ini.

c) Penyamaran (masquerading) merupakan peniruan terhadap suatu entitas terhadap entitas yang lain. Ancaman ini akan mengumpan korban agar percaya bahwa entitas yang berkomunikasi dengannya adalah pihak yang benar, meski pada kenyataannya pihak tersebuat adalah

penyerang (attacker) yang bukan

merupakan pihak yang berwenang.

Sebagai contoh, saat CLA akan

mengirimkan kunci simetri kepada mesin

voting agar pemilih dapat melakukan vote

serta untuk keperluan komunikasi hasil vote, pihak yang menerima kunci tersebut bukanlah mesin voting melainkan entitas lain yang mengaku sebagai mesin voting. Untuk menangani ancaman ini konsep

autentikasi (authentication) dapat

digunakan untuk mencegah serangan ini.

Masquerading termasuk ancaman dalam

kelas deception dan usurpation.

Kebijakan (Policy)

Kebijakan yang diterapkan dalam

membangun sistem e-voting mengacu pada

buku Schneier (1996). Secure voting yang

dibangun secara komputerisasi dapat

digunakan jika terdapat protokol yang menjamin dua hal dibawah ini, yaitu:

1 Privasi individu.

2 Pencegahan terhadap kecurangan.

Suatu protokol yang ideal harus memiliki 6 persyaratan berikut:

1 Hanya pemilih yang berhak yang dapat memberikan suara (autentikasi);

2 Tidak ada yang dapat memberikan lebih dari satu suara;

3 Tidak ada yang dapat menentukan orang lain harus memilih untuk siapa;

4 Tidak ada yang dapat menduplikasi suara orang lain;

5 Tidak ada yang dapat mengubah pilihan orang lain;

6 Setiap pemilih dapat memastikan bahwa suara mereka sudah dikirimkan dan terhitung dalam penghitungan akhir.

Spesifikasi (Specification)

Terdapat asumsi dasar agar protokol yang didefinisikan dapat berjalan, yaitu keamanan VPN, RSA, dan realibility dari sistem. Secara umum sistem autentikasi voter pada CLA menggunakan media Mifare smart card yang dibangun dapat memenuhi spesifikasi umum sebagai berikut:

1 Hanya Mifare card yang terdaftar yang diizinkan melakukan pemilihan.

 Terdapat UID dan NIK (Nomor Induk Kependudukan) pada Mifare cardyang bersifat unique

 Hanya UID dan NIK yang terdapat

(15)

2 Setiap pemilih yang telah melakukan

pemilihan tidak dapat melakukan

pemilihan lagi.

 UID dan NIK dari Mifare card yang telah melakukan pemilihan dicatat pada CLA.

 Tidak dilakukan proses autentikasi

pada UID dan NIK yang telah berstatus

“2” yang berarti sudah melakukan

pemilihan sehingga setiap pemilih hanya dapat memberikan satu suara.

3 Tidak ada yang dapat menentukan orang lain harus memilih untuk siapa.

 VPN hanya mengizinkan entitas-entitas

yang telah didaftarkan pada VPN untuk berkomunikasi dan menangkap pesan sehingga hanya mesin voter yang telah melakukan autentikasi card identity yang dapat melakukan pemilihan tanpa campur tangan entitas lain. Suara dari

voter langsung dihitung ke dalam suara

sementara tanpa dilakukan proses pencatatan pemilihan.

4 Tidak ada yang dapat menduplikasi suara orang lain.

 Setiap pemilih yang telah melakukan

vote akan ditandai dan suara yang

diberikan langsung dihitung ke dalam perhitungan mesin voting tanpa melalui perekaman data. Suara yang telah diberikan untuk kandidat yang dipilih langsung bertambah satu untuk setiap pemilih yang memilih tanpa proses pencatatan siapa yang memilih untuk siapa. Tidak ada fasilitas untuk mengetahui pilihan seseorang sehingga duplikasi suara untuk kandidat tertentu tidak dapat dilakukan.

 Jika Mifare card yang telah digunakan untuk pemilihan digunakan kembali pada periode pemilu yang sama, maka

mesin voting akan mengembalikan

pesan ke layar bahwa “ID voter sudah

melakukan pemilihan”.

5 Tidak ada yang dapat mengubah pilihan orang lain.

 Sebelum memilih, setiap mesin voting

akan membaca card identity yang

bersifat unique dari setiap Mifare card yang digunakan. Card identity akan

diautentikasi dan dicek status

pemilihannya apakah sudah memilih atau belum. Setiap voter, mesin voting, dan CLA tidak dapat mengetahui dan mengganti pilihan setiap voter karena

hasil vote langsung dihitung ke dalam mesin voting tanpa dilakukan proses pencatatan.

6 Setiap pemilih dapat memastikan bahwa suara mereka sudah dikirimkan dan terhitung dalam penghitungan akhir.  Setiap kali voter memberikan suara

kepada salah seorang kandidat, mesin

votingakan mencatat sementara hasil

voting dan menampilkan pesan “Anda

telah memilih kandidat nomor 1, 2,

atau 3”. Apabila pesan konfirmasi pemilihan telah muncul ke layar,

protokol menjamin bahwa hasil

pemilihan telah tercatat di database.

 Sesuai dengan kebijakan KPU,

perhitungan suara hasil sementara tidak

diperlihatkan kepada voter karena

menyalahi peraturan yang ada.

Secara khusus terdapat spesifikasi

tambahan yang dikembangkan dalam

penelitian ini. Sistem menjamin agar voter dapat melakukan komunikasi secara lebih aman dengan CLA karena kunci simetri yang akan digunakan dibangkitkan secara acak oleh CLA. Kunci simetri dikirimkan kepada mesin

voting menggunakan algoritme RSA. Mesin

voting hanya bisa menerima kunci simetri dari

CLA yang telah diautentikasi. Kunci simetri yang diberikan hanya bisa didekripsi oleh mesin voting, karena hanya pasangan kunci publik yang diberikan kepada CLA dan pasangan kunci privat disimpan oleh mesin voting.

Perancangan (Design)

Secara umum sistem autentikasi voter pada CLA melayani 3 fungsionalitas agar CLA dapat berkomunikasi dengan mesin

voting yakni pengiriman kunci simetri AES,

pembacaan card identity dari Mifare smart card, dan autentikasi card identity. Proses pengiriman kunci simetri AES dari CLA

menuju mesin voting dilakukan melalui

langkah-langkah berikut:

1 Membangkitkan pasangan kunci publik

dan privat menggunakan algoritme RSA dengan panjang kunci 2048 bit.

2 Mengirimkan pasangan kunci publik ke

CLA.

3 Membangkitkan kunci simetri

menggunakan algoritme AES dengan panjang kunci 128 bit dan menerima pasangan kunci publik dari mesin voting.

4 Melakukan enkripsi dengan plaintext

(16)

publik RSA yang didapat dari mesin

voting.

5 Mengirimkan hasil enkripsi kunci simetri

(ciphertext) ke mesin voting.

6 Menerima ciphertext dan melakukan

proses dekripsi menggunakan pasangan kunci privat RSA yang sudah dibangkitkan sebelumnya.

Diagram alir pengiriman kunci simetri AES dari CLA dapat dilihat pada Gambar 5.

CLA Mesin Voting

Mulai

Pengiriman pasangan kunci publik ke CLA

Enkripsi (kunci simetri AES) menggunakan RSA Ciphertext Mengirimkan ciphertext

ke mesin voting

Dekripsi ciphertext menggunakan kunci privat RSA Selesai Plaintext (kunci simetri AES) Membangkitkan pasangan kunci publik Pasangan kunci publik (N, E) Membangkitkan kunci simetri AES 128 bit

Gambar 5 Diagram alir pengiriman kunci simetri AES dari CLA.

Fungsionalitas kedua yang dilayani oleh mesin voting adalah pembacaan card identity dari Mifare smart card menggunakan Mifare

smart card reader. Langkah-langkah

komunikasi yang dilakukan untuk memenuhi fungsionalitas yang kedua adalah:

1 Menjalan proses establish context.

2 Mendaftarkan Mifare smart card reader

yang telah terkoneksi dengan

komputer/mesin voting.

3 Memilih salah satu dari Mifare smart card

reader yang tersedia.

4 Mengatur waktu pengulangan pembacaan

menjadi 1 kali.

5 Memulai polling (meletakkan Mifare card di atas Mifare smart card reader).

6 Membaca UID dari Mifare smart card

yang diletakkan (unique).

7 Melakukan authentication, input key untuk mengakses block number.

8 Menentukan block number yang ingin

dibaca.

9 Membaca 32 (hexadecimal) karakter

sebagai NIK pada block number yang dipilih.

10 Menggabungkan UID dan NIK menjadi

satu string (desktop based).

11 Mengirimkan string hasil penggabungan ke mesin voting(web base).

Diagram alir pembacaan card identity pada mesin voting dari Mifare smart card dapat dilihat pada Gambar 6.

Mulai

Memilih mifare smart card Memulai polling (meletakkan mifare smart card)

Dekripsi ciphertext menggunakan kunci privat RSA Establish contex Mengatur waktu pengulangan pembacaan (1 kali) Mendaftarkan mifare smart card reader yang

tersedia

Membaca UID (unique)

Key authentication

UID (8 hex) Menentukan target block number

Membaca data dari block

number

NIK (32 hex)

String Concatenation

(UID + NIK)

String value

(40 hex)

Selesai

Key

= Key A?

Pembacaan

mifare smart card gagal Tidak Ya Pembacaan UID dan NIK berhasil Key A

Gambar 6 Diagram alir pembacaan card

identity dari Mifare smart card.

Fungsionalitas ketiga yang dilayani oleh mesin voting yaitu autentikasi card identity yang telah dibaca Mifare smart card reader. Hasil pembacaan value yang berupa string UID dan NIK akan dikirim oleh mesin voting

(17)

dilakukan pengecekan status pemilihan. Jika

card identity yang sudah pernah digunakan

memilih digunakan kembali, maka sistem

akan mengembalikan pesan “ID VOTER

SUDAH MELAKUKAN PEMILIHAN” dan

jika card identity yang digunakan untuk memilih bukan merupakan pemilih yang terdaftar, sistem akan mengembalikan pesan

“ID VOTER TIDAK TERDAFTAR”. Apabila

card identity terdaftar dan belum melakukan

pemilihan maka sistem akan mengantarkan

kepada fungsionalitas melakukan voting.

Langkah-langkah yang dilakukan untuk

memenuhi fungsionalitas autentikasi card

identity adalah:

1 Membaca string UID dan NIK yang

dikirimkan oleh Mifare smart card reader

2 Menjalankan fungsi strtolower() untuk

melakukan konversi value dari string menjadi lowercase.

3 Mengambil bit ke 0 sampai ke 7 untuk disimpan sebagai string UID.

4 Melakukan hashing pada string gabungan UID dan NIK dengan panjang 32 karakter menggunakan sha-2 dengan panjang kunci 256 bit.

5 Melakukan enkripsi menggunakan

algoritme kunci simetri AES dengan panjang kunci 128 terhadap UID dan NIK hasil hashing.

6 Mengirimkan hasil enkripsi beserta string UID menuju CLA untuk dilakukakan proses autentikasi.

7 Menangkap ciphertext dari mesin voting.

8 Melakukan dekripsi ciphertext

menggunakan kunci simetri AES 128 bit. 9 Mengambil string value hasil hash dari

database CLA untuk UID yang sesuai.

10 Melakukan perbandingan antara plaintext hasil dekripsi ciphertext yang berisi UID dan NIK yang dikirimkan oleh mesin

voting dengan nilai hash yang tersimpan

pada database CLA untuk UID yang

sedang dilakukan proses autentikasi.

11 Menampilkan pesan “ID VOTER TIDAK

TERDAFTAR” apabila plaintext dan hash

dari database CLA tidak sama.

12 Menampilkan pesan “ID VOTER SUDAH

MELAKUKAN PEMILIHAN” apabila

plaintext dan hash dari database CLA

bernilai sama/identik dan status pada

database adalah 2.

13 Melakukan proses redirecting ke halaman surat suara apabila plaintext dan hash dari

database CLA bernilai sama/identik dan

status pada database adalah 0.

Diagram alir autentikasi card identity pada CLA dapat dilihat pada Gambar 7.

CLA Mesin Voting Mulai Tidak UID dan NIK (upper case) Menjalankan fungsi strtolower()

Hash (UID + NIK) SHA-2

256 bit string hasil hash

Enkripsi hash string AES 128 bit

Ciphertext

Mengirimkan ciphertext ke

CLA Dekripsi ciphertext menggunakan

AES 128 bit NIK + UID

= hash ? Redirecting halaman “tidak berhak memilih” Tidak Cek status pemilih Ya Berhak memilih? Update status

voter Ya Redirecting halaman “surat suara” Selesai Plaintext (UID + NIK) Membaca string

(UID + NIK) dari mifare card

Hash

Gambar 7 Diagram alir autentikasi card

identity pada CLA.

Implementasi

1. Implementasi pengiriman kunci simetri

AES dari CLA menuju mesin voting

Proses awal pengiriman kunci simetri diperlukan algoritme kunci asimetri RSA yang digunakan untuk proses pengiriman kunci. Pada penelitian ini, panjang kunci RSA yang

digunakan adalah 2048 bit. Untuk

menghasilkan kunci sepanjang 2048,

diperlukan proses pembangkitan pasangan kunci dari 2 buah bilangan acak prima, yaitu p dan q yang ditunjukkan kode pemrograman berikut.

<script>

function do_genrsa() {

var rsa = new RSAKey();

var dr = document.rsatest;

rsa.generate(parseInt(dr.bits.value),dr .e.value);

}

</script>

(18)

<input name="bits" type="hidden" value="2048" size=10>

Selanjutnya, pasangan kunci publik

disebarkan. Dalam penelitian ini, pasangan kunci publik dikirimkan menuju CLA dengan

alamat menggunakan IP publik IPB

192.168.0.11 dalam Virtual Private Network (VPN). Proses pengiriman menggunakan fungsi POST pada pemrograman PHP dengan mengirimkan pasangan kunci publik N dan E

ditunjukkan dengan kode pemrograman

berikut.

<script>

dr.n.value =

linebrk(rsa.n.toString(16),64);

}

</script>

<form id='rsatest' name='rsatest' method='POST'

action='http://192.168.1.1/skrip/checkc ard'>

<input name="e" type="hidden" value="3" size=20>

<!--Modulus (hex):<br> -->

<input name="n" type="hidden">

Proses selanjutnya yaitu pembangkitan kunci simetri AES. Pada penelitian ini, panjang kunci simetri yang dibangkitkan sepanjang 128 bit. Kunci yang dibangkitkan dalam bentuk hexadecimal sehingga hanya dibutuhkan 32 karakter hexadecimal karena 1

karakter hexadecimal direpresentasikan

dengan 4 bit. Kunci simetri AES yang

dibangkitkan diperoleh dengan kode

pemrograman sebagai berikut.

<?php

function GenAesKey($length)

{

# karakter pertama huruf acak a-f

$pass = chr(mt_rand(97,102)); // a-f

# sisanya acak dari 0-9 or a-f

for($k=0; $k < $length - 1; $k++)

{

$probab = mt_rand(1,10); //bil acak 1-10

if($probab <= 8) // kemungkinan a-f : 80%

$pass .= chr(mt_rand(97,102));

else // kemungkinan 0-9 : 20%

$pass .= chr(mt_rand(48, 57));

}

return $pass;

}

$key = GenAesKey(32);

?>

Selanjutnya CLA melakukan enkripsi kunci simetri AES menggunakan algoritme RSA. CLA menggunakan pasangan kunci publik RSA yaitu N (hasil kali bilangan acak P dan Q) dan E untuk melakukan enkripsi dengan plaintext kunci simetri AES 128 bit. Hasil enkripsi berupa ciphertext dikirimkan menuju mesin voting. Proses enkripsi simetri dan pengiriman ciphertext ditunjukkan dengan kode pemrograman berikut.

<script>

function do_encrypt() {

rsa.setPublic(document.rsatest. n.value, document.rsatest.e.value);

var res =

rsa.encrypt(document.rsatest.plaintext. value);

var after = new Date();

if(res) {

window.location.href =

"http://localhost/skrip/media.php?p=" + res + "&module=deliverKey";

</script>

<form id='rsatest' name='rsatest'>

<input name="plaintext" type="text" value="<?php echo $key; ?>">

Selanjutnya, ciphertext diterima oleh

mesin voting. Mesin voting melakukan

dekripsi ciphertext menggunakan algoritme RSA dengan pasangan kunci privat N dan D yang hanya dimiliki oleh mesin voting.

Dekripsi ciphertext dengan menggunakan

kunci privat menghasilkan plaintext awal yang berupa kunci simetri AES dengan panjang 128 bit. Proses dekripsi menggunakan kunci privat algoritme RSA ditunjukkan dengan kode pemrograman berikut.

<script>

function do_decrypt() {

var dr = document.rsatest;

(19)

if(document.rsatest.ciphertext.value.le ngth == 0) {

do_status("No Ciphertext - encrypt something first");

return;

}

var res =

rsa.decrypt(document.rsatest.ciphertext .value);

if(res == null) {

document.rsatest.decrypted.value = "*** Invalid Ciphertext ***";

do_status("Decryption failed");

}

else {

//mendapatkan plaintext hasil dekripsi ciphertext

document.rsatest.decrypted.value = res;

}

}

</script>

<body onLoad="do_decrypt();">

<!-- <p>Private exponent (hex):<br> -->

<input name="d" type="text" value="<?php echo $d;?>">

<!-- <p>Modulus (hex):<br> -->

<input name="n" type="text" value="<?php echo $n;?>">

2. Implementasi pembacaan card identity dari Mifare smart card menggunakan Mifare smart card reader.

Pembacaan card identity yang meliputi UID dan NIK dari Mifare smart card melalui beberapa proses sequential dimulai dari pengenalan konteks alat baca (establish

context) hingga pembacaan kartu (polling).

Mifare card yang digunakan pada

penelitian ini adalah Mifare card jenis Mifare

classic. Mifare card klasik terdapat 2 jenis

berdasarkan ukuran dari memori penyimpanan data. Secara kasat mata tidak terdapat perbedaaan pada kedua jenis Mifare ini. Gambar 8 menunjukkan Mifare classic dengan kapasistas penyimpanan 1 kilobytes sedangkan Gambar 9 menunjukkan Mifare classic dengan kapasitas penyimpanan sebesar 4 kilobytes. Penelitian ini menggunakan 2 jenis Mifare

card klasik yang ada, yaitu Mifare classic 1

kilobytes, dan 4 kilobytes, terlihat pada

Gambar 8 dan Gambar 9.

Gambar 8 Mifare smart card klasik dengan kapasistas 1 kilobytes.

Gambar 9 Mifare smart card klasik dengan kapasistas 4 kilobytes.

Untuk melakukan proses pembacaan card

identity memerlukan Mifare smart card reader

yang dapat membaca UID dan nilai-nilai dari blok diagram dimana nilai NIK terimpan. Mifare smart card reader yang digunakan pada penelitian ini adalah Mifare smart card

reader jenis ACR122U NFC Reader. Proses

pembacaaan Mifare card yang dalam hal ini Mifare classic harus melewati beberapa tahap proses yang telah ditentukan oleh Advanced Card Systems Ltd. agar dapat melakukan pembacaan tag (tag polling).

Implementasi dari proses diatas telah dikembangkan oleh Advanced Card Systems Ltd. sebagai tools yang digunakan oleh pengembang untuk dapat mengembangkan program pembacaan Mifare smart card. Untuk

membaca Mifare classic penulis

menggunakan metode tag polling yang telah dikembangkan oleh Advanced Card Systems Ltd. dengan beberapa penyesuaian yang diperlukan untuk pengiriman card identity (UID dan NIK) ke program e-voting. Berikut adalah tampilan program dari 6 proses yang

telah disesuaikan untuk kepentingan

(20)

e-voting berbasis web ditunjukkan pada Gambar 10.

Gambar 10 Tampilan program pembacaan

card identity dari Mifareklasik.

Implementasi dari proses pembacaan UID sebagai card identity memerlukan pengaturan pengulangan pembacaan pada program yang dikembangkan. Prinsip pembacaan dari Mifare

smart card reader adalah secara terus

menurus selama kartu masih bisa terbaca yang dalam hal ini adalah posisi kartu masih dalam jarak (range) yang terjangkau oleh Mifare

smart card reader (5 cm). Jika tidak ada

proses penyesuaian, maka Mifare smart card

reader akan melakukan pembacaan tag secara

terus-menerus. Oleh karena itu, penulis menyesuikan dengan menyimpan nilai UID terakhir yang dibaca oleh Mifare smart card

reader pada buffer agar bisa dibandingkan

dengan nilai UID yang akan dibaca

selanjutnya. Jika nilai UID yang dibaca pada saat X adalah identik dengan nilai UID pada saat X-1, diasumsikan bahwa kartu yang dibaca adalah sama dan program tidak akan

melanjutkan proses selanjutnya yaitu

melakukan pembacaan NIK pada block

diagram. Apabila UID yang terbaca tidak

sama dengan UID sebelumnya, proses selanjutnya adalah pembacaan block diagram yang berisi NIK. Selanjutnya, dilakukan proses penggabungan dengan NIK untuk dikirim melalui web browser agar dapat terbaca pada localhost mesin voting. Proses

penyesuaikan pengulangan pembacaan,

pembacaan NIK dan penggabungan UID dan

NIK untuk dikirim menuju web browser

ditunjukkan dengan kode pemrograman

berikut:

Uid = "(UID kartu : " +

MyRoutine.FuncByteAsString(uidValue) + ")"; //get the UID

if (Uid_sekarang != UID_buffer)

{

if (authenticate(uidValue))

{

System.Diagnostics.Process.Start(url + MyRoutine.FuncByteAsString(uidValue) + MyRoutine.FuncByteAsString(readDataBloc kDiagram()));

}

}

UID_buffer = Uid_sekarang;

3. Implementasi autentikasi card identity yang telah dibaca Mifare smart card reader.

Proses ini melibatkan entitas mesin voting dan CLA. Proses pembacaan string UID +

NIK, menjalankan fungsi strtolower(),

hash(UID + NIK) dengan sha-2, dan proses enkripsi hasil hash menjadi ciphertext dilakukan pada mesin voting ditunjukkan dengan pemrograman berikut:

# Membaca string UID dan NIK

$isi_kartu = $_GET['p'];

# Buang white space dan convert menjadi lower case

$isi_Mifare = strtolower(preg_replace ("/\s+/", "", $isi_kartu));

# Pemisahan nilai UID dan NIK untuk diambil nilai UID

$isi_UID_str = substr($isi_Mifare, 0, 8);

$isi_VALUE_hex = substr($isi_Mifare, 8, 32);

$isi_VALUE_str =

hexToStr($isi_VALUE_hex);

# Concatenate UID(STRING) AND NIK(STRING)

$concatenate

=$isi_UID_str.$isi_VALUE_str;

# Hash UID + NIK dengan sha-2

$concat = hash('sha256', $concatenate);

# Enkripsi AES 128 bit

(21)

($concat, $key, 128);

# Pengiriman ciphertext menuju CLA

echo "

<form id=1 name='swt' id=swt method=POST

action='http://192.168.1.1/skrip/checkc ard'>

<input type='hidden' name='ciphertext' id='ciphertext' value='$ciphertext'>

<input type='hidden' name='uid' id='uid' value='$isi_UID_str'>

<input type='hidden' name='status' id='status' value=1>

</form>";

Proses selanjutnya adalah dekripsi

ciphertext yang telah dikirimkan oleh mesin

voting. Plaintext yang didapatkan adalah nilai

UID dan NIK yang telah di hashing

menggunakan sha-2. Dengan menggunakan

string UID yang juga dikirimkan bersamaan

dengan pengiriman ciphertext, CLA mencari nilai hash yang sesuai dengan nilai string UID. Terdapat nilai hash(UID+NIK) untuk setiap UID. Apabila hash(UID+NIK) yang ditemukan kembali dari database bernilai sama dengan plaintext hasil dekripsi, card

identity berhasil diautentikasi dan berhak

melakukan pemilihan. Jika nilai plaintext tidak identik dengan nilai hash yang terdapat pada database, sistem akan mengeluarkan

pesan “voter tidak berhak memilih”.

Keseluruhan proses yang autentikasi pada CLA ditunjukkan dengan kode pemrograman berikut:

<?php

# GET UID & CIPHERTEXT dari mesin voting

$encr = $_POST['encr'];

$uid= $_POST['uid'];

# Dekripsi ciphertext AES 128

$decr = AesCtr::decrypt($encr, $key, 128);

# CHECK [HASH(UID+NIK)] pada database CLA

$query = "SELECT UID_NIK FROM voterlist WHERE UID_testing='$uid' AND status=0";

$sql = mysql_query($query);

$num = mysql_num_rows($sql);

$ketemu = mysql_fetch_array($sql);

if($num!=0)

{

$hash_uid_nik = $ketemu['UID_NIK'];

if($hash_uid_nik == $decr )

{

#sama

echo "<META HTTP-EQUIV = 'Refresh' Content = '0; URL =http://localhost/skrip/suratsuara'>";

}

}

Jika nilai hash(UID + NIK) tidak identik dengan plaintext hasil dekripsi maka

voter tidak berhak melakukan pemilihan.

Apabila nilai plaintext sama dengan hash, akan dilakukan prose check pada status pemilihan. Apabila status pemilihan 2 berarti

voter telah melakukan pemilihan dan tidak

berhak memberikan suara lagi, ditunjukkan dengan kode pemrograman berikut:

$query2 = "SELECT UID_NIK FROM voterlist WHERE UID_testing='$uid' AND status=2";

$sql2 = mysql_query($query2);

$num2 = mysql_num_rows($sql2);

if($num2)

{

echo "<h5>ID voter sudah melakukan pemilihan.</h5><br />";

echo "<META HTTP-EQUIV = 'Refresh' Content = '5; URL =http://localhost/skrip/voting'>";

}

else

{

echo "<h5>ID voter tidak terdaftar di database.</h5><br />";

echo "<META HTTP-EQUIV = 'Refresh' Content = '5; URL =http://localhost/skrip/voting'>";

Setelah dilakukan proses implementasi, dilakukan pengujian dengan metode black box testing.

Pengujian pada proses pembacaan card

identity dari Mifare smart card untuk

dikirimkan kepada web browser agar bisa dibaca oleh sistem e-voting. Pada tahap ini akan dilihat apakah card identity yang berupa UID dan NIK dapat terbaca oleh sistem.

Tahap pengujian kedua terhadap

pengiriman kunci simetri dan proses

(22)

oleh mesin voting yang selanjutnya dikirimkan menuju CLA. Pada tahap ini akan diujikan apakah pengembangan sistem pengiriman dan autentikasi card identity sudah dapat berjalan dengan stabil dan cukup aman terhadap ancaman kriptanalis.

Tabel 1 Pengujian Pembacaan Card Identity

Uji Keamanan Sistem

Uji kinerja sistem dilakukan dengan merekayasa suatu entitas yang menyamar sebagai entitas pada protokol dengan tujuan mengintai dan memodifikasi pesan yang sedang dikomunikasikan.

Untuk serangan pengintaian, entitas palsu bisa membaca pesan yang dikirim tetapi tetap dalam pesan yang tersandikan sehingga

diasumsikan apabila attacker berhasil

melakukan penyerangan jenis ini, maka

attacker tersebut tidak mengetahui makna dari

pesan yang sedang dikomunikasikan.

.

Hasil pengujian pengiriman kunci simetri, autentikasi card identity, dan pembacaan card

identity dapat dilihat pada Tabel 1.

Untuk serangan modifikasi dan

penyamaran entitas, entitas palsu yang menyamar sebagai server tidak akan lolos dari proses autentikasi dikarenakan menggunakan

IP address yang berbeda dari IP address yang

telah diatur sebelumnya oleh VPN. VPN

mendaftarkan IP address setiap entitas

meliputi CLA, CTF dan mesin voting.

Serangan jenis penyamaran sulit

dilakukan karena mekanisme VPN yang sangat ketat menggunakan IP address yang terdaftar sebelumnya sehingga attacker sulit melakukan kecurangan pada sistem.

No Deskripsi Uji Kondisi Awal Skenario Uji Hasil yang diharapkan Hasil Uji

1.

Membaca UID dan NIK dari Mifare classic

menggunakan Mifare smartcard reader

Mifare classic belum diletakan pada Mifare smart card reader Voter meletakkan Mifare

classic pada

Mifare smart card reader

Sistem mengembalikan pesan string UID dan mengirimakan NIK ke sistem e-voting

Berhasil

2.

Membaca NIK dari Mifare classic yang telah sudah diletakan sebelumnya

Mifare classic belum diletakan pada Mifare smart card reader Voter meletakkan Mifare

classic pada

Mifare smart card reader

Sistem tidak membaca UID dari kartu yang berada pada buffer

Berhasil

3.

Membaca NIK dari Mifare classic yang telah digunakan untuk memilih

Mifare classic belum diletakan pada Mifare smart card reader Voter meletakkan Mifare

classic pada

Mifare smart card reader

Sistem mengembalikan pesan bawah voter telah melakukan pemilihan

Berhasil

4.

Membaca NIK dari Mifare classic yang tidak terdaftar pada database

Mifare classic belumdiletakan pada Mifare smart card reader Voter meletakkan Mifare

classic pada

Mifare smart card reader

Sistem mengembalikan pesan bawah UID voter tidak terdaftar pada database

(23)

KESIMPULAN DAN SARAN

Kesimpulan

Sistem e-voting dengan menggunakan protokol Two Central Facilities yang telah ada, dapat dikembangkan dan disesuaikan dengan lingkup implementasi di wilayah Indonesia untuk menghasilkan suatu simulasi

e-voting. Sistem juga telah memenuhi 6

spesifikasi yang dikembangkan untuk

memenuhi syarat dari secure voting.

Simulasi pembacaan card identity dan autentikasi voter dikembangkan menggunakan

media Mifare smart card dan dengan

menggunakan algoritme kunci asimetri RSA serta simetri AES pada proses komunikasinya.

Penggunaan Mifare smart card sebagai

media penyimpanan card identity aman

terhadap ancaman gangguan, duplikasi dan perusakan identitas. Card identity yang digunakan dapat dipastikan unique yang

dibuat berdasarkan UID yang selalu

berkembang panjangnya. Peletakan nilai NIK dapat diletakkan pada blok diagram tertentu yang hanya diketahui pengembang sehingga pihak-pihak yang tidak berkepentingan tidak mengetahui pada blok mana data NIK tersimpan.

Saran

Perkembangan teknologi menjadi bantuan bagi kriptanalis untuk menemukan celah pada sitem e-voting yang telah dikembangkan. Pada penelitian kali ini sistem masih memiliki kelemahan dan kekurangan yang diharapkan dapat terus dikembangkan dan diperbaiki pada penelitian selanjutnya, yaitu:

 Diperlukan penyimpanan card identity

berupa data biometric sidik jari dan retina

yang bersifat unique. Peningkatan

kapasitas penyimpanan card identity menjadi 8 kilobytes juga diperlukan untuk mengakomodir penyimpanan data sidik jari dan retina untuk pengembangan selanjutnya.

 Diperlukan pengembangan protokol

pemilihan umum yang dibuat sendiri dan diuji agar mudah disesuaikan pada proses implementasi di lapangan.

 Dibutuhkan algoritme ECC untuk

menggantikan algoritme kunci asimetri RSA. ECC membutuhkan panjang kunci yang signifikan jauh lebih kecil dari

algoritme RSA sehingga proses

komunikasi dapat berjalan lebih cepat.

DAFTAR PUSTAKA

Advanced Card Systems. 2011. Card and

Reader Technologies.

http://www.acs.com.hk (06 Des 2011).

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

DuFeu D, Harris J. 2001. Online Election

System. 95.413 Project Report, Carleton

University.

Munir R. 2004. Bahan Kuliah IF5054 Kriptografi. Bandung: Departemen Teknik Informatika, Institut Teknologi Bandung.

NIST. 2009. Secure Hash Standard, FIPS PUB 180-3.

Sireesha J, Chakchai S. 2005. Secure Virtual

Election Booth with Two Central

Facilities. Department of Computer

Science Washington University, St. Louis, USA.

Schneier B. 1996. Applied Cryptography -Protocols, Algorithms and Source Code in C. Ed ke-2. New York: John Wiley & Sons, Inc.

Stallings W. 2003. Cryptography and Network

Security Principles and Practice. Ed ke-3.

(24)

ABSTRACT

ALFIAN PRAYANTA. The Development of Voting Authentication in Central Legitimization Agency Using Mifare Smart Card® Technology. Supervised by SUGI GURITMAN and SHELVIE NIDYA NEYMAN.

Cryptography becomes one of the important things in the development of electronic voting system. The voting system using internet network technology aims to reduce considerable calculation time as well as necessary human resources. Securing lines of communication between voting machines and servers is needed to communicate securely. The identity of the voters, which is used for authentication voting process is stored in Mifare smart card called identity card. Every identity card which contains unique identification and nomor induk kependudukan will be authenticated in Central Legitimization Agency server. Card identity is hashed with SHA-2 and encrypted with session key to assure that the integrity of data is not changed by others. Session key is distributed from CLA to voting machines which are encrypted with asymmetric RSA algorithm. Only voting machines can decrypt the ciphertext to get the session key as plaintext. The list of the voters who are allowed to vote is stored in the CLA database. The decrypted plaintext must be identical to one of the voters in the voters list, for the voter to be able to vote. Only one vote for each of the voters can be casted. If the time limit is reached, CLA will distribute the vote count to the Central Tabulating Facilities. Considering the complexity in building a complete secure online election voting process, this research is only focused developing a system to authenticate the voter identity in CLA from identity card which is stored in Mifare smart card.

(25)

PENDAHULUAN

Latar Belakang

Pemilihan umum (pemilu) merupakan bagian penting dalam sistem demokrasi Indonesia. Sejak meraih kemerdekaan pada tahun 1945, Indonesia tercatat telah 10 kali menyelenggarakan pemilu. Secara umum, terdapat 4 aspek yang dapat diamati dari pemilu sebelumnya, yaitu sumber daya manusia, biaya, waktu, dan keamanan.

Banyak kendala dan permasalahan yang timbul pada penyelenggaraan pemilu hingga tahun 2009 yang lalu. Pada tahun 2011, dialog nasional yang diprakarsai oleh KPU yang

bertema “Menuju Pemilu Elektronik di

Indonesia” menyimpulkan beberapa masalah yang ditimbulkan pemilu konvensional, yaitu:  Banyak terjadi kesalahan dalam proses

pendataan dan pendaftaran pemilih.  Pemilih salah dalam memberi tanda pada

kertas suara.

 Proses pengumpulan kartu suara yang

berjalan lambat.

 Kurang terjaminnya kerahasiaan dari

pilihan yang dibuat oleh seseorang.  Keterlambatan dalam proses tabulasi hasil

perhitungan suara di daerah.

Penelitian ini mencoba menawarkan solusi

untuk memecahkan permasalahan yang

ditimbulkan pada pemilu sebelumnya dengan menggunakan sistem terotomatisasi (e-voting). Sistem e-voting yang aman, efektif, dan

efisien diperlukan demi suksesnya

penyelenggaraan pemilu sebagai tolak ukur

keberhasilan penerapan demokrasi di

Indonesia. E-voting menawarkan beberapa keunggulan dibandingkan sistem pemilu

konvensional, diantaranya mempercepat

perhitungan suara, memudahkan pengolahan suara, memudahkan verifikasi, menghemat

biaya, dan meningkatkan efektivitas

pelaksanaan pemilu.

Pada tahun 2001, DuFeu dan Harris melakukan penelitian tentangsistem e-voting,

dengan mengimplementasikan Central

Legitimization Agency (CLA) dan Central

Tabulating F

Gambar

Gambar 1  Protokol e-voting yang
Gambar 4. Penelitian ini difokuskan dari tahap
Gambar 6  Diagram alir pembacaan card identity dari Mifare smart card.
Gambar 7  Diagram alir autentikasi card
+7

Referensi

Dokumen terkait

Pengembangan analisis regresi dalam bentuk model linear rampat (generalized linear model) telah sukses dalam memodelkan datayang melibatkan peubah respons kontinu

Sudah dijelaskan bahwa gunungapi membentuk suatu kerucut raksasa yang mempengaruhi keadaan cuaca dan iklim sekitarnya, sehingga membuat tanah akan menkjadi sangat subur

Komputer adalah sebuah mesin hitung elektronik yang secara cepat menerima informasi masukan digital dan mengolah informasi tersebut menurut seperangkat instruksi

Hasil estimasi parameter menunjukkan bahwa besarnya parameter bentuk yang terbesar dimiliki oleh Bank 1, hal ini menyatakan bahwa perilaku ekor kanan Bank 1 semakin berat

Pembumian pada BTS milik Telkomsel menggunakan sistem paralel dimana semua peralatan yang akan dibumikan seperti : peralatan pada tower, internal proteksi, eksternal proteksi,

• Mewujudkan peningkatan produksi tanaman perkebunan secara berkelanjutan. • Mewujudkan pelayanan prima dan berkualitas dibidang manajemen dan kesekretariatan. • Mewujudkan

Stasiun pengambilan contoh ikan ditentukan berdasarkan hasil survei pendahuluan dengan memperhatikan keberadaan ikan bilih dan daerah penangkapannya di Danau

Hyvin pitkien toimeentulotukiasiakkuuksien kohdalla Parpo ja Moisio (2006) havaitsivat, että yli vuoden kestävien asiakkuuksien määrä on kasvanut reilussa kymmenessä