Frage:
Warum kann ich keinen One-Use-Code mit anderen teilen?
Henry WH Hack v2.1.3
2019-05-13 21:11:49 UTC
view on stackexchange narkive permalink

In einigen Fällen ist mir aufgefallen, dass beim Erhalt eines Bestätigungscodes von Google möglicherweise Folgendes angezeigt wird:

"Sie sollten diesen Code nicht mit anderen Personen und niemandem von Google teilen Ich werde jemals nach diesem Code fragen. "

OK, dies scheint aus Sicherheitsgründen zu sein, aber der Code ist nur ein Code für die einmalige Verwendung. Wenn Sie ihn also jemandem geben, nachdem er verwendet wurde, dann ist er es wird nicht funktionieren. (Gilt möglicherweise nicht dafür, jemandem den Code vor der Verwendung zu geben. Selbst wenn jemand Ihren Benutzernamen und Ihr Kennwort kennt und einen nicht verwendeten Code erhalten konnte und diese Person sich anmelden sollte, sollte für die neue Sitzung ein neuer Code generiert werden. Richtig?)

Vermisse ich etwas? Gibt es einen Grund, den einmaligen Code nicht zu teilen, insbesondere den Teil über einen zufälligen Fremden, der anruft und danach fragt? Außerdem sollte es lange selbst abgelaufen sein, bevor jemand die Gelegenheit hatte, Sie anzurufen und in Zukunft danach zu fragen.

Warum sagen sie wohl "schau nicht auf den Lauf einer Waffe" anstatt "schau nicht auf den Lauf einer Waffe, wenn sie nicht leer ist"?Oder "Versuchen Sie nicht, Ihre Finger in die Steckdose zu stecken" statt "Versuchen Sie nicht, Ihre Finger in die Steckdose zu stecken, es sei denn, sie sind zu groß, um hineinzugehen, oder Sie haben die Steckdose abgeschaltet"?usw.
@Mehrdad Sie kennen das Sprichwort "Besser sicher als leid", oder?Sie sagen Ihnen, dass Sie immer vorsichtig mit allem umgehen sollen, was möglicherweise riskant sein könnte.
Zeit, eine Antwort auf Ihre eigene Frage zu posten!
Ich bin kein Experte, daher werde ich dies nicht beantworten.Stellen Sie sich vor, jemand hätte es irgendwie geschafft, den Inhalt zur richtigen Zeit auf genau die richtigen Server zu kopieren.Sie könnten dann den alten Code verwenden, um auf Ihre privaten Daten zuzugreifen.Zumindest ist dies einer der Gründe, warum Sie alte Passwörter nicht teilen sollten.(Korrigieren Sie mich, wenn ich falsch liege.)
Leute, die so wörtlich sind, machen mich wahnsinnig.Bitte entspannen Sie sich, OP.
Warum würdest du?
Wenn Sie genügend Codes erhalten, können Sie möglicherweise auch herausfinden, wie diese den nächsten berechnen.
Die Codes sind nicht eine Verwendung!Sie können absolut mehrfach verwendet werden.Können Sie sich den Nachteil vorstellen, wenn sie den verwendeten Code in einer Datenbank speichern müssten?
Sie sind notwendigerweise nicht zum Einmalgebrauch bestimmt, da nur 1.000.000 mögliche Codes im üblichen 6-stelligen Raum vorhanden sind.Aktualität ist hier ein entscheidender Faktor.
@Snake, Wenn sie den TOTP-Standard verwenden, müssen sie nichts außer dem gemeinsamen Geheimnis speichern, und jeder Schlüssel ist nur 30 Sekunden lang gültig.Wenn sie generierte Token verwenden (dh Token zum Zurücksetzen des Kennworts), müssen sie nicht die verwendeten Token freigeben, sondern nur die generierten Token speichern, die normalerweise jeweils nur einzeln vorhanden sind, und siesind normalerweise gut für eine Stunde oder weniger.
Sechs antworten:
#1
+125
Ghedipunk
2019-05-13 21:31:15 UTC
view on stackexchange narkive permalink

Sie sind nicht präzise, ​​weil sie es nicht müssen, und eine präzise Sprache kann einige Benutzer verwirren.

Sie könnten beispielsweise sagen: "Sie sollten keine nicht verwendeten Codes freigeben, die kleiner als sind Eine Stunde alt mit irgendjemand anderem und niemand von Google wird jemals nach diesem Code fragen. "

Sie und ich würden wissen, was sie bedeuten. Mein Schwiegervater und mein Opa werden jedoch nicht wissen warum. Mein Schwiegervater ist ein spezielles Beispiel für eine Person, die sieht, dass es Zeiten gibt, in denen sie Codes teilen kann, und jemand, der ihn aus seiner Sozialversicherungsprüfung heraus betrügt, erhält auch Zugriff auf seine E-Mail. (Ja, in seinem Posteingang geht es hauptsächlich um Chemikalien zur Gedankenkontrolle, die Kondensstreifen zugesetzt werden, und darum, wie Sonneneruptionen Erdbeben verursachen. Sie können jedoch auch jemandem Zugriff auf sein Bankkonto gewähren.)

Wie in den Kommentaren erwähnt, Es gibt andere Beispiele für Situationen, die bedingt gefährlich sind, aber die Leute schließen die Ausnahmen einfach nicht ein. Beispiel: "Schauen Sie niemals auf den Lauf einer Schusswaffe (es sei denn, Sie haben die Kammer geräumt)" oder "Stecken Sie Ihren Finger niemals in eine Lampenfassung [es sei denn, Sie haben die Stromversorgung für diese Fassung ausgeschaltet]."

Da ein verwendetes oder abgelaufenes Token für alle nutzlos ist, macht es keinen Sinn, es zu behalten, zu teilen, zu schützen, zu löschen oder Ausnahmen zu allgemeinen Sicherheitshinweisen hinzuzufügen.

Ich kann es anhand persönlicher Daten erkennen Erleben Sie, dass es Benutzer gibt, die dumme Dinge tun, wenn Sie sie wissen lassen, dass die Sicherheit Randfälle und Nuancen aufweist. Wenn ich wüsste, dass ich meinen Benutzern eine solche Warnung schreiben würde, würde ich meine Aussage so umfassend und allgemein wie möglich machen.

Auch einfach.Einfache Regeln sind leicht zu merken.Verschachtelte Bedingungen erhöhen die zyklomatische Komplexität.
* (...) ein spezifisches Beispiel einer Person, die sehen würde, dass es Zeiten gibt, in denen sie Codes teilen kann *.Dies ist ein sehr guter Punkt.Wenn man zu viele Details angibt, kann man (völlig logisch) etwas Unerwartetes annehmen.
Beachten Sie, dass der Waffenkoffer ein Beispiel für denselben Ansatz ist - jeder wird Ihnen sagen, dass Sie jede Waffe jederzeit als geladen behandeln und kurz vor einer Fehlzündung stehen sollen, * auch wenn * Sie sie gerade gereinigt haben und absolut sicher sind, dass sie nicht geladen ist (sie spart)Sie setzen das nächste Mal auch Ihr Muskelgedächtnis in die Patrone ein, während Ihr Verstand es nicht bemerkt.Denn wenn Sie die Ausnahme nicht machen müssen, ist es besser, dies nicht zu tun.
Chemtrails?Waft 'em so, Mann - ich * liebe * diese Dinge !!!:-)
Und denken Sie daran, dass wir nicht sicher wissen können, dass die Codes keine sensiblen Informationen enthalten, die jemand mit dem richtigen Wissen und Interesse nicht extrahieren und verwenden kann, um Schaden anzurichten.Z.B.Ich habe Algorithmen für solche Codes gesehen, die einen verschlüsselten Benutzernamen enthalten, der allein potenzielle Eindringlingsinformationen liefert, die er zuvor nicht hatte.
Eine große Fackel könnte theoretisch ein Erdbeben verursachen ...;)
#2
+36
dr jimbob
2019-05-13 22:15:13 UTC
view on stackexchange narkive permalink

Es soll Social-Engineering-Angriffe gegen Sie verhindern. Stellen Sie sich zum Beispiel vor, Sie haben sich in Ihrem Zwei-Faktor-Google Mail-Konto auf einem schattigen öffentlichen Computer angemeldet, auf dem ein Keylogger Ihre E-Mail-Adresse und Ihr Kennwort aufgezeichnet hat (aber nicht verwendet werden konnte, während Sie angemeldet waren), aber die Zwei-Faktor-Authentifizierung ist aktiviert und erinnerte sich daran, sich am Ende Ihrer Sitzung abzumelden. Ihr Konto ist immer noch sicher (auch hier ist es am besten, sich nicht mit skizzenhaften öffentlichen Computern bei Ihren Systemen anzumelden, da selbst mit Zwei-Faktor-Authentifizierung jemand, der anspruchsvoll ist, möglicherweise böswillige Dinge in Ihrem Konto im Fenster tun kann, während Sie angemeldet sind).

Angreifer haben jetzt Ihre E-Mail-Adresse und Ihr Passwort. Um auf Ihr Konto zuzugreifen (z. B. um Ihre E-Mail-Adresse zum Zurücksetzen von Passwörtern für andere Systeme zu verwenden, z. B. Online-Bestellungen, Zugriff auf Bankkonten, Versenden von Spam oder andere Probleme), müssen diese das Zwei-Faktor-Authentifizierungssystem überwinden. Sie setzen sich also mit Ihnen in Verbindung, geben vor, Google zu sein, und versuchen, Sie dazu zu bringen, ihnen mit dem tatsächlichen Authentifizierungscode zu antworten, damit sie sich vollständig in Ihrem Konto anmelden können. Vielleicht rufen sie Sie am Telefon an (gefälschte Nummer, die wie etwas aussieht, das mit Google Inc in Verbindung steht) und sagen: "Wir sehen, dass Sie eine 2-Faktor-Authentifizierung eingerichtet haben, bevor wir fortfahren können. Sie müssen uns den Code mitteilen, der Ihnen gerade eine SMS gesendet hat." usw.

Abgelaufene oder bereits verwendete Token spielen keine Rolle, aber sie möchten Sie nur daran gewöhnen, diese Informationen nicht an Dritte weiterzugeben.

Alternativ könnte jemand mit dem Benutzernamen, dem Festnetzanschluss und den Mobiltelefonnummern des Ziels das Festnetz anrufen und so tun, als würde er die Richtigkeit seiner Telefonnummerninformationen überprüfen, die Funktion "Passwort verloren" für das Konto verwenden und das Ziel nach dem Code fragenihr Handy sollte empfangen.Unter solchen Umständen könnten sich viele Opfer nicht die Mühe machen, die Nachricht mit dem Code zu lesen, um festzustellen, warum sie gesendet wurde.
Ich denke, das OP versteht bereits die Punkte in den Absätzen 1 und 2. Absatz 3 ist wirklich der Teil, der seine Frage beantwortet.
@JonBentley: Ich bin anderer Meinung.In den Absätzen 1 und 2 wird ein Punkt angesprochen, an den das OP meines Erachtens nicht gedacht hatte.(Die Prämisse der Frage lautet: "Ich habe diesen Code zu Recht angefordert und bin dabei, ihn zu verwenden - warum nicht später freigeben?". In dieser Antwort heißt es: "Dieselbe Benachrichtigung wird auch gesendet, wenn Sie diesen Code nicht zu Recht angefordert habenTeilen Sie es nicht mit jemandem, der Sie benachrichtigt hat. ")
@ruakh: Eine andere Sichtweise: Der einzige Grund, warum jemand einen solchen Code haben möchte, ist, wenn er hofft, ihn zu verwenden, um sich als Sie auszugeben, * bevor * Sie ihn verwenden. Der einzige Grund, warum Sie jemandem einen solchen Code geben sollten, wäre, wennSie wollten, dass sie sich als Sie ausgeben können.Angesichts der mangelnden Unterstützung vieler Websites für Proxy-Konten möchte man manchmal * eine * vertrauenswürdige * Person bei einem solchen Identitätswechsel unterstützen (z. B. möchte jemand an einem Ort mit einem Nur-Sprach-Telefondienst möglicherweise, dass eine vertrauenswürdige Person ihre E-Mails abruft).aber kein falscher Google-Mitarbeiter.
#3
+12
AndrolGenhald
2019-05-13 21:32:07 UTC
view on stackexchange narkive permalink

Gilt möglicherweise nicht dafür, jemandem vor der Verwendung den Code zu geben. Selbst wenn jemand Ihren Benutzernamen und Ihr Kennwort kennt und einen nicht verwendeten Code erhalten konnte und diese Person, bei der ein neuer Code angemeldet werden soll, für die neue Sitzung generiert werden sollte . richtig?

Falsch. Ich gehe davon aus, dass es sich um einen TOTP-Code handelt, der beispielsweise von der Google Authenticator-App generiert wurde. TOTP speichert ein gemeinsames Geheimnis auf dem Client und dem Server (Ihrem Telefon und den Servern von Google). Zur Authentifizierung verwenden sowohl der Client als auch der Server das Geheimnis als HMAC -Schlüssel, um die aktuelle Zeit zu hashen, und kürzen sie dann auf einen n -Ziffernwert (häufig 6 Ziffern, manchmal länger) ).

TOTP ist in keiner Weise an eine Sitzung gebunden, sondern basiert ausschließlich auf einem gemeinsamen Geheimnis und der aktuellen Uhrzeit.

Vermisse ich etwas, ist da Gibt es einen Grund, den einmaligen Code nicht zu teilen, insbesondere den Teil über einen zufälligen Fremden, der anruft und danach fragt? Außerdem sollte es lange abgelaufen sein, bevor jemand die Gelegenheit hatte, Sie anzurufen und in Zukunft danach zu fragen.

Ich stelle mir vor, sie versuchen zu verhindern, dass Leute auf Betrug hereinfallen, wenn jemand Sie fragt um den aktuellen Code an sie zu senden. Nachdem der Code verwendet wurde oder nachdem genügend Zeit vergangen ist, um ihn nicht mehr gültig zu machen, ist der Code unbrauchbar.

Mehrere alte Codes enthalten möglicherweise genügend Informationen, um das gemeinsame Geheimnis brutal erzwingen zu können Dies erfordert mindestens einen Vorbildangriff auf SHA-1, der immer noch nicht durchführbar ist (dh die Codes ermöglichen es ihnen zu erkennen, ob eine bestimmte Vermutung für das gemeinsame Geheimnis richtig ist, aber sie könnten mehrere Lebenszeiten verbringen raten und nie finden).

https://it.slashdot.org/story/19/05/13/2255229/academics-improve-sha-1-collision-attack-make-it-actually-dangerous
@ivanivan Das ist immer noch ein Kollisionsangriff.Ein Preimage-Angriff ist viel schwieriger.Es gibt noch nicht einmal praktische Preimage-Angriffe gegen MD5.
Ich bin mir nicht sicher, ob ein Preimage-Angriff auf den Hash sogar [HMAC brechen] würde (https://crypto.stackexchange.com/a/44785), obwohl es, wie fgrieu sagt, wahrscheinlich am besten ist, anzunehmen, dass er zu diesem Zeitpunkt kaputt ist.
#4
+4
ANone
2019-05-15 18:39:54 UTC
view on stackexchange narkive permalink

Dies gilt für viele Ratschläge in der Sicherheitsgemeinschaft.

Die Linie zwischen "guter Praxis" und "schlechter Praxis" sollte konsistent sein, ist es aber oft nicht. Entweder können Sie es brechen und es ist schlecht oder Sie können es nicht und es ist gut, oder?

Leider funktioniert es nicht so. Insbesondere die Offensiv- und Defensivseite ziehen unterschiedlich Linien in den Sand. Obwohl dieselbe gebrochene oder nicht gebrochene Frage in der Praxis das Herzstück der Sache ist, ignoriert sie viele Grauzonen zwischen "gut" und "schlecht", mit denen sich keine Seite befassen möchte, was zu vielen unangenehmen Fragen wie meiner führt Favorit "Wie schlecht ist MD5?".

Leider gibt es keinen einfachen Weg, dies zu umgehen. In der Kryptographie gibt es viele Grauzonen, die sich darauf beziehen, was Menschen nicht können, was so gut wie unmöglich zu beweisen oder zu vermeiden ist. Selbst wenn es überhaupt keine Unklarheiten gibt, wie lange würde es dauern und mit welchem ​​Kit, bis etwas brutal ist, bevor es sicher ist? Die klaren Minuten auf einem durchschnittlichen Desktop sind nicht gut und Milliarden von Jahren auf allen aktuellen Computern der Menschheit sind wahrscheinlich gut genug für die meisten Dinge, aber wo dazwischen liegt die Linie. Darauf gibt es keine Antwort. Der einzige Weg, um sicher zu sein, besteht darin, dass die defensive Seite immer auf strengeren Bedingungen besteht, als die offensive Seite als zerbrechlich akzeptieren würde.

Das Mitnehmen für Sie ist:

Sie sollten nicht erwarten, dass der Verteidigungsrat genau mit tragfähigen Angriffen übereinstimmt. Es ist nicht ihre Aufgabe und es ist immer eine komplexe verschwommene Linie, die fast unmöglich zu korrigieren ist, und Fehler können gelinde gesagt problematisch sein.

Seien Sie daher vorsichtig. Vor allem, wenn das wenig schadet.

Ehrlich gesagt sollte diese letzte Zeile Kopfzeile 1 oben in Ihrer Antwort sein.Wenn es um Sicherheit geht, ist das der vollkommen richtige Rat.
#5
+1
Philip Tinney
2019-05-16 08:31:12 UTC
view on stackexchange narkive permalink

Dr. Jimbob ist völlig korrekt. Soziale Entwicklung. Insbesondere ein Social-Engineering-Angriff, wenn der Angreifer Ihr Passwort hat. Ich kann mir ein Szenario vorstellen, in dem eine unsichere Benutzerdatenbank brutal erzwungen wird. Ich stelle mir vor, dass eine angemessene Anzahl von Benutzern mit einer Telefonnummer verknüpft sein könnte, sogar in der Datenbank. Wenn Passwörter geknackt und eine Telefonnummer zugeordnet sind, senden Sie sie an einen Twilio IVR. Wenn sie antworten, teilt der IVR ihnen mit, dass ihr Konto möglicherweise kompromittiert wurde, und wird deaktiviert, sofern sie nicht den Bestätigungscode eingeben, den sie erhalten sollen. Dann lösen Sie ein Login aus und wenn sie mit dem Code antworten, sind Sie dabei. Genau deshalb heißt es, dass niemand jemals danach fragen wird. Wie bereits erwähnt, sind gebrauchte wertlos, aber es ist golden, wenn Sie einen unbenutzten aufgeben.

#6
-1
Tony
2019-05-15 21:30:58 UTC
view on stackexchange narkive permalink

Meine Antwort ist falsch.

Diese Codes werden von "einem Algorithmus" generiert. Selbst wenn jemand diesen Algorithmus kennt, kennt er weder den Startpunkt noch die aktuelle Position in der Folge der berechenbaren Codes, an der sich der Algorithmus gerade befindet.

Wenn jemand genug Codes hätte UND den Algorithmus kennt, könnte er theoretisch herausfinden, wo sich der Algorithmus in der Sequenz befindet, und neue Codes berechnen.

Obwohl ich das denke Dies gilt möglicherweise nur für die Hardware-Token, die Sie beispielsweise erhalten, wenn Sie sich bei Ihrem bevorzugten MMORPG anmelden.

Es ist höchst unwahrscheinlich, dass jemand beide erforderlichen Informationen herausarbeiten kann, um das System zu beschädigen.

Nur genug Codes zu haben und zu wissen, welcher Algorithmus verwendet wurde, reicht nicht aus, um ihn zu beschädigen, wenn er als unsicher angesehen würde.Die gängigsten 2FA-Algorithmen sind Standard und öffentlich.
Als ich nach dem Posten meinen eigenen Kommentar las, wurde mir klar, dass er falsch war, lol.Ich habe es bearbeitet, aber es ist immer noch falsch und kann es "löschen".
Der Angreifer kann sich leicht selbst singen und alle gewünschten Codes erhalten.Sie müssen keinen Dritten dazu verleiten, einen Code freizugeben.


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