JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)
1
Implementasi Fungsi Kriptografi dan Otentikasi Sidik Jari Pada Pemungutan Suara Berbasis Elektronik (E-voting) Anik Hanifatul Azizah, Tohari Ahmad, dan Hudan Studiawan Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya 60111 Indonesia e-mail:
[email protected]
Abstrak—Pemungutan suara dalam pemilihan umum menjadi hal yang penting dalam sebuah proses demokrasi di sebuah negara. Sejauh ini pelaksanaan pemungutan suara di Indonesia masih dilakukan secara konvensional yaitu dengan menggunakan kertas suara. Cara seperti ini seringkali berpotensi menimbulkan kecurangan, misalnya penggunaan suara oleh pihak yang tidak berhak atau manipulasi terhadap data hasil suara oleh pihak yang tidak bertanggung jawab. Di sisi lain perkembangan teknologi yang semakin pesat di Indonesia dapat dimanfaatkan sebaik-baiknya, termasuk dalam proses pemungutan suara ini. Sistem pemungutan suara secara elektronik akan lebih menguntungkan dan memudahkan setiap pelaku demokrasi, namun dibalik keuntungan dan kemudahan tersebut konsep ini masih mempunyai celah keamanan, yakni pada pengamanan data hasil suara dan jaminan keabsahan pengguna hak suara. Oleh karena itu dibangun sebuah sistem bernama if-voting yang menerapkan metode otentikasi sidik jari dan metode kriptografi dalam pengamanan datanya. Fungsi kriptografi yang digunakan untuk pengamanan data adalah implementasi algoritma enkripsi Rijndael dan algoritma enkripsi RSA, sedangkan untuk otentikasi pemilih digunakan pencocokan sidik jari ketika pemilih akan masuk ke dalam sistem. Fungsi kriptografi yang diterapkan untuk mengenkripsi data suara menghasilkan pesan terenkrip dengan tingkat keamanan terjamin karena algoritma enkripsi ini mengubah pesan suara menjadi kode-kode rahasia yang tidak dapat terbaca dengan mudah. Sedangkan otentikasi sidik jari yang diterapkan pada aplikasi sistem memberikan tingkat akurasi sebesar 93,33%. Tingkat akurasi cukup tinggi ini dapat memberikan validitas otentikasi yang baik pada sistem pemungutan suara. Dengan adanya penerapan fungsi kriptografi dan otentikasi sidik jari pada evoting dapat menciptakan sebuah sistem pemungutan suara berbasis elektronik yang aman dari berbagai potensi manipulasi data suara dan terjamin validitas pemilih yang sah untuk menggunakan hak suara. Kata Kunci— E-voting, Kriptografi, Otentikasi, Sidik Jari.
I. PENDAHULUAN
I
NDONESIA merupakan negara demokrasi, dimana pemilihan umum menjadi hal yang tidak dapat dipisahkan dari proses demokrasi di Indonesia. Bagian penting dalam sebuah pemilihan umum adalah pemungutan suara. Selama ini proses pemungutan suara di Indonesia masih dilakukan secara konvensional yaitu dengan menggunakan kertas suara. Cara seperti ini seringkali berpotensi menimbulkan kecurangan,
misalnya manipulasi data hasil suara. Hal lain yang dapat dimanfaatkan adalah adanya sisa kertas suara yang berpotensi dimanfaatkan oleh orang yang tidak berhak. Dengan memanfaatkan kemajuan teknologi, sistem pemilu di Indonesia dapat dilakukan secara elektronik. Pemungutan suara secara elektronik ini dikenal dengan nama e-voting. Beberapa negara maju dan berkembang seperti Finlandia, Lithuania, Brasil, dan India telah menerapkan pemungutan suara secara elektronik dalam bentuk e-voting. Dalam penerapan teknologi, sistem pemungutan suara secara elektronik dapat memberikan berbagai kemudahan dan keuntungan dibandingkan dengan pemilihan secara konvensional. Namun, dibalik kemudahan dan keuntungan yang diberikan masih terdapat celah keamanan, yakni pada keamanan data dan ketidak validan pengguna. Salah satu cara untuk mengamankan sistem adalah dengan menerapkan fungsi kriptografi dan otentikasi pada aplikasi pemungutan suara. Dengan latar belakang yang telah dikemukakan maka artikel ini memberikan solusi penerapan fungsi kriptografi dan otentikasi sidik jari pada sistem pemungutan suara berbasis elektronik untuk mengurangi berbagai potensi kecurangan yang ada, sehingga proses demokrasi akan berjalan sesuai asasnya. II. URAIAN PENELITIAN A. Electronic Voting Electronic Voting yang lebih dikenal dengan istilah singkatan e-voting, merupakan sistem pemungutan suara yang dilaksanakan dengan memanfaatkan teknologi komputer. Teknologi komputer yang terus berkembang dimanfaatkan ke dalam sistem pemungutan suara dengan berbagai macam cara. Pilihan teknologi yang digunakan dalam implementasi dari evoting sangat bervariasi, penggunaan internet sebagai sistem pemungutan suara, penggunaan layar sentuh sebagai pengganti kartu suara, seperti penggunaan smart card untuk otentikasi pemilih, dan masih banyak variasi teknologi lainnya [2]. Penelitian terkait e-voting yang memanfaatkan teknologi informasi semakin banyak bermunculan sekitar tahun 1990. Pemanfaatan e-voting sudah mulai dilakukan pada beberapa Negara.
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print) B. Kriptografi Kriptografi merupakan ilmu untuk menjaga kerahasiaan informasi dengan metode dan teknik matematika yang mencakup kerahasiaan, integritas data, otentikasi entitas dan otentikasi keaslian data. Keempat hal tersebut adalah beberapa syarat terciptanya keamanan pada suatu informasi, dan dapat dijabarkan pada beberapa poin berikut: Kerahasiaan (Confidentiality) Merupakan aspek pencegahan penyingkapan informasi kepada pihak yang tidak memiliki hak terhadap infomasi tersebut. Aspek ini dapat disediakan dengan kriptografi yaitu dengan menyandikan informasi tersebut. Integritas (Integrity) Merupakan aspek pencegahan perubahan informasi oleh pihak yang tidak memiliki otoritas untuk merubah informasi tersebut. Untuk memenuhi keadaan ini sebuah metode tertentu haruslah dapat untuk mendeteksi perubahan informasi, yaitu penyisipan, penghapusan, dan penggantian. Otentikasi (Authentication) Merupakan aspek menjamin informasi tersebut adalah asli. Disamping itu juga untuk menjamin keabsahan orang-orang yang terlibat dalam pertukaran informasi. Aspek ini dapat disediakan dengan berbgai metode. Salah satunya adalah menggunakan metode otentikasi sidik jari. Nirpenyangkalan (Non-repudiation) Merupakan aspek menjamin agar pihak-pihak yang terlibat tidak dapat menyangkal dikemudian hari [8]. C. AES AES (Advanced Encryption Standard) adalah suatu bentuk metode enkripsi yang digunakan dalam proses penyandian pesan. Algoritma ini mulai ditemukan pada tahun 1997, ketika National Institute of Standards and Technology (NIST) membuat sayembara untuk menemukan algoritma baru yang dapat menggantikan DES. Algoritma ini telah dikenal dan digunakan di seluruh dunia hingga sekarang. Algoritma AES merupakan algoritma enkripsi blok-cipher yang menggunakan kunci yang sama untuk proses enkripsi dan dekripsi. Kunci yang digunakan disini disebut kunci simetris. Operasi enkripsi AES menggunakan beberapa round (ronde) dalam proses penyandian pesannya. Terdapat beberapa metode penggunaan kunci yang berbeda-beda dalam proses enkripsi AES. Metode-metode ini disebut sebagai model operasi [11]. Terdapat enam macam model operasi yang biasa digunakan dalam proses enkripsi AES. Ke enam model tersebut antara lain: • Electronic code book (ECB) • Cipher block chaining (CBC) • Counter (CTR) • Cipher feed back (CFB) • Output feed back (OFB) • Galois Counter Mode (GCM) Skema umum proses enkripsi algoritma AES dan proses enkripsi tiap rondenya dapat disimak pada Gambar 1.
2
.
Gambar 1. Skema proses enkripsi AES dan proses tiap rondenya
D. Rijndael Rijndael merupakan algoritma enkripsi blok-cipher yang diadopsi menjadi AES. Langkah-langkah kriptografi dengan menggunakan algoritma rijndael sama dengan langkah-langkah algoritma AES. Perbedaan antara AES dan Rijndael hanya terletak pada panjang blok dan panjang kunci, sedangkan proses enkripsinya tetap sama [9]. Rijndael merupakan algoritma blok-cipher dengan variabel panjang blok dan variabel panjang kunci dapat ditentukan sendiri, meski tetap dalam ketentuan panjang minimal 128 bit dan panjang maksimal 256 bit. Sedangkan panjang blok dan panjang kunci untuk AES telah ditentukan, yaitu, 128 bit, 192 bit, dan 256 bit. oleh karena itu Rijndael disebut juga keyiterated blok-cipher. Input algoritma rijndael adalah plaintext dan kunci dan output algoritma Rijndael adalah blok cipher teks. Sedangkan untuk dekripsi, input algoritma rijndael adalah blok-cipher, dan outputnya adalah blok plaintext [10]. Proses enkripsi algoritma Rijndael sama dengan langkah enkripsi algoritma AES, seperti terlihat pada Gambar 1. E. RSA RSA singkatan dari Rivest-Shamir-Adleman, adalah sebuah algoritma kriptografi yang dibuat oleh tiga orang peneliti dari MIT (Massachussets Institute of Technology) pada tahun 1976, yaitu: Ron Rivest, Adi Shamir, dan Leonard Adleman. RSA merupakan algoritma blok asimetris yang menggunakan dua kunci dalam proses kriptografinya, yaitu kunci publik dan kunci rahasia [1]. Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktorfaktor prima. Sepasang kunci yang dihasilkan oleh proses generate algoritma RSA didistribusikan kepada kedua belah pihak yang bertransaksi dalam pengiriman pesan. Kedua belah pihak tersebut dalam aplikasi sistem ini disebut klien dan server. Karena algoritma ini merupakan algoritma blok asimetri, maka kunci yang digunakan untuk proses enkripsi dan dekripsi berbeda. Skema proses algoritma RSA secara umum dapat dilihatkan pada Gambar 2. Skema tersebut memperlihatkan proses enkripsi yang dinyatakan dengan E, sedangkan untuk proses dekripsi dinyatakan dengan D.
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)
3
Gambar 2. Skema proses algoritma RSA
F. Otentikasi Sidik Jari Otentikasi berarti memberikan bukti terhadap suatu identitas. Teknik otentikasi berbeda-beda tergantung dari tipe sumber otentikasi yang digunakan. Beberapa macam sumber otentikasi yang digunakan dapat digolongkan menjadi dua hal (berdasarkan tujuan otentikasi) yaitu, user-to-host dan host-tohost. Otentikasi dapat dilakukan dengan menyajikan data-data berikut: Sesuatu yang menunjukan jati diri (something you are / SYA). Sesuatu yang diketahui (something you know / SYK). Sesuatu yang dimiliki (something you have / SYH) [7]. Berkaitan dengan otentikasi sidik jari yang merupakan suatu metode pengenalan sidik jari untuk diterapkan dalam berbagai sistem informasi guna menambah tingkat keamanan sistem tersebut. Otentikasi sidik jari telah umum diterapkan ke dalam berbagai sistem informasi seperti, absensi sidik jari, pembuka aplikasi dangan sidik jari, sidik jari pada kunci ruangan dan lain sebagainya. Sidik jari dapat dijadikan sebagai media otentikasi yang handal karena setiap orang memiliki pola sidik jari yang berbeda-beda. III. DESAIN DAN IMPLEMENTASI Rancangan arsitektur sistem dilihatkan pada Gambar 3. Deskripsi masing-masing langkah dalam arsitektur sistem pada Gambar 3 adalah sebagai berikut: 1. Otentikasi pemilih Otentikasi pada sistem ini menggunakan deteksi pencocokan sidik jari. Pemilih melakukan pencocokan sidik jari yang dimiliki dengan sidik jari yang ada pada basis data sistem. Jika sidik jari pemilih cocok, atau telah terdaftar maka secara otomatis pemilih dapat memasuki sistem untuk menggunakan hak suaranya. Dalam artikel ini data sidik jari yang digunakan berasal dari dataset fingerprint. Sedangkan proses ekstraksi gambar sidik jari dilakukan dengan menggunakan SDK pencocokan sidik jari. 2. Masuk sistem Setelah otentikasi pemilih berhasil dan gambar sidik jari yang dimiliki pemilih cocok dengan salah satu gambar sidik jari yang ada pada basis data, maka secara otomatis pemilih akan masuk ke dalam sistem e-voting. 3. Proses distribusi kunci Rijndael Proses distribusi kunci ini merupakan sebuah proses yang bertujuan untuk menjaga keamanan sistem.
Gambar 3. Arsitektur sistem
4.
5.
6.
7.
8.
Kunci enkripsi Rijndael dikirimkan kepada pemilih dalam keadaan telah terenkripsi dengan algoritma RSA. Setelah kunci Rijndael sampai kepada pemilih, kemudian dilakukan proses dekripsi dengan kunci publik RSA. Proses ini terjadi di dalam sistem tanpa diperlihatkan kepada pemilih, karena bertujuan untuk menjaga keamanan proses pemilihan suara. Memilih calon Setelah proses otentikasi dan distribusi kunci AES melalui RSA berhasil, pemilih dapat menggunakan hak suaranya dengan memilih salah satu kandidat yang ditampilkan dalam halaman situs e-voting. Data dienkripsi Data suara pemilih yang telah memuat data kandidat dienkripsi oleh sistem menggunakan algoritma enkripsi Rijndael. Disimpan di file Data hasil suara yang telah terenkripsi ke dalam sebuah file txt untuk kemudian dilakukan perhitungan suara setelah semua pemilih menggunakan hak suaranya. Pemungutan suara selesai Perolehan suara didapat dari pemisahan pesan suara yang menghasilkan nomor kandidat yang terpilih, sehingga masing-masing nomor dapat diketahui perolehan suaranya. Hasil perhitungan suara Sistem e-voting menampilkan hasil perhitungan suara yang dapat dilihat oleh masing-masing pemilih. IV. HASIL DAN PEMBAHASAN
A. Uji Coba Pencocokan Sidik Jari Uji coba terhadap metode pencocokan sidik jari dilakukan sebelum pengguna memasuki sistem. Metode ini diterapkan sebagai otentikasi sistem. Ketika fungsi pencocokan sidik jari berhasil maka pemilih akan dapat masuk ke dalam aplikasi sistem if-voting. Kemudian pemilih dapat menggunakan hak suaranya dengan melakukan proses pemungutan suara pada halaman Voting. Disamping melakukan uji coba terhadap jalannya fungsi pencocokan sidik jari, penulis juga melakukan uji coba pencocokan sidik jari dengan data testing untuk mengetahui nilai akurasi dari metode yang diterapkan.
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)
4
Tabel 1. Hasil uji coba metode enkripsi Rijndael
No 1 2 3 4 5 6 7 8 9 10
Id pemilih Pemilih1c Pemilih2b Pemilih3c Pemilih4c Pemilih5b Pemilih6b Pemilih7c Pemilih8c Pemilih9c Pemilih10b
Id kandidat Kan01 Kan01 Kan01 Kan01 Kan02 Kan02 Kan02 Kan03 Kan03 Kan03
Hasil Enkripsi / Pesan Suara PcL4yr6mHYBOjmLwuVcY8hpnhwZZvkNLK2zmcLVWoBI= W9XN2Joy58e6HsNGR9q/M4tlJbj5SPFBZcCKSm5++x4= cZc+cv6m5iUGaSgYchSkzEqGa1pRJKJFVm2gAvD5I6w= w7ojCV8zaUz11G2dz8Sm/WpBSsIcrUQvCEtKLhrXiO4= nUvAQ2aTEBvZvMSgRKHQXaU9BWLcRDOPsXonG5C91a8= 684w7C69u8uMAb3ztl+XxQ69HLUQgeSSfnk/E32egeM= yXFlU0CLWdfaTZ1OCP9zS/uUDlfLELUXwCdjbmmOB5U= Es7eVhBYjVe1femEZPxlmuISGFAy7Bf/R5zPcAsl9ko= 2bSR/05V4yUHszRHpQF4mUuAm884cVAcVxxTuqyg0os= MFWoC/p/CEHBJyC9FFnvgdpgeH42tEwyZfPXw/h99Hg=
Uji coba ini dilakukan dengan menggunakan data testing berupa 10 buah sidik jari dari 10 orang. Sebelumnya 10 sidik jari tersebut telah tersimpan di dalam basis data sistem. Dan 10 sidik jari yang sama akan menjadi data masukan yang digunakan pemilih untuk memasuki sistem. Masing-masing sidik jari masukan dicocokan dengan yang ada dalam basis data. Apakah dengan sidik jari masukan tersebut selalu berhasil memasuki sistem dengan baik atau tidak. Dari pengujian masing-masing sidik jari tersebut dapat diketahui akurasi metode pencocokan sidik jari yang diterapkan dalam artikel ini. Masukan 10 sidik jari pertama menggunakan 10 data sidik jari orang yang telah di scan. Pengukuran akurasi dilakukan dengan perhitungan TPR (1). TPR
dataUjiSuk ses x100% jumlahDataUjiKeselur uhan 1 TPR x100% 10 = 90 %
(1)
Dekripsi Pemilih1c.jpgKan01 Pemilih2b.jpgKan01 Pemilih3c.jpgKan01 Pemilih4c.jpgKan01 Pemilih5b.jpgKan02 Pemilih6b.jpgKan02 Pemilih7c.jpgKan02 Pemilih8c.jpgKan03 Pemilih9c.jpgKan03 Pemilih10b.jpgKan03
penyandian pesan yang dilakukan secara rahasia. Pengujian metode enkripsi Rijndael dilakukan dengan mengamati data hasil enkripsi algoritma Rijndael, apakah benar algoritma ini menyandikan pesan suara menjadi sebuah pesan yang tidak dapat dipahami ataukah tidak. Di samping itu juga mengamati hasil dekripsi Rijndael, apakah benar menghasilkan id pemilih dan id kandidat yang sesuai dengan masukan di awal ataukah tidak. Ketika metode enkripsi ini berhasil maka program dapat melakukan perhitungan suara. Namun ketika proses enkripsi dan dekripsi tidak berhasil maka program tidak dapat melakukan perhitungan suara. Pengujian ini dilakukan dengan menggunakan masukan 10 orang pemilih, dalam kasus ini 10 sidik jari pemilih yang berbeda-beda yang memilih masing-masing 3 kandidat. Hal ini dilakukan supaya dapat terlihat jelas perbedaan kode sandi pesan yang dihasilkan oleh algoritma RSA. V. KESIMPULAN DAN SARAN
A. Uji Coba Metode Enkripsi RSA Pengujian metode ini tidak ditampilkan oleh sistem kepada pengguna. Karena proses ini merupakan proses penyandian pesan yang dilakukan secara rahasia. Pengujian metode enkripsi RSA dilakukan dengan mengamati data hasil enkripsi algoritma RSA, apakah benar menyandikan kunci yang didistribusikan menjadi sebuah pesan yang tidak dapat dipahami orang ataukah tidak. Di samping itu juga mengamati hasil dekripsi RSA, apakah benar menghasilkan teks yang sama seperti teks masukan di awal proses (plain text). Teks masukan pada proses ini adalah sebuah kunci rahasia Rijndael, maka hasil dekripsi harus menghasilkan kunci rahasia Rijndael persis seperti yang ada pada server di awal proses. Pengujian ini dilakukan dengan menggunakan masukan 10 buah kunci rahasia Rijndael yang berbeda-beda. Hal ini dilakukan agar dapat terlihat jelas perbedaan kode sandi kunci rahasia Rijndael pesan yang dihasilkan oleh algoritma RSA.
Dari hasil pengamatan yang telah dilakukan, mulai dari tahap perancangan, kemudian implementasi, hingga uji coba aplikasi sistem, dapat ditarik kesimpulan sebagai berikut: 1) Penerapan metode kriptografi dengan algoritma enkripsi dalam sistem pemungutan suara dapat mengubah data pesan suara menjadi data rumit yang tidak dapat terbaca dengan mudah, sehingga tingkat keamanan data pemilihan umum dapat terjamin. 2) Penerapan metode otentikasi sidik jari untuk memasuki aplikasi sistem pemungutan suara bermanfaat untuk menjamin validitas pemilih pada proses pemilihan umum, dengan nilai akurasi terbaik yang diperoleh dari hasil uji coba sebesar 90 %. 3) Proses pengintegrasian Software Development Kit (SDK) pencocoka sidik jari pada aplikasi sistem pemungutan suara dengan cara mengimplementasikan fungsi-fungsi pencocokan sidik jari pada aplikasi sistem dengan bahasa C#, dan dilakukan pada aplikasi klien dan server.
B. Uji Coba Metode Enkripsi Rijndael Pengujian metode ini juga tidak ditampilkan oleh sistem kepada pengguna. Karena proses ini merupakan proses
Beberapa saran yang diberikan untuk pengembangan aplikasi sistem lebih lanjut di masa yang akan datang jika dilihat dari hasil perancangan, implementasi, dan uji coba yang
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print) telah dilakukan antara lain: 1) Menerapkan metode otentikasi sidik jari menggunakan perangkat keras agar lebih mudah diterapkan secara langsung pada proses pemilihan umum. 2) Memperbaiki penggunaan parameter maupun atribut yang digunakan dalam data testing sehingga diharapkan dapat mengurangi timbulnya nilai fail dalam proses pencocokan sidik jari. 3) Mengembangkan aplikasi sistem pemungutan suara dalam skala yang lebih luas. UCAPAN TERIMA KASIH Penulis A.H.A mengucapkan terima kasih kepada Dosen Pembimbing yang telah membantu menyelesaikan beberapa masalah, rekan-rekan Teknik Informatika ITS angkatan 2009 yang memberikan motivasi, serta Kementrian Agama Republik Indonesia yang telah memberikan dukungan finansial melalui Program Beasiswa Santri Berprestasi tahun 2009-2013. DAFTAR PUSTAKA [1]
William Stallings, Cryptography and network security. Boston: Prentice Hall, 2006. [2] Rinaldi Munir, "Kriptografi," IEEE Publication, vol. 1, no. Computers Apllication, p. 3, Mar. 2006. [3] Ronald L Rivest, Electronic Voting. United States, 2000. [4] Jose Rodrigues, "E-Voting in Brazil – The Risks to Democracy," Evoting, p. 11, 2007. [5] PemKab Jembrana. (2013, Feb.) jembranakab.go.id. [Online]. http://www.jembranakab.go.id. [6] Sarwono Sutikno, Algoritma Kriptografi, 1st ed. Bandung, 2010. [7] Tohari Ahmad, "Authentication," Institut Teknologi Sepuluh Nopember, Surabaya, Slide 1, 2012. [8] Andrew S. Tanenbaum, Computer Networks. Mexico: Prentice Hall, 2003. [9] Townsend Security, AES Encryption.: Columbia, 2010. [10] Texas Instruments Inc, Using AES Encryption and Decryption. Texas, England: ARM Publisher, 2010. [11] Eko Satria, "Studi Algoritma Rijndael Dalam Sistem Keamanan Data," Universitas Sumatra Utara, Medan, Skripsi 1, 2009.
5