Welche Verschlüsselung nehmen?
Tom
- php
Hello,
welche der der in PHP bis 5.2.6 enthaltenen Verschlüsselungen bzw. Hashfunktionen sind noch für Benunutzung für Passwörter etc. geeignet?
Ich habe da jetzt nur noch sha1 im Gedächtnis.
md5() scheidet aus, weil bekanntermaßen in wenigen Sekunden auflösbar...
Was ist mit den anderen Funktionen?
hash() http://de3.php.net/manual/en/function.hash.php
crypt() http://de3.php.net/manual/en/function.crypt.php
usw?
Die Zeichen des Zielstrings sollten im darstellbaren Bereich von ASCII liegen, auch keine ',",$ usw. enthalten.
Gespeichert werden soll in einer CSV-Datei.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
(H[ae]llo|Hi(ho)|Nabend) Tom,
welche der der in PHP bis 5.2.6 enthaltenen Verschlüsselungen bzw. Hashfunktionen sind noch für Benunutzung für Passwörter etc. geeignet?
md5() scheidet aus, weil bekanntermaßen in wenigen Sekunden auflösbar...
Mit randomisierten Salz extra für jeden Benutzer?
Ich habe da jetzt nur noch sha1 im Gedächtnis.
Das steht auf ähnlich wackeligen Beinen wie MD5.
MffG
EisFuX
Guten Tag,
welche der der in PHP bis 5.2.6 enthaltenen Verschlüsselungen bzw. Hashfunktionen sind noch für Benunutzung für Passwörter etc. geeignet?
Das NIST empfiehlt SHA2 (SHA-224, -256, -384, -512). Sollte dir die Performanceeinbuße von SHA-512 es wert sein, würde ich SHA-512, zusätzlich eines ausreichend zufälligen, benutzerabhängigen Salt, wählen.
Welche Algorithmen hash() unterstützt, hängt von deiner Installation ab. Du kannst dir die verfügbaren Algorithmen mit Hilfe von hash_algos() ausgeben lassen.
Gruß
Christoph Jeschke
Moin!
welche der der in PHP bis 5.2.6 enthaltenen Verschlüsselungen bzw. Hashfunktionen sind noch für Benunutzung für Passwörter etc. geeignet?
Ich habe da jetzt nur noch sha1 im Gedächtnis.
md5() scheidet aus, weil bekanntermaßen in wenigen Sekunden auflösbar...
Krieg mal wieder Realität in deinen Kopf rein! Niemand löst dir MD5 in wenigen Sekunden auf, außer ein Angriff via Rainbow-Tabelle ist erfolgreich.
Alle kryptografischen Forschungen, die die Manipulation von MD5 bei seiner Nutzung als Prüfsumme zum Ziel haben, benötigen derzeit einen gewissen zeitlichen Rechenaufwand, um eine Nachricht zusammen mit ihrer prüfsummengleichen Fälschung herzustellen, aber vor allem benötigen sie die Möglichkeit, diese zwei Nachrichten eben gerade SELBST herstellen zu können - und prinzipbedingt erfordert diese Manipulation die Möglichkeit, im Nachrichtentext eine Größenordnung von über 256 Bytes beliebig frei manipulieren zu können - zusätzlich zur Nutznachricht selbst.
Allein diese Angriffsmöglichkeit gegen den Algorithmus hat das Vertrauen in ihn erschüttert, aber er ist ja auch schon sehr lange Zeit bekannt und konnte analysiert und angegriffen werden.
SHA-1 ereilte im Prinzip ein ähnliches Schicksal, aber ganz so weit vorgedrungen sind die Forscher bislang noch nicht.
Das simpelste dürfte sein, MD5 und SHA-1 einfach zu kombinieren. Denn einen kombinierten Angriff auf beide zusammen hat man bislang noch nicht hinbekommen. Wenn derselbe String sowohl mit MD5 als auch SHA-1 gehasht wird, darf man davon ausgehen, dass Manipulationen daran nicht zu sowohl identischer MD5- als auch SHA-1-Prüfsumme führen werden.
Ein Framework für alles, was Hashfunktion heißt.
Wenn du drauf stehst, einen Passwortstring nach 8 Zeichen abzuschneiden und daraus dann den Hash zu berechnen...
- Sven Rautenberg
Hello,
Krieg mal wieder Realität in deinen Kopf rein!
Wie meinen?
Niemand löst dir MD5 in wenigen Sekunden auf, außer ein Angriff via Rainbow-Tabelle ist erfolgreich.
Dann muss es wohl Zufall gewesen sein. Ich habe letzte Woche ca. 100 Passwörter, die in MD5-Hashs umgewandelt waren, mittels http://www.md5cracker.org/ oder http://passcracking.com/ rückgewandelt. Dieses Tool hat alle richtig ermittelt. Jedes hat so ca. 3-7 Sekunden in Anspruch genommen.
Ich habe es eben mit einigen aus der Liste nochmal ausprobiert und es geht nicht mehr.
Nun frag ich mich, wie kann das sein?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo Tom,
Niemand löst dir MD5 in wenigen Sekunden auf, außer ein Angriff via Rainbow-Tabelle ist erfolgreich.
Dann muss es wohl Zufall gewesen sein. Ich habe letzte Woche ca. 100 Passwörter, die in MD5-Hashs umgewandelt waren, mittels http://www.md5cracker.org/ oder http://passcracking.com/ rückgewandelt. Dieses Tool hat alle richtig ermittelt. Jedes hat so ca. 3-7 Sekunden in Anspruch genommen.
Ich habe es eben mit einigen aus der Liste nochmal ausprobiert und es geht nicht mehr.
Nun frag ich mich, wie kann das sein?
äh ja, ich habe nur die erste Seite ausprobiert: ist einfach eine Zusammenführung von Betrügern. Ich schwäche ab: zumindest befragt md5cracker.org unter anderen einen mir bekannten Betrüger. :-)
Freundliche Grüße
Vinzenz
你好 Tom,
Dann muss es wohl Zufall gewesen sein.
Oder ein Regenbogen.
Ich habe letzte Woche ca. 100 Passwörter, die in MD5-Hashs umgewandelt waren, mittels http://www.md5cracker.org/ oder http://passcracking.com/ rückgewandelt. Dieses Tool hat alle richtig ermittelt. Jedes hat so ca. 3-7 Sekunden in Anspruch genommen.
Das funktioniert so einfach nur, wenn du ungesalzene Passwörter erstellst oder einen „statischen” Salt benutzt.
Wenn du für jedes Passwort, dass du erstellst, einen Salt erstellst (oder angeben lässt), dann müsste ein Brute-Force-Angreifer für jedes Passwort eine Rainbow-Tabelle erstellen.
Es ist also nicht mal eben so in wenigen Sekunden knackbar, wenn man es richtig™ macht.
Trotz alledem würde ich davon abraten, weiterhin MD5 einzusetzen. Sinnvoller wäre es, auf die SHA2-Familie auszuweichen – wenn man sich es leisten kann (etwa, weil nur beim Login nötig), dann sollte SHA512 das Mittel der Wahl sein. Siehe auch den Beitrag von Christoph Jeschke.
再见,
克里斯蒂安
Trotz alledem würde ich davon abraten, weiterhin MD5 einzusetzen. Sinnvoller wäre es, auf die SHA2-Familie auszuweichen – wenn man sich es leisten kann (etwa, weil nur beim Login nötig), dann sollte SHA512 das Mittel der Wahl sein. Siehe auch den Beitrag von Christoph Jeschke.
Egal wie gut der Hash-Algorithmus ist - eine Rainbow-Table ist schnell erstellt. Der einzige Vorteil der SHA-Familie ist der längere HASH - aber potentiell sicherer wird es nicht.
Eine Rainbow-Table für alle 8-stelligen Buchstaben und Zahlenkombinationen mit MD5-Hashes hat in etwa gleich viele Einträge[1] wie eine mit einem 512-Bit-Hash-Algorithmus.
[1] Es kann vorkommen, dass mehrere Werte denselben Hash haben - von daher nicht "exakt gleich lang" :)
你好 suit,
Egal wie gut der Hash-Algorithmus ist - eine Rainbow-Table ist schnell erstellt. Der einzige Vorteil der SHA-Familie ist der längere HASH - aber potentiell sicherer wird es nicht.
Nicht gegen Rainbow-Angriffe, aber das hab ich auch nicht behauptet.
再见,
克里斯蒂安
aber das hab ich auch nicht behauptet.
Du hast aber suggeriert, dass es etwas bringen würde - es ist aber faktisch so, dass alle potentiellen Angriffsmöglichkeiten auf MD5 oder SHA-1 für das "knacken" von Passwörtern nicht relevant sind. Die Bekannten Angriffsmethoden beschränken sich auf Birthday-Angriffe - Preimage-Angriffe können nachwievor nicht durchgeführt werden - das ist nachwievor lediglich mittels Brute-Force möglich und dauert selbst auf High-End-Rechnern mehrere Stunden pro Hash.
In dieser Zeit lässt sich eine umfassende Rainbow-Table erstellen - da hat man mehr davon :D
你好 suit,
Du hast aber suggeriert, dass es etwas bringen würde
Nö. Ich sagte, ich würde „trotz alledem” von der Verwendung von MD5 abraten. Warum? Weil umfassende Schwächen von MD5 bekannt sind und man sich nicht mehr auf den Algorithmus verlassen kann.
再见,
克里斯蒂安
Weil umfassende Schwächen von MD5 bekannt sind und man sich nicht mehr auf den Algorithmus verlassen kann.
Das ist aber ein Fehlschluss - die bekannten Schwächen sind nicht sonderlich relevant, dennoch stimme ich dir zu, MD5 gegen einen entsprechend sicheren Algorithmus zu ersetzen :)
你好 suit,
Weil umfassende Schwächen von MD5 bekannt sind und man sich nicht mehr auf den Algorithmus verlassen kann.
Das ist aber ein Fehlschluss […]
Nein, eine Vertrauensfrage.
[…] dennoch stimme ich dir zu, MD5 gegen einen entsprechend sicheren Algorithmus zu ersetzen :)
:)
再见,
克里斯蒂安