Flagge des Vereinigten Königreichs (Auswahl der Sprache) Flag of Germany (language selection)

Lyrics Juke­box

Musik­wieder­gabe mit syn­chroner Text­anzeige für Windows, Linux und Mac

Anmerkungen zum interaktiven Paßcode

Sicherheit

Wie schon im Textkasten erwähnt, ist die Idee zu dieser interaktiven Paßcodeeingabe ca. 40 Jahre alt. Damals gab es noch nicht die jetzt in nahezu jedem Telefon und bald in vielen Brillen lauernden winzigen Videokameras, und ein Beobachter hatte nur sein Gedächtnis zur Verfügung um herauszubekommen, auf welche Weise der Code angezeigt wird. Deshalb hat damals auch die einfache Anzeige mit einer 7-Segment-LED-Zeile schon einen brauchbaren Schutz geboten.
Das ist natürlich jetzt anders, denn aus Videoaufzeichnungen mehrerer aufgezeichneten Code-Eingaben kann man die Sequenz rekonstruieren. Aber besser als eine einfach Pin-Eingabe ist es immer noch.
Es gibt außerdem eine Reihe von Maßnahmen, um das Verfahren zu härten. Mit dem in Lyrics Jukebox benutzten Schachbrettmuster mit 64 Feldern braucht man bereits eine ganze Menge aufgezeichneter Eingaben, um die Sequenz zu erkennen. Wenn Ziffern benutzt werden, kommt bei 64 Feldern jede Ziffer durchschnittlich 6,4 mal vor. Aber obwohl er unwahrscheinlich ist, muß man auch den ungünstigsten Fall berücksichtigen, der dann eintritt, wenn jede abzulesende Ziffer nur einmal angezeigt wird. Dagegen helfen bei meiner Implementation hier zwei Maßnahmen:
  • Es wird vermieden, daß die aktive Ziffer in der momentan angezeigten Kombination nur einmal vorkommt, indem sie immer irgendwo in dieser Kombination ein zweites Mal eingesetzt wird.
  • Die unbenutzten Ausgaben der Sequenz (die durch das Minuszeichen im Konfigurationseintrag ausgelöst werden) machen es schwieriger, die letztlich eingegebenen Ziffern den angezeigten Kombinationen zuzuordnen.
Und man könnte das weiter härten, indem man
  • das aktuelle Zeichen zwingend ein drittes Mal anzeigt,
  • die Sequenz um weitere ungenutzte Ausgaben ergänzt, um sie mehrdeutiger zu machen,
  • beispielsweise das Datum oder die Uhrzeit mit für die Feldauswahl benutzt,
  • zusätzlich farbige, grafische oder auch akustische Markierungen einbaut,
  • die Ziffern mit einem Offset versieht, und man ein wenig rechnen müßte,
  • die Anzahl Felder vergrößert (dann sollte man aber irgendwie die Zeilen und Spalten markieren),
  • einen Touchscreen mit haptischer Rückmeldung benutzt und die Haptikfunktion einsetzt, um das aktuelle Zeichen zu kennzeichnen (das könnte vielleicht sogar eine Videoaufzeichnung ins Leere laufen lassen).
Vielleicht fällt Ihnen dazu noch mehr ein.

Wie man das Optimum des Verhältnisses zwischen der Anzahl Felder und der Anzahl benutzter Zeichen berechnet, wäre noch zu untersuchen. Ob es überhaupt Menschen gibt, die sich alle angezeigten Daten in dieser Geschwindigkeit merken können, ist auch nicht klar, aber wenn man von einer Videoaufzeichnung ausgeht, dann ist die mögliche Benutzung von Buchstaben unsicherer als die von Ziffern, weil das gesuchte Zeichen bei 26 Buchstaben an weniger Positionen angezeigt wird als bei 10 Ziffern. Um dem zu begegnen, könnte man die Anzahl Buchstaben je Kombination begrenzen.

Beispielprogramm

Für diejenigen, die sich nur für das Prinzip des Dialogpaßwortes interessieren und sich nicht erst mit Lyrics Jukebox beschäftigen wollen, habe ich die betreffenden Funktionen aus dem Jukeboxprogramm extrahiert und, da ausführbare Programme aus dubioser Quelle oft nicht auf Begeisterung stoßen, ein Applet gebaut, das mit dem Hollywood Player (dort etwas runterscrollen) benutzt werden kann.
  • Das Archiv des Players muß man entpacken (und unter Windows außerdem installieren),
  • dann das Plugin svgimage.hwp von hier herunterladen (das Paket heißt dort SVG), oder Sie holen sich die fürs Betriebssystem passende Version der Datei aus dem betreffenden Download-Archiv von Lyrics Jukebox.
  • Kopieren Sie svgimage.hwp ins Plugin-Verzeichnis des Hollywood-Players. Unter Windows ist das C:\Program Files\Hollywood Player\Plugins), unter allen anderen Betriebssystemen legen Sie das Verzeichnis Plugins im Verzeichnis des Hollywood-Players an, sofern es noch nicht existiert, und kopieren svgimage.hwp dort hinein.

  • Dann kann man den Player starten und das Skript auswählen. Ein Start über die Kommandozeile mit dem Namen des Skripts als Argument ist auch möglich.
    Schloß Im Fenster klickt man dann das Schloß an (oder drückt Enter) und bekommt am Ende entweder ein „Richtig“ oder „Falsch“.
    Die mitgelieferte Konfigurationsdatei enthält die Positionen der Felder, von denen der Anwender nacheinander die Zeichen lesen soll. Für die Feldangaben werden Koordinaten wie beim Schach erwartet (A1 ist links unten). Die Minuszeichen kennzeichnen die zu ignorierenden Anzeigekombinationen.
    Das Beispiel „- a8 b7 c6 d5 -“ zeigt sechs Kombinationen, die erste und letzte nur als Füllmaterial, also muß man sich ab der zweiten Kombination vier Zeichen merken, beginnend mit dem Feld links oben und dann diagonal nach rechts unten. Die sechste Kombination wird (wie die erste) ignoriert. Dann wird ein Eingabefeld angezeigt, und das Eingeben der vier Zeichen wird mit Enter abgeschlossen.
    Für den Anfang habe ich die Zeichen auf Ziffern beschränkt, weil ich die als einfacher zu merken empfinde. Sie können auch Buchstaben oder alles beides aktivieren, die beiliegende Konfigurationsdatei sollte selbsterklärend sein.
    Einen Vollbildmodus habe ich mir gespart, aber man kann das Fenster (egal, wie groß es gerade ist) mit Alt-Enter immer auf Vollbild und zurück skalieren.
    Der Source-Code des Skripts liegt natürlich auch dabei, und falls Sie sich dafür Syntaxhighlighting wünschen, kennen Notepad++, Visual Studio Code (mittels einer Erweiterung) oder auch der klassische Kommandozeileneditor vim die Syntax.