Anforderungen an sicheres Passwort?

CyborgBeta

Commander
Registriert
Jan. 2021
Beiträge
3.039
Hallo, ich bin ein bisschen am Grübeln, weil ich mal einen Password-Manager (aus Spaß) geschrieben hatte.

Genügt es, wenn ein Passwort


Oder gibt es da "Pitfalls", die ich noch übersehen habe?

Was wäre mit Geburtsdatum oder Haarfarbe des Haustiers oder so etwas?
 
der user ist der tiefste pitfall
und social engineering das billigste einfallstor.

ich hab meist um die 15 stellen mit groß/klein/sonderzeichen/zahlen, also die ganze range.

angst vor "hackern" hab ich ned, weils zuwenig zu holen gibt :evillol:
 
  • Gefällt mir
Reaktionen: K3ks und CyborgBeta
Dein erster Punkt reicht vollkommen aus.

Bei ausreichender Länge ist der Rest fast egal.
 
  • Gefällt mir
Reaktionen: Maviapril2, Nebuk, dafReak und eine weitere Person
Länge ist das einzig relevante kriterium
 
  • Gefällt mir
Reaktionen: CyborgBeta, Maviapril2, Nebuk und eine weitere Person
CyborgBeta schrieb:
ausreichend lang ist,
this.
schau dir das xkcd zu correct battery horse staple und Wikipedia Artikel zur dort erwähnten Entropie an.

email Adressen nur 1x nutzen hilft ebenfalls.

meist greift man ohnehin nicht das passwort direkt an. Das ist nervig und skaliert nicht.

unser Prof sagte damals :Passwörter sind super, die reduzieren die Angriffsfläche auf das wesentliche
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: CyborgBeta, Maviapril2 und dafReak
Wenn du dein Passwort in der Top 10k findest hast du eh ein anderes (geistiges) problem (wenn du glaubst, das "chips" oder "silly" als passwort funktionieren, solltest du nicht als geistig zurechnungsfähiger und funktionierender Erwachsener Mensch gelten)

Pitfalls: Das Passwort auch wo anders verwenden. Es mit Copy-paste einfügen. Im webbrowser oder sonstwo automatisch speichern und anmelden... Da gibt es viele.
 
Entweder ein sinnvolles* oder eins was lokal mit KeePassXC o.ä. generiert** wurde.

* Worte, teilw. "korrumpierte" Worte + Zahlen + Sonderzeichen
juckelOhren236&%muerre86
49BohnenToppzucker&5%4
tOhr10enboden5767_muskiLL%%44
tantE_im§()SPECKmantelll:*498
12Esel__Buchweizen7v8/Suppe
blueVODkar45*7pariahDICe%$$8

Das geht auch simpler: 2-4 (weniger gebörkte) Worte und Sonderzeichen + Zahlen irgendwie verteilt

** 20 Stellen, Sonderzeichen, extended ASCII
·®ä!FθÐ&G¦;ëºð1-Æ'Ñ
ªe?§ºHé¿-ålFW¶Ùäq`rè
c®å#¿Þ¤;F®F{nßp6O;¡J

meine bevorzugte Methode

E:
ugul schrieb:
"chips" oder "silly" als passwort
Gleich inspiriert, aber nicht sicher bei Leerstellen:
chips silly monkey big donkey cut snake in there longest big energy sails into the rainbow synophone steakhouse three devour
ich pferd im hufe des bartes des gnomes im biom dicke magenta pflanze unabhängig spachtelmasse zangenwort im biogenese molasse pool
Diese Art von PW nie genutzt. 🤷

E2: apfel_weizen_klee_tee_formicidae_aufguss__KARTOFFELBRUCH 🙄
Zeit für's Bett.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: SaschaHa und madmax2010
Das kann man auch mit Powershell erledigen.
Ein zufälliges Kennwort mit 15 Stellen, bestehend aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen gilt als sehr sicher und reicht deshalb vollkommen aus.

Nachfolgenden Code in die Powershell-Konsole kopieren und danach die Enter-Taste drücken.
Damit wird ein zufälliges, 15-stelliges Kennwort erstellt und in die Zwischenablage kopiert.

Damit es nicht zu Verwechslungen kommt, sind das große i (I), das große o (O), das kleine L (l), das große s (S), sowie die Zahlen 1 und 5 nicht im Angebot.

PowerShell:
$GB = [Char[]] "ABCDEFGHJKLMNPQRTUVWXYZ"
$KB = [Char[]] "abcdefghijkmnopqrtuvwxyz"
$ZL = [Char[]] "2346789"
$SZ = [Char[]] "!#&%$+-<=>?)"
$ofs = ""
$Random1 = $GB | Get-Random -Count 5;
$Random2 = $KB | Get-Random -Count 5;
$Random3 = $ZL | Get-Random -Count 3;
$Random4 = $SZ | Get-Random -Count 2;
$RndmPsw = [String](@($Random1) + @($Random2) + @($Random3) + @($Random4) | Get-Random -Count 15 | Select-Object -Unique)
$Passwrd = "$RndmPsw"
# In die Zwischenablage speichern
Set-Clipboard "$Passwrd"
cls
Write-Host "Generiertes Kennwort:"
Write-Host "$Passwrd"
Write-Host ""

Dieses Kennwort kann man dann durch rechten Mausklick und "Einfügen" in ein Textfeld oder einen Texteditor einfügen.

Danach sollte man, aus Sicherheitsgründen, die Zwischenablage löschen.

PowerShell:
Set-Clipboard $Null
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Whetstone und CyborgBeta
CyborgBeta schrieb:
Oder gibt es da "Pitfalls", die ich noch übersehen habe?
Deine Entropiequelle muss hochwertig sein. Sonst hast du sowas wie @LotusXXL es gebaut hat wo nur unsichere Passwörter raus kommen.
 
  • Gefällt mir
Reaktionen: Pfandfinder, Tornhoof und madmax2010
ugul schrieb:
hast du eh ein anderes (geistiges) problem (wenn du glaubst, das "chips" oder "silly" als passwort funktionieren, solltest du nicht als geistig zurechnungsfähiger und funktionierender Erwachsener Mensch gelten)

Leute, bitte bleibt friedlich.
 
  • Gefällt mir
Reaktionen: madmax2010
BeBur schrieb:
es gebaut hat wo nur unsichere Passwörter raus kommen.
Hm, merkwürdig. Ich erstelle auf diese Weise schon lange Kennwörter und nutze sie für Anmeldedaten.
Jedes mal wird angezeigt, dass es sich um ein starkes Kennwort handelt.

Ob ein Kennwort stark und sicher ist, kann man hier testen:
https://checkdeinpasswort.de/

Ergebnis soeben bei der von mir nach oben ausgeführter Weise erstellten Kennwort:
Ein herkömmlicher PC könnte dein Passwort innerhalb von
einer Billion Jahren knacken.

Also teste es selbst und urteile dann.
 
  • Gefällt mir
Reaktionen: Whetstone und CyborgBeta
@LotusXXL Ich habe die Anmerkung von @BeBur auch nicht verstanden, und insofern ich den PowerShell-Code richtig interpretieren kann, werden dadurch auch sichere Passwörter ohne verwechselbare Zeichen generiert ...

Also ... zumindest so lange, wie einigermaßen zufällige PRNs (Pseudozufallszahlen) durch Windows geliefert werden.
Ergänzung ()

Hier noch der Linux-Flavour:

Bash:
echo "$(tr -dc 'A-Za-z0-9!?%=ÄaÖöÜüß' < /dev/urandom | head -c 16)"

Wobei man ÄaÖöÜüß auch weglassen kann. Leider werden auch verwechselbare Zeichen eingeschlossen
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: LotusXXL
Das Problem ist Get-Random. Aus der Dokumentation (Link):
Get-Random stellt keine kryptografische Zufälligkeit sicher. Der Seedwert wird für den aktuellen Befehl und für alle nachfolgenden Get-Random Befehle in der aktuellen Sitzung verwendet, bis Sie SetSeed erneut verwenden oder die Sitzung schließen. Sie können den Seed nicht auf den Standardwert zurücksetzen. [...]
Der einzige "Zufall" im engeren Sinne ist der Startwert (Seed), das kann die Systemzeit in Millisekunden sein oder eine feste Zahl (z.B. 1). Alle Werte die ausgegeben werden folgen deterministisch aus diesem Startwert. Die Entropie ist daher nur so groß wie die des Seeds (nicht sehr hoch und insbesondere konstant d.h. nicht abhängig von der Passwortlänge).

LotusXXL schrieb:
Hm, merkwürdig. Ich erstelle auf diese Weise schon lange Kennwörter und nutze sie für Anmeldedaten.
Solange du das Skript geheim hältst ist das halbwegs sicher, vermute ich jedenfalls (müsste man jemanden fragen, der sich gut mit sowas auskennt), bzw. solange niemand weiß, dass das Passwort von Account X damit generiert wurde. Generell geht ja kaum jemand hin und versucht ausgerechnet DEIN Passwort zu knacken, meist wird ja nur versucht, einige simplere Passwörter aus geklauten Datenbanken zurückzurechnen. Populäre Ausnahme sind Krypto-Währungen und da gab es durchaus Fälle, wo Menschen sich ähnlich wie du Passwörter generiert haben und die haben dann alle ihre Coins verloren.

Einen PRNG zu nutzen ist ein ganz üblicher "Pitfall". Bei Powershell gibt es Get-SecureRandom als Alternative, unter Linux kann man das von Cyborg erwähnte /dev/urandom verwenden.
 
  • Gefällt mir
Reaktionen: CyborgBeta und madmax2010
@BeBur Unter der Annahme, dass Get-Random die Systemzeit verwendet und nicht einen (immer) festen Seed-Wert (das hätte er aber auch gemerkt, wenn immer das gleiche Passwort ausgegeben werden würde), stellt sich dann die Frage der Beobachtbarkeit von Systemen. Solange dann niemand weiß, wann das Script von @LotusXXL aufgerufen wurde, kann das Passwort nicht reverse engineered werden ... nehme ich jedenfalls an.

Und selbst wenn das Wann bekannt ist, wird Get-Random mehrmals aufgerufen, und wir kennen die einzelnen Ausführungsdauern nicht.
Ergänzung ()

Ich zähle da 5 Get-Random. Nehmen wir an, zwischen den einzelnen Aufrufen vergehen ca. 100 Nanosekunden, und die initiale Aufrufzeit sei bekannt. Dann lande ich immer noch bei ca. 100^5 Kombinationen, die ich durchprobieren müsste, was schon 10000000000 Kombinationen wären.
 
Zuletzt bearbeitet:
CyborgBeta schrieb:
Solange dann niemand weiß, wann das Script von @LotusXXL aufgerufen wurde, kann das Passwort nicht reverse engineered werden ... nehme ich jedenfalls an.
Wie gesagt, das verringert die Entropie stark und lässt sich auch nicht mit einem längeren Passwort vergrößern. Man könnte auch sagen, die Sicherheit der Passwörter hängt zu einem großen Teil daran, dass das Skript geheim gehalten wird (und vor allem nicht in Zusammenhang mit konkreten Accounts gebracht werden kann).

CyborgBeta schrieb:
Und selbst wenn das Wann bekannt ist, wird Get-Random mehrmals aufgerufen, und wir kennen die einzelnen Ausführungsdauern nicht.
Laut Doku wird für alle Aufrufe in der Sitzung der selbe Seed verwendet.


Generell war die Frage des Threads "was muss man beachten bei einem Password Manager". Das hier ist eine Sache, die man beachten muss.
 
  • Gefällt mir
Reaktionen: CyborgBeta
CyborgBeta schrieb:
(nicht alles gelesen, nur cross reading)
Eine wichtige Info daraus:
When a seed value is not provided to Get-Random, the system tick count – the number of milliseconds elapsed since the system started is used as a seed.

PS.: Artikel ist sehr alt, das scheint nicht mehr zutreffend zu sein.
 
  • Gefällt mir
Reaktionen: CyborgBeta
BeBur schrieb:
PS.: Artikel ist sehr alt, das scheint nicht mehr zutreffend zu sein.

Ja, der ist noch aus der Steinzeit. Aber ich finde nichts Neueres dazu, und in der Doku von Microsoft wird auch sehr darauf geachtet, nicht allzu viele Details zu nennen. 😅

PS, Ich hatte meinen (sicheren) Passwort-Generator in Java geschrieben.

PS 2, Verstehe ich den Artikel also richtig, ein Maß für die Entropie wäre unter anderem, inwieweit ein Plain Passwort nicht mehr zum Beispiel durch das zip-Verfahren komprimiert werden kann?

Sprich, kleines zip file = schlechtes Passwort gewählt, großes zip file = super Passwort gewählt?
 
Hier ist mal mein Passwortgenerator ... aber ich verwende auch eine zusätzliche Lib: me.gosimple/nbvcxz

Viel Spaß beim Ausprobieren. 😊 (einfach zip entpacken und Doppelklick aufs jar file)
 

Anhänge

Zurück
Oben