Welche Zeichensätze für Passwort verwenden?

Welche Zeichensätze kann ich für ein sicheres Passwort verwenden? Mir geht es darum, die verschlüsselten Dateien eventuell auch auf einem anderen Computer öffnen zu können. Wenn ich Sonderzeichen aus einem bestimmten Zeichensatz verwende der auf dem anderen Computer nicht installiert ist, hätte ich dann ein Problem...
Welcher Zeichensatz ist universell (oder nahezu) verbreitet und bietet dennoch genug Sonderzeichen um einen guten Entropiewert zu erzeugen?

Diese Frage stellte sich mir nach der Lektüre dieses Textes von Bruce Schneier:

You see, a brute-force password cracking engine isn't going to try every possible key in order. It's going to try the most likely ones first, and then try the rest in some likelihood order. It will try common passwords like "password" and "1234," then the entire English dictionary, and then varied capitalitlization and extra numbers, and so on. L0phtcrack is a password-cracking program that does this; on a Pentium Pro 200 it can test a 200-entry password file against an 8 Megabyte dictionary of popular passwords in under a minute. Testing the entire 26-character alphabet space takes 26 hours, and the 36-character alphanumeric space takes about 250 hours.

http://www.schneier.com/crypto-gram-9910.html#KeyLengthandSecurity

grüsse

n8m

Erschreckend, nicht wahr? :D
 
Hallo,
hmm müssen es Sonderzeichen sein, also auf jedem PC, selbst die Japaner haben:

Also auf jeder Tastertur findet man eigentlich die Standard ASCII Zeichen wie z.B.

A-Z a-z 0-9 . , _ - ! " §$%&()=?\ { [ ] } # + - < > |

Das sind eigentlich genügend Zeichen, sonst reichen auch A-Z a-z 0-9 das sind immerhin 62 Zeichen.

Am besten man benutzt eine Hexadezimal Passwort, das kann man von jedem PW eingeben, man nutzt den ganzen Schlüssel raum aus, ist aber dann auch doppelt so lang.
 
Danke, deine Stichworte haben mir bei meiner Suche geholfen. Hier sind zwei ganz interessante Seiten, die eine kleine Einführung in verschiedene Zeichensätze bieten sowie eine Liste aller möglichen Zeichen beinhalten:

http://de.selfhtml.org/inter/sprache.htm

http://de.selfhtml.org/inter/zeichensaetze.htm

Hier findet man wirklich alle Zeichen

http://www.unicode.org/charts/


Sicherheitshalber werde ich noch die Latin1_supplements von der unicode-seite (sind bei allen westeuropäischen Sprachen dabei) verwenden, dass sollte noch schön viel zusätzliche Entropie bringen :)
(Muss man halt die Tastenkombinationen wie ALT+0231 auswendig lernen)
In Windows sind sowieso fast alle Zeichensätze enthalten, sodass notfalls ein Umschalten auf die richtige Version helfen sollte.

gruss

n8m

P.S.: Was genau ist ein Hexadezimal-Passwort?
 
Hallo,
warum auswendiglernen?

Speichern sie dir auf Diskette oder lade sie dir dann aus dem Internet.

Die meisten zeichen, egal welcher Zeichsatz sind eh auf der Tastertur.

Ggf. vorher im Editor die einzelnen Sonderzeichen ausporbieren.
 
Original von Elderan
Hallo,
warum auswendiglernen?

Auswendig lernen muss sein, weil es schnell gehen muss. Wenn cih zum Beispiel das Passwort "Él4H°Äp/(hçI*" benutzen will, muss ich für den Buchstaben "ç" die Kombination ALT+0231 tippen. Jedesmal nachzusehen würde zu lange dauern.

Original von Elderan
Die meisten zeichen, egal welcher Zeichsatz sind eh auf der Tastertur.

"Intelligente" Brute-Force-Apps probieren ja von Natur aus erstmal die Zeichen aus, die auf der Tastatur zu finden sind. So leicht möchte ich es einem potentiellen Angreifer dann auch nicht machen... :D

gruss

n8m
 
Hallo,
Brute Force kann viel, aber nicht alles:

Nehmen wir folgendes PW:

a3D g7k JU2 p

Das sind 10 Zeichen, mit 62 Möglichkeiten.

Es gibt also 62^10 möglichkeiten, sind ca. 8 *10^17

Angenommen man könnte 1 Mrd (10^9) Zeichen pro Sek testen (so einen PC möchte ich haben), dann würde es 27 Jahre dauern bis man das PW geknackt hat.

Wenn man jetzt:
a3D g7k JU2 pP9

nimmt, dauert es es rund 100 tausend Jahre bis man es geknackt hat.

Nimmt man jetzt:
a3D g7k JU2 pP9 mVp

nimmt würde es 24 Mrd Jahre dauern, doppelt solange wie es das Universum schon gibt.

Und ich finde a3D g7k JU2 pP9 mVp kann man sich besser merken als Él4H°Äp/(hçI*


Nagut die Großbuchstaben nerven etwas, aber ich habe recht schnell ein 26 stelliges alpha Numerisches PW (36 Mög.) auswendig gelernt.

Um das mit 1 Mrd Eingaben pro Sek zu knacken, bräuchte man 9 * 10 ^23 Jahre.

Das wäre 10 Billionen mal länger als es das Universum gibt.

Auch wenn man jetzt 1 Mrd PC mit 1 Mrd Test/Sek hätte würde es noch 65 907 Jahre dauern.

1998 gab es ca. 200 000 Mio PC's auf der Erde.
 
Vielleicht habe ich dann irgendwas falsch verstanden. Schneier schreibt ja hier:

L0phtcrack is a password-cracking program that does this; on a Pentium Pro 200 it can test a 200-entry password file against an 8 Megabyte dictionary of popular passwords in under a minute.

Was bedeutet denn "200-entry password"? Ein 200 stelliges Passwort? Irgendwie kann das ja nach deinen Berechnungen nicht hinkommen.

Oder bedeutet es ein Passwort-File mit 200 verschiedenen Passwörtern? Da wären dann aber nur DAU-Passwörter mit dabei wie "110", "passwort", "fido", "14.03.1956","admin", etc.

Schneier schreibt ein wenig unklar:
Testing the entire 26-character alphabet space takes 26 hours, and the 36-character alphanumeric space takes about 250 hours.

Hat er hier nicht vergessen zu erwähnen, bis zu welcher Stelle dieses Programm testet?
Wenn es das gesamte Alphabet in 26 Stunden durchtestet kann es doch höchstens 1-6 oder 1-7 stellige Passwörter in dieser Zeit testen. Jede weitere Stelle würde dann die Zeit zum testen exponentiell in die Höhe treiben. Ein Passwort mit 112 Stellen wie zum Beispiel "Heute morgen schwamm ich in einem sehr tiefen See und überlegte mir ob ich zum Abendessen Suppe kochen würde." wäre für diese Programm unknackbar. Wenn der Angreifer allerdings wüsste, dass mein Passwort aus einem deutschsprachigen Satz besteht hätte er es schon ein "bisschen" einfacherund könnte ein Programm benutzen, dass nur deutsche Sätze testet. Aber dass muss er natürlich erstmal wissen :D.

Du hast natürlich vollkommen recht, dass man sich Passwörter wie dieses "uz&0F23*§/dk$" nicht sehr leicht merken kann. Eine Faustformel könnte dann lauten, "Je weniger Entropie, desto länger muss das Passwort sein."

Interessant finde ch auch Schneiers Idee mit der "personal entropy", bei der man mit mehreren Passwörtern arbeitet. Der Benutzer bekommt dann Fragen gestellt, bei denen die Antwort dann jeweils die Grundlage für das Masterpasswort bildet.

Das könnte dann so aussehen:

1. Frage: Wie hiess dein bester Freund in der 3. Klasse?
2. Frage: Wie hiess deine erste Freundin in der Schule?
3. Frage: Nenne ein Datum, dass dir sehr wichtig ist, dass aber keiner ausser dir kennt.[Also nicht Weihnachten, Silvester oder Geburtstag)
4. Tippe 4 Sonderzeichen ein

1. Antwort: Peter
2. Antwort: Kathrin
3. Antwort: 12.03.1956
4. &§(/

Nun könnte man die Anworten erst einzeln hashen, irgendwie kombinieren und den Masterhash bilden, oder alle Antworten auf eine bestimmte Art kombinieren und dann hashen.

Das Gute daran ist, dass man sich die Antworten leichter merken kann, als ein langes Passwort, das Schlechte, dass man durch social engeneering sehr wahrscheinlich viele der Antworten auch so herausbekommen kann.

Einfach so kann dieses System keine gute Sicherheit bieten, wenn man dem Benutzer nicht erklärt, dass er keine Antworten geben darf, die andere herausfinden können. Die beste Antwort auf Frage 1 wäre dann nicht "Peter" oder "Manfred" sondern "12.03.1956", etc. Die Fragen würden dem Benutzer somit nur als Eselsbrücken dienen um sich an die Antwort zu erinnern, die Antwort sollte aber niemals in direktem Bezug zur Frage stehen.




gruss

n8m
 
Hallo,

200-entry password file
Eine Passwortdatei mit 200 Beispielpasswörtern.
Dagegen hat er ein Wörterbuchangriff gemacht.

Wenn man alle 20 stelligen PW's (36 Mög., 160 Bit pro Wort) ink. Hash (128 Bit) ein ein Wörterbuch schreibt, wäre dies:
288 Bit.

36^20 = 1,3 * 10^31 Mög.
1,3 * 10^31 * 288 = 3,8 * 10^33 Bit
Oder
4,8 * 10^32 Byte

Das wären dann:
100 Mega - Terra - Terra Byte
bzw.
100 Millionen - Billionen - Billionen Byte

Ein Terrabyte hat ca. 10^12 Byte. Also
100 * 10^6 * 10^12 * 10^12 Byte

Und sag mir nicht das du so ne Festplatte hast ;)

In einem Gramm DNA könnte man den Inhalt von 1 Bio. CD's speichern, also 7 * 10^14 MB.

Die Festplatte müsste 6,5 * 10^11 Gramm wiegen, bzw. 655 623 Tonnen.
Mal abgesehen davon das es ewig dauern würde diesen ganzen Einträge zu durchsuchen (das geht ja nicht in einer Sekunde, sondern dauert wiederum Jahre)), und das es gar keine DNA Festplatten gibt....
Desweitern müsste man erstmal die ganzen Hash Werte für die PW's erstellen und auf der DNA Festplatte speichern.

Mit einem normalen PC (+normale Festplatte) braucht Rainbow Crack für 3 GB => 15 days and 17 hours (ca.).
Und dann würde man für 4,8 * 10^32 Byte entsprechen Lange brauchen, so das man das Fertigstellen nicht mehr miterleben könnte, und die eigenenen Kinder nicht, und deren Kinder nicht, und deren Kinder nicht und so weiter und so fort....


Also geht ein Memory-Trade-Off Angriff bei so einer länge nicht mehr, auch wenn man DNA Technik nutzen würde.

Edit
Mal was zu den Passpharsen.

Angenommen, man hat folgenden Satz:
Ich gehe niemals zur Kirche

Das sind 5 Wörter.

Wenn man jetzt ein kleines Wörterbuch mit 10 000 Einträgen nimmt, würde es 10^20 Möglichkeiten geben.
Zwar etwas weniger als ein 20 Stellen PW, aber man kann es sich leichter merken.

Wichtig wäre, dass man Non-Sinns Sätze wählt wie z.B.:
Ich fliege den Stuhl heile

Oder
Meine Kuehe saegen das Benzin

Einen Satz mit 8 Wörter kann man sich Locker merken.
 
Zurück
Oben