Wybory w Takoma Park (Maryland, USA) - elektroniczno-papierowe głosowanie

Na prośbę Filipa Zagorskiego publikuję notatkę na temat "pierwszych weryfikowalnych wyborów zastosowanych w praktyce". Chodzi o prowadzony m.in. na łamach tego serwisu spór o to, czy należy postulować wprowadzenie internetowych lub elektronicznych (to nie to samo) wyborów powszechnych (por. dział wybory niniejszego serwisu). Ja jestem przeciwnikiem. Komentując nadesłany materiał mogę jedynie stwierdzić, że nie potrafię zweryfikować poprawności zastosowanych algorytmów, o których notatka stwierdza: "przełomowy, umożliwiający głosującym na audyt wyników online, open-sourcowy system wyborczy został użyty w oficjalnych wyborach". Prostota i zaufanie "zwykłych ludzi" do systemu wyborczego jest wartością równie cenną, jak audyt poprawności wyników. Jednym z zarzutów wobec "elektronicznych wyborów" jest to, że oddają procesy demokratyczne w ręce "magów społeczeństwa informacyjnego". Tak czy inaczej - prace nad takimi rozwiązaniami nadal trwają.

Filip Zagorski, który prowadzi na Politechnice Wrocławskiej badania m.in. nad możliwościami stosowania elektronicznych form wyborczych, przesłał mi opracowaną przez siebie (na podstawie materiałów otrzymanych od Davida Chauma), notatkę. Chociaż o "elektronicznych wyborach" było do tej pory głośno, np. w kontekście niemieckiego sporu konstytucyjnego (por. Stosowanie elektronicznych maszyn wyborczych w Niemczech niezgodne z Konstytucją), to zwracam uwagę, że w cytowanej niżej - zgodnie z prośbą - notatce pada stwierdzenie: "po raz pierwszy na świecie, wykorzystano w oficjalnych wyborach system, w którym głosujący mogą sprawdzić, czy ich tajne głosy zostały poprawnie zapisane i zliczone". Po raz pierwszy. No i wymaga papieru oraz niewidzialnego tuszu. Przynajmniej wedle tego komunikatu:

Takoma Park (stan Maryland, USA), 3 listopada 2009 – po raz pierwszy na świecie, wykorzystano w oficjalnych wyborach system, w którym głosujący mogą sprawdzić, czy ich tajne głosy zostały poprawnie zapisane i zliczone. Takoma Park przeprowadza wybory prezydenta miasta oraz radnych na dwuletnie kadencje z wykorzystaniem nowego systemu głosowania - Scantegrity. Głosuje się za pomocą markera i papierowych kart wyborczych, z tym że po oddaniu głosu karty są skanowane, a następnie zliczane elektronicznie. Po oddaniu głosu w lokalu wyborczym, wyborca może sprawdzić, czy „kody potwierdzające” związane z jego głosem zostały opublikowane na stronie www komisji wyborczej.

Wyborcy oddają głosy wykorzystując specjalne markery. Po zaznaczeniu takim markerem pola obok wybranego kandydata, pojawia się „kod potwierdzający”. Wyborcy, jeżeli tego chcą, mogą zapisać ten kod oraz numer seryjny karty wyborczej, a po powrocie do domu odwiedzić stronę komisji wyborczej i sprawdzić czy opublikowana lista kodów potwierdzających jest zgodna z ich wyborem. Kody są losowo przyporządkowane do każdego z kandydatów i każdej karty wyborczej, publikacja listy kodów potwierdzających nie ujawnia na kogo oddano głos.

System Scantegrity został opracowany przez kryptografa Davida Chauma, we współpracy z naukowcami z innych ośrodków: Uniwersytetu Maryland Baltimore County, Uniwersytetu George'a Washingtona, MIT, Uniwersytetu Ottawa oraz Uniwersytetu Waterloo. Grupa przeprowadziła wiele wyborów testowych, głównie na uniwersytetach (wybory do samorządu studenckiego) i w innych organizacjach. System ten jest o wiele tańszy od stosowanych obecnie systemów wyborów elektronicznych - jest w pełni open-source'owy, wykorzystywane są tanie standardowe-skanery i drukarki.

Większość zespołu implementującego system Scantegrity stanowią studenci. Grupa ta zdobyła pierwszą nagrodę za system Punchscan na sponsorowanych przez National Science Foundation zawodach University Student Voting Competition (http://www.vocomp.org) w 2007 roku (na tych samych zawodach zespół z Politechniki Wrocławskiej zdobył nagrodę Best Original Work za system wyborów internetowych – przyp. red.). Scantegrity jest rozwinięciem tamtego systemu.

Dzisiejsze wybory zostały poprzedzone opublikowaniem przez komisję wyborczą zaszyfrowanych danych na stronie internetowej. Część z nich nie zostanie odszyfrowana, ale klucze potrzebne do odkodowania pozostałych zostaną opublikowane po zakończeniu wyborów. O tym, które klucze zostaną ujawnione zależy od nieprzewidywalnych danych – bazujących na wynikach spółek notowanych na amerykańskiej giełdzie. Ten sposób losowania kluczy do ujawnienia umożliwia na przeprowadzenie publicznego audytu, który umożliwia na sprawdzenie, że oficjalne wyniki wyborów są spójne z listą kodów potwierdzających opublikowanych na stronie www.

To, co uważam za szczególnie interesujące w tej technologii - mówi David Chaum - to jej wydajność i to, że może być zaadoptowana do praktycznie każdego systemu wyborczego – skanery w lokalach wyborczych mogą przyśpieszyć publikowanie wyników wyborów. Natomiast w scenariuszu, gdy skanery znajdują się w komisji okręgowej, lokale wyborcze potrzebują jedynie markerów, kart wyborczych i urny (głosowanie przebiega w tradycyjny sposób – przyp. red.).

Prof. Poorvi L. Vora, członkini grupy rozwijającej system z Uniwersytetu George'a Washingtona przyznaje, że czym innym jest rozwijać systemy wyborcze, a czym innym jest doprowadzić do tego, aby jeden z nich został użyty w prawdziwych wyborach.

To jest znaczący krok w ewolucji systemów wyborczych, mówi prof. Ronald L. Rivest z MIT (m. in. współtwórca algorytmu szyfrowania RSA, laureat nagrody Turinga – przyp. red.), pomimo tego, że zmagaliśmy się z wieloma ograniczeniami (związanymi z prawem wyborczym – przyp. red.), to jest to pierwszy krok dla nowych obiecujących tego typu rozwiązań.

Dalej były jeszcze grafiki ze strony www.scantegrity.org, które ilustrują następujące kroki:

  1. Głosujący wybierając kandydata poznaje kod potwierdzający z nim związany. Kody nadrukowane są niewidzialnym atramentem (mieszanka łatwo dostępnych, tanich składników).
  2. Wyborca może przepisać kod potwierdzający.
  3. Wyborca po wyborach może sprawdzić, czy jego głos został poprawnie wprowadzony do systemu, sprawdzając, czy kod potwierdzający został opublikowany na stronie www komisji wyborczej.

Opcje przeglądania komentarzy

Wybierz sposób przeglądania komentarzy oraz kliknij "Zachowaj ustawienia", by aktywować zmiany.

Błędy

Według obrazków ze strony scantegrity całość jest kompletne nieweryfikowalna.
Przypadek 1:
Wszystkim odpowiedziom na to samo pytanie przypisujemy ten sam kod. Użytkownik może się dowiedzieć tylko o kodzie pod jedną odpowiedzią, więc nie ma możliwości sprawdzenia, czy pod innymi odpowiedziami nie znajduje się taki sam kod.
Rozwiązanie:
Kody przy wszystkich odpowiedziach powinny być jawne

Przypadek 2:
System przez stronę www prezentuje odpowiedzi faktycznie zaznaczone przez głosujących. Zlicza je jednak na podstawie zmiennej losowej zabierającej część głosów odpowiedziom niepożądanym i przypisując je odpowiedziom pożądanym.
Rozwiązanie:
Należy posiadać dostęp do wszystkich kart do głosowania, zliczyć je ręcznie, następnie porównać z wynikami prezentowanymi przez system. Tylko po co wtedy cały system?

Re: błędy

Odpowiedź na wypowiedź: Makdaam

Procedura wyborcza jest o wiele bardziej skomplikowana niż zostało to opisane w notce prasowej, potencjalne problemy, te zauważone przez Ciebie (i wiele innych) są w tym systemie rozwiązane.

Przypadek 1:
Wszystkim odpowiedziom na to samo pytanie przypisujemy ten sam kod. Użytkownik może się dowiedzieć tylko o kodzie pod jedną odpowiedzią, więc nie ma możliwości sprawdzenia, czy pod innymi odpowiedziami nie znajduje się taki sam kod.
Rozwiązanie:
Kody przy wszystkich odpowiedziach powinny być jawne

Komisja na kilka dni przed wyborami publikuje listę zobowiązań LZ do kodów znajdujących się na kartach. Następnie sprawdza się losowo wybrane zobowiązania (dokładnie połowę z nich) - sprawdzenie polega m. in. na tym, czy przy każdej odpowiedzi znajduje się inny kod.

Następnie komisja drukuje karty wyborcze - część z nich zostaje sprawdzona:
- muszą zgadzać się z listą zobowiązań LZ
- przy każdej odpowiedzi musi być inny kod

Po wyborach, wszystkie niewykorzystane karty również są sprawdzane w ten sposób.

Przypadek 2:
System przez stronę www prezentuje odpowiedzi faktycznie zaznaczone przez głosujących. Zlicza je jednak na podstawie zmiennej losowej zabierającej część głosów odpowiedziom niepożądanym i przypisując je odpowiedziom pożądanym.

System jest tak zaprojektowany, że nie może prezentować odpowiedzi faktycznie zaznaczonych, a zliczać inaczej - system musi zliczać odpowiedzi zgodnie z listą zobowiązań (LZ) opublikowaną przed wyborami.

Poprawność działania systemu nie opiera się na stwierdzeniu "musi zliczać odpowiedzi zgodnie..." - pod określeniem "musi zliczać..." kryje się tak na prawdę: "musi dostarczyć matematyczny dowód poprawności wykonanych operacji"- to odróżnia weryfikowalne systemy wyborcze od zwykłych elektronicznych systemów, w których "musi zliczać" jest jedynie deklaracja producenta.

Co więcej, system zobowiązuje się do wykonania tych operacji przed wyborami (publikując listę zobowiązań LZ), nie wiedząc, jak zostaną wypełnione poszczególne karty.

Nadal co najwyżej gorsze od systemu papierowego

Ad.1
Zakładam, że żadna komisja nie jest zaufanym aktorem systemu.
W przypadku systemu papierowego mamy do czynienia w takim przypadku z kontrolą komisji regionalnych przez męża stanu podczas zbierania głosów oraz zliczania oraz wybiórczym kontrolowaniem zgodności tego, co przechowuje system zliczający z papierowym zapisem tego co zostało wysłane z danej komisji.

W przypadku systemu prezentowanego w artykule mamy do czynienia z wymogiem kontrolowania komisji centralnej podczas tworzenia LZ, weryfikowania LZ (sprawdzenie połowy bez zachowania odpowiednich procedur nic nie da). Następnie przy drukowaniu kart wyborczych i ich dostarczaniu (puste karty w tradycyjnym systemie nie miały żadnego znaczenia), ponownie podczas weryfikowania kart do głosowania, podczas rozdawania głosującym. Na końcu weryfikacje, które mają miejsce przy zwykłych głosowaniach, czyli przy zbieraniu kart i ich skanowaniu.

Rozumiem, że powstaje w lokalnej komisji raport zbiorczy dla danego okręgu w formie papierowej, który można, tak jak w przypadku zwykłych wyborów, sobie zachować. Niestety forma elektroniczna ma to do siebie, że pozwala na modyfikację po wyborach.

Czyli de facto nie ma tu przewagi nad systemem papierowym, a koszty kontroli są znacznie większe.

Ad.2

System jest tak zaprojektowany, że nie może prezentować odpowiedzi faktycznie zaznaczonych, a zliczać inaczej - system musi zliczać odpowiedzi zgodnie z listą zobowiązań (LZ) opublikowaną przed wyborami.

To ja się zapisuję na dostęp podczas wyborów do maszyn zliczających w celu wykonania zrzutów pamięci, transkrypcji ruchu sieciowego do/z serwerów zliczających w losowych momentach czasu, do kodu źródłowego wraz z parametrami kompilatora, które zostały użyte, w celu porównania kodu rezydującego w pamięci z kodem, którego poprawność została dowiedziona.

"musi dostarczyć matematyczny dowód poprawności wykonanych operacji"

Tylko jak ja mam zweryfikować, czy kod, którego dotyczył dowód, to ten sam kod, który działa na serwerze prezentującym kody odpowiedzi? Bez fizycznego dostępu przez kilka dni jest to po prostu awykonalne.

Nie mam żadnych zarzutów do informatyków, którzy zapewne napisali kod poprawny z punktu widzenia transakcji. Niestety nie jest to projekt wojskowy, w którym użytkownik końcowy ma stałą kontrolę nad oprogramowaniem od jego napisania przez kompilację aż do wrzucenia na urządzenia, które zostają zamknięte w strzeżonym magazynie. Tutaj mamy do czynienia z sytuacją, gdy użytkownik końcowy nie ma wglądu w system i musi zaufać kilku komisjom oraz informatykom, których nigdy nie zobaczy na oczy. Jednocześnie obrazkowa instrukcja pt. "wejdź na stronę i sprawdź czy komisja Cię dobrze policzyła" daje poczucie fałszywego panowania nad sytuacją.

System ten rozwiązuje 2 problemy:
1.Zapewnia ochronę przed przypadkowym niepoprawnym zliczeniem głosu przez skaner.
2.Podnosi poziom postrzeganego bezpieczeństwa przeprowadzonych wyborów.

Nie wpływa pozytywnie na poziom faktycznego bezpieczeństwa (w rozumieniu zabezpieczenia przed celowym fałszowaniem) wyborów w porównaniu do systemu papierowego jednocześnie podnosząc koszty (utrudniając) weryfikację.

BTW. Jakie działania przewiduje system, gdy po wykryciu niezgodności jednej karty z założeniem różnych kodów przy różnych odpowiedziach? Wracamy do punktu zero, aż do skutku?

Wybory elektroniczno-papierowe

1. Co do wątpliwości w działanie systemu Scantegrity - działa dokładnie tak, jak dobrze nam znany system tradycyjny - głosy można policzyć "ręcznie" - na tym powinniśmy zakończyć dyskusję na temat tego, czy ten system jest uczciwy/dobry/... itp - ten system jest (co najmniej) tak samo dobry jak system tradycyjnego liczenia głosów.

2. Na to wydarzenie należy popatrzeć w kontekście krajów, w których stosuje się elektroniczne maszyny do głosowania: obecnie w KAŻDYM takim przypadku nie ma ŻADNEJ kontroli nad tymi urządzeniami elektronicznymi - nie wiadomo, czy wyniki głosowania odzwierciedlają wolę wyborców, wolę komisji wyborczej czy też wolę hackerów.

Piotr VaGla Waglowski

VaGla
Piotr VaGla Waglowski - prawnik, publicysta i webmaster, autor serwisu VaGla.pl Prawo i Internet. Członek Rady ds Cyfryzacji przy Ministrze Cyfryzacji, ekspert w Departamencie Oceny Ryzyka Regulacyjnego Ministerstwa Rozwoju, felietonista miesięcznika "IT w Administracji" (wcześniej również felietonista miesięcznika "Gazeta Bankowa" i tygodnika "Wprost"). Uczestniczył w pracach Obywatelskiego Forum Legislacji, działającego przy Fundacji im. Stefana Batorego w ramach programu Odpowiedzialne Państwo. W 1995 założył pierwszą w internecie listę dyskusyjną na temat prawa w języku polskim, Członek Założyciel Internet Society Poland, pełnił funkcję Członka Zarządu ISOC Polska i Członka Rady Polskiej Izby Informatyki i Telekomunikacji. Był również Członkiem Rady Informatyzacji przy MSWiA, członkiem Zespołu ds. otwartych danych i zasobów przy Komitecie Rady Ministrów do spraw Cyfryzacji oraz Doradcą społecznym Prezesa Urzędu Komunikacji Elektronicznej ds. funkcjonowania rynku mediów w szczególności w zakresie neutralności sieci. W latach 2009-2014 Zastępca Przewodniczącego Rady Fundacji Nowoczesna Polska, w tym czasie był również Członkiem Rady Programowej Fundacji Panoptykon. Więcej >>