Koronawirus a wybory Prezydenta RP

Wg wszelkich znaków na niebie i ziemi, w czasie gdy będą u nas wybory Prezydenta RP będzie też szczyt zachorowalności na Koronawirusa. Pójście do lokalu będzie wymagało podjęcia ryzyka – bo przez każdy lokal przewinie się około 1000 ludzi, co prawda nie w tym samym momencie, ale wiecie, najczęściej ludzie w grupach przychodzą. Może jest więc moment na uruchomienie ewyborów – czyli głosowania przez internet?

Co prawda czasu nie jest zbyt wiele, ale może warto spróbować? Najwyżej się nie uda i będziemy musieli ubrać się w maseczki, fartuchy czy inne środki, ale jeśli nie spróbujemy to na pewno się nie uda.

Być może trzeba będzie zrobić e-wybory testowe – czyli bez mocy (czyli i tak trzeba będzie Co potrzebujemy do e-wyborów:

  1. drobnej zmiany prawa
  2. napisania i przetestowania oprogramowania
  3. przygotowania infrastruktury

Biorąc pod uwagę, że są to wybory na Prezydenta RP i faworyt jest znany, to znacznie lepiej na takich wyborach testować, niż na trudnych jak parlamentarne czy arcytrudnych jak samorządowe.

A jak to by miało wyglądać?

E-wybory to o dziwo trudny temat. Trudny – bo trudno zaspokoić dwie sprzeczne potrzeby. Otóż chcemy żeby wybory były tajne, a jednocześnie chcemy żeby były pewne, że osoba, która oddaje głos była uprawniona. W przypadku systemów informatycznych jedno niemalże wyklucza drugie. Chciałbym zaproponować rozwiązanie, które oczywiście nie jest bez wad (na końcu o nich wspomnę)

  1. Do PKW zgłaszają się organizacje, które chcą administrować serwerami autentykacji. wymieniają się kluczami do szyfrowania transmisji (powiedzmy do 7 dni przed wyborami)
  2. Każdy kto chce głosować przez internet zgłasza to do PKW przy pomocy podpisu zaufanego. PKW wykreśla go ze stałego rejestru wyborców (żeby nie można było zagłosować elektronicznie i papierowo). Powiedzmy do 3 dnia przed wyborami.
  3. Po zamknięciu listy zgłoszeń PKW generuje dokładnie taką liczbę unikalnych tokenów (coś w stylu XLOH-y67fe-lskd-34kj24.
  4. Każdy serwer autentykacji otrzymuje pulę 1000 tokenów.
  5. Głosujący w dniu wyborów wchodzą na stronę PKW, która podaje listę serwerów autentykujących z podaniem kto nimi administruje.
  6. Głosujący wybiera najbardziej dla niego zaufaną organizację i loguje się tam przy pomocy Profilu Zaufanego.
  7. Organizacja wydaje mu token z przydzielonej puli.
  8. Głosujący z tokenem loguje się na stronę PKW i oddaje tokenem głos.
  9. Gdy braknie tokenów to organizacja prosi o kolejną pulę, wysyłając listę osób, które te tokeny zużyły. Po tej operacji nie ma możliwości unieważnienia głosowania tej puli tokenów.
  10. Po zakończeniu wyborów organizacja zwraca niewykorzystane tokeny

Wady:

Kto ma token ten ma głos i nie ma żadnej pewności czy to on oddał głos. Ale w przypadku e-votingu w zasadzie nigdy nie ma tej pewności, bo osoba może się zalogować po czym wstać i oddać klawiaturę komuś innemu, więc ten problem jest po prostu nieusuwalna wadą i trzeba się z tym pogodzić

Zalety:

Możliwość unieważnienia głosu: gdyby się okazało, ze organizacja wykorzystała głosy w imieniu głosujących (po pierwsze max 1000), to można je unieważnić, informując osoby o tym i wezwać do ponownego głosowania. Oczywiście o ile to wyjdzie w czasie głosowania, a wyjdzie, bo osoba która dostanie token, nie będzie mogła zagłosować.

Zabezpieczenie tajności: wybory będą tak długo tajne, póki nie wyciekną dane z PKW i jednocześnie z organizacji. A w praktyce – to po zakończeniu wyborów wystarczy skasować bazy w organizacjach i wybory są na pewno tajne. Oczywiście głosowanie na serwerach PKW będą rejestrowane przy pomocy blockchain, żeby nie dało się post factum ich zmienić.

Jeśli ktoś widzi błąd w rozumowaniu – bardzo mnie to ucieszy. Bo może uda się to naprawić.