Yleiskatsaus sähköisen etääänestysjärjestelmän anonymisointimenettelyyn

В aikaisemmat julkaisut Päädyimme siihen, että harkitsemassamme sähköisessä etääänestysjärjestelmässä käytetään kryptografista ”sokea sähköinen allekirjoitus” -algoritmia varmistamaan äänestyksen salassapito ja anonymisoimaan äänestäjä. Tässä artikkelissa tarkastelemme sitä yksityiskohtaisemmin.

Käännytään ensin hyvin tunnettuun ja tuttuun sähköisen allekirjoituksen algoritmiin, jota käytetään laajasti tietojärjestelmissä eri tarkoituksiin. Sähköinen allekirjoitus perustuu kryptografisiin epäsymmetrisiin salausalgoritmeihin. Epäsymmetrinen salaus on salaus kahdella avaimella: toista käytetään salaukseen, toista salauksen purkamiseen. Niitä kutsutaan avoimeksi (julkiseksi) ja yksityiseksi avaimeksi. Julkinen avain on muiden tiedossa, ja yksityinen avain on vain sähköisen allekirjoituksen omistajan tiedossa ja se on tallennettu paikkaan, johon muut eivät pääse käsiksi.

Allekirjoittaessa tapahtuu seuraavaa: Ensinnäkin sähköinen asiakirja pelkistetään matemaattisia muunnoksia käyttäen tietyn kokoiseksi merkkijonoksi - tätä kutsutaan hash-funktioksi.

Asiakirjan lähettäjä salaa saadun merkkijonon (hash asiakirjasta) yksityisellä avaimella ja lähettää sen yhdessä julkisen avaimen kanssa vastaanottajalle. Vastaanottaja purkaa merkkijonon salauksen julkisella avaimella, käyttää täsmälleen samaa hash-funktiota asiakirjassa ja vertaa muunnostulosta salauksen purkutulokseen. Jos kaikki täsmää, asiakirjaan ei tehty muutoksia sen jälkeen, kun lähettäjä oli allekirjoittanut sen.

Kuvattujen toimien avulla voit varmistaa, että asiakirjaa ei ole muutettu, mutta ne eivät anna sinun varmistaa, että lähettäjä on todella se, joka hän väittää olevansa. Siksi tarvitsemme kolmannen osapuolen, johon sekä lähettäjä että vastaanottaja luottavat. Tätä varten lähettäjä ottaa ennen asiakirjan lähettämistä yhteyttä kolmanteen osapuoleen ja pyytää tätä allekirjoittamaan julkisen avaimensa sähköisellä allekirjoituksellaan. Lähettäjä lähettää nyt vastaanottajalle asiakirjan, hänen julkisen avaimensa ja avaimensa kolmannen osapuolen allekirjoituksen. Vastaanottaja tarkistaa kolmannen osapuolen allekirjoituksen julkisella avaimella ja luottaa tuloksena olevaan asiakirjan allekirjoitukseen.

Siirrytään nyt siihen, mitä "sokea allekirjoitus" on ja kuinka se voi auttaa meitä anonymisoinnissa.

Kuvitellaan, että yllä kuvatussa esimerkissä lähettäjä on äänestäjä, asiakirja on äänestyslippu ja vastaanottaja on vaalilautakunta tai kuten sanoimme "ääntenlaskentakomponentti". Meillä on "Voter List" -komponentti kolmannena osapuolena (validaattorina). Tässä tapauksessa prosessi voi tapahtua seuraavasti.

Yleiskatsaus sähköisen etääänestysjärjestelmän anonymisointimenettelyyn

Äänestäjä luo laitteeseensa avaimet – yksityiset ja julkiset. Koska nämä avaimet luodaan hänen henkilökohtaisella laitteellaan selaimessa, ne ovat vain hänen tiedossa.

Näillä avaimilla hän allekirjoittaa äänestyslipun valvoakseen sen eheyttä. Hän lähettää allekirjoitetun äänestyslipun ja julkisen avaimen vaalilautakunnalle. Jotta jaettu äänten tallennus ja laskenta -komponentti hyväksyy äänestyksen, sen on varmistettava, että julkinen avain on validoijan allekirjoittama.

Validaattori (Voter List -komponentti) allekirjoittaa julkisen avaimen vasta varmistettuaan, että äänestäjä on äänestäjälistalla.

Äänestyssalaisuuden säilyttämisen ongelman ratkaisemiseksi äänestäjän laitteelle luodun julkisen avaimen ei pitäisi olla kenenkään tiedossa. Osoittautuu, että validaattorin on allekirjoitettava jotain, joka on hänelle tuntematon. Tehtävä näyttää mahdottomalta, mutta tässä salausalgoritmit tulevat apuun - tässä tapauksessa "sokea allekirjoitus" -algoritmi

Ensinnäkin julkinen avain täytyy peittää äänestäjän laitteessa. Maskaus on yksittäisten matemaattisten operaatioiden suorittamista käyttäjän laitteessa. Kuvittele, että ajattelit satunnaislukua 1:stä 100:een, sitten toista satunnaislukua 1:stä 10:een ja kolmannen, 10:stä 50:een, nostit alun perin ajatellun luvun toisen luvun potenssiin ja jaoit sen ilman loput kolmannella. Tuloksesta kerrottiin muille. Alkuperäisen numeron palauttaminen ei ole vaikeaa, koska tiedät toimintosarjan ja mielessäsi olevat numerot. Mutta ympärilläsi olevat eivät voi tehdä tätä.

Julkisen avaimen peittäminen (sokoitus) suoritetaan erityisen salausalgoritmin mukaisesti. Tämän seurauksena validaattori allekirjoittaa peitetyn julkisen avaimen tietämättä alkuperäistä avainta. Mutta algoritmin erikoisuus on, että käyttäjä (äänestäjä), saatuaan allekirjoituksen maskatulle avaimelle, voi tehdä käänteisiä muunnoksia ja saada allekirjoituksen, joka on voimassa alkuperäiselle, peittämättömälle avaimelle.

Kuvattua algoritmia käytetään laajalti salaisen äänestyksen protokollissa. Sähköinen etääänestysjärjestelmä käyttää tällä hetkellä RSA-algoritmia, jonka avaimen pituus on 4096 bittiä sokeisiin allekirjoituksiin.

Yleisesti anonymisointimenettely on seuraava.

  1. Kun ääni luodaan, luodaan erillinen "validaattori"-avainpari, ja julkinen avain tallennetaan lohkoketjuun. Jokaiselle äänelle luodaan yksilöllinen avainpari.
  2. Käyttäjä tunnistetaan tunnistusjärjestelmässä (tässä tapauksessa ESIA:ssa), ja hän antaa luvan siirtää tunnistustietonsa tunnistusjärjestelmästä DEG PTC:hen.
  3. DEG PTC:n "Voter List" -komponentti tarkistaa käyttäjän läsnäolon äänestäjäluettelossa.
  4. Käyttäjän laitteella luodaan hänen henkilökohtaiset avaimensa - yksityiset ja julkiset, jotka ovat vain hänen tiedossa.
  5. Julkinen avain on peitetty käyttäjän laitteessa
  6. Yhdessä tunnistetietojen ja peitetyn julkisen avaimen kanssa käyttäjä pääsee "Voter List" -komponenttiin
  7. Komponentti tarkistaa vielä kerran käyttäjän läsnäolon luettelossa ja sen, ettei hän ole aiemmin saanut allekirjoitusta
  8. Jos kaikki tarkistukset onnistuvat, avain allekirjoitetaan
  9. Avaimen allekirjoitus kirjataan lohkoketjuun
  10. Käyttäjä laitteellaan poistaa maskin julkisesta avaimesta ja saa yksityisen avaimen, julkisen avaimen ja allekirjoituksen julkiseen avaimeen, ja kaikki avaimet ovat vain hänen tiedossa.
  11. Tämän jälkeen käyttäjä siirretään nimettömälle vyöhykkeelle - erilliselle verkkosivustolle edg2020.gov.ru, jossa häntä on mahdotonta tunnistaa (esimerkiksi ennen siirtymistä hän voi yhdistää VPN:n tai vaihtaa Internet-palveluntarjoajaansa muuttamalla IP-osoite)
  12. Äänestyksen hyväksyminen riippuu vain siitä, onko "validaattorin" allekirjoitus todennettu ja onko tällaista avainta käytetty aiemmin.

Seuraavaksi annamme algoritmin kuvauksen kryptografian näkökulmasta.
Allekirjoitus- ja nimitysvaihtoehdot:

Yleiskatsaus sähköisen etääänestysjärjestelmän anonymisointimenettelyyn
Yleiskatsaus sähköisen etääänestysjärjestelmän anonymisointimenettelyyn

M – FDN-täytemuodossa allekirjoitusta varten.

Lähde: will.com

Lisää kommentti