Mehr News...
05.08.14

Authentifizierungssystem ColorCard

 

Was sicher scheint, kann praktisch schnell unsicher sein.

Die ColorCard
Screenshot der ColorCard
Vor einiger Zeit war ich auf der Suche nach einem kostengünstigen Authentifizierungssystem für eine 2-Faktor-Authentifizierung. Ich bin auf viele Kopien der Authenticator-App von Google oder der Grid Card von Entrust gestoßen aber auch auf innovative Ideen wie die PassWindow-Card. Schließlich dachte ich mir, dass es nicht so schwer sein sollte, sich ein eigenes optisches Authentifizierungssystem auszudenken, dass man nur auf Platikkarte drücken müsste.

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.

authentifizierungssystem_colorcard5 von 5
0Keine Kommentare bisherKommentar schreiben