it-swarm.com.de

Gemustertes Passwort, basierend auf dem Site-Namen

Ich denke darüber nach, ein Muster für meine Passwörter zu implementieren, wobei ich die folgenden Ideen verwende:

  1. Hauptkennwort, das ich nirgendwo speichere
  2. Ein Algorithmus, der es basierend auf der Site, auf die ich zugreife, entstellt

Wenn ich zum Beispiel das Hauptkennwort M habe, gehe ich zur Website Paypal (P) und führe einen relativ einfachen Algorithmus in meinem Kopf aus A(M, P), der das Kennwort für Paypal erzeugt. Der Algorithmus ist konsistent, führt jedoch für verschiedene Standorte zu unterschiedlichen Ergebnissen.

Vorteile:

  1. Das Stehlen von 1 oder 2 Passwörtern setzt mich keinem weiteren Risiko aus.
  2. Ich benötige keine Speicher- oder Passwortverwaltungs-Apps.
  3. Keylogger kann nur eine begrenzte Anzahl von Passwörtern stehlen.
  4. Da ich keinen Speicher benötige, kann ich meine Passwörter nicht wirklich verlieren.

Nachteile:

  1. Wenn mein Algorithmus irgendwie leckt, kann das Hauptkennwort aus wenigen bekannten Kennwörtern wiederhergestellt werden.
  2. Dies erschwert die Eingabe von Passwörtern. Dafür kann ich allerdings eine kleine App für mein Handy schreiben. Das Generieren eines Site-Passworts kann in bestimmten Situationen problematisch sein.
  3. Das Ändern von Passwörtern ist ebenfalls ein Problem, aber dies kann durch Hinzufügen der 3. Parameterversion A(M, P, V) hinzugefügt werden, und ich kann nur die Version speichern. Oder speichern Sie es in einem Passwort-Hinweis.

Ist es eine gute Idee?

30
Andrey

Da die Frage so bearbeitet wurde, dass sie nicht mehr auf "Zwei-Faktor-Authentifizierung" verweist, werde ich meine Antwort erneut vampieren, aber das Original unten belassen.


Die Idee, ein "Basiskennwort" zu haben, an das Sie entweder ein paar Zeichen anhängen oder auf irgendeine Weise "entstellen", um es für jede Site eindeutig zu machen, ist ein ziemlich häufiger Trick, den selbst einige Sicherheitsexperten verwenden (bis sie Kennwortmanager bei übernehmen am wenigsten).

Wie sicher ist dieses Schema? Nun, es ist besser, als für alles dasselbe Passwort zu verwenden, und schlechter, als völlig andere und nicht verwandte Passwörter zu verwenden. Wo genau es in diese Zeile fällt, ist Ansichtssache (was sicher andere Antworten liefern werden).

Meiner Meinung nach spielt es keine Rolle, wo es sich in der Leitung befindet, weil Sie sich entweder Sorgen darüber machen, dass Leute Ihre durchgesickerten Passwörter auf Muster analysieren, oder nicht. Aus meiner Sicht gibt es zwei Arten von Angriffen (oder "Bedrohungsmodellen"), über die man sich Sorgen machen muss:

  1. Ein "Drive-by" -Wörterbuchangriff durch ein Massencracking-Tool unter Verwendung von Standardwörterbüchern. Sie versuchen normalerweise, die 40% der Benutzer mit schwachen Passwörtern zu ermitteln, die dasselbe Passwort von Site zu Site erneut verwenden, und gehen dann zu einem neuen Passwortleck über.

  2. Sie werden persönlich angesprochen - menschliche Zeit und Rechenleistung werden aufgewendet, um Ihre zuvor durchgesickerten Passwörter zu analysieren und nach einem Muster zu suchen.

Wenn Sie sich nur um 1) Sorgen machen, können Sie möglicherweise mit einer sehr einfachen Mangling-Regel davonkommen, um Ihr Passwort von den Standardregeln in handelsüblichen wörterbuchbasierten Cracking-Tools zu entfernen. Selbst hier hoffen Sie, dass Ihr "Trick" nicht populär genug ist, dass Hacker ihn ihren Regelsätzen hinzugefügt haben. Wenn Sie sich Sorgen machen über 2), wird irgendwann jede Art von Muster herausgefunden.

Am Ende des Tages: "Ist es sicher genug?" hängt von Ihrem Risikomanagement und der Wichtigkeit der Sache ab, die Sie schützen: Grob gesagt, wenn (Wahrscheinlichkeit eines Verstoßes) X (Wert der verlorenen Daten)> (Sicherheitsstufe), sollten Sie Ihre Sicherheit erhöhen. Wenn Sie sich genug Sorgen um Ihre Passwörter machen, um einen Beitrag auf einer solchen Website zu verfassen (und gut für Sie!), Sollten Sie in Betracht ziehen, nur einen Passwort-Manager wie LastPass oder KeePass zu verwenden - diese sind wirklich einfach (es sei denn, Sie vergessen Ihr Super -starkes Master-Passwort und gib das Ganze auf, wie ich es getan habe).


Ursprüngliche Antwort:

Zunächst einige Begriffe:

Es stellt sich heraus, dass die Zwei-Faktor-Authentifizierung ein bisschen mehr beinhaltet, als Sie vielleicht an der Oberfläche denken. Im Allgemeinen gibt es drei Arten von Authentifizierungsmechanismen:

  1. Etwas, das Sie wissen - Informationen wie ein Passwort oder der Mädchenname Ihrer Mutter oder ein öffentlicher Schlüssel, der in einer Schlüsseldatei gespeichert ist.

  2. Etwas, das Sie haben - normalerweise ein physisches Objekt wie das Telefon, das SMS unter Ihrer Nummer) oder ein OTP-Token (One-Time-Password) oder einen öffentlichen Schlüssel empfangen kann aktivierte Smartcard/USB-Stick:

  1. Etwas, das du bist: aka "biometrisch" wie Fingerabdrücke, Iris, Stimme, Tipprhythmus usw.

Der Grund für die Aufteilung der Authentifizierungsmethoden in diese Kategorien besteht darin, dass jede Methode eine ganz andere Art von Diebstahl erfordert, damit ein Hacker sie erwerben kann.

Wenn Sie einen Identitätsnachweis aus mehr als einer der oben genannten Kategorien vorlegen müssen, handelt es sich ordnungsgemäß um "Zwei-Faktor-Authentifizierung" oder "Multi-Faktor-Authentifizierung". Wenn Sie mehrere Elemente aus derselben Kategorie bereitstellen, wird dies als "Multi-Step-Authentifizierung" bezeichnet, die offensichtlich schwächer als Multi-Faktor ist.

Nun zu Ihrer Frage:

Was Sie also vorschlagen, ist kein Multi-Faktor. Es ist nicht einmal mehrstufig, weil Sie am Ende nur ein Passwort für die Anmeldeseite angeben.

39
Mike Ounsworth

Dieses Dokument schlägt vor, dass Ihr Ansatz, Varianten basierend auf einem einzelnen Hauptkennwort wiederzuverwenden, in der Tat besser ist, als nur Kennwörter zu duplizieren. Wie jedoch techraf erwähnt, können die Sicherheitsvorteile trivial sein, wenn Sie einen einfachen Algorithmus verwenden.

Ein gängiger einfacher Algorithmus für A ist beispielsweise die Verwendung eines Susbet des Domainnamens in Ihrem Passwort (z. B. abcd1234gmail Für gmail.com und abcd1234facebook Für facebook.com). .

Angenommen, der Algorithmus ist etwas, das Sie in Ihrem Kopf tun möchten, dann möchten Sie wirklich, dass A Ihnen eine gute Diffusion gibt dass Ihre generierten Passwörter keine gemeinsamen Teilzeichenfolgen haben. In Kombination mit einem ziemlich langen und komplexen Hauptkennwort sollten Sie so viele undurchsichtige Varianten erhalten, dass selbst wenn einige Kennwörter durchgesickert sind, diese schauen ausreichend unterschiedlich sind und keine Tools zum Knacken von Passwörtern unterstützen . Ziemlich bald stelle ich mir weitere Studien vor, in denen Kennwörter für dieselben Benutzer über mehrere Verstöße hinweg verglichen werden, um herauszufinden, wie häufig Kennwörter unterschiedlich sind.

Eine Empfehlung, die ich habe, ist die Verwendung eines anderen Hauptkennworts für Ihre wichtigsten Konten (nur für den Fall). Letztendlich ist dies zweifellos Sicherheit durch Dunkelheit, aber geht es bei der Passwortauswahl nicht darum?

Was wirklich wertvoll wäre, ist eine gute Möglichkeit, eine Familie verschiedener Algorithmen {A} Zu generieren, die in Ihrem Kopf leicht berechnet werden können? Andernfalls können Sie ein einfaches Programm verwenden, um Ihr Passwort mit hash(master+domain+salt) zu generieren.

9
Jedi

Sie verlassen sich auf die Geheimhaltung und Komplexität Ihres Algorithmus. Dies ist ein typisches Beispiel für Sicherheit durch Dunkelheit :

vertrauen auf die Geheimhaltung des Entwurfs oder der Implementierung als Hauptmethode zur Gewährleistung der Sicherheit

Sie müssen also die Vorbehalte berücksichtigen.

Es ist eine gute Idee, solange Sie:

  • halte es wirklich geheim

    Anstelle eines geheimen Passworts verwenden Sie einen geheimen Algorithmus. Da es in Ihrem Kopf bleibt, können Sie seine Geheimhaltung bis zu einem gewissen Grad übernehmen (obwohl genau diese Frage bereits die Tatsache offenbarte, dass Sie möglicherweise eines verwenden).

    Wenn Sie den Algorithmus außerhalb Ihres Kopfes bewegen (Codierung in einer App), wird diese Bedingung verletzt.

  • nicht zu oft verwenden

    Technisch läuft es darauf hinaus, die URL der Site (Klartext) zu verschlüsseln mit:

    • ein geheimer Algorithmus (einfach genug, um Berechnungen in Ihrem Kopf durchzuführen)
    • ein festes Passwort (wiederverwendeter Schlüssel)

    Das klingt für die Verschlüsselung nicht sicher und ist bei genügend Samples anfällig für Kryptoanalysen.

    Bei Passwörtern für Websites wären die Stichproben jedoch eher selten und müssten darüber hinaus aus einer Reihe kompromittierter Quellen stammen. Es wäre eher schwierig.

  • machen das Ergebnis wirklich zufällig

    Wenn Sie einen " relativ einfachen Algorithmus" verwenden, erhalten Sie im Allgemeinen eine relativ schwache Sicherheit. Ihr ursprünglicher Algorithmus ist möglicherweise nicht so originell, und ein erfahrener Kryptoanalytiker entwickelt ihn möglicherweise sogar aus einer kleinen Anzahl von Stichproben zurück.

    Hier gibt es Verbesserungspotenzial: Wenn Sie Ihren "In-Head" -Algorithmus kombinieren, ihn als Eingabe für eine Hash-/Schlüsselableitungsfunktion verwenden und seine Ausgabe als eingegebenes Kennwort verwenden, erhöht dies die Sicherheit des Schemas drastisch.

    Immer noch im Bereich der Sicherheit durch Dunkelheit zu sein: Was und wie Sie es tun, muss geheim und sogar unbemerkt bleiben.

7
techraf

Ich würde argumentieren, dass dies eine gute Sicherheitsmaßnahme ist, die Ihre allgemeine Sicherheit spürbar erhöht. Der Grund, warum ich das sage, ist das typische Bedrohungsmodell für gestohlene Passwörter. Wenn Sie sich Sorgen über typische Hacker/Passwort-Dumps machen, ist es unwahrscheinlich, dass sie Zeit und Mühe darauf verwenden, Ihren Passwort-Algorithmus zurückzuentwickeln, wenn sie die Millionen anderer Passwörter überprüfen, die sie erhalten haben, oder versuchen, sich einzumischen, um mehr zu erhalten .

Solange sich Ihre Passwörter von Site zu Site geringfügig unterscheiden, fügen Sie sich im Wesentlichen in die Personen ein, die über Passwortmanager verfügen. Insbesondere wenn Sie befürchten, dass jemand versucht, Sie gezielt zu hacken, gilt dies nicht mehr und er bemerkt Muster und Ähnlichkeiten zwischen Passwörtern, die er aus mehreren Dumps gesammelt hat. Es ist sehr schwierig, in der Tat nahezu unmöglich, einen Algorithmus zu finden, den Sie in Ihrem Kopf ausführen können und der nicht über einen Computer aus den Ergebnissen rückgängig gemacht werden kann.

4
mklauber

Dies ist keine Zwei-Faktor-Authentifizierung, sondern nur eine: etwas, das Sie wissen.

2FA ist aufgrund des zum Generieren des Tokens verwendeten Algorithmus nicht wertvoll. Dies ist wertvoll, da dieser Algorithmus einen Wert generiert, der nur von einem bestimmten Objekt generiert werden kann.

Wenn Sie also diesen 2FA-Token liefern können, beweisen Sie, dass Sie im Besitz dieses Objekts sind. mit anderen Worten: etwas, das du hast.

Möglicherweise hat Ihr Schema Sicherheitsvorteile, aber nicht, weil es die sicheren Eigenschaften von 2FA überträgt. Zum einen scheint es, als könnte ein Angreifer Ihr Passwort einmal per Phishing stehlen und sich für immer auf dieser Site anmelden.

3
thexacre

Was Sie getan haben, ist ein Verschlüsselungsalgorithmus als Teil Ihres Gesamtgeheimnisses. Verschlüsselungsalgorithmen sind jedoch nicht unbedingt eine starke Verschlüsselung. Sie ähneln eher Rätseln und können normalerweise von einem engagierten Angreifer gelöst werden, der über genügend Fähigkeiten, Beispiele und Motivation verfügt. (Viele Beispiele für Personen, die diese Art von Problemen nur zum Spaß lösen, finden Sie unter puzzles.stackexchange.com.) Dadurch sind alle Ihre Passwörter für die schwächsten anfällig. -) Websites, die Sie besuchen, nicht die stärksten Bank-Websites.

Beispiel

Nehmen wir zunächst an, es gibt Angreifer, die über die entsprechenden Fähigkeiten verfügen. Stellen Sie sich einen arbeitslosen Mathematiker und Rätsellöser vor, der in einem Land lebt, das in Aufruhr ist, keine Jobaussichten hat und nichts Besseres zu tun hat. Als nächstes geben wir ihm eine Motivation, Sie anzugreifen - der Angreifer erfährt durch eine Prahlerei auf Facebook, dass Sie genug Geld auf Ihrem Rentenkonto haben, um zwei Lamborghinis zu kaufen. Und jetzt, mit dieser Frage, haben Sie ihm gerade gesagt, dass Sie einen Algorithmus verwenden, um alle Ihre Passwörter abzuleiten. Er sucht nach weiteren Informationen über Sie, indem er #SOreadytohelp auf Twitter folgt. Er findet, dass Sie bei Metacortex arbeiten, und ein bisschen mehr googeln zeigt, dass Metacortex unter Retirementfundservices.com Altersvorsorgekonten für Mitarbeiter hostet. Das Einzige, was dem Dieb im Weg steht, ist, genügend Samples zu beschaffen, um Ihren Algorithmus zu brechen.

Ich kenne Ihren speziellen Algorithmus nicht, aber alles, was einfach genug ist, um im Kopf zu bleiben und schnell ein Passwort abzuleiten, wird unseren Angreifer wahrscheinlich nicht überleben, wenn er drei Beispiele hat. und er möchte einen vierten, um seine Theorie zu testen. Weitere Beispiele helfen ihm offensichtlich dabei, das Rätsel schneller und sicherer zu lösen.

Die Anzahl der zum Knacken Ihres Algorithmus erforderlichen Beispiele ist für Ihre Sicherheit sehr wichtig, da Ihre persönliche Sicherheit jetzt von der Gesamtsicherheit aller Sites abhängt, auf denen Sie diesen Algorithmus verwenden, einschließlich der schwächsten. Aber wenn Sie nicht auch Mathematiker und Rätsellöser sind, wissen Sie persönlich nicht, was diese Zahl wirklich ist. Ist es drei? Fünf? Wenn Sie persönlich 20 Samples benötigen, um dies herauszufinden, garantiert dies nicht, dass alle Angreifer auch 20 Samples benötigen, um Ihren Algorithmus zurückzuentwickeln - es gibt viele clevere Leute da draußen.

Angenommen, der Angreifer benötigt nur vier Samples, bedeutet dies, dass er nur in die vier schwächsten Sites einbrechen muss, die Sie besuchen. Oder nehmen wir an, Sie haben sich zuvor bei Adobe, Sony und Xbox registriert und diese Passwörter sind alle in Pastebin gelandet. Jetzt braucht er nur noch eine Probe. (Hoffen wir, dass Sie sich nicht auch bei Ashley Madison angemeldet haben.) Vielleicht googelt der Angreifer Sie weiter und entdeckt, dass Sie gerne Kaninchen als Hobby züchten, und er findet Ihre Konten auf rabbit-breeder.org und hobby-rabbit-breeding.com . Sie können ihnen nicht vorwerfen, keine Hochsicherheitsseiten zu sein, da sie keinen Grund zu der Annahme haben, dass sie etwas Ernstes wie Bankkonten schützen. Er greift den ersten an, aber sie haben keine einfachen Schwachstellen. Er greift den zweiten mit einer einfachen SQL-Injection an und stellt Ihr Passwort wieder her.

Sobald genügend Proben gestohlen wurden, führt der Angreifer die Analyse offline durch und liefert keine externen Beweise für Erfolg oder Misserfolg. Sie wachen einfach eines Morgens auf, überprüfen Ihr Altersguthaben und stellen fest, dass Ihr Geld an eine Offshore-Bank überwiesen wurde.

Alternativen

Sie haben bereits einen speziell entwickelten Passwort-Manager in Betracht gezogen. Dies ist immer noch die beste Empfehlung, die Sie wahrscheinlich erhalten.

Stellen Sie sich ein Hardware-Tool wie Yubikey oder Mooltipass vor. etwas, das Sie tragen können und das mit Ihrem Online-Passwort-Manager synchronisiert wird.

Sie können Ihr vorgeschlagenes System auch erfolgreich einsetzen, indem Sie Ihr Risiko in Kategorien aufteilen. Websites mit geringem Risiko wie rabbit-breeder.com erhalten ein Hauptkennwort. Websites mit mittlerem Risiko erhalten überall dort, wo Sie eine Kreditkarte verwenden, ein anderes Hauptkennwort. Websites mit hohem Risiko erhalten überall dort, wo Sie über Bankzugang verfügen, ein eigenes Passwort mit mehr als 15 Zeichen. Jetzt müssen Sie sich nur noch wenige Passwörter merken, haben immer noch eine gute Sicherheit und benötigen kein umständliches Tool.

3
John Deters

Da ich früher ein Schema dieses Typs verwendet habe, werde ich zwei praktische Gründe angeben, um nicht dieses Schema zu verwenden, das ich an keiner anderen Stelle angesprochen sehe.

Dieses Schema schlägt fehl, wenn die Site, mit der Sie Geschäfte machen, ihren Namen ändert oder auf andere Weise von einem anderen Unternehmen gekauft wird und ihren Namen annimmt. Wenn es sich um eine Site handelt, die Sie nicht häufig besuchen, werden Sie möglicherweise nicht einmal erkennen, warum Ihr Passwort plötzlich nicht mehr funktioniert.

Der zweite Grund, dieses Schema nicht zu verwenden, besteht darin, dass jede Site unterschiedliche Kriterien für die Überprüfung von Kennwörtern verwendet.

  • Die minimale und maximale Länge, die für ein Passwort zulässig ist
  • Gibt an, ob im Kennwort ein numerisches Zeichen erforderlich ist
  • Gibt an, ob im Kennwort ein Sonderzeichen erforderlich ist
  • Gibt an, ob sowohl Groß- als auch Kleinbuchstaben erforderlich sind
  • Gibt an, ob nur Groß- und Kleinbuchstaben erforderlich sind
  • Ob nicht numerische Zeichen überhaupt erlaubt sind (ich hasse Websites, die nur numerische Zeichen zulassen!)
  • Welche Sonderzeichen sind eigentlich erlaubt?

Selbst wenn Ihr Schema mit all diesen Variationen irgendwie umgehen kann, stellt sich auch die Frage, wie Sie sich daran erinnern können, welche Variation eine bestimmte Site verwendet. Normalerweise teilt Ihnen die Site die Anforderungen mit, wenn Sie das Passwort erstellen, aber ich kann mich nicht erinnern, jemals eines gesehen zu haben, das Ihnen sagt, wann Sie versuchen, Ihr Passwort einzugeben.

3
Michael

Ich werde großzügig sein und davon ausgehen, dass Sie einen sicheren Mangling-Algorithmus erstellen können, den Sie in Ihrem Kopf ausführen können, um Ihre Zwecke zu erfüllen, und der es widerstehen kann, von einem dedizierten Cracker mit guter Hardware herausgefunden zu werden. Ich bezweifle dies aufrichtig, aber aus Gründen der Argumentation werde ich es zulassen und mich auf die Verwendbarkeit Ihres Schemas konzentrieren.

Ich habe bereits eine ähnliche Frage beantwortet wo mein Hauptanliegen, dass das Ändern des Passworts unerschwinglich wird, weil Sie alle Passwort ändern müssen, aber Sie haben bereits daran gedacht, indem Sie sich daran erinnern Eine Versionsnummer für jede Site, die Ihr Mangling-Algorithmus berücksichtigt. Ich gehe wieder davon aus, dass dies sicher gemacht wird und nicht nur ein rollender Zähler oder so etwas ist, um zu argumentieren. Jetzt müssen Sie sich ein gemeinsames Hauptkennwort merken, einen Hauptalgorithmus merken, einen Benutzernamen für jede Site und eine Versionsnummer für jede Site.

Einige Websites haben jedoch widersprüchliche Längenanforderungen für ihr Kennwort. Ich verwende einige Websites mit einem Minimum von 10 Zeichen Passwörtern. Ich benutze ein paar andere mit einem Maximum von 8 Zeichen. Ihr Algorithmus muss also eine variable Länge generieren. Sie müssen sich jetzt für jede Site eine andere Information merken, die Länge, die Sie in Ihren Algorithmus eingeben müssen.

Es können weitere Konflikte bestehen. Benötigt die Site erfordert Sonderzeichen oder verbietet sie? Was betrachtet die Site überhaupt als besonderen Charakter? Das sind weitere 2 Informationen, die Sie sich für jede Site merken müssen. Angenommen, Sie haben ungefähr 100 Websites, die ein Passwort haben, dann haben wir jetzt:

  • Ein Master-Passwort
  • Ein Master-Algorithmus
  • Rund 100 Versionsnummern
  • Rund 100 Längen
  • Etwa 100 "erfordern Sonderzeichen" Ja/Nein-Eingaben
  • Etwa 100 "erlaubte Zeichen" -Eingaben
  • Zwischen 1 und 100 Benutzernamen

Das sind 400-500 Informationen, an die Sie sich erinnern sollten.

Wenn Sie jemals Ihr Hauptkennwort oder Ihren Algorithmus ändern müssen (weil jemand es irgendwie herausgefunden hat oder Sie es versehentlich aufgeschrieben und verloren haben oder so), sind Sie immer noch in der Situation, jedes einzelne Kennwort ändern zu müssen und merken Sie sich jeweils eine neue Versionsnummer.

Ich vermute, Sie werden anfangen, diese aufzuschreiben oder in einer Datei zu speichern. Jetzt können Sie auch einen Passwort-Manager verwenden.

Mit einem Passwort-Manager müssen Sie eins Informationen speichern: Ihr Hauptkennwort für Ihren Passwort-Manager.

Wenn Sie die Dinge richtig machen, verlieren Sie Ihre Passwortdatenbank nicht. Für lokale Manager ist es einfach, eine Datei an mehreren Speicherorten zu sichern, und sie ist stark verschlüsselt, sodass Sie sie sogar in eine Cloud hochladen können. Für Cloud-Manager wird es bereits gesichert, ohne dass Sie etwas tun.

Wenn Sie sich Sorgen über den Zugriff auf die Datenbank machen, denken Sie daran, dass die meisten gängigen Passwortmanager über Apps verfügen, mit denen sie auf den meisten Smartphones verwendet werden können.

Sie können sogar die Funktion "Kennwort speichern" von Chrome oder Firefox) mit einem Hauptkennwort verwenden, wenn Sie sich nicht mit der Installation befassen möchten. Aber ich denke, Sie machen Dinge viel zu kompliziert, um zu vermeiden, etwas zu verwenden, das Ihnen das Leben leichter macht und sicherer.

1
Ben