Was ist tokenbasierte Authentifizierung?
- IAM-Glossar
- Was ist tokenbasierte Authentifizierung?
Die tokenbasierte Authentifizierung ist ein Sicherheitsprotokoll, das die Identität eines Benutzers durch Verwendung verschlüsselter Token überprüft. Bei der tokenbasierten Authentifizierung authentifizieren sich Benutzer mit einem gültigen Token, um auf Server, Anwendungen, Websites oder eine Application Programming Interface (API) zuzugreifen. Die tokenbasierte Authentifizierung ist ein gängiges Protokoll der Zwei-Faktor-Authentifizierung (2FA) oder Multifaktor-Authentifizierung (MFA), das neben dem traditionellen Benutzernamen und Passwort eine weitere Sicherheitsebene hinzufügt.
Was ist ein Token?
Ein Token ist der Schlüssel, der Benutzer während des Anmeldevorgangs authentifiziert. Token können digital oder ein physisches Gerät wie eine Smartcard oder ein USB-Schlüssel sein. Web-Tokens, die digital sind und auf dem Gerät des Benutzers gespeichert werden, werden von Unternehmen aufgrund ihrer Bequemlichkeit und Flexibilität weithin bevorzugt. Web-Token machen das Mitführen physischer Token überflüssig und lassen sich problemlos in verschiedene Softwaresysteme integrieren, sodass eine nahtlose Authentifizierungserfahrung geboten wird.
So funktioniert die tokenbasierte Authentifizierung
Schauen wir uns die vier wesentlichen Schritte der tokenbasierten Authentifizierung an.
Erste Anfrage: Ein Benutzer beantragt den Zugriff auf eine bestimmte Anwendung, indem er seinen Benutzernamen und sein Passwort eingibt.
Benutzerverifizierung: Die Anmeldeinformationen werden an das Authentifizierungssystem gesendet, um zu sehen, ob die Anmeldeinformationen des Benutzers korrekt sind. Nach der Bestätigung werden die spezifischen Berechtigungen des Benutzers auf dem System überprüft.
Tokenvalidierung: Das System generiert ein Web-Token und gibt es an den Benutzer aus, das für einen begrenzten Zeitraum verwendet werden kann.
Tokenspeicherung: Das Token wird auf dem Gerät des Benutzers gespeichert, bis sich der Benutzer abmeldet, die Sitzung beendet oder das Token abläuft.
Arten von Token für die Authentifizierung
Digitale Token gibt es in verschiedenen Arten, von denen jedes eine entscheidende Rolle bei der Gewährleistung eines sicheren und angemessenen Authentifizierungsprozesses spielt. Lassen Sie uns fünf gängige Arten von digitalen Token und ihre spezifischen Rollen bei der Authentifizierung untersuchen.
JSON-Web-Token (JWT)
JSON-Web-Token ist ein offener Standard (RFC 7519), der zum sicheren Austausch von Informationen zwischen zwei Entitäten – einem Server und einem Client – verwendet wird. JWTs enthalten Informationen über die Identität eines Benutzers und werden digital signiert, um zu bestätigen, dass die enthaltenen Daten legitim sind. Ein JSON-Web-Token besteht aus drei Teilen: dem Header, der Nutzlast (Payload) und der digitalen Signatur.
Header: Der Header enthält Informationen über das JWT. Es gibt den Tokentyp und den Algorithmus an, der zum Signieren des Tokens verwendet wird.
Nutzlast: Die Nutzlast enthält die Claims des Benutzers. Claims sind Teile der Identifizierungsinformationen über eine bestimmte Entität, in der Regel eines Benutzers. Nutzlasten können zusätzliche Informationen wie den Ablauf des Tokens und die Berechtigungen des Benutzers enthalten.
Digitale Signatur: Die digitale Signatur ist ein kryptografischer Schlüssel, der den Header und die Nutzlast überprüft, um sicherzustellen, dass die Nachricht während der Übertragung nicht geändert wurde und die Identität des Benutzers zertifiziert.
Zugriffstoken
Zugriffstoken sind die häufigste Art von JSON-Web-Token. Diese Token sind für die Autorisierung des Benutzerzugriffs auf einen bestimmten Dienst vorgesehen. Nachdem sich ein Benutzer erfolgreich angemeldet hat, wird ein Zugriffstoken mit einem Ablaufdatum an den Benutzer ausgegeben. Das Zugriffstoken gewährt Benutzern für eine begrenzte Zeit Zugriff auf ihre angegebenen Ressourcen und Dienste.
ID-Token
Im Gegensatz zu Zugriffstoken werden ID-Token nicht in erster Linie für die Gewährung des Zugriffs auf Netzwerkressourcen und Anwendungen verwendet. Stattdessen sind ID-Token JSON-Web-Token, die Informationen über den Benutzer wie eine eindeutige ID, einen Namen und eine E-Mail-Adresse zusammen mit ihrem Authentifizierungsstatus enthalten. ID-Token werden Clientanwendungen zur Verfügung gestellt, um die Identität des Benutzers zu überprüfen.
Aktualisierungs-Token
Aktualisierungstoken sind spezifische Arten von JSON-Web-Token, die zum Erhalten zusätzlicher Zugriffstoken verwendet werden, ohne dass der Benutzer seine Anmeldeinformationen erneut eingeben muss. Ihr Zweck ist es, die Lebensdauer eines Zugriffstokens für Benutzer durch seine automatische Erneuerung zu verlängern.
API-Token
Ein API-Token ist eine Codesfolge, die dem Benutzer entspricht, der die Authentifizierung bei einer API beantragt. Es authentifiziert die Identität des Benutzers und gewährt Zugriff auf API-Endgeräte, sodass autorisierte Benutzer sicher mit den API-Ressourcen interagieren können.
Vorteile der Verwendung der tokenbasierten Authentifizierung
Hier sind drei Vorteile der Verwendung der tokenbasierten Authentifizierung.
Sicherheit: Da Token auf eine kurze Lebensdauer ausgelegt sind, wird das Zeitfenster für einen möglichen unbefugten Zugriff minimiert. Sobald ein Benutzer seine Sitzung mit der Anwendung beendet, läuft das ausgegebene Token ab. Dadurch wird die Zeit begrenzt, die Angreifern zur Verfügung steht, um das Token abzufangen und ein Konto zu kompromittieren.
Flexibilität: Die tokenbasierte Authentifizierung kann über mehrere Plattformen wie Webanwendungen, mobile Apps und APIs hinweg verwendet werden. Dies schafft eine einfache Authentifizierungserfahrung und erhöht gleichzeitig die Zugänglichkeit für die Benutzer.
Skalierbarkeit: Da Token auf dem Gerät des Benutzers gespeichert werden müssen, müssen die Server die Sitzung eines Benutzers auf einer Anwendung nicht aufrechterhalten. Dies ermöglicht es Servern, mehrere Anfragen effizient zu verwalten und bei Bedarf auch Token zu generieren.
Nachteile der Verwendung der tokenbasierten Authentifizierung
Hier sind drei wesentliche Nachteile der Verwendung der tokenbasierten Authentifizierung.
Risiko eines kompromittierten Schlüssels: Eine häufige Bedrohung im Zusammenhang mit der tokenbasierten Authentifizierung ist die mögliche Kompromittierung der Token-Schlüssel. Cyberangriffe wie Phishing, Malware, Brute-Force- oder Man-in-the-Middle-Angriffe (MITM) können auf diese Schlüssel abzielen. Die meisten Web-Token-Systeme basieren auf einem einzigen Schlüssel. Wenn ein Cyberkrimineller diesen Schlüssel kompromittiert, ist das gesamte System angreifbar.
Kurze Lebensdauer: Aufgrund der kurzen Lebensdauer der Token ist es wichtig zu beachten, dass Token eine konsistente Verwaltung erfordern. Dabei muss sichergestellt werden, dass die Token ein Ablaufdatum haben und ihre Berechtigungsnachweise bei Bedarf erneuert werden.
Tokengröße: Token können sehr groß sein, insbesondere wenn sie eine große Menge an Benutzerinformationen oder Metadaten enthalten. Aufgrund seiner Komplexität und Größe kann ein Token den Netzwerk-Overhead in Umgebungen mit begrenzter Internet-Bandbreite erhöhen.