|
 |
tuffz
Administrator
    

Dabei seit: 01.09.2005
Beiträge: 1.499
 |
|
| md5() oder sha1()? |
|
Hoi,
ich war gerade ein wenig am rumsurfen als ich mir eine Frage stellte
Was ist eigentlich sinnvoller md5() oder sha1() zum verschlüsseln von Passwörtern?!
md5 liefert 32 Zeichen
sha1 hingegen 40 Zeichen
Zudem gibt es ja einige Portale im Internet wo man anhand einens md5-hash's das Passwort zurück geliefert bekommt.
__________________ Mit freundlichen Grüßen
tuffz.de Administrationsteam
Meine Projekte:
tuffz.de
|
|
19.05.2008 02:54:19 |
|
|
Dominator
Doppel-As

Dabei seit: 21.11.2007
Beiträge: 117
 |
|
ich hab bisher immer nur md5 benutzt, wobei ich auch echt keine ahnung davon hab ^^(kannte sha1 nichtmal...)
wusste zB auch noch nicht das es im internet portale gibt wo einem ausm md5 das passwort errechnet wird, das finde ich ja nun doch ein bisschen bedenklich...
also eigentlich kann ich dazu nur sagen: würde mich definitiv auch interressieren!!^^
|
|
19.05.2008 20:50:39 |
|
|
Dominator
Doppel-As

Dabei seit: 21.11.2007
Beiträge: 117
 |
|
hmm, weisst du ob eins von beiden den server mehr anstrengt?^^ also ich könnte mir vorstellen das sha1 langsamer ist aber etwas sicherer, aber für häufige zugriffe eher md5 verwendet wird oder so. ansonsten würden doch alle sha1 benutzen wenn es sicherer is ^^
|
|
20.05.2008 05:37:58 |
|
|
donni
Doppel-As
Dabei seit: 03.09.2005
Beiträge: 126
 |
|
Um aus einem Passwort den sha1 Hast zu berechnen braucht der Server sicher etwas länger, nur das kann man mehr als vernachlässigen
Theoretisch wäre es möglich jedes md5 oder auch sha1 Passwort zurück zu berechnen. Mann muss sich nur eine Datenbank anlegen und per Brute Force Verfahren möglichen Zeichenkombinationen als Passwort und die datzgehörogen md5 / sh1 Hashs generieren und in eine Datenbank schreiben. Dann braucht man nur den Hash in der Datenbank suchen und hat das dazugehörige Passwort. Wäre mit viel mühe natürlich möglich. Aber die Datenbank würde auch schnell wachsen
Sagen wir mal Klein- & Großbuchstanben + Ziffern + 20 Sonderzeichen = 82 Verschiedene Passwortzeichen.
Für ein 6 Stelliges Passwort würde dies schon 82 ^ 6 = 304006671424 Kombinationen entsprechen. Dazu müssten halt auch 304.006.671.424 Hashs generiet und gespeichert werden.
In der Datenbank würde das pro Datensatz im UTF8 Format einen Bedarf von 6 Byte (Passwort) und 32 Byte (md5 Hast) bedeuten also 38 Byte. Bei 304.006.671.424 Datensätzen ist das ein Speicherbedarf von 10758,9 GigaByte bedeuten. Dazu könnte man noch ausrechnen wie lange die Generierung der Hashs dauert.
Aber wie lange ein SELECT dauert möchte ich gar nicht wissen.
Trotz Indizierung wird eine Session eh schon abgelaufen sein. Und dieses Beispiel ist nur für 6 stellige Passwörter.
|
|
20.05.2008 16:13:29 |
|
|
Dominator
Doppel-As

Dabei seit: 21.11.2007
Beiträge: 117
 |
|
nettes rechenbeispiel
damit is die frage was nun besser is aber auch noch nich geklärt ^^
|
|
21.05.2008 18:53:34 |
|
|
donni
Doppel-As
Dabei seit: 03.09.2005
Beiträge: 126
 |
|
setz in die rechnung einfach 40 statt 32 Byte als Länge für den Hash ein. Ich wollte damit sagen für diese "Angriffsmöglichkeit" sind beide relativ unanfällig.
Wie es mit dem zurück berechnen des Passwortes aus dem Hash aussieht weiss ich auch nicht. Aber md5 gibt es ja nun schon ewig & es wurde noch nicht geknackt bzw ist mit kein Verfahren zur Rückberechnung gefunden.
|
|
22.05.2008 00:38:13 |
|
|
tuffz
Administrator
    

Dabei seit: 01.09.2005
Beiträge: 1.499
Themenstarter
 |
|
Also kann man weiterhin ohne Angst zu haben md5() benutzen?
Wenn md5 schon sicher ist, warum gibt es dann sha1() bzw wofür nutze ich denn sha1, ich könnte doch für alles md5() nehmen oder nicht?
__________________ Mit freundlichen Grüßen
tuffz.de Administrationsteam
Meine Projekte:
tuffz.de
|
|
22.05.2008 12:10:09 |
|
|
donni
Doppel-As
Dabei seit: 03.09.2005
Beiträge: 126
 |
|
Statt von md5 auf sh1 zu wechseln wird der Sicherheitsfaktor durch gesetzte Anforderungen das die Passwörter sehr viel mehr erhöht. Z.b. eine Mindestlänge von min 8 Stellen und Ziffern zur Pflicht machen. Vllt noch mindestens ein Sonderzeichen im Passwort verlangen.
|
|
23.05.2008 16:55:50 |
|
|
Dominator
Doppel-As

Dabei seit: 21.11.2007
Beiträge: 117
 |
|
ich hasse es wenn ich mich irgendwo anmelden will und die mir dann sagen was ich für ein passwort zu nehmen habe... is doch mein problem wenn mein passwort unsicher is weil es nur aus 3 buchstaben besteht!^^ bei vielen seiten isses mir kack egal wie sicher mein passwort is, aber dann bestehn die auf mind. 8 zeichen mit sonderzeichen und sonen kack... also ich werde bei keiner seite dem user vorschreiben was für ein passwort er zu benutzen hat...
aber wenn sha1 sicherer als md5 is, spricht doch nix dagegen sha1 statt md5 zu nehmen oder? nicht das md5 zu unsicher ist, aber je sicherer desdo besser oder?^^
|
|
24.05.2008 18:50:49 |
|
|
tuffz
Administrator
    

Dabei seit: 01.09.2005
Beiträge: 1.499
Themenstarter
 |
|
Also soweit wie ich das verstanden habe ist sha1 zwar sicherer allerdings auch rechenaufwendiger. Was natürlich wiederum heißt das wenn zig tausende Mitglieder bzw User da mitmachen wird sha1 zu "aufwendig". Für den Server was wiederum den Server in die Knie zwingt.
Allerdings gibt es wie donni schon gesagt hat wohl keine direkte "Dekodierung" was wiederum heißt das md5 noch relativ sicher ist.
Ich bin auch am überlegen allerdings macht es ja eigentlich keinen unterschied ob nun 32 Zeichen oder 40 Zeichen kontrolliert bzw abgeglichen werden...
Ich werde wohl md5 weiterhin nutzen
__________________ Mit freundlichen Grüßen
tuffz.de Administrationsteam
Meine Projekte:
tuffz.de
|
|
25.05.2008 03:01:47 |
|
|
donni
Doppel-As
Dabei seit: 03.09.2005
Beiträge: 126
 |
|
Naja das bisschen Rechenaufwand mehr für sha1 zu md5 ist wirklich kein Faktor.
Das macht sich wirklich nicht bemerkbar. Ist also absolut zu vernachlässigen!
|
|
25.05.2008 03:47:20 |
|
|
yave
Moderator
   

Dabei seit: 01.11.2005
Beiträge: 508
 |
|
md5 geht definitiv nur in eine richtung!
blieb bei md5 und füg nen salt zu dann ist es sehr viel sicherer und der aufwand ist gering.
google einfach nach salted md5 oder ähnlichem.
__________________ Versuchungen sollte man nachgeben, Wer weiß, ob sie wiederkommen!
(Oscar Wilde)
|
|
25.05.2008 22:55:46 |
|
|
donni
Doppel-As
Dabei seit: 03.09.2005
Beiträge: 126
 |
|
|
26.05.2008 02:42:30 |
|
|
Dominator
Doppel-As

Dabei seit: 21.11.2007
Beiträge: 117
 |
|
jou das is echt ne nette idee mit dem salt. darauf muss man erstma kommen ^^
|
|
27.05.2008 05:51:03 |
|
|
Sporn
Foren As
   
Dabei seit: 28.01.2008
Beiträge: 81
 |
|
Das wusste ich bisher auch noch nicht...
|
|
27.05.2008 22:21:41 |
|
|
panda
Mitglied
 
Dabei seit: 11.09.2008
Beiträge: 32
 |
|
Um zum Thema zurück zu kommen, was ist denn nun besser?!
md5() mit salt oder sha1()
ich benutze seit längerem immer md5() mit salt, sha1() hab ich bisher noch nie benutzt.
|
|
07.02.2009 04:05:00 |
|
|
donni
Doppel-As
Dabei seit: 03.09.2005
Beiträge: 126
 |
|
Dabei sollte man beachten:
| Zitat: |
| Because of the way md5 hashes are calculated, it is also important to use salts that are NOT 64 characters, because MD5 will split the string in blocks of 64 bytes each (16 'words'). |
Quelle: http://de.php.net/manual/de/function.md5.php#87483
|
|
07.02.2009 14:01:31 |
|
|
panda
Mitglied
 
Dabei seit: 11.09.2008
Beiträge: 32
 |
|
Heißt also das sha1() besser ist als md5()+salt oder habe ich das jetzt falsch verstanden?
|
|
08.02.2009 00:06:36 |
|
|
Dominator
Doppel-As

Dabei seit: 21.11.2007
Beiträge: 117
 |
|
na so wie ich das verstanden habe ist sha sicherer aber langsamer
|
|
22.02.2009 16:07:08 |
|
|
|
|
 |
|