Unterstützung für passwortloses Anmelden mit Passkeys

Hallo,

Ich schlage die Unterstützung für Apples Passkeys-System vor.

5 „Gefällt mir“

Was ist der große Sprung gegenüber Discourse Apple Authentication?

2 „Gefällt mir“

Bei früheren Implementierungen mussten sich Benutzer jedoch bei jeder Website oder App auf jedem Gerät anmelden, bevor sie die passwortlose Funktionalität nutzen konnten. Mit dieser erweiterten Verpflichtung können Benutzer automatisch auf viele ihrer Geräte zugreifen, auch auf neue, ohne jedes Konto erneut registrieren zu müssen. Darüber hinaus können Benutzer die FIDO-Authentifizierung auf ihrem Mobilgerät verwenden, um sich bei einer App oder Website auf einem nahegelegenen Gerät anzumelden, unabhängig von der verwendeten Betriebssystemplattform oder dem Browser.

Ich vermute, es ist nur ein verfeinertes Protokoll. Ich bin sicher, wir werden uns damit näher an der neuen iOS-Version beschäftigen.

4 „Gefällt mir“

[quote=“The Dark Wizard, post:1, topic:229259, full:true, username:TheDarkWizard”]
Hallo,

ich schlage die Unterstützung für Apples Passkeys-System vor.

https://developer.apple.com/documentation/authenticationservices/public-private_key_authentication/supporting_passkeys
[/quote]Ich wusste nicht, dass CDCK dies selbst implementieren muss. Ich dachte, es sei vom Webbrowser oder Betriebssystem abhängig?

Und um das klarzustellen: Passkeys sind kein von Apple entwickelter Standard. Sie wurden von der FIDO Alliance entwickelt. Apple ist nur eines von vielen Unternehmen, das den Standard übernimmt.

[quote=“Robert, post:2, topic:229259, full:true, username:merefield”]
Was ist der große Sprung gegenüber dem Sign in with Apple Plugin?
[/quote]Passkeys sind keine Form von SSO.

[quote=“Sam Saffron, post:3, topic:229259, username:sam”]
Ich schätze, es ist nur ein verfeinertes Protokoll. Ich bin sicher, wir werden uns damit näher an der neuen iOS-Version beschäftigen.
[/quote]Apples Implementierung schien viel anders und interessanter, aber vielleicht habe ich während der Keynote etwas falsch verstanden… :thinking:

Ich bin gespannt, wie sich das entwickelt, sobald Apple seine neuen Betriebssystemversionen veröffentlicht.

1 „Gefällt mir“

Geht es um eine Art von Public/Private-Key-Kryptografie?

Ich bin immer vorsichtig, wenn Apple beteiligt ist, weil sie gerne proprietäre Systeme entwickeln, um Sie in ihrem Ökosystem gefangen zu halten …

2 „Gefällt mir“

Es soll auf einem offenen Standard der FIDO Alliance basieren. Google, Microsoft und andere große Plattformen sind ebenfalls mit an Bord.

Apple behauptet auf seiner Website, dass es mit Nicht-Apple-Geräten funktionieren wird, gibt aber keine Erklärung, wie sie das erreichen wollen.

2 „Gefällt mir“

Es soll nur auf deinen Geräten funktionieren.

Glücklicherweise ist dies nicht der Fall. Es ist ein offener Standard. :grin:

Apple wird nicht wissen, wie Microsoft und Google es implementieren, bis sie es tun.

1 „Gefällt mir“

Wie besprochen, sind Passkeys kein eigenes System von Apple. Sie sind nicht einmal ein Eigenname.

Passkeys werden tatsächlich bereits von Discourse unterstützt, wenn auch unvollkommen: Sie liegen in Form von WebAuthn-Sicherheitsschlüsseln vor. Die einzige Änderung, die Discourse vornehmen muss, um sie ordnungsgemäß zu unterstützen, besteht darin, einen Sicherheitsschlüssel anstelle eines Passworts zu verwenden und nicht als Form der Zwei-Faktor-Authentifizierung.


Apple hat ein Video darüber, wie die Benutzererfahrung implementiert wird, und ich bin sicher, dass viele andere Unternehmen dies ebenfalls tun, aber ich werde die relevanten Punkte hier zusammenfassen.

Um eine vollständige Unterstützung für Passkeys (im Folgenden als „registrierte Sicherheitsschlüssel“ bezeichnet) zu implementieren, muss Discourse nur die folgenden Änderungen vornehmen:

  1. Ändern Sie das Anmelde-Modal so, dass nur das Passwortfeld angezeigt wird, wenn der Benutzer die E-Mail-Adresse eines Kontos ohne registrierte Sicherheitsschlüssel eingibt. Passkeys sollten als Standard angezeigt werden, nicht Passwörter. Wenn der Benutzer beides hat, behandeln Sie das Passwort als Backup-Option: Da Passkeys ein System zur Authentifizierung anderer Geräte haben, ist der einzige Grund, ein Passwort zu verwenden, wenn der Browser zu alt ist, um überhaupt Passkey-Unterstützung zu implementieren. Dies wird immer seltener vorkommen.
  2. Akzeptieren Sie einen registrierten Sicherheitsschlüssel als einzige Authentifizierungsquelle: Fordern Sie kein Passwort an, verwenden Sie keine Multi-Faktor-Authentifizierungsmethoden. Es ist sinnlos, einen TOTP-Code zu verlangen, da jeder mit dem WebAuthn-Privatschlüssel auch das TOTP-gemeinsame Geheimnis hätte, das zur Generierung von Einmalcodes verwendet wird. Letzteres ist tatsächlich viel einfacher zu stehlen, da es von der Discourse-Instanz selbst generiert wird: Es ist ein gemeinsames Geheimnis.
  3. Erlauben Sie Benutzern mit registrierten Sicherheitsschlüsseln, ihre Passwörter zu entfernen.
  4. Verwenden Sie nur Zwei-Faktor-Authentifizierungsmethoden, wenn der Benutzer ein Passwort verwendet.

Das wurde in unserer ursprünglichen Spezifikation für WebAuthn behandelt

Wir haben jedoch nur die erste und gebräuchlichste WebAuthn-Methode implementiert.

Nun, der erste Faktor WebAuthn heißt jetzt „Passkeys“, und es ist an der Zeit, dies in Betracht zu ziehen.

Um zu veranschaulichen, dass es sich um dasselbe handelt, sieht die Anmeldung bei der Discourse-Instanz des Tor-Projekts über Safari unter iOS 16 derzeit so aus, nachdem ich eine E-Mail-Adresse und ein Passwort eingegeben habe:

1 „Gefällt mir“

Und in Safari auf macOS Monterey (das ein Jahr älter ist) mit demselben Schlüssel:

Ich vermute, macOS Ventura wird die Sprache an iOS 16 anpassen.

Das ist übrigens die wichtigste Neuerung gegenüber bestehendem WebAuthn aus Benutzersicht: Sie können den privaten Schlüssel über einen Ende-zu-Ende-verschlüsselten Passwortmanager Ihrer Wahl synchronisieren.

3 „Gefällt mir“

Es ist jetzt gut 3-4 Monate her, oder? Könnte also die Unterstützung für den ersten Faktor aktiviert werden?

Ich bin damit einverstanden, dies als optionale Administratoroption hinzuzufügen, glaube aber nicht, dass wir in den nächsten ein oder zwei Monaten die Kapazitäten dafür haben.

1 „Gefällt mir“

Wäre jemand bereit, es im Marketplace zu finanzieren?

Auch für Android erhältlich

3 „Gefällt mir“

Ich würde wetten, dass Microsofts Implementierung bis Ende des Jahres seinen Weg in Windows finden wird.

1 „Gefällt mir“

Sobald wir Android- und iOS-Unterstützung haben, denke ich, dass dies ein klares Mandat ist, es für Discourse zu implementieren. Da es auf der Apple-Seite ausgeliefert wurde, warten wir jetzt auf Android.

Zwei Funktionen werden heute für Early Adopters angekündigt, die sich für die Google Play Services Beta anmelden und Chrome Canary verwenden. Ein stabiler Start wird „später in diesem Jahr“ erfolgen:

Der Artikel wurde diesen Monat geschrieben, also könnte er bis Ende 2022 ausgeliefert werden?

7 „Gefällt mir“

Update

  • Passkeys sind jetzt stabil in Chromium. (Hinweis: Firefox unterstützt Passkeys noch nicht)
  • Passwortmanager wie Dashlane, 1password haben die Unterstützung für Passkeys angekündigt

So sieht die Unterstützung für Passkeys ab dem 11. Dezember aus.

Quelle: Passkey support on Android and Chrome  |  Passkeys  |  Google for Developers

2 „Gefällt mir“

Außerdem gibt es ein cooles Demovideo auf der Website https://www.passwordless.dev/

4 „Gefällt mir“

Ich denke, Android unterstützt jetzt Passkeys.