Ich bin ein Kryptographie-Forscher und ich kann mit äußerster Sicherheit sagen, dass SuperGenPass fehlerhaft, unsicher ist und Benutzern ein falsches Gefühl der Sicherheit geben wird, wenn sie es verwenden.Das Ignorieren der offensichtlichen Mangel an Sicherheit in der Bookmarklet Regelung selbst (adressierte oben), hier sind nur einige Verschlüsselungs Gründe, warum Sie sollten niemals SuperGenPass verwenden:
MD5 ist veraltet und wird seit einiger Zeit. MD5 kann nicht für irgendeine Form der Sicherheit verwendet werden.
Der Autor erklärt, dass SuperGenPass kollisionsresistent ist (was völlig falsch ist, aber irrelevant), jedoch beruht die grundlegende Sicherheit des SuperGenPass-Schemas auf dem PreImage-Widerstand. Es scheint, dass der Autor dies nicht versteht und es als "andere mathematische Probleme" bezeichnet. Dies kann leicht unter Verwendung von Rainbow-Tabellen sogar in 128-Bit-MD5 besiegt werden, geschweige denn die gehackte 64-Bit-Version des Autors. Meine Schätzung für die Zeit, die es dauern würde, um ein SuperGenPass-generiertes Passwort zu knacken, wäre ungefähr 2 Tage auf einem Heim-PC, basierend auf aktueller Computer-Hardware.
Der Autor von SuperGenPass behauptet, dass die Sicherheit durch unbestimmte Anzahl von Hashes gewährleistet ist. Dies ist offensichtlich falsch, da der "Indeterminismus" eine Funktion des Passwortes ist. Auch hier können Rainbow-Tische dies leicht besiegen.
Der Autor missversteht völlig den Zweck eines Salzes. Das Salz sollte nach dem Zufallsprinzip generiert werden, nicht ein Produkt eines benutzerdefinierten "Stealth-Passwort" (was auch immer das bedeutet). In dieser Implementierung ist das "Stealth-Passwort" lediglich eine Verschleierung und bietet keine zusätzliche kryptographische Sicherheit. Weitere Informationen finden Sie unter [http://en.wikipedia.org/wiki/HMAC#Design_principles]
Es gibt keine Form der Schlüsselverstärkung, es wird lediglich mit der Domäne verknüpft. Auch dies kann durch Rainbow Tables relativ leicht überwunden werden.
Eine zusätzliche nicht-Verschlüsselungs Ausgabe: von der Domäne zu begrenzen, schlägt der Autor Berücksichtigung mehrerer Seiten auf der gleichen Domain zu nehmen (man denke [hostingprovider] .com/[Benutzer] oder [user] [hostingprovider. ] .com Style Seiten). Wenn Sie bei einer Site ein Passwort haben, kann sich jede Site, die sich dort befindet, nun als unproblematisch ausgeben.
Abschließend scheint der Autor effektiv einen HMAC (Hash-basierten Message Authentication Code), um zu versuchen, und es auf eine Website-Domain anwenden, hat aber einen ziemlich kludgy, Amateur-Versuch es mit wenig gemacht Berücksichtigung gut etablierter kryptographischer Prinzipien. Normalerweise wäre das in Ordnung, so lernen wir und ich hätte kein Problem. Wenn es jedoch andere Benutzer Sicherheit betrifft, ist es nicht gut so viele Benutzer werden diese Methode denken, dass sie sicher sind, wenn sie tatsächlich nicht sind. Sicher, ein hier oder dort gestohlenes Forum-Konto ist nicht wirklich eine große Sache, aber was ist mit Banken? Kreditkarten? Gesundheitsakten? Wenn man bedenkt, dass die meisten US-Banken die SSN des Benutzers gespeichert haben, öffnet dies die Tür für Identitätsdiebstahl.
Der Autor ist grob fahrlässig und möglicherweise strafrechtlich verantwortlich, indem er diese Software zum Zwecke der Passwort-Sicherheit veröffentlicht, ohne auch nur einen flüchtigen Versuch unternommen zu haben, ihn von einem Sicherheitsexperten bewerten zu lassen. Es ist äußerst unverantwortlich, Software zu schreiben und sie basierend auf der Idee des "Denkens", dass sie sicher ist, zu veröffentlichen, besonders wenn Sie kein Experte für kryptografische Konstrukte oder Computersicherheit sind. Wenn jemand bei der Verwendung von SuperGenPass sein Passwort gestohlen hat, fordere ich Sie unter an, mit einem Anwalt zu sprechen. Sie haben möglicherweise einen Zivilprozess gegen den Autor.
Ist das wirklich eine Programmierfrage? –
Ja ist es. [javascript] [code-review] –