Logo

Sistance.de!
Passwort-Tutorial


this site in english

Startseite

Allgemeines
Passwort-Tutorial
Links
Über mich

Für Spiele-Entwickler
Stammtisch






Valid HTML 4.01 Transitional

Wie lautet Dein Passwort?

Wie erstellt man ein sicheres Passwort und durch welche Schwachstellen kann es gefährdet sein? Wenn Dich die für Laien verständlichen Antworten interessieren, bist Du hier genau richtig.

Internet-Tauschbörsen, E-Mail-Postfächer und Foren; alle haben etwas gemeinsam: einen passwortgeschützten Benutzerzugang. Mit diesem Benutzerzugang gibt sich ein Anwender als eine bestimmte Person mit ganz speziellen Rechten zu erkennen. Man darf rechtswirksam bei Versteigerungen mitbieten, man kann private Post lesen, man kann Artikel verfassen.
Damit andere Personen diesen Account nicht missbrauchen können, wird er durch ein Passwort geschützt. Doch Passwort ist nicht gleich Passwort und was dem einen sicher erscheint, behindert einen anderen keine fünf Minuten. Mit dem folgenden Artikel möchte ich einige Tipps geben, wie man ein sicheres, aber dennoch leicht zu merkendes Passwort auswählen kann. Außerdem gebe ich ein paar Einblicke in Sicherungsmaßnahmen und mögliche Schwachstellen, wobei ich hier nicht mit allzu technischen Details aufwarten möchte.

Otto Normalanwender und seine Passwörter

Anwender, die das Internet als Gebrauchsgegenstand nutzen und sich nicht für Technik interessieren, nutzen oft Informationen als Passwort, die direkt mit ihnen in Zusammenhang stehen. Beliebte Beispiele sind der Name eines Verwandten, der Name eines Haustiers, die Beschriftung des Monitors oder der Herstellername des aktuellen Werbe-Wandkalenders. Vermeintlich schlaue Zeitgenossen verwenden Kombinationen von Geburtsdaten, zum Beispiel "Tag des Opas" + "Monat der Ehefrau" + "Jahr des Kindes".

Das Problem an diesen Passwörtern ist, dass sie einfach zu erraten sind. Sie zu verwenden ist genauso sicher, wie das nagelneue Fahrrad mit einem Bindfaden an einer Laterne anzubinden.
Im Film "Das Kartell" spielt Harrison Ford einen CIA-Mitarbeiter, der einen Computerspezialisten dazu auffordert, das Passwort des Bösewichts herauszufinden. Nach den ersten vier Versuchen ("nehmen wir den Geburtstag des Kindes rückwärts, kombiniert mit ...") wendet sich der Protagonist vom Terminal ab, in der Annahme, dass das noch länger dauern könne. Er will einen Kaffee holen und flüstert seinem Kollegen zu, dass er dringend sein Passwort ändern müsse, kommt aber nicht einmal bis zur Bürotür, als der Passwortknacker auch schon das vermeintlich sichere Passwort erraten hat.

Obwohl diese Szene mit Sicherheit etwas übertrieben ist, ist es etwas mit Hilfe des Computers recht einfach, Passwörter zu erraten.
Es gibt nämlich Programme, die gigantische Listen potenzieller Passwörter automatisiert für einen Angreifer überprüfen können. Sie verwenden dabei
  • Wörterbücher verschiedenster Sprachen, z.B. deutsch, englisch, spanisch, französisch, latein und vermutlich sogar klingonisch ;)
  • Listen von Vor- und Nachnamen verschiedenster Herkunftsbereiche
  • Buchstabenkombinationen (qwertz, qwerty, fred, asdfgh, ...)
  • Fantasybegriffe, Begriffe aus Wissenschaft und Technik
  • l33t - Wörter
und viele weitere, um ein Vergleichswörterbuch zu erstellen und Kombinationen mit anderen Wörtern, Zahlen, Geburtsdaten und Satzzeichen zu erstellen (Terror!!! / MüllerOtto / hallo123 / iamgod, ...) und zu testen.

Die Administratoren einiger Server prüfen in regelmäßigen Abständen die Passwörter aller Benutzer mit Hilfe solcher Programme, um die Anwender auf das unsichere Passwort hinweisen zu können. (Ob das legal ist, sei einmal dahingestellt.)

Trotz der sehr effektiven Vorgehensweise von Passwortsuchprogrammen decken sie aber nur einen Bruchteil der möglichen Kombinationen ab, die mit den verfügbaren Zeichen möglich sind. Doch wie kann man eine kryptische Zeichenfolge finden, die man sich merken, die ein solches Programm aber nur sehr schwer erraten kann?

Möglichkeit 1 - Sätze

Die bekannteste Möglichkeit, um an kryptische Zeichenfolgen zu kommen, sind Sätze. Sätze haben den Vorteil, dass man sie sich leicht merken kann. Nimmt man die Anfangsbuchstaben der einzelnen Worte sowie die vorhandenen Satzzeichen, um ein Passwort zu erstellen, hat man meist eine kryptische Kombination aus großen und kleinen Buchstaben sowie aus Ziffern und Satzzeichen.

Beispiel:
Der Satz "Mein Hut der hat 3 Ecken." ergäbe das Passwort "MHdh3E."

Das System ist aber nicht narrensicher. So wurde bei einer Prüfung der Passwortliste eines Servers festgestellt, dass nicht wenige Anwender alle den gleichen Satz verwendeten. Ähnlich wie bei "Nennen Sie mir einen/eine/ein <Werkzeug|Farbe|tropische Frucht, ...>"-Fragen, bei denen viele Befragte die gleiche oder eine von zwei populären Antworten geben, scheinen auch bestimmte Sätze sehr häufig verwendet zu werden.
Bei dem Satz "Ich bin schon 30 Jahre alt." ("Ibs30Ja.") scheinen sich die Personen wegen der variablen Zahl sicher zu fühlen. Doch pro Kombination (mit oder ohne Satzzeichen, alles klein oder alles groß geschrieben, ...) gibt es gerade einmal 100 Kombinationen. Und wenn die Nutzer solcher Passwörter ehrlich oder dumm genug sind, ihr echtes Alter zu verwenden, ist es für einen Bekannten relativ einfach, die Menge der Möglichkeiten einzugrenzen und notfalls sogar von Hand zu testen.

Möglichkeit 2 - Buchstaben aus zusammengesetzten Wörtern

Wörter, wie "Binnenschifffahrt" sind aus einzelnen anderen Wörtern zusammengesetzt. Für sich genommen gibt das Wort einen Sinn und ist leicht zu merken, dient aber nicht direkt als Passwort. Nimmt man nun einen oder mehrere Anfangsbuchstaben der einzelnen Wörter, z.B. BiScFa oder BinSchFah, dann hat man ein Passwort, das je nach gewähltem Ausgangswort kryptisch genug ist, um nicht sofort erraten werden zu können und auch nicht in den Listen häufig verwendeter Passwörter zu landen.
Der Nachteil dieser Möglichkeit ist, dass man hierbei meist nur Buchstabenfolgen zur Passworterstellung verwendet, zum Beispiel Ziffern oder Satz- und Sonderzeichen. Man schränkt in dieser Möglichkeit also den Zeichensatz künstlich ein. Je größer der Pool verwendbarer Zeichen ist, desto mehr Kombinationsmöglichkeiten gibt es aber und desto länger würde ein "brute force"-Angriff dauern.

Zusammenfassung

Jedes System hat Vor- und Nachteile. Beherzigt man die Ratschläge, sollte das gewählte Passwort aus kryptologischer Sicht aber sicher sein. "Sicher" bedeutet in diesem Zusammenhang, dass es nicht oder nur sehr schwer zu erraten oder bestenfalls sogar nur durch brute force (man testet jede einzelne Kombination durch) zu knacken ist.

Ein Passwort für alles oder pro Account ein eigenes?

Es gibt Argumente für und gegen ein einheitliches Passwort. Die Entscheidung, welche Argumente schwerer wiegen, muss jeder für sich selbst entscheiden.

Pro

Je weniger unterschiedliche Passwörter man verwendet, desto weniger muss man sich auch merken. Mit "Merken" sind sowohl die Passwörter selbst gemeint, als auch die Zuordnung zu dem Account, bei dem sie verwendet werden. Das führt normalerweise dazu, dass man sich keine eigene Passwortliste erstellen muss, in der die Passwörter und die Zuordnungen stehen.

Kontra

Verwendet man für verschiedene Accounts unterschiedliche Passwörter, dann kann ein Angreifer, der das Passwort eines Accounts herausfindet, nicht automatisch auch auf alle anderen Accounts zugreifen.
Je nach Server und Anwendung bestehen unterschiedliche Mindest- und Höchstanforderungen an Passwörter. Ein Passwort, das für jeden Account verwendbar ist, wäre sehr eingeschränkt, beispielsweise, was die Anzahl der Stellen oder die verfügbaren Zeichen betrifft.
Selbst wenn man ein Passwort findet, das einigermaßen sicher und auf allen Accounts verwendbar ist, so kann es immer noch zu Problemen kommen, wenn man ein Passwort ändern will, denn je nach System werden unterschiedliche Vermeidungsstrategien eingesetzt.

Beispiel:
System 1 möchte, dass sich das aktuelle Passwort vom vorhergehenden Passwort in mindestens X Zeichen unterscheidet (was normalerweise verhindern soll, dass einfach eine Zahl im Passwort hochgezählt wird), während System2 "nur" fordert, dass sich das Passwort von den letzten Y verwendeten Passwörtern unterscheidet (womit man verhindern will, dass der Anwender einen kleinen, möglicherweise bekannten, Pool von Standardpasswörtern verwendet).

Fazit

Als Handlungsanweisung bleibt jetzt nur noch der Hinweis: Kein noch so sicher gewähltes Passwort ist sicher, wenn man es auf einen Zettel schreibt und an den Monitor klebt. Wie bei der Geheimzahl der EC-Karte sollte man das Passwort im Kopf haben und es nicht aufschreiben - zumindest nicht so, dass es anderen Personen frei zugänglich ist.

Schwachstellen

Die bisherigen Kapitel geben mehr oder weniger genaue Richtlinien wieder, was man bei der Wahl des Passworts beachten soll und wo verborgene Fallen auf den Anwender warten. Mit dem dort vermittelten Wissen sollte es möglich sein, ein sicheres Passwort zu wählen.
Die folgenden Kapitel beschäftigen sich mit den virtuellen Klippen jenseits der Passwortwahl, die man zu umschiffen versucht. Da ein Anwender aber in den seltensten Fällen Einfluss darauf hat, dient der Rest des Artikels lediglich dazu, einen Blick auf die umliegenden Schlachtfelder zu gewähren.

Auch ein aus kryptologischer Sicht sicheres Passwort ist keine Garantie dafür, dass der damit geschützte Account unangreifbar ist. Schwachstellen sind
  • der Anwender, wenn er das Passwort weitergibt, z.B. durch den schon genannten Zettel (am Monitor), wenn der Anwender seine Passwörter unverschlüsselt z.B. in einer Textdatei auf dem eigenen Rechner speichert, wenn er sein Passwort laut vorliest/den Satz bei der Passworteingabe aufsagt oder wenn er sich über die Schulter schauen lässt.
  • der Kommunikationskanal zwischen dem Anwender und dem Server, vor allem dann, wenn der Übertragungsweg oder das verwendete Protokoll unverschlüsselt sind.
  • der Server, wenn er die Passwörter nicht verschlüsselt oder wenn die (verschlüsselte) Passwortliste allzu freizügig zugänglich ist.

Schwachstelle Anwender

DAU steht für "dümmster anzunehmender User" und bezeichnet eine Person, die alle nur erdenklichen Fehler im Umgang mit Computern macht. Damit ein DAU einen Fehler vermeidet, ist Aufklärung wichtig. Ihm eine Sache so zu erklären, dass er das Problem auch erkennt und die angebotene Lösung versteht, akzeptiert und einsetzt, ist die einzige Möglichkeit, ihm sinnvoll zu helfen und aus seinem DAU-Dasein zu befreien. Vergleiche mit real existierenden Objekten ist hierbei eine gute Hilfe.

Schwachstelle Übertragungsweg

Je nach verwendetem Protokoll werden Daten, auch Passwörter, unverschlüsselt übertragen und können von einem Angreifer mitgelesen werden. Unverschlüsselte Übertragungsprotokolle sind meist schneller als ihre verschlüsselten Kollegen, da die Verschlüsselung der Daten den Datenstrom unter Umständen vergrößert und die Rechner der beiden Kommunikationspartner einen Mehraufwand für die Ver- und Entschlüsselung haben.
Im Umkehrschluss sind alle Daten bei unverschlüsselten Protokollen von jedem dazwischen geschalteten Rechner und allen Rechnern in den direkten Subnetzen mitlesbar. Vergleichbar ist dieses Verhalten mit jemandem, der sein Passwort quer durch das Großraumbüro brüllt oder den Schlüssel seines Autos (mitsamt Aufenthaltsort des Gefährts) auf eine Postkarte klebt und um die halbe Welt schickt.

Zwei bekannte Beispiele für verschlüsselte und unverschlüsselte Protokollpaare sind http und https sowie telnet und ssh. Bei den meisten kritischen Anwendungen werden immer die verschlüsselten Protokolle verwendet, jedoch gibt es auch Anwendungen, die aus den verschiedensten Gründen nur unverschlüsselte Kommunikation unterstützen. Sofern man auf diese Anwendungen nicht verzichten und die Kommunikation nicht anderweitig verschlüsseln kann, z.B. indem man die Kommunikation durch den gefährdeten Bereich tunnelt, sollte man bei den unsicheren Accounts immer andere Passwörter verwenden, als bei den sicheren, meist wichtigeren Accounts. Verliert man aufgrund eines Abhörerfolgs das Passwort des unsicheren, unwichtigen Accounts (zum Beispiel für ein Forum), so kann der Angreifer den sicheren, wichtigen Account (zum Beispiel zur Administration eines Firmenrechners) noch lange nicht mitbenutzen.

Schwachstelle Server

Damit der Server das eingegebene Passwort überprüfen kann, muss er das richtige Passwort natürlich irgendwo gespeichert haben. Hierzu verwendet er üblicherweise eine Datei (oder eine Datenbank), die er mehr oder weniger gut vor unberechtigtem Zugriff schützt. Hier gibt es zwei potenzielle Schwachstellen: Wer hat Zugriff auf die Datei und wie wird das Passwort dort abgelegt?

Egal wie sicher die Datei verwahrt ist, es gibt immer mindestens eine Person, die diese Datei lesen kann und das ist der Administrator. Da auch ein Administrator nicht unfehlbar ist und die dort vorliegende Information missbrauchen könnte, z.B. um unberechtigt das einheitliche Passwort des Anwenders auch bei anderen Accounts einzusetzen, darf das Passwort in dieser Datei niemals unverschlüsselt stehen. Was aber nützt eine Verschlüsselung des Passworts in dieser Datei, wenn der Administrator sowieso alles auf dem Rechner tun kann?

Der Trick ist folgender: Man verschlüsselt das Passwort so, dass man es nicht wieder entschlüsseln kann. Der Aufwand, alle Möglichkeiten (brute force) durchzutesten, wird im Allgemeinen als zu hoch angesehen, als dass das mit der verfügbaren Rechenleistung in sinnvoller Zeit zu bewältigen wäre.

Was aber bringt ein Passwort, wenn der Server das Passwort nicht entschlüsseln kann? Die Antwort ist kurz und einfach: Er kann damit immer noch seine Arbeit erledigen. Denn der Server kann das eingegebene Passwort auf die gleiche Weise verschlüsseln wie das abgespeicherte Passwort und kann die beiden verschlüsselten Passwörter miteinander vergleichen. Angenommen, aus "hallo123" würde durch die Verschlüsselung der Text "sdf456msa" entstehen, dann speichert der Server nicht "hallo123" sondern "sdf456msa" in der Passwortdatei. Versucht der Anwender, sich einzuloggen, dann gibt er als Passwort zu seinem Account "hallo123" ein. Der Server macht aus "hallo123" durch das bestehende Verfahren "sdf456msa" und schaut nach, ob in der Passwortliste ebenfalls "sdf456msa" steht.

Damit das Ganze für potenzielle Angreifer etwas schwieriger wird, kommt bei der gängingen Verschlüsselung auf Unix-Systemen eine weitere Komponente in das Passwortverfahren mit hinein, so dass aus dem Passwort "hallo123" nicht nur "sdf456msa" sondern auch eine Vielzahl anderer möglicher Texte entstehen kann. Der Server sollte sich natürlich merken, welche Zusatzkomponente er zur Verschlüsselung des Passworts in der Passwortdatei verwendet hat.

Dem Angreifer wird es durch diesen Zusatzschlüssel nicht unbedingt schwieriger, Passwörter durchzutesten, aber es wird wesentlich aufwändiger, eine Rückübersetzungsliste zu erstellen. Theoretisch wäre es ja möglich, alle zugelassenen Zeichenkombinationen zu verschlüsseln und als Passwort-Schlüsseltext-Paar in einer Datei abzulegen. In dieser Datei könnte man dann das Passwort zu einem Verschlüsselungstext nachsehen. Die schiere Anzahl der Möglichkeiten und der dafür notwendige Speicherplatz macht dieses Vorgehen aber praktisch unmöglich.

Das zweite Sicherheitsproblem auf dem Server besteht in der Menge der Personen, die (zumindest lesenden) Zugriff auf die Passwortdatei haben. Obwohl sie aufgrund der dort abgelegten Informationen nicht auf das Passwort schließen können, können diese Informationen bei brute-force-Attacken genutzt werden. Bei brute force-Angriffen werden alle technisch möglichen (!) oder zumindest alle leicht erratbaren Passwörter ausprobiert.
Nur bei einer der nachfolgend beschriebenen zwei Varianten muss der Server dem Angreifer die Datei zugänglich gemacht haben.

Variante 1 spielt sich direkt mit oder auf dem angegriffenen Server ab. Ohne die Passwortdatei zu besitzen, kann ein Angreifer dem Server direkt in kurzer Zeit, also so schnell, wie die Verbindung zum Server es zulässt, alle durchzutestenden Passwortkombinationen zuschicken. Als Gegenmaßnahme setzt der Server normalerweise die Zeitspanne, die nach einem missglückten bis zum nächsten erlaubten Anmeldeversuch verstreichen muss, auf > 0 Sekunden. Bei restriktiven Servern wird nach mehreren (meist drei) Fehlversuchen der Account für längere Zeit gesperrt. Entweder wird eine recht lange Zeitspanne (mehrere Minuten bis Tage) festgesetzt, oder der Account bleibt sogar unbeschränkt lange gesperrt, bis ein Administrator die Sperre explizit wieder aufhebt.

Um die Wartezeiten und Zeitsperren des Servers zu umgehen, und um den Server bzw. den Anwender nicht zu warnen, kommt Variante 2 zum Einsatz. Hierbei ist es jedoch notwendig, die Passwortdatei des Servers zu bekommen. Man bildet das Anmeldeverfahren des Servers auf einem eigenen Rechner nach und setzt eben diese Sperren dort außer Betrieb. Man bindet die "geklaute" Passwortdatei in den eigenen Server ein und testet dann ohne die Restriktionen des Originalservers die gewünschten Kombinationen durch.

Variante 2 ist glücklicherweise meist nur dann erfolgreich, wenn ein Anwender ein Passwort verwendet, das von findigen Passwortknackprogrammen auch gefunden wird oder wenn wirklich viele (!!!) Rechner parallel alle technisch möglichen Kombinationen durchprobieren. Auch wenn die Wahrscheinlichkeit, das Passwort zufällig zu erraten, annähernd 0 ist, so ist es bei einem echten brute-force-Verfahren nach Monaten realistischerweise von extrem großen Rechnerverbänden erratbar. (Die Zahl aller auf einer LAN-Party stehenden Rechner mit vergleichsweise guter Rechenleistung ist dabei allenfalls als "winzig klein" zu bezeichnen.) Es ist extrem unwahrscheinlich, dass ein brute-force-Angriff auf die Passwortliste (bei einem kryptologisch sicheren Passwort) durchgeführt wird, selbst wenn der Account halbwegs wichtig ist. Es ist eher anzunehmen, dass potenzielle Angreifer Systemschwächen oder Spionagetools (z.B. Keylogger) verwenden, um den Account zu kapern oder das Passwort zu ermitteln.

Fazit

Trotz erheblicher Sicherheitsrisiken verwenden viele Anwender leicht zu erratende Passwörter. Die in diesem Artikel gezeigten Beispiele zeigen einfache Möglichkeiten, leicht zu merkende, sichere Passwörter zu erstellen.
Ein sicheres Passwort alleine kann einen Account nicht schützen, wenn andere gravierende Sicherheitsmängel bestehen und nur selten kann der Anwender effektiv auf die Beseitigung dieser Mängel hinwirken.
Weiterführende Links
Wikipedia: Leet-Speak
Wikipedia: brute force
Wikipedia: VPN
Wikipedia: Verschlüsselung

Wikipedia: Telnet
Wikipedia: SSH
Wikipedia: http
Wikipedia: https


 Impressum