Die Vorbereitungsschritte entsprechen jenem des Beta-Systems.
Der Unterschied besteht darin, daß jeder Dechiffrierungskreis seinen
Kollektivschlüssel vor
Beginn des Zertifizierungsprotokolls geheim erzeugt und diesen bis zum
Ablauf der Wahlzeit unter Verschluß hält (d.h. nur die LA
kennt
).
Den Kollektivschlüssel
sendet
Z
im Zuge des blinden Zertifizierungsprotokolls verschlüsselt zur Smart-Card
(Details: siehe 3.9.2). Der Trick des Gamma-Protokolls basiert auf der
Prämisse, daß ausschließlich die Chipkarte das Votum codieren
kann, weil nur sie über den Schlüssel
verfügt.
Alle rechenintensiven Krypto-Operationen berechnet wieder der Client-Computer.
Auch überträgt Client folgende Daten an die Smart-Card:
Damit das Kollektivschlüssel-Erzeugungsprotokoll geheim abgewickelt werden kann, erzeugt A einen zufälligen symmetrischen Schlüssel sy, den A mit den jeweiligen öffentlichen Schlüsseln der Mix-Server codiert und anschließend signiert, d.h.
Die Werte werden
an die korrespondierenden Mix-Server gesendet, die die Signatur
verifizieren.
Nach dem Ende des Protokolls verfügen alle Mix-Server der LA über
sy.
Beim Kollektivschlüssel-Erzeugungsprotokoll codiert der Dechiffrierungskreis
sämtliche ausgetauschten Protokolldaten mit dem Schlüssel sy,
so daß Außenstehende
nicht ermitteln können.
3.9.2 Zertifizierungsprotokoll
Jede Chipkarteverfügt
über ein asymmetrisches Schlüsselpaar
wobei
TC
den öffentlichen Schlüssel zertifizierte.
In diesem Abschnitt wird eine neue Variable Modus eingeführt,
deren
Wert
bestimmt.
Modus
definiert in Abhängigkeit vom gewählten
Element aus der Menge {WÄHLEN, 1_MAL_FESTLEGEN, X_MAL_FESTLEGEN}
drei Chipkarten-Funktionen:
Dieses Protokoll benötigt eine Chipkarten-Variable Festlegung mit dem Wertebereich {ÄNDERBAR, UNÄNDERBAR}, um den Zustand der Veränderbarkeit vorgenommener Festlegungen zu sichern (eine Festlegung im Modus 1_MAL_FESTLEGEN darf nicht durch eine nachträgliche Festlegung im Modus X_MAL_FESTLEGEN überschrieben werden).
Das festgelegte Votum speichert die Chipkarten-Variable WAHL, wennFestlegung = ÄNDERBAR ist. Bei einer vorgenommenen Festlegung enthält die abgegebene Stimme den Inhalt von WAHL. Festlegung und WAHL stellensichere Variablen dar, die niemand auslesen oder modifizieren kann. Eine weitere Variable, die als VWAHL bezeichnet wird, speichert im Modus X_MAL_FESTLEGEN das letzte vom Client übertragene Votum. Wozu dient VWAHL? Wenn der Wähler eine Festlegung im Modus 1_MAL_FESTLEGEN macht und später X_MAL_FESTLEGEN oder 1_MAL_FESTLEGEN ausführt, dann darf bei einer nachträglichen Überprüfung des Inhaltes der Festlegung (siehe unten: Verifikation der Festlegung) keinesfalls der Inhalt von WAHL geliefert werden. Sonst würde ZP/KF den Tatbestand, daß zuvor eine unveränderbare Festlegung vorgenommen wurde, feststellen können. Daher gibt die Chipkarte bei der Verifikation den Inhalt von VWAHL preis.
Nachdem die Smart-Card einen öffentlichen Kollektivschlüssel geladen hat (oder nach Ende der Wahlzeit/Verifikationszeit der vorherigen Wahl), initialisiert sie normalerweise die Variable Festlegung auf den Wert ÄNDERBAR und die beiden Variablen WAHL, VWAHL auf den Wert UNDEFINIERT. Wenn der Wähler vor der Ausführung des Zertifizierungsprotokolls eine Festlegung im Modus 1_MAL_FESTLEGEN vornimmt, dann bleibt das gesicherte Votum erhalten. Dadurch wird verhindert, daß KF/ZP das Zertifizierungsprotokoll selbst ausführt und anschließend gleich seine Festlegung im Modus 1_MAL_FESTLEGEN macht, um damit eine bestimmte Stimme zu erzwingen.
3.9.3.2 Verifikation der Festlegung
Verifiziert der Wähler über Client den Inhalt
einer vorgenommenen Festlegung, so liefert die Chipkarte immer den Wert
der Variablen VWAHL.
Benützt der Wähler den Modus X_MAL_FESTLEGEN,
bekommt er den Inhalt des zuletzt an die Chipkarte gesendeten Votums. Falls
die Stimme einmal im Modus 1_MAL_FESTLEGEN definiert wird, dann
bleibt diese Tatsache sowie der Festlegungsinhalt gegenüber dem Verifizierer
verborgen, da nur WAHL den Inhalt der Festlegung speichert. Die
Chipkarte setzt die Variable VWAHL ausschließlich im Modus
X_MAL_FESTLEGEN
auf den Wert (siehe
oben: Protokollschritt 3). Damit wird die Verifikation des Inhalts einer
Festlegung, die im Modus 1_MAL_FESTLEGEN vorgenommen wurde, verhindert.
3.9.3.3 Festlegung der Zurückhaltung der Verifikationsnummer
Das Festlegungsprotokoll der Nichtherausgabe verhindert das Abhören der Lieferung der Verifikationsnummer durch ZP (Gamma-System). Der Teilnehmer darf hier optional entscheiden, ob er nach erfolgter Auswertung keine Verifikationsnummer von der Chipkarte erhalten will. Wir führen eine sichere Chipkarten-Variable Herausgabe ein, wobei diesevor jeder neuen Entscheidung (nachdem die Smart-Card den öffentlichen Kollektivschlüssel geladen hat) immer automatisch auf den Wert JA initialisiert wird. Herausgabe definiert in Abhängigkeit zum gewählten Element der Menge {JA, NEIN} zwei unterschiedliche Chipkarten-Funktionen:
Das Protokoll benützt eine neue Chipkarten-Variable
Hg
mit
der Wertemenge {JA, NEIN}, um die Stufe der
Nichtherausgabe zu sichern. Dem folgenden Protokoll unterliegt die Prämisse,
daß
dieses unbeobachtet ausführen kann.
prüft die nachstehenden Bedingungen:
Jede Einheit des Dechiffrierungskreises codiert auch ihre
Protokolldaten mit dem gemeinsamen symmetrischen Schlüssel ,
damit kein Außenstehender das kollektive Entschlüsselungsprotokoll
nachvollziehen kann. Das Auswertungsprotokoll vollzieht sich des weiteren
wie im Beta-System. Die Liste der anonymisierten Daten
wird
im Gamma-System als "Auswertungsliste 2" bezeichnet.
Tabelle 3.4: Auswertungsliste 1.
Eintrag | Verifikationsnr., Votum |
1 | ![]() |
... | .. |
j | ![]() |
... | .. |
AN | ![]() |
Eintrag | Codiertes Votum,
Wählersignaturen |
Public-Key, Zertifikat |
|
![]() |
![]() |
|
... | ... |
![]() |
![]() |
![]() |
|
... | ... |
|
![]() |
![]() |
Wenn Herausgabe den Wert JA enthält
und die Chipkarte den Kollektivschlüssel vom Client empfangen hat,
sendet
die Chipkarte die öffentliche Verifikationsnummer zum Wähler.
Die Chipkarte überträgt die öffentliche Verifikationsnummer
ausschließlich dann zum Wähler, wenn Client an Smart-Card sendet.
Nun kann der Wähler feststellen, ob sein Votum korrekt in das Endergebnis
eingegangen ist. Aus der Perspektive eines vom Teilnehmer räumlich
entfernten Stimmenkäufers läßt eine empfangene Verifikationsnummer
keine Rückschlüsse auf die geforderte Stimme zu, weil die Smart-Card
die Verifikationsnummer erst nach der Publikation der Auswertungsliste
zum Wähler sendet.
Arbeitet im Gamma-System+ mindestens eine Einheit des Dechiffrierungskreises beim Entschlüsselungsprotokoll ordnungsgemäß, dann kann der Client nach positiver Verifikation seiner codierten Wahldaten in Auswertungsliste 2 davon ausgehen, daß sein Votum auch korrekt entschlüsselt wurde.
Verifikation durch Administration
Die RA führt die gleichen Protokollschritte wie im Beta-System durch. Zusätzlich können alle Protokollteilnehmer des kollektiven Entschlüsselungsprotokolls prüfen, ob Liste 1 und Liste 2 miteinander korrespondieren.
Wähler-Verifikation
Vor dem Wahlzeitende darf der Wähler verifizieren,
ob sein codierter E-Wahlschein durch die Mix-Stationen korrekt anonymisiert
wurde. Nach der Auswertung verifiziert,
ob seine gesendeten Wahlscheindaten in der Liste 2 vorkommen und das Votum
unter
der Verifikationsnummer
in
Liste 1 (Gamma-System) erscheint. Falls seine Wahlscheindaten nicht auf
der oben beschriebenen Liste vorkommen oder fehlerhaft dargestellt werden,
dann führt der Wähler mit RA das Reklamationsprotokoll
des Beta-Systems durch. So können betrügerische Mix-Einheiten
identifiziert werden. Tritt der Fall ein, daß ein Wähler seine
Stimmabgabe nicht verifiziert, löscht die Smart-Card ihre Verifikationsnummer
nach Ablauf einer maximalen Überprüfungszeit (z.B. einen Tag
nach der Wahl).
Wähler-Reklamation vor dem Wahlzeitende
Die Schritte des Wähler-Reklamationsprotokolls entsprechen dem Beta-System.
Wähler-Reklamation nach vollzogener Auswertung
Die Identifikation böswilliger Mix-Stationen vollzieht sich analog zum Beta-System.
Kommt das erweiterte Zertifizierungsprotokoll zum Einsatz,
so müßte die Smart-Card ggf. eine große Zahl (z.B. 20)
codierter Kollektivschlüssel speichern. In Abhängigkeit zur Speichergröße
der Chipkarte kann eine fixe Anzahl von Spezifikationen und chiffrierten
Kollektivschlüssel geladen werden. Die restlichen Daten sollte ein
Speichermedium (z.B. Festplatte) des Client-Systems sichern. Smart-Card
lädt sie nach dem Ende alter Entscheidungen. Sichert die Chipkarte
mehrere Kollektivschlüssel und Formatspezifikationen, so ist es für
den Wähler möglich, im vorhinein einige Entscheidungsfestlegungen
simultan zu treffen. Jene notwendigen Erweiterungen des Festlegungsprotokolls
sind trivial und werden hier nicht explizit ausgeführt.