Frage:
Webauthentifizierung - Passwort gegen Schlüsseldatei
user164863
2014-06-12 00:18:11 UTC
view on stackexchange narkive permalink

Es gibt eine Unternehmens-Webmail-Site (PHP + MySQL) für eine begrenzte Anzahl von Benutzern, die Mitarbeiter eines Unternehmens sind, das remote mit dem Unternehmens-Webportal arbeitet. Jeder Benutzer hat ein Login und ein Passwort.

Ich denke darüber nach, übliche Textkennwörter durch eine Schlüsseldatei zu ersetzen, dh der Benutzer wählt bei seiner ersten Anmeldung eine beliebige Datei als Schlüssel aus. Es kann sich um eine Textdatei oder sogar ein Bild handeln, die Prüfsumme davon Die Datei wird in der Datenbank gespeichert und beim nächsten Protokollieren lädt ein solcher Benutzer seine Schlüsseldatei hoch, anstatt ein Kennwort einzugeben. Wäre eine solche Authentifizierung sicherer als eine Kennworteingabe? Ich denke, es ist viel schwieriger, eine Schlüsseldatei als ein Passwort herauszufinden.

Welches Problem versuchen Sie zu lösen? Versuchen Sie, Benutzer zu einem komplexeren Kennwort zu zwingen und einen Hash einer Datei als neues Kennwort zu verwenden? Warum nicht minimale Passwortkomplexität implementieren?
Ich dachte an die Authentifizierung mehrerer Medien: Das Kennwort ist etwas, das der Benutzer kennt, und eine Schlüsseldatei sollte er besitzen.
Klar, ich lade diese 800-MB-Videodatei jedes Mal hoch, wenn ich mich anmelde ...
Sechs antworten:
Thomas Pornin
2014-06-12 00:30:00 UTC
view on stackexchange narkive permalink

Das Hauptproblem bei einer Schlüsseldatei besteht darin, dass es sich um eine -Datei handelt. Als solches wird es irgendwo auf einem physischen Medium gespeichert. Es wird mit Backups kopiert. Die Datei befindet sich weiterhin auf den Festplatten. Benutzer kopieren ihre Dateien auf mehrere Geräte, um sich von all diesen Geräten aus anmelden zu können. Zusammenfassend lässt sich sagen, dass Dateien lecken.

Umgekehrt passt ein Passwort in ein Gehirn und muss nirgendwo geschrieben werden. der Benutzer bewegt es natürlich mit sich herum; Passwörter gelangen nicht zu Sicherungsbändern und alten Festplatten. Last but not least funktioniert die Passworteingabe auf Mobiltelefonen gut, während das Hochladen von Dateien technologisch anspruchsvoller sein kann.

Eine geheime Datei kann zwar viel mehr Geheimhaltung enthalten als ein gedankengesteuertes Passwort, sie tendiert jedoch auch dazu viel weniger "geheim" zu sein und Usability-Probleme zu implizieren. Insgesamt scheint die "geheime Datei" -Methode generisch nicht sicherer zu sein als Passwörter.


Eine andere Möglichkeit, dies zu sehen: a " geheime Datei "entspricht aus Sicherheitsgründen einer Textdatei, die ein dickes und zufälliges Passwort enthält, das der Benutzer liest, wenn er sich anmelden möchte (und möglicherweise das Passwort mit einer copy&paste" eingibt "). Jedes Argument gegen das Aufschreiben eines Passworts in eine Textdatei gilt gleichermaßen für Ihre Idee einer "geheimen Datei".

Ich bin kein Sicherheitsexperte, aber würden Passwörter nicht auch gesichert? Ich meine, Chrome vervollständigt meine Passwörter automatisch. Wenn ich mein Laufwerk sichern würde, würden meine Passwörter dann nicht auch kopiert?
@11684 nur, weil Sie Ihre Kennwörter im lokalen Speicher von Chrome gespeichert haben (und möglicherweise auch auf den Servern von Google, abhängig von Ihren Synchronisierungseinstellungen). Mit Chrome haben Sie die Möglichkeit, Ihre Passwörter nicht oder in verschlüsselter Form zu speichern (z. B. mit einem Passwort-Manager). Wenn jedoch ein Kennwort durch einen Datei-Upload ersetzt würde, hätten Sie diese Option nicht mehr.
`Ein Passwort passt in ein Gehirn und muss nirgendwo geschrieben werden. der Benutzer bewegt es natürlich mit sich herum; Passwörter gelangen nicht zu Sicherungsbändern und alten Festplatten "Richtig", da dies für alle modernen PwD-Manager gilt.
David
2014-06-12 00:44:56 UTC
view on stackexchange narkive permalink

Wenn Sie eine Multifaktorauthentifizierung wünschen (wie aus Ihrem Kommentar hervorgeht: "Ich habe über die Authentifizierung mehrerer Medien nachgedacht: Das Kennwort ist dem Benutzer bekannt und eine Schlüsseldatei sollte er besitzen"), gibt es mehrere Optionen:

  1. Passwort + clientseitiges Zertifikat (erfordert PKI-Infrastruktur und schwer zu drehendes Zertifikat. Schwer zugänglicher Zugriff auf Webmail von einem anderen Gerät aus, dies kann jedoch von Vorteil sein.)
  2. Passwort + OTP . Sie können entweder HOTP-Geräte (YubiKey-Stil), TOTP-Geräte (RSA-Token-Stil) ausgeben oder ein weiches TOTP-Gerät (wie Google Authenticator) verwenden. Es gibt mehrere Bibliotheken, die TOTP für PHP implementieren, z. B. http://www.multiotp.net/website/index.php?language=de.
  3. ol>

    Schlüsseldateien sind leicht zu stehlen, oder Benutzer können Fehler machen, z. B. das Ändern ihrer Schlüsseldatei (stellen Sie sich vor, sie haben ein Dokument ausgewählt, das sie dann bearbeitet haben!), das Löschen ihrer Schlüsseldatei usw. Dies ist kein sehr benutzerfreundlicher Ansatz und erfordert das Übertragen der gesamten Datei bei jedem Login. Darüber hinaus bieten Schlüsseldateien keinen Schutz vor Malware oder MITM-Angriffen.

pjc50
2014-06-12 14:25:42 UTC
view on stackexchange narkive permalink

Niemand hat die "offizielle" Vorgehensweise unter Verwendung von Client-Zertifikatdateien erwähnt. Diese werden nicht an den Server gesendet, sondern nehmen an einem kryptografischen Prozess teil. Sie können sie sogar auf Smartcards speichern. Zu diesem Zeitpunkt können sie nicht von Malware auf dem Client-PC gestohlen werden.

Der Nachteil ist, dass die Benutzeroberfläche klobig und nicht einfach einzurichten ist .

(Nützlicher Suchbegriff: "PKCS11")

In meinem früheren Job hatten wir Kryptokarten. Es gab einige knifflige Einstellungen, die von Administratoren vorgenommen wurden, aber dann war es für Benutzer meistens unkompliziert.
guntbert
2014-06-12 00:33:53 UTC
view on stackexchange narkive permalink

Ich sehe mindestens 2 Punkte gegen diese Idee:

  1. Passwörter / Passphrasen existieren idealerweise im Speicher des Benutzers und nirgendwo anders, während Ihre "Schlüsseldateien" müssen Sie befinden sich auf einem Speicherplatz und können daher gestohlen werden.
  2. Sie berücksichtigen nicht, dass Benutzer nicht immer vor demselben Computer sitzen - sie müssten diese transportieren Dateien - mehr Gefahr
  3. ol>
Nzall
2014-06-12 14:30:11 UTC
view on stackexchange narkive permalink

Ein weiteres Problem bei der Verwendung einer Datei besteht darin, dass eine Datei technisch flüchtig ist, da nicht garantiert werden kann, dass sie so lange gleich bleibt, wie sie verwendet wird. Dateien können beschädigt oder geändert werden, ohne dass Sie es bemerken oder bemerken. Datenverlust ist ebenfalls ein Risiko: Wenn Sie den Zugriff auf den Speicherort der Datei verlieren (Laptop gestohlen, Festplattenabsturz, Powershell / Bash / Befehlszeilenfehler), können Sie nicht mehr auf das System zugreifen. Ein Passwort hat diese Probleme nicht. Es befindet sich nicht in Ihrem Dateisystem, daher wirken sich Probleme mit Ihrem Dateisystem nicht darauf aus.

eof0100
2014-06-12 03:19:20 UTC
view on stackexchange narkive permalink

Wie alle anderen angegeben haben, sind die beiden Hauptprobleme: 1. Das Speichern des Schlüssels auf einem Festplattenmedium ist immer ein Sicherheitsrisiko, da jemand auch nach dem Formatieren der Festplatte stehlen kann.2. Benutzer kopieren den Schlüssel von einem System auf ein anderes, da wir sicher wissen, dass niemand ein System zum Anmelden verwendet. Dies erhöht das Risiko einer Gefährdung der Schlüsseldatei. Ein System mit einer Schlüsseldatei zu haben, ist risikoreich genug. Stellen Sie sich 3-4 Systeme mit einer Kopie des Schlüssels vor. Wie hoch ist nun die Wahrscheinlichkeit, dass eines davon kompromittiert wird? Das Risiko ist definitiv da.



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