Ablauf der Nutzerauthentifizierung · Mindmaps
Ablauf der Nutzerauthentifizierung. Eine bearbeitbare Mindmap mit farbigen Zweigen, Unterthemen und Verbindungen. Geschwungene Linien zeigen Beziehungen; Pfeile stehen nur dort, wo die Richtung wichtig ist.
Ein Ablauf der Nutzerauthentifizierung ist der Weg von der Kontoerstellung bis dahin, dass jede spätere Anfrage vertrauenswürdig ist: Zugangsdaten werden vor dem Speichern gehasht, bei der Anmeldung geprüft, und danach steht ein Sitzungstoken für das Passwort ein.
Ablauf der Nutzerauthentifizierung · Mindmaps
Die interaktive MindMap-Zeichenfläche zu dieser Erklärung — jede Bahn, jede Zeile und jeder Pfeil oben gehört zu einem echten QueryChart-Diagramm, das Sie öffnen und bearbeiten können.
So lesen Sie diese Mindmap
- Beginnen Sie beim Thema in der Mitte und folgen Sie einem farbigen Zweig zu den zugehörigen Ideen.
- Geschwungene Linien zeigen Beziehungen; Pfeile stehen nur dort, wo die Richtung wichtig ist.
Register
Dieser Zweig verbindet “User creates an account”, “The password is salted and hashed before it is ever stored — the service cannot recover the plaintext, and a leaked database does not leak credentials.”, “Hashed credential is stored in the database”, “Client sends email and password”.
Sign in
Dieser Zweig verbindet “User signs in with credentials”, “Client forwards them to the auth service”, “Hash matches the stored one?”.
Session
Dieser Zweig verbindet “Auth service creates a session”, “Client stores the session token”.
Protected requests
Dieser Zweig verbindet “The token proves the session without re-entering the password. Multi-factor authentication inserts a second check at sign-in when the risk profile demands it.”, “Access granted for the session”.
Failure path
Dieser Zweig verbindet “Sign-in denied”.
Verbindungen zwischen den Zweigen
Passwörter werden vor dem Speichern gehasht: Die Datenbank hält einen gesalzenen Einweg-Hash, nie den Klartext.
Die Anmeldung vergleicht Hashes, der Auth-Dienst selbst kann das gespeicherte Passwort also nicht zurückgewinnen.
Das Sitzungstoken ersetzt für alle folgenden Anfragen das Passwort, und erst das macht Authentifizierung in großem Maßstab praktikabel.
Speicherung und Prüfung sind getrennte Zuständigkeiten in getrennten Bahnen, sodass beide für sich geschützt werden können.
Der Ablauf hat dieselbe Form, ob das Token eine Serversitzung oder ein JWT ist: Die Mechanik des Tokens zeigt die Darstellung zu JWT.
Wichtige Zusammenhänge und Erkenntnisse
- Passwörter werden vor dem Speichern gehasht: Die Datenbank hält einen gesalzenen Einweg-Hash, nie den Klartext.
- Die Anmeldung vergleicht Hashes, der Auth-Dienst selbst kann das gespeicherte Passwort also nicht zurückgewinnen.
- Das Sitzungstoken ersetzt für alle folgenden Anfragen das Passwort, und erst das macht Authentifizierung in großem Maßstab praktikabel.
- Speicherung und Prüfung sind getrennte Zuständigkeiten in getrennten Bahnen, sodass beide für sich geschützt werden können.
- Der Ablauf hat dieselbe Form, ob das Token eine Serversitzung oder ein JWT ist: Die Mechanik des Tokens zeigt die Darstellung zu JWT.
Wann Sie diese Darstellung nutzen
- Einem neuen Team die sichere Form der Authentifizierung zeigen, bevor es seine erste Anmeldung entwirft.
- Einen Anmeldeablauf auf die klassischen Fehler prüfen: Klartext speichern, Klartext vergleichen, dem Client vertrauen.
- Ein Gespräch über die Zwei-Faktor-Authentifizierung und ihren Platz im Ablauf auf eine gemeinsame Grundlage stellen.
So funktioniert es
Mittleres Thema anpassen
Benennen Sie das Thema für Ihr Projekt oder Ihren Unterricht um.
Zweige ausbauen
Bearbeiten Sie Ideen und ergänzen Sie Beispiele oder Notizen.
Ideen verbinden
Zeichnen Sie Verbindungen zwischen Zweigen; Pfeile zeigen eine wichtige Richtung an.
Häufig gestellte Fragen
Wie speichert man Passwörter sicher?
Speichern Sie nie das Passwort selbst. Speichern Sie einen gesalzenen Hash (eine Einwegfunktion, angewandt auf das Passwort plus ein zufälliges Salt) und verwerfen Sie den Klartext. Bei der Anmeldung hashen Sie das eingehende Passwort auf dieselbe Weise und vergleichen die Hashes. Leakt die Datenbank, bekommt der Angreifer Hashes, die er nicht umkehren kann. Genau diese Eigenschaft zeigen die Hash-Kästen der Darstellung.
Was ist der Unterschied zwischen Hashen und Verschlüsselung?
Verschlüsselung ist umkehrbar: Mit dem Schlüssel gewinnen Sie den ursprünglichen Wert zurück. Hashen ist ein Einwegverfahren: Es gibt keinen Schlüssel und keinen Weg zurück. Für Passwörter wollen Sie das Hashen, denn Sie brauchen den Klartext nie wieder, nur die Möglichkeit zu prüfen. Deshalb heißt es in der Darstellung „hasht“ und nicht „verschlüsselt“; Passwörter zu verschlüsseln ist eine verbreitete und gefährliche Verwechslung.
Wie ersetzt ein Sitzungstoken das Passwort?
Nach einer erfolgreichen Anmeldung erstellt der Auth-Dienst eine Sitzung und übergibt dem Client ein Token (einen Zufallswert oder ein signiertes JWT), das für den authentifizierten Nutzer steht. Geschützte Anfragen tragen das Token, und der Server prüft es, statt erneut nach dem Passwort zu fragen. Das macht Authentifizierung bei wiederholten Anfragen praktikabel, und deshalb ist der Ablauf des Tokens die eigentliche Sicherheitsgrenze.
Wo passt die Zwei-Faktor-Authentifizierung in diesen Ablauf?
Sie ist eine zusätzliche Prüfung bei der Anmeldung, nach der Prüfung des Passworts und vor der Erstellung der Sitzung: Der Nutzer liefert einen zweiten Faktor: einen Einmalcode, eine Authenticator-App, einen Hardware-Schlüssel. Die Anmeldespalte der Darstellung ist die Stelle, an der dieser Schritt einsetzt. Am Hashen und an der Sitzungsmechanik ändert sich nichts; die eine Entscheidung „Hash stimmt mit dem gespeicherten überein?“ bekommt lediglich einen zweiten Nachweis.
Diese Mindmap in QueryChart bearbeiten
Öffnen Sie die Mindmap auf einer bearbeitbaren Leinwand. Verschieben Sie Ideen und ergänzen Sie Zweige und Verbindungen.