Kajian semula sistem pengundian elektronik jauh Suruhanjaya Pilihan Raya Pusat Persekutuan Rusia

Pada 31 Ogos 2020, ujian awam sistem pengundian elektronik jauh (selepas ini dirujuk sebagai DEG) menggunakan teknologi blockchain, yang dibangunkan atas perintah Suruhanjaya Pilihan Raya Pusat Persekutuan Rusia, telah berlangsung.

Untuk membiasakan diri dengan sistem pengundian elektronik baharu dan memahami peranan teknologi blockchain di dalamnya dan komponen lain yang digunakan, kami memulakan satu siri penerbitan yang ditumpukan kepada penyelesaian teknikal utama yang digunakan dalam sistem. Kami cadangkan bermula mengikut urutan - dengan keperluan untuk sistem dan fungsi peserta dalam proses

Keperluan Sistem

Keperluan asas yang digunakan untuk mana-mana sistem pengundian secara amnya adalah sama untuk pengundian secara peribadi tradisional dan untuk pengundian elektronik jauh, dan ditentukan oleh Undang-undang Persekutuan pada 12.06.2002 Jun 67 N 31.07.2020-FZ (seperti yang dipinda pada XNUMX Julai XNUMX) "Mengenai Jaminan Asas hak mengundi dan hak untuk mengambil bahagian dalam referendum warganegara Persekutuan Rusia."

  1. Pengundian dalam pilihan raya dan pungutan suara adalah rahsia, tidak termasuk kemungkinan sebarang kawalan ke atas kehendak warganegara (Perkara 7).
  2. Peluang untuk mengundi harus diberikan hanya kepada orang yang mempunyai hak aktif untuk mengundi untuk undi ini.
  3. Satu pengundi – satu undi, undian β€œdouble” tidak dibenarkan.
  4. Proses pengundian mestilah terbuka dan telus kepada pengundi dan pemerhati.
  5. Integriti pengundi perlu dipastikan.
  6. Ia sepatutnya tidak boleh mengira keputusan pengundian sementara sebelum pengundian selesai.

Jadi, kami mempunyai tiga peserta: pengundi, suruhanjaya pilihan raya dan pemerhati, di antaranya susunan interaksi ditentukan. Ia juga mungkin untuk memilih peserta keempat - badan yang menjalankan pendaftaran warganegara di wilayah itu (terutamanya Kementerian Hal Ehwal Dalam Negeri, serta pihak berkuasa eksekutif lain), kerana hak mengundi aktif dikaitkan dengan kewarganegaraan dan tempat pendaftaran.

Kesemua peserta ini berinteraksi antara satu sama lain.

Protokol interaksi

Mari kita pertimbangkan proses pengundian di pusat mengundi tradisional, dengan peti undi dan kertas undi. Dalam bentuk yang dipermudahkan secara umumnya, ia kelihatan seperti ini: seorang pengundi datang ke pusat mengundi dan mengemukakan dokumen pengenalan (pasport). Terdapat suruhanjaya pilihan raya presint di pusat mengundi, yang ahlinya mengesahkan identiti pengundi dan kehadirannya dalam senarai pemilih yang telah disusun sebelum ini. Jika pengundi ditemui, ahli suruhanjaya memberikan undi kepada pengundi, dan pengundi menandatangani untuk penerimaan undi. Selepas ini, pengundi pergi ke bilik mengundi, mengisi undi, dan meletakkannya di dalam peti undi. Untuk memastikan semua prosedur dipatuhi dengan ketat oleh undang-undang, semua ini dipantau oleh pemerhati (wakil calon, institusi pemantau awam). Selepas pengundian selesai, suruhanjaya pilihan raya, dengan kehadiran pemerhati, mengira undi dan menetapkan keputusan pengundian.

Harta yang diperlukan untuk mengundi dalam sistem pengundian tradisional disediakan oleh langkah-langkah organisasi dan prosedur yang ditetapkan untuk interaksi peserta: menyemak pasport pengundi, menandatangani secara peribadi untuk undi, menggunakan bilik mengundi dan peti undi yang dimeterai, prosedur untuk mengira undi, dsb. .

Untuk sistem maklumat, iaitu sistem pengundian elektronik jauh, susunan interaksi ini dipanggil protokol. Memandangkan semua interaksi kami menjadi digital, protokol ini boleh dianggap sebagai algoritma yang dilaksanakan oleh komponen individu sistem, dan satu set langkah organisasi dan teknikal yang dilakukan oleh pengguna.

Interaksi digital mengenakan keperluan tertentu pada algoritma yang dilaksanakan. Mari kita lihat tindakan yang dilakukan pada tapak tradisional dari segi sistem maklumat dan bagaimana ini dilaksanakan dalam sistem DEG yang sedang kita pertimbangkan.

Katakan segera bahawa teknologi blockchain bukanlah "peluru perak" yang menyelesaikan semua isu. Untuk mencipta sistem sedemikian, adalah perlu untuk membangunkan sejumlah besar komponen perisian dan perkakasan yang bertanggungjawab untuk tugas yang berbeza, dan menyambungkannya dengan satu proses dan protokol. Tetapi pada masa yang sama, semua komponen ini berinteraksi dengan platform blockchain.

Komponen sistem

Dari sudut teknikal, sistem DEG ialah kompleks perisian dan perkakasan (selepas ini dirujuk sebagai STC), yang menggabungkan satu set komponen untuk memastikan interaksi antara peserta dalam proses pilihan raya dalam persekitaran maklumat yang bersatu.

Gambar rajah interaksi komponen dan peserta sistem DEG PTC ditunjukkan dalam rajah di bawah.

Kajian semula sistem pengundian elektronik jauh Suruhanjaya Pilihan Raya Pusat Persekutuan Rusia
Boleh diklik

Proses pengundian jauh

Sekarang kita akan mempertimbangkan secara terperinci proses pengundian elektronik jauh dan pelaksanaannya oleh komponen kompleks perisian dan perkakasan DEG.

Menurut Prosedur untuk pengundian elektronik jauh, untuk dimasukkan ke dalam senarai peserta dalam pengundian elektronik jauh, pengundi mesti mengemukakan permohonan di portal Perkhidmatan Negeri. Pada masa yang sama, hanya pengguna yang mempunyai akaun yang disahkan dan telah berjaya dibandingkan dengan daftar pemilih, peserta referendum sistem "Pilihan Raya" Sistem Automatik Negeri boleh mengemukakan permohonan sedemikian. Selepas menerima permohonan itu, data pengundi sekali lagi disemak oleh Suruhanjaya Pilihan Raya Pusat Rusia dan dimuat naik ke Komponen Senarai Pemilih PTC DEG. Proses muat turun disertakan dengan rakaman pengecam unik dalam blockchain. Ahli suruhanjaya pilihan raya dan pemerhati mempunyai akses untuk melihat senarai menggunakan stesen kerja automatik khas yang terletak di premis suruhanjaya pilihan raya.

Apabila pengundi melawat pusat mengundi, dia disahkan (berbanding dengan data pasport) dan dikenal pasti dalam senarai pemilih, serta menyemak bahawa pengundi ini tidak pernah menerima undi sebelum ini. Perkara penting di sini ialah mustahil untuk menentukan sama ada pengundi meletakkan undi yang diterima di dalam peti undi atau tidak, cuma hakikatnya undi itu sudah dikeluarkan lebih awal. Dalam kes PTC DEG, lawatan pengundi mewakili permintaan pengguna untuk Portal DEG ialah tapak web yang terletak di vybory.gov.ru Seperti pusat mengundi tradisional, laman web ini mengandungi bahan maklumat tentang kempen pilihan raya yang sedang berjalan, maklumat tentang calon dan maklumat lain. Untuk menjalankan pengenalan dan pengesahan, ESIA Portal Perkhidmatan Negeri digunakan. Oleh itu, skim pengenalan umum dikekalkan semasa memohon dan semasa mengundi.

Selepas ini, prosedur anonimisasi bermula - pengundi diberi undi yang tidak mengandungi sebarang tanda pengenalan: ia tidak mempunyai nombor, ia sama sekali tidak berkaitan dengan pengundi yang kepadanya ia dikeluarkan. Adalah menarik untuk mempertimbangkan pilihan apabila pusat mengundi dilengkapi dengan kompleks pengundian elektronik - dalam kes ini, anonimasi dilakukan seperti berikut: bukannya undi kertas, pengundi diminta untuk memilih daripada timbunan mana-mana kad dengan kod bar yang dia akan mendekati alat pengundian. Tiada maklumat tentang pengundi pada kad itu, hanya kod yang menentukan undian mana yang harus diberikan oleh peranti semasa mengemukakan kad sedemikian. Dengan interaksi digital sepenuhnya, tugas utama adalah untuk melaksanakan algoritma anonimasi sedemikian rupa sehingga, di satu pihak, adalah mustahil untuk mewujudkan sebarang data pengenalan pengguna, dan sebaliknya, untuk menyediakan keupayaan untuk mengundi hanya kepada pengguna yang telah dikenalpasti sebelum ini dalam senarai. Untuk menyelesaikan masalah ini, DEG PTK menggunakan algoritma kriptografi, yang dikenali dalam persekitaran profesional sebagai "tandatangan elektronik buta." Kami akan membincangkannya secara terperinci dalam penerbitan berikut, dan juga akan menerbitkan kod sumber; anda juga boleh mengumpul maklumat tambahan daripada penerbitan di Internet menggunakan kata kunci - "protokol pengundian rahsia kriptografi" atau "tandatangan buta"

Kemudian pengundi mengisi undi di tempat yang mustahil untuk melihat pilihan yang dibuat (gerai tertutup) - jika dalam sistem maklumat kami pengundi mengundi dari jauh, maka satu-satunya tempat itu ialah peranti peribadi pengguna. Untuk melakukan ini, pengguna mula-mula dipindahkan ke domain lain βˆ’ ke zon tanpa nama. Sebelum bertukar, anda boleh meningkatkan sambungan VPN anda dan menukar alamat IP anda. Pada domain inilah undian dipaparkan dan pilihan pengguna diproses. Kod sumber yang berjalan pada peranti pengguna pada mulanya dibuka - ia boleh dilihat dalam penyemak imbas.

Setelah pilihan dibuat, undi disulitkan pada peranti pengguna menggunakan skim penyulitan khas, dihantar dan direkodkan dalam komponen "Storan teragih dan pengiraan undi", dibina di atas platform blockchain.

Salah satu ciri protokol yang paling penting ialah kemustahilan untuk mengetahui keputusan pengundian sebelum ia selesai. Di pusat pengundian tradisional, ini dipastikan dengan menutup peti undi dan pemantauan oleh pemerhati. Dalam interaksi digital, penyelesaian terbaik ialah menyulitkan pilihan pengundi. Algoritma penyulitan yang digunakan menghalang keputusan daripada didedahkan sebelum pengundian selesai. Untuk ini, skema dengan dua kekunci digunakan: satu kunci (awam), yang diketahui oleh semua peserta, digunakan untuk menyulitkan suara. Ia tidak boleh dinyahsulit dengan kunci yang sama; kunci kedua (peribadi) diperlukan. Kunci persendirian dibahagikan antara peserta dalam proses pilihan raya (ahli suruhanjaya pilihan raya, dewan awam, pengendali pelayan mengira, dan sebagainya) dengan cara yang setiap bahagian kunci tidak berguna. Anda boleh memulakan penyahsulitan hanya selepas kunci peribadi telah dikumpulkan. Dalam sistem yang sedang dipertimbangkan, prosedur pengasingan kunci merangkumi beberapa peringkat: pengasingan sebahagian daripada kunci dalam sistem, pengasingan kunci di luar sistem dan penjanaan kunci awam biasa. Kami akan menunjukkan secara terperinci proses penyulitan dan bekerja dengan kunci kriptografi dalam penerbitan akan datang.

Selepas kunci dikumpul dan dimuat turun, pengiraan keputusan bermula untuk rakaman lanjut mereka dalam rantaian blok dan pengumuman seterusnya. Satu ciri sistem yang sedang dipertimbangkan ialah penggunaan teknologi penyulitan homomorfik. Kami akan menerangkan algoritma ini secara terperinci dalam penerbitan akan datang dan bercakap tentang sebab teknologi ini digunakan secara meluas untuk mencipta sistem pengundian. Sekarang mari kita perhatikan ciri utamanya: undi yang disulitkan yang direkodkan dalam sistem perakaunan boleh digabungkan tanpa penyahsulitan sedemikian rupa sehingga hasil penyahsulitan gabungan teks sifir tersebut akan menjadi nilai terjumlah bagi setiap pilihan dalam undian. Pada masa yang sama, sistem, sudah tentu, melaksanakan bukti matematik tentang ketepatan pengiraan sedemikian, yang juga direkodkan dalam sistem perakaunan dan boleh disahkan oleh pemerhati.

Di bawah adalah garis besar proses pengundian.

Kajian semula sistem pengundian elektronik jauh Suruhanjaya Pilihan Raya Pusat Persekutuan Rusia
Boleh diklik

Platform rantaian blok

Sekarang setelah kita meneliti ciri-ciri utama pelaksanaan sistem pengundian elektronik jauh, mari kita jawab soalan yang kita mulakan - apakah peranan yang dimainkan oleh teknologi blockchain dalam hal ini dan apakah masalah yang dibenarkan untuk diselesaikan?

Dalam sistem pengundian jauh yang dilaksanakan, teknologi blockchain menyelesaikan pelbagai masalah tertentu.

  • Tugas asas adalah untuk memastikan integriti maklumat dalam rangka kerja pengundian, dan, pertama sekali, undi.
  • Memastikan ketelusan pelaksanaan dan ketidakbolehubah kod program yang dilaksanakan dalam bentuk kontrak pintar.
  • Memastikan perlindungan dan kebolehubahan data yang digunakan dalam proses pengundian: senarai pemilih, kunci yang digunakan untuk menyulitkan undi pada pelbagai peringkat protokol kriptografi, dan sebagainya.
  • Menyediakan storan data terdesentralisasi, dengan setiap peserta mempunyai salinan yang sama, disahkan oleh sifat konsensus dalam rangkaian.
  • Keupayaan untuk melihat urus niaga dan menjejaki kemajuan pengundian, yang dicerminkan sepenuhnya dalam rantaian blok, dari permulaannya hingga rakaman keputusan yang dikira.

Oleh itu, kita melihat bahawa tanpa menggunakan teknologi ini, hampir mustahil untuk mencapai sifat yang diperlukan dalam sistem pengundian, serta mempercayainya.

Fungsi platform blockchain yang digunakan diperkaya dengan penggunaan kontrak pintar. Kontrak pintar menyemak setiap transaksi dengan undi yang disulitkan untuk kesahihan tandatangan elektronik dan "buta", dan juga menjalankan semakan asas mengenai ketepatan mengisi undi yang disulitkan.

Selain itu, dalam sistem pengundian elektronik jauh yang dipertimbangkan, komponen "Storan teragih dan pengiraan undi" tidak terhad kepada nod blok blok sahaja. Untuk setiap nod, pelayan berasingan boleh digunakan yang melaksanakan fungsi kriptografi utama protokol pengundian - pelayan mengira.

Mengira pelayan

Ini adalah komponen terdesentralisasi yang menyediakan prosedur untuk penjanaan edaran kunci penyulitan undi, serta penyahsulitan dan pengiraan keputusan pengundian. Tugas mereka termasuk:

  • Memastikan penjanaan diedarkan sebahagian daripada kunci penyulitan undi. Prosedur penjanaan utama akan dibincangkan dalam artikel berikut;
  • Menyemak ketepatan undi yang disulitkan (tanpa menyahsulitnya);
  • Memproses undi dalam bentuk yang disulitkan untuk menjana teks sifir akhir;
  • Penyahkodan diedarkan hasil akhir.

Setiap peringkat pelaksanaan protokol kriptografi direkodkan dalam platform blockchain dan boleh disemak untuk ketepatannya oleh pemerhati.

Untuk memberikan sistem sifat yang diperlukan pada pelbagai peringkat proses pengundian, algoritma kriptografi berikut digunakan:

  • Tandatangan elektronik;
  • Menandatangani kunci awam pengundi secara buta;
  • Skim penyulitan lengkung eliptik ElGamal;
  • Bukti pengetahuan sifar;
  • Protokol Pedersen 91 DKG (Distributed Key Generation);
  • Protokol perkongsian kunci peribadi menggunakan skim Shamir.

Perkhidmatan kriptografi akan dibincangkan dengan lebih terperinci dalam artikel berikut.

Keputusan

Mari kita ringkaskan beberapa keputusan perantaraan pertimbangan sistem pengundian elektronik jauh. Kami telah menerangkan secara ringkas proses dan komponen utama yang melaksanakannya, dan juga mengenal pasti cara untuk mencapai sifat yang diperlukan untuk mana-mana sistem pengundian:

  • Pengesahan Pengundi. Sistem ini hanya menerima undi daripada pengundi yang disahkan. Harta ini dipastikan dengan mengenal pasti dan mengesahkan pengundi, serta merekodkan senarai pemilih dan fakta menyediakan akses kepada undi dalam rantaian blok.
  • Tanpa Nama. Sistem ini memastikan kerahsiaan pengundian, yang termaktub dalam perundangan Persekutuan Rusia; identiti pengundi tidak dapat ditentukan daripada undi yang disulitkan. Dilaksanakan menggunakan algoritma "tandatangan buta" dan zon tanpa nama untuk mengisi dan menghantar undi.
  • Kerahsiaan undi. Penganjur dan peserta pengundian lain tidak boleh mengetahui keputusan pengundian sehingga ia selesai, undian dikira dan keputusan akhir dihurai. Kerahsiaan dicapai dengan menyulitkan undi dan menjadikannya mustahil untuk dinyahsulit sehingga selepas mengundi.
  • Ketidakbolehubahan Data. Data pengundi tidak boleh diubah atau dipadamkan. Storan data tidak berubah disediakan oleh platform blockchain.
  • Kebolehpercayaan. Pemerhati boleh mengesahkan bahawa undi telah dikira dengan betul.
  • Kebolehpercayaan. Seni bina sistem adalah berdasarkan prinsip desentralisasi, memastikan ketiadaan "titik kegagalan" tunggal.

Sumber: www.habr.com

Tambah komen