Hadmut Danisch

Ansichten eines Informatikers

Schon wieder ein kryptographisches Wahlverfahren: Scantegrity

Hadmut
6.11.2009 19:19

Ein Leser hat mich auf diesen Artikel über das Wahlverfahren Scantegrity aufmerksam gemacht.

Mir war das Verfahren bisher nicht bekannt, und eigentlich wollte ich mich auch nicht auf Wahlverfahren spezialisieren, der Verriss von Bingo Voting war halt schon ein Spaß. Naja, einen kurzen Blick kann man ja mal riskieren.

Das Ding kommt eindrucksvoll daher, denn Größen wie David Chaum und Ron Rivest sollen dahinterstehen. Und damit man es auch einfach versteht, gibt es einen Video auf der Webseite. Wie auch schon der Leser, der mir den Link schickte vermutete, sehe ich das Verfahren auch mehr als frag- als als vertrauenswürdig an.

Eigentlich handelt es sich gar nicht um ein Wahl-, sondern um ein Verifikationssystem. Das Grundprinzip ist, daß man auf einem Wahlzettel seine Stimme markiert, der Wahlzettel von einem Scanner erfasst wird, damit das Ergebnis berechnet und verkündet wird, während im Hintergrund die Wahlzettel von Hand ausgezählt werden, um das Ergebnis zu verifizieren. Das Verfahren soll nun dem Zweck dienen, die sichere Übertragung der Stimmzettel zwischen Scanner und Auszählergebnis sicherzustellen, also Manipulationen zwischen Scanner und Handauszählungen zu verhindern.

Dazu hat man sich ausgedacht, daß man die Stimmen nicht mit einem normalen Stift ankreuzt. Jeder Stimmzettel bekommt eine Seriennummer, und auf jedem Stimmzettel ist vor dem Kandidaten mit unsichtbarer Tinte (auf jedem Zettel andere) ein Code aufgedruckt. Kreuzt man die Stimme an, wird der Code sichtbar (so wie mit den Detektiv-Geheimschrift-Stifen, die es früher mal im Yps-Heft gab). Man schreibt diesen Code von Hand auf einen Abschnitt am Wahlzettel unten, der auch die Seriennummer enthält, reißt ihn ab und nimmt ihn mit. Man hat also ein Zettelchen mit der aufdruckten Seriennummer des Wahlzettels und dem handschriftlich übertragenen Code, den man gesehen hat.

Dann werden die Wahlergebnisse veröffentlicht und man kann auf einer Webseite die Seriennummer des Wahlzettels eingeben. Der Webserver zeigt einem dann den Code an, der sichtbar geworden ist und den der Scanner erfasst hat. Damit soll man sich überzeugen können, daß der Wahlzettel richtig ausgezählt wurde.

Meines Erachtens ist das aber HokusPokus und enthält eine ganze Reihe von typischen Hochschulkryptologenfehlern.

  • Das Verfahren löst das Problem der zuverlässigigen Auszählung nicht. Die Problemlösung soll auf magische, d.h. nicht näher erläuterte und anderen Problemlösungen überlassene Weise, im „Backend” passieren.
  • Es gibt keine Bedrohungsanalyse. Es wird nicht gesagt, gegen welche Art von Angriff das Ding schützen soll. Laut Video soll es davor schützen, daß zwischen dem optischen Scan der Wahlzettel und der Handauszählung etwas manipuliert würde. Was das Verfahren sowieso nicht verhindern, sondern nur erkennen könnte. Eine Manipulation zwischen elektronischem Scan und Handauszählung würde man aber sowieso erkennen, nämlich weil ein anderes Ergebnis herauskommt.

    Das ist zwar viel Blendwerk und Hokuspokus und Wählerberuhigung (der Wähler bekommt halt was zu tun, damit er zufrieden ist), aber es wird kein Angriff erkannt, der nicht auch ohne das Verfahren erkannt werden würde. Kein Fortschritt also.

    In beiden Fällen, mit und ohne Verfahren, würde man sich bei einer Divergenz überlegen müssen, ob die Wahlzettel zwischendurch manipuliert oder falsch gescannt wurden.

  • Der Wähler kann nur kontrollieren, ob sein Wahlzettel mit dem Code beim Scanner angekommen ist. Er kann nicht kontrollieren, ob die Stimme auch für den richtigen Kandidaten gezählt wurde. Bringt also nichts.
  • Der Wähler kann nur kontrollieren, ob sein Wahlzettel beim Scanner angekommen ist. Da die Macher aber selbst davon ausgehen, daß es um Manipulationen zwischen Scanner und Handauszählung geht, ist nicht erkennbar, wie der Code das erkennen soll, wenn er nur den Weg bis zum Scanner sichert.
  • Das Verfahren beweist nicht die Echtheit der Stimmzettel. Wenn die Macher doch schon selbst davon ausgehen, daß jemand die Stimmzettel auf dem Weg zwischen Scanner und Handauszählung manipuliert, dann müssen sie auch davon ausgehen, daß jemand die Stimmzettel gegen andere austauscht, bei denen derselbe Code bei einem anderen Kandidaten steht. Denn gerade diesen Fall unterstellen sie ja. Dagegen schützt das Verfahren nicht. Gut, es käme zu einer Divergenz der Ergebnisse, wenn der Angreifer nicht auch noch den Scanner manipuliert. Diese Divergenz ist aber eine Eigenschaft des Scanners und nicht des Verfahrens. Bringt also auch nichts.
  • Sie machen den gleichen Fehler wie bei Bingo Voting (und viele Kryptologen): Sie denken nicht darüber nach, was eigentlich passiert, wenn ein Angriff passiert, ihr Verfahren tatsächlich funktioniert und einen Angriff erkennt.

    Nehmen wir mal an, ein Wähler erkennt einen Fehler. Auf seinem Zettel steht etwas anderes als der Webserver anzeigt. (Immerhin sollen Sicherheitsprotokolle ja dafür da sein, daß sie im Angriffsfall funktionieren und nicht nur dann, wenn alle brav mitspielen, was in der Wissenschaft meistens übersehen wird.) Und nu? Wie soll denn der Wähler beweisen, daß sein handschriftlicher Code richtig ist und er sich nicht beim Abschreiben vertan oder absichtlich einen falschen Code angegeben hat?

    Selbst wenn das Verfahren wie beabsichtigt funktioniert und der Wähler erkennt, daß seine Stimme nicht richtig gezählt wurde – es nutzt ihm gar nichts. Er kann es nicht nur nicht beweisen, sondern wird noch als Querulant dastehen, hat also kein Interesse, den Mund aufzumachen. Jeder ehrliche Wähler, der einen Fehler erkennt, belastet sich selbst. Gleicher Fehler wie bei Bingo Voting.

  • In der Folge kann man natürlich auch die Wahl sabotieren. Nehmen wir an, die Wähler einer schwächeren Partei sprechen sich ab, daß sie alle falsche Codes auf ihren Zettel schreiben, und sich dann nach der Wahl beschweren, weil die vom Webserver angezeigten (eigentlich richtigen) Codes von den notierten abweichen.

    Im Prinzip haben die Macher das auch erkannt, denn sie gehen im Video kurz darauf ein. Sie sagen, daß man sich nicht eigene Codes ausdenken könnte, weil man ja nicht wüßte, welche Codes da noch verwendet würden. Darin liegt ein ganz massiver Denkfehler.

    Der Fehler ist, daß man nicht prüfen kann, was der Wähler beim Ankreuzen gesehen hat. Wenn man davon ausgeht, daß die Wahl manipuliert sein könnte (sonst bräuchte man ja kein Schutzverfahren), dann könnten die Wahlzettel gefälscht gewesen oder falsch beschriftet gewesen sein. Die Tatsache, daß da Leute ankommen, die auf ihren Zetteln Codes stehen haben, die der Computer angeblich nicht ausgespuckt haben soll, kann ja nicht darauf hinauslaufen, daß diese Lügner wären, denn sonst könnte man ja jeden diffamieren, der die Wahl angreift. Und es ist nicht widerlegt, daß die vielleicht wirklich faule Wahlzettel untergeschoben bekommen haben, die dann jemand später gegen die echten ausgetauscht hat.

    Mag vielleicht etwas an den Haaren herbeigezogen klingen, aber wenn das der Angriff ist, gegen den das Verfahren schützten soll, dann muß es das auch können. Man kann nicht ein Verfahren gegen einen an den Haaren herbeigezogenen Fall bauen und dessen Unfähigkeit, dagegen zu schützen, dann damit rechtfertigen, daß der Fall an den Haaren herbeigezogen sei.

    Ein Verfahren, bei dem der (gut- oder böswillige) Wähler willkürlich etwas auf den Zettel schreiben kann und man hinterher qua der Annahme, daß die Wahlformulare ja zwischenzeitlich manipuliert worden sein könnten, nicht mehr prüfen kann, ob der Wähler richtig übertragen hat oder nicht, ist meines Erachtens untauglich.

  • Und zu allen diesen Lücken kommt der hochgefährliche Aspekt, daß da auf der einen Seite ein Scanner steht, der alle Wahlformulare samt deren Seriennummer scannt, und auf der anderen Seite der Wähler einen kleinen Zettel mit eben jener Seriennummer mitnehmen muß.

    Das heißt, daß jemand, der Wähler besticht oder erpresst, sich von denen den Zettel geben lassen kann und dann hinterher bei der öffentlichen Handauszählung sehen kann, wie derjenige abgestimmt hat. Also wird das Wahlgeheimnis gebrochen.

Nee, von diesem Verfahren halte ich auch nichts. Chaum und Rivest hin oder her, das erscheint mir als ziemlicher Käse. Vielleicht hat Rivest da wieder mal nur seinen Namen hergegeben.


2 Kommentare (RSS-Feed)

Bob
8.11.2009 13:35
Kommentarlink

Full ACK.

Mein Gedankengang als ich das auf Slashdot gelesen hab: “Sicheres Wahlcomputerverfahren? Son Quatsch! Oh, wichtig klingende Namen drunter? Kann ja wohl doch was dran sein. Kurze Denkpause. Nee, muss doch Quatsch sein.” Danke fuer die Ausformulierung.


Hadmut
8.11.2009 13:51
Kommentarlink

Ja, das muß man auch erst erlernen, sich nicht von wichtig klingenden Namen blenden zu lassen, sondern der Sache nachzugehen. An den Universitäten wird leider das Gegenteil antrainiert.