Hüsi Geschrieben 20. April 2009 Teilen Geschrieben 20. April 2009 Hallo zusammen, ich versuche gerade in .net ein Progrämmchen zu schreiben, dass erst nach Eingabe eines Passworts funktioniert. Zur Passwortüberprüfung möchte ich den eingegebenen Text nicht direkt mit dem richtigen Passwort vergleichen (müsste ich ja quasi im Klartext in den Quellcode schreiben), sondern mit einer Checksumme oder ähnlichem. textBox.Text.GetHashCode().ToString(); war mein erster Gedanke, allerdings bin ich mir nicht sicher, ob man das sicherheitstechnisch verwenden kann. Was würdet Ihr nutzen? bin für jeden Tip dankbar. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DominikJ Geschrieben 20. April 2009 Teilen Geschrieben 20. April 2009 Ich würde MD5 nehmen. Einwegverschlüsselung und nur durch Bruteforce knackbar. MD5CryptoServiceProvider-Klasse (System.Security.Cryptography) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hüsi Geschrieben 20. April 2009 Autor Teilen Geschrieben 20. April 2009 danke. ich schaus mir mal an.... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 20. April 2009 Teilen Geschrieben 20. April 2009 Ein Hashwert ist nicht nur durch Brutforce "knackbar". Viel beliebtere Attacken sind Rainbow Tables und Wörterbücher. Wörterbücher enthalten einfach viele Wörter die gerne als Passwort verwendet werden und dann in verschiedenen Variationen ausprobiert werden. Das ist zwar im Prinzip auch eine Art von Brutforce aber etwas fortgeschrittener. Rainbow Tabels wiederum enthalten direkt Listen von Passwörtern mit dazugehörigem Hashwert. Da wird dann einfach geschaut ob der gesuchte Hashwert in der Liste enthalten ist und schwupps hat man ein Kennwort dazu. Um das zu verhindern fügt man dem vom Benutzer eingegebenen Kennwort eine zufällige Zeichenfolge (Salt) von optimal mindestens 7 Zeichen hinzu bevor der Hash erzeugt wird. Diese Salt muss dann natürlich zusätzlich zum Hashwert abgespeichert werden, aber dadurch würde die Größe einer benötigten Rainbow Table enorm wachsen da zu jedem Kennwort ja noch ein Eintrag mit allen möglichen Kombinationen einer möglichen Salt existieren müsste. Erst wenn diese Methoden fehlschlagen wird üblicherweise auf primitives Brutforcing zurückgegriffen wo dann einfach der Reihe nach alle möglichen Zeichenfolgen generiert und ausprobiert werden. Allerdings sollte man sich hier auch nicht all zu sehr in Sicherheit wiegen denn bei einer Passwort Länge unter 10 Zeichen hat man das selbst mit Sonderzeichen in kurzer Zeit raus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DominikJ Geschrieben 20. April 2009 Teilen Geschrieben 20. April 2009 Allerdings sollte man sich hier auch nicht all zu sehr in Sicherheit wiegen denn bei einer Passwort Länge unter 10 Zeichen hat man das selbst mit Sonderzeichen in kurzer Zeit raus. Nuja, bei z.B. 8 Zeichen haste schon deine Zeit zu rechnen ... Bei nur Buchstaben, klein und groß sowie Zahlen haste 62 Zeichen Möglichkeiten pro Stelle... entspricht als 62^8. Sind also 2.18340106 × 10^14 Kombinationsmöglichkeiten. rechne ich hierdrauf nochmal die nur normal über die Tastatur eingebbaren Sonderzeichen (an der Zahl 36) habe ich schon 8.50763023 × 10^15 Kombinationen. Sollte der Rechner dann noch 200.000.000 Kombinationen die Sekunde schaffen, haste nen 8 stelliges Passwort in doch relativ kurzer Zeit raus, nämlich nach 98^8/200000000/60/60/24/365 = 1.34887592 Jahren. Nehmen wir an, dass das PW nach 1/4 gefunden ist, dann dauert es nur 123 Tage Aber das dazu. Natürlich muss ein entsprechndes PW gewählt werden. Wenn ein User schlampig damit umgeht, selbst schuld... Übrigens ist es bei md5 gerüchteweise sogar schneller ein beliebiges PW zu finden, welches den gleichn hash bildet ... kann ich mir nicht so wirklich vorstellen bei 36^32 Kombinationen = 6.33402867 × 10^49 Bei dir kommt es an den Use-Case an... ist es eine per web zugreifbare Banking-software muss natürlich der Sicherheitaspekt an erster Stelle stehen. Ist es eine Anwendung, die du lokal auf deinem Rechner betreibst, und deine PWs verwalten willst (mit master pw) ist die Sicherheit natürlich auch nicht zu verachten. Jedoch stellt sich die Frage, wer denn nun dein PW File hacken will ... Edit: Ich weiß wohl das es Wörterbuch-Attacken und dergleichen gibt. Ist auch klar, dass es damit schneller geht (wenn die Kombi dabei is) aber ich sag mal, wie du auch schon bereits erwähnt hast, ist es im gewissen sinne auch BF. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 20. April 2009 Teilen Geschrieben 20. April 2009 Das Problem mit den Sonderzeichen ist nur das viele oft nicht erlaubt sind, sonst stimmt das natürlich. Hier gibts auch ne schöne Übersicht: Brute-Force-Attacke und Passwortlänge Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.