Pasqyrë e procedurës së anonimizimit për sistemin e votimit elektronik në distancë

В publikimet e mëparshme Ne u vendosëm në faktin se në sistemin e votimit elektronik në distancë që po shqyrtojmë, përdoret një algoritëm kriptografik "nënshkrimi elektronik i verbër" për të siguruar fshehtësinë e votimit dhe anonimizimin e votuesit. Në këtë artikull do ta shqyrtojmë më në detaje.

Së pari, le të kthehemi te algoritmi i njohur dhe i njohur i nënshkrimit elektronik, i cili përdoret gjerësisht në sistemet e informacionit për qëllime të ndryshme. Nënshkrimi elektronik bazohet në algoritme të enkriptimit asimetrik kriptografik. Kriptimi asimetrik është kriptim duke përdorur 2 çelësa: njëri prej tyre përdoret për enkriptim, tjetri për deshifrim. Ata quhen çelës i hapur (publik) dhe privat. Çelësi publik është i njohur për të tjerët, dhe çelësi privat është i njohur vetëm për pronarin e nënshkrimit elektronik dhe ruhet në një vend të paarritshëm për të tjerët.

Gjatë nënshkrimit, ndodh sa vijon: së pari, dokumenti elektronik, duke përdorur transformime matematikore, reduktohet në një sekuencë karakteresh të një madhësie të caktuar - ky quhet funksion hash.

Sekuenca e karaktereve që rezulton (një hash nga dokumenti) kodohet nga dërguesi i dokumentit duke përdorur një çelës privat dhe, së bashku me çelësin publik, i dërgohet marrësit. Marrësi deshifron sekuencën e karaktereve duke përdorur çelësin publik, zbaton saktësisht të njëjtin funksion hash në dokument dhe krahason rezultatin e konvertimit me rezultatin e deshifrimit. Nëse gjithçka përputhet, atëherë nuk është bërë asnjë ndryshim në dokument pasi është nënshkruar nga dërguesi.

Veprimet e përshkruara ju lejojnë të verifikoni që dokumenti nuk është ndryshuar, por nuk ju lejojnë të verifikoni që dërguesi është me të vërtetë ai që pretendon se është. Prandaj, ne kemi nevojë për një palë të tretë që i besohet si nga dërguesi ashtu edhe nga marrësi. Për ta bërë këtë, përpara dërgimit të dokumentit, dërguesi kontakton një palë të tretë dhe i kërkon asaj të nënshkruajë çelësin e tij publik me nënshkrimin e saj elektronik. Dërguesi tani i dërgon marrësit dokumentin, çelësin e tij publik dhe një nënshkrim të palës së tretë të çelësit të tij. Marrësi verifikon nënshkrimin e palës së tretë në çelësin publik dhe i beson nënshkrimit të dokumentit që rezulton.

Tani le të kalojmë se çfarë është "nënshkrimi i verbër" dhe si mund të na ndihmojë me anonimizimin.

Le të imagjinojmë që në shembullin e përshkruar më sipër, dërguesi është votuesi, dokumenti është fleta e votimit dhe marrësi është komisioni zgjedhor, ose siç thamë "komponenti i numërimit të votave". Ne do të kemi komponentin “Lista e Votuesve” si palë e tretë (validues). Në këtë rast, procesi mund të ndodhë si më poshtë.

Pasqyrë e procedurës së anonimizimit për sistemin e votimit elektronik në distancë

Votuesi gjeneron një palë çelësa në pajisjen e tij - private dhe publike. Meqenëse këto çelësa janë krijuar në pajisjen e tij personale në shfletues, ato janë të njohura vetëm për të.

Duke përdorur këta çelësa, ai do të nënshkruajë fletën e votimit për të kontrolluar integritetin e saj. Fletëvotimin e nënshkruar dhe çelësin publik i dërgon komisionit zgjedhor. Që një fletë votimi të pranohet nga komponenti i ruajtjes dhe numërimit të votave të shpërndara, ai duhet të verifikojë që çelësi publik është i nënshkruar nga verifikuesi.

Vlerësuesi (komponenti i Listës zgjedhore) do të nënshkruajë çelësin publik vetëm pasi të verifikojë se votuesi është në listën e votuesve.

Për të zgjidhur problemin e ruajtjes së fshehtësisë së votimit, çelësi publik i votuesit i krijuar në pajisjen e tij nuk duhet të jetë i njohur për askënd. Rezulton se vërtetuesi duhet të nënshkruajë diçka që është e panjohur për të. Detyra duket e pamundur, por këtu vijnë në shpëtim algoritmet kriptografike - në këtë rast, algoritmi "nënshkrimi i verbër".

Së pari, çelësi publik duhet të maskohet në pajisjen e votuesit. Maskimi është kryerja e operacioneve individuale matematikore në pajisjen e përdoruesit. Imagjinoni që keni menduar për një numër të rastësishëm nga 1 në 100, më pas keni menduar për një numër të dytë të rastësishëm nga 1 në 10 dhe një të tretë, nga 10 në 50, e keni ngritur numrin e menduar fillimisht në fuqinë e numrit të dytë dhe e keni ndarë atë pa një mbetje nga e treta. Rezultati iu raportua të tjerëve. Nuk do të jetë e vështirë për ju të rivendosni numrin origjinal, pasi e dini sekuencën e veprimeve dhe numrat që keni në mendje. Por ata që ju rrethojnë nuk do të mund ta bëjnë këtë.

Maskimi (verbimi) i çelësit publik kryhet sipas një algoritmi të veçantë kriptografik. Si rezultat, verifikuesi nënshkruan një çelës publik të maskuar pa e ditur çelësin origjinal. Por veçoria e algoritmit është se përdoruesi (votuesi), pasi ka marrë një nënshkrim për një çelës të maskuar, mund të bëjë transformime të kundërta dhe të marrë një nënshkrim që është i vlefshëm për çelësin origjinal, të pamaskuar.

Algoritmi i përshkruar përdoret gjerësisht në protokollet e votimit të fshehtë. Sistemi i votimit elektronik në distancë aktualisht përdor algoritmin RSA me një gjatësi kyçe prej 4096 bit për nënshkrimet verbër.

Në përgjithësi, procedura e anonimizimit është si më poshtë.

  1. Kur krijohet një votim, krijohet një çift çelësash i veçantë "vleftësues" dhe çelësi publik regjistrohet në zinxhirin e bllokut. Një çift unik çelësash krijohet për çdo votë.
  2. Përdoruesi identifikohet në sistemin e identifikimit (në këtë rast, në VNMS) dhe jep leje për të transferuar të dhënat e tij të identifikimit nga sistemi i identifikimit në DEG PTC.
  3. Komponenti “Lista e Zgjedhësve” i DEG PTC kontrollon praninë e përdoruesit në listën e zgjedhësve.
  4. Në pajisjen e përdoruesit, krijohen çelësat e tij personal - privatë dhe publikë, të njohur vetëm për të.
  5. Çelësi publik është i maskuar në pajisjen e përdoruesit
  6. Së bashku me të dhënat e identifikimit dhe një çelës publik të maskuar, përdoruesi hyn në komponentin "Lista e Votuesve".
  7. Komponenti kontrollon edhe një herë praninë e përdoruesit në listë dhe faktin që ai nuk ka marrë një nënshkrim më parë
  8. Nëse të gjitha kontrollet janë të suksesshme, çelësi nënshkruhet
  9. Fakti i nënshkrimit të çelësit regjistrohet në blockchain
  10. Përdoruesi në pajisjen e tij heq maskën nga çelësi publik dhe merr një çelës privat, një çelës publik dhe një nënshkrim në çelësin publik dhe të gjithë çelësat i dinë vetëm ai.
  11. Pas kësaj, përdoruesi transferohet në një zonë anonime - në një faqe interneti të veçantë edg2020.gov.ru, ku është e pamundur ta identifikosh atë (për shembull, para tranzicionit ai mund të lidhë një VPN ose të ndryshojë ofruesin e tij të Internetit, duke ndryshuar plotësisht Adresa IP)
  12. Pranimi i fletëvotimit do të varet vetëm nga fakti nëse nënshkrimi i "validuesit" është verifikuar dhe nëse një çelës i tillë nuk është përdorur më parë.

Më pas, ne ofrojmë një përshkrim të algoritmit nga pikëpamja e kriptografisë.
Opsionet e nënshkrimit dhe përcaktimit:

Pasqyrë e procedurës së anonimizimit për sistemin e votimit elektronik në distancë
Pasqyrë e procedurës së anonimizimit për sistemin e votimit elektronik në distancë

M – në formatin e mbushjes FDN për nënshkrim.

Burimi: www.habr.com

Shto një koment