Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Warum sollten Passwörter bei Kryptografie lang und komplex sein?
Du verschluesselst zwar mit z.B. SHA256. Nur ist das Passwort dazu "anfaellig" weil nur 8 Zeichen Buchstaben. Das ist ratzfatz per RainBow oder aehnlichem gefunden.
Für diesen Zweck verwendet man keine Hashes die auf "schnelle" Berechnung optimiert sind sondern Hashes die "viel" Rechenzeit benötigten und schlecht durch spezielle HW beschleunigt werden können. Und man kann zusätzlich salzen.
Wie schaut es mit einem 20 stelligen Passwort aus, dass zwar aus Zahlen; Groß -und Kleinbuchstaben und Sonderzeichen) besteht, aber aus dem Alphabet nur sagen wir mal 2 verschiedene Buchstaben und 2 verschiedene Zahlen vorkommen?
Verringert dies wieder die Sicherheit, oder ist das egal, da ja alle Zeichenarten vorkommen?
Wahrscheinlichkeit!
Da ja der Hacker nicht weiß, dass nur 4 verschiedene Zeichen verwendet werden, ist die Sicherheit die gleiche wie bei der Verwendung von 20 unterschiedlichen Zeichen (außer er weiß, dass jedes Zeichen von den 20 nur einmal verwendet wird. Dann ist das PW mit den 20 verschiedenen Zeichen sogar unsicherer, als das mit den 4 verschiedenen Zeichen).
@Cicaplast
Also Grundlegend nutzt Verycrypt zum Ableiten der Schlüssel Genauso Argon2 oder PBKDF2. Kein Entwickler ernstzunehmender kryptografischer Container wird seines Lebens froh, wenn zum Ableiten von Schlüsseln alleinig die SHA-Familie oder Vergleichbare bemüht werden würde. https://veracrypt.io/en/Key Derivation Algorithms.html
Ein Angreifer, der an die Klartextdaten heranwill, braucht die/den entsprechenden kryptografischen Schlüssel. Da normalerweise der Suchraum des Schlüssels absurd groß ist, werden nicht alle möglichen Schlüssel probiert, sondern es wird versucht Passwörter zu probieren und Schlüssel abzuleiten. Denn normalerweise ist Suchraum schlechter Passwörter + Schlüsselableitung weniger aufwendig als den Suchraum der Schlüssel zu testen.
Ich gebe zu, dass ich es noch immer nicht verstanden habe.
Mein Gedanke ist so: Jedes Passwort (egal wie lang und komplex) wird mit SHA-256 in einen 64 stelligen Hash umgewandelt.
Sha256 spuckt 256bit als Ergebnis aus. Die 64stellige, hexidezimale Darstellung ist "nur" die eine der möglichen Darstellungen dieser 256bitigen Werte.
Da dieser Hash immer gleich lang ist benötigt Brute Force für diesen Hash doch auch theoretisch immer die selbe Zeit... ob das Passwort nun 8 Zeichen lang oder 30 Zeichen lang ist.
Real bei VeraCrypt und Vergleichbaren spielen SHA Hashes KEINE ROLLE für die Angreifer. Die Angreifer müssen die kryptografischen Schlüssel in die Finger bekommen, die aus dem Passwort und gegebenenfalls weiteren Faktoren abhänig ist.
Hashes wie Sha, Whirlpool etc. sind für Szenarien, wo der Angreifer Kontrolle über den Datenbestand bekommen kann schlicht ungeeignet. Wo reines Hashing + Salz genutzt wird sind Systeme, wo der Angreifer kein (realistisches) Szenario hat die Kontrollinstanz unter Kontrolle zu bekommen. Also Loginfunktionen, die auf Servern laufen.
Zur Betrachtung der Laufzeit von BruteForce. Typisch ist die Betrachtung, wie lang es dauert 50% vom Suchraum zu erschöpfen. Diese Betrachtungen sind unter verschiedenen Annahmen und Zuhilfenahme von Passwortlisten bzw. Passwortregeln in der Regel so, dass die 50% Erschöpfung viel schneller bei menschlich erstellten Passwörtern erreicht ist, also bei Pseudozufall aus dem Computer (was Sha annähernd[1] ist).
Und die ganze Annahmen zu Passwortlisten, Passwortkomplexität und Regeln/Empfehlung zum Erstellen dieser... teils harter Tobak hier im Thread und mir ist es zu spät darauf einzugehen -.-.
Ich weiß natürlich, dass ich irgendwo einen Denkfehler habe, denn sonst wären ja kurze Passwörter ebenso sicher.
Es fehlt Grundlagenwissen was Schlüsselableitung / Hashing angeht, wo was WIESO verwendet werden sollte/darf und wie es real bei zB Veracrpt implementiert ist.
[1] annähernd im wissenschaftlichem Sinne, praktisch ist es Zufall.
Ergänzung ()
00Julius schrieb:
Wahrscheinlichkeit!
Da ja der Hacker nicht weiß, dass nur 4 verschiedene Zeichen verwendet werden, ist die Sicherheit die gleiche wie bei der Verwendung von 20 unterschiedlichen Zeichen (außer er weiß, dass jedes Zeichen von den 20 nur einmal verwendet wird. Dann ist das PW mit den 20 verschiedenen Zeichen sogar unsicherer, als das mit den 4 verschiedenen Zeichen).
Naja theoretisch kann auch ein PW mit nur einer Ziffer rel. sicher sein. Es kommt auf das ringsum an.
Warum ist eine Bank- oder Handypin mit nur 4 Stellen sicher?
Weil deine Zugriffe begrenzt sind!
Wenn neben dem PW auch noch andere Maßnahm energriffen werden ist ne BruteForce so ziemlich sinnlos.
Wie @Samez schon schrieb. Bei Falscheingabe eine Wartezeit einbaunen, die mit Fehlversuchen steigt, eine Sperrung, welche nur mit einem noch "größeren" PW entsperrt werden kann (Prinzip PIN/PUK). Blocken und Ausschließen des Angreifers. Lokale Beschränkung für den Zugriff und die Eingabe des PW...
Das ist aber alles allgmein und kann nicht immer und überall implementiert werden...
Würde es nicht viel mehr Sicherheit bringen die Zugriffsversuche zu beschränken? Also Totzeit zwischen Login Versuchen, die z.b.exponentiell ansteigt, da kann die Brute Force Hardware dann so schnell sein wie sie will.... (Z.b. Mindestzeit zwischen Eingaben 2^n Sekunden mit n = Anzahl Passworteingaben seit letzten korrektem Passwort)
Ich kann nix zum Thema beitragen, wollte aber dennoch kurz anmerken, dass ich die Fragestellung und die Antworten sehr gut finde. Vielen Dank an alle, deswegen lese ich hier so gerne mit!
Das ist logisch... je mehr der Angreifer über das Passwort weiß, desto besser für ihn.
Dies betrifft vor allem ja auch die PW-Länge. Wenn ein Angreifer diese wüsste, wäre das ein enormer Vorteil für ihn.
Gehen wir mal davon aus der Angreifer vermutet nur einen Teil des Passwortes. (wie rot markiert)
Weiß aber nicht, wie lang das Passwort ist. Auch nicht, dass nur 2 verschiedene Buchstaben und Zahlen verwendet wurden.
Blake2 hatte ich bei VC schon mal gelesen. Ich wusste nicht, dass dies auf Argon2 basiert. Danke für die Info!
Ich kenne mich damit halt wirklich nicht so gut aus, aber mich interessiert das Thema sehr.
Piktogramm schrieb:
Ein Angreifer, der an die Klartextdaten heranwill, braucht die/den entsprechenden kryptografischen Schlüssel. Da normalerweise der Suchraum des Schlüssels absurd groß ist, werden nicht alle möglichen Schlüssel probiert, sondern es wird versucht Passwörter zu probieren und Schlüssel abzuleiten. Denn normalerweise ist Suchraum schlechter Passwörter + Schlüsselableitung weniger aufwendig als den Suchraum der Schlüssel zu testen.
Genau, das habe ich denke ich nun verstanden. Habe es ja schon geschrieben.
Zitat aus Post 12:
Aso, na klar... Hashes können ja gar nicht zurück berechnet werden.
Man probiert alle möglichen Passwörter aus um daraus wieder den Hash zu erzeugen.
Und wenn mein gewähltes Passwort gefunden wurde ist dies natürlich auch der selbe Hash der verschlüsselt wurde.
Ich denke nun hab ichs ^^
Piktogramm schrieb:
Du hast nicht annähernd die Verachtung der Professoren für Informatikgrundlagen und IT-Sec gespührt..
Die Aussage verstehe ich nicht ^^
Ist es nun egal oder nicht?
#Stefan# schrieb:
Ich kann nix zum Thema beitragen, wollte aber dennoch kurz anmerken, dass ich die Fragestellung und die Antworten sehr gut finde. Vielen Dank an alle, deswegen lese ich hier so gerne mit!
Nur in der Annahme, dass ein Hacker glaubt: So blöd ist keiner, dass er nur ein einstelliges Passwort nimmt - und dann seine Hackingtools so einstellt.
Ich würde nicht davon ausgehen. 😉
K-551 schrieb:
Warum ist eine Bank- oder Handypin mit nur 4 Stellen sicher?
Weil deine Zugriffe begrenzt sind!
In erster Linie, weil es eine 2FA ist:
1. Faktor: Die Karte (Besitz)
2. Faktor: Die PIN (Information, Wissen)
Der beschränkte Zugriff ist ein eher zusätzlicher Layer im Sinne vom Diebstahlsuchtz - nicht im Sinne von "Passwort knacken" als solches.
K-551 schrieb:
Wie @Samez schon schrieb. Bei Falscheingabe eine Wartezeit einbaunen, die mit Fehlversuchen steigt, eine Sperrung,
Bringt nix, wenn Du direkten Zugriff auf die verschlüsselten Daten hasz.
Beispiel: Es wurden zig Passwort-Safes mal von Lastpass gestohlen. (Isso).
Hier ist es gar nicht möglich, Dein Vorgehen umzusetzen.
Hacker können bei allen erbeuteten Safes beliebig schnell Passwörter durchprobieren - so schnell es halt die Physik erlaubt (gell, @foofoobar ? 🤪)
Zeitverzögerungen oder -Sperren greifen nur, wenn man den offiziellen Weg als einzige Zugangsmöglichkeit anwenden kann.
Man probiert alle möglichen Passwörter aus um daraus wieder den Hash zu erzeugen.
Und wenn mein gewähltes Passwort gefunden wurde ist dies natürlich auch der selbe Hash der verschlüsselt wurde.
Das was meine Aussage auslöste ist großartiger Unsinn. Die Größenordnung bei denen die entsprechenden Professoren den Studenten mit entsprechenden Reaktionen würdigen.
Naja und ich wollte irgendwas schreiben, was mit nicht Verwarnung + Ban einbringt.. ich war versucht.
Meine Argumente hier sind zur Veraschaulichung sehr übertrieben und vereinfacht.
mchawk777 schrieb:
Nur in der Annahme, dass ein Hacker glaubt: So blöd ist keiner, dass er nur ein einstelliges Passwort nimmt - und dann seine Hackingtools so einstellt.
Nein ist es nicht. Es ist einfach ein Schloss-Schlüssel-Prinzip. Ohne die Bank- oder Handykarte (Schloss) hast du ja gar nicht die Gelegeneit den Schlüsel zu nutzen. Da ist kein zweiter Faktor im Spiel. Wenn du deinen Zugriff der Bankkarte per Handy, Fingerabdruck, Irisscan, Sicherheitsfrage usw. verifizieren müsstest, wär es ein zweiter Faktor.
Der Hund (oder Partner) hinter der Tür, nach dem Aufschließen, wäre auch solch ein zweiter Faktor... 😉
mchawk777 schrieb:
Bringt nix, wenn Du direkten Zugriff auf die verschlüsselten Daten hasz.
Der hat weder mit dem kryptographischn Schlüssel zu tun, noch sonst mit Verschlüsselung im technischen Sinne.
Für die Masse der Anwendungsfälle lässt sich ein Hash auch zurück rechnen. Nur nicht mit absoluter Sicherheit, da eine Hash-Funktion eine Surjektion ist und somit das Urbild aus einer Klasse und nicht zwingend einem einzelnen Element besteht.
Hash wird in dem ganzen Kontext in erster Linie zum normieren eingesetzt.