Frage:
Wie kann ich mein Passwort wiederverwenden und es trotzdem schützen, wenn es aus einer Hand verfügbar ist?
Sinder
2019-08-07 16:41:40 UTC
view on stackexchange narkive permalink

Ich weiß, dass alle Server meine Anmeldeinformationen mindestens als Hash (Passwort + Salt) + salt mit einem sicheren und sicheren Speicher speichern sollten bekannte Hash -Funktion und ein für mich einzigartiges salt , das aus einer sicheren und bekannten Quelle generiert wurde.

Das Problem ist, dass Server dies tun sollten, aber möglicherweise nicht, daher kann ich ihnen als Benutzer nicht vertrauen.

Ich suche, was ich mit meinem Kennwort tun kann, bevor ich es an den Server sende. Wenn der Server beispielsweise Klartext speichert, ist dies der Fall Die Sicherheit meines Passworts auf anderen Servern wird nicht beeinträchtigt.

Ich habe darüber nachgedacht, Hash (Passwort + Dienst) an die Server zu senden, wobei der Dienst "Facebook" oder "Amazon" zum Beispiel. Auf diese Weise hat jemand, der Hash (Passwort + Dienst) von diesem Dienst im Klartext gespeichert bekommt, den Hash meines Passworts + das Salz gefunden, das für diesen Dienst eindeutig ist.

Ich sehe bereits ein Problem mit dieser Idee: Jemand könnte für jeden Dienst eine Regenbogentabelle erstellen, wodurch die Verwendung des Dienstes als Salz unbrauchbar wird.

Ich kenne die Regel nicht erfinden Ihre eigene Krypto / Ihr eigenes Protokoll , deshalb möchte ich wissen, ob es ein bekanntes Protokoll für einen Client gibt, der sich selbst sichert?

Die Tatsache, dass Sie dasselbe Passwort für Facebook und Amazon wiederverwenden möchten, ist die weitaus größere Sünde.Verwenden Sie stattdessen einen Offline-Passwort-Manager und erstellen Sie für jede Website ein wirklich zufälliges Passwort.Wenn eines leckt, ist nur diese Website betroffen.
Ich würde vorschlagen, Ihre Frage und das Problem, das Sie zu lösen versuchen, neu zu formulieren: "Wie kann ich mein Passwort wiederverwenden und das Passwort trotzdem schützen, wenn es aus einer Hand verfügbar ist?"
Ich bezweifle, dass irgendjemand den Hash als alles andere als Unsinn erkennen würde, und wenn Sie kein Ziel mit hoher Priorität wären, würde er nicht die Zeit damit verbringen, Ihr Passwort zu knacken, wenn er Tausende von anderen versuchen könnte, die nicht so sicher sind
Als Hinweis würde ich nur empfehlen, Passwörter in Kontexten wiederzuverwenden, in denen das illegal erhaltene Passwort nicht wesentlich mehr Schaden verursacht, wenn es für zwei Konten verwendet wird, als wenn es für eines verwendet wird.... Das einzige wirkliche Beispiel dafür sind bestimmte MMORPGs, die nur eine begrenzte Anzahl von Zeichen pro Konto zulassen und keine Möglichkeit haben, die Obergrenze zu erhöhen.
Ich bin schockiert, dass diese Frage 21 positive Stimmen in einem Sicherheitsforum hat.
Acht antworten:
MechMK1
2019-08-07 17:02:43 UTC
view on stackexchange narkive permalink

Sie versuchen, ein Problem zu lösen, das Sie eigentlich gar nicht haben sollten: Wiederverwendung von Passwörtern

Das Konzept ist einfach. Sie denken an ein "gutes" Passwort und verwenden dieses für alles. Ihr Bankkonto, Ihr Online-Einkauf, Ihr E-Mail-Anbieter usw.

Das Problem ist, dass alle anderen Konten möglicherweise in Gefahr sind, wenn eines von ihnen durchgesickert ist. Dies ist ein völlig unnötiges Risiko!

Was ist mit meinem vorgeschlagenen Schema?

Sie selbst sagten, erfinden Sie das Rad nicht neu. Wenn Sie dies tatsächlich tun würden, müssten Sie entweder eine Anwendung schreiben, die die Hashes für Sie berechnet, oder sie selbst berechnen und speichern.

Es gibt bereits Anwendungen, die das Problem der Speicherung von Anmeldeinformationen lösen. und sie machen es viel besser: Offline-Passwort-Manager

Warum sind Offline-Passwort-Manager besser?

Weil sie wirklich zufällige und eindeutige Passwörter generieren. Es besteht keine Notwendigkeit, Kryptographie in diese zu bringen. Ich muss mein Passwort für mein E-Mail-Konto nicht daran binden, dass es die Zeichenfolge "gmail.com" enthält.

Weil SN2 \ ZJ2Cw92DQx ^ {$ OmqAC_P'xR | Md) [ ist definitiv ein besseres Passwort als die MD5-Summe von hunter2 + gmail.com (es ist 01f9a94a0febf268495d08f5960e7f05 , falls Sie sich fragen).

Nicht unbedingt wahr, dass die Wiederverwendung von Passwörtern ein "Sicherheitsproblem" ist, es gibt auch [LessPass] (https://blog.lesspass.com/lesspass-how-it-works-dde742dd18a4).Sie verwenden weiterhin ein Hauptkennwort, um Ihre Kennwortdatenbank zu entsperren.Durch die Ausnutzung einer sehr, sehr, sehr schwer umkehrbaren Funktion können sichere Passwörter generiert werden.Es ist eher ein Kompromiss zwischen dem Verlust eines Hauptkennworts, aber nicht dem Speichern Ihrer Kennwörter in einer Datei (die auch gestohlen und mit dem Hauptschlüssel versehen werden kann).
@Gizmo [Was sind die Nachteile zustandsloser Passwortgeneratoren?] (Https://security.stackexchange.com/q/214301/68614)
Wenn ein Angreifer den Hauptschlüssel hat und den verwendeten Algorithmus kennt, werden auch alle Passwörter kompromittiert (deshalb verwende ich immer die Offline-Apps. Wenn jemand meinen PC keyloggen kann, kann jemand auch eine Passwortdatenbankdatei extrahieren).Auch das Erinnern an Dinge ist immer noch eine Sache, z.Wenn eine Website die Domain wechselt oder Sie Ihr Passwort zurücksetzen müssen (wie oft habe ich es zurückgesetzt?).Einige Websites akzeptieren auch nur bestimmte Zeichensätze.
@Gizmo Wenn Sie sich die Fragen zu zustandslosen Kennwortmanagern ansehen, werden genau dieselben Punkte angesprochen.Ein wirklich zufälliges Passwort ist die * beste * Art von Passwort, und jeder Grund, kein wirklich zufälliges Passwort zu verwenden, muss wirklich sehr, sehr gut sein.
@user1717828, und ein Klappentext mit 16 Hexadezimalstellen wären ein sehr gutes Passwort, wenn es zufällig wäre, aber da es nur ein schwacher Hash eines eher schwachen Passworts ist, ist es etwas verdächtig.(Übrigens ist "4755 ..." der Hash von "hunter2 + gmail.com \ n" mit einem Zeilenumbruch;) Haben Sie "echo ... |" verwendet?md5sum`?`echo` fügt am Ende immer eine neue Zeile hinzu,` printf ... |md5sum` wäre in diesem Fall die Lösung.)
* Warum sind Offline-Passwort-Manager schlechter?- Nur auf einem Gerät verwendbar oder schwer zwischen mehreren Geräten synchron zu halten (da diese offline ist) - und wenn Sie die Datei verlieren, sind alle Ihre Passwörter verschwunden und Sie können Ihr Passwort nicht einmal zurücksetzen, wenn Sie es auch für Ihr e verwendet haben-E-mail Konto.** Nicht sagen, dass Sie keine verwenden sollten, aber Sie sollten auch die Nachteile kennen **
@Falco: 1. Es ist sowieso eine gute Praxis, Ihre Dateien zu sichern.2. Das Synchronisieren von Passwörtern kann ebenfalls gelöst werden, indem die Datenbank synchron gehalten wird.3. Das Schema von OP löst auch keines dieser Probleme.
@MechMK1 Die meisten Synchronisierungslösungen werden von einer Online-Datenbank gelöst, ebenso wie viele zuverlässige Sicherungslösungen.Es ist also kein Offline-Passwort-Manager mehr. Wenn ich das Passwort für den Zugriff auf Ihre Datenbank und Ihr Master-Passwort knacke, kann ich auf alle Ihre Passwörter zugreifen.- Das OP-Schema löst das Problem des Verlusts der Passwortdatei, da es keine Datei gibt, sondern nur einen Algorithmus, der reproduziert werden kann.Und es ist sofort auf jedem Gerät verwendbar, auf dem Sie auf die Passwort-Generator-Webanwendung zugreifen können.
@Falco Ich kann meinen eigenen Server verwenden, der von einem Client-Zertifikat unterstützt wird.Ich bin genauso sicher und muss mir keine Sorgen um Außenseiten machen.Darüber hinaus fügt OP im Wesentlichen eine Runde MD5 oder SHA1 hinzu - und Sie müssen sich * noch * Ihr Passwort merken.Wenn Sie dies nicht tun, sind Sie in beide Richtungen geschraubt.
@MechMK1 Außerdem verstoßen Offline-Passwortmanager häufig gegen die Passwortregeln von Websites, sodass Sie immer noch diese ungeraden Passwörter nachverfolgen müssen.Außerdem erfordern einige Websites Kennwortänderungen mit anderen Frequenzen als andere Websites.Passwort-Manager sind besser.
Vipul Nair
2019-08-07 16:58:45 UTC
view on stackexchange narkive permalink

Die etablierte Lösung für dieses Problem besteht darin, unterschiedliche Kennwörter für unterschiedliche Websites zusammen mit einem Kennwortmanager zu verwenden. Auf diese Weise müssen Sie das Rad nicht neu erfinden.

Ich weiß, dass die Regel keine eigene Krypto / Protokoll erfindet. Deshalb möchte ich wissen, ob es ein bekanntes Protokoll für a gibt Client sich selbst sichern?

Nicht jedes Problem muss durch eine technische, überkomplizierte Lösung gelöst werden.
Das Nicht-Wiederverwenden von Passwörtern ist eine elegante Lösung.

Ich würde sagen, dass ein Passwort-Manager eine ** technische und ziemlich komplizierte Lösung ** ist, nur eine, die Sie nicht selbst erstellen müssen.
@Falco "Passwort nicht wiederzuverwenden ist eine elegante Lösung"
Wie machst Du das?Ich persönlich kann mich nicht an 50 verschiedene unabhängige Passwörter erinnern.Das Nicht-Wiederverwenden von Passwörtern ohne ein kompliziertes technisches Tool ist für den Durchschnittsmenschen unmöglich, aber es wäre elegant, wenn Sie dies tun könnten.
Martin Bonner supports Monica
2019-08-08 21:15:13 UTC
view on stackexchange narkive permalink

Ich habe früher eine Browser-Erweiterung verwendet, die ziemlich genau das tat, was Sie vorgeschlagen haben. (Es hat mein aktuelles Passwort + die URL der Site genommen, sie zusammen gehasht und daraus ein Passwort generiert). Es war großartig ... bis eBay mich dazu brachte, mein Passwort zu ändern, weil sie ihre Datenbank durchgesickert waren. Zu diesem Zeitpunkt musste ich mich daran erinnern, welche Websites ein Kennwort und welches ein anderes verwendeten.

Das zusätzliche Problem besteht darin, dass ein Angreifer möglicherweise erkannt hat, wie eine Website mein "Kennwort" im Klartext gespeichert hat Mein Passwort wurde generiert und geknackt.

Das letzte Problem sind Websites wie amazon.de, amazon.co.uk und amazon.com, die alle ein Passwort gemeinsam nutzen müssen.

Ich habe zu einem Passwort-Manager (LastPass) gewechselt, der mit einem starken, zufällig generierten (Diceware) Passwort (und 2FA auf meinen wichtigen Konten) gesichert ist.

Warum den zusätzlichen Schritt von Diceware verwenden, wenn Lastpass zufällige Passwörter generiert?
Vermutlich hat er so das Master-Passwort generiert.Einige finden Diceware-Passwörter möglicherweise leichter zu merken als von LastPass generierte, und Sie müssen sich Ihr Master-Passwort merken.
@Carey.Scott ist genau richtig
@MartinBonner Ah, okay.Ich wusste nicht, dass Sie über das Master-Passwort sprechen.Diceware macht dafür durchaus Sinn.
user29925
2019-08-08 01:42:27 UTC
view on stackexchange narkive permalink

Ich weiß, dass die Regel keine eigene Krypto / kein eigenes Protokoll erfindet. Deshalb möchte ich wissen, ob es ein bekanntes Protokoll für einen Client gibt, der sich selbst sichert.

Die Das Problem, das im Bereich Security Engineering auftritt, wird als "Greedy Password" -Modell bezeichnet. Jede Website, die Sie besuchen, ist der Meinung, dass dies die einzige Website im gesamten Web ist, und es ist in Ordnung, Sie zu bitten, komplexe Kennwörter zu verwalten / sich daran zu erinnern. Siehe auch Peter Gutmanns Engineering Security .

Sie können tun, was @ MechMK1 vorschlägt, und den Passwort-Manager verwenden. Das Problem ist, dass es nur das Passwortproblem verschiebt und die Verwaltung ein wenig vereinfacht. Sie müssen zu einem bestimmten Zeitpunkt immer noch ein echtes Passwort verwenden. In einem Risikomanagement-Framework haben Sie das Risiko reduziert, aber nicht beseitigt.

Sie sollten für jedes nicht kritische Konto Wegwerfkennwörter verwenden. Ich persönlich verwende Strong Random Password Generator, um zufällige 32-Byte-Passwörter für jede gierige Site zu generieren. Humorvoll - auf krankhafte Weise - können einige Websites nicht mit langen oder komplexen zufälligen Passwörtern umgehen. Bei einigen Websites geben Sie ein schwächeres Kennwort an.

Sobald Sie sich bei einer Website angemeldet haben, erhalten Sie ein Token (Cookie) für die Website, für das Sie das Kennwort nicht mehr benötigen. Wenn Sie das Kennwort erneut eingeben müssen, lassen Sie es vom Browser aus dem Anmeldeinformationsspeicher eingeben.

Wenn sich das Kennwort nicht im Anmeldeinformationsspeicher befindet, führen Sie einfach den Vorgang "Kennwortwiederherstellungskennwort" durch. Die Site sendet Ihnen eine E-Mail, und Sie können den Vorgang verwenden, um ein anderes Wegwerfkennwort festzulegen. Ich verwende es ständig für abgelaufene Cookies.

Der in der E-Mail des Wiederherstellungsprozesses gesendete Link wird als "Selbstauthentifizierende URL" bezeichnet. Ich glaube, Python verwendet eine ähnliche, um Pakete zu authentifizieren. Siehe auch Peter Gutmanns Engineering Security .

Mehrere Konten sind wichtig genug, dass Sie ein echtes Passwort benötigen. Zum Beispiel Ihr Firmenkennwort und Ihr E-Mail-Kontokennwort {Gmail | Yahoo | Hotmail | Apple | Microsoft | etc}. Verwenden Sie für sie ein sicheres Passwort und notieren Sie es, damit es nicht verloren geht oder vergessen wird. Dann stecken Sie das Passwort in Ihre Brieftasche oder Geldbörse. Richten Sie 2FA für die kritischen Konten ein, damit der Angreifer sowohl Ihr Kennwort als auch Ihr OTP / Token benötigt.

Einige Dienste, wie Spotify, erwägen, alle Kennwörter insgesamt zu entfernen. Sie passen den "Password Recovery Process" für die Authentifizierung an. Wenn Sie sich anmelden möchten, geben Sie Ihre E-Mail-Adresse ein und Sie erhalten einen Link für ein Token. Sie benötigen kein Kennwort mehr - Sie benötigen lediglich ein E-Mail-Konto.

Die größte Bedrohung ist der Netzwerkangreifer, der es nicht geschafft hat, über Ihren Monitor zu gelangen und Ihre Haftnotizen zu lesen. Wenn sie in Ihren Passwort-Manager oder Browser-Anmeldeinformationsspeicher eindringen, lassen Sie sie so viele Wegwerfpasswörter sammeln, wie sie möchten.


Ich suche nach Möglichkeiten, wie ich mein Passwort zuvor ändern kann Senden an den Server ... Ich dachte daran, Hash (Passwort + Service) an die Server zu senden.

Wenn Sie diese Art von Dingen ausführen möchten (Risikoanalyse, Angriffsmodellierung usw.) ), dann sollten Sie Peter Gutmanns Engineering Security lesen. Seine Doktorarbeit studierte Sicherheit und Benutzerverhalten. Sein Buch ist eine Behandlung für den Aufbau sicherer und sicherer Systeme.

Haben Sie darauf hingewiesen, keinen Passwort-Manager zu verwenden, sondern die Benutzer dazu zu drängen, den Speicher für die Anmeldeinformationen des Browsers zu verwenden?
b0fh
2019-08-08 14:59:22 UTC
view on stackexchange narkive permalink

Ich werde nur die Kryptoaspekte Ihrer Argumentation beantworten. Weitere Informationen zu den Sicherheitsauswirkungen eines zustandslosen Hauptkennworts finden Sie in anderen Antworten.

Konzeptionell ist Ihre Idee gut. Dies wäre im Random Oracle-Modell korrekt, bei dem Hash-Funktionen unabhängige Ausgaben für teilweise identische Eingaben haben. In der realen Welt haben unsere Hash-Funktionen jedoch Einschränkungen und können für Erweiterungsangriffe anfällig sein.

Hier besteht das Risiko, dass ein Gegner die Ausgabe H (Schlüssel + Dienst1) stiehlt ) für einen kompromittierten Dienst und finden Sie einen effizienteren Weg, um H (Schlüssel + Dienst2) zu generieren, ohne dass das Passwort vollständig wiederhergestellt werden muss.

Aus diesem Grund würden wir Hash (Schlüssel + Service / Salt) nicht als Grundelement verwenden. Stattdessen würden wir eine Nachrichtenauthentifizierungscode -Funktion verwenden, MAC (Schlüssel, Dienst) . MAC-Funktionen wurden speziell entwickelt, um dieses Problem zu vermeiden.

Hinweis: Ein Längenverlängerungsangriff ist für MD-Konstruktionen möglich, nicht für Schwammkonstruktionen.Siehe diese Frage von [Crypto] (https://crypto.stackexchange.com/q/47415/18298)
Maxime
2019-08-07 17:16:30 UTC
view on stackexchange narkive permalink

Die Frage, die Sie sich stellen müssen, ist, was Sie erreichen möchten.

Sie sagten, Sie möchten ein eindeutiges Passwort haben, mit dem Sie hashen:

Hash ( Passwort + Service) Der resultierende Hash wird abhängig vom verwendeten Algorithmus (Hinweis: Erstellen Sie keinen eigenen Algorithmus) wahrscheinlich 32 Zeichen lang.

Das erste Problem ist: Was ist, wenn die Website dies tut? Sie dürfen kein 32 Zeichen langes Passwort verwenden?

Zweites Problem: Planen Sie, sich dieses Passwort für jede andere Website zu merken? Wenn Sie sie irgendwo speichern möchten, ist die Verwendung eines Kennwortmanagers zum Erstellen eines 10 Zeichen langen, eindeutigen, zufälligen Kennworts, das Sie für keine andere Website verwenden, sowohl einfacher als auch sicherer.

Wenn Sie dies planen Wenn Sie sich diese 32 Zeichen langen Kennwörter merken, ist es immer noch einfacher, sich ein eindeutiges Kennwort mit 10 Zeichen zu merken.

Um auf meine ursprüngliche Frage zurückzukommen: Was möchten Sie erreichen?

Salting und Hashing Das Kennwort in der Datenbank ist eine Sicherheitsebene, sodass:

  • Wenn die Datenbank kompromittiert wird, der Hacker Probleme hat, Ihr ursprüngliches Kennwort zu finden, kann er Ihre anderen Konten bei anderen Diensten nicht gefährden, wenn Sie dies tun hat auf jeder Website das gleiche Passwort (oder kleine Abweichungen) verwendet.
  • Wenn Sie jedoch auf jeder Website / jedem Dienst ein anderes Passwort verwenden, kann er dies nicht tun, selbst wenn jemand Ihr Passwort für eine Website erhält Vieles damit, also sollte es Sie nicht interessieren.

Wenn der Angreifer den von Ihnen verwendeten Dienst stillschweigend kompromittiert und über einen vollständigen Zugriff verfügt, kann er einfach st Wenn Sie Ihre Sitzungs-ID verwenden, um sich als Sie auszugeben, kann er das Anwendungsverhalten so ändern, dass Ihr Klartext-Passwort vor dem Hashing an ihn gesendet wird. Er kann Ihr Hash-Passwort in der Datenbank in sein eigenes Hash-Passwort ändern, sich mit seinem Passwort anmelden und dann das zurück ändern Passwort in der DB zu Ihrem Hash-Passwort ... er besitzt im Grunde das System und SIE können nichts dagegen tun.

Durch Hashing und Salting des Kennworts versucht der von Ihnen verwendete Dienst / die von Ihnen verwendete Site nicht, sie zu schützen, sondern versucht, Ihre anderen Konten zu schützen, falls sie kompromittiert werden.

* "Der resultierende Hash wird abhängig vom verwendeten Algorithmus \ [... \] wahrscheinlich 32 Zeichen lang sein." * Nein. Er kann 128 * Bit * lang sein.Ausgedrückt als eine Folge von hexadezimalen Ziffern mit einer Länge von 32 Zeichen und Zeichen der Menge \ [0-9a-f \].In Base64 ausgedrückt, wird der exakt gleiche Wert als 22 Zeichen aus einem 64-Zeichen-Satz dargestellt.In Binärform, gedruckt als 0 und 1, würde es als 128 Zeichen aus einem Satz von zwei dargestellt.In jedem Fall * ist es immer noch genau der gleiche Wert! * Es wird nur anders dargestellt.Durch Ändern der Darstellung wird nichts kryptografisch geändert.
Ich habe nur versucht darauf hinzuweisen, dass AUCH wenn es eine gute Idee ist (und es keine gute Idee ist), Sie möglicherweise Probleme haben, den Hash als Passwort zu verwenden.
Alan Dev
2019-08-10 13:17:15 UTC
view on stackexchange narkive permalink

Wie andere gesagt haben, sollten Sie Ihr Passwort nicht erneut verwenden. Ich möchte jedoch auch hinzufügen, dass Sie Ihre ID nicht erneut verwenden sollten. Wenn die Erstellung unter Ihrer Kontrolle steht, verwenden Sie für jede Datei etwas Zufälliges: -

Server 1, ID: bluecanary81 Passwort: isoudi £ &8r902) 38rficsu78
Server 2, ID: tuliptop19 Passwort: uiouew893 £ * (2dferff $ () _ 5

usw. usw.

Wenn das System auf einer E-Mail-Adresse besteht, holen Sie sich Ihre eigene Domain und verwenden Sie bluecanary81@mydomain.com für Server 1, tuliptop19 @ mydomain.com für Server 2 usw.

Selbst wenn jemand Ihre Anmeldeinformationen erhält, gibt es auf keinem anderen System eine Gefährdung.

Warum nicht?Die ID wird traditionell nicht als Geheimnis angesehen.Darüber hinaus ermöglicht derselbe Benutzername die plattformübergreifende Erkennung.Wenn Sie eindeutige Kennwörter haben, ist dies kein Sicherheitsproblem.
Jamie Kitson
2019-10-16 16:07:24 UTC
view on stackexchange narkive permalink

https://getvau.lt/ scheint Ihre Frage genau zu beantworten. Ihr Passwort wird mit dem Namen der Site versehen, sodass Sie für jede Site ein eindeutiges Passwort erhalten und sich nur daran erinnern können eine.

Persönlich würde ich immer noch einen Passwort-Manager empfehlen, aber wenn Sie darauf bestehen ...

[Was sind die Nachteile von zustandslosen Passwortgeneratoren?] (Https://security.stackexchange.com/questions/214301/what-are-the-cons-of-stateless-password-generators)


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
Loading...