2009-02-16 8 views
11

Ich überprüfte die 981 Codezeilen für die aktuelle Version von http://supergenpass.com und habe nichts gefunden, jedoch könnte ich etwas verpasst haben. Ich möchte nur bestätigen, dass es nichts überträgt, also kann ich es verwenden und es anderen vorschlagen. Ich verwende KeePassX bereits, um Passwörter und andere Informationen zu speichern. Und ich mag die Theorie hinter der Verwendung von SuperGenPass (und dem ursprünglichen Skript), weil es ein eindeutiges Passwort für jede Site basierend auf der Domain und Ihrem Master-Passwort erstellt. HierKann der Bookmarklet Password Generator von SuperGenPass.com sicher verwendet werden?

ist ein Link auf die Javascript-Datei: http://supergenpass.com.nyud.net:8090/SGPv4.js

Ist das Bookmarklet Password Generator von SuperGenPass.com sicher?

+0

Ist das wirklich eine Programmierfrage? –

+0

Ja ist es. [javascript] [code-review] –

Antwort

5

Meine Sorge mit SGP ist eigentlich nicht Stealth-Übertragung. Sobald jemand vermutet, dass Sie SGP verwenden (es ist ziemlich offensichtlich, wenn sie irgendeines Ihrer Passwörter sehen können), kennen sie den genauen Algorithmus für die Kodierung Ihrer Passwörter. Wenn ein Angreifer ein einzelnes Beispiel eines SGP-generierten Passworts und der Site-URL (z. B. eines beliebigen Administrators für eine Site, mit der Sie SGP verwenden) erhalten kann, haben Sie einen guten Ausgangspunkt, um Ihre gesamte Passwortliste zu knacken. Da die allgemeine Idee mit Master-Passwörtern darin besteht, dass Sie etwas "Einfaches" verwenden können, können sie die üblichen Ratespiele starten, bis sie mit dem Hash der Site übereinstimmen, die sie kennen und voila, dass Sie vollständig kompromittiert sind.

+1

Wenn Sie also ein sehr kompliziertes Passwort verwenden, sagen Sie eines, das von https://www.grc.com/passwords.htm oder ähnlichem generiert wurde. Würde das die Sicherheit erhöhen? Ich werde es nicht nur für Banking-Mitgliederseiten verwenden. –

+5

Die Idee ist nicht, alle Ihre Passwörter durch ein einfaches Master-Passwort zu ersetzen, sondern nur ein wirklich starkes Passwort zu haben. Sie müssen Ihr Master-Passwort so stark machen, dass Sie alle Ihre individuellen Passwörter verwenden würden, wenn Sie nicht SuperGenPass verwenden würden. – Ferruccio

1

Nein, es überträgt nichts.

+0

danke für die Bestätigung. –

+0

@airportyh, Weitere Details bitte. Z.B. Welche Schritte haben Sie unternommen und wie sind Sie zu diesem Schluss gekommen? – Pacerier

2

Offensichtlich möchten Sie nicht die Datei direkt von dieser Website einschließen. In diesem Fall könnte es jederzeit geändert werden, um die übergebenen Passwörter aufzuzeichnen.

+1

guten Tipp und ich stimme voll und ganz zu. Ich würde es auf meiner Website und lokalen Laufwerk setzen. g –

3

SuperGenPass is not safe, wenn Sie der Website nicht vertrauen können, verwenden Sie es vollständig.

+2

Für die Aufzeichnung gilt diese Sicherheitsanfälligkeit nur für das Bookmarklet - weder das Konzept noch der Algorithmus. –

10

Wie eine andere Antwort angegeben, gibt es eine ernsthafte Sicherheitslücke in SGP: http://akibjorklund.com/2009/supergenpass-is-not-that-secure.

Es gibt jedoch Schritte, die Sie ergreifen können, um SuperGenPass sicherer zu machen. Dies wird durch Erstellen eines benutzerdefinierten Bookmarklet erreicht. Sie können dies unter folgendem Link tun: http://supergenpass.com/customize/?advanced.

1) Passen Sie Ihren SGP an eine längere Standardpasswortlänge an (ich schlage 11 - 15 vor ... und Sie werden auf einigen Webseiten Probleme bekommen, die die Passwortlänge einschränken).

2) Erstellen Sie ein Stealth-Passwort. Dies ist sehr wichtig, um die oben erwähnte Schwachstelle zu besiegen. Diese Funktion fügt automatisch ein "Salz" am Ende Ihres normalen Master-Passworts hinzu. Dieses "Salz" ist mit der Sicherheitsanfälligkeit nicht verfügbar.

3) Wenn Sie Chrome verwenden, können Sie eine SGP-Erweiterung (anstelle des Bookmarklets) erhalten. Da Chrome Erweiterungen in seiner eigenen Umgebung ausführt, ist es von der besuchten Website aus nicht zugänglich und daher nicht anfällig für Angriffe.

*) Nur für fortgeschrittene Benutzer: Bearbeiten Sie den Hashalgorithmus im Bookmarklet. Dann haben Sie Ihre persönliche Kopie von SGP, die nur Hashes für Sie generiert.

+0

Danke - gute Vorschläge. Seien Sie sicher, dass Sie einen Weg finden, eine gut erhaltene Aufzeichnung und Zugang zu all Ihren Mods zu haben, so dass Sie sich unter wichtigen Umständen (wie zum Beispiel nach einem Festplattencrash oder im Urlaub) keinen Dienst versagen. – nealmcb

+1

Beachten Sie, dass an dieser Stelle drei Chrome-Erweiterungen vorhanden sind. Einige Experten Analyse und Beratung für die Auswahl zwischen ihnen wäre hilfreich. Es gibt auch eine Open-Source-Android-App von staticfree.info. – nealmcb

6

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:

  1. MD5 ist veraltet und wird seit einiger Zeit. MD5 kann nicht für irgendeine Form der Sicherheit verwendet werden.

  2. 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.

  3. 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.

  4. 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]

  5. 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.

  6. 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.

+4

Sein Code ist unter der GPL veröffentlicht, die KEINE GARANTIE bietet. Tatsächlich heißt es in seinen FAQ, dass Sie es nicht verwenden sollten, wenn Sie nicht vollständig verstehen, wie es funktioniert. In diesem Sinne ist es etwas albern zu behaupten, dass es sogar eine Möglichkeit gibt, ihn wegen irgendwelcher Schwächen in SuperGenPass zu tadeln. –

+0

Das stimmt, ich stimme den Punkten 1 und 3 vollkommen zu. Ich denke, dass das in Punkt 4 erwähnte "Stealth-Passwort" leicht eine Form eines tragbaren Salzes sein könnte, auch wenn es den Bitspace nicht sehr gut nutzt. Punkt 6 ist nur für eine sehr begrenzte Anzahl von Anwendungen relevant und jeder Benutzer von SuperGenPass wird sich dieses Problems bewusst sein. –

+5

Alles, was gesagt wurde, ist mit SuperGenPass viel besser als einige der beunruhigend gemeinsamen Alternativen: 1) mit dem gleichen Passwort auf jeder Seite, 2) mit einem manuellen "Hash" auf jeder Seite (z. B. "dig" für "dig. com "), 3) mehrere leicht zu merkende schwache Passwörter verwenden, 4) all Ihre Passwörter vergessen, weil sie zu schwer zu merken sind. –

2

Ich habe einen Passwortgenerator namens 1pass4all implementiert. Es ist sicherer als SGP, da es auf SHA-2 anstelle von MD5, HMAC statt einfacher Verkettung von Domain und Master-Passwort, basis94 (alle druckbaren Zeichen) statt base64 basiert.Außerdem unterstützt es anpassbare Salz- und Hash-Iteration (für Key-Stretching). Außerdem kann 1pass4all den Benutzernamen berücksichtigen, was bedeutet, dass das gleiche Master-Passwort auf der gleichen Website zu unterschiedlichen Passwörtern führt, solange sich die Logins unterscheiden. Für fortgeschrittene Benutzer unterstützt 1pass4all auch eine spezielle Passwort-Syntax, so dass sie Benutzername, Domain, Passwort-Länge, Salz, Hash-Iteration, Passwort-Zeichensatz, automatische Erkennung von Benutzernamen, Auto-Login usw. im Passwortfeld angeben können (anstelle eines Pop-up-Formulars) im laufenden Betrieb.

Wenn Sie Interesse oder Frage haben, bitte hinterlassen Sie Ihre Nachricht auf my blog.

Verwandte Themen