Artur Kmieciak: Na drodze do głosowania w internecie

Wybory powszechne to sprawa najwyższej wagi, skuteczny atak na system głosowania może mieć konsekwencje trudne do przewidzenia.

Publikacja: 02.04.2024 08:25

Artur Kmieciak: Na drodze do głosowania w internecie

Foto: Adobe Stock

Pomysł zorganizowania wyborów powszechnych przez internet pojawia się cyklicznie po kolejnych wyborach i z taką samą regularnością poddawany jest fundamentalnej krytyce. Krytycy podnoszą zarzuty, których z pewnością nie można lekceważyć.

Zagwarantowanie odpowiedniego poziomu bezpieczeństwa systemu elektronicznego głosowania tak, aby wykluczał on możliwość nieuprawnionej ingerencji w proces zbierania i liczenia głosów, jest prawdziwym wyzwaniem. Jest to wszakże problem natury technicznej, taki, jaki można pokonać przy zaangażowaniu odpowiednio dużych środków.

Sprawa poufności

Nie jest natomiast problemem technicznym postulat konieczności zagwarantowania poufności głosowania. Wybory pięcioprzymiotnikowe to przecież podstawa demokracji parlamentarnej. Konstytucja stanowi, że głosowanie przebiega w sposób tajny, nikt, poza samym wyborcą, nie ma prawa wiedzieć, w jaki sposób głosował. Nie jest to zatem problem odwołujący się do technicznych ograniczeń, ale problem fundamentalny, od którego rozwiązania należy zacząć. Bez zagwarantowania tajności głosowania nie ma nawet co rzeczy całej rozpoczynać.

Jak pogodzić zasadę tajności głosowania z procedurami identyfikacji wyborcy w informatycznym systemie głosowania? Wyborca, oddając głos, wykonuje uprawnienia nadane mu przez system w procesie autoryzacji. Do niedawna nie było możliwe jednoczesne zapewnienie pełnej poufności dokonanego przez głosującego wyboru. Taki też zarzut tradycyjnie był (i jest nadal) podnoszony przez krytyków projektu głosowania przez internet. Sam do nich, jeszcze do niedawna, należałem.

Czytaj więcej

Referendum: kiedy głos liczy się do frekwencji, a kiedy nie

Powodem, dla którego zmieniłem zdanie, jest rozwój tak zwanych protokołów dowodzenia z wiedzą zerową. Badania nad nimi sięgają połowy lat 80., jednakże rozwój zaawansowanej kryptografii sprawił, że ich praktyczne zastosowanie stało się możliwe i technicznie wykonalne. Jako pierwszy należy tu wymienić algorytm zk-SNARK. To złożone narzędzie wykorzystujące zaawansowaną kryptografię klucza publicznego z kryptosystemu krzywych eliptycznych, umożliwiającą szyfrowanie i odszyfrowywanie danych. Algorytm zk-SNARK znalazł zastosowanie w projekcie kryptowaluty ZCash działającej na podstawie technologii blockchain, która umożliwia przeprowadzanie transakcji kryptowalutą bez ujawniania ich zwartości. Zastosowanie algorytmu zk-SNARK pozwala jednej stronie udowodnić posiadanie środków, ale nie ich ilość. Tak samo adresy obu stron transakcji pozostają tajemnicą, zapewne ku utrapieniu służb jawnych, tajnych i dwupłciowych. Na tym właśnie polega dowodzenie z wiedzą zerową – na dowodzeniu prawdziwości twierdzenia bez ujawniania jego treści.

Problemem algorytmów zk-SNARK jest skalowalność, to znaczy zdolność systemu do obsługi wzrastającej liczby transakcji bez obniżenia jego wydajności. Algorytm wymaga wielu złożonych obliczeń – dowody zerowe generowane są w łańcuchu bloków i wymagają potwierdzeń przez węzły sieci. Ponadto ujawnienie obecnych w systemie tajnych parametrów opisywanych jako „toxic waste” może doprowadzić do skutecznego ataku. Algorytm zk-SNARK pozwala całkiem udanie ukrywać transakcje kryptowalutowe, nie bardzo jednak nadaje się jednak do wykorzystania przy głosowaniu przez internet.

Inaczej niż drugi z pary algorytmów dowodzenia z wiedzą zerową – algorytm zk-STARK. Ten prezentuje odmienne podejście do sposobu uzyskiwania dowodów z wiedzą zerową, rozwiązując pewne problemy skuteczniej niż jego brat bliźniak, ale jednocześnie generując kilka nowych. Przede wszystkim algorytm zk-STARK nie jest oparty na kryptografii klucza publicznego. Do uzyskiwania dowodów z wiedzą zerową są tu wykorzystywane tak zwane funkcje skrótu. Ma to istotne znaczenie dla szybkości obliczeń i wydajności algorytmu. Tak samo jak jego poprzednik, zk-STARK zapewnia weryfikację prawdziwości twierdzenia bez ujawniania jego treści. Jednocześnie pozwala na publiczną weryfikację tego twierdzenia, nadal zachowując anonimowość użytkownika systemu. Choć zk-STARK także wykorzystuje technologię blockchain, to wykonywanie złożonych obliczeń jest tu przeniesione poza łańcuch bloków. Dowody wiedzy zerowej generowane są poza blockchainem, ale później są w nim umieszczane w celu weryfikacji prawidłowości wykonanych obliczeń, czyli poprawności uzyskanego dowodu. Dzięki tak wyjątkowym właściwościom algorytmu zk-STARK mamy całkiem sensowny, teoretyczny model głosowania elektronicznego.

Jak to mogłoby wyglądać

Procedura głosowania może zatem wyglądać mniej więcej w ten sposób, że po zarejestrowaniu w internetowym systemie wyborczym wyborca oddaje głos na wybranego przez siebie kandydata. Oddany przez wyborcę głos zaliczany jest wskazanemu przez niego kandydatowi obok innych, oddanych na niego, głosów.

Jednocześnie system zapewnia poufność oddanego głosu. Wiadomo, że wyborca głosował, ale nie wiadomo, na którego kandydata oddał swój głos. Zasada tajności wyborów jest w pełni zachowana, tak samo jak transparentność głosowania. Każdy bowiem może sprawdzić prawidłowość przeprowadzonych obliczeń, których wynik udostępniony jest w publicznym, jawnym rejestrze łańcucha bloków.

Działający system

Działający już system wykorzystujący algorytm zk-STARK do głosowania elektronicznego nosi nazwę MACI. To system oparty na technologii blockchain, wykorzystujący inteligentne kontrakty w sieci Ethereum. Smart kontrakty przetwarzają oddane głosy w  sposób, który gwarantuje poprawność obliczeń oraz ich udostępnienie w łańcuchu bloków, ale bez ujawniania tożsamości wyborców.

Teoretycznie wszystko tu się całkiem elegancko składa, ale przecież to dopiero początek bardzo wyboistej drogi. Choć problem zachowania zasady tajności głosowania wydaje się rozwiązany, to przecież prawomocne pozostają inne podnoszone zarzuty. Wprawdzie zk-STARK ma być odporny nawet na ataki wykorzystujące komputer kwantowy, to przecież siła algorytmu nie przesądza o bezpieczeństwie całego systemu, bo o tym przesądza jego najsłabsze ogniwo. Przebadane algorytmy kryptograficzne rzadko stają się obiektem ataków, atakuje się ich implementacje, z którymi bywa bardzo różnie.

Wybory powszechne to sprawa najwyższej wagi, skuteczny atak na system głosowania może mieć konsekwencje trudne do przewidzenia. Poziom ryzyka można by jednak istotnie obniżyć, ograniczając początkowo wybory do jednego, np. zagranicznego obwodu głosowania, tak aby ewentualna awaria nie miała wpływu na ostateczny wynik. Projektantom da to czas do rozpoznania ewentualnych zagrożeń i podjęcia adekwatnych środków zaradczych. Głosowanie ograniczone do niewielkiej liczby wyborców rozwiązuje, przynajmniej na pewien czas, także dwa inne problemy: skalowalności i kosztów. Algorytm zk-STARK lepiej niż poprzednik radzi sobie z wydajnością, ale i tak skalowalność nie jest jego mocną stroną. Przy ograniczonej liczbie oddanych głosów nie stanowi wszakże większego problemu. Blockchain to także koszty, np. przetwarzanie smartkontraktów w sieci Ethereum kosztuje, i to słono.

Czy koszty uczynią cały projekt ekonomicznie nierealnym? Na to pytanie możemy odpowiedzieć po kalkulacji kosztów, ale i potencjalnych oszczędności, jakie możemy uzyskać.

Krytycy zapominają o pewnej istotnej okoliczności. Tradycyjne metody głosowania także nie zabezpieczają przed oszustwami wyborczymi. Jednak nie zmieniamy procedur głosowania, choć wiemy, że zawierają luki, przez które można wpływać na wyniki wyborów. Kalkulacja zysków i strat nadal daje wynik pozytywny. Z internetowych rachunków bankowych środki wyciekają regularnie, ale i tak osiągane korzyści przeważają nad wielkością ponoszonych strat.

Poziom bezpieczeństwa

Poprzestanie na przekonaniu, że nie ma systemów absolutnie bezpiecznych, jest tak samo prawdziwe, jak bezproduktywne. Jeśli chcemy ruszyć z miejsca, tak jak z miejsca ruszyła bankowość elektroniczna czy systemy płatności elektronicznej, to musimy założyć, że osiągalny jest taki poziom bezpieczeństwa, który, choć nie jest absolutny, to przecież, ważąc ryzyka i zyski, jest akceptowalny.

Autor jest adwokatem, prowadzi indywidualną kancelarię adwokacką w Łodzi

Pomysł zorganizowania wyborów powszechnych przez internet pojawia się cyklicznie po kolejnych wyborach i z taką samą regularnością poddawany jest fundamentalnej krytyce. Krytycy podnoszą zarzuty, których z pewnością nie można lekceważyć.

Zagwarantowanie odpowiedniego poziomu bezpieczeństwa systemu elektronicznego głosowania tak, aby wykluczał on możliwość nieuprawnionej ingerencji w proces zbierania i liczenia głosów, jest prawdziwym wyzwaniem. Jest to wszakże problem natury technicznej, taki, jaki można pokonać przy zaangażowaniu odpowiednio dużych środków.

Pozostało 94% artykułu
2 / 3
artykułów
Czytaj dalej. Subskrybuj
Opinie Prawne
Michał Zacharski: Areszt w państwie prawa. Chodzi nie tylko o immunitet
Opinie Prawne
Tomasz Pietryga: Roman Giertych bierze się za „Kastę” i stawia sędziom najcięższe zarzuty
Opinie Prawne
Tomasz Pietryga: Czy Adam Bodnar zrobi z Marcina Romanowskiego męczennika?
Opinie Prawne
Dariusz Lasocki: PKW odbierze PiS dotację? Komisja pod politycznym pręgierzem
Materiał Promocyjny
Mity i fakty – Samochody elektryczne nie są ekologiczne
Opinie Prawne
Robert Gwiazdowski: Czy renta wdowia jest sprawiedliwa? System emerytalny jest nie do utrzymania