Sicherheit/sichere Passwortwahl

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche
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.
Password Icon

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.

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. Durch diverse Sicherheitsvorfälle wurden Millionen von Passwörter öffentlich und die Wörterbücher umfassen mittlerweile eine große Menge an real verwendeten Passwörtern.

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. Auch wird immer wieder berichtet, das am häufigsten verwendete Passwort sei Passwort. Dies sollten Sie alles vermeiden!

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.

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 jedes Mal ü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.

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.

Erstellen eines sicheren Passworts

Ich möchte noch die sehr einfache, doch wirklich sichere Möglichkeit erwähnen, sich ein sehr sicheres (Master-)Passwort ohne jegliches Programm selbst zu erstellen. Sie wird Diceware[1] genannt.

Dazu auch noch einige informative Links "meiner" (bin dort Vereinsmitglied) Linux User Group (LUG) VS (Auszug aus dem Stammtischprotokoll, 11.08.2023):[2]

Nun zurück zum Dice-Verfahren (Diceware): Das funktioniert so[3] (ich beschreibe es noch mal kurz neu, "klaue" es also aus vorstehendem Wikipedia-Link):

Wir wollen sechs Wörter würfeln (die Wörter ergeben sich aus je fünf Würfen (5 x mit einem Würfel, oder 1 x mit fünf Würfeln) und werden später aus einer (deutschen oder englischen) Wortliste[4] übertragen.

Würfel

Mit einem Würfel fünfmal würfeln und die Zahlen aufschreiben (oder mit fünf Würfeln einmal würfeln; dann aber die Zahlen zum Beispiel von links oben nach rechts unten notieren). Angenommen wir würfeln als erstes die Zahlen 3, 6, 2, 4 und 3. Notiere diese Zahlen und würfele noch weitere fünf Male (wir wollen schließlich insgesamt sechs Wörter erwürfeln) und notiere jedes Mal die erwürfelten Zahlen. Angenommen wir haben schlussendlich folgende sechs Zahlenpaare erhalten:

36243
61233
52114
21341
15466
56441

Wortliste

Nun klicken wir diesen Wortlisten-Link[5] (oder aus dieser Linkliste[6] von Wikipedia), suchen mit der Tastenkombination Strg + F obige Würfelergebnisse und tragen die Wörter hinter den Zahlen ein. Das Ergebnis ist nun folgendes:

36243 = ku [ohne "h"]
61233 = taucht
52114 = rast
21341 = dicker
15466 = bluse
56441 = sucher

Passwort

Wir wissen ja (siehe Sicherheit/sichere_Passwortwahl#Wie_lang_sollte_ein_Passwort_sein weiter oben im Artikel), dass einerseits die Länge des Passworts, aber auch Sonderzeichen, Klein- und Groß-Schreibung die Sicherheit erhöhen. Wir könnten nun also die erhaltenen Wörter nicht nur zusammenfügen – in der erwürfelten Reihenfolge (!) – sondern wir können auch noch eine Groß- und Kleinschreibung hinzufügen und irgendwo zwischendrin noch einen (nicht höher, als dreistelligen) Zahlenblock in Verbindung mit (einem oder mehreren) Sonderzeichen einbauen. Das könnte dann so aussehen (Eingabe natürlich ohne Leerzeichen!):

k U t a U C h t & R a s T 3 1 d i C K e r B l u s E s u C H e r

Das macht nicht viel Sinn, aber genug, um es sich nach spätestens einer Woche und täglichem Gebrauch merken zu können. So lange sollte man es sich allerdings schon notieren.

Dieses Passwort ist nun immerhin 32 Zeichen lang (29 Buchstaben, ein Sonderzeichen und zwei Zahlen). Das entspricht einer Entrophie[7] von immerhin 130,37 Bit (sagt jedenfalls mein Passwortgenerator KeePassXC[8]). Dieser Wert ist nicht sooo schlecht (siehe Ausgabe dieser Webseite:[9]) und würde bei einem realistischen Online-Angriffs-Szenario bis zu "6,22 hundert Billionen Billionen Billionen Billionen Jahrhunderte (!) erfordern, um es zu knacken (könnte natürlich "zufällig" auch schneller gehen).

Screenshot der Website Haystack.htm mit Sicherheitsüberprüfung eines per Diceware (Würfelverfahren) erstellten

Der KeePassXC kann unter den Betriebssystemen MS-Windows, MacOS und (natürlich!) Linux[10] installiert werden. Und noch mehr Schleichwerbung zu Linux[11] (siehe Link) ...

Praxis

Nun haben wir ein sehr sicheres, aber noch merkbares Passwort erstellt, das wir zum Beispiel als Hauptpasswort / Masterpasswort einsetzen können. Damit ist gemeint, dass man beispielsweise einen Passwortmanager auf dem PC / Laptop / Smartphone, etc. nutzt, welcher dann weitere Passwörter generiert und verwaltet. Ich verweise noch einmal auf den schon oben erwähnten "KeePassXC", da er auf allen Betriebssystemen läuft (abgesehen von den Smartphones) und es auch Browsererweiterungen für Firefox, Chrome und Edge gibt. Die Android-Nutzer haben ebenso Alternativen (zum Google-Play- oder Amazon-Store), indem sie Freie OpenSource Software[12] nutzen; hier wären zum Beispiel der Diceware Password Generator, oder Cryptfs Password empfehlenswert. Zu finden sind diese freien und sicheren Anwendungen in nachstehend erwähnten openSOURCE-Stores, nämlich F-Droid oder dessen Fork Neo Store [siehe Generelles zu (F)OSS / openSOURCE-Software]. Die Apple-Fraktion geht bezüglich freier Software leider häufig leer aus.

Zu erwähnen wäre noch, dass Browser wie Firefox[13], oder das Mailprogramm Thunderbird[14] [beide (F)OSS / openSource-Software] schon einen Passwortmanager eingebaut haben, welchen man (nachträglich in den Einstellungen) noch mit einem "Hauptpasswort" schützen kann – und sollte! So reicht es, sich ein Passwort zu merken, um unendlich viele andere von einer Anwendung verwaltet zu bekommen. Aber dieses eine Passwort muss halt auch möglichst sicher sein!

Das gilt natürlich auch für das Passwort zum Einloggen in internetfähige Geräte (PC, Laptop, etc.), welches neu erwürfelt werden sollte!

Generelles zu (F)OSS-Software

Für Android-Smartphones, aber natürlich auch unter MS-Windows und Linux-Betriebssystemen gibt es etliche gute Passwort-Erstellungs-Apps. Falls Du ein Smartphone nutzt, diese bitte aber nicht von Google- oder Amazon-Stores, etc. installieren, sondern von freien Stores, wie F-Droid[15] oder dessen Fork (Abgabelung) Neo Store[16]. Denn wer vertraut einem hungrigen Kater seinen Wellensittich an? Oder einem Pädophilen sein Kind?! Also denkt nach, bevor Ihr Eure Daten im Internet teilt, oder Euch Software aufs Betriebssystem ladet, das Euch trackt, ausspioniert oder in der Nutzung reglementiert. Aber das wäre ein eigenes Thema ...

Wichtig!
Man kann sich Passwörter auch im Internet erstellen lassen (also auf Seiten, von denen man gar nicht weiß, wer dahinter steht). Tut das nicht!
Generell sollte man für solche "intime" Dinge stehts (Freie) openSource Software [(F)OSS] nutzen. Der Vorteil: Diese wird von einer Gemeinschaft von Enthusiasten gepflegt und kontrolliert. Selbst wenn Schadcode eingeschleust würde (was immer möglich ist), würde er sehr schnell entdeckt und beseitigt und weiterem Missbrauch ein Riegel vorgeschoben. Da der Code frei verfügbar (und veränderbar!) ist, ist es sehr selten, dass man zum Beispiel mit Malware oder Trojanern konfrontiert wird. Auch das ist schon geschehen, wurde bislang aber immer in kürzester Zeit behoben und für die Zukunft blockiert.
(F)OSS ist die derzeit sicherste Möglichkeit gute Software zu nutzen, die über Jahre hinweg gepflegt, und weiterentwickelt wird, (meist) kostenlos erhältlich ist, und auf allen Betriebssystemen zur Verfügung gestellt wird!
Apple / MacOS ist da meines Wissens eine Ausnahme. Der Konzern pflegt eine eigene (übrigens sehr sicheren!) Politik bezüglich im Apple-Store enthaltenen Software. Aber selbst dort schaffen es einige (F)OSS-Produkte hinein; die Erfahrung zeigt aber, dass sie nicht immer den vollen Funktionsumfang erhalten. Ein Beispiel wäre da KDE-Connect[17], eine Anwendung, welche auf PC und Smartphone installiert wird. Damit ist Datenübertragung in beide Richtungen, aber auch Steuerung von Media (auf dem PC durch das Smartphone) möglich ...


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:

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.

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.

Letzten Endes ist es allerdings nicht so wichtig, wie Sie sich Ihr Passwort erstellen und merken. Durchaus wichtig ist, dass Sie nicht mehrfach dasselbe Passwort verwenden und Ihre Passwörter nicht durch einfache Wörterbuch-Attacken erratbar sind.

Alternativen

Heutzutage sehr beliebt sind sogenannte Passwort-Manager, zum Beispiel 1Password, oder die (F)OSS / openSource-Anwendung KeePassXC (siehe oben Passwort, bzw. Liste Weblinks). 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.

Weblinks

  1. Diceware – Passworterstellung
  2. hilfreiche Links zum Dice-Verfahren
  3. Wikipedia zum Thema Phassphraseerstellung
  4. Diceware-Wortliste
  5. Wortlisten-Link
  6. Diceware-Wortlisten-Linkl
  7. Entropie
  8. Passwortgenerator KeePassXC
  9. Haystack.htm – Prüfung der Passwortqualität
  10. Linux – und warum ich dabei bleibe
  11. Linux – warum wechseln?
  12. FOSS – Frauenhofer Institut
  13. Firefox-Startseite
  14. Thunderbird-Mailprogramm Downloadseite
  15. F-Droid-Store
  16. Store Neo Store
  17. KDE-Connect für alle Betriebssysteme