Das sichere Passwort: Grundlagen

Teil 1: Grundlagen
Warum Passwörter?
Wie werden Passwörter verarbeitet?
Angriffe auf Passwörter

Teil 2: Regeln und Mythen
Regeln für sichere Passwörter
Passwort-Mythen

Teil 3: Strategien
Passwort-Strategien
Zufällige Passwörter durch Würfeln
Strategie I: Der Passwort-Tresor
Das dreigeteilte Passwort
Strategie II: Das Passwort-Schema
Strategie III: Der Passwort-Zettel
Strategie IV: Das Passwort aus einem Hash
Resümee

Warum Passwörter?

Mal ganz ehrlich: Passwörter sind scheiße! Sie sollen gut zu merken und gleichzeitig schwer zu raten sein. Man braucht sie gefühlt für hunderte Anwendungen und sie sollen trotzdem einmalig sein. Und von Zeit zu Zeit ändern soll man sie auch. Sie sind für jemanden der viel im Internet unterwegs ist kaum zu handhaben.

Es gibt zumindest einige Versuche das Problem dadurch zu entschärfen, dass man von unterschiedlichster Seite ein Passwort für viele Web-Seiten anbietet, sogenanntes Single-Sign-On. Beispiele dafür sind Mozilla Persona (Wikipedia) oder OpenID (Wikipedia). Vergleichbare Dienste gibt es auch von Microsoft, Facebook und Google, die damit natürlich kommerzielle Ziele verfolgen. Wirklich durchgesetzt hat sich bisher keines.

Warum also Passwörter? Passwörter sind im Internet so allgegenwärtig, dass einem diese Frage erst mal seltsam vorkommt. Passwörter dienen zur Authentifizierung, also zum Nachweis, dass ein Anwender auch der ist für den er sich ausgibt. Darauf erhält der Anwender Zugriff auf Funktionen und Daten, die ihm gehören oder für ihn bestimmt sind.
Aber muss das zwingend mit Passwörtern geschehen? Nein. Abseits des Internets (aber auch im Internet) gibt es unterschiedliche Faktoren sich zu Authentifizieren:

  • Ich besitze etwas (etwa einen Schlüssel zu einem Schloss, ein Token oder eine Chipkarte).
  • Ich weiß etwas (eben ein Passwort oder die Antwort auf eine Sicherheitsfrage).
  • Ich habe ein eindeutiges Merkmal (biometrische Verfahren die etwa auf Fingerabdruck, Gesichtsform oder Iris beruhen).

Immer mehr Anbieter setzen freiwillig oder zwingend auf zwei-Faktor-Authtifizierung bei der der Anwender sich über zwei der drei möglichen Faktoren authentifiziert, beispielsweise etwas wissen muss (etwa ein Kennwort) und etwas besitzen muss (etwa ein Handy mit einer bestimmten Nummer). Oder aber der zweite Faktor wird verwendet, um etwa ein vergessenes Passwort zurückzusetzen.

Gerade bei der Zwei-Faktor-Authentifizierung tut sich sehr viel. Mit der FIDO Alliance haben sich zahlreiche wirklich große Namen zusammengefunden um diesen Weg der Authentifizierung zu standardisieren.
Es gibt auch immer wieder Projekte die versuchen einen neuen Weg der Authentifizierung ohne Passwörter zu finden (etwa dieses DARPA Projekt). Aber bis jetzt hat sich noch keine wirkliche Alternative abgezeichnet.

Wie werden Passwörter verarbeitet?

Ich würde jetzt am liebsten schreiben: Wenn Sie die technischen Hintergründe nicht interessieren, dann können Sie jetzt direkt im Kapitel „Regeln für sichere Passwörter“ weiter lesen. Aber leider muss man verstanden haben wie Kriminelle Passwörter etwa mit Wörterbüchern angreifen und wie dann diese Wörterbücher aufgebaut sind. Also klüger wäre es nicht den technischen Teil zu überspringen. Ich versuche es auch allgemein verständlich zu erklären, versprochen!

Aus der Struktur des Internets heraus ergibt sich eigentlich immer der gleiche Prozess, wie Passwörter verarbeitet und gespeichert werden (sollten). Vereinfacht sind daran vier unterschiedliche Rechnertypen beteiligt: der Computer des Nutzers, der über den Router angewählte Server des Internet-Anbieters, weitere Server im Internet, die den Datenverkehr einfach nur durchleiten und die Web-Server des Web-Seiten-Anbieters.

PW_Verarbeitung1

1. Der Nutzer gibt in seinem Web-Browser die Internet-Adresse (URL) der zu besuchenden Web-Seite ein. Die Anfrage wird über Internet-Anbieter, diverse Internet-Server zum Web-Server des Web-Seiten-Betreibers geschickt. Der Baut die Verbindung auf und liefert die Seite mit den Eingabefeldern für. Hier entscheidet sich schon mit welchem Protokoll der Anbieter die Verbindung aufbaut, mit HTTP (unverschlüsselt) oder mit HTTPS (verschlüsselt).

Mit dem Symbol in der Kopfzeile des Firefox wird angezeigt, ob es sich um eine sichere Verbindung handelt und man unbesorgt sein Passwort eingeben kann. Durch einen Klick auf das Symbol erfahren Sie mehr über die Art der Verbindung und den Server des Anbieters.

PW_SichereVerbindung

  • Grünes Vorhängeschloss plus der Name des Anbieters: Die Verbindung ist verschlüsselt über HTTPS und die Internet-Adresse ist mit einem sehr sicheren Zertifikat abgesichert.
  • Graues Vorhängeschloss: Die Verbindung ist verschlüsselt über HTTPS und die Internet-Adresse ist mit einem Zertifikat abgesichert.
  • Graues oder orangenes Warndreieck: Die Verbindung ist nicht komplett verschlüsselt und die Seite stellt kein Zertifikat bereit, um ihre Identität sicher zu stellen.
  • Grauer Globus: Die Verbindung ist komplett unverschlüsselt über HTTP und die Seite stellt kein Zertifikat bereit, um ihre Identität sicher zu stellen.

Sie sollten vertrauliche Passwörter oder andere vertrauliche Daten nur in Web-Seiten eintragen die zumindest ein Vorhängeschloss als Symbol haben, ein grünes Vorhängeschloss wäre natürlich besser. Das gilt im ganz Besonderen für Web-Seiten die sie aus einer Mail heraus geöffnet haben. In diesem Fall sollten so wie so alle Alarmglocken läuten: Phishing-Alarm! .Dazu später mehr.

2. Der Nutzer trägt in die angezeigte Web-Seite seine Anmeldeinformation inklusive Passwort ein. Wie gesagt, achten Sie auf das Symbol des Vorhängeschlosses!

3a. Wurde die Verbindung durch die Web-Seite des Anbieters mit HTTP (unverschlüsselt) aufgebaut, so geht jetzt das Passwort unverschlüsselt auf die Reise durch das Internet bis es schließlich beim Web-Server ankommt. Jeder dazwischen kann es problemlos abgreifen.

3b. Wurde die Verbindung allerdings mit HTTPS (verschlüsselt) aufgebaut, so sollte das Passwort sicher beim Web-Server ankommen.

PW_Verarbeitung2

Der Benutzername und das Passwort sind beim Web-Server des Anbieters angekommen und müssen überprüft werden ob sie richtig sind und zu einander passen. Jetzt kommt es drauf an, wie der Anbieter der Web-Seite die originalen Passwörter in seiner Datenbank gespeichert hat.

4a) Der Anbieter hat die Passwörter als Klartext komplett ungeschützt in der Datenbank gespeichert. Damit hat jeder der Zugriff auf die Datenbank hat auch Zugriff auf alle Passwörter. Die sollten eigentlich so ungeschützt nie gespeichert werden und ich bin versucht zu sagen, das macht auch kein Profi so. Wenn da nicht immer wieder diese Vorfälle wären, wo man sich nur die Augen reiben kann: es sieht so aus, als habe der Internet-Riese Yahoo die Passwörter seiner Nutzer komplett ungeschützt in seine Datenbank geschrieben (WinFuture).

4b) Um zu verhindern, dass jeder der Zugriff auf die Datenbank hat auch gleich alle Passwörter kennt, sollten diese zumindest mittels einer Hash-Funktion in der Datenbank „verschlüsselt“ stehen. Das eingegeben Passwort wird also vom Web-Server auch in den Hash-Wert umgewandelt und mit dem Hash-Wert in der Datenbank verglichen.
Wenn alle Menschen sich originelle und unterschiedliche Passwörter ausdenken würden, dann wären wir jetzt sicher. Das tun sie aber nicht. Darum ergeben sich immer noch Angriffsmöglichkeiten; dazu gleich mehr …

4c) Um die unter 4b) angedeuteten Angriffen auszuschließen werden die gespeicherten Passwörter noch gesalzen und gepfeffert bevor der Hash gebildet wird (kein Scherz: Wikipedia). Salzen bedeutet, dass man dem Kennwort einen zufälligen Wert anhängt bevor man es hasht. Das Salz wird mit in der Datenbank ablegt. Dadurch erhalten auch identische Passwörter unterschiedliche Hash-Werte. Beim Pfeffern wird das Passwort zusätzlich durch einen für alle Passwörter gleichen Wert verlängert. Dieser wird nicht in der Datenbank abgelegt, sondern im Programmcode (oder einer anderen möglichst sicheren Stelle), so dass Angreifer die nur Zugriff auf die Datenbank haben ihn nicht kennen können.

In den Beispielen in der Abbildung oben wurde der Einfachheit halber MD5 als Hash-Funktion verwendet. Wer die Ergebnisse nachvollziehen möchte kann einen der im Internet verfügbaren Hash-Kalkulatoren verwenden (etwa den hier).
In der Tat ist MD5 aber kein gutes Verfahren, um Passwörter zu hashen, da die Berechnung zu schnell möglich ist und man daher auch in kurzer Zeit viele Werte ausprobieren kann. Mittlerweile werden (hoffentlich) komplexere Hash-Funktionen eingesetzt, die speziell zum Hashen von Passwörtern entwickelt wurden, wie etwa bcrypt oder scrypt.

Angriffe auf Passwörter

Nachdem wir nun wissen wie Passwörter im Internet verarbeitet werden, können wir uns nun überlegen, wie man sie in den oben aufgeführten Schritten an- und abgreifen kann.

In Schrit 1) Schon im ersten Schritt ist Vorsicht geboten. Phishing ist eine sehr gängiger Angriff auf Passwörter im Speziellen, oder gar auf persönliche Daten im Allgemeinen. Die Ähnlichkeit zum Wort Fischen ist kein Zufall: es geht dabei um das Angeln nach Daten mit einem Köder. Der Nutzer wird mit einer gefälschten Mail die zu einem möglichst schnellen (unüberlegtem) Handeln aufruft gebeten auf den Link zu einer gefälschten Web-Seite zu klicken. Dort soll er dann Passwörter oder andere sensitive Daten eingeben. Der Nutzer befindet sich in dem Glauben sich auf einer vertrauenswürdigen Seite zu befinden. Es gibt so gar Phishing Attacken bei denen sich jemand übers Telefon als Bankberater ausgibt und so versucht an die Daten zu kommen (aber darum geht es hier nicht).
Gegenmaßnahme: Klicken Sie niemals Links aus Emails an, die Sie unaufgefordert zu geschickt bekommen haben, auch von Bekannten, und wenn sie noch so echt aussehen und der beschrieben Grund noch so bedrohlich klingt (gerade dann nicht).

In Schritt 2) Man glaubt gar nicht wie oft Passwörter (oder Sicherheitscodes) durch Leichtsinn der Nutzer erbeutet werden. Einfach durch über die Schulter schauen beim Eintippen oder durch die berühmte Haftnotiz mit dem Passwort am Bildschirm. In der gleichen Klasse fallen Passwörter, die man mit etwas Hintergrundwissen zum Nutzer erraten kann: Geburtstag der Frau, Mädchenname der Mutter oder Lieblingsfarbe, um nur einige zu nennen.
Gegenmaßnahme: Ganz einfach. Nicht Leichtsinnig sein und schwer zu ratende Passwörter verwenden (dazu später mehr).

In Schritt 3a) Wie oben schon angedeutet ist das nächste Angriffsszenario ein Man-in-the-Middle-Angriff. Dabei versucht der Angreifer Kontrolle über einen der durchleitenden Rechner zu erlangen und dort das Passwort abzufangen. So etwas sollte etwa für Geheimdienste ein Leichtes sein.
Gegenmaßnahme: Vertrauen Sie nur verschlüsselten Verbindungen, die in Firefox mit einem Vorhängeschloss gekennzeichnet sind.

In Schritt 4a) Ab hier wird es kniffelig, weil es außerhalb der Kontrolle des Nutzers ist, ob der Betreiber etwas zum Schutz der Passwörter tut. Ein Angreifer hat Zugang zur Datenbank des Web-Seiten Betreibers. Dabei ist es unerheblich, ob das ein Insider ist oder ein Hacker, der an die Datenbank gekommen ist. Da der Web-Seiten Betreiber die Passwörter nicht geschützt hat (Danke Yahoo), hat ein Angreifer jetzt das Passwort (oder eben ganz viele Passwörter).
Gegenmaßnahme: Verwenden Sie für verschieden Dienste auch verschiedene Passwörter, damit wen eines erbeutet ist die Angreifer nicht an alle Ihre Nutzerkonten bei verschiedenen Diensten kommen (wo Sie das gleiche Passwort verwendet haben).

In Schitt 4b) Jetzt muss der Angreifer sich schon anstrengen, um an das Passwort zu kommen. Gehashte Passwörter wurden früher über Brute-Force-Angriffe attackiert, unintelligentes aber systematisches Ausprobieren aller möglichen Passwörter und die Berechnung ihre Hash-Werts. Der Rechenaufwand für diesen Angriff wächst mit jedem zusätzlichen Zeichen im Passwort extrem.
Deswegen wurde von Hackern dazu übergegangen sogenannte Wörterbuch-Angriffe durchzuführen, also nur die Passwörter auszuprobieren, die in einem Wörterbuch stehen (und deren Kombinationen), also außer „love“ und „you“ noch „love you“. Neben normalen Worten stehen in solchen Wörterbüchern auch übliche Varianten der Wörter (etwa Buchstaben durch übliche andere Zeichen zu ersetzen): etwa „loveyou“, „LoveYou“, „Love You“ aber auch „10vey0u“. Mittlerweile verfügen Angreifer über raffinierte Software zum erstellen solcher Wörterbücher. Leider sind viele Menschen äußerst unkreativ beim Erfinden Ihrer Passwörter und lassen sich so tolle Sachen wie „123456“ oder „Passwort1“ einfallen (Welt). Also trägt man noch diese schwachen Passwörter mit in das Wörterbuch ein.
Und da die normalerweise verwendeten Hash-Funktionen standardisiert sind kann man die Hash-Werte der Passwörter gleich noch ausrechnen und mit ins Wörterbuch schreiben, sogenannte Rainbow Tables. Dann muss man in der Passwort-Datenbank nur noch nach den schon mal ausgerechneten Hash-Werten suchen. Das geht dann Pfeil schnell.
Und natürlich, wenn schon Firmen wie Yahoo Passwörter ungeschützt in Datenbanken schreiben finden sich auch welche, die die Hash-Werte nicht Pfeffern und Salzen; danke LinkedIn.
Gegenmaßnahme: Seien Sie kreativ bei der Verwendung Ihrer Passwörter und verwenden Sie nichts was in einem Wörterbuch stehen könnte.

Über einen Spezialfall möchte ich hier noch reden: Der verwendete Rechner ist nicht unter der Kontrolle des Nutzers (etwa ein PC in einem Internet-Cafe). Kriminelle setzen hier oft sogenannte Keylogger ein. Das sind kleine Geräte oder eine Software auf dem PC, die einfach mitprotokollieren, was der Benutzer gerade so alles eintippt und tut. Findet der Kriminelle in dem Buchstabensalat dann Eingaben wie „… http://www.gmx.dehassi89@gmx.de10vey0u …“ dann ist ihm klar, was er da erbeutet hat.
In diesem Artikel werden verschiedene einfache Strategien beschrieben mit denen man sich gegen einfache Keylogger schützen kann. Aber gegen gut entwickelte Keylogger ist kein Kraut gewachsen.

Sollten Sie öfter an fremden Rechnern arbeiten müssen, dann empfehle ich Ihnen auf einem USB-Stick einen portablen Firefox mit den im Artikel „Sicherer im Internet surfen“ beschrieben Add-Ons zu installieren. Zusätzlich gibt es noch das Add-on Keylogger Beater. Ganz wichtig ist auch den USB-Stick immer wieder neu zu formatieren und bei Null neu aufzusetzen (vielleicht einen Master-Stick erstellen, den man nie mit nimmt und von dem eine Kopie anfertigen mit der man arbeitet).
Aber trotzdem gilt nach wie vor: gegen gut entwickelte Keylogger ist kein Kraut gewachsen.

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s