3.9 Schemen des Gamma-Systems

Im Gamma-System liegt die Sicherheitsannahme zugrunde, daß die Chipkarte sichere Kartendaten (Schlüssel, Variablen, etc.) speichern kann (im EEPROM). Informationen aus den EEPROMs auszulesen ist schwierig (aber nicht unmöglich), denn sie sind in Form von Ladungen gespeichert und optisch nicht sichtbar. Denkbar wäre eine Abtastung mit Elektronenstrahlen, aber auch das wird durch besondere Maßnahmen verhindert: Sobald ein Strahl die Chipoberfläche trifft, löst ein Sensor die Löschung sämtlicher Speicherzellen aus. Normalerweise ist der Chip mit einer lichtundurchlässigen Kunststoffschicht zugegossen, deren Entfernung ihn mit hoher Wahrscheinlichkeit sowieso zerstört. Die einzige Möglichkeit, jene sicheren Kartendaten zu modifizieren, besteht in der korrekten Anwendung der spezifizierten Protokolle. Die praktische Undurchführbarkeit, gesicherte Informationen über andere Methoden als über die Benützung erlaubter Protokolle zu erhalten, macht die Hardware relativ fälschungssicher.

3.9.1 Vorbereitung

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:

Die mit (*) gekennzeichneten Daten müssen nur einmal geladen werden und bleiben für eine längere Zeitspanne gültig. Jede Chipkarte speichert auch den öffentlichen Schlüssel von TC.

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.

3.9.3 Festlegungsprotokoll

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:

3.9.3.1 Festlegung der Stimmabgabe

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.

prüft die nachstehenden Bedingungen:


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 Gamma-System schützt durch dieses Festlegungsprotokoll vor einem Szenario, in dem ZP die Chipkarten-Ausgabe der Verifikationsnummer überwacht. Wenn ZP daraufhin feststellt, daß tatsächlich die vom Wähler erwünschte Stimme abgegeben wurde, dann kann ZP ihm theoretisch mit Sanktionen drohen. Auch besteht die Möglichkeit, daß ZP dem Teilnehmer beim Ausbleiben der Lieferung der Verifikationsnummer mit Gewaltakten bedroht (Herausgabe=NEIN). Das Gamma-System bietet keinen Schutz vor einem solchen Angriff.

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:

Bemerkung:
Client und Smart-Card verfügen außerdem über einen symmetrischen Schlüssel zur Nachrichtencodierung, um die Vertraulichkeit der Kommunikation sicherzustellen. Damit die Integrität erreicht wird, kann u.a. eine MAC-Prüfsumme mit einem weiteren symmetrischen Schlüssel gebildet werden. Diese Sachverhalte sind im Protokollschritt 2 nicht dargestellt.

3.9.4 Wahlprotokoll

Die weiteren Protokollschritte verlaufen analog zum Beta-System.

3.9.5 Auswertungsprotokoll

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
                                                                                                                             Tabelle 3.5: Auswertungsliste 2.
 
Eintrag Codiertes Votum,
Wählersignaturen
Public-Key, Zertifikat
1
...
... ...
...
... ...
AN

 

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.

3.9.6 Verifikationsprotokoll

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.

3.9.7 Erweiterungen

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.