-
Die Erfindung betrifft Vorrichtungen und Verfahren zur digitalen Wahl. Insbesondere wird ein sicheres Protokollverfahren für elektronische Wahlen im Internet, Intranet oder sonstigen Computernetz vorgestellt. Besonders an diesem Protokoll ist die Vertrauensstellung der Bestätiger und der Auszähler.
-
Hintergrund der Erfindung:
-
Es wird eine Protokollanalyse angegeben. Diese Analyse basiert auf den Sicherheitsanforderungen für elektronische Wahlschemata, welche in der wissenschaftlichen Gemeinschaft weithin anerkannt sind.
-
Das Protokoll benutzt blinde Signaturen [Cha83] und Mix-Netze [Cha81], welche beide von Chaum vorgeschlagen wurden. Ausserdem ist ein öffentlicher Kanal erforderlich, welcher die Wahlinformationen für jedermann anzeigt.
-
Ein elektronisches Wahlprotokoll hat verschiedene Sicherheitsanforderungen zu erfüllen, die vom Anwendungskontext abhängen, in dem das Protokoll benutzt wird.
-
Die Sicherheitsanforderungen für elektronische Wahlschemata sind nicht standardisiert, die Wissenschaft ist sich jedoch über eine gegebene Menge von Anforderungen einig.
-
Exaktheit:
-
- • Ein gültiges Votum kann nicht geändert werden.
- • Alle gültigen Voten werden gezählt.
- • Ungültige Voten werden nicht gezählt.
-
Demokratie:
-
- • Nur berechtigte Wähler können wählen.
- • Jeder Wähler gibt nur ein Votum ab.
-
Geheimhaltung:
-
- • Anonymität: Es ist nicht möglich ein Votum mit dem Wähler zu assoziieren der es abgegeben hat.
- • Quittungsfreiheit: Kein Wähler kann beweisen, dass er ein bestimmtes Votum abgegeben hat.
- • Unzwingbarkeit: Ein Wähler kann nicht gezwungen werden, ein bestimmtes Votum abzugeben.
- • Alle Voten bleiben bis zum Ende der Wahl geheim.
-
Verifizierbarkeit:
-
- • Universell: Jeder kann verifizieren, dass alle gültigen Stimmen gezählt wurden.
- • Individuell: Jeder Wähler kann verifizieren, dass seine gültige Stimme gezählt wurde.
-
Hieraus ergibt sich eine Reihe von technischen Problemen, die zu lösen sind, wenn sie auf einem Computersystem abzulaufen haben.
-
Die
EP 1633077 A2 offenbart eine online Wahlverfahren, das jedoch die Verifizierung für Jedermann, dass alle gültigen Stimmen gezählt wurden, nicht zulässt.
-
Überblick über die Erfindung:
-
Aufgabe der vorliegenden Erfindung ist ein Verfahren und eine Vorrichtung im Computerbereich bereitzustellen, die eine sichere elektronische Wahl ermöglicht.
-
Gelöst wird diese Aufgabe durch eine Erfindung mit den Merkmalen der unabhängigen Ansprüche.
-
Das Verfahren setzt auf die Verwendung eines authentischen öffentlichen schwarzen Brettsystems, auf dem jeder die dort veröffentlichten Nachrichten lesen kann, aber nur autorisierte Parteien Nachrichten ablegen können. Weiterhin kann niemand einmal geschriebene Nachrichten löschen oder überschreiben.
-
Es werden blinde Signaturen nach Chaum [Cha83] benutzt. Dieser Mechanismus verhindert, dass der Unterschreibende eine zu signierende Nachricht lesen kann. Eine weitere Anonymisierungstechnik ist das Chaum'sche Mix-Netz [Cha81].
-
Grundsätzlich empfängt ein Mix-Netz eine Menge von Nachrichten, entschlüsselt diese und sendet die neuen Nachrichten in randomisierter Reihenfolge weiter. Das Netz bricht damit die Verbindung zwischen eingehenden und ausgehenden Nachrichten auf.
-
Um Geheimhaltung und Authentifikation zu erreichen, werden Public-Key-Systeme benutzt, wie z. B. RSA [RSA78] von Rivest et al.
-
Die folgenden Parteien sind Beteiligte in dem erfindungsgemäßen Verfahren:
- Wähler (WAH)
- Der Wähler wählt in einem für Dritte uneinsehbaren Bereich
- Bestätiger (BES)
- Der Bestätiger ist dafür verantwortlich, die Voten zu bestätigen.
- Schwarze-Brett (SWB)
- Das schwarze Brett ist ein authentischer öffentlicher Aushang.
- Mix-Netz (MIX)
- Das Mix-Netz mischt die abgegebenen Voten.
- Auszähler (AUS)
- Der Auszähler ist für die Auszählung verantwortlich.
-
Die folgende Notation wird in der Beschreibung des Protokolls benutzt:
- EL(m)
- Verschlüsselung der Nachricht m mit dem öffentlichen Schlüssel von L.
- ST(m)
- Signatur über die Nachricht m mit dem privaten Schlüssel von T.
- B(m, r)
- Funktion zum blenden der Nachricht m mit einer Zufallszahl r.
- UB(m, r)
- Funktion, um die Nachricht m, die mit r geblendet wurde, zu entblenden.
- v
- Ein ausgefüllter Wahlzettel, auch Votum genannt.
-
In der bevorzugten Ausführungsform ist folgende Konfiguration gegeben:
Es steht eine vertrauenswürdige Public-Key-Infrastruktur (PKI) zur Verfügung und wird eingesetzt. Alle benutzten öffentlichen Schlüssel sind validiert.
-
Eine Zertifizierungsstelle gibt entsprechende PKI-Zertifikate heraus. Das impliziert, dass alle Verschlüsselungen mit den richtigen öffentlichen Schlüsseln erfolgen. Alle Parteien nehmen an der PKI teil. Die eingesetzte Kryptographie ist stark und praktisch nicht zu brechen.
-
Zur Kommunikation wird ein Protokoll wie z. B. TCP/IP benutzt, welches das Ankommen der Nachrichten sicherstellt. Es wird ferner angenommen, dass die Kommunikation durch ein Protokoll wie z. B. PKI basiertes TLS [DA81] geschützt wird, welches die gegenseitige Authentisierung der Parteien und die Geheimhaltung der Kommunikation garantiert.
-
Die Registrierungsphase verläuft korrekt. Dies wird durch die korrekte manuelle Feststellung und Erfassung der Wahlberechtigten sichergestellt. Hierzu werden die Zertifikate alle Wähler vor der Phase der Stimmabgabe auf dem schwarzen Brett veröffentlicht.
-
Es gibt eine vertrauenswürdige Zugangskontrolle zur elektronischen Wahlkabine. Diese stellt sicher, dass nur berechtigte Wähler die Kabine betreten, und dass sich jeweils nur eine Person in der Kabine befindet. Die Kabine ist mechanisch so konstruiert, dass es nicht möglich ist, den Wahlvorgang zu beobachten. Dies schlieft Seitenkanalangriffe (z. B. mittels Stromverbrauchsanalyse) mit ein.
-
Dem elektronischem Wahlkabinensystem wird folgendermaßen vertraut:
- – Auf dem elektronischen Wahlkabinensystem läuft ein Wahlklientensoftwareprogramm, welches das durch den Wähler erzeugte Votum weder ändert noch tauscht. Es erstellt genau das Votum, das der jeweilige Wähler abgeben will. (Verifikation der Software in Verbindung mit der Hardware)
- – Die Kabine führt den Wähler durch den Wahlvorgang (z. B. durch elektronische Menüstrukturen). Der Wähler kann kein im technischen Sinne ungültiges Votum erzeugen – die Erzeugung eines juristisch ungültigen Votums ist dennoch möglich. Die Unmöglichkeit zur Erzeugung eines technisch ungültigen Votums schließt die Verifikation der Bestätigersignatur über das Votum mit ein. Manuelle Eingriffe des Wählers in die Funktionsweise des Wahlklientensoftwareprogramms werden durch die mechanische Konstruktion der Wahlkabine verhindert.
- – Der Wähler hat die Möglichkeit, sich aktiv von der Wahl zu enthalten, z. B. durch eine entsprechende Option auf dem elektronischen Wahlzettel oder Ankreuzen mehrerer Stimmen als zulässig (es ist auch denkbar, dass Enthaltungen durch die Wahlordnung ausgeschlossen sind, dann fehlt dieser Aspekt, in der Regel ist jedoch eine Enthaltung zulässig) – Erzeugung eines juristisch ungültigen Votums.
- – Weder der Wähler noch irgendeine andere dritte Partei hat die Möglichkeit, den von der Kabine benutzten Faktor zum Blenden des Votums zu sehen oder zu speichern. Verhindert wird die Einsichtnahme, bzw. Speicherung des Faktors einerseits durch die mechanische Konstruktion der Wahlkabine, welche die Entnahme, bzw. den Export von Daten nicht zulässt. Zudem erfolgt die Speicherung des Faktors zum Blenden des Votums nicht sichtbar im Arbeitsspeicher des Wahlkabinensystems, welcher nach Abschluss und/oder Abbruch des Wahlvorgangs sicher gelöscht wird.
- – Die Kabine zeigt dem Wähler das für ihn auf dem schwarzen Brett veröffentlichte Votum an. Das Votum muss vor der Speicherung auf dem schwarzen Brett durch den Wähler explizit bestätigt werden.
- – Die Kabine konspiriert nicht mit anderen Parteien. Das Wahlklientensoftwareprogramm befolgt ausschließlich die Schritte des Wahlprotokolls und kommuniziert deshalb nur mit den dem System bekannten Parteien.
-
Dem System bzw. dem Verfahren, dass das schwarze Brett implementiert, wird wie folgt vertraut:
- – Es authentisiert die Abonnenten korrekt und autorisiert den Zugriff gemäß ihrer Rolle. Die Authentifizierung der Rollen erfolgt sicher über die dem System zugrunde liegende PKI.
- – Ein jeder Wahl zugrunde liegendes Zugriffs- und Berechtigungskonzept regelt die Les- und Schreibbarkeit von Daten von bzw. auf das schwarze Brett. Es kann hierdurch die Veröffentlichung von Informationen durch autorisierte Parteien nicht verweigern.
- – Das schwarze Brett kann keine Informationen verändern oder löschen. Das restriktive Datenkonzept des schwarzen Brettes sieht keine Veränderung oder Löschung von Daten vor. Einmal geschriebene Daten können weder gelöscht noch geändert werden. Unterstützt wird dieser Ansatz durch moderne Datenbanktechnologien oder den Einsatz spezieller Datenträgermedien (z. B. WORM Write Once Read Multiple)
- – Es konspiriert nicht mit anderen Parteien. Die entsprechenden Softwareprogramme befolgen hierzu exakt die Bestimmungen des Wahlprotokolls, welches keine unerlaubten Aktivitäten und Kommunikationen zulässt.
-
Ferner ist das Mix-Netz vertrauenswürdig im folgenden Sinne:
- – Es mischt korrekt. Die Randomisierung der Voten geschieht hierbei durch die Vermischung der Gesamtheit aller Voten. Hierzu werden zunächst alle Voten in bekannter Reihenfolge durch das Mix-Netzsystem vom schwarzen Brett gelesen. Die Mischung der Voten erfolgt anhand eines Zufallsergebnisses, welches die Speicherung der gemischten Voten in veränderter und vom Eingang unabhängiger Reihenfolge auf dem schwarzen Brett ermöglicht.
- – Damit keine andere Rolle außer dem Mix-Netzsystem die Mischung der Voten vornehmen kann, werden alle Voten im Wahlvorgang selbst durch das Wahlklienten-Softwareprogramm mit dem öffentlichen Schlüssel des Mix-Netzsystems verschlüsselt. Dieses ist in der Lage mittels des dazugehörigen privaten Schlüssels die Entschlüsselung und nachfolgende Mischung der Voten vorzunehmen. Der private Schlüssel oder die benutzte Permutation wird deshalb von dem Mix-Netz nicht preisgegeben.
- – Darüber hinaus ist das Mix-Netzsystem nicht in der Lage Voten hinzuzufügen, bzw. zu tauschen oder zu verändern. Der Nachweis zur korrekten Funktionsweise des Mix-Netzsystems ist über ein Zero-Knowledge Verfahren [GMR85] möglich.
- – Es konspiriert nicht mit anderen Parteien. Die entsprechenden Softwareprogramme befolgen hierzu exakt die Bestimmungen des Wahlprotokolls, welches keine unerlaubten Aktivitäten und Kommunikationen zulässt.
-
Hieraus ergibt sich, dass die vertrauenswürdigen Parteien wie folgt sind:
- – Das Wahlkabinensystem/verfahren.
- – Das schwarze Brettsystem/verfahren.
- – Das Mix-Netzsystem/verfahren.
-
Als nicht vertrauenswürdig können folgende Parteien betrachtet werden
- – Die Wähler.
- – Das Bestätigersystem/verfahren.
- – Das Auszählersystem/verfahren.
-
Das Wahlverfahren garantiert dennoch eine korrekte Wahl, wenngleich die genannten Parteien sich nicht ordnungsgemäß ihrer vorgegebenen Rolle verhalten. Das Missverhalten wurde zu Unregelmäßigkeiten führen und entdeckt werden.
-
Hieraus ergibt sich in der bevorzugten Ausführungsform, dass ein gültiges Votum eines ist, dass:
- – die korrekte Form hat;
- – vom Bestätigersystem/verfahren elektronisch signiert ist;
- – mit dem öffentlichen Schlüssel des Auszählers und des Mix-Netzes in der korrekten Reihenfolge verschlüsselt ist;
- – auf dem schwarzen Brett veröffentlicht ist.
-
Das Verfahren besteht im Wesentlichen aus drei Phasen. Der Registrierungsphase, der Wahlphase und der Auszählphase.
-
Die Registrierungsphase liegt außerhalb des Protokolls. Es wird lediglich verlangt, dass am Ende dieser Phase eine Liste mit berechtigten Wählern und ihren Zertifikaten auf dem schwarzen Brett veröffentlicht ist. Diese Liste kann von jedem verifiziert werden.
-
In einem ersten Schritt holt das Bestätigersystem die Liste der Zertifikate der berechtigten Wähler vom schwarzen Brett. Dies wird vorzugsweise einmalig zu Beginn der Wahlphase gemacht, kann im Einzelfall jedoch auch immer wieder durchgeführt werden, wenn das Zertifikat des Wählers zu überprüfen ist.
-
Die folgenden Schritte werden für jeden Wähler wiederholt.
-
Der Wähler generiert sein Votum mit Hilfe des Wahlkabinensystems.
-
Das Votum wird mit der Wähler-Signatur geblendet und signiert. Danach wird es an das Bestätigersystem gesendet. Das Bestätigersystem verifiziert die Signatur, überprüft die Wahlberechtigung und signiert das geblendete Votum. Ferner wird überprüft ob dieser Wähler nicht schon eine Signatur erhalten hat. Wenn dies alles zutrifft, signiert das Bestätigersystem das geblendete Votum und sendet die Signatur zurück zum Wähler.
-
Danach wird durch das Wahlkabinensystem die Bestätigersignatur über das Votum durch Entblenden der Signatur erhalten. Es erfolgt eine Verifizierung der Bestätigersignatur.
-
Wenn diese korrekt ist, wird das Votum zusammen mit der Bestätigersignatur mit dem öffentlichen Schlüssel des Auszählers verschlüsselt. Dann verschlüsselt die Kabine das Ergebnis mit dem öffentlichen Schlüssel des Mix-Netzes. Das Ergebnis wird dem Wähler angezeigt.
-
Wenn der Wähler berechtigt ist und noch kein Votum abgegeben hat, erlaubt das schwarze-Brett-System dieses zu veröffentlichen.
-
Nach der Wahlphase holt sich das Mix-Netz die doppelt verschlüsselten Voten vom schwarzen Brett.
-
Das Mix-Netz entfernt die äußere Verschlüsselung der Voten mit seinem privaten Schlüssel. Dann mischt es sie und sendet die neue Liste zurück zum schwarzen Brett. Zu diesem Zeitpunkt sind die Voten noch immer mit dem Auszählerschlüssel verschlüsselt.
-
Dann holt sich das Auszählersystem die neue Liste vom schwarzen-Brett-System und entschlüsselt die Voten. Er verifiziert die Bestätigersignaturen über den Voten und prüft ob die Voten gültig sind. Dann berechnet er das Wahlergebnis.
-
Schließlich veröffentlicht der Auszähler alle gültigen und ungültigen Stimmen inklusiver ihrer Signaturen an den entsprechenden Stellen auf dem schwarzen Brett. Der Auszähler veröffentlicht auch seinen privaten Schlüssel und das Wahlergebnis auf dem schwarzen Brett.
-
Protokollanalyse
-
Alle gültigen Voten werden auf dem schwarzen Brett veröffentlicht. Jedes Votum ist doppelt verschlüsselt; zunächst mit dem Auszählerschlüssel, danach mit dem Mix-Netz-Schlüssel.
-
Wenn jemand außer dem Mix-Netz und dem Auszähler ein Votum verändern will, muss er das verwendete Kryptosystem brechen, was nicht möglich ist.
-
Ein betrügerischer Auszähler könnte seinen privaten Schlüssel einem Angreifer zeigen, welcher versucht die Voten zu ändern. Da das schwarze Brett keine Änderungen zulässt, und das Mix-Netz seinen privaten Schlüssel nicht enthüllt, kann der Angreifer nicht erfolgreich sein.
-
Nach dem Mischen der Voten veröffentlicht das Mix-Netz diese wieder auf dem schwarzen Brett. Diese Voten sind immer noch mit dem Auszählerschlüssel verschlüsselt. in Angreifer, welcher den privaten Auszählerschlüssel kennt, könnte versuchen, die Voten zu fälschen. Da das schwarze Brett keine Änderungen erlaubt, wird es dieses nicht erlauben.
-
Zusätzlich kann jeder durch Verfolgen des Geschehens auf dem schwarzen Brett sehen, ob Voten verändert wurden.
-
Der Wähler benutzt die vertrauenswürdige Wahlkabine, um sein Votum zu erstellen und zu verifizieren. Dies stellt sicher, dass das Votum korrekt erstellt wird.
-
Das vertrauenswürdige Mix-Netz erhält die doppelt verschlüsselten Voten vom vertrauenswürdigen schwarzen Brett, mischt diese und veröffentlicht diese wieder auf dem schwarzen Brett. Die Voten sind nun nur noch mit dem Auszählerschlüssel verschlüsselt, in betrügerischer Auszähler könnte die Voten vom schwarzen Brett lesen, diese entschlüsseln und ein unrichtiges Ergebnis veröffentlichen.
-
Da jedoch der Auszähler in der Auszählphase seinen privaten Schlüssel veröffentlichen muss, kann jeder nachprüfen, ob alle Voten korrekt behandelt worden. Dies wird durch entschlüsseln der Voten (vom schwarzen Brett) und der Verifizierung der Bestätigersignaturen erreicht.
-
Ein betrügerisches Mix-Netz könnte Voten löschen. Obwohl dieses leicht bemerkt werden wurde, gäbe es keinen Weg die gelöschten Voten wiederherzustellen.
-
Da das Mix-Netz vertrauenswürdig ist, wird es das Protokoll nicht untergraben.
-
Die Wahlkabine stellt sicher, dass nur gültige Voten publiziert werden. Selbst wenn ein ungültiges Votum (falsche Struktur, ungültige Signatur, fehlerhafte Verschlüsselung) publiziert würde, würde dies entdeckt, wenn der Auszähler die Voten entschlüsselt hat.
-
Ein betrügerischer Auszähler könnte Voten invalidieren. Das kann von jedem entdeckt werden, da der Auszähler seinen privaten Schlüssel veröffentlichen muss. Dadurch kann jeder die Voten (vom schwarzen Brett) entschlüsseln und die Bestätigersignatur prüfen.
-
Demokratie
-
Ferner können nur berechtigte Wähler wählen, solange der Bestätiger korrekt ist, so erkennt er berechtigte Wähler korrekt mittels deren digitaler Zertifikate.
-
Wenn der Bestätiger inkorrekt ist, könnte er Voten von nicht wahlberechtigten Personen autorisieren. Da das schwarze Brett nur Voten von berechtigten Wählern akzeptiert, wird es die gefälschten Voten zurückweisen.
-
Jeder Wähler gibt nur ein Votum ab, so lange der Bestätiger korrekt ist, so wird er mehrfache Wahlversuche zurückweisen. Ein nicht korrekter Bestätiger könnte mehr als ein Votum für einen Wähler bestätigen. Da jedoch das vertrauenswürdige schwarze Brett den Wähler erkennt, verhindert es mehrfache Wahlversuche.
-
Geheimhaltung
-
Ferner ist die Geheimhaltung sichergestellt. Es ist nicht möglich, ein Votum mit dem Wähler zu assoziieren, der es abgegeben hat. Ferner ist es nicht möglich, durch Belauschen des Netzwerkverkehrs ein Votum mit einem Wähler zu assoziieren, da die Voten verschlüsselt sind und gemischt werden.
-
Auch ist es nicht möglich ein Votum durch Vergleichen des Wahlzeitpunktes und des Zeitpunktes, zu dem ein Votum auf dem schwarzen Brett erscheint, mit dem Wähler zu verknüpfen, da die Voten vor der Entschlüsselung gemischt werden.
-
Selbst wenn der Bestätiger. das schwarze Brett und der Auszähler kollaborieren, so können sie die Beziehung zwischen Votum und Wähler nicht herstellen.
-
Der Bestätiger hat keine Kenntnis vom Inhalt des Votums welches er signiert, das schwarze Brett erhält vom Wähler nur die verschlüsselten Voten und der Auszähler erhält eine gemischte Liste. Außerdem sind das schwarze Brett und das Mix-Netz vertrauenswürdig und würden nicht kooperieren.
-
Die Wähler beantragen die Validierung ihres Votums beim Bestätiger. Da dies mittels blinder Signaturen geschieht, hat auch ein nicht korrekter Bestätiger keine Möglichkeit, die Voten zu kennen.
-
Die Wähler veröffentlichen ihre Voten auf dem schwarzen Brett und jeder kann die verschlüsselten Voten sehen. Um die Voten zu entschlüsseln bevor sie gemischt werden, ist der private Schlüssel des Mix-Netzes nötig. Da das Mix-Netz nicht kooperiert, ist das nicht möglich. Werden die Voten nach dem Mischen mittels des privaten Auszählerschlüssels entschlüsselt, ist die Verbindung zum Wähler verschwunden, da diese nun gemischt sind.
-
Kein Wähler kann beweisen, dass er ein bestimmtes Votum abgegeben hat. Ein Wähler könnte sich sein Votum vom ehrlichen Bestätiger validieren lassen und diese Bestätigung vorzeigen, um sein Votum zu beweisen. Da der Wähler aber gezwungen ist, mittels eines Wahlkabinensystems, welches die kritischen Informationen zurückhält, zu wählen, ist es ihm nicht möglich die kritischen Informationen vorzuzeigen.
-
Ein Wähler könnte mit einem betrügerischen Bestätiger zusammenarbeiten, um sein Votum zu beweisen. Der Wähler könnte einfach dem Bestätiger seinen Blendfaktor zeigen. Wiederum ist dies dem Wähler nicht möglich, da ihm die notwendigen Informationen fehlen.
-
Ein Wähler kann nicht gezwungen werden, ein bestimmtes Votum abzugeben. Da das Mix-Netz und das Wahlkabinensystem vertrauenswürdig sind, hat der Wähler keine Möglichkeit, sein Votum zu zeigen oder zu beweisen. Die Wahlkabine stellt außerdem sicher, dass der Wähler während des Wählens nicht beobachtet werden kann.
-
Ein Wähler kann sich in der Wahlkabine von der Wahl enthalten. Tut er dies, kann nicht entdeckt werden, ob er überhaupt gewählt hat.
-
Alle Voten bleiben bis zum Ende der Wahl geheim. Die Voten sind doppelt mit den Schlüsseln des Mix-Netzes und des Auszählers verschlüsselt. Die einzige Möglichkeit, die Voten vor dem Ende der Wahl zu entschlüsseln ist, die privaten Schlüssel dieser Instanzen zu benutzen.
-
Selbst wenn ein Angreifer Zugriff auf den privaten Schlüssel des Auszählers hat, kann er die Voten nicht entschlüsseln. Er benötigt zusätzlich den privaten Schlüssel des Mix-Netzes. Da das Mix-Netz vertrauenswürdig ist, wird es nicht mit dem Angreifer zusammenarbeiten. Also bleiben die Voten bis zum Ende der Wahl geheim.
-
Verifizierbarkeit
-
Jeder kann verifizieren, dass alle gültigen Stimmen gezählt wurden.
-
Nach der Registrierungsphase ist eine Liste aller berechtigten Wähler auf dem schwarzen Brett veröffentlicht. Diese Liste erlaubt es jedem zu prüfen, wer wahlberechtigt ist. Außerdem können die zugehörigen Zertifikate verifiziert werden. Da sowohl die Wähler ihre Voten als auch das Mix-Netz die gemischte Liste auf dem schwarzen Brett veröffentlichen, kann jeder die Anzahl der ursprünglichen und gemischten Voten vergleichen. Darüber hinaus ist die korrekte Funktionsweise des Mix-Netzes über einen Zero-Knowledge Beweis möglich. Da das schwarze Brett und das Mix-Netz vertrauenswürdig sind, werden sie keine Voten austauschen, hinzufügen oder löschen.
-
Nachdem der Auszähler die Voten entschlüsselt hat, verifiziert der Auszähler die Bestätigersignaturen und veröffentlicht das Ergebnis. Der Auszähler publiziert außerdem seinen privaten Schlüssel auf dem schwarzen Brett. Dies erlaubt es jedem, die Voten zu entschlüsseln und ihre Signaturen zu prüfen. Somit kann jeder prüfen, ob alle gültigen Stimmen gezählt wurden und ob der Bestätiger korrekt gearbeitet hat. Jeder Wähler kann verifizieren, da sein gültiges Votum gezählt wurde. Da der Wähler sein verschlüsseltes Votum auf dem schwarzen Brett veröffentlicht, kann er prüfen, ob das veröffentlichte Votum dasselbe ist, welches er mittels der Wahlkabine erstellt hat. Wie man oben gesehen hat, ist es nachprüfbar, dass alle gültigen Voten gezählt wurden. Hieraus folgt direkt, dass jedes einzelne gültige Votum gezählt wurde.
-
Im Folgenden werden einige Komponenten im Detail beschrieben.
-
Das schwarze-Brett/system ist ein passiver Datenspeicher. Dies bedeutet, dass das schwarze Brett keine eigene Kommunikation aufnehmen oder aufbauen kann. In diesem Zusammenhang wird das schwarze-Brett/system auch vielmehr als Instanz betrachtet, da es kein Akteur wie die übrigen Parteien ist.
-
Unter Berücksichtigung der Rechte von Akteuren können vom schwarzen Brett Daten entweder gelesen oder geschrieben werden. Um dem restriktiven Ansatz dieser Erfindung gerecht zu werden, ist es bei bereits geschriebenen Daten deshalb nicht möglich, diese nachträglich zu verändern.
-
Das schwarze Brett wird in Form einer Software-Datenbank realisiert, welche die entsprechenden Zugriffsregelungen unterstützt. Der restriktive Zugriffsschutz auf die Daten wird hierbei durch die Implementierung der Zugriffsrechte in die zu den Software-Klientenprogrammen korrespondierenden Software-Serverprogrammen der einzelnen Rollen erreicht und gesichert.
-
Zugriffsberechtigungen auf das schwarze Brett werden über Sicherheitsrichtlinien definiert, um Manipulationen des Datenbestandes auszuschließen. Demnach sind Veränderungen der Daten des schwarzen Brettes durch Lesezugriffe nicht möglich. Zur Geheimhaltung von Informationen existiert jedoch keine globale Leseberechtigung für alle Rollen, sondern vielmehr eine zeitliche und rollenabhängige Zugriffsbeschränkung auf die Daten des schwarzen Brettes. Zusätzlich zur Leseberechtigung existiert eine zeitliche und rollenabhängige Zugriffsbeschränkung für schreibende Zugriffe. Einmal geschriebene Daten können in der Regel – mit Ausnahme des Wahlstatus der Wahl – nicht mehr geändert werden. Somit ist z. B. der Verlust von Stimmen durch Löschen auf dem schwarzen Brett ausgeschlossen. Lediglich der Wahlstatus der Wahl kann nach Abschluss einer bestimmten Phase in vordefinierter Reihenfolge und nur durch die Rolle des Wahlvorstandes schreibend geändert werden.
-
Nachfolgend werden die einzelnen Rollen in Bezug auf die unterschiedlichen Wahlphasen im Detail beschrieben. 3 veranschaulicht das Rollenmodell dieser Erfindung.
-
Der Wähler bildet das Votum unter Zuhilfenahme des Wahlkabinensystems (Wahlklientenprogramm) und speichert es auf dem schwarzen Brett. Das Votum wird zum Nachweis der Stimmberechtigung vom Bestätiger blind signiert.
-
Das Wahlklientenprogramm visualisiert dem Wähler den elektronischen Stimmzettel, lässt ihn diesen ausfüllen und bildet daraus das Votum. Der Wähler kann durch bewusste Mehrfachkreuzung als die ihm in diesem Wahlverfahren zulässigen Kreuzungen, die Ungültigkeit seines Votums im juristischen Sinne erreichen. Das System weist den Wähler im Bestätigungsdialog zur Stimmauswahl eindeutig darauf hin, dass das Votum als ungültig durch das elektronische Wahlsystem gespeichert und als solches bei der Auswertung gezählt wird. Dies dient im Speziellen dazu, unbewusste Mehrfachkreuzungen über das Mal des Erlaubten zu verhindern, bzw. den Wähler auf diesen Umstand hinzuweisen. Nach Festlegung der Stimmentscheidung des Wählers kommuniziert das Wahlklientenprogramm mit dem Bestätiger-Serverprogramm, um mittels der Anfrage auf Bestätigung des Votums das zuvor von dem Wahlklientenprogramm geblendete Votum bestätigen zu lassen (Blinde Signatur). Bei gültiger Wahlberechtigung bestätigt das Bestätiger-Serverprogramm das Votum, womit das Wählervotum seine Gültigkeit erhält.
-
Das Wahlklientenprogramm verschlüsselt daraufhin das Votum nebst Bestätigersignatur mit dem öffentlichen Schlüssel des Auszählers und anschließend mit dem öffentlichen Schlüssel des Mix-Netzes. Abschließend kommuniziert das Wahlklientenprogramm mit dem Wahlurnen-Serverprogramm, um das verschlüsselte Votum auf dem schwarzen Brett zu speichern. Das Wahlurnen-Serverprogramm prüft zunächst die Wahlberechtigung des Wählers anhand des im schwarzen Brett hinterlegten Wählerzertifikats und des Wählerstatus. Mit der erfolgreichen Ablage des Votums aktualisiert das Wahlurnen-Serverprogramm den Status des Wählers auf dem schwarzen Brett.
-
Die zeitlich abhängige Zugriffsberechtigung des Wahlurnen-Serverprogramm auf die Daten des schwarzen Brettes ist entsprechend ausgebildet.
-
Der Bestätiger erhält vom Wähler (Wahlklientenprogramm) ein durch Blendung unkenntlich gemachtes und von ihm signiertes Votum. Zunächst prüft der Bestätiger die Wahlberechtigung des Wählers gegen das im schwarzen Brett hinterlegte Wählerzertifikat, sowie den Wahlstatus des Wählers. Ist die Prüfung erfolgreich, schickt er zur Bestätigung das geblendete Votum mit seiner Signatur (Bestätigersignatur) versehen an den Wahlberechtigten zurück.
-
Die zeitlich abhängige Zugriffsberechtigung des Serverprogramms Bestätiger auf die Daten des schwarzen Brettes ist entsprechend ausgebildet.
-
Das Mix-Netz hat die Aufgabe, die gespeicherten (verschlüsselten) Voten vor der Auszählung so umzuordnen, dass kein Zusammenhang zwischen Wahlberechtigten und Votum hergestellt werden kann.
-
Das Mix-Netz ist als Mix-Netz-Serverprogramm ausgeführt und kommuniziert mit dem Wahladministrations-Softwareprogramm. Nachdem das Mix-Netz-Serverprogramm vom Wahladministrations-Softwareprogramm angestoßen wurde, läuft es autonom, bis die Vermischung aller Voten abgeschlossen ist. Nur die Rolle des Wahlvorstands kann über das technische Hilfsmittel (Wahladministrations-Softwareprogramm) diesen Vorgang initiieren.
-
Das Mix-Netz-Serverprogramm liest hierzu aus dem schwarzen Brett die ungemischten Voten und entfernt die äußere Verschlüsselung mit dem privaten Schlüssel des Mix-Netzes. Die entschlüsselten Voten werden zunächst im lokalen Zwischenspeicher des Mix-Netzes gesammelt. Nachdem alle Voten im Zwischenspeicher vorhanden sind, werden sie mittels eines Zufallszahlenalgorithmus gemischt und in einer zufälligen Reihenfolge auf dem schwarzen Brett gespeichert. Der lokale Zwischenspeicher des Mix-Netzes wird dann vollständig gelöscht.
-
Der jeweilige Status des Mix-Netz-Serverprogramms kann vom Wahladministrations-Softwareprogramm abgerufen werden.
-
Die zeitlich abhängige Zugriffsberechtigung des Serverprogramms Mix-Netz auf die Daten des schwarzen Brettes ist entsprechend ausgebildet.
-
Der Auszähler entschlüsselt und prüft die gemischten Voten und ermittelt daraus das Wahlergebnis.
-
Die technische Realisierung des Auszählers ist als Auszähler-Serverprogramm ausgeführt und kommuniziert mit dem Wahladministrations-Softwareprogramm. Zunächst wird über das Wahladministrations-Softwareprogramm die Auszählung initiiert, indem die Liste aller gemischten Voten vom schwarzen Brett angefordert wird. Nachdem alle gemischten Voten auf das Wahladministrations-Softwareprogramm übertragen wurden, erfolgt die Entschlüsselung und Auszählung der Voten. Zur Auszählung der Voten wird die entsprechende Signatur des Bestätigers zur Prüfung auf Gültigkeit des Votums herangezogen. Aus der Summierung über alle Voten wird das Ergebnis berechnet.
-
Abschließend wird sowohl die Liste aller gültigen und ungültigen Voten, die dazugehörigen Bestätigersignaturen, der private Auszählerschlüssel, als auch das Wahlergebnis auf dem schwarzen Brett veröffentlicht. Hierzu werden diese Daten über das Wahladministrations-Softwareprogramm zum Auszähler-Serverprogramm übertragen und hierdurch auf dem schwarzen Brett veröffentlicht.
-
Die zeitlich abhängige Zugriffsberechtigung des Serverprogramms Auszähler auf die Daten des schwarzen Brettes ist entsprechend vorgegeben.
-
Es werden folglich die Sicherheitsanforderungen für elektronische Wahlsysteme berücksichtigt. Ferner wurden die Anforderungen Exaktheit, Demokratie, Geheimhaltung und Verifizierbarkeit, die fundamental für die Sicherheit einer Wahl sind, berücksichtigt.
-
Zur Erfüllung wurde eine bestehende, vertrauenswürdige PKI benutzt. Die Kommunikation ist garantiert und abgesichert mittels Protokollen wie TCP/IP und TLS. Das Protokoll benutzt blinde Signaturen und ein Mix-Netz. Die Wähler sind nicht in der Lage, Quittungen zu erhalten, da die Wahlkabine das verhindert. Es wurden die Wahlkabine, das schwarze Brett und das Mix-Netz als vertrauenswürdig vorausgesetzt. Im Gegenzug muss dem Wähler, dem Bestätigen und dem Auszähler nicht vertraut werden.
-
Ferner wurde gezeigt, dass die nicht vertrauenswürdigen Parteien gezwungen sind, sich ehrlich zu verhalten.
-
Wenn sie das Protokoll untergraben, wird dies entdeckt.
-
Die Anzahl der vom Protokoll benötigten Nachrichten ist gering. Der Bestätiger holt sich die Liste der Zertifikate nur einmal. Jeder Wähler benötigt nur drei Nachrichten, um sein Votum abzugeben. In der Auszählphase ist die Menge der Gesamtkommunikation etwa genauso groß wie in der kompletten Wahlphase.
-
Beschreibung der Figuren:
-
Im Folgenden werden die Figuren beschrieben, auf die die folgende detaillierte Beschreibung der bevorzugten Ausführungsform Bezug nimmt.
-
Es zeigt:
-
1 den Verfahrensablauf in der Wahlphase;
-
2 den Verfahrensablauf in der Auszählphase.
-
Bevorzugte Ausführungsformen:
-
In der 1 sind die Verfahrensabläufe in der Wahlphase zu entnehmen.
-
Stufe 0: Der Bestätiger holt die Liste der Zertifikate der berechtigten Wähler vom schwarzen Brett. Dies wird einmalig zu Begin der Wahlphase gemacht.
-
Die folgenden Schritte 1–3 werden für jeden Wähler wiederholt.
-
Stufe 1: Der Wähler generiert sein Votum v mit Hilfe der Wahlkabine. Die Kabine erzeugt eine Zufallszahl r und benutzt diese um das Votum zu blenden; d. h. die Kabine berechnet x = B(v, r). Dann wird x vom Wähler signiert, und als (x, SWAH(x)) zum Bestätiger geschickt.
-
Stufe 2: Der Bestätiger verifiziert die Wählersignatur, prüft ob der Wähler wahlberechtigt ist und prüft ob dieser Wähler nicht schon eine Signatur erhalten hat. Wenn dies alles zutrifft, signiert der Bestätiger x und sendet die Signatur SBES(x) zurück zum Wähler.
-
Stufe 3: Nach Erhalt von SBES(x) entfernt die Wahlkabine den Blendfaktor r und erhält die Bestätigersignatur SBES(v). Die Kabine verifiziert diese Signatur. Wenn diese korrekt ist, wird das Votum v zusammen mit der Bestätigersignatur SBES(v) mit dem öffentlichen Schlüssel des Auszählers verschlüsselt. D. h. die Kabine berechnet EAUS(v, SBES(v)). Dann verschlüsselt die Kabine das Ergebnis mit dem öffentlichen Schlüssel des Mix-Netzes und erhält EMIX(EAUS(v, SBES(v)). Das Ergebnis wird dem Wähler angezeigt. Wenn der Wähler berechtigt ist und noch kein Votum abgegeben hat, erlaubt das schwarze Brett ihm, EMIX(EAUS(v, SBES(v)) zu veröffentlichen.
-
In 2 werden die einzelnen Stufen der Auszählung dargestellt.
-
Stufe 4: Nach der Wahlphase holt sich das Mix-Netz die doppelt verschlüsselten Voten vom schwarzen Brett.
-
Stufe 5: Das Mix-Netz entfernt die äußere Verschlüsselung der Voten mit seinem privaten Schlüssel. Dann mischt es sie und sendet die neue Liste zurück zum schwarzen Brett. Zu diesem Zeitpunkt sind die Voten noch immer mit dem Auszählerschlüssel verschlüsselt.
-
Stufe 6: Dann holt sich der Auszähler die neue Liste vom schwarzen Brett und entschlüsselt die Voten. Er verifiziert die Bestätigersignaturen über den Voten und prüft, ob die Voten gültig sind. Dann berechnet er das Wahlergebnis.
-
Stufe 7: Schließlich veröffentlicht der Auszähler alle gültigen und ungültigen Stimmen inklusiver ihrer Signaturen an den entsprechenden Stellen auf dem schwarzen Brett. Der Auszähler veröffentlicht auch seinen privaten Schlüssel und das Wahlergebnis auf dem schwarzen Brett.
-
Literaturliste
-
- [CC97] Lorrie F. Cranor and Ron K. Cytron. Sensus: A Security_Conscious Electronic Polling System for the Internet. In Proceedings of the Hawaii International Conference on System Sciences, January 1997. http://lorrie.cranor.org/pubs/hicss/hicss.ps.
- [Cha81] David Chaum. Untraceable Electronic Mail, Return Addresses and Digital Pseudonyms. Communications of the ACM, 24(2): 84_88, 1981. http://web.inf.tu-dresden.de/~hf2/anon/Chaum1981/Chaum1981.pdf.
- [Cha83] David Chaum. Blind Signature System. In Advances in Cryptology: Proceedings of Crypto '83, pages 153_156. Plenum Publishing, 1983.
- [GMR85] Goldwasser, Shafi; Micali, Silvio; Rackoff, Charles: The knowledge complexity of interactive proof-systems. In: STOC '85: Proceedings of the seventeenth annual ACM symposium on Theory of computing. New York, NY, USA: ACM Press, 1985, S. 291–304
- [DA81] Tim Dierks and Christopher Allen. The TLS Protocol. IETF RFC 2246, January 1981. http://www.ietf.org/rfc/rfc2246.txt.
- [KKLA01] Kwangjo Kim, Jinho Kim, Byungcheon Lee, and Gookwhan Ahn. Experimental Design of Worldwide Internet Votenng System using PKI. In Proceedings of SSGRR International Conference on Advances in Infrastructure for Electronic, Business, Science and Education on the Internet, August 2001. http://citeseer.csail.mit.edu/687206.html.
- [LK02] Byoungcheon Lee and Kwangjo Kim. Receipt_Free Electronic Votenng Scheme with a Tamper_Resistant Randomizer. In Information Security and Cryptology_ICISC 2002: 5th International Conference, pages 389_406, November 2002. http://link.springer.de/link/service/series/0558/bibs/2587/25870389.htm.
- [OMA+99] Miyako Ohkubo, Fumiaki Miura, Masayuki Abe, Atsushi Fujioka, and Tatsuaki Okamoto. An Improvement on a Practical Secret Votenng Scheme. In Lecture Notes in Computer Science, volume 1729, pages 225_234, 1999. http://link.springer.de/link/service/series/0558/bibs/1729/17290225.htm.
- [Rie98] Andreu Riera. An Introduction to Electronic Votenng chemes. Technical Report PIRDI 9-98, Universitat Autònoma de Barcelona, September 1998. http://pirdi.uab.es/document/pirdi9.ps.
- [RSA78] Ronald L. Rivest, Adi Shamir, and Leonard M. Adleman. A Method for Obtaining Digital Signatures and Public_Key Cryptosystems. Communications of the ACM, 21(2): 120 126, 1978. http://theory.lcs.mit.edu/~rivest/rsapaper.pdf.