Sistem e-Voting menurut Election Markup Language (EML) Specification Version 6.0
Bowo Prasetyo Universitas Gunadarma 8 Nopember 2011
Model Proses Pemilihan
Model Proses Pemilihan ●
●
Tahap pra-pemungutan: –
Proses nominasi kandidat.
–
Proses pendaftaran pemilih.
Tahap pemungutan: –
●
Proses pemungutan.
Tahap pasca-pemungutan: –
Proses penghitungan hasil.
–
Proses audit.
Proses Nominasi Kandidat
Proses Nominasi Kandidat ●
●
Adalah proses untuk menyetujui nominator sebagai kandidat sah untuk posisi tertentu di pemilihan. Kandidat bisa individu atau partai.
Alur Nominasi Kandidat ●
●
●
Penyelenggara pemilihan membuka proses nominasi. Pihak yang berminat melakukan nominasi kandidat (210). –
a. Nominator sendiri melakukan nominasi dengan melampirkan daftar pendukung.
–
b. Setiap pendukung menominasikan kandidatnya dengan persetujuan sang nominator.
Penyelenggara pemilihan memeriksa nominator.
Alur Nominasi Kandidat ●
●
●
Mungkin juga berkomunikasi dengan penyelenggara pemilihan di wilayah lain (230). Nominator akan diberitahu hasil pemeriksaan (220). Hasil akhir proses ini adalah daftar kandidat (230).
Skema EML Nominasi Kandidat ●
EML 110 – peristiwa pemilihan –
●
EML 210 – nominasi kandidat –
●
Informasi mengenai pemilihan. Biasanya digunakan untuk mengkomunikasikan informasi dari penyelenggara pemilihan. Untuk menominasikan kandidat atau partai, persetujuan atau pengunduran diri.
EML 220 – jawaban terhadap nominasi –
Untuk mengkonfirmasi apakah nominasi kandidat telah diterima.
Skema EML Nominasi Kandidat ●
EML 230 – daftar kandidat –
Rincian kontes dan kandidat.
Pendaftaran Pemilih
Pendaftaran Pemilih ●
●
Adalah proses pencatatan hak pilih seseorang pada sistem pendaftaran pemilih. Bagian penting dari proses ini adalah identifikasi orang tersebut.
Alur Pendaftaran Pemilih ●
●
Dimulai dari komunikasi antara pemilih dan penyelenggara pemilihan (310): –
Menambah pemilih.
–
Memodifikasi pemilih (termasuk menghapus).
–
Cara komunikasi tidak ditentukan, bisa online maupun offline.
Pertukaran data dengan database lain (penyelenggara pemilihan wilayah lain, lembaga pemerintah dll) (330).
Alur Pendaftaran Pemilih ●
●
Di sini komunikasi dengan pemilih meliputi: –
Opsi kanal pemilihan (360).
–
Informasi pemungutan (150/340).
–
Generik (350).
Pada tanggal yang telah ditentukan, subset dari database pemilih akan ditetapkan, kemudian dari sini akan dihasilkan daftar pemilih (330).
Skema EML Pendaftaran Pemilih ●
EML 150 – distrik geografis –
●
EML 310 – pendaftaran pemilih –
●
Mengizinkan penggunaan sistem pemetaan geografis untuk menggambarkan distrik dan batas pemilihan serta pemungutan. Untuk mendaftarkan pemilih pada pemilihan.
EML 330 – daftar pemilih –
Rincian dari pemilih aktual pada pemilihan.
Skema EML Pendaftaran Pemilih ●
EML 340 – informasi pemungutan –
●
EML 350 – generik –
●
Pemberitahuan ke pemilih pada pemilihan, keabsahan mereka dan bagaimana untuk memberikan suara. Menyediakan struktur bersama untuk komunikasi dari/ke pemilih dan internal.
EML 360 – kanal –
Menawarkan/menetapkan kanal pemungutan dari pemilih.
Proses Pemungutan
Proses Pemungutan ●
Meliputi –
Otentikasi pemilih, dan
–
Pemberian suara.
Alur Pemungutan ●
●
●
Pemilih memberikan suara dengan pilihan: –
Cara fisik: kanal pos atau surat suara kertas.
–
Cara elektronik: berbagai kanal e-voting.
Setiap kanal mempunyai gateway untuk menerjemahkan antara terminal pemilih dan sistem pemungutan (410, 420, 430, 440, 450, 445). Otentikasi memastikan pemilih yang sah (420). –
Hak pilih didefinisikan dengan vtoken.
Alur Pemungutan ●
●
●
Pemilih memberikan suara secara teramankan (440). Suara disegel bersama vtoken dan dimasukkan ke kotak suara elektronik (460). Log vtoken (470) dan log audit (480) dikumpulkan ke sistem audit.
Skema EML Pemungutan ●
EML 410 – surat suara –
●
EML 420 – otentikasi pemilih –
●
Menggambarkan surat suara aktual yang digunakan pada pemilihan. Untuk otentikasi pemilih sepanjang proses pemungutan.
EML 430 – jawaban otentikasi –
Menunjukkan apakah otentikasi sukses atau tidak, mungkin menampilkan surat suara ke pemilih.
Skema EML Pemungutan ●
EML 440 – memberikan suara –
●
EML 445 – mengambil suara –
●
Catatan aktual dari pemberian suara. Untuk sistem yang mempunyai kotak pra surat suara dari mana suara dapat diambil dan dikonfirmasi.
EML 450 – mengkonfirmasi suara –
Menunjukkan apakah suara telah diterima dan memberikan nomor referensi atau ditolak.
Skema EML Pemungutan ●
EML 460 – grup suara –
●
EML 470 – log vtoken –
●
Grup dari suara yang dikirim untuk penghitungan. Menambahkan token pemungutan ke log audit.
EML 480 – log audit –
Akses dokumen ke catatan pemungutan dan alasan.
Proses Pelaporan Suara
Alur Pelaporan Suara ●
●
Sistem pemungutan mengkomunikasikan suara ke sistem penghitungan atau sistem analisa. –
Menghasilkan perhitungan suara (510).
–
Penghitungan ulang dapat dilakukan di sini.
Perhitungan suara dianalisa dan diperiksa. –
●
●
Menghasilkan hasil akhir (520).
Hasil akhir dapat dianalisa dan diperiksa lagi. Atau diekstrak statistiknya untuk diinput ke sistem analisa. –
Menghasilkan statistik (530).
Skema EML Pelaporan Suara ●
EML 510 – perhitungan –
●
EML 520 – hasil –
●
Hasil dari kontes pemilihan dan perhitungan. Mengkomunikasikan rincian hasil spesifik atas kandidat dan pemilihan.
EML 530 – statistika –
Informasi statistik mengenai perhitungan dan hasil di atas.
Sistem Pengauditan
Sistem Pengauditan ●
Lembaga legal berisi petugas pemilihan dan perwakilan kandidat dapat menguji proses-proses yang digunakan untuk mengumpulkan dan menghitung suara, sehingga akan membuktikan keaslian hasil akhir.
Persyaratan Pengauditan ●
Petugas pemilihan harus dapat menghitung semua surat suara: –
yang diterbitkan = yang digunakan + yang rusak + yang tidak digunakan.
–
Masukan: 460 (suara), 470 (vtoken), 480 (audit).
–
Dan log dari sistem otentikasi pemilih (vtoken generator): ●
Jumlah pemilih sah dan vtoken yang dihasilkan.
–
(460 + 470) vs (log sistem otentikasi).
–
460 vs 480.
Persyaratan Pengauditan ●
Petugas pemilihan harus dapat membuktikan bahwa suara tidak diubah: –
●
Suara harus disegel bersama vtoken dengan digital signature.
Petugas pemilihan harus dapat menghitung ulang suara ketika hasil dipermasalahkan. –
Jumlah suara dalam (460) vs audit (480).
Persyaratan Pengauditan ●
Petugas pemilihan harus punya mekanisme yang memungkinkan banyak pemantau menyaksikan semua proses pemungutan. –
Segel dan log audit (480) memungkinkan pemantauan saat pemungutan berlangsung tanpa mengungkap suara maupun identitas pemilih.
Keamanan e-Voting menurut Election Markup Language (EML) Specification Version 6.0
Persyaratan Keamanan Dasar ●
Otentikasi –
●
Pengecekan kebenaran klaim identitas atau hak pilih.
Privasi/Kerahasiaan –
Informasi pemilih dan suaranya harus dirahasiakan.
–
Jumlah perolehan suara kandidat tidak boleh diketahui sampai pemungutan selesai.
Persyaratan Keamanan Dasar ●
Integritas –
Surat suara yang ditampilkan dan suara yang diberikan harus benar dan tidak diubah. ●
●
Suara harus disegel dengan digital signature.
Non-repudiation –
Pemilih tidak bisa menyangkal pilihannya. ●
Suara harus disegel dengan digital signature.
Persyaratan Keamanan Spesifik ●
●
Hanya pemilih sah yang dibolehkan memberikan suara. Hanya satu set pilihan yang dibolehkan per pemilih per kontes.
●
Suara tidak dapat diubah dari maksud pemilih.
●
Suara tidak boleh dipantau sampai waktunya.
●
Sistem evoting harus akuntabel dan auditabel.
●
Informasi otentikasi pemilih/hak pilih harus dijaga dari penyalahgunaan.
Persyaratan Keamanan Spesifik ● ●
●
Privasi pemilih harus dijaga sesuai hukum. Opsi pemberian suara untuk pemilih harus genuine. Pembuktian bahwa semua suara genuine telah dihitung dengan akurat.
Keamanan Sistem e-Voting
Arsitektur Keamanan ●
Identifikasi dan pendaftaran pemilih
●
Otentikasi hak pilih
●
Validasi hak pilih dan penyegelan suara
●
Kerahasiaan suara
●
Akurasi penghitungan suara
●
Kendali keamanan sistem e-voting
Identifikasi dan Pendaftaran Pemilih ●
Termasuk proses pra-pemungutan.
●
Otentikasi identitas seorang pemilih.
●
Otentikasi hak pilih orang tersebut.
●
Pemilih sah akan mendapat surat pemilih.
Otentikasi Hak Pilih ●
Pada saat pemungutan pemilih sah mendapat vtoken sebagai otentikasi hak pilih.
●
Vtoken unik dan random.
●
Vtoken diasosiasikan dengan suara.
●
Vtoken tidak bisa diasosiasikan dengan identitas pemilih.
Validasi Hak Pilih dan Penyegelan Suara ●
●
Sebelum memberikan suara vtoken harus divalidasi. Suara harus disegel bersama vtoken dengan digital signature, sehingga: –
Suara tidak dapat diubah dari maksud pemilih.
–
Sistem evoting menjadi akuntabel dan auditabel.
Kerahasiaan Suara ●
●
Semua suara yang diberikan tidak bisa dipantau sampai waktu yang ditentukan. –
Tidak ada akses ke database suara.
–
Tidak ada akses ke kunci dekripsi suara.
Suara tidak bisa diasosiasikan dengan pemilih. –
Vtoken tidak bisa diasosiasikan dengan pemilih.
–
Urutan suara di database diacak, supaya tidak sesuai dengan urutan pemilih.
Akurasi Penghitungan Suara ●
●
Audit harus dapat membuktikan bahwa: –
Semua suara yang diberikan adalah genuine.
–
Semua suara genuine adalah dihitung.
Diperlukan penyegelan (suara + vtoken) dengan digital signature. –
Skema 470 dan 480.
Kendali Keamanan Sistem eVoting ●
●
●
Seluruh operasi sistem evoting dan lingkungan fisiknya harus teramankan. Diperlukan kendali sistem yang tepat terkait prosedur, fisik dan komputasi. Diperlukan kebijakan keamanan tertulis berdasar analisa resiko yang mengidentifikasi: –
Target-target keamanan.
–
Kendali keamanan yang diperlukan.
Implementasi Vtoken dan Signature EVM versi 1.0
Memberikan Suara
Vtoken dan Signature
Pilihan (Suara) ●
WriteInCandidateName –
Nama (gabungan) kandidat yang ditampilkan ke pemilih, apa adanya langsung dicatat termasuk nomor, titik, spasi dan tanda baca lainnya.
–
Misal: “1. Durian – Sirsak“, “2. Pisang – Semangka”, dll.
Vtoken ●
4 byte nomor TPS.
●
128 bit (16 byte) UUID.
●
Vtoken adalah byte array dengan panjang 20: –
Posisi[0 - 3] = nomor TPS.
–
Posisi[4 – 19] = UUID.
Suara + Vtoken public class SealStructure implements Serializable { private byte[] vtoken; private String vote; } ● ●
Diserialisasi ke byte array. Dienkripsi dengan publik key sebagai secret key menggunakan algoritma DES.
Signature ●
●
●
●
Obyek signature adalah: –
Pada mesin vtoken generator: vtoken.
–
Pada mesin EVM: (suara + vtoken).
Menggunakan algoritma SHA1 dengan DSA. Private key menggunakan algoritma DSA dengan encoding PKCS8. Public key menggunakan algoritma DSA dengan encoding X509.
Format Penulisan File ●
Byte array ditulis langsung sebagai file binari. [256 byte FVote][64 byte FSign]
●
FVote[255] = panjang array (suara + vtoken)
●
FVote[0 ~ …] = array (suara + vtoken)
●
FSign[63] = panjang array signature
●
FSign[0 ~ …] = array signature