05.08.14
Authentifizierungssystem ColorCard
Was sicher scheint, kann praktisch schnell unsicher sein.
Screenshot der ColorCard
Heraus kam die ColorCard. Eine Plastikkarte mit 12 Farbfeldern am unteren Rand. In Kombination mit am Monitor angezeigten Zahlen, soll man die 4 Farbsummen ausrechnen und in die Felder eintragen. Auf dem Server wird die Karte mit den Farbfeldern zuvor einem Benutzer zugeordnet und so kann der Server die korrekte Rechnung überprüfen und es sollte sicher sein, dass man so den Benutzer überprüfen kann.
Die Endversion hat folgende schönende statistische Werte:
- 1 von 5 zufälligen Farben
- 0 bis 12 zufällige Farbvorkommen
- jede Menge möglicher Endziffernbildungen (da Modulo mit 10)
- 5^12 = 244.140.625 verschiedene ColorCards
- 10^12 = 1.000.000.000.000 verschiedene Aufgaben
- 10^4 = 10.000 mögliche Lösungen
Was relativ unmöglich scheint, habe ich heute nun durch praktische Programmierung bewiesen: Die ColorCard ist nicht sicher. Die Sicherheit der Karte beruht auf dem Nicht-Wissen der Farb-Anordungen. Damit diese versteckt bleibt, gibt man als Lösung nicht direkt an, wo sich welche Farbe befindet sondern rechnet eine Zahlensumme aus. Also z.B. unter den schwarzen Felder steht: 5, 4 und 9. Dann ist die Summe 18. Eingetragen werden soll 8. Effektiv ist das das Modulo 10 des Ergebnisses. Diese 8 könnte sich aus zig Tausenden Kombinationen ergeben haben. Z.B. 4, 2 und 2 oder 1,1,3 und 3. Diese Möglichkeiten verhindern eine direkt 1:1-Rückkonstruierbarkeit der Farbe. So ergeben sich durchschnittlich 15.000 mögliche rückkonstruierte ColorCards für eine Lösung. Eine Farbsumme kann sich im Durchschnitt aus 410 Kombinationen ergeben. Die Logik, dass jedes Feld allerdings nur eine Farbe haben kann beschränkt die Rekonstruktionen auf die genannten ca. 15.000.
ColorCard im Browser ausprobieren. Es wird immer zufällig eine Karte generiert. Man kann auch eine feste Karte nutzen, indem man auf die Card-ID klickt.
Das Problem: Mehrfaches Abgreifen der Aufgaben und Ergebnisse. Die Zahlen unter der Karte auf dem Monitor ist die Aufgabe und die eingegebenen Summen sind die Lösung dazu, die nur mit der ColorCard ermittelt werden können. Hat der Angreifer nun allerdings nur 3 solcher Aufgabe-Lösung-Kombinationen der selben Karte, ist die ColorCard eindeutig rekonstruierbar. Bereits 2 Kombinationen grenzen die möglichen verwendeten Karten auf ca. 10 ein. So schnell reduziert sich eine Chance von 15.000 bei doppelter Verwendung auf nur 10 und bei dreifacher Verwendung auf nur noch 1 mögliche Karte.
Vielleicht helfen diese Infos dem Einen oder Anderen beim Prüfen der Sicherheit von Authentifizierungssystemen. Die oben genannte PassWindow-Card hält übrigens auch nur 10 solcher Aufgaben-Lösungs-Abgriffe stand. Sollte Interesse bestehen, gebe ich gern den Quellcode der ColorCard-Generierung und auch des Solver-Scriptes raus.
Keine Kommentare bisher | Kommentar schreiben |