Grundlagen/Sicherheit/sichere Passwortwahl

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Informationen zum Autor

Name:
Christian Kruse
E-Mail:
Homepage:

Wer kennt das nicht: man hat sich bei einem neuen Service angemeldet oder auf dem Server steht der monatliche Passwort-Wechsel an, und es fällt und fällt einem kein Passwort ein, das den Anforderungen des Sicherheits-Konzeptes genügt: entweder, es ist zu kurz, oder es ist nicht kryptisch genug, oder es ist zu kryptisch, und man kann es sich nicht merken. Schließlich, weil man keine Lust mehr hat, sucht man sich ein beliebiges, leider meist unsicheres Passwort aus oder, noch schlimmer, verwendet dasselbe Passwort immer wieder. Am besten noch das vom Mail-Account.

Mit diesem kleinen Artikel möchte ich sowohl etwas mehr Sicherheitsbewusstsein wecken, als auch die Wahl eines sicheren Passworts durch das Verständnis, wie so ein Passwort aufgebaut ist, erleichtern. Ich will jedoch gleich vorneweg sagen: die Vergabe von sicheren Passwörtern erfordert viel Disziplin vom User selbst! Dieser Artikel kann und möchte keine Super-Methode zur Erstellung von sicheren Passwörtern vorstellen, denn wirklich sichere Passwörter gibt es nicht.

Inhaltsverzeichnis

[Bearbeiten] Warum Passwörter unsicher sein können

Warum ein Passwort unsicher (weak) sein kann, kann mehrere Gründe haben. Der einfachste z. B. wäre, dass es zu kurz ist: ein 2-Zeichen-Passwort hat (wenn man als valide Zeichen a-z, A-Z und 0-9 zugrunde legt) 62² (= 3.844) mögliche Kombinationen. Sicher, für einen Menschen ist das sehr viel auszuprobieren, aber ein Computer braucht dafür weniger als eine Sekunde.

Ein weiterer Grund ist der Aufbau eines Passworts. So ist z.B. das Passwort „111“ kein sehr sinniges Passwort. Einerseits ist es sehr leicht herauszufinden (auf die Tastatur schielen) und außerdem sind derartige Kombinationen in fast allen Passwort-Dictionaries verzeichnet, sodass eine Wörterbuch-Attacke zum Ziel führt. Eine Wörterbuch-Attacke ist eine Variante des reinen Ausprobierens, bei dem nicht jede mögliche Buchstaben-Kombination getestet wird, sondern nur eine Sammlung von Wörtern, die in einem Wörterbuch verzeichnet sind.

Auch die Passwort-Analyse bietet einen Ansatz. Die Passwort-Analyse besteht im Grunde aus der Einschätzung der menschlichen Psyche und der Annahme, der Mensch sei ein Gewohnheitstier. Z.B. wird sehr gern die eigene Telefon-Nummer oder die Konto-Nummer als Passwort benutzt. Aber es gibt auch sehr beliebte Wörter, die Top drei aus der Liste dürften wohl „Gott“, „Sex“ und „Liebe“ sein. Ebenfalls sehr beliebt sind Teile der E-Mail-Adresse und/oder Teile des Namens, der User-ID, etc. Dies sollten Sie alles vermeiden!

[Bearbeiten] Warum ein sicheres Passwort wichtig ist

Viele Leute denken sich nichts bei der Vergabe von Passwörtern. Doch dabei ist dieser Vorgang enorm wichtig. Das Verwenden von General-Passwörtern z. B. ist keine gute Idee, hat ein Angreifer erstmal das Passwort herausgefunden, kann er damit auf alle anderen Ihrer verwendeten Dienste auch nutzen. Viel Computer-Kriminalität könnte vermieden werden, wenn mehr Anwender ihren „inneren Schweinehund“ überwinden und vernünftige Passwörter vergeben würden.

Sicher werden jetzt viele sagen „Wer will schon ausgerechnet mir Böses?“ oder „Wer will schon ausgerechnet meine E-Mails lesen?“ Zunächst mal sind für einen Angreifer potentiell alle Informationen wichtig. Persönliche E-Mails können wichtige Informationen enthalten, die dem Angreifer beim Identitätsdiebstahl helfen. Aber selbst wenn der Angreifer nicht hinter Ihren persönlichen Daten her ist: wenn er erstmal Zugriff hat, kann er von Ihrem Account aus weiter agieren.

Zweifellos ist es nervig, sich z.B. alle paar Tage ein neues Passwort ausdenken zu müssen, nur weil ein Sysadmin oder Serverbeteiber das erzwingt. Aber gerade im Firmen-Umfeld hat sich erwiesen: ein Sicherheitskonzept ist immer nur so stark wie sein schwächstes Glied. Will heißen, wenn Sie ein sehr einfaches Passwort (oder vielleicht auch gar kein Passwort) verwenden, machen Sie es dem potentiellen Angreifer sehr leicht, in das Firmen-Netz einzudringen. Und das ist das eigentliche Problem: es geht in solch großen Netzwerken meist gar nicht darum, ob Ihre Privatsphäre hinreichend geschützt ist, sondern schlicht und ergreifend darum, dass das Firmen-Netzwerk geschützt ist.

[Bearbeiten] Aufbau eines (relativ) sicheren Passworts

Ein sicheres Passwort besteht am besten aus Groß- und Kleinbuchstaben, Ziffern, Umlauten und Sonderzeichen. Es sollte kein einzelnes Wort sein und mindestens acht Zeichen lang sein. Außerdem sollte man für zwei Accounts nie dasselbe Passwort benutzen!

Sicherheits-Freaks neigen dazu, sogenannte „Tastatur-Hacks“ zum Erzeugen von Passwörtern zu verwenden. Dabei handelt es sich um ein einmaliges, sinnloses und blindes Zehnfinger-Einhacken auf die Tastatur – und was dabei herauskommt, wird dann – ähnlich wie bei der Ziehung der Lottozahlen – als unumgängliches Gesetz und als das Passwort akzeptiert. Natürlich sind solche Passwörter verhältnismäßig sicher. Doch angesichts der Tatsache, dass sie beim Auswendiglernen und auch bei der Blind-oder Sterncheneingabe oftmals große Schwierigkeiten bereiten, sind sie nur scheinbar sicher. Denn wer z.B. in Anwesenheit anderer Personen ein Passwort eingeben muss, sollte das unauffällig und schnell tun können. Wer in einer solchen Situation auf das „Adlersystem“ bei der Eingabe angewiesen ist, erleichtert den Anwesenden nur das unauffällige Mitverfolgen der eingegebenen Zeichenfolge. Oder noch schlimmer – er kann sich das super sichere Passwort gar nicht merken, notiert es sich irgendwo in Outlook oder dergleichen und muss es jedesmal über die Zwischenablage in die Eingabeaufforderung für das Passwort kopieren.

Gute Passwörter sollten also einen Mittelweg zwischen nicht erratbaren Zeichenfolgen und merkbaren Zeichenfolgen darstellen.

[Bearbeiten] Wie lang sollte ein Passwort sein

Die Frage ist so leicht nicht zu beantworten. Das hängt vom Sicherheitsbereich ab. Generell kann man sagen, eine Mindestlänge von 8 Zeichen ist sinnvoll: 8 Zeichen bedeuten 2.252.292.232.139.041 Kombinationen bei der Zeichenklasse a-zA-Z1-9äöüßÄÖÜ!"§$%&/()=?` (= 83 Zeichen). Das würde bei einer Million Tastenanschläge pro Sekunde eine Maximalzeit von ca. 625.636 Stunden (2.252.292.232 Sekunden) bedeuten (über 72 Jahre). Das ist schon mal eine ganz ordentliche Zeit :-)

Bei höheren Sicherheitsbereichen (etwa Fimen-Netze oder dergleichen) würde ich auf 10 Zeichen Mindestlänge erhöhen (= 15.516.041.000.000.000.000 Kombinationen, = ca. 4.310.011.440 Stunden oder ca. 498.843 Jahre). Zur Einschätzung mal eine kleine Tabelle:

Mindestlänge maximal benötigte Zeit
(1 Million Tastaturanschläge pro Sekunde)
3 Zeichen ca. 0,5 Sekunden
5 Zeichen ca. 1 Stunde
8 Zeichen ca. 72 Jahre
10 Zeichen ca. 498.843 Jahre
12 Zeichen ca. 3.436.535.742 Jahre
15 Zeichen ca. 1.964.966.462.669.300 Jahre

Doch nun kommt die Ernüchterung. Alle diese Angaben sind sogenannte Maximalzeiten! Maximalzeit bedeutet: wenn jemand in der angegebenen Geschwindigkeit versucht, das Passwort zu knacken, und erst die allerletzte eingegebene Zeichenkombination die richtige ist, dann dauert es so lange wie angegeben. Aber theoretisch könnte ja auch schon die allererste eingegebene Zeichenkombination richtig sein. Dann hat es nur eine hunderttausendstel Sekunde gedauert, um das Passwort zu knacken – trotz 15 Zeichen. Es kann also durchaus sein, dass ein Angreifer ein Passwort innerhalb weniger Sekunden herausgefunden hat. Zufall eben. Deshalb sollte man sich bei 8 Zeichen durchaus nicht in Sicherheit wägen. Außerdem kommt es auch auf die Rechenleistung an: hier wurde mit einer Millionen Tastenanschlägen pro Sekunde gerechnet. Andere, bessere, später gebaute Rechner schaffen vielleicht das Millionenfache. Und schon heutzutage kann sich jeder mal eben 2000-3000 Rechner in der Amazon-Cloud mieten und so verteilt um ein Vielfaches schneller die Passwörter ausprobieren.

Die Anzahl der Kombinationen berechnet sich aus Zeichen-Anzahl-Länge: pro Zeichen kann das Passwort aus Zeichen-Anzahl Zeichen bestehen. Daraus ergibt sich bei einem Passwort von 3 Zeichen und einer Zeichenklasse von 62 Zeichen: 62 * 62 * 62 Kombinationen. Um die benötigte Zeit zu berechnen, dividieren Sie einfach durch die Anzahl der Tastenanschläge pro Sekunde – schon haben Sie die maximal benötigte Zeit in Sekunden.

Mit etwas Pessimismus könnte man nun sagen: „ist doch scheißegal und alles wie beim Lotto“. Doch zwischen der Maximalzeit und der theoretischen Chance, ein beliebiges Passwort mit nur wenigen Versuchen zu knacken, liegt der für potentielle Angreifer ziemlich ungemütliche „mittlere Bereich“, der in der erdrückenden Mehrheit aller Fälle relevant ist – also der Bereich zwischen z.B. mehreren Tagen und mehreren Jahren. Und damit muss ein Angreifer zwangsläufig kalkulieren, wenn seine vielleicht anfänglichen Versuche, unsichere Passwörter zu probieren, fehlgeschlagen sind.

Natürlich sollte man auch noch hinzufügen, dass viele Zugangssysteme einen einloggenden Gast nach soundsoviel Fehlversuchen aus dem System werfen. Dann muss sich dieser, wenn er es wieder versuchen will, mit einer neuen Identität, im Internet z.B. manchmal auch mit einer anderen IP-Adresse anmelden. Solche Dinge kann ein Angreifer allerdings bis zu einem gewissen Grad automatisieren.

[Bearbeiten] Tipps zur Wahl eines (relativ) sicheren Passworts

Die einfachste Methode, ein (relativ) sicheres Passwort zu erstellen, ist wohl die Generierung durch eine Maschine. Das folgende, sehr einfache Perl-Script (CGI) z. B. kann durchaus seine Wirkung tun:

Beispiel: Beispielscript zur Passwortgenerierung
#!/usr/bin/perl -w
 
use CGI qw(header param);
 
my $length = param('len') || 15; 
my @chars  = (0..9, 'A'..'Z', 'a'..'z', 'ä', 'Ä', 'ö', 'Ö', 'ü', 'Ü', 'ß', '!', '"', '§', '$', '%', '&', '/', '(', ')', '=', '?', '`', '*', '+', '#', ',', '.', ';', ':', '-', '_');
 
print header(-type => 'text/html');
 
print <<HTML;
<html>
 <head>
  <title>Passwort-Generator</title>
 </head>
 <body>
HTML
 
print $chars[rand $#chars] while $length--;
 
print <<HTML;
 
 </body>
</html>
 
HTML
 
# eof
Das Script gibt ein zufällig generiertes Passwort aus, das aus einer großen Zeichenmenge besteht. Die Zeichenfolge kann jedoch ziemlich beliebig ausfallen. Solche Passwörter haben immer noch das Problem, dass sie schwer zu merken sind. Es gibt eine (meiner Meinung nach) noch eine einfachere Methode. Sie können dieses Script testen und ein Passwort generieren lassen: http://aktuell.de.selfhtml.org/artikel/cgi-bin/gedanken/passwort/pwgen.pl

Es wurde bereits gesagt, dass ein Passwort kein erkennbares System besitzen sollte. Diese Aussage kann man allerdings relativieren: es sollte kein durch eine Maschine erkennbares Muster besitzen. Wie Ihre Assoziationen zu einem Passwort sind, ist im Grunde völlig egal. Das gibt einem unverhoffte Freiheiten: wenn Sie jetzt z. B. ein Passwort zu einem Shell-Account oder Webshop brauchen, sehen Sie sich in der Umgebung um: nehmen Sie den ersten Satz, der Ihnen zu einem Objekt in den Sinn kommt. Etwa „Ich telefoniere weder besonders gern noch besonders häufig, da ich es nicht mag mich mit anderen Leuten zu unterhalten.“ Fertig. Sie haben ein Passwort mit einer sehr hohen Entropie und sehr vielen Stellen das Sie sich außerdem leicht merken können.

Eine weitere Möglichkeit wäre auch, den Duden aufzuschlagen und zwei Wörter herauszusuchen (zwei x-beliebige) und die durch ein Satzzeichen getrennt miteinander zu verketten: „laufen:hunger“. Hier sollte allerdings eine Abstraktion durchgeführt werden, etwa das Verwenden von Groß- und Kleinbuchstaben oder Ziffern, die ähnlich aussehen wie Buchstaben: von „laufen:hunger“ zu „LAufEN:hUNgeR“ und schließlich zu „L4uf3N:hUNge4“.

Letzten Endes ist es auch relativ egal, wie Sie sich Ihr Passwort erstellen und merken. Wichtig ist nur, dass Sie nicht mehrfach dasselbe Passwort verwenden und Ihre Passwörter nicht durch einfache Wörterbuch-Attacken knackbar sind.

[Bearbeiten] Alternativen

Heutzutage sehr beliebt sind sogenannte Passwort-Manager, zum Beispiel 1Password. Solche Software kann Passwörter zu beliebigen Webseiten-URLs generieren und sich diese merken und auch automatisch wieder ausfüllen bei einer erneuten Anmeldung. So haben Sie damit quasi nichts mehr zu tun, was vor allem im heutigen Zeitalter von Mobil-Geräten sehr angenehm ist. Achten Sie jedoch darauf, regelmäßige Sicherheitskopien zu machen, damit Sie nicht auf einmal den Zugriff auf Ihre Dienste verlieren wenn die Passwort-Datei abhandenkommt.

[Bearbeiten] Weblinks

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Übersicht
Schnell‑Index
Mitmachen
Werkzeuge
Spenden
SELFHTML