Passwortloses Login mit Passkeys

Nach einer Woche interner Tests und Bezugnahme auf Support passwordless login with Passkeys freuen wir uns, die Einführung der Unterstützung für Passkeys in Discourse bekannt zu geben.

Was sind Passkeys?

Passkeys sind eine sicherere und einfachere Alternative zur Authentifizierung mit Passwörtern. Die Erstellung und Verwendung eines Passkeys wird mittlerweile auf vielen Plattformen und in Browsern weitgehend unterstützt. Im Vergleich zu Passwörtern bieten Passkeys eine bessere integrierte Sicherheit durch starke, plattformgenerierte Anmeldeinformationen und biometrische Identitätsprüfung (z. B. TouchID, FaceID, PIN oder Gerätepasswort). Passkeys sind zudem sicher vor serverseitigen Datenlecks (der private Teil des Schlüssels verlässt niemals das Gerät) oder Phishing (jeder Schlüssel ist nur mit einer Website/einem Dienst verknüpft).

Rollout der Funktion

Wenn Sie ein gehosteter Kunde sind, wird die Unterstützung für Passkeys in den nächsten Tagen auf Ihre Instanz ausgerollt. Wenn Sie sie sofort aktivieren möchten, wenden Sie sich bitte hier auf Meta an das @team oder per E-Mail an team@discourse.org.

Wenn Sie Discourse selbst hosten, beachten Sie, dass die Funktion in Kürze standardmäßig in Discourse Core aktiviert wird ab diesem Commit https://github.com/discourse/discourse/commit/4d43ef5186db64db9c6f0e91314a9ae1a337290b standardmäßig in Core aktiviert ist. Wenn Sie sie deaktivieren möchten, können Sie dies über die Rails-Konsole tun:

launcher enter app
rails c
SiteSetting.enable_passkeys = false

Beachten Sie, dass Passkeys nur auf Discourse-Instanzen mit aktivierten lokalen Anmeldungen verwendet werden können. Wenn Ihre Instanz keine lokalen Anmeldungen verwendet, hat die Passkey-Funktion keine Auswirkungen.


Sobald die Funktion aktiviert ist, können Benutzer Passkeys zu ihrem Konto hinzufügen, indem sie zum Sicherheitstab ihrer Benutzereinstellungen navigieren:

Sobald ein Passkey registriert ist, können Benutzer sich damit über das Dropdown-Menü zum automatischen Ausfüllen unter dem Feld für den Benutzernamen (1) anmelden oder auf die Schaltfläche „Mit einem Passkey anmelden“ (2) klicken.

Weitere Details

Es gibt zahlreiche Ressourcen und Anleitungen zu Passkeys. Ich habe die folgenden als die nützlichsten empfunden:

Mögliche zukünftige Verbesserungen

Sobald die anfängliche Einführung der Funktion abgeschlossen ist, können wir folgende Verbesserungen in Betracht ziehen:

  • Einrichten eines Passkeys bei der Kontoerstellung ermöglichen
  • Passkeys bei der Bestätigung sensibler Aktionen verwenden (derzeit im Sicherheitstab der Benutzereinstellungen unterstützt, aber nicht in einigen nur für Administratoren zugänglichen Bildschirmen)
  • Entfernen von Passwörtern ganz ermöglichen (pro Benutzer oder pro Instanz?)
32 „Gefällt mir“

Dies ist eine großartige Ergänzung! Die Sicherheitsvorteile können jedoch leicht umgangen werden, indem man sich mit einem Passwort anmeldet. Ich erwartete, nach der Eingabe meines Passworts immer noch zur Eingabe eines Sicherheitsschlüssels aufgefordert zu werden, aber es wird einfach mit dem Passwort angemeldet. Dies kann durch erneutes Registrieren der Sicherheitsschlüssel in den separaten 2FA-Einstellungen vermieden werden, aber das ist nicht offensichtlich und umständlich.

3 „Gefällt mir“

Danke @Be0

In den meisten aktuellen Implementierungen werden Passkeys noch nicht auf diese Weise eingesetzt. Sie werden als unabhängig von der 2FA behandelt, siehe diesen Bericht über Googles Ansatz. Ich denke jedoch, dass sich die Branche hier langsam anpassen wird.

Damit dies wie erwartet funktioniert, sind zwei Änderungen erforderlich:

Schritt 1: Zulassen der Verwendung von Passkeys als 2FA (derzeit müssen, wie Sie bemerkt haben, Sicherheitsschlüssel unabhängig registriert werden)
Schritt 2: Erzwingen der 2FA bei der Passwortanmeldung, wenn der Benutzer einen Passkey hinzugefügt hat

Schritt 1 ist für mich sinnvoll und nicht störend. Schritt 2 ist ebenfalls sinnvoll, aber etwas störend, wenn der Benutzer den Passkey aus seinem Browser löscht (oder ihn auf einem bestimmten Gerät nicht hat), wird der Zugriff blockiert.

Ich denke jedoch, es ist sinnvoll, dies zu prüfen.

7 „Gefällt mir“

Hallo, wenn ich meine Discourse-Seite auf Mobilgeräten (Firefox) aufrufe, werden Passkeys nicht unterstützt. Ist das so beabsichtigt?

4 „Gefällt mir“

Ich glaube, Firefox arbeitet aktiv daran, Passkey-Unterstützung flächendeckend einzuführen, aber es ist noch nicht zu 100 % ausgereift, wenn ich mir diese Tabelle richtig ansehe.

Abhängig von Ihrer Version und Ihrem Betriebssystem ist es möglicherweise noch nicht verfügbar. Ich habe gerade einen kurzen Test auf macOS und iOS durchgeführt, und die Passkey-Authentifizierung war hier auf meta.discourse.org für mich verfügbar und funktionierte.

5 „Gefällt mir“

Ein Beitrag wurde in ein neues Thema aufgeteilt: Probleme bei der Verwendung von Passkeys mit Vaultwarden

Wenn die Autovervollständigungsfunktion des Browsers den Passkey aus irgendeinem Grund nicht enthält, können Sie auf die Schaltfläche „Mit einem Passkey anmelden“ klicken.

3 „Gefällt mir“

Sie können hier eine PM an @team schreiben oder eine E-Mail an team@discourse.org senden, und wir können diese Funktion für Sie deaktivieren. Wir empfehlen dies nicht, da viele Dienste im Web Passkeys als sicherere Option für die Authentifizierung einführen.

4 „Gefällt mir“

Ist es geplant, das Passwort irgendwann ganz deaktivieren zu können (vorzugsweise pro Konto, ich kann mir vorstellen, dass es nicht gut endet, wenn ganze Websites dazu gezwungen werden)? Denn wenn sowohl ein Passschlüssel als auch ein Passwort aktiv sind, schränkt dies die Nützlichkeit des Passschlüssels ein. Man kann es irgendwie abmildern, indem man ein unglaublich komplexes Passwort erstellt und es einfach nie benutzt, aber das umgeht nur den Sinn von Passschlüsseln.

4 „Gefällt mir“

Ja, ich denke, das wäre schön (und verbesserte Sicherheit für das Konto). Füge es jetzt unter dem Abschnitt „Mögliche zukünftige Verbesserungen“ im OP hinzu.

3 „Gefällt mir“

Dies ist entscheidend für die Sicherheit von Passkeys. Sie sind kaum mehr als eine Bequemlichkeit, wenn ich die Passwortanmeldung nicht deaktivieren kann.

2 „Gefällt mir“

Wenn ich den Passkey-Mechanismus richtig verstehe, müssen Sie einen vertrauenswürdigen Container wie einen Passwort-Manager installiert haben, um die Zugriffsschlüssel zu speichern. Die Abschaffung von Passwörtern setzt voraus, dass alle Benutzer einen solchen Manager installiert haben. Wie werden sich also Benutzer, die dies nicht getan haben, anmelden?

1 „Gefällt mir“

Auf die gleiche Weise, wie Personen, die keine 2FA verwenden, auf Websites zugreifen, die 2FA erfordern – sie tun es nicht.

Dies ist jedoch keine wirkliche Sorge, da Chrome, Safari, Windows, iPhones, Android, Yubi usw. alles Alternativen zu Passwortmanagern sind (die Sie 2024 ohnehin verwenden sollten) und alle mit Passkeys funktionieren.

Ich habe auch nicht vorgeschlagen, jeden Benutzer zu zwingen, kein Passwort zu haben (obwohl ich damit einverstanden bin), aber wenn SIE als Passkey-Benutzer Ihr Passwort nicht deaktivieren können, dient der Passkey weitaus weniger dem Zweck und Sie sind immer noch vollständig phishbar.

1 „Gefällt mir“

Wenn ich Passkeys für Discourse wählen würde, würde ich mein Passwort nicht mehr verwenden. Wie kann ich also phishbar sein? Ich verstehe, dass das Risiko von bösartigen Angriffen oder Brute-Force-Angriffen auf die Passwortanmeldung bestehen bleibt, und Ihr Vorschlag, es pro Benutzer zu deaktivieren, ist gültig, aber nicht durch Phishing?

1 „Gefällt mir“

Gibt es Neuigkeiten zur möglichen Unterstützung der Kontoerstellung nur mit Passkeys und ohne Passwort? Es scheint fast sinnlos, Passkeys zu unterstützen, wenn man sowieso ein Passwort benötigt.

5 „Gefällt mir“

Ist es möglich herauszufinden, wie viele (falls vorhanden) Personen diese Funktion nutzen?

Es wäre gut, wenn es über eine normale Website-Einstellung deaktiviert werden könnte.

1 „Gefällt mir“

Sie können sehen, wie viele Passkeys mit diesem Rails-Befehl erstellt wurden:

UserSecurityKey.where(factor_type: 1).count
1 „Gefällt mir“

Danke. Entschuldigen Sie die einfache Frage, aber ist das etwas, das nach dem Folgenden eingegeben wird?

launcher enter app
rails c
2 „Gefällt mir“

Zu meiner eigenen Referenz, ich habe verwendet:

  • cd /var/discourse
  • ./launcher enter app (da ohne ./ „launcher: command not found“ angezeigt wurde)
  • rails c (eine Weile gewartet)
  • SiteSetting.enable_passkeys = false
  • Strg-D, um die Rails-Konsole zu verlassen
  • Exit, um die App zu verlassen

Das Endergebnis war, dass die Option zur Verwendung eines Passkeys wie erwartet verschwand. Danke.

1 „Gefällt mir“

Es gab eine Person, die einen Passkey erstellt hatte.

Ich habe die User-ID mit UserSecurityKey.where(factor_type: 1) und den Benutzernamen mit Data Explorer erhalten.

Gibt es etwas, das wir tun müssen, um sicherzustellen, dass nichts kaputt geht, wenn wir die Passkey-Option entfernen?

Wird der Benutzer abgemeldet, oder kann er sich nach der Abmeldung einfach nicht mehr mit dem Passkey anmelden?

Wird der Benutzer bereits ein normales Passwort haben oder zumindest jetzt eines generieren können?

1 „Gefällt mir“