Benutzer:Semon/Abstimmungssystem

Aus Piratenwiki
Wechseln zu: Navigation, Suche

Einleitung

In Hessen ist mit den virtuellen Meinungsbildern ja schon ein relativ einfaches Verfahren für geheime Abstimmungnen in Betrieb, das im Kern auf LimeSurvey basiert. Für mich ist die freie und geheime Wahl/Abstimmung ein Kernelement der Demokratie auf das ich insbesondere bei basisdemokratischen Abstimmungen in der Piratenpartei keinesfalls verzichten möchte.

Es gibt diesen Mythos, das der CCC im Rahmen der Wahlcomputer-Debatte bewiesen hätte das geheime nachprüfbare Abstimmungen über das Internet niemals möglich wären. Die ganze Beweisführung damals bezog sich jedoch auf Wahlcomputer und nicht auf I-Voting Verfahren.

Die Idee

Die hier vorgestellte Idee versucht nicht alle Kriterien eines Abstimmungsverfahrens zu erfüllen, sondern konzentriert sich auf die Überprüfbarkeit der Auszählung bei geheimen Abstimmungen. Hier soll soweit es geht jeder mögliche Angriff verhindert werden.

Im Gegensatz dazu reicht es bei der Sicherstellung der geheimen Wahl meiner Ansicht nach aus mit einer Trennung der Zuständigkeiten zu arbeiten. Der Ansatz erzeugt auch für jeden Wähler "Quittungen" mit denen im Prinzip Wahlerpressung oder Stimmenkauf möglich sind. Da dies aber in der Partei internen Diskussion um Abstimmungen nie eine Rolle spielte (LQFB hat z.B. die gleiche Eigenschaft), ist das meiner Ansicht nach kein Problem.

Es gibt auch viele weitere Ansätze für geheime Abstimmungen über das Internet, z.B. diesen: Civitas - A secure voting system.

PAP Abstimmungsverfahren.jpg

Grundidee ist fälschungsichere anonyme Wahlzettel zu generieren und diese nach Abschluss der Abstimmung komplett zu veröffentlichen. Dann kann jeder Teilnehmer selbst die Abstimmung komplett auszählen. In jedem Fall soll es jedoch mehrere Instanzen des Auszählungsmoduls geben, die getrennt gehostet werden und die Ihre Ergebnisse vergleichen.

Beschreibung

Akkreditierung

Die Akkreditierung kennt alle Teilnehmer mit echtem Namen. Um sicherzustellen das jeder nur eine Stimme hat ist mindestens einmalig eine Akkreditierung wie bei einem Parteitag mit Personalausweis erfolgen. Details sind in diversen Vorschlägen für eine SMV schon ausgearbeitet worden.

Dennoch ein paar Eckpunkte zur Akkreditierung:

  • Akkreditierung erfolgt mit Personalausweis auf offiziellen Parteiveranstaltungen (Kreis-, Landes- oder Bundesparteitagen). Gespeichert wird dabei auch von wem und wann die Akkreditierung erfolgte. An dieser Stelle stützt sich das System auf die gleiche Datenbasis, wie reguläre Parteitage!
  • Bei der Akkreditierung werden die Teilnehmer-Datensätze mit PGP-Key der Personen, die die Akkreditierung vornehmen signiert. Eine nachträgliche Änderung der Daten ist also zu erkennen.
  • Ebenso wird die Summe der Akkreditierungen auf einer Parteiveranstaltung von Veranstaltungsleiter signiert und veröffentlicht. Damit kann die Gesammtzahl der Akkreditierten aus den Einzelsummen von jedem nachvollzogen werden.
  • Für alle Teilnehmer ersichtlich ist wie viele Akkreditierte aus welchem Kreis- und Landesverband am System teilnehmen. Dies entspricht den auch auf Parteitagen üblichen Teilnehmerstatistiken.
  • Zusätzlich könnte es den Vorständen jeder Gliederung erlaubt sein, die Namen der Teilnehmer aus Ihrer Gliederung einzusehen. Vorständen sind die die Daten von Mitgliedern ihrer Gliederung sowieso zugänglich. Wenn in einem Kreisverband plötzlich Mitglieder akkreditiert sind, die niemand kennt, sollte das auffallen. In jedem Fall kann dann der jeweilige Kreisvorstand Stichproben machen (d.h. das Mitglied kontaktieren).
  • Mindestanforderung an das Abstimmungssystem sollte sein, dass sich mindestens so viele Piraten akkreditieren, wie auf Parteitagen der jeweiligen Gliederung. Solange dies nicht der Fall ist handelt es sich nur um einen Testbetrieb.

Abstimmungssystem

Das Abstimmungssystem dient der Verwaltung des gesammten Verfahrens. Es muss weder die Teilnehmer mit Klarnamen kennen noch Auszählen können.

Wahlzettelgenerator

Der Wahlzettelgenerator erzeugt für jede Wahl mehrere Schlüsselpaare.

  • Eines dient dazu die Wahlzettel zu signieren und damit fälschungssicher zu machen. Der Public-Key wird veröffentlicht, sodass jeder die Korrektheit eines Wahlzettels überprüfen kann.
  • Ein zweites wird verwendet um die ausgefüllten Wahlzettel zu verschlüsseln. Dafür wird der Private-Key bis zum Ende der Abstimmung gelagert. Der Public-Key wird zusammen mit dem Wahlzettel verteilt.

lokales Ausfüll-Modul

Das Ausfüllmodul dient dazu den Wahlzettel (nach dem "ankreuzen") mit dem vom Wahlzettelgenerator gelieferten Public-Key zu verschlüsseln. Der verschlüsselte Wahlzettel wird dann an das Abstimmungssystem zur Aufbewahrung bis geschickt.

Auszählungsmodul

Das Auszählungsmodul erhält nach Ende des Abstimmungszeitraums vom Abstimmungssystem alle verschlüsselten Wahlzettel und vom Wahlzettelgenerator den Private-Key zum entschlüsseln ("öffnen") der Wahlzettel. Nach dem entschlüsseln kann ganz einfach ausgezählt werden. Es werden auch alle entschlüsselten Wahlzettel mit folgenden Daten veröffentlicht:

  • Wahlzettel-ID (um die eigene Stimme zu finden)
  • Wie mit diesem Wahlzettel abgestimmt wurde
  • Hash-Wert der erlaubt die lokale Kopie mit dem abgegebenen Wahlzettel zu vergleichen.

Mögliche Angriffsszenarien

Hier darf gern jeder Beiträge leisten. Die Argumente werden jedoch von mir überarbeitet um eine möglichst präzise und verständliche Sammlung von bewerteten Angriffsszenarien zu erhalten. Diskussion dazu bitte hier.

Akkreditierung

  • Admin-Angriff auf die Gleichheit der Wahl: Jeder mit berechtigtem oder unberechtigtem Zugang zum Akkreditierungssystem kann falsche Identitäten anlegen oder inaktive Mitglieder reaktivieren und damit abstimmen . Bei der Teilnehmerquote bei z.B. LQFB würde 1% gefälschte Teilnehmer ausreichen um die Abstimmung in die gewünschte Richtung zu lenken. Das das eine Prozent der Gesamtteilnehmer auffällt bezweifle ich. (Nr9)
    • Korrekt: Diese Art des Angriffs ist allerdings unabhängig davon, ob alle Stimmen offen ausgezählt oder geheim abgestimmt wird. Es wird registriert, wer an einer Abstimmung teilgenommen hat. Gilt also für ALLE Abstimmungssysteme!
    • mögliche Gegenmaßnahmen:
      1. Da auf jeder Akkreditierungsveranstaltung die Summe der dort neu Akkreditierten registriert und signiert wird, kann die Gesamtzahl der Akkreditieren von jedem Nachvollzogen werden. Nachträglich hinzugefügter Teilnehmer würden bei einem einfachen Check deshalb auffallen.
      2. Die Kreisverbände erhalten Listen der Personen die aus dem jeweiligen Kreisverband an Abstimmungen teilgenommen haben. Da jeder Pirat einen Kreisverband zugeordnet sein sollte, würde eine größere Zahl nicht existierender Piraten auffallen.
      3. Jeder Pirat kann selbst prüfen an welchen Abstimmungen er teilgenommen hat. Auch hier kann eine Regelmäßige Information per E-Mail erfolgen. Die E-Mail Adresse wurde bei der Akkreditierung ebenfalls mit signiert, kann als nicht später geändert werden ohne das dies bemerkt wird.
  • Angriff durch eine böswilligen Teilnehmer: Da hier in diesem System nur vermerkt wird wer einen Stimmzettel angefordert hat, ist nicht sichergestellt das er ihn auch bekommen hat. Somit kann ein Angreifer behaupten er habe keinen Stimmzettel bekommen und damit die Wahl, auf Grund von Ungleichheit, anfechten.
    • Die nachträgliche Behauptung den Stimmzettel nicht erhalten zu haben ist unglaubwürdig: Die Stimmzettel werden ja nur auf Anforderung erstellt und sofort zugestellt. Wenn also jemand in diesem Augenblick keinen Stimmzettel erhält kann er sich auch unmittelbar melden. Im Zweifelsfall müsste das Wahlverfahren dann abgebrochen werden.
  • Angriff durch eine böswilligen Teilnehmer: Da hier in diesem System nur vermerkt wird wer einen Stimmzettel angefordert hat, ist nicht sichergestellt das er ihn abgegeben hat. Somit kann ein Angreifer behaupten er habe einen Stimmzettel abgegeben, aber die Stimme sei nicht angenommen und gezählt worden und damit die Wahl, auf Grund von Ungleichheit, anfechten.
    • Um behaupten zu können, er habe den Stimmzettel abgegeben, muss er zumindest einen ausgefüllten Stimmzettel vorweisen können. Natürlich könnte er den Stimmzettel absichtlich nicht abgeben und behaupten das System sei Schuld. Dem könnte allerdings begegnet werden, indem das System bei Abgabe dem Teilnehmer eine signierte Kopie des Wahlzettels zurück gibt. Ein Teilnehmer, der keine signierte Kopie erhält müsste sich sofort melden und die Wahl müsste abgebrochen werden.

Abstimmungssystem

  • Admin-Angrif auf das Wahlgeheimnis: Da hier die Anmelde- bzw. Akkreditierungsdaten und die Daten vom Abstimmmodul zusammenkommen, kann hier eine Verknüpfung von Wähler und Wahlzettel hergestellt werden, z.B. über die IP des Absenders. Wenn Stimmzettelausgabe und Abgabe der ausgefüllten Zettel parallel abläuft, kann auf Grund des zeitlichen Zusammenhangs, von Aus- und Rückgabe, auf die Identität geschlossen werden. Das hebt die geheime Wahl auf.
    • Die Wahlzettel enthalten keinerlei Informationen mehr über den Absender. Es kann bei einem Wahlzettel lediglich überprüft werden, ob dieser valide ist. Sie können auch indirekt (über TOR-Server oder ähnliches) an das Abstimmungssystem geliefert werden, sodass keine IP-Adresse zum identifizieren vorhanden ist. Durch geschickte zeitliche Überwachung könnten aber wahrscheinlich Wahlzettel trotzdem mit hoher Wahrscheinlichkeit einem Teilnehmer zugeordnet werden. Frage ist nur: Was ist damit zu gewinnen? Der Angreifer setzt sich einem hohen Risiko aus (Parteiausschluss, Strafverfahren), um was genau zu erreichen?

Wahlzettelgenerator

lokales Ausfüll-Modul

  • lokaler Angriff auf den Rechner des abstimmenden Teilnehmers: Es kann z.B. eine Kopie des Wahlzettels erstellt werden. Die eine Kopie wird dem Benutzer präsentiert und die andere wird weggeschickt. Eine Manipulation ist dann nicht zu erkennen.
    • korrekt: Lokale Manipulationen können nicht völlig ausgeschlossen werden. Um die Wahl jedoch signifikant zu beeinflussen müssten viele Systeme angegriffen werden. Dabei steigt dann jedoch die Wahrscheinlichkeit entdeckt zu werden. Auch dieses Angriffsszenario ist unabhängig vom Verfahren. Jedes verteilte System kann auf der Teilnehmerseite angegriffen werden. Auch bei offenen Abstimmungen kann die lokale Software dem Teilnehmer vorgaukeln er würde JA stimmen und eine NEIN Stimme abgeben.
    • mögliche Gegenmaßnahmen:
      1. Das Ausfüll-Modul sollte nur aus vertrauenswürdiger Quelle installiert werden (Hash-Werte ?, Signaturen des Moduls?).
      2. Testsysteme, welche das Verhalten des lokalen Moduls prüfen?
      3. Nach der Wahl kann jeder Wähler prüfen, ob seine lokal gespeicherte Kopie des Wahlzettels in der veröffentlichten Liste aller Wahlzettel unverfälscht auftaucht.

Auszählungsmodul

Literatur

Diese Seite wurde Counter deaktiviert mal besucht.