SPOC-Web Icon, semantic Knowledge Management

How to... get Things done

How to handle passwords

Als kostengünstige Methode der Benutzer-Authentifizierung werden von den meisten Anwendungen weiterhin Passworte eingesetzt.

Alternativen wie Dongles, Zertifikate oder Schlüssel-Generatoren erfordern zusätzliche Hardware und werden sowohl aus Bequemlichkeit als auch wegen des Preises vermieden. Die neuerdings verbreitete sog. 2-Faktor Authentifizierung bietet eine erhöhte Sicherheit durch die Kombination des Passworts (oder einer PIN) mit einem physischen Schlüssel wie z.B. der Scheckkarte oder dem Handy als Zweitgerät.

Passworte können gesperrt werden

Ein Passwort ist wesentlich sicherer, wenn bei mehrmaliger Falscheingabe das Benutzerkonto gesperrt wird. Dies schränkt die Betrugsmöglichkeiten wesentlich ein und erlaubt sogar den relativ sicheren Einsatz von kurzen Passwörten wie z.B. 4-stellige PINs für EC-Karten.

Derartig kurze Passworte bieten aber überhaupt keine Sicherheit in Situationen, wo der Hacker beliebig viele Versuche hat. Die 10000 Möglichkeiten einer vierstelligen PIN sind in weniger als einer Millisekunde durchprobiert. Man sollte Amateur-Webseiten meiden, die beliebig viele Login-Versuche erlauben.

Passworte müssen nicht kompliziert sein

Wie man am Beispiel der PIN sieht, sind viele Richtlinien für Passworte unnötig und stellen im Gegenteil sogar eine Sicherheitslücke dar, weil viele Benutzer durch kryptische oder laufend ändernde Passworte verunsichert sind. Handys und Windows setzen inzwischen erfolgreich einfache PINs ein, bieten aber auch zusätzlich biometrische Methoden an (Iris oder Fingerabdruck).

Passworte müssen aber individuell sein!

Die Kompromittierung eines Passworts für eine Webseite ist ärgerlich genug. Wenn aber für viele oder gar alle Webseiten dasselbe Passwort verwendet wird, ist der Verlust katastrophal.

Dieselbe Situation entsteht, wenn man für die Authentifizierung bei allen Webseiten seinen Account von Google, Twitter, Facebook oder Microsoft verwendet. Diese setzen zwar relativ sichere 2-Faktor Authentifizierung ein, ist dieses Konto allerdings gesperrt oder gehacked, sind ebenfalls alle Webseiten betroffen. 

Weiterhin trägt diese sogenannte "Federation" dazu bei, dass die authentifizierende Stelle (Facebook, Google etc.) die Nutzung der anderen Website aufzeichnen kann.

Aus diesen Gründen sollte für jede Webseite ein eigenes Passwort, möglichst sogar ein eigener Benutzername verwendet werden.

Wer soll sich das alles merken?

Wenn man sich für jede Webseite ein eigenes Passwort ausdenken muss, dann kommt man schnell durcheinander. Eine wirksame Abhilfe bieten hier sogenannte Passwort-Manager. Das sind Programme, die sich nicht nur Passworte merken können, sondern sie auch sicher speichern und komfortabel wieder abrufen können.

Da diese gesammelten Passworte ein wertvolles Gut sind, sollte der Passwort-Manager sorgfältig ausgewählt werden.

Online-Passwort-Manager kommen überhaupt nicht in Frage. Man gibt einerseits die Kontrolle auf und selbst wenn man der Firma vertrauen würde (siehe Patriot Act), können die Daten immer noch gestohlen werden. Betreiber dieser Passwort-Manager gehören zu den attraktivsten Hacker-Zielen, weil man gleich alle Passworte von allen Kunden erhält.

Kriterien für einen guten Passwort-Manager

Bei Security-Experten ist es ein alter Hut, dass die sicherste Software Open-Source ist. Die Offenheit ermöglicht es nicht nur, jedem Benutzer zu kontrollieren, ob das Programm nur genau das macht, was es soll, sondern eröffnet Kryptographen auch die Möglichkeit, die Sicherheit ausgiebig zu testen. Weitere Kriterien sind:

  • Generierung von neuen, zufälligen Passworten
  • verschlüsselte Speicherung
  • komfortable Verwaltung von Benutzernamen, Passworten und URLs

Ein seit Jahren sehr empfehlenswerter Passwort-Manager ist das kostenlose Keepass, dessen Source-Code frei verfügbar ist. 

Wir haben diesen Code überprüft und für gut befunden, haben aber noch einige zusätzliche Anforderungen:

  • Speicherung als Text-Datei
  • Mischung von verschlüsselten und unverschlüsselten Daten

Zu diesem Zweck lässt sich z.B. der Spoc-Text Editor einsetzen. Eine große Reihe von Methoden zur symmetrischen und asymmetrischen Verschlüsselung sind bereits eingebaut und können in Excel-artigen Formeln verwendet werden. In der Regel reicht eine Tabelle mit 3 oder 4 Spalten aus, um alle Passworte sicher zu verwalten.

Darf's ein bisschen Mathe sein?

Es ist nicht notwendig, aber erhellend, diese Argumentationen mit ein paar Zahlen zu ergänzen, um den Unterschied zwischen schwachen und starken Passworten bzw. Phrasen zu beschreiben.

Wenn ein Hacker keine weiteren Anhaltspunkte hat, steht ihm die Methode der brutalen Gewalt ('brute force') zur Verfügung. Das bedeutet, dass er (bzw. sein Computer) jedes mögliche Passwort einfach ausprobiert, bis er das richtige gefunden hat. Dies gilt natürlich nur, wenn er beliebig viele Versuche hat, was leider immer noch bei vielen Webseiten möglich ist. Es zeigt auch, warum für sperrbare Passworte oft PINs ausreichen. Der Hacker hat nur 3 Versuche bei 10.000 Alternativen, also eine Chance von nur 0,03%, was zusammen mit dem Besitz der Scheckkarte als ausreichend sicher angesehen wird.

 

Um seine Chancen zu verbessern, verwendet der Hacker Modelle und Statistiken. Quantitative Angaben über die Sicherheit eines Passworts sind möglich, aber nur jeweils im Rahmen eines Modells. Für verschiedene Modelle ergeben sich entsprechend auch verschiedene Sicherheiten. Dies ist ein grundsätzliches Problem beim Einsatz von Wahrscheinlichkeitsrechnung und Statistik: Es können zwar quantitative Aussagen gemacht werden, diese sind aber stets mit Vorsicht zu verwenden: 

  • Einerseits ist jedes konkrete Ereignis (sprich: Passwort) immer noch zufällig, erst bei großen Mengen kann man von einer gewissen Treffer-Rate ausgehen 
  • Andererseits wirft jede Änderung des Modells die bisherige Abschätzung über den Haufen, so dass man besser mehrere Modelle betrachtet und die Ergebnisse gewichtet mittelt.

Verschiedene Passwort-Modelle

Je nachdem wie ein Benutzer sein Passwort wählt, kann man verschiedene Modelle aufstellen:

  • Einfache Worte: Während der Gesamtbestand einer Sprache zwar 200 bis 300 Tausend Worte beträgt, umfasst der aktive Wortschatz einer Person meist nur ein paar Tausend Worte. Die Wahrscheinlichkeit für einen zufälligen Treffer liegt also besser als z.B. bei PINs.
  • Ein noch einfacheres Modell geht davon aus, dass bekannte Namen oder Datumswerte verwendet werden. Stehen diese zur Verfügung, dann ist die Auswahl noch wesentlich kleiner: 
    • Namen von Haustieren oder nahen Verwandten (weniger als ein Dutzend)
    • deren Geburtsdatum oder gar das eigene (ein paar Dutzend Möglichkeiten, inklusive verschiedener Datumsformate)
  • Benutzer, die bestimmte Passwort-Policies erfüllen müssen, kann man ebenfalls modellieren:
    • Sie wählen meist ein einfaches Wort wie im ersten Fall und hängen Zahlen oder Sonderzeichen davor oder dahinter. Das vergrößert zwar den Wertebereich, allerdings werden Zahlen einfach hochgezählt, so dass niedrige Werte dominieren. 
  • Seit der Einführung für Unicode in den 90ern und deren Unterstützung auf modernen Rechnern sind die Möglichkeiten selbst bei wenigen Buchstaben schon astronomisch: 
    • jedes Unicode-Zeichen kann aus einer Menge von mehr als 200.000 (entsprechend 18 Bit s.u.) ausgewählt sein
  • Allerdings sind selbst die professionellsten Passwort-Benutzer meist stark eingeschränkt. Das beginnt damit, dass die Unterstützung sich oft nur auf die Wiedergabe beschränkt. Die Eingabe von beliebigen Unicode-Zeichen ist weiterhin schwierig. Außerdem unterstützen verschiedene Programme (z.B. EMail) Unicode oft nur eingeschränkt, so dass man sich besser auf die Schnittmenge beschränkt, von der man ausgehen kann, dass alle Geräte und Programme sie unterstützen. Das endet in der Regel bei Folgendem:
    • 27 kleine lateinische Buchstaben
    • 27 große lateinische Buchstaben
    • Ziffern von 0 bis 9
    • Einige sichere Sonderzeichen: !@#$%^&*()-_+=. 
    • Umlaute sind bereits problematisch, wie das Beispiel von Apple IPhone zeigt, das diese in WLAN Passworten nicht unterstützt.

Ein zufälliges Passwort aus Zahlen, großen und kleinen Buchstaben hat an jeder Position die Auswahl aus 10 Zahlen und je 27 Groß- oder Kleinbuchstaben, zusammen also 64 Möglichkeiten. Dies lässt sich gut als sogenannte Entropie mit 6 Bits ausdrücken, denn 2^6 = 2*2*2*2*2*2 = 64.

Für jede weitere Stelle multiplizieren sich die Möglichkeiten wieder mit 64, bei 2 Stellen hat man also schon 64*64 = 4096 Alternativen, die Zahlen werden also schnell groß. Die Bits stellen dasselbe in einem logarithmischen Maßstab mit relativ kleinen Zahlen dar, was besser handhabbar ist. Statt zu multiplizieren muss man die Bits auch nur addieren. So ergibt sich die Entropie von 2 Stellen zu 2*6 = 12 Bits.

Ein Hacker wird versuchen, möglichst viele Modelle effizient abzudecken, wobei er mit den einfachsten meist schon gute Erfolge erzielen kann. Dazu stehen ihm viele Statistiken und Werkzeuge zur Verfügung. Allerdings muss dieses Arsenal mit jedem neuen Verhaltensmodell oder technischen Neuerungen (z.B. Passphrasen) aktualisiert werden.

Um eine Mindest-Entropie von 40 Bit für Online-Passworte zu erreichen, sollte man also mindestens 7 Stellen verwenden.

Beispiele für wirklich zufällige Passworte

Die nachfolgenden Passworte sind durch einen kryptographischen Generator für Zufallszahlen generiert worden. Das bedeutet, dass keine Korrelation besteht, weder zwischen den einzeln Teilen, noch zwischen aufeinanderfolgend abgerufenen Passworten:

16 Kleinbuchstaben und Zahlen mit 80 Bit Entropie 

16 Buchstaben und Zahlen mit 96 Bit Entropie 

Sie können diese Worte oder beliebige Teile davon als Passwort verwenden. Keines wird gespeichert oder kann mit Ihnen in Verbindung gebracht werden, sofern Sie eine sichere https-Verbindung mit unserem Server aufgebaut haben.

Noch sicherer ist es allerdings, wenn Sie diese Passworte nur auf ihrem eigenen Rechner erzeugen, z.B. mit Hilfe von KeePass oder SpocText.

Verschlüsselung von Dateien und EMails

Bei einer verschlüsselten Nachricht oder Datei sieht die Sache ganz anders aus: Wird diese erbeutet, hat ein Hacker alle Zeit der Welt, und oft viele Computer, um sie zu knacken. Deshalb ist hier eine viel höhere Anzahl von Möglichkeiten notwendig. Die sicherste Variante besteht weiterhin darin, die Datei nicht online zu speichern. Angesichts der vielfältigen Angriffsmöglichkeiten ist die effektive Sicherheit der Daten fast ausschließlich durch ihre Verschlüsselung gegeben. Dieser Sicherheit wiederum ist ist nur das Minimum der eingesetzten Schlüsselgröße (in der Regel 128 oder 256 Bit) und der Entropie des Passworts, die mindestens 80 Bit betragen sollte.