Frage:
Verwirrung: Warum ist eine Passhrase-verschlüsselte SSH-Schlüssel-Zwei-Faktor-Authentifizierung nicht?
Tammer Ibrahim
2012-08-21 20:19:31 UTC
view on stackexchange narkive permalink

Ich versuche, die Best Practices für den Zugriff auf meine Devbox von einem öffentlichen Terminal aus herauszufinden.

Die meisten Quellen, die ich gefunden habe, empfehlen, die Box mit einer Art Zwei-Faktor-Authentifizierung zu schützen, z. B. durch Hinzufügen Ein Präfix "command =" für den autorisierten Schlüssel, das die Eingabe eines Einmalkennworts erzwingt.

Meine Frage ist, warum dies erforderlich ist. Angenommen, ich habe einen mit Passphrasen verschlüsselten SSH-Schlüssel auf dem USB-Stick. Ich lege das Laufwerk ein, gebe meine Paraphrase ein und verbinde mich: Um in mein System zu gelangen, müssen Sie die Schlüsseldatei und die Passphrase haben.

Angenommen, es gibt eine Keylogger auf der öffentlichen Box. Jetzt hat ein Eindringling meine Passphrase, aber mein Schlüssel wurde nie in das lokale System kopiert.

Sobald mein USB-Laufwerk angeschlossen ist, kann der Schlüssel natürlich kopiert werden. Aber ist das wirklich wahrscheinlich? Wie viele Keylogger schlürfen auch SSH-Schlüssel von USB-Laufwerken? Wie viele böswillige Typen beobachten ihre Honeypots rund um die Uhr und warten auf Aktivitäten, die wie eine SSH-Verbindung aussehen?

Für mich scheint ein mit Passphrasen verschlüsselter Schlüssel zwei Faktoren zu sein . Kann jemand erklären, wie es nicht ist?

* "Die meisten Quellen, die ich gefunden habe, empfehlen [...]" * - ein Zitat? Sind Sie sicher, dass diese Quellen gute Informationsquellen dazu sind? Ich glaube nicht, dass Sie gute Ratschläge bekommen.
Nun, ich beziehe mich genauer auf die beste Option für meine Situation. Sie haben Recht, es ist komplexer als das. Ich würde [diesen] Thread (http://news.ycombinator.com/item?id=3029680) für eine Diskussion über die stärkste Konfiguration empfehlen.
Die * stärkste * Konfiguration ist eine, bei der die Festplatte gelöscht, ausgeschaltet, in Zement eingeschlossen, 100 Fuß tief vergraben und 24 Stunden am Tag von Marines auf einer isolierten Insel mitten im Nirgendwo bewacht wird - normalerweise * am stärksten * ist nicht das, was wir wollen. :-)
P.S. Der von Ihnen angegebene Link behauptet nicht, dass die beste Vorgehensweise darin besteht, dass jeder die Zwei-Faktor-Authentifizierung mit SSH verwenden sollte. Es heißt: * Wenn * Sie die SSH-Authentifizierung mit privatem Schlüssel * mit * Google Authenticator kombinieren möchten (z. B. weil Sie eine Konformitätsanforderung haben, die Sie dazu zwingt), können Sie dies folgendermaßen tun. Es wird nicht versucht zu argumentieren, dass dies für andere notwendig oder nützlich ist. Ich schlage vor, diese Quellen etwas genauer zu lesen.
[Wie wird "etwas, das Sie haben" normalerweise für die Zwei-Faktor-Authentifizierung definiert?] (Http://security.stackexchange.com/questions/3796/how-is-something-you-have-typically-defined-for-two- Faktor-Authentifizierung / 4445 # 4445) (Link zur Security.SE-Antwort von einer anderen Frage).
Fünf antworten:
Gilles 'SO- stop being evil'
2012-08-21 22:05:14 UTC
view on stackexchange narkive permalink

Ein mit Passphrasen verschlüsselter Schlüssel bietet eine Zwei-Faktor-Authentifizierung, jedoch nur bei korrekter Verwendung. Es ist für den Benutzer leicht, den Schlüssel zu missbrauchen, wobei nur ein einziger Faktor angegeben wird, und der Server kann keine falsche Verwendung erkennen. Daher kann ein mit Passphrasen verschlüsselter Schlüssel ohne zusätzliche Annahmen nicht als Zweifaktor betrachtet werden. Aus Sicht des Gesamtsystems bietet der mit Passphrasen verschlüsselte Schlüssel zwei Faktoren, aus Sicht des Servers gibt es jedoch nur einen Faktor, nämlich den privaten Schlüssel.

Das Passwort ist was Sie wissen. Das Kennwort ist jedoch für den Server nicht sichtbar. Der Server weiß nicht, ob Sie ein schwaches oder gar kein Passwort verwendet haben. In jedem Fall ist die Eingabe eines Kennworts auf einem Computer, auf dem möglicherweise ein Keylogger ausgeführt wird, keine gültige Verwendung eines Kennworts zur Authentifizierung.

Die Schlüsseldatei ist das, was Sie haben, aber nur, wenn Sie nicht kopieren es wohl oder übel. Genau genommen ist es der USB-Stick, auf dem die Schlüsseldatei gespeichert ist, ein Authentifizierungsfaktor, den Sie haben. Die Schlüsseldatei selbst ist kein Authentifizierungsfaktor mehr, sobald Sie zulassen, dass sie vom Stick kopiert wird.

In dem von Ihnen beschriebenen Szenario wird der Schlüssel auf einem Computer kopiert, den Sie nicht steuern nicht gültige Verwendung. Es verwandelt das, was Sie haben, in das, was der Angreifer auch hat. Wenn der Angreifer einen Keylogger auf diesem Computer installieren kann, kann er auch ein Programm installieren, das eine Kopie des Inhalts aller darin eingelegten Wechselmedien erstellt. Was Sie haben, muss an ein tatsächliches physisches Objekt gebunden sein, auf das der Angreifer nicht zugreifen kann. Ein Schlüssel, der auf Ihrem eigenen Laptop oder Smartphone gespeichert ist, ist in Ordnung. Eine in einen Smartcard-Steckplatz eingesetzte Smartcard ist in Ordnung (für die normale Verwendung von Smartcards, bei denen die Geheimnisse die Karte nicht verlassen). Ein in einen öffentlichen Computer eingesteckter USB-Stick bietet keinen Authentifizierungsfaktor.

Und ja, es gibt handelsübliche Malware, die den Inhalt von Wechselmedien erfasst. Je nachdem, wo Sie einstecken, ist es möglicherweise mehr oder weniger häufig als Keylogger (obwohl ich erwarten würde, dass die beiden häufig zusammenpassen). Der Angreifer, der einen Wechseldatenträger installiert, befindet sich möglicherweise nach Authentifizierungsdaten oder möglicherweise nach anderen vertraulichen Dokumenten. Es gibt einen Wiederverkaufsmarkt für Unternehmensgeheimnisse (vertrauliche Dokumente, Kontaktlisten usw.), der diese Art von Malware fördert, und das Abrufen von Authentifizierungsdaten ist ein einfacher Nebeneffekt.

Bei einem Benutzer, der möglicherweise seinen USB-Stick einsteckt Halten Sie sich an einen öffentlichen Computer und geben Sie dort sein Kennwort ein. Der mit Passphrasen verschlüsselte Schlüssel bietet keinen Authentifizierungsfaktor.

Thomas Pornin
2012-08-21 20:40:58 UTC
view on stackexchange narkive permalink

Die Allgemeine Sicherheitsannahme (*) lautet:

Der Angreifer ist schlauer als Sie, er hat einen größeren Computer, er kennt Ihre eigene Software besser als Sie, und er ist speziell hinter Ihnen her.

Man muss also davon ausgehen, dass der Keylogger auch SSH-Sitzungen überwacht und Schlüssel von USB-Sticks schlürft. Oder besser gesagt, Sie können nicht wissen, wie sicher Sie sind, wenn die Wurzel der Sicherheit eine Aussage wie "Der Angreifer wird niemals daran denken" ist, da solche Aussagen von Natur aus nicht quantifizierbar sind. P. >

Die zusätzliche Sicherheit, die das Einmalkennwort bietet, liegt genau im Attribut einmalig . Beachten Sie, dass die Sicherheit hier auf der Idee beruht, dass der Angreifer möglicherweise alle Ihre Daten schlürft und ausspioniert, dies jedoch nicht direkt vor Ort in einen aktiven Angriff umwandelt (dh die Daten entführt) eine SSH-Verbindung, die Sie herstellen, anstatt nur genügend Daten zu erfassen, um später wieder eine Verbindung herzustellen). Ein wahrer Anhänger des GAS würde sich weigern, ein öffentliches System zu verwenden, Punkt.

(*) Suchen Sie nicht unter diesem Namen danach, ich habe es mir gerade ausgedacht. Das allgemeine Konzept der Paranoia ist jedoch die Grundlage für die Sicherheit. Sup>

Tolle Annahme. +1 nur dafür.
+1 für "von Natur aus nicht quantifizierbar" (und auch für das Zusammenstellen von Akronymen)
queso
2012-08-21 22:14:58 UTC
view on stackexchange narkive permalink

Angenommen, auf der öffentlichen Box befindet sich ein Keylogger. Jetzt hat ein Eindringling meine Passphrase, aber mein Schlüssel wurde nie auf das lokale System kopiert.

Wenn Sie davon ausgehen, dass ein Angreifer ein System zur Installation eines Schlüsselprotokollierers kompromittiert hat, müssen Sie auch davon ausgehen, dass dies möglich ist Machen Sie alles andere auf dem System. Schlüsseldateien gelten immer noch als "Wissensfaktoren" wie Passwörter, da sie unendlich kopiert werden können.

Um Multi-Faktor zu sein, müssen Authentifizierungsmechanismen Faktoren aus zwei verschiedenen Kategorien verwenden:

  • Wissensfaktoren - Kennwörter, Schlüsseldateien, andere geheime Daten oder Informationen
  • Besitzfaktoren - physische Token, Smartcards
  • Inhärenzfaktoren - Biometrie
D.W.
2012-08-22 00:24:58 UTC
view on stackexchange narkive permalink

Die erste Frage, die Sie gestellt haben, lautet: Was sind die Best Practices? Die besten Methoden sind, sich über SSH mit der Authentifizierung mit privatem Schlüssel anzumelden. Fügen Sie Ihrem privaten Schlüssel eine Passphrase hinzu. Kopieren Sie es nicht auf Maschinen, denen Sie nicht vertrauen. Konfigurieren Sie die SSHD auf Ihrem Server so, dass die Anmeldung nur über die Authentifizierung mit privatem Schlüssel (nicht über die Kennwortauthentifizierung) möglich ist. Du bist gut. Sie brauchen nichts ausgefalleneres.

Die zweite Frage, die Sie gestellt haben, lautet: Ist eine verschlüsselte Passphrase mit Zwei-Faktor-Authentifizierung für die Authentifizierung mit privatem Schlüssel? Nun, andere haben diese Frage gut beantwortet. Das einzige, was ich hinzufügen möchte, ist: Ich möchte Sie davor warnen, der Zwei-Faktor-Authentifizierung magische Eigenschaften zuzuweisen. Die Zwei-Faktor-Authentifizierung ist nicht magisch, da die Zwei-Faktor-Authentifizierung garantiert sicher und die Ein-Faktor-Authentifizierung garantiert unsicher ist. Die Frage, ob etwas als Zwei-Faktor-Authentifizierung gilt, ist wahrscheinlich nicht die richtige Frage. Die richtige Frage ist, ist mein Ansatz sicher genug für meine Anforderungen? (Sie könnten auch fragen: Warum wird die Zwei-Faktor-Authentifizierung im Allgemeinen als sicherer angesehen, welche Probleme werden dadurch gelöst und gelten diese für meine spezielle Situation?)

Die Antwort auf diese Fragen lautet: In den meisten Fällen Die SSH-Authentifizierung mit privatem Schlüssel mit einem passphrasenverschlüsselten privaten Schlüssel ist ausreichend. Ob es als Zwei-Faktor oder Ein-Faktor zählt, ist in gewissem Sinne irrelevant.

Ich hätte nie gedacht, dass ich so viele Perspektiven auf diese Frage bekommen würde! Jede Antwort ist auf ihre Weise richtig und beantwortet einen anderen Teil der Frage. Vielleicht haben Sie Recht, dass die mehr Meta-Antwort auf die Frage eine Wahrnehmungsantwort ist.
adric
2012-08-21 20:35:33 UTC
view on stackexchange narkive permalink

Ich denke, hier gibt es einige terminologische Verwirrungen, die häufig vorkommen.

Die meisten starken Multifaktorsysteme gelten als stark, da sie mehr als einen Identitätsnachweis (Faktor) erfordern, während die Passphrase und die Eingabe erforderlich sind Ihr Beispiel kann sowohl als "etwas, das Sie kennen" als auch von derselben Art kategorisiert werden.

Gängige Multifaktorsysteme verwenden etwas, das Sie kennen (Passphrase oder PIN) und etwas, das Sie haben (Schlüsselanhänger oder Gerät) und dort Werden in noch komplexeren Systemen andere Kategorien verwendet, z. B. "etwas, was Sie sind" (in der Biometrie verwendet) und "irgendwo, wo Sie sind" (geografische Position).

Eine Bank benötigt möglicherweise einen Benutzernamen / ein Passwort und eine PIN Für den Online-Zugriff wird dies jedoch normalerweise nicht als zwei Faktoren in Bezug auf die Angriffsresistenz angesehen.

Ref: https://en.wikipedia.org/wiki/Two-factor_authentication#Regulatory_definition

+1 für zwei Dinge, von denen Sie wissen, dass sie kein Multi-Faktor sind. Sie müssen unterschiedliche Arten von Informationen sein, z. etwas, das du weißt, etwas, das du hast, etwas, das du bist.
Der Schlüssel ist nichts, was Sie wissen: Der Benutzer merkt ihn sich nicht, er wird auf einem Gerät gespeichert. Das Gerät, auf dem es gespeichert ist, ist etwas, das Sie haben; hier wird es falsch verwendet.
Ist das haarspaltend? Die Kenntnis der langen Nummer, die der Schlüssel ist, ist, wie Sie Ihre Identität behaupten, aber wo sie gespeichert ist, ist nicht so wichtig. Geräte, die für "etwas, das Sie haben" gut funktionieren, verwenden Krypto, Interaktion oder beides, um eine mathematische Aussage darüber zu treffen, dass das Gerät einzigartig ist und sich zu diesem Zeitpunkt in Ihrem Besitz befindet. Das ist ganz anders, nein?


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 3.0-Lizenz, unter der er vertrieben wird.
Loading...