Meiner bescheiden Meinung nach ist es eh unsinn, da es nur bedingt mehr Sicherheit bringt (bzw. man glaubt das es sicher ist). Man muss halt nur den Angriff verlagern, und selbst das ist sicherlich kaum nötig da irgendein User sicherlich ein unsicheres oder zumindest schwaches PW benutzt. (Da es bisher ja keine Passwortcheck / Kennwortrichtlinien gibt)
Die einzige Sicherheit die dir so ein PW bringt, ist sicherheit beim hash-vergleich (Rainbow Table), wobei ilch da durch die Runden schon mehr sicherheit mit bringt, als Varainten nur mit MD5 oder SHA.
Im zweifel bleibt immer noch die Brute-Force Variante, die zumindest bei einfachen Passwörtern, sehr gute erfolge hat. Und welche PW häufig und somit gerne benutzt werden.... hat man ja z.b. bei Adobe / Sony und und und gesehen. 2/3 aller Passwörter dieser Seiten konnten ohne Probleme per Rainbow Table entschlüsselt werden. und nur 4% des letzten drittels hatte ein PW aus Buchstaben (groß / klein) und Ziffern.... was ja mal eine Ansage ist.
Weitere Probleme bei langen Passwörtern:
Bei langen PW neigen Benutzter auch dazu diese im Browser zu speichern oder sich per Cookie identifizieren zu lassen, was dann ebenfalls wieder unsicher ist. Da man so ggf. die Session übernehmen könnte oder einfach das PW aus dem Browser klauen könnte.
Wer so auf sicherheit setzt, muss halt auch auf seinem PC für diesen Faktor sorgen.... und da happert es bekanntlich recht häufig.
Du musst alleine nur FileZilla als FTP Programm benutzen (FZ ist hier nur als beispiel genannt, andere können sicherlich auch betroffen sein) oder eine unverschlüsselte FTP Verbindung benutzen (siehe Beitrag von Mairu
externer Link
Auch bingt es beim einfachen "Man in the middle" Angriff rein garnichts, da das PW im Klartest übertragen wird, solange keine https verbidnung benutzt wird... einzig der Aufwand wird größer und verlagert sich auf andere Bereiche.
Fazit: Toller versuch für etwas pseudo Sicherheit, die dank deiner Benutzer, anderen Kunden auf dem Server oder unsicheren PHP Skripten eh wieder zu nichte gemacht wird.
Sicherheit ist halt relativ, alleine ein Passwort mit z.b. xxx Tbit bringt dir rein garnichts, wer wirklich will hat noch genug angere möglichkeiten sich seinen weg zu suchen.
Ob sich der aufwand (für einen User) also gelohnt hat steht in den Sternen
____________________________________________________
[b]Mal so ein gedanke:[/b]
Mal ganz davon abgesehen.... was ich mich grade frage.... gehen wir mal davon aus das die sicherheit bei einem langen und kurzen pw aus buchstaben (nur kleine) und Zahlen identisch wäre, sprich 32 Zeichen aus a-z & 0-9 sind genau so sicher wie 6 Zeichen aus a-z & 0-9 (Theorie / Annahme)
die sicherheit würde somit nur aus der Kompexität der Zeichenkette folgen.
.... und ich nun so vorgehe wie dein einer User...
Das ist mein beispiel PW : Tv\q\hww&oa#&[+f/ly(ö.{(.*-k$jt+
mit 32 Zeichen!
Dann haut dein User dieses PW in eine MD5 (oder andere Hash kodierung)
da folgt dann sowas raus: (Betrachtet werden mal nur md5 und SHA1, da diese noch häufig im web genutzt werden)
[b]md5 :[/b] c0b1bc3f6be0f9ca42cb80574913ed1f
ebenfalls 32 Zeichen
[b]sha1 :[/b] 25334ff903005eb7761b0da0e69007fcddfd7bcf
40 Zeichen
[i]je nach Bit Rate und Hash ändert sich die Anzahl der Zeichen, aber es ist ja nur ein Beispiel (beachte die Annahme oben bitte).[/i]
Was ist nun passiert:
Die Komplexität eines PW geht zu gunsten einer definierten Zeichenlänge verloren... da ein hash (jetzt mal abgesehen vom ilch algorythmus oder anderen Varainten mit Salt) nur aus Ziffern und buchstaben besethen (und dann i.d.r. auch nur aus kleinen oder großen)
Im Endeffekt bedeute dies, das er sich sein PW mit z.b. 32 Zeichen (sehr komplex) durch ein neues mit 32 Zeichen (beim MD5) (nicht mehr Komplex) ersetzt...
Also irgendwo ist da ein denk fehlers deines Users (von mehr sicherheit kann da nicht die rede sein)! Klar die länge bingt hier wieder sicherheit mit aber selbes könnte er mit einem kurzen PW (Komplex) auch erreichen und hat diesen unsinnigen Aufwand nicht mehr!
[b]
Wie geasgt, es ist ein beispiel mit einfachen Annahmen und ohne die Verwendung von Runden, Salt oder anderen besseren Algorithmen...
[/b]
Wirklich was bringen tut dieses vorgehen nur bei einfachen Passwörtern mit wenigen Zeichen.
Zum beispiel beim Passwort "Feuerwehr".
Sicherheit erstmal gleich null, da es per Rainbow Table sofort gekanckt wird. Als MD5 : 9dc5b538a08f4355b90b46d4be899fbb
Da der User aber bei der Eingabe in der Webseite, nun den Md5 eingibt...und somit 32 Zeichen statt 9, ergibt sich glücklciherweise ein Passwort mit besserer sicherheit (wenn es auch immernoch nicht komplex ist)....
Md5 des Md5: 664fc96c11b53ef176349f51f827d408
dieser wird natürlich im Rainbow Tab. so nicht gefunden...
________________________________________________
[b]Mal was zur Sicherheit von diesen Zeichenketten ohne komplexität:[/b]
[i]Bei einer Brute-Force-Attack also ohne Rainbow-table[/i]
Beispiel: 9dc5b538a08f4355b90b46d4be899fbb
[a-z] = 26 Zeichen
[0-9] = 10 Zeichen
Zusammen [b]36 Zeichen[/b], ein standard Hash (md5) hat immer 32 Zeichen
also ergibt sich
36 ^32 = 63340286662973277706162286946811886609896461828096 [Varianten]
Eine gute Software mit ordentlich Hardware kann per Brute-Force-Attack 2.096.204.400 (rund knapp 2,1 Milliarden) Wörter pro Sekunde probieren.
somit ergibt sich
36 ^32 / 2.096.204.400 = 30216655714954742822867029067781694671519.8488411225546516 [Sekunden]
(Um alle Möglichen Kombinationen zu probieren)
Das bedeutet, man braucht ca. 9.57528491 × 10^32 Jahre um das PW zu knacken
zum vergleich, dass Universum ist nur 13.7 * 10^10 Jahre alt!
So oder so, es ist völlig überzogen und unsinnig... aber wer es braucht... warum nicht :D
p.S Das gewählte Passwort (Tv\q\hww&oa#&[+f/ly(ö.{(.*-k$jt+ ), war noch tausend mal sicherer durch die mehrzahl der Sonderzeichen.... (Wie gesagt das vorgehen deines Users ist ein rückschritt im Thema sicherheit)
[b]Weil ich es echt nochmal wissen wollte[/b]
Alle Zeichen auf einem Standard Keyboard
Beispiel Passwort: Tv\q\hww&oa#&[+f/ly(ö.{(.*-k$jt+
[a-z] 26 Zeichen
[A-Z] 26 Zeichen
[0-9] 10 Zeichen
[!"§$%&/()=?`^°²³{[]}\´+*~#'äöü,.-_:;µ@] 38 Zeichen
*** Verdammt hab ÄÖÜ vergessen ***
Zusammen 100 Zeichen, wieder ein String mit 32 Zeichen
32 ^ 100 = 3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376 [Varianten]
32 ^ 100 / 2.096.204.400 = 1561579876416699568998705325123637347682622002913010195705767704760153063510731374709102839554150424047810740273019210821815494970760195452947 [sekunden]
macht: 4,94845372 × 10 ^ 133 Jahre
nochmal als Zahl:
49517373047206353659268941055417216758074010746861053897316327522835903840396098893616908915339625318613988466293100292421851058179864.1 Jahre
Die Zahl als [url=http://upload.404studios.com/data/public/e64065.php?lang=de]Wort[/url]
Ich glaube das erlebt keiner mehr
Puhh etwas lang geworden, liest sicherlich eh niemand
Zuletzt modifiziert von Revolution am 10.03.2014 - 15:54:39