Zum Hauptinhalt springen

Die tokenbasierte Authentifizierung ist ein Authentifizierungs­protokoll, bei dem Benutzer ihre Identität im Austausch gegen ein eindeutiges Zugangstoken verifizieren. Die Benutzer können dann für die Dauer der Gültigkeit des Tokens auf die Website, Anwendung oder Ressource zugreifen, ohne ihre Anmeldedaten erneut eingeben zu müssen.

Wie funktioniert die tokenbasierte Authentifizierung?

Die tokenbasierte Authentifizierung beginnt damit, dass sich ein Benutzer bei einem System, einem Gerät oder einer Anwendung anmeldet, in der Regel mit einem Passwort oder einer Sicherheitsfrage. Ein Autorisierungsserver validiert diese anfängliche Authentifizierung und stellt dann ein Zugriffstoken aus, ein kleines Datenpaket, mit dem eine Client-Anwendung einen sicheren Anruf oder ein Signal an einen API-Server tätigen kann.

Bei der tokenbasierten Authentifizierung hat der Server eine zweite, sichere Möglichkeit, die Identität des Benutzers und die Authentizität der Anfrage zu überprüfen.

Sobald dieses anfängliche tokenbasierte Authentifizierungsprotokoll abgeschlossen ist, funktioniert das Token wie ein abgestempeltes Ticket: Der Benutzer kann für die Dauer des Token-Lebenszyklus weiterhin nahtlos auf die entsprechenden Ressourcen zugreifen, ohne sich erneut zu authentifizieren. Dieser Lebenszyklus endet, wenn sich der Benutzer abmeldet oder eine Anwendung beendet – und kann auch durch ein festgelegtes Timeout-Protokoll ausgelöst werden.

Was sind die Vorteile der tokenbasierten Authentifizierung?

Die tokenbasierte Authentifizierung bietet viele Vorteile für verschiedene Interessengruppen:

  • Reibungslose Benutzererfahrung: Anstatt bei jeder Rückkehr zu einem System, einer Anwendung oder einer Webseite die Anmeldedaten erneut eingeben und sich erneut authentifizieren zu müssen, behält der Benutzer nahtlosen Zugang, solange das Token gültig ist (im Allgemeinen bis die Sitzung durch Abmelden oder Beenden beendet wird).
  • Zusätzliche digitale Sicherheit: Die tokenbasierte Authentifizierung fügt eine zusätzliche Sicherheitsebene zu der herkömmlichen passwort- oder serverbasierten Authentifizierung hinzu. Token sind in der Regel viel schwieriger zu stehlen, zu hacken oder anderweitig zu kompromittieren als ein Passwort.
  • Verwaltungssteuerung: Die tokenbasierte Authentifizierung bietet Administratoren eine viel genauere Kontrolle und Transparenz über jede Benutzeraktion und -transaktion.
  • Geringere technische Belastung: Da die Token-Generierung vollständig von der Token-Verifikation entkoppelt werden kann, kann die Verifizierung durch einen sekundären Dienst, wie er von der Entrust Identity and Access Management Lösung angeboten wird, durchgeführt werden. Dadurch wird die Belastung der internen Server und Geräte erheblich reduziert.

Was ist ein Zugangstoken?

Zugangs- oder Authentifizierungstoken gewähren Benutzern Zugang zu einem Gerät, einer Anwendung oder einer anderen digitalen Ressource. Es gibt inzwischen viele verschiedene Arten von Token:

Hardware-Token

Hardware-Tokens sind kleine physische Geräte, die Benutzer vorlegen, um Zugang zu einer Ressource zu erhalten. Hardware-Tokens können angeschlossen (z. B. USB, Smartcard, Schlüsselanhänger mit Einmal­passwort) oder kontaktlos (z. B. Bluetooth-Tokens) sein. Diese Token werden vom Benutzer mitgeführt. In den Anfängen der tokenbasierten Authentifizierung (d. h. vor dem Smartphone) waren Hardware-Tokens die einzige Option. Hardware-Tokens sind jedoch vergleichsweise teuer, können verloren gehen oder gestohlen werden und erfordern daher oft einen höheren IT-Support.

Software-Token

Software-Tokens, auch „Disconnected Tokens“ genannt, sind wirklich kontaktlos und können die Identität von überall aus authentifizieren. Die gängigsten Beispiele für Software-Tokens sind heute mobile Anwendungen, die Smartphones nutzen, um die Zwei-Faktor-Authentifizierung (2FA), Multi-Faktor-Authentifizierung (MFA) oder JSON-Web-Tokens zu erleichtern. Software-Tokens sind zunehmend die vorherrschende Wahl für die tokenbasierte Authentifizierung, da sie den Vorteil geringerer Kosten, geringeren Aufwands für den Benutzer, geringerer Wahrscheinlichkeit von Verlust oder Diebstahl und geringerem Risiko für Man-in-the-Middle-Angriffe bieten.

Was sind Open-Source- oder JSON-Web-Tokens?

Die häufigste Art von nicht verbundenen oder Software-Tokens ist das Open-Source-Token – genauer gesagt das JSON Web Token (JWT). JSON ist ein Open-Source-Standard (RFC 7519), der ein einfaches, in sich geschlossenes Protokoll für die Kodierung von Informationen als JSON-Objekt bietet, mit dem diese Informationen effizient und sicher zwischen verschiedenen Systemen übertragen werden können. JWT erfreuen sich zunehmender Beliebtheit, da es sich um äußerst kompakte Objekte handelt, die auf vielfältige und effiziente Weise übertragen werden können, z. B. durch Abfragezeichenfolgen, Kopfzeilenattribute und im Hauptteil einer POST-Anfrage.

Die Bestandteile eines Open-Source- oder JSON-Web-Tokens

Ein JSON-Web-Token besteht aus drei verschiedenen Teilen:

  • Überschrift: Die Art des Tokens und der Verschlüsselungsalgorithmus
  • Nutzlast: Die Authentifizierungsdaten für die angegebene Ressource
  • Unterschrift:: Ein kryptografischer Schlüssel zur Überprüfung der Authentizität der Nutzlast

Wie implementieren Sie die tokenbasierte Authentifizierung?

Die Implementierung eines tokenbasierten Authentifizierungsprotokolls umfasst fünf wichtige Schritte:

  1. Anfrage: Ein Benutzer gibt seine Anmeldedaten ein
  2. Verifizierung:: Der Server prüft die Anmeldedaten des Benutzers
  3. Token-Einreichung: Der Server generiert einen Token, der für einen bestimmten Zeitraum gültig ist.
  4. Speicherung: Der Token wird vom Webbrowser des Benutzers zur späteren Verwendung gespeichert
  5. Verfallsdatum: Der Token bleibt für eine bestimmte Zeitspanne aktiv.

5 Schritte zur Implementierung einer tokenbasierten Authentifizierung

Wann wird eine tokenbasierte Authentifizierung empfohlen?

Es gibt viele Fälle, in denen eine passwort- oder serverbasierte Authentifizierung mehr als ausreichend ist, um die Sicherheitsanforderungen zu erfüllen. Es gibt jedoch einige Merkmale, die darauf hindeuten, dass die zusätzliche Sicherheit, Kontrolle und Benutzerfreundlichkeit der tokenbasierten Authentifizierung besonders nützlich sind:

  • Systeme/Ressourcen, die häufig temporären Zugang gewähren: Wenn Ihr Benutzerstamm je nach Tag oder Uhrzeit stark schwankt, kann das herkömmliche Protokoll für die Gewährung und den Entzug von temporärem Benutzerzugriff übermäßig zeit-, kosten- und technikaufwändig sein. Token können eine dynamische, flexible und kostengünstige Lösung für einen sicheren, nahtlosen temporären Zugang bieten.
  • Systeme/Ressourcen, die eine granulare Zugriffskontrolle erfordern: Wenn Sie den Zugriff bis zu einer viel detaillierteren Ebene kontrollieren müssen – z. B. die Gewährung des Zugriffs auf bestimmte Teile eines Dokuments oder die Gewährung bestimmter Bearbeitungs- oder Nutzungs­rechte – ist die kennwortbasierte Authentifizierung nicht ausreichend. Die tokenbasierte Authentifizierung ist ideal für diese viel detaillierteren Zugriffsrechte und die detailliertere administrative Kontrolle.
  • Systeme/Ressourcen, die einem hohen Risiko des Hackens oder der Kompromittierung ausgesetzt sind: Wenn Ihre digitalen Ressourcen besonders sensible, wertvolle oder geschützte Informationen enthalten, bietet die tokenbasierte Authentifizierung einen deutlichen Fortschritt gegenüber der passwortbasierten Authentifizierung.
  • Stark regulierte Systeme/Ressourcen: Wenn Ihre digitale Ressource sensible Informationen enthält, die durch Datenschutzbestimmungen oder andere Vorschriften geschützt sind, erfordern diese Vorschriften wahrscheinlich, dass die Authentifizierung über einfache Passwörter hinausgeht. Die tokenbasierte Authentifizierung kann, wenn sie richtig konfiguriert ist, die Compliance-Anforderungen für einen hochsicheren Schutz erfüllen.

Bewährte Verfahren für die tokenbasierte Authentifizierung mit hoher Sicherheit

Die tokenbasierte Authentifizierung ist zwar zweifellos ein großer Fortschritt gegenüber der herkömm­lichen passwortbasierten Authentifizierung, aber das Token wird immer noch als „Inhaber-Token“ betrachtet – das heißt, der Zugang wird demjenigen gewährt, der das Token besitzt. Das bedeutet, dass selbst Software-Token wie mobile Anwendungen immer noch gestohlen oder kompromittiert werden können: Wenn eine böswillige Person in den Besitz eines Tokens gelangt, könnte sie diesen Token verwenden, um unbefugten Zugang zu geschützten Ressourcen und Informationen zu erhalten. Zum Schutz vor diesem verbleibenden Risiko der Kompromittierung und Verletzung ist es wichtig, dass Sie Ihr tokenbasiertes Authentifizierungsprogramm auf der Grundlage der folgenden Best Practices aufbauen:

  • Bewahren Sie den Token vertraulich auf: Die Benutzer sollten den Token – ob Hardware oder Software – wie jeden anderen sicheren Ausweis behandeln. Das bedeutet, dass sie sicher und geschützt aufbewahrt, niemals weitergegeben und nur verifizierten Diensten zugänglich gemacht werden sollten, um Verlust oder Diebstahl zu verhindern.
  • Vereinfachen Sie die Token-Nutzlast: Token sind so konzipiert, dass sie nur ein Minimum an Informationen zur Authentifizierung eines Benutzers benötigen. Sie sind zwar verschlüsselt, können aber auch leicht von böswilligen Akteuren entschlüsselt werden. Aus diesem Grund sollten Sie niemals sensible oder geschützte Informationen in die Nutzlast des Tokens einfügen und versuchen, die Ansprüche an die Nutzlast zu minimieren. Dies trägt auch zur Steigerung der Geschwindigkeit/Leistung bei.
  • Definieren Sie den Ablauf von Token und aktivieren Sie den Token-Widerruf: Ein Token wird in der Regel so eingestellt, dass es automatisch abläuft, wenn sich ein Benutzer abmeldet oder den Vorgang abbricht. Aber technisch gesehen hat ein signiertes Token ohne diesen Auslöser für das Sitzungsende kein eingebautes Ablaufdatum. Zum Schutz vor Kompromittierung sollten Sie für alle Token einen Standardablauf festlegen und ein Protokoll für den Widerruf von Token einrichten, wenn dies erforderlich ist.
  • Verwenden Sie immer HTTPS-Verbindungen: Ungesicherte Verbindungen machen es unglaublich einfach, Token während der Übermittlung abzufangen und zu stehlen. Verwenden Sie bei der Übertragung von Token zum und vom Token-Verifizierungsserver immer HTTPS-Verbindungen.
  • Erwägen Sie eine oder mehrere zusätzliche Sicherheitsschicht(en): Je nach Ihren Sicherheits­anforderungen kann es erforderlich sein, zusätzlich zur grundlegenden tokenbasierten Authentifi­zierung weitere Sicherheits- und Authentifizierungsprotokolle zu verwenden. In einigen Anwen­dungs­fällen wird beispielsweise ein zweites Token-Verifizierungssystem hinzugefügt, das speziell sicherstellt, dass alle Token vom richtigen Server generiert werden.