1 5 Kebijakan (Policy) Kebijakan keamanan adalah pernyataan atas apa yang diperbolehkan dan tidak diperbolehkan dalam menjalankan sebuah sistem. Metod...
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 bulan Mei 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 evoting 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 2 3 4 5
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 evoting sehingga tidak bekerja secara semestinya dan juga dapat mengakibatkan terjadinya kebocoran data serta kecurangan oleh pihak-pihak yang tidak bertanggung jawab. Komunikasi data antara mesin voting dan CLA memerlukan proses pengamanan untuk menjaga proses pengiriman card identity dari mesin voting menuju CLA yang sebelumnya melakukan proses pembacaan card identity dari Mifare smart card. Proses pengaman ini membutuhkan kunci simetri yang digunakan untuk mengengkripsi card identiy yang akan dikirim oleh mesin voting. Kunci simetri berperan sebagai media pengaman komunikasi antara mesin voting dan CLA pada saat proses pengiriman card identity yang akan dilakukan proses autentikasi. Ancaman yang dapat menyerang kunci simetri ketika terjadi proses komunikasi antara mesin voting dan CLA adalah:
6
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 pihakpihak 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 or alternation) 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 pada CLA yang dapat melakukan proses pemilihan.
7
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 berupa kunci simetri menggunakan kunci
8
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. Mesin Voting
CLA
Mulai
Membangkitkan pasangan kunci publik
Diagram alir pembacaan card identity pada mesin voting dari Mifare smart card dapat dilihat pada Gambar 6.
Pasangan kunci publik (N, E)
Pengiriman pasangan kunci publik ke CLA
Membangkitkan kunci simetri AES 128 bit
Mulai
String Concatenation (UID + NIK)
String value (40 hex)
Enkripsi (kunci simetri AES) menggunakan RSA
Establish contex
NIK (32 hex)
Pembacaan UID dan NIK berhasil
Mendaftarkan mifare smart card reader yang tersedia
Membaca data dari block number
Selesai
Memilih mifare smart card
Menentukan target block number
Pembacaan mifare smart card gagal
Ciphertext
Dekripsi ciphertext menggunakan kunci privat RSA
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).
Mengirimkan ciphertext ke mesin voting
Plaintext (kunci simetri AES)
Ya
Mengatur waktu pengulangan pembacaan (1 kali)
Key = Key A?
Memulai polling (meletakkan mifare smart card)
Dekripsi ciphertext Key menggunakan kunci authentication privat RSA
Membaca UID (unique)
UID (8 hex)
Tidak
Key A
Selesai
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.
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 menuju CLA untuk diautentikasi dan
9
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. Mesin Voting
CLA
Mulai
Membaca string (UID + NIK) dari mifare card
Redirecting halaman “surat suara”
Update status voter Ya
UID dan NIK (upper case)
Menjalankan fungsi strtolower()
Berhak memilih? Tidak
Selesai
Redirecting halaman “tidak berhak memilih”
Cek status pemilih
Tidak Hash (UID + NIK) SHA-2
Ya
256 bit string hasil hash
Plaintext (UID + NIK)
Enkripsi hash string AES 128 bit
Dekripsi ciphertext menggunakan AES 128 bit
Ciphertext
Mengirimkan ciphertext ke CLA
NIK + UID = hash ?
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); }
10
else kemungkinan 0-9 :
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); } ";
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: UID
# 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)
{ echo "
ID voter tidak terdaftar di database.
";
$encr = $_POST['encr'];
$decr 128);
$query2 = "SELECT UID_NIK FROM voterlist WHERE UID_testing='$uid' AND status=2";
else
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:
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 autentikasi card identity yang berhasil dibaca
14
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.
Hasil pengujian pengiriman kunci simetri, autentikasi card identity, dan pembacaan card identity dapat dilihat pada Tabel 1.
Tabel 1 Pengujian Pembacaan Card Identity No 1.
2.
3.
4.
Deskripsi Uji
Kondisi Awal
Skenario Uji
Hasil yang diharapkan
Membaca UID dan NIK dari Mifare classic menggunakan Mifare smart card 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
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
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
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
Berhasil
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 Uji
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.