Empfohlen hash für Passwörter, die in ASP Classic
Was die niedrigste (also beste) hash-Algorithmus für Passwörter, die in ASP Classic?
EDIT: Für diejenigen, die nicht bewusst, wenn das hashing der Passwörter, langsamer hashes sind bevorzugt, um schneller zu helfen, langsam rainbow-table-style-Attacken.
EDIT2: Und ja, natürlich Geschwindigkeit ist nicht die einzige Sorge für die hash-Auswahl. Meine Frage geht davon aus, dass Alle anderen Dinge gleich sind, der langsamste hash-Methode wird bevorzugt, wenn das hashing eines Passworts. Obwohl Kollision/reverse engineering ist natürlich ein Anliegen, auch ich bin der Priorisierung der Geschwindigkeit in dieser Frage, denn es ist wohl der wichtigste Faktor zu berücksichtigen beim Vergleich von gängigen hash-algorithmen für den Einsatz auf Passwörter.
Dank!
Frage bearbeitet, um zu klären.
Sie wollen eine "starke" hashing-Methode... aber das muss nicht unbedingt gleich "langsam" Die beiden gehen oft zusammen, obwohl, so kann ich die Verwirrung verstehen.
So etwas könnte sehr langsam sein, um zu berechnen, haben aber immer noch eine kryptografische Schwäche. Langsamste einfach nicht, meine beste. Darüber hinaus rainbow-table-Stil Angriffe sind ziemlich geschlagen mit einem Salz.
Salzen Kraft ein Angreifer mit rainbow-Tabelle (dictionary), den Sie nicht besiegen.
InformationsquelleAutor Cory House | 2008-10-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Viele Leute zu sein scheinen Schläge auf die Frage-Fragesteller, weil er auf der Suche für eine langsame hash-Funktion. Tatsächlich, alle anderen Aspekte gleich bleiben, ist eine langsamere hash-Funktion ist sicherer als eine schnelle. Dies ist, weil eine langsamere hash-Funktion führt langsamer Generierung von rainbow tables und langsamer brute Force-oder Wörterbuch-Angriffe auf das Passwort.
Thomas Ptacek an http://www.securityfocus.com/blogs/262, wie verwiesen, die in diesem Coding Horror Artikel:
Einige get Kommentare über das PHP-MD5-Dokumentation auch besprechen Vorliebe für Langsamkeit.
Ihre Frage zu beantworten, es sieht aus wie BCrypt ist der Weg zu gehen. Allerdings habe ich nicht in der Lage zu finden alle Implementierungen für ASP Classic. Wenn das stimmt, würde ich stick mit einer normalen hash-Funktion wie SHA512.
Aber es ist nicht der hash-Funktion, aber die hash-Vergleich, den Sie brauchen, um zu verlangsamen-und selbst dann, würde ich behaupten, dass Sie möchten, dass Ihre normalen Fall schnell sein und nur die Dinge verlangsamen, wenn Sie feststellen, dass ein Angriff, sagen wir nach 10 Fehlversuchen in 15 Minuten. Dann verlangsamen Sie es eine Menge.
Vielen Dank für dieses posting-link. Rechts auf dem $.
Ihr Punkt ist gültig, es sei denn, wir gehen davon aus, dass die Angreifer Zugriff auf Ihre raw-hashes (und ich denke, wir sind, wie die rainbow-Tabellen hat angenommen, dass es sich wie ein Angriff). Dann ist Ihre Anwendung begrenzt sich nicht auf alles, nur die Geschwindigkeit der hash-Funktion wird sich verlangsamen ihn unten.
InformationsquelleAutor ine
Werde ich ignorieren, der langsame Teil, und stattdessen gehen für das "gute" Teil.
Ich schlage vor, Sie verwenden SHA-512 mit salt zu besiegen Wörterbuch-und rainbow-table-Angriffe. Ich glaube nicht, dass es irgendwelche bekannten Schwachstellen bei SHA-512.
Trotzdem, du hast Recht...auf jeden Fall verwenden Sie eine Salz.
Bearbeitet für die Richtigkeit - vielen Dank.
Aber man muss hinzufügen jedes Salz jedes Wort aus dem Wörterbuch, so dass es enorm mehr Zeit und Platz verbrauchen.
Downvoters: fügen Sie bitte einen Kommentar, sonst wird die Abstimmung ist relativ nutzlos.
InformationsquelleAutor Jon Skeet
Wenn Sie versuchen, Sie zu besiegen brute-force-Attacken, die Sie sind besser dran, die Durchsetzung einige fehlgeschlagene versuche, Fenster - /count-eher als sich auf die Geschwindigkeit des hashing (oder hash-Vergleich) - Mechanismus, um den Angriff länger dauern, um erfolgreich zu sein. Sperren den account nach einer bestimmten Anzahl fehlgeschlagener Anmeldeversuche innerhalb der Fehler-Fenster und lassen nur neue versuche gemacht werden, nachdem eine beträchtliche Zeit verstrichen ist.
Könnte dies für eine DOS-Attacke gegen einen bekannten (Administrator) - Konto, aber Sie konnte befreit bestimmte Konten aus der lockout-Politik oder eine Alternative Art und Weise-mit einem Sicherheits-Frage/Antwort -- für die Anmeldung zu einem gesperrten Konto, bevor die reset-Zeit verstrichen ist.
[BEARBEITEN] Hilfe im Kampf gegen rainbow-Angriffe-wo der Angreifer abgerufen hat Ihre Hash-Passwörter und findet passende matches, dass hash, um die gleichen Werte -- betrachten Sie sowohl mit einem zufälligen salt für jeden Benutzer einmalig ist gehashte Passwort und eine Feste Salz, der Teil des Algorithmus, nicht die Daten. Zum Beispiel:
Sollte dies zur Unwirksamkeit der rainbow-Tabellen da, auch zu wissen, die Benutzer-salt und den hash-Algorithmus, die Werte des Angreifers rainbow-Tabellen nicht anzeigen auf Ihrem Hash-Passwörter aufgrund der Zugabe des festen Salzes in den Algorithmus.
Mit ASP-Classic, Sie würde tun müssen, diese in einer Bibliothek anstatt auf die Seite, um sicherzustellen, dass der Benutzer nicht sehen konnte, Ihre Feste Salz.
Er ist derjenige, der genannten rainbow-tables, ich war nur als Reaktion auf seine neben. Wenn er abgerufen Ihre Hash-Passwörter, es wird nicht egal, welchen Algorithmus oder die Geschwindigkeit, da er im Grunde unendlich viel Zeit zu knacken die Passwörter -- vermutlich kann er die farm, die Sie an alle die Maschinen, die er bereits geknackt, es zu tun in parallel. Die beste Lösung ist immer noch die Begrenzung für die Anzahl der fehlgeschlagenen versuche, zu besiegen brute-force-Attacken (die der Annahme war, bis er bearbeitet ist), und fügen Sie einige Feste Salz zusätzlich zu dem gespeicherten Salz bei der Berechnung der Hash-Passwort, um die Probleme der Kompromiss.
"Mit ASP-Classic, Sie würde tun müssen, diese in einer Bibliothek anstatt auf die Seite, um sicherzustellen, dass der Benutzer nicht sehen konnte, Ihre Feste Salz." Wie würden die user sehen das Salz, wenn es auf der Seite, dh. innerhalb des Codes?
InformationsquelleAutor tvanfosson
Capicom-Dokumentation
Algorithmus ist einer der folgenden:
InformationsquelleAutor svinto
Eigentlich die beste hash-Funktion, erzeugt keine colisions und ist nicht suspectible um rainbow-table-Angriffe.
Das bedeutet: Hinzufügen von Salz (vorzugsweise ein anderes Salz für jeden Benutzer), und denken mit einem SHA2-Hash-Funktion (oder vielleicht RIPE-MD, die ich nicht sah, dass viel):
Einer Implementierung von SHA-256 ist hier (ich Liebe es, wie Sie es nennen "ein-Weg-Verschlüsselung"):
http://www.freevbcode.com/ShowCode.Asp?ID=2565
Habe es nicht getestet, aber es gibt sicherlich SHA2-Implementierungen für Klassische ASP.
InformationsquelleAutor Michael Stum
Ich persönlich bevorzuge die Whirlpool Algorithmus für alle meine hashing muss. Es erzeugt einen 512 bit-Ausgabe und hat somit gleich Platzbedarf und SHA-512. Leider kann ich nicht sprechen maßgeblich, ob eine sicherer als das andere, aber es nicht erscheinen zu sein irgendwelche eklatanten Schwächen, die in dieser Dritten version von Whirlpool.
Die Referenz-Implementierungen sind in der public domain, was gut ist, denn ich finde selten diese umgesetzt werden standardmäßig in verschiedenen tools und Sprachen.
(Wenn jemand weiß, einen guten Grund, warum SHA sollte favorisiert werden über Whirlpool, lassen Sie es mich bitte wissen).
InformationsquelleAutor Omniwombat
psuedocode für die langsamste Methode:
Dies ist zweifellos nicht der sicherste (oder überhaupt), aber es ist langsam...
(Ich bin nur darauf hin, dass es langsamer ist, nicht die Antwort...)
Sie können verdoppeln Sie die Effizienz durch die Verwendung von "schlafen für 20 Sekunden" 😉
InformationsquelleAutor chills42