Abstimm-ID berechnen
Go to file
Sven Seeberg baf0483a7b
Change Abstimm-ID to Pruefsumme
2020-12-05 09:50:51 +01:00
node_modules/argon2-browser Update Argon2 Browser 2020-10-20 19:09:14 +02:00
README.md adjust argon2 parameters, update readme 2020-11-05 12:45:45 +01:00
bootstrap.min.css remove all JS libs and use plain JS 2020-11-05 12:41:05 +01:00
index.html Change Abstimm-ID to Pruefsumme 2020-12-05 09:50:51 +01:00
join.png Circle direct link 2020-10-29 21:00:57 +01:00
package-lock.json Update Argon2 Browser 2020-10-20 19:09:14 +02:00

README.md

Über

Dieses Werkzeug wandelt Namen in einen Argon2 Hash um, mit einer vergleichsweise hohen Rechenzeit pro Hash. Zusätzlich wird die Abstimmungsrunde als Salt in den Hash mit einbezogen. Die Argon2-Implementierung kommt von https://github.com/antelle/argon2-browser.

Die Berechnung findet vollständig im Browser statt. Es werden keine Daten zurück zum Server übertragen.

Hintergrund

Dieses Werkzeug ist eine mögliche Ergänzung für https://git.verdigado.com/Netzbegruenung/polls, um Abstimmergebnisse datenschutzfreundlich validieren zu können.

Dazu wird allen an einer Abstimmung teilnehmenden Personen eine Liste ausgehändigt, die alle abgegebenen Stimmen enthält. Allerdings sind die Namen pseudonymisiert. Mit Hilfe der Liste kann in Summe das Gesamtergebnis geprüft werden. Außerdem können einzelne Stimmen (stichprobenartig) validiert werden, indem im Abstimm-ID-Rechner die Abstimm-Runde und ein Name einer abstimmenden Person eingegeben werden. Mit Hilfe der erzeugten Abstimm-ID kann in der Ergebnisliste geprüft werden, wie die entsprechende Person abgestimmt hat.

Der Vorteil der Methode ist, dass alle Personen sofort das Gesamtergebnis mit ihrer eigenen Stimme nachvollziehen können, sowie stichprobenartig Stimmen anderer Personen. Um das Abstimmverhalten anderer Personen prüfen zu können, muss der Name der anderen Personen bereits bekannt sein. Es sind also alle Stimmen einzeln nachvollziehbar, ohne dass eine Liste aller Namen verteilt wird. Außerdem ist der Rechenaufwand zum Erzeugen einer Abstimm-ID so hoch gewählt, dass zum Deanonymisieren einer Abstimm-ID eine Zeit in der Größenordnung von 10 Sekunden nötig ist.

Um eine Manipulation der Ergebnislisten zu verhindern, wird eine Signatur der Ergebnisliste empfohlen, beispielsweise mittels PGP.

Argon2 Parameter

  • Memory: 262144 KiB (= 2^18 KiB)
  • Iterations: 5
  • Hash Length: 16
  • Parallelism: 1
  • Argon2id

Auf Linux-Systemen (das Paket argon2 muss installiert sein) kann das Ergebnis mit folgendem Befehl reproduziert werden:

echo -n "Max Mustermann" | argon2 "Abstimmung 1" -p 1 -k 262144 -t 5 -l 16 -id

Auf der unabhängigen Webseite https://antelle.net/argon2-browser/ kann ebenfalls das Ergebnis verfiziert werden.

Lizenz

Copyright 2020 Netzbegrünung e.V.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.