Gambaran keseluruhan prosedur anonimasi untuk sistem pengundian elektronik jauh

Π’ penerbitan terdahulu Kami bersetuju dengan fakta bahawa dalam sistem pengundian elektronik jauh yang sedang kami pertimbangkan, algoritma "tandatangan elektronik buta" kriptografi digunakan untuk memastikan kerahsiaan mengundi dan menamakan pengundi. Dalam artikel ini kita akan melihatnya dengan lebih terperinci.

Mula-mula, mari kita beralih kepada algoritma tandatangan elektronik yang terkenal dan biasa, yang digunakan secara meluas dalam sistem maklumat untuk pelbagai tujuan. Tandatangan elektronik adalah berdasarkan algoritma penyulitan asimetri kriptografi. Penyulitan asimetri ialah penyulitan menggunakan 2 kekunci: satu daripadanya digunakan untuk penyulitan, satu lagi untuk penyahsulitan. Mereka dipanggil kunci terbuka (awam) dan peribadi. Kunci awam diketahui oleh orang lain, dan kunci persendirian hanya diketahui oleh pemilik tandatangan elektronik dan disimpan di tempat yang tidak boleh diakses oleh orang lain.

Apabila menandatangani, perkara berikut berlaku: pertama, dokumen elektronik, menggunakan transformasi matematik, dikurangkan kepada urutan aksara saiz tertentu - ini dipanggil fungsi cincang.

Urutan aksara yang terhasil (cincang daripada dokumen) disulitkan oleh pengirim dokumen menggunakan kunci persendirian dan, bersama dengan kunci awam, dihantar kepada penerima. Penerima menyahsulit jujukan aksara menggunakan kunci awam, menggunakan fungsi cincang yang sama pada dokumen dan membandingkan hasil penukaran dengan hasil penyahsulitan. Jika semuanya sepadan, maka tiada perubahan dibuat pada dokumen selepas ia ditandatangani oleh pengirim.

Tindakan yang diterangkan membolehkan anda mengesahkan bahawa dokumen itu tidak diubah, tetapi tidak membenarkan anda mengesahkan bahawa pengirim itu benar-benar orang yang didakwanya. Oleh itu, kita memerlukan pihak ketiga yang dipercayai oleh kedua-dua pengirim dan penerima. Untuk melakukan ini, sebelum menghantar dokumen, pengirim menghubungi pihak ketiga dan memintanya menandatangani kunci awamnya dengan tandatangan elektroniknya. Pengirim kini menghantar kepada penerima dokumen, kunci awamnya dan tandatangan pihak ketiga bagi kuncinya. Penerima mengesahkan tandatangan pihak ketiga pada kunci awam dan mempercayai tandatangan dokumen yang terhasil.

Sekarang mari kita beralih kepada apa itu "tandatangan buta" dan bagaimana ia boleh membantu kita dengan anonimasi.

Mari kita bayangkan bahawa dalam contoh yang diterangkan di atas, pengirim ialah pengundi, dokumen ialah undi dan penerima ialah suruhanjaya pilihan raya, atau seperti yang kita katakan "komponen pengiraan undi." Kami akan mempunyai komponen "Senarai Pemilih" sebagai pihak ketiga (pengesah). Dalam kes ini, proses boleh berlaku seperti berikut.

Gambaran keseluruhan prosedur anonimasi untuk sistem pengundian elektronik jauh

Pengundi menjana sepasang kunci pada perantinya - peribadi dan awam. Memandangkan kekunci ini dicipta pada peranti peribadinya dalam penyemak imbas, ia hanya diketahui olehnya.

Menggunakan kunci ini, dia akan menandatangani undi untuk mengawal integritinya. Dia menghantar undi yang ditandatangani dan kunci awam kepada suruhanjaya pilihan raya. Untuk sesuatu undi diterima oleh komponen Penyimpanan dan Pengiraan Undi Teragih, ia mesti mengesahkan bahawa kunci awam ditandatangani oleh pengesah.

Pengesah (komponen Senarai Pemilih) akan menandatangani kunci awam hanya selepas mengesahkan bahawa pengundi berada dalam senarai pemilih.

Untuk menyelesaikan masalah memelihara kerahsiaan pengundian, kunci awam pengundi yang dibuat pada perantinya tidak seharusnya diketahui sesiapa. Ternyata pengesah mesti menandatangani sesuatu yang tidak diketahui olehnya. Tugas itu kelihatan mustahil, tetapi di sini algoritma kriptografi datang untuk menyelamatkan - dalam kes ini, algoritma "tandatangan buta"

Pertama, kunci awam mesti bertopeng pada peranti pengundi. Masking ialah prestasi operasi matematik individu pada peranti pengguna. Bayangkan anda memikirkan nombor rawak dari 1 hingga 100, kemudian memikirkan nombor rawak kedua dari 1 hingga 10 dan yang ketiga, dari 10 hingga 50, menaikkan nombor yang difikirkan pada mulanya kepada kuasa nombor kedua, dan membahagikannya tanpa baki oleh yang ketiga. Hasilnya dilaporkan kepada orang lain. Tidak sukar untuk anda memulihkan nombor asal, kerana anda tahu urutan tindakan dan nombor yang anda fikirkan. Tetapi orang di sekeliling anda tidak akan dapat melakukan ini.

Masking (membutakan) kunci awam dilakukan mengikut algoritma kriptografi khas. Akibatnya, pengesah menandatangani kunci awam bertopeng tanpa mengetahui kunci asal. Tetapi keistimewaan algoritma ialah pengguna (pengundi), setelah menerima tandatangan untuk kunci bertopeng, boleh membuat transformasi terbalik dan mendapatkan tandatangan yang sah untuk kunci asal yang tidak bertopeng.

Algoritma yang diterangkan digunakan secara meluas dalam protokol pengundian rahsia. Sistem pengundian elektronik jauh pada masa ini menggunakan algoritma RSA dengan panjang kunci 4096 bit untuk tandatangan buta.

Secara umum, prosedur anonimasi adalah seperti berikut.

  1. Apabila undian dibuat, pasangan kunci "pengesah" yang berasingan dicipta, dan kunci awam direkodkan dalam rantaian blok. Pasangan kunci unik dicipta untuk setiap undian.
  2. Pengguna dikenal pasti dalam sistem pengenalan (dalam kes ini, dalam ESIA), dan memberikan kebenaran untuk memindahkan data pengenalannya daripada sistem pengenalan kepada DEG PTC.
  3. Komponen "Senarai Pemilih" DEG PTC menyemak kehadiran pengguna dalam senarai pemilih.
  4. Pada peranti pengguna, kunci peribadinya dibuat - peribadi dan awam, hanya diketahui olehnya.
  5. Kunci awam bertopeng pada peranti pengguna
  6. Bersama-sama dengan data pengenalan dan kunci awam bertopeng, pengguna mengakses komponen "Senarai Pemilih".
  7. Komponen itu sekali lagi menyemak kehadiran pengguna dalam senarai dan fakta bahawa dia tidak menerima tandatangan sebelum ini
  8. Jika semua semakan berjaya, kunci ditandatangani
  9. Fakta menandatangani kunci direkodkan dalam blockchain
  10. Pengguna pada perantinya mengeluarkan topeng daripada kunci awam dan menerima kunci persendirian, kunci awam dan tandatangan pada kunci awam, dan semua kunci hanya diketahui olehnya.
  11. Selepas ini, pengguna dipindahkan ke zon tanpa nama - ke laman web berasingan edg2020.gov.ru, di mana mustahil untuk mengenal pasti dia (contohnya, sebelum peralihan dia boleh menyambungkan VPN atau menukar penyedia Internetnya, menukar sepenuhnya Alamat IP)
  12. Penerimaan undi akan bergantung hanya pada sama ada tandatangan "pengesah" disahkan dan sama ada kunci sedemikian tidak digunakan sebelum ini.

Seterusnya, kami menyediakan penerangan tentang algoritma dari sudut pandangan kriptografi.
Pilihan tandatangan dan jawatan:

Gambaran keseluruhan prosedur anonimasi untuk sistem pengundian elektronik jauh
Gambaran keseluruhan prosedur anonimasi untuk sistem pengundian elektronik jauh

M – dalam format pelapik FDN untuk tandatangan.

Sumber: www.habr.com

Tambah komen