Översikt över anonymisering av systemet för distansröstning

I tidigare publikationer Vi stannade vid att den distansbaserade elektroniska röstningssystemet som vi undersöker anvÀnder algoritmen för "blind elektronisk signatur" för att sÀkerstÀlla rösthemlighet och anonymisering av vÀljaren. I denna artikel kommer vi att titta nÀrmare pÄ den.

Först vÀnder vi oss till den kÀnda och vÀlbekanta algoritmen för elektronisk signatur, som anvÀnds i informationssystem av olika slag. Grunden för elektronisk signatur ligger i algoritmer för asymmetrisk kryptering. Asymmetrisk kryptering innebÀr kryptering med hjÀlp av tvÄ nycklar: en anvÀnds för kryptering och den andra för dekryptering. Dessa kallas offentlig (publik) och privat nyckel. Den offentliga nyckeln Àr kÀnd för andra, medan den privata enbart Àr kÀnd för Àgaren av den elektroniska signaturen och förvaras pÄ en plats som Àr otillgÀnglig för andra.

NĂ€r dokumentet signeras sker följande: först omvandlas det elektroniska dokumentet, med hjĂ€lp av matematiska transformationer, till en sekvens av tecken av bestĂ€md storlek – detta kallas en hashfunktion.

Den resulterande teckensekvensen (hashen av dokumentet) krypteras av avsÀndaren av dokumentet med hjÀlp av den privata nyckeln och skickas tillsammans med den offentliga nyckeln till mottagaren. Mottagaren dekrypterar teckensekvensen med hjÀlp av den offentliga nyckeln, tillÀmpar exakt samma hashfunktion pÄ dokumentet och jÀmför resultatet av transformationen med resultatet av dekrypteringen. Om allt stÀmmer överens har dokumentet inte Àndrats efter underskrift av avsÀndaren.

De beskrivna ÄtgÀrderna gör att vi kan sÀkerstÀlla att dokumentet inte har Àndrats, men de gör det inte möjligt att verifiera att avsÀndaren verkligen Àr den de utger sig för att vara. DÀrför behöver vi en tredje part som bÄde avsÀndaren och mottagaren litar pÄ. För detta ÀndamÄl kontaktar avsÀndaren en tredje part innan dokumentet skickas och ber dem att signera den offentliga nyckeln med sin elektroniska signatur. Nu skickar avsÀndaren dokumentet, sin offentliga nyckel och signaturen frÄn tredje part av sin nyckel till mottagaren. Mottagaren kontrollerar signaturen frÄn tredje part av den offentliga nyckeln och litar pÄ den mottagna signaturen av dokumentet.

LÄt oss nu gÄ vidare till vad en "blind signatur" Àr och hur den kan hjÀlpa oss med anonymisering.

Anta att avsÀndaren i det ovan beskrivna exemplet Àr en vÀljare, dokumentet Àr en röstsedel, och mottagaren Àr valmyndigheten, eller som vi sa, "komponenten för registrering och rÀkning av röster". Som tredje part (valideraren) har vi komponenten "VÀljarlista". I det hÀr fallet kan processen gÄ till pÄ följande sÀtt.

Översikt över anonymisering av systemet för distansröstning

VĂ€ljaren genererar ett nyckelpar – en privat och en offentlig nyckel – pĂ„ sin enhet. Eftersom dessa nycklar skapas pĂ„ den personliga enheten i webblĂ€saren Ă€r de bara kĂ€nda för honom.

Med hjÀlp av dessa nycklar kommer han att signera röstsedeln för att sÀkerstÀlla dess integritet. Den signerade röstsedeln och den offentliga nyckeln skickas till valmyndigheten. För att röstsedeln ska accepterats av komponenten "Distribuerad lagring och rÀkning av röster" mÄste den kontrollera att den offentliga nyckeln Àr signerad av valideraren.

Valideraren (komponenten "VÀljarlista") kommer att signera den offentliga nyckeln först efter att ha verifierat att vÀljaren finns med i vÀljarlistan.

För att lösa uppgiften att bevara hemligheten kring röstningen fĂ„r den offentliga nyckeln frĂ„n vĂ€ljaren, skapad pĂ„ hans enhet, inte vara kĂ€nd av nĂ„gon. Det innebĂ€r att valideraren mĂ„ste signera nĂ„got som han inte vet om. Uppgiften verkar omöjlig, men hĂ€r kommer kryptografiska algoritmer till hjĂ€lp – i detta fall algoritmen för "blind signatur".

Först mÄste den offentliga nyckeln maskeras pÄ vÀljarenheten. Maskeringen Àr att utföra vissa matematiska operationer pÄ anvÀndarens enhet. TÀnk dig att du tÀnker pÄ ett slumpmÀssigt tal mellan 1 och 100, sedan ett andra slumpmÀssigt mellan 1 och 10, och ett tredje mellan 10 och 50, det första talet upphöjt till det andra talet och delat med det tredje talet, utan rest. Resultatet meddelas omgivningen. Det kommer inte att vara svÄrt för dig att Äterfinna det ursprungliga talet, eftersom du vet sekvensen av operationer och de tal du tÀnkte pÄ. Men omgivningen kommer inte att kunna göra detta.

Maskeringen (blindhet) av den offentliga nyckeln utförs enligt en speciell kryptografisk algoritm. Som ett resultat signerar validatorn den maskerade offentliga nyckeln, medan den ursprungliga nyckeln Àr okÀnd för den. Men algoritmens egenskaper Àr sÄdana att anvÀndaren (vÀljaren), efter att ha fÄtt signaturen pÄ den maskerade nyckeln, kan göra omvÀnda transformationer och fÄ en giltig signatur Àven för den ursprungliga, omaskerade nyckeln.

Den beskrivna algoritmen anvÀnds i stor utstrÀckning i protokoll för hemlig röstning. I systemet för fjÀrr elektronisk röstning anvÀnds för nÀrvarande algoritmen RSA med en nyckellÀngd pÄ 4096 bitar för blind signatur.

I allmÀnna termer ser proceduren för anonymisering ut som följer.

  1. Vid skapandet av en röstning skapas ett separat nyckelpar för "validatorn", dÀr den offentliga nyckeln registreras i blockchain. För varje röstning skapas ett unikt nyckelpar.
  2. AnvÀndaren identifierar sig i identifieringssystemet (i detta fall, i ESIA) och ger tillstÄnd till överföring av sina identifieringsdata frÄn identifieringssystemet till PTK DEG.
  3. Komponenten "VÀljarlista" i PTK DEG kontrollerar om anvÀndaren finns i vÀljarlistan.
  4. PÄ anvÀndarens enhet skapas hans personliga nycklar - en privat och en offentlig, som endast han kÀnner till.
  5. PÄ anvÀndarens enhet maskeras den offentliga nyckeln.
  6. Tillsammans med identifieringsdata och den maskerade offentliga nyckeln vÀnder sig anvÀndaren till komponenten "VÀljarlista".
  7. Komponenten kontrollerar Äterigen att anvÀndaren finns pÄ listan och att han inte tidigare har fÄtt en signatur.
  8. Om alla kontroller Àr framgÄngsrika, signeras nyckeln.
  9. Faktumet att nyckeln har signerats registreras i blockchain.
  10. AnvÀndaren tar bort masken frÄn den offentliga nyckeln pÄ sin enhet och fÄr den privata nyckeln, den offentliga nyckeln och signaturen pÄ den offentliga nyckeln, medan alla nycklar endast Àr kÀnda för honom.
  11. Efter detta överförs anvÀndaren till en anonym zon - till en separat webbplats edg2020.gov.ru, dÀr han inte kan identifieras (till exempel, innan han gÄr över kan han byta VPN eller byta internetleverantör, vilket helt Àndrar IP-adressen).
  12. Mottagandet av röstsedeln kommer endast att bero pÄ om validatorns signatur passerar kontrollen och huruvida en sÄdan nyckel har anvÀnts tidigare.

Nedan följer en beskrivning av algoritmen ur ett kryptografiskt perspektiv.
Signaturparametrar och beteckningar:

Översikt över anonymisering av systemet för distansröstning
Översikt över anonymisering av systemet för distansröstning

M – i formatet padding FDN för signaturen.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster