Piratenwahlcomputer

Aus Piratenwiki
Wechseln zu: Navigation, Suche
Dialog-information on.svg Dieser Artikel ist eine Idee von Bodo Thiesen und damit keine offizielle Aussage. Du kannst sie kopieren, verbessern, erweitern oder umsetzen. Vielleicht wurde sie auch schon umgesetzt. Wenn du meinst etwas beitragen zu können, sei kein Ninja.

Vorwort

Nachdem ja LF sowohl was die Nachvollziehbarkeit der Meinungsbilder als auch im Bezug auf den Datenschutz ein einziges Desaster ist, habe ich mir mal Gedanken gemacht, ob und welche Alternative wir haben, Meinungsbilder und eventuell sogar formell gültige Abstimmungen zu realisieren. Dabei ist folgender Entwurf herausgekommen, den ich hiermit zur Diskussion stellen möchte. Vorweg: Er ist sicherlich nicht perfekt und kann noch umfangreich verbessert werden, einige Angriffe habe ich schon weiter unten beschrieben, dieser Text soll daher erstmal nur als Diskussionsgrundlage dienen. Kritik ist willkommen, konstruktive ist mir lieber als destruktive, letztlich wird ein Parteitag entscheiden müssen, ob wir das aber überhaupt wollen. Ich verwende hier konsequent den Begriff »Abstimmungen«, für reine Meinungsbilder sind die Anforderungen nicht ganz so hoch aber im Prinzip identisch.

Anforderung

  • Das System muß Abstimmungen anonym abbilden.
  • Die Abstimmungsergebnisse müssen durch jeden einzelnen Nutzer überprüfbar sein.
  • Mindestens die auf einem Bundesparteitag anwesenden sollen auch im Wahlcomputer *g* stimmberechtigt sein. Das System auf eine größere Gruppe auszuweiten ist wünschenswert, aber nicht Pflichtanforderung.
  • Das System muß auch durch einen DAU trivial nutzbar sein.

Begründungen

  • Anonymität
    Es wurde bereits umfangreich auf der Aktivenliste (und in anderen Medien) über die fehlende Anonymisierung diskutiert; ich halte dies spätestens dann, wenn man bindende Entscheidungen treffen möchte (und sei es nur die Reihenfolge der Anträge auf dem BPT) für absolut unumgänglich. Wir sind keine Politiker.
  • Überprüfbarkeit
    Die Überprüfbarkeit ist ebenfalls eine Pflichtanforderung, sobald es bindende Abstimmungen geben soll. Die Überprüfbarkeit setzt an der Frage an, ob Teilnehmer X ein Pirat ist und keinen zweiten Account besitzt und hangelt sich von dort stufenweise bis zum Endergebnis (Antrag angenommen ja/nein) durch alle Ebenen durch. Dabei müssen die einzelnen Aspekte wie bei der Urnenwahl entweder offensichtlich (jeder kann nur einen Zettel einwerfen) oder mathematisch beweisbar sein (die Berechnung der Summe der Zettel).
  • Stimmberechtigt sollen alle Teilnehmer des BPTs sein, wenn möglich mehr.
    Tatsächlich reicht die Anforderung, daß die Teilnehmer des BPTs stimmberechtigt sind, selbst dann, wenn für die gesamte Partei bindende Abstimmungen stattfinden. Warum? Auf dem BPT finden auch für die gesamte Partei bindende Entscheidungen statt, obwohl nicht alle Mitglieder anwesend sind. Man braucht an ein Online-Tool keine höhere Pflichtanforderung stellen, als an den BPT selbst.
    Auf der anderen Seite ist es natürlich wünschenswert, den berechtigten Teilnehmerkreis zu erhöhen, die kann man unter bestimmten Voraussetzungen auch zulassen.
  • DAU-Nutzbarkeit
    Offensichtlich besteht die Piratenpartei nicht mehr nur aus Informatikern, das System muß sich also auch von nicht-Informatikern und nicht-Technikern benutzen lassen, um hier nicht einzelne Mitglieder aufgrund bestimmter Unzulänglichkeiten auszuschließen. Entsprechend ist das System auch so barrierefrei wie möglich umzusetzen.

Konsequenzen

  • Kryptographie ist unvermeidbar
  • Das System muß über ein anonymisierendes Netzwerk (z.B. Tor) benutzt werden
  • Es wird eine spezielle Software gebraucht, die alles out-of-the-box kann.

Begründung

  • Kryptographie
    Anders lässt sich elektronisch nicht nachweisbar machen, daß der Nutzer berechtigt ist. Der letztendlich genutzte private Schlüssel muß sich zu 100% in Kontrolle des Nutzers befinden.
  • anonymisierendes Netzwerk
    Nur so lässt sich die Anonymität sicherstellen. IP Adressen sind schonmal mindestens regional zuordnungsfähig.
  • Spezielle Software
    Da das System DAU-Nutzbar sein muß, kann man dem Anwender weder das Anlegen eines RSA-Schlüssels (neben Einrichtung der dazu notwendigen Software) noch das Einrichten eines Tor-Nodes zumuten. Das Programm muß als ausführbare Datei downloadbar sein, man startet es und das Programm legt dann automatisch den Krypto Key an.

Vorschlag für eine konkrete Umsetzung

Da man selbst auf dem BPT noch Mitglied werden kann, bezeichnet Pirat hier durchgängig all diejenigen, die zum Stichzeitpunkt Pirat sind, ungeachtet davon, ob sie in den Schritten vorher schon Pirat warten.

Vorbereitung vor dem BPT

Partei:

  • Richtet den Wahlserver ein, der anfänglich erstmal nur die Aufgabe hat, als Keyserver zu dienen.

Pirat:

  • Lädt sich die Wahlsoftware herunter.
  • Startet sie

Wahlsoftware:

  • Fordert zur Eingabe eines Passwortes auf. Dieses wird verwendet, um alle Daten lokal synchron (z. B. AES) zu verschlüsseln. Hier hat die Software bestimmte Mindestanforderungen zu erzwingen.
  • Erstellt ein asynchrones Schlüsselpaar (z. B. RSA) und lädt den öffentlichen Schlüssel auf den Server hoch (via Tor o. ä., s. o.).

Kurz vor dem Parteitag wird die Annahme von Keys auf dem Keyserver abgeschaltet, dieser Termin ist vorher bekannt und gibt den Piraten genügend Zeit, sich die List der öffentlichen Schlüssel herunterzuladen:

Wahlsoftware:

  • Lädt ein, zwei Tage vor Beginn des BPTs die Liste der Public Keys herunter, signiert sie, und lädt die Signatur wieder hoch.
  • Es wird der Fingerprint des öffentlichen Schlüssels und auf Wunsch des Piraten die sortierte Liste der Fingerprints der öffentlichen Schlüssel aller Piraten entweder ausgedruckt oder als Datei auf dem Rechner gespeichert.

Vorbereitung auf dem BPT

Pirat:

  • Jeder Pirat legt auf ein Stichwort sein gefaltetes Blatt, auf dem der Fingerprint seines öffentlichen Schlüssels steht in eine der vielen Wahlurnen.

Wahlhelfer:

  • Sortieren die Zettel nach Fingerprints.

Wahlleiter:

  • Liest einen Fingerprint nach dem andern vor oder hält ihn in die Kamera, so daß jeder diesen im Beamer lesen und mit seiner Liste abgleichen kann.

Pirat:

  • Markiert jeden vorgelesenen Fingerprint in seiner Liste.

==> Wie man hier mit Fingerprints umgehen möchte, die nicht rechtzeitig hochgeladen wurden, müsste noch geklärt werden - verwerfen wäre eine Option, ansonsten halten die extrem lange auf, weil man den Fingerprint erst an Ort und Stelle abschreiben muß. Eventuell leisten die Wahlhelfer hier auch Vorarbeit und erstellen eine Zusatzliste auf Papier, die sie dann auf Wunsch austeilen.

Ergebnis

Jeder Pirat hat jetzt die Liste der gültigen Fingerprints. Jeder Pirat konnte genau einen Fingerprint in die Urne legen (wird mit der Stimmkarte sichergestellt) und alle Fingerprints aus der Liste, die nicht in der Urne lagen, werden als ungültig betrachtet.

Durchführung von Wahlen, Abstimmungen und Meinungsbildern

Während der Wahl

Wahlsoftware:

  • Signiert die Stimme und hinterlegt sie auf dem Wahlserver

Wahlserver:

  • Prüft die Signatur und speichert die signierte Stimme

Nach der Wahl

Wahlsoftware:

  • Läd beim nächsten Start automatisch alle (signierten) Stimmen herunter, bevor irgend etwas anderes gemacht wird (die Identität des Nutzers ist dem Server also noch nicht bekannt).
  • Prüft, ob alle Stimmen korrekt signiert wurden und vor allem ob die eigene hochgeladene Stimme in der Liste korrekt auftaucht.
  • Errechnet das Ergebnis und teilt es dem Nutzer mit.

Einhaltung der Wahlgrundsätze

Die Wahl ist gleich: Jeder hat genau eine Stimme, dies wird auf dem BPT durch den Einwurf der Fingerprints sicher gestellt. Jeder Account gehört offensichtlich einem akkreditierten Piraten und jeder akkreditierte Pirat kann sich nur einen Account anlegen.

Die Wahl ist geheim: Keiner kennt die privaten Schlüssel der anderen Teilnehmer, ich kann nur beweisen, wie ich abgestimmt habe, indem ich meinen privaten Schlüssel offen lege, womit ich aber effektiv jedem die Möglichkeit gebe, in meinem Namen abzustimmen. Gibt man einem Piraten weiterhin die Möglichkeit, seinen eigenen Schlüssel als ungültig zu erklären, dann geht man damit das Risiko ein, daß der andere den eigenen Account sperrt. Auch wird damit effektiv die Frage nach dem LF-Nick auf einem Parteitag verhindert, denn ein Kandidat wird wohl kaum vor versammelter Mannschaft mit eingeschaltetem Live-Stream einen privaten Schlüssel preisgeben.

Die Wahl ist frei: Keiner muß seinen privaten Schlüssel benutzen, um auch nur an einer einzigen Abstimmung teilzunehmen.

Die Wahl ist erstmal unmittelbar, außer man führt ein Delegationssystem ein. Dies bleibt separat zu diskutieren, derzeit scheint das Delegationssystem ja als reines Klick-Spar-System mißverstanden zu werden.

Die Wahl ist allgemein: Zumindest solange man die Gruppe der am BPT anwesenden Piraten als Basisgruppe versteht.

Grundsätzliche Kritik und Widerlegung bestimmter vorhersehbarer Argumente

Problem 1: Die Prozedur der Veröffentlichung gültiger Schlüssel muß auf jedem BPT wiederholt werden.

Richtig. Die auf einem vorhergehenden BPT abgelieferten öffentlichen Schlüssel müssen aus zwei Gründen verworfen werden, wenn auf dem folgenden BPT neue Schlüssel festgelegt werden, sonst kann sich Jeder, der bereits einen Account hat, einfach durch Registratur eines neuen Schlüssels auch einen zweiten, dritten, n-ten Account zulegen - je häufiger man zum BPT kommt, desto höher das Stimmgewicht - das ist inakzeptabel. Auf der anderen Seite kann man neu beigetretenen Mitgliedern oder Piraten, die auf dem ersten BPT mit Schlüssel-Veröffentlichung nicht anwesend waren, nicht auf ewig das online-Wahlrecht absprechen.

Problem 2: Es kann das Stimmrecht zwischen zwei BPTs nicht entzogen werden.

Auch das ist richtig. Aufgrund der Anonymisierung kann man ausgeschiedenen Mitgliedern nur das Stimmrecht entziehen, indem man jedem das Stimmrecht entzieht und eine erneute Schlüssel-Veröffentlichung durchführt.

Problem 3: Es können nur die auf dem letzten BPT anwesenden abstimmen.

Auch das ist bedingt korrekt. Der Anspruch der Nachvollziehbarkeit erfordert, daß grundsätzlich alle Piraten, die an dem System teilnehmen wollen, anwesend sind. Man kann hier mit Vollmachten eventuell arbeiten, daß z. B. jeder Pirat eines LVs bei seinem L-VOR ein Kuvert mit seinem öffentlichen Schlüssel abgibt und der L-VOR im Auftrag diese Kuverts am BPT abgibt. Hier gibt es durchaus Angriffsmöglichkeiten, die sich aber in der Praxis in Grenzen halten. Weder rechtlich noch moralisch hingegen ist es ein Problem das Online-Stimmrecht auf die BPT-Teilnehmener zu beschränken, denn selbst wenn das Tool nachher für bindende Entscheidungen eingesetzt wird, und somit alle Piraten - also auch die nicht stimmberechtigten - betrifft, so betreffen alle Entscheidungen, die auf dem BPT selbst stattfanden ja auch alle Piraten (auch die nicht anwesenden), insofern sollte man das Online-Tool nur als Verlängerung des BPTs ansehen.

Problem 4: Ich kann mit meinem privaten Schlüssel eine bestimmte Botschaft unterschreiben und damit beweisen, daß ich im Besitz dieses Schlüssels bin.

Ja, aber sobald eine signierte Botschaft, egal welcher, Art irgendwo auftaucht, wird der Schlüssel als kompromittiert betrachtet und somit alle Stimmen ungültig. Zugegeben: 100%ig ist das nicht. Wichtig wäre hier vor allem auch, satzungsrechtlich festzulegen, daß es nicht erlaubt ist, eine solche Aktion zu fordern und dies mit dem Ausschluß aus der Partei geahndet wird.

Problem 5: Wer kontrolliert die Software?

Harte Anforderung ist hier natürlich erstmal, daß die Software vollständig Quelloffen sein muß. Darüber hinaus können wir davon ausgehen, daß eine solche Software von vielen Piraten geautheted werden wird, da mit der Sicherheit dieser Software das ganze System steht und fällt.

Problem 6: Wie löst man das Einschreibe-Problem?

Ein Ansatz wäre es, die Software als Peer-to-peer Syste, auszulegen. Innerhalb von Tor (vorausgesetzt man nutzt Tor, sonst in jenem System, das man nutzt) könnte man z.B. ein Chord-Ring aufbauen, dieser dient dann zur Kommunikation aller Clients untereinander. Datenaustausch könnte dann zwischen allen Clients stattfinden, der Server hätte keine Sonderstellung mehr. Allerdings ist hier dann kein ultimativer Zeitpunkt für das Ende der Abstimmung mehr festlegbar, denn nur weil Pirat A noch pünktlich seine Stimme abgegeben hat, kann Pirat B das noch lange nicht überprüfen, denn er erhält die Stimme ja erst mit Verzögerung. Außerdem hat das P2P-System auch den Nachteil, daß Zwischenstände bereits beweisbar sicher bekannt sind.

Problem 7: Das skaliert nicht besonders gut.

Auf Softwareebene ist das erstmal nicht das große Problem, wenn wir mal so groß sind, daß der Datenaustausch zwischen allen Clients zu aufwändig wird, haben wir vielleicht auch dafür brauchbare Lösungen. Schwieriger ist hier das Problem, daß die Schlüssel-Veröffentlichung auf dem BPT sehr aufwändig ist und wenn der BPT - was zu befürchten (oder zu bedanken) ist - immer mehr zu einer Key-Exchange-Party wird, dann nehmen da vielleicht sehr viel Mehr Menschen teil. Hier wäre es denkbar, die Aufgabe auf die Landesverbände aufzuteilen, so daß kein kollektives Treffen mehr auf Bundesebene erforderlich ist. Dies hätte bei geeigneten Prozessen auch den Effekt, daß ein Mitglied eventuell häufiger in einem Jahr die Chance hat, seinen Schlüssel bekannt zu machen, denn ein Pirat aus einem Bundesland kann eventuell dann auch auf einem LPT eines Nachbarbundeslandes seinen Schlüssel hinterlegen.

Problem 8: Kompatibilität mit BVerfG?

Kurz: Nein. Das System setzt Kenntnisse der Kryptographie und weitere Disziplinen aus Mathematik und Informatik voraus, um es im vollen Umfang zu verstehen. Zwar kann man das System so gestalten, daß auch Jemand, der nicht über dieses Wissen verfügt, durch seine Software Wahlmanipulationen erkennen kann, aber das baut dann letztlich immer noch auf dem Vertrauen in die Software auf.

Problem 9: Mächtigkeit des Angreifers

Solange diese nicht definiert ist, kann das System auch nicht daraufhin untersucht werden, ob es dem Angriff stand hält. Verschlüsselungsverfahren wie RSA fallen zB mit der Einführung von Quantencomputern. Unterstellt man bestimmten Gruppen (NSA zB) bereits heute über funktionsfähige Quantencomputern zu verfügen, so ist das hier beschriebene System nur noch mittels Quantenverschlüsselung sicher zu gestalten (vorausgesetzt es gibt nicht dafür auch noch Systeme, die das knacken können, die wir blos nicht kennen. Das heißt aber nicht, daß der NSA sie auch nicht kennt ;)

Anmerkung: die NSA kann vielleicht auch schon Minikameras bauen, die dich bei deiner Stimmabgabe in der Wahlkabine ausspionieren, oder womöglich Papier, welches die Beschriftung zu einem bestimmten Zeitpunkt ändert. Auch eine Papierwahl ist niemals 100%ig sicher! -- Nils K

Problem 10: Nach Registrierung kann jemand fremdes den Schlüssel mißbrauchen, wenn er Zugriff auf den PC des Legitimierten erhält

Situation 1: Der Legitimierte billigt den Zugriff nicht: Dann sind die Daten (insbesondere der Schlüssel) durch das Passwort verschlüsselt. Hier existiert dann aber immer noch das Problem der Backdoors. Situation 2: Der Legitimierte billigt den Fremdzugriff: Gleiches Probelm wie bei der Briefwahl. Dagegen ist kein Kraut gewachsen.

Problem 11: Freunde und Verwandte als Stimmsklaven beitreten lassen

Da hierfür in irgend einer Weise Vollmachten notwendig sind, solange diese Personen nicht selbst zum BPT kommen wollen, würde solch ein Versuch dann doch recht leicht auffallen. Eventuell gesteht man auch nur den Landesvorständen (Kreisvorständen, Vorständen allgemein) zu, solche Vollmachten entgegenzunehmen. Oder man beschränkt die Gesamtzahl zulässiger Vollmachten im Verhältnis zu den persönlich Anwesenden. Gibt es zu viele Vollmachten, werden alle verworfen. Dann machen sich solche Betrugsversuche unterm Strich nicht gefährlich bemerkbar.

Problem 12: Was machen die, die keinen PC haben oder zu blöd sind oder elektronische Wahlsysteme grundsätzlich ablehnen?

Gegenfrage: Was macht jemand, der Papierwahl ablehnt? Was macht jemand, der die 500km-Reise zum BPT ablehnt? Demokratie ist ein Angebot, das angenommen werden muß.