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.