Ich sende eine Antwort auf die sechs Punkte in der akzeptierten Antwort als neue Antwort ...
1. Nicht autorisierte Verwendung des privaten Schlüssels
Bei der Implementierung der Javascript BrowserID wird der private Schlüssel im lokalen Speicher unter der Domäne login.persona.org gespeichert. Ein Rogue-Skript müsste also auf dieser Domain gehostet werden, um Zugriff darauf zu haben. An anderer Stelle gehostete Skripte können nur indirekt über eine eingeschränkte PostMessage -basierte API auf den Schlüssel zugreifen.
2. Umfangreiche Client-Unterstützung (Outlook, Notizen usw.)
BrowserID funktioniert mit jedem E-Mail-Konto oder E-Mail-Client. Das Javascript-Shim unterstützt Browser ohne native Implementierung. E-Mail-Clients muss nichts hinzugefügt werden.
3. Verwendung von mehreren Computern
Ein wichtiger Punkt ist, dass Schlüssel nur von kurzer Dauer sind. Wenn Sie sich an einem Internetkiosk befinden, sind die Schlüssel nur 1 Stunde lang gültig. Wenn Sie sich auf Ihrem eigenen Gerät befinden, sind sie 1 Tag lang gültig. Nach Ablauf wird nach Bedarf eine neue generiert, sofern Sie noch bei login.persona.org authentifiziert sind. Keine Sicherungen erforderlich.
Wenn Sie Ihren privaten Schlüssel löschen möchten, löschen Sie einfach Cookies (wodurch auch der lokale Speicher gelöscht wird - wo die Schlüssel gespeichert sind).
Wenn sich Ihr Computer befindet gestohlen, gibt es ein kleines Fenster, in dem ein Angreifer den Schlüssel verwenden könnte, aber solange Sie Ihr Passwort auf login.persona.org
ändern, wird der login.persona.org
wird ungültig und der Dieb kann keinen neuen Schlüssel erhalten.
4. Schutz oder Verschlüsselung privater Schlüssel (auf dem Client)
Um einen neuen Schlüssel von Ihrem Identitätsanbieter signieren zu lassen, müssen Sie sich damit authentifizieren. Wenn diese Authentifizierung abläuft, müssen Sie Ihr Kennwort erneut eingeben. Dies ähnelt Cookie-basierten Sitzungen, die im Web die Norm zu sein scheinen.
Der private Schlüssel ist nicht besonders wertvoll, da er nur von kurzer Dauer ist. In dieser Hinsicht hat es mehr mit Cookies zu tun als mit X.509-Client-Zertifikaten.
5. Authentifizierung von Schlüsselgenerierungsanforderungen
Der Identitätsanbieter weiß, dass eine Anforderung legitim ist, da der Benutzer bei ihnen authentifiziert ist. Der Fallback-Identitätsanbieter signiert Schlüssel erst, nachdem er den Besitz der E-Mail-Adresse bestätigt hat (in der Standardmethode "Senden Sie Benutzern einen Link mit einem zufälligen Token zum Klicken").
Die Zertifikaterstellung / -signierung erfolgt zwischen der Browser und der Identitätsanbieter über eine Javascript-API. Es basiert nicht auf dem Senden von E-Mails, sodass Benutzer keine E-Mails erhalten, die über die Nachricht "Bitte bestätigen Sie Ihre E-Mail-Adresse" hinausgehen, die der Fallback-Identitätsanbieter zum Zeitpunkt der Kontoerstellung sendet.
6. Datenschutz
Sobald die API stabil genug ist, können andere include.js
selbst hosten. Im Moment empfehlen wir dagegen.
Ein weiterer Punkt, an dem persona.org die Websites sehen kann, bei denen Sie sich anmelden, ist das Online-Überprüfungstool unter https://verifier.login.persona.org / überprüfe
. Sobald das Datenformat festgelegt ist, werden wir die Benutzer dazu ermutigen, Behauptungen selbst zu überprüfen (z. B. mithilfe einer Open Source-Bibliothek), und persona.org
erhält diese Daten nicht mehr.
BrowserID ist als vollständig dezentrales Protokoll konzipiert, um echte Privatsphäre zu ermöglichen. Es bietet jedoch auch zentralisierte Fallbacks, um den aktuellen Mangel an nativer Unterstützung zu umgehen.