Optimieren der Sicherheit von Bildkennwörtern

Wir möchten in einem weiteren Beitrag die Sicherheit von Bildkennwörtern genauer erläutern und Bezug auf Ihre Kommentare nehmen. Jeff Johnson, der Leiter des Development for the User Experience-Teams, interessiert sich besonders für die zugrunde liegende Mathematik und die Sicherheit dieses Features. Er hat diesen Beitrag zur Optimierung der Sicherheit von Bildkennwörtern verfasst. Da es sich hier um eine neue Art der Anmeldung handelt, ist es kaum verwunderlich, dass sich Benutzer Gedanken über mögliche Risiken dieses Ansatzes machen – zum einen bezüglich der Sicherheit (besonders auf Mobilgeräten) und zum anderen aufgrund der Einführung neuer Authentifizierungsmethoden im Allgemeinen (denken Sie an die Anfälligkeit der Gesichtserkennung und die Herausforderungen bei der Biometrie). Unser Ziel ist die Bereitstellung einer praktischen Anmeldemethode, die keinesfalls weniger sicher ist als ein Textkennwort (Jeff hat das ausgerechnet). Im Folgenden äußert sich Jeff zur grundsätzlichen Sicherheit des Bildkennworts. Bedenken Sie während des Lesens, dass im Lauf der Zeit zahlreiche "bewährte Methoden" für Textkennwörter (Richtlinien wie Ziffern+Buchstaben+Groß- und Kleinschreibung, Länge, Verhindern der Wiederverwendung von Kennwörtern, Unterbinden von Wörterbuchwörtern usw.) sowie wichtige Vorsichtsmaßnahmen (z. B. das Vermeiden von öffentlichen Internetterminals aufgrund der möglichen Kamera- und Keylogger-Überwachung) eingeführt wurden – wie Sie sich denken können, gelten ähnliche Vorgehensweisen auch für Bildkennwörter. Jeff erläutert einiger dieser Vorsichtsmaßnahmen sowie die Logik der Sicherheit des Modells. – Steven


Eine der Fragen, die uns häufig auf die eine oder andere Art gestellt wurde, bezog sich darauf, mit welcher Folge von Gesten sich die höchste Sicherheit bei der Anmeldung an einem Computer erzielen lässt. Die ist eine (zumindest für mich als Mathematiker) interessante Aufgabe. Die Lösung dieser Aufgabe enthält auch Elemente der Spieltheorie – doch zunächst ein paar einfache bewährte Vorgehensweisen.

  • Verwenden Sie Fotos mit mindestens 10 auffälligen Bereichen. Ein auffälliger Bereich ist ein Bereich, der als Orientierungspunkt für eine Geste verwendet werden kann – ein Punkt auf den Sie tippen, Stellen, die Sie mit einer Linie verbinden, oder ein Bereich, um den Sie einen Kreis ziehen würden.
  • Verwenden Sie eine zufällige Mischung aus Gesten in zufälliger Reihenfolge. Während eine Linie zwar die meisten Kombinationsmöglichkeiten bietet, würde die Auswahl von drei Linien Angreifern einen Vorteil bieten, da so Folgen ausgeschlossen werden können, die andere Gesten enthalten.
  • Legen Sie die Reihenfolge zufällig fest, wenn Sie sich für das Tippen auf einen Punkt, eine Linie und einen Kreis entscheiden. So sind sechsmal so viele Kombinationen möglich wie bei einer vorhersagbaren Reihenfolge.
  • Wählen Sie bei Kreisgesten die Zeichenrichtung zufällig aus. Außerdem können Sie den Kreis größer oder kleiner festlegen, als die "erwartbare" Größe.
  • Bei Liniengesten tendieren Sie womöglich dazu, diese automatisch von links nach rechts zu ziehen, jedoch ist es auch hier sicherer, die Richtung zufällig festzulegen, in der zwei Punkte verbunden werden.
  • Vermeiden Sie, wie bei allen anderen Arten der Anmeldung auch, dass Ihnen andere Personen bei der Eingabe des Kennworts zusehen.
  • Platzieren Sie Ihren Computer stets an einem sicheren Ort, an dem andere Personen nicht physisch auf diesen zugreifen können. Achten Sie, wie bei jeden Kennworteingabe, auf die Einsehbarkeit Ihres Bildschirms und auf möglicherweise vorhandene Kameras.
  • Achten Sie auf Schlieren, da sich Gesten anhand von Spuren auf dem Bildschirm möglicherweise nachvollziehen lassen. Reinigen Sie Ihren Bildschirm regelmäßig und gründlich. Obwohl das Risiko steigt, wenn Sie den Bildschirm reinigen, sich dann anmelden und keine weiteren Aktionen ausführen, sind die Spuren von regelmäßigen Eingaben für Angreifer leichter erkennbar (und wer will schon ein Gerät mit verschmutztem Bildschirm verwenden?). Beachten Sie, dass diese sich langfristig bildenden Spuren eher bei der Eingabe numerischer PINs hinterlassen werden, wenn das Gerät häufig ein und ausgeschaltet und dieselbe Folge duzende Male pro Tag eingegeben wird (an diesen Stellen bleiben Spuren zurück). Werfen Sie gelegentlich aus einem schrägen Winkel einen Blick auf den Anmeldebildschirm für das Bildkennwort, um zu prüfen, ob Spuren erkennbar sind, die auf die Gestenfolge hinweisen. Ist dies der Fall, sollten Sie den Bildschirm entweder reinigen oder weitere Schlieren im Bereich des Bildkennworts hinzufügen (dies erhöht deutlich die Anzahl auffälliger Bereiche, auf die wir im weiteren Verlauf zu sprechen kommen).

Sie erhöhen die Sicherheit Ihres Computers deutlich, wenn Sie diese Tipps befolgen.

Wie in einigen Kommentaren vorgeschlagen, hatten wir bereits in Betracht gezogen, das Bild zu verkleinern, an zufällig ausgewählten Stellen auf dem Bildschirm oder leicht gedreht anzuzeigen, um die Risiken durch Schlieren zu senken. Aus dem Feedback zur Benutzerfreundlichkeit war uns bereits bekannt, dass die Verkleinerung des Bildes die Schwierigkeit einer korrekten Gesteneingabe erhöhen und deren Einfachheit verringern würde. Jedoch waren wir bereit, Kosten und Nutzen gegeneinander abzuwägen, wenn sich eine deutliche Steigerung der Sicherheit abzeichnen würde. Wird die Position des Bildes verändert, zeichnen sich zwar weniger Schlieren an einer einzelnen Stelle ab, jedoch lassen sich hierbei mehrere sehr ähnliche Spuren von Punkten, Kreisen und Linen nebeneinander erkennen, aus denen ein Angreifer die einzelnen Gesten einfach ableiten kann. Da deren relative Lage zueinander bekannt ist, lassen sie sich dann einfach bestimmten Bildelementen zuordnen. Eine Verbesserung der Sicherheit wäre also nicht gegeben, und die Benutzerfreundlichkeit wird deutlich beeinträchtigt. Die Verwendung der Schlieren zum Ermitteln eines Kennworts ist in der Praxis deutlich schwieriger als anzunehmen. Bei Tablets, die von Benutzern mehrere Tage lang verwendet wurden, fanden sich in der Regel viel zu viele Schlieren, um die Gesten zu ermitteln. Selbst mit bekanntem Bildkennwort waren die Erfolgsquoten gering. Wir haben diese Analyse durchgeführt, da wir es für wichtig halten, bei neuen Technologien sämtliche möglichen Angriffswege in Betracht zu ziehen, sodass sich die Technik-Community eine Meinung zu dieser Bedrohung und Abwehrmöglichkeiten bilden kann. Außerdem erwarten wir eine Verbesserung der Bildschirmtechnologien, sodass vielleicht eines Tages Schlieren der Vergangenheit angehören.

Die Berechnung

Es ist interessant, die Wahrscheinlichkeit eines erfolgreichen Angriffs in unterschiedlichen Szenarien zu ermitteln. Wie bereits im vorherigen Blog-Beitrag dargestellt, erfolgen die Gesten in einem Raster (100 x 100), sodass selbst die einfachste Geste (Tippen auf einen Punkt) 10.000 mögliche Werte erhält (durch die Näherungswerte wird diese Anzahl effektiv auf 270 reduziert). Realistisch betrachtet ist die Anzahl der auffälligen Bereich noch wesentlich geringer, da die meisten Bilder nur wenige markante Stellen enthalten.

Obwohl sich diese Berechnung auch anders anstellen ließe, wollen wir annehmen, dass die Anzahl der auffälligen Bereiche gering ist und sämtliche Gesten ausschließlich anhand dieser Bereiche erfolgen. Wir gehen davon aus, dass unmittelbar auf einen auffälligen Bereich getippt wird, dass Kreise nur in zwei Größen (klein und groß) und zwei Richtungen (links und rechts) verwendet werden sowie dass Linien immer zwei auffällige Bereich verbinden. Da dies in der Realität so kaum zutreffen wird, ist die Anzahl der Möglichkeiten realistisch betrachtet wesentlich größer.

Windows bietet einen zusätzlichen Schutz für Bildkennwörter (und PINs): Die Anmeldung wird nach 5 fehlgeschlagenen Versuchen deaktiviert. (Anschließend muss ein herkömmliches Kennwort verwendet werden.) Ziehen Sie dies in Betracht, muss die relative Sicherheit für ein Szenario jeweils auf zwei Arten untersucht werden.

Erstens: Wie hoch ist die Wahrscheinlichkeit, dass einem Angreifer mit voller Kenntnis der Auswahl Ihrer Gesten eine Anmeldung gelingt, bevor die Sperre ausgelöst wird? (Wir bezeichnen dies im Folgenden als Wahrscheinlichkeit1.) Sind x gleich wahrscheinliche Gestenfolgen möglich, liegt die Wahrscheinlichkeit eines Erfolgs für Versuch und Irrtum vor der Aktivierung der Sperre bei 5/x.

Bei der zweiten interessanten Annahme wird davon ausgegangen, dass auf 100 Computern jeweils ein anhand der Regeln des Szenarios zufällig ausgewähltes Kennwort festgelegt wurde. (Wir bezeichnen dies im Folgenden als Wahrscheinlichkeit100.) Wie hoch ist die Wahrscheinlichkeit, dass einem Angreifer an mindestens einem dieser Computer eine Anmeldung gelingt? Da es sich hier um unabhängige Ereignisse handelt, ergibt sich folgende Wahrscheinlichkeit:
  1)/x)^100.

Ausgangsszenario

Gehen wir vom unsichersten Fall aus: Das "Bild" ist komplett schwarz mit einem einzigen weißen Punkt in der Mitte. Da dies der einzige auffällige Bereich ist, können nur die Gesten Tippen auf einen Punkt und Kreis verwendet werden (da keine Punkte mit einer Linie verbunden werden können). Wenn ich nur Punkte verwende, liegt die Erfolgssaussicht des Angreifers bei 100 %, da die einzige gültige Folge wäre, dreimal auf den weißen Punkt zu tippen. Gehen wir davon aus, dass ausschließlich Kreise und keine Punkte verwendet werden. Für jede Geste können vier Kreise zufällig ausgewählt werden. Daraus ergeben sich insgesamt 43 = 64 mögliche Gestenfolgen. Wahrscheinlichkeit1 liegt in diesem Szenario bei 7,81 %, Wahrscheinlichkeit2 bei 99,97 %. Es ist überraschend, dass die Wahrscheinlichkeit einer erfolgreichen Anmeldung an einem Computer unter 8 % liegt (intuitiv würde man einen höheren Wert erwarten). Daneben ist deutlich, dass die Erfolgsaussicht bei 100 Computern praktisch 100 % beträgt. Während einige Benutzer voraussichtlicht mit der ersten Wahrscheinlichkeit leben könnten, ist dieser Wert für sicherheitsbewusste Benutzer und IT-Administratoren, die mehrere Computer betreuen, viel zu gering.

Modifizieren wir dieses Szenario nun durch die Annahme, dass es sich bei den Gesten entweder um das Tippen auf einen Punkt oder Kreise handelt. Eigentlich sollte man annehmen, dass dies die Komplexität für jede Geste verdoppelt. Doch das ist nicht der Fall. Da wir von 4 möglichen Kreisen und 1 möglichen Punkt ausgehen, verfügen wir über 5 einzigartige Gesten und somit 125 Folgen.

Nehmen wir an, wir setzen unsere Zufallsmethode folgendermaßen um: Sie werfen eine Münze, um zu ermitteln, ob es sich um einen Punkt oder einen Kreis handelt. Handelt es sich um einen Kreis, wählen wir eine der vier Möglichkeiten zufällig aus. Obwohl dies schwerer zu erraten scheint, ist diese Methode tatsächlich weniger sicher als die ausschließliche Verwendung von Kreisen. Das liegt daran, dass in der Hälfte aller Fälle eine Geste mit nur einer Möglichkeit (der Punkt) ausgewählt wird. Ein Angreifer würde zunächst von Folgen mit zwei oder drei Punkten ausgehen, da diese erfolgversprechender sind. Bei einer optimalen Angriffsstrategie (es gibt andere mit gleichen Erfolgsaussichten) testet der Angreifer in den 5 Versuchen vor der Sperrung zunächst auf 3 Punkte, und anschließend auf zwei Punkte gefolgt von allen vier Kreistypen. Statt der angenommenen Wahrscheinlichkeit1 von 4 % (eine Verbesserung gegenüber den vorherigen 7,81 %) erreicht ein Angreifer tatsächlich eine Wahrscheinlichkeit1 von 25 %. Das ist im Vergleich zu den Kreisen mehr als dreimal so wahrscheinlich. Statistik kann irreführend sein!

Glücklicherweise lässt sich dieses Szenario leicht modifizieren. Wir ziehen für jede Geste eine Zahl zwischen 1 und 5. Wir verwenden einen Punkt, wenn es sich um eine 1 handelt. Bei den anderen Zahlen entscheiden wir uns für eine der 4 Kreisvarianten. So erzielen wir eine Wahrscheinlichkeit1 von 4 % (fast doppelt so gut wie im ersten Szenario), jedoch liegt die Wahrscheinlichkeit100 weiterhin bei untragbaren 98,31 %.

Eine leichte Verbesserung

Nehmen wir nun eine kleine Verbesserung an unserer Methode vor. In diesem Szenario gehen wir von einem Bild mit nur zwei auffälligen Bereichen aus (sich ein so einfaches echtes Foto vorzustellen, ist kaum möglich; wir können uns also vorstellen, dass es sich um einen schwarzen Hintergrund mit zwei weißen Punkten handelt). Somit können wir zusätzlich eine Liniengeste verwenden, jedoch gibt es für diese nur zwei Möglichkeiten: vom ersten Punkt zum zweiten und umgekehrt.

Aus der Erfahrung mit dem vorherigen Beispiel haben wir gelernt, nicht zufällig den Gestentyp und dann die Geste auszuwählen. Wir zählen alle möglichen Gesten zusammen und ziehen dann einen Zufallswert, um jeder möglichen Geste dieselbe Wahrscheinlichkeit einzuräumen. Es gibt zwei mögliche Punkte zum Tippen, 8 mögliche Kreise und 2 mögliche Linien. Daraus ergeben sich insgesamt 123 = 1.728 mögliche Gestenfolgen. Wahrscheinlichkeit1 liegt nun bei 0,29 %, Wahrscheinlichkeit2 bei 25,2 %. Ist es nicht erstaunlich, dass die Chance für einen erfolgreichen Angriff schon bei einem Bild mit nur zwei auffälligen Bereichen so gering ausfällt? Selbst bei 100 Computern wäre ein Angriff nur bei einem von vier Versuchen erfolgreich.

Weitere Verbesserungen

Gehen wir nun von 5 auffälligen Bereichen im Bild aus. Langsam kann ich mir auch einfache Bilder zu diesem Szenario vorstellen. Es gibt nun 5 mögliche Punkte zum Tippen, 20 mögliche Kreise und 20 mögliche Linien. Daraus ergeben sich 453 = 91.125 mögliche Gestenfolgen. Wahrscheinlichkeit1 liegt nun bei verschwindend geringen 0,0055 %, und Wahrscheinlichkeit2 liegt ebenfalls bei geringen 0,55 %. Diese Werte sind für die meisten Benutzer ein ausreichender Schutz ihrer Daten.

Maximale Sicherheit

Gehen wir davon aus, dass Sie großen Wert auf Sicherheit legen und sich für ein Bild mit 10 auffälligen Bereichen entscheiden. Dabei ist es Interpretationssache, wie viele auffällige Bereiche ein Bild enthält. Es ist nicht entscheidend, wie viele auffällige Bereiche objektiv vorhanden sind, solange Sie 10 Punkte auswählen können, denen Sie zufällig Gesten zuordnen. Tatsächlich sind wenig offensichtliche Punkte (die für Sie trotzdem zuverlässig zu bestimmen sind) ein Plus an Sicherheit.

Es gibt nun 10 mögliche Punkte zum Tippen, 40 mögliche Kreise und 90 mögliche Linien. Das sind dann 1403 = 2.744.000 Folgen. Wahrscheinlichkeit1 liegt lediglich bei 0,0002 %. In der Tat ist es mehr als 50 Mal so wahrscheinlich, in der Washington State Select 4 Lottery 10.000 US-Dollar mit einem 1-Dollarlos zu gewinnen, als erfolgreich das Kennwort auf einem Bild mit 10 auffälligen Bereichen zu ermitteln! Die Wahrscheinlichkeit100 fällt auf 0,018 %, und sogar eine Wahrscheinlichkeit1000 liegt nur bei 0.18 %.

Social Engineering

Social Engineering ist eine der bedeutendsten Bedrohungen für alle Arten der Anmeldesicherheit (Kennwort, PIN oder Bildkennwort). Die Verwendung eines Zufallsprinzips zum Erstellen der Anmeldefolge ist für jede dieser Methoden gleich erfolgreich.

Programmierexperten können die vorherigen Verfahren mit geringem Programmieraufwand oder in Excel einfach umsetzen. Jedoch wäre es für ein breiteres Publikum begrüßenswert, ein weniger technisches Verfahren zum Erstellen der Gestenfolge zu verwenden. Selbstverständlich sollten wir uns keine Illusionen darüber machen, dass die Anzahl der Benutzer, die solche Tools und Verfahren zum Erstellen von Kennwörtern verwenden, größer ist als die Anzahl derjenigen, die freiwillig starke Kennwörter verwenden, auch wenn dies nicht vorgeschrieben ist.

Würfeln

Ich habe mir spaßeshalber eine analoge Möglichkeit zum Festlegen einer zufälligen Gestenfolge ausgedacht. Ich verwende dazu einen normalen Spielwürfel mit sechs Seiten für eine Gestenfolge bei sechs auffälligen Bereichen. Zusätzlich dazu, dass diese Anzahl der auffälligen Bereiche mit den Flächen des Würfels übereinstimmt, hat ein Bild mit sechs auffälligen Bereichen folgenden Vorteil: Die Anzahl der möglichen Linien (30) stimmt genau mit der Anzahl der Punkte (6) plus der Anzahl der Kreise (24) überein. So lässt sich auch der Gestentyp einfach ableiten.

Führen Sie folgende Schritte für alle drei Gesten aus:

  1. Würfeln Sie.
    Die geworfene Zahl bestimmt, welcher der sechs auffälligen Bereiche für eine Geste verwendet wird (bei einer Linie handelt es sich um den Startpunkt).
  2. Würfeln Sie noch einmal.
    • Werfen Sie ein gerade Zahl, handelt es sich bei der Geste um eine Linie.
      Würfeln Sie noch einmal.
      Wenn die Zahl mit der zuerst gewürfelten Zahl übereinstimmt, würfeln Sie erneut, bis Sie ein anderes Ergebnis erzielen.
      Dies ist der Endpunkt der Linie.
    • Werfen Sie eine ungerade Zahl, handelt es sich bei der Geste um eine ein Punkt zum Tippen oder einen Kreis.
      Würfeln Sie noch einmal.
      Legen Sie die Geste anhand der folgenden Liste fest.
      1 – Die Geste ist das Tippen auf einen Punkt.
      2 – Die Geste ist ein kleiner Kreis im Uhrzeigersinn.
      3 – Die Geste ist ein kleiner Kreis entgegen dem Uhrzeigersinn.
      4 – Die Geste ist ein großer Kreis im Uhrzeigersinn.
      5 – Die Geste ist ein großer Kreis entgegen dem Uhrzeigersinn.
      6 – Würfeln Sie erneut.

Wie erwartet, liegen die Werte für ein Bild mit sechs auffälligen Bereichen zwischen denen mit fünf und zehn auffälligen Bereichen. Wahrscheinlichkeit1 liegt bei 0,0023 %, Wahrscheinlichkeit2 bei 0,23 %.

Wir hoffen,Sie haben bei der Verwendung von Bildkennwörter ebensoviel Spaß wie wir bei der Entwicklung!

– Jeff Johnson