- Wenn man für langfristige interne Konto-IDs nur deshalb E-Mail-Adressen als dauerhafte IDs verwendet, weil OIDC sie zurückliefert, handelt man sich sowohl Änderungs- als auch Wiederverwendungsprobleme ein
- E-Mail-Adressen können sich selbst innerhalb einer Organisation wie Namen oder Logins ändern und sind daher nicht stabil genug als maßgeblicher Konto-Wert
- Selbst wenn der Zugriff auf oder die Weiterleitung von E-Mails an alte Adressen bestehen bleibt, gibt es keine Garantie, dass diese Adresse für nicht mailbezogene Zwecke wie OIDC-Authentifizierung weiter funktioniert
- Für die Kontowiederherstellung kann eine E-Mail-Adresse nötig sein, aber wenn das Authentifizierungssystem eine eigene eindeutige und dauerhafte ID bereitstellt, sollte man diesen Wert als interne ID verwenden
- Auch wenn der Wert für Nutzer nicht sichtbar ist, ist es für den langfristigen Betrieb und die Sicherheit einfacher, interne Konto-Kennungen als bedeutungslose IDs zu halten
Warum man E-Mail-Adressen gern als dauerhafte IDs verwenden möchte
- Wenn man interne Kennungen pro Konto anlegt, liegt die E-Mail-Adresse als Kandidat nahe, weil Authentifizierungssysteme wie OIDC Daten einschließlich der E-Mail-Adresse zurückgeben
- Verwendet man eine E-Mail-Adresse jedoch als dauerhafte interne Kennung eines Kontos, entstehen zwei Probleme: Änderbarkeit und Wiederverwendbarkeit
Änderbare Adressen eignen sich schlecht als Referenzwert
- Das größte Problem ist, dass sich E-Mail-Adressen ändern können
- Selbst innerhalb einer Organisation können sich die E-Mail-Adressen von Personen ändern
- Das kann aus denselben Gründen geschehen, aus denen sich auch der im Alltag verwendete Name oder der Login ändern kann
- Änderungen oder Neuausstellungen organisationsseitig vergebener E-Mail-Adressen zu verweigern, kann an vielen Orten rechtlich so hart sein, dass es auf Dauer schwer durchzuhalten ist
- Selbst wenn eine alte E-Mail-Adresse nicht vollständig verschwindet, reicht sie als dauerhafte Kennung nicht aus
- Zugriff auf die alte Adresse oder Weiterleitungen können bestehen bleiben
- Trotzdem kann es sein, dass die alte Adresse für nicht mailbezogene Zwecke wie OIDC-Authentifizierung nicht weiter funktioniert
- Nutzer möchten statt einer möglicherweise unbequemen alten E-Mail-Adresse lieber ihre aktuelle neue Adresse verwenden
Wiederverwendung und Recovery-E-Mails müssen getrennt behandelt werden
- Ein kleineres Problem ist, dass es keine Garantie gibt, dass eine Organisation E-Mail-Adressen nicht wiederverwendet
- Im Allgemeinen können sie wiederverwendet werden
- Besonders begehrte Adressen können auf Wunsch einflussreicher Personen ausnahmsweise wiederverwendet oder neu zugewiesen werden
- Wenn die Kontowiederherstellung über eine registrierte E-Mail-Adresse erfolgen soll, muss diese E-Mail möglicherweise gespeichert werden
- Wenn es aber wie bei OIDC eine theoretisch eindeutige und dauerhafte interne ID gibt, sollte man diese interne ID verwenden
- Selbst wenn eine E-Mail-Adresse für die Kontowiederherstellung gespeichert werden muss, sollte die interne Kennung eines Kontos eine bedeutungslose ID sein
- Auch wenn dieser Wert dem Nutzer nicht angezeigt wird, wird der Betrieb langfristig einfacher
- Wenn man E-Mail-Adressen mit zu viel Bedeutung auflädt, können sich darin auch Sicherheitsprobleme verbergen
1 Kommentare
Meinungen auf Hacker News
Einen guten Identifikator für die Identität gibt es nicht
E-Mail-Adressen ändern sich, und manchmal verliert man den Zugriff auf alte E-Mail-Adressen
Auch Benutzernamen mögen viele Menschen nicht; statt eines bedeutungslosen eindeutigen Namens wie
user53267möchten sie lieber einen nicht eindeutigen Namen wählenAuch Geräte gehen verloren, daher lässt sich das Problem nicht allein dadurch lösen, dass man eine geheime UUID in einem Cookie speichert oder die Passkeys des Geräts nutzt
Es gibt keine ideale Lösung, man muss mehrere Ansätze kombinieren. Für manche Menschen ist eine E-Mail-Adresse lange stabil und als Identifikator gut geeignet; für andere ist der Benutzername stabiler, und sie bevorzugen diesen. Allerdings kenne ich kaum jemanden, der dasselbe Hauptgerät über mehr als ein paar Jahre nutzt, geschweige denn über Jahrzehnte; gerätebasierte Identifikation dürfte daher vermutlich nicht gut funktionieren
Besonders deutlich zeigt sich das bei beruflichen E-Mail-Adressen wie
first.last@company.com. Viele Vendor-Software nutzt Sign in with Google und speichert diese E-Mail-Adresse als Identifikator innerhalb der Vendor-AppNamen ändern sich durch Heirat, Scheidung, Transition, Wechsel des Kulturkreises, die Wahl eines neuen Namens usw., und damit ändern sich auch E-Mail-Adressen
Vielleicht brauchen Dinge wie OIDC neue Erweiterungen, etwa eine standardisierte API zur Änderung von Benutzernamen und eine standardisierte API zur Änderung von E-Mail-Adressen
Abgesehen von amtlichen Identifikatoren wie Ausweisen oder Sozialversicherungsnummern scheint es schwer, etwas Besseres zu finden
sub-Claim eindeutig ist und nicht neu vergeben werden darf: https://openid.net/specs/openid-connect-core-1_0.html#IDToke...Das bedeutet natürlich, dass man keine E-Mail-Adresse in
subdes ID-Tokens eintragen sollteIch habe ein Unternehmen erlebt, in dem man beim Wechsel in eine Festanstellung ein komplett neues Konto anlegen musste; weil es kein einfaches, einheitliches Berechtigungssystem gab, dauerte es nach dem Wechsel etwa drei Wochen, bis man die Zugriffsrechte auf Systeme zurückbekam, auf die man noch am Vortag Zugriff hatte
Noch amüsanter ist, dass dieses Unternehmen viel Geschäft damit macht, Kunden komplexe Kontensysteme anzubieten, und auch ein externes Identitätssystem besitzt, das solche Probleme leicht handhabt. Nur wird es ausgerechnet nicht auf die internen Mitarbeitenden angewendet, die dieses externe Identitätssystem betreuen
Da alle eine Zahl angehängt hatten, hatte die Zahl kaum Bedeutung. Ich fand es etwas schade, als auf eindeutige Konto-IDs umgestellt wurde, und frage mich bis heute, warum sie das geändert haben
Was ist als Privatperson der beste Ansatz, mit diesem Problem umzugehen?
Gmail kann einen wegen KI-Algorithmen plötzlich aussperren oder das Konto sperren, und wenn etwas schiefläuft, gibt es keinen Rechtsbehelf
Yahoo verlangte kürzlich beim Login eine Bestätigung über eine inaktive E-Mail-Adresse, auf die ich seit 15 Jahren keinen Zugriff mehr hatte, wodurch ich den Zugriff verlor. Zum Glück konnte ich noch über einen E-Mail-Client zugreifen und wichtige Konten umziehen
Yahoo/AOL/Tutanota/Protonmail und viele andere löschen Konten automatisch, wenn man sich nicht häufig genug einloggt. Protonmail tut das noch nicht, erlaubt es aber laut Nutzungsbedingungen
Auch Self-Hosting braucht von Anfang an für die gesamte Infrastruktur E-Mail. Wenn man den Zugriff auf diese E-Mail verliert, verpasst man Zahlungsbenachrichtigungen und kann auch das Hosting-Konto verlieren. Ich hätte beinahe eine Domain verloren, weil Zahlungsbenachrichtigungen an eine E-Mail-Adresse gingen, die IMAP nicht unterstützte und die ich daher fast nie prüfte. Wenn man kein professioneller Systemadministrator ist und nicht genug Zeit für Wartung hat, steigt außerdem das Hacking-Risiko
Duo-Push ist vorbei, wenn das Smartphone kaputtgeht, und SMS-Authentifizierung hat Probleme wie defekte Telefone, verlorenen Zugriff auf den Mobilfunktarif oder Code-Leaks durch interne Mitarbeitende
Am Ende habe ich mich entschieden, meine Gmail-Adresse der Universität zu verwenden. Sie haben versprochen, dass Alumni sie weiter behalten können, und wenn etwas schiefläuft – vermutlich der Verlust des zweiten Faktors durch ein verlorenes Smartphone –, gibt es ein ordentliches Support-Center für Alumni
Irgendwo braucht man unbedingt eine Support-Stelle mit Menschen, mit denen man sprechen kann. Trotzdem bin ich mir nicht sicher, ob das wirklich die beste Lösung ist, und frage mich, ob weiterhin Risiken auf Google-Seite bestehen
Wie gesagt: Wenn du ausgesperrt wirst, wechselst du „einfach“ den Anbieter und verlierst höchstens ein paar Stunden E-Mails
Ich stimme zu, dass E-Mail-Adressen als dauerhafte Identifikatoren schlecht geeignet sind. Telefonnummern als Teil der Identifikation zu verwenden, ist allerdings noch schlimmer.
Ich nutze seit fast 20 Jahren dieselbe E-Mail-Adresse mit eigener Domain, aber im selben Zeitraum hat sich meine Telefonnummer wohl fast ein Dutzend Mal geändert. Ich sehe häufig Fälle, in denen eine Website 2FA noch auf einer alten Nummer aktiviert hat oder man schlicht vergessen hat, dass man dort die alte Nummer registriert hatte.
Auch während ich im Ausland lebe, behalte ich meine US-Nummer bei AT&T und zahle dafür jeden Monat etwa 150 Dollar Steuern, weil es noch Websites gibt, die Login-Codes an diese Nummer schicken, und weil ich fürchte, den Zugriff auf wichtige Dienste zu verlieren, falls ich sie aufgebe, weil ich vergessen habe, sie zu aktualisieren, oder weil eine US-Nummer erforderlich ist.
Wenn du die Nummer später wieder in einem Mobilfunkkonto nutzen willst, portierst du sie einfach wieder zu einem Anbieter deiner Wahl.
Stell die Zwei-Faktor-Authentifizierung, wo möglich, auf eine App wie Google Authenticator um und portiere die Nummer zu Google Voice; dann kannst du SMS an deine alte Nummer kostenlos empfangen.
Wenn du Google gar nicht einbeziehen willst, gibt es viele andere zeitbasierte Authenticator-Apps, und für SMS kannst du auch www.tossabledigits.com nutzen.
Selbst für normalen Mobilfunk ist das übertrieben. Ich zahle für zwei Leitungen nicht einmal 100 Dollar im Monat.
Als ich früher umzog, war meine private Büronummer in der neuen Region nicht zulässig, aber ich hatte Glück und konnte sie in ein VoIP-Konto portieren.
Damals war das Internet langsam, also nutzte ich eine Zeit lang einen Ethernet-Telefonadapter; später verwendete ich die Nummer nur noch eingehend. Sprachanrufe und Faxe werden alle per E-Mail weitergeleitet.
Das funktioniert seit über 20 Jahren gut. Da kein Gerät angeschlossen werden muss, sind auch die jährlichen Kosten ziemlich niedrig.
Vielleicht schließe ich irgendwann ein Telefon an und nutze modernes Internet, aber mir gefällt die aktuelle Lösung, und ich mag, dass sie nicht an einen bestimmten Ort gebunden ist.
Meine Erfahrung ist dieselbe. Persönlich halte ich eine zufällige UUID für die beste Lösung.
Selbst ein Hash der ursprünglichen E-Mail-Adresse des Nutzers ist nicht ideal. Salting allein reicht möglicherweise nicht aus, und andere könnten annehmen, dass man beliebige eingegebene E-Mail-Adressen sicher hashen darf.
In der Praxis verwende ich als Primärschlüssel immer automatisch inkrementierende Integer oder zufällige Strings/UUIDs.
Er darf nichts mit realen Eigenschaften zu tun haben, die Menschen wichtig sind, wie Telefonnummern, E-Mail-Adressen, staatliche Ausweisnummern, Namen oder Fingerabdrücke.
Ein zufälliger String erfüllt diese Bedingung perfekt. Fortlaufende Integer sind ebenfalls okay, aber leicht zu erraten und können daher zusätzliche Sicherheitsmaßnahmen erfordern.
Wie wäre es, E-Mail-Adressen mit öffentlichen Schlüsseln zu unterstützen? Zum Beispiel indem man etwas wie . und etwas wie . gleichwertig behandelt.
Man könnte sich mit der einen Variante registrieren und sich später auch mit der anderen anmelden oder das Konto wiederherstellen. Wenn Google mich sperrt oder Hotmail untergeht, könnte ich zu einem anderen Dienst gehen, mich mit meinem privaten Schlüssel authentifizieren und dasselbe Konto öffnen.
Natürlich bräuchte es einen Alias-Prozess für bequeme Namen, aber Mail-Clients müssten solche Adressen wohl abbilden oder zumindest zusammen mit dem öffentlichen Schlüssel nachverfolgen.
Das könnte auch ein Anlass sein, Ende-zu-Ende-verschlüsselte E-Mail einzuschleusen. Das hat sich in großem Maßstab bisher kaum etabliert.
Damit es wirklich funktioniert, müssten große Anbieter es unterstützen, aber bei kurzer Betrachtung wirkt es ziemlich solide. Abgesehen davon, dass es noch niemand unterstützt.
Es entstehen neue Wege, sich im Web zu identifizieren und zu kommunizieren, bei denen man die eigene Identität besitzt, ohne von einem Anbieter oder einer zentralen Autorität abhängig zu sein.
Mein früherer Energieversorger British Gas, der Centrica gehört, erlaubte nicht, eine E-Mail-Adresse für mehr als eine physische Adresse zu verwenden.
Nachdem ich umgezogen war und mein Online-Konto „einrichten“ wollte, bekam ich jedes Mal einen HTTP 500, wenn ich die Details meiner aktuellen Adresse ansehen wollte.
Auf telefonische Nachfrage hieß es, man könne „dieselbe E-Mail-Adresse nicht für mehrere Postanschriften verwenden“, selbst wenn das Energiekonto an der früheren Adresse geschlossen sei.
+whatever-Trick verwenden. Bei Gmail geht auch der Punkt-.-Trick.Wir stellen unser E-Mail-System gerade so um, dass ein Konto mehrere verknüpfte E-Mail-Adressen haben kann.
Einer der Hauptgründe ist, dass wir Studierendenrabatte anbieten. Der einfachste Weg, einen Rabatt auf ein Konto anzuwenden, ist zu prüfen, ob die E-Mail zu einer Bildungseinrichtung gehört, also etwa
.edu,.ac.ukund ähnliche.Die meisten scheinen sich aber nicht wirklich mit dieser E-Mail-Adresse registrieren zu wollen. Wenn wir mehrere E-Mail-Adressen erlauben, bekommen wir die Vorteile beider Seiten.
Ich wünschte, wir hätten das von Anfang an so gemacht.
.edu-Weiterleitungsadresse für Alumni bekommen können.Ich habe eine ziemlich coole Adresse. Ich habe sie früh beantragt, deshalb besteht sie einfach nur aus meinem Namen.
Allerdings nutze ich sie nicht viel. In der Anfangszeit war die Weiterleitung gelegentlich unzuverlässig, aber ich nehme an, dass sie inzwischen besser ist.
Realistisch betrachtet ist meine Gmail-Adresse seit fast Jahrzehnten stabil und wird sich wohl auch nicht ändern.
Jedenfalls gebe ich meine edu-Adresse nur sehr wenigen Leuten.
Auch wenn es nicht die eleganteste Lösung ist, gibt es eine clientseitige Lösung.
Wenn man die eigene Domain selbst bezahlt und pflegt, hat man 100 % Kontrolle über E-Mail-Aliasse.
Selbst wenn der aktuelle Anbieter Google scheitert, kann man E-Mail selbst hosten, das Konto wiederherstellen und die Inhaberschaft der Aliasse behalten.
Ich sehe das als Backend-Problem. Die für Nutzer sichtbare ID kann eine E-Mail-Adresse sein, aber der Primärschlüssel in den Systemdaten darf nicht die E-Mail-Adresse sein
Gibt es wirklich noch Orte, die das so machen? Dinge wie E-Mail-Adressen nicht als Identifikator zu verwenden, sondern eine Lookup-Tabelle zu haben, die sie auf echte eindeutige IDs (UUIDs oder sequenzbasierte Auto-Increment-Werte) abbildet, ist eine ganz grundlegende Frage des Datenbankdesigns
Der Artikel trennt das nicht sauber, sodass es sich auch so lesen lässt, als müssten Nutzer diese Abstraktion verstehen
Nichts ist für immer. Es gibt kaum etwas, das auch nur über die gesamte Lebensspanne eines Menschen stabil bleibt
Selbst leicht scannbare biometrische Merkmale sind in ausreichend großen Bevölkerungsgruppen nicht zuverlässig eindeutig
E-Mail-Adressen sind über ziemlich lange Zeiträume stabil eindeutig, deshalb wurden sie für solche Zwecke gewählt
Auch Telefonnummern sind zu einem haftenderen Identifikator geworden als früher und ähneln E-Mail-Adressen inzwischen als nützlicher Identifikator
Sowohl E-Mail-Adressen als auch Telefonnummern gehen häufig verloren, oft sogar gleichzeitig
Eine Backup-E-Mail-Adresse ist die Antwort
Ich finde, GitHub geht mit Identität recht gut um, verwendet aber immer noch Passwörter. Passwörter sind schlecht