Sichere Passwörter generieren

Beschreibung | Passwort generieren

Worum geht es?

Im heutigen Internet wird man immer wieder aufgefordert, Passwörter einzugeben: Sei es bei einer einmaligen Bestellung in einem Onlineshop, der als Einziger den gewünschten Artikel führt, oder bei einem E-Maildienst, um die eingegangenen E-Mails abzurufen.

Da es durchaus empfehlenswert ist, nicht überall das selbe Passwort zu verwenden muss jedesmal ein neues generiert werden. Und wenn dies dann noch den allgemeinen Anforderungen bezüglich Sicherheit entsprechen soll wie z.B. Groß- und Kleinschreibung, Zahlen, zufällig, mindestens 10 Stellen (besser mehr), eventuell noch mit Sonderzeichen etc. wird es schnell lästig. Deshalb lassen wir inzwischen Passwörter entsprechend dieser Anforderungen durch ein Skript erzeugen:

createpw.pl



Voraussetzungen

Das Skript benötigt: Dies lässt sich unter Linux einfach mit dem Befehl
apt-get install perl
installieren, wenn noch nicht geschehen. Und auch für Windows und MacOS ist Perl verfügbar.

Länge des Passwortes

Die Länge des Passwortes wird hier definiert:

###
# Laenge des Passwortes
$LAENGE=16;	# default-Wert

Gerne kann hier eine kleiner Zahl als 16 eingegeben werden. Aber mit jeder Stelle weniger wird das generierte Passwort exponentiell unsicherer. Andersrum erhöht sich mit jeder Stelle die Sicherheit. 16 Stellen werden momentan als sicher angesehen, was bedeutet, daß es in einem vertretbaren Zeitrahmen nicht möglich ist, ein solches Passwort zu knacken.

Nichts anderes heißt übrigens "sicher". Denn 100% sicher gibt es nicht.

Verwendete Zeichen

Es werden folgende Buchstaben und Zahlen verwendet: Allein mit dieser Zeichenauswahl und der defaultmäßig vorgegebenen Länge von 16 Stellen sind
5616 = 9,35423835810529e+27
verschiedene Passwörter möglich.

Sonderzeichen

Natürlich sind auch Sonderzeichen möglich. Aber man sei gewarnt: Sonderzeichen in Passwörtern sind prinzipiell gut, sie vergrößern den zur Verfügung stehenden Zeichenraum und damit letztendlich die Sicherheit. Aber man sollte vor Verwendung eines Passwortes mit Sonderzeichen auf jeden Fall prüfen, ob Sonderzeichen als Passwort auch akzeptiert werden. Sollten sie schon, nur steht man hinterher dämlich da, wenn dies nicht so sein sollte: Man kann sich nicht einloggen.

Für den Fall, dass Sonderzeichen akzeptiert werden, kann man Sonderzeichen in die Generierung der Passwörter einbeziehen:

###
# Sonderzeichen (vor Verwendung unbedingt pruefen,
# ob Sonderzeichen in einem Passwort auch akzeptiert werden)
#push @ZAHL,"!","§","\$","%","&","<",">","/","(",")","{","}","=","?";

Wird die letzte Zeile push ... aktiviert (Raute am Anfang der Zeile wegnehmen), werden auch die Sonderzeichen ! § $ % & < > ( ) { } , = ? verwendet.

Mißverständliche Zeichen

Wer schon mit Passwörtern experimentiert hat wird festgestellt haben, daß es bei einigen Zeichen durchaus zu Verwechslungen kommen kann: So kann beispielsweise ein kleines "l" mit einem großen "I" verwechselt werden, oder das große "O" mit der "0". Deshalb gibt's den Abschnitt missverständliche Zeichen austauschen:

###
# missverstaendliche Zeichen austauschen
&ReplaceLetters("l");
&ReplaceLetters("i");
&ReplaceLetters("I");
&ReplaceLetters("L");
&ReplaceLetters("O");
&ReplaceLetters("0");

Dadurch sinkt zwar die Anzahl der letztendlich verwendeten Zeichen, aber dies ist hier doch vernachlässigbar.

Aufruf des Skriptes (→ Passwort generieren)

Der Aufruf des Skriptes ist denkbar einfach:

perl createpw.pl
Es wird das Passwort ausgegeben.

Hier kann man es mal ausprobieren: Passwort generieren

Download "createpw.pl"

Und hier das Skript:

Autor

Dirk Schimansky

Bei Fragen einfach eine E-Mail schreiben.

Spende

Wem dies geholfen hat kann gerne eine Kleinigkeit spenden.

Danke!

Quellen

--- keine ---



21.04.2012 - Tools - Dirk Schimansky - Impressum