Was ist tokenbasierte Authentifizierung?

Was ist tokenbasierte Authentifizierung?

Thousands of businesses across the globe save time and money with Okta. Find out what the impact of identity could be for your organization.

Was ist tokenbasierte Authentifizierung?

Learn why Top Industry Analysts consistently name Okta and Auth0 as the Identity Leader

Die tokenbasierte Authentifizierung ist ein Protokoll, mit dem Benutzer ihre Identität verifizieren können und im Gegenzug ein eindeutiges Zugriffstoken erhalten. Während der Nutzungsdauer des Security Tokens haben die Benutzer Zugriff auf die Website oder Anwendung, für die das Token herausgegeben wurde. Sie müssen dann nicht jedes Mal ihre Anmeldedaten erneut eingeben, wenn sie auf dieselbe Webseite, Anwendung oder Ressource zugreifen, die durch das betreffende Token geschützt wird.

Authentifizierungstoken funktionieren wie ein gestempelter Fahrschein. Der Benutzer hat Zugriff, solange das Token gültig ist. Sobald sich der Benutzer abmeldet oder eine Anwendung beendet, wird das Token entwertet.

Die tokenbasierte Authentifizierung unterscheidet sich von der herkömmlichen passwort- oder serverbasierten Authentifizierung. Token bieten eine zusätzliche Sicherheitsschicht und Administratoren können zudem jede Aktion und Transaktion genau kontrollieren.

Die Verwendung von Token erfordert jedoch ein gewisses Maß an Programmierkenntnissen. Die meisten Entwickler werden schnell mit der Materie vertraut, es muss aber eine Lernkurve überwunden werden.

Anhand der nachfolgenden Informationen finden Sie schnell heraus, ob Token die richtige Wahl für Sie und Ihr Unternehmen sind.

Entwicklung von Authentifizierungstoken

Authentifizierung und Autorisierung sind zwei unterschiedliche Konzepte, gehören aber zusammen. Bevor es Authentifizierungstoken gab, wurden Passwörter und Server verwendet. Mithilfe herkömmlicher Methoden wurde sichergestellt, dass die richtigen Personen zur richtigen Zeit auf die richtigen Dinge zugreifen konnten, was jedoch nicht immer effektiv war.

Nehmen wir zum Beispiel Passwörter. In der Regel ist für Passwörter Folgendes erforderlich:

  • Passwort generieren. Der Benutzer denkt sich eine Kombination aus Buchstaben, Zahlen und Symbolen aus.
  • Passwort merken. Der Benutzer muss sich die eindeutige Kombination merken.
  • Passwort wiederholen. Bei jedem Zugriff auf ein Objekt muss das Passwort erneut eingegeben werden.

Der Diebstahl von Passwörtern ist weit verbreitet. Einer der ersten dokumentierten Fälle von Passwortdiebstahl ereignete sich bereits im Jahr 1962. Da sich die meisten Menschen nicht alle ihre Passwörter merken können, greifen sie auf Hilfsmittel zurück, darunter:

  • Passwörter notieren. Lose Zettel mit notierten Passwörtern sind ein Alptraum für jeden Sicherheitsverantwortlichen.
  • Passwörter mehrfach verwenden. Benutzer neigen dazu, das gleiche Passwort für mehrere Bereiche zu verwenden. Wird dieses aufgedeckt, können gleich mehrere Konten angegriffen werden.
  • Passwörter nur leicht abändern. Wenn Benutzer zum Aktualisieren ihres Passworts aufgefordert werden, ändern sie oft nur eine Zahl oder einen Buchstaben.

Für Passwörter ist außerdem eine Serverauthentifizierung erforderlich. Jedes Mal, wenn sich der Benutzer anmeldet, erstellt der Computer einen Datensatz zu der Transaktion. Die Speicherlast steigt dementsprechend.

Die tokenbasierte Authentifizierung funktioniert anders.

Bei der tokenbasierten Authentifizierung verifiziert ein zweiter Dienst die Anfrage eines Servers. Nach Abschluss der Verifizierung stellt der Server ein Token aus und antwortet auf die Anfrage.

Der Benutzer muss sich zwar weiterhin ein Passwort merken, jedoch bietet das Token eine andere Form des Zugriffs, die den Diebstahl des Passworts oder die Überwindung von Sicherheitsmechanismen deutlich erschwert. Zudem wird durch die Aufzeichnung der Sitzung kein Speicherplatz auf dem Server belegt.

3 Typen von Authentifizierungstoken

Alle Authentifizierungstoken ermöglichen den Zugriff, aber jeder Typ funktioniert etwas anders.

Es gibt drei gängige Typen von Authentifizierungstoken:

  • Verbunden: Schlüssel, Datenträger, Laufwerke und andere physische Geräte werden in das System eingesteckt und bieten dadurch Zugriff. Sicherlich haben Sie sich schon einmal über ein USB-Gerät oder eine Smartcard an einem System angemeldet. In dem Fall haben Sie ein verbundenes Token verwendet.
  • Kontaktlos: Das Gerät befindet sich so nahe an einem Server, dass die Kommunikation möglich ist, es wird jedoch nicht eingesteckt. Ein Beispiel für diesen Tokentyp ist der so genannte magische Ring von Microsoft.
  • Getrennt: Das Gerät kann über große Entfernung mit dem Server kommunizieren, ohne je mit einem anderen Gerät in Berührung zu kommen. Wenn Sie mit Ihrem Smartphone schon einmal einen zweistufigen Authentifizierungsprozess durchlaufen haben, haben Sie diesen Tokentyp verwendet.

In allen drei Fällen muss der Benutzer aktiv werden, um den Prozess zu starten. Entweder muss er ein Passwort eingeben oder eine Frage beantworten. Selbst wenn er diese vorgelagerten Schritte erfolgreich absolviert hat, ist der Zugriff nur mithilfe eines Zugriffstokens möglich. 

Wie funktioniert Token Authentifizierung?

Bei Verwendung eines tokenbasierten Authentifizierungssystems werden die Anmeldeinformationen der Benutzer nur einmal verifiziert. Im Anschluss an die Verifizierung erhalten sie ein Token, das ihnen für einen von Ihnen festgelegten Zeitraum Zugriff gewährt.

So funktioniert der Prozess:

  • Anfrage: Der Benutzer beantragt den Zugriff auf einen Server oder eine geschützte Ressource. Dies kann mit einer Anmeldung per Passwort verbunden sein oder einem anderen von Ihnen vorgegebenen Prozess.
  • Verifizierung: Der Server bestimmt, ob die anfragende Person Zugriff erhält. Dies kann durch Abgleichen von Passwort und Benutzername oder einen anderen von Ihnen definierten Prozess erfolgen.
  • Token: Der Server kommuniziert mit dem Authentifizierungsgerät, z. B. einem Ring, Schlüssel, Smartphone oder dergleichen. Nach erfolgter Verifizierung stellt der Server ein Token aus und übergibt es an den Benutzer.
  • Speicherung: Das Token befindet sich innerhalb des Browsers des Benutzers, während der Benutzer aktiv ist.

Wenn der Benutzer versucht, auf einen anderen Bereich des Servers zuzugreifen, kommuniziert das Token erneut mit dem Server. Der Zugriff wird dann je nach Token gewährt oder verweigert.

Administratoren können Token mit Einschränkungen belegen. Ein Token für die einmalige Verwendung wird sofort nach dem Abmelden des Benutzers vernichtet. Das Token kann auch so konfiguriert werden, dass es sich nach Ablauf einer bestimmten Zeit selbst zerstört.

Token Based Authentication

JSON Web Token (JWT) – eine besondere Form von Authentifizierungstoken

Da heutzutage sehr viele Benutzer über Mobiltelefon (Apps) und Webanwendungen auf Systeme zugreifen, benötigen Entwickler eine sichere Authentifizierungsmethode, die für diese Plattformen geeignet ist.

Viele Entwickler verwenden JSON Web Tokens (JWTs), wenn sie Token für ihre Anwendungen konzipieren.

Ein JSON Web Token (JWT) ist ein offener Standard. Das fertige Produkt ermöglicht die sichere Kommunikation zwischen zwei Teilnehmern. Die Daten werden mit einer digitalen Signatur überprüft und bei Übermittlung via HTTP verschlüsselt.

JWTs bestehen aus drei Hauptkomponenten.

  1. Header: Definiert den Tokentyp und den involvierten Signaturalgorithmus.
  2. Payload: Definiert den Aussteller des Tokens, die Gültigkeit des Tokens usw.
  3. Signatur: Anhand einer sicheren Signatur wird sichergestellt, dass die Nachricht während der Übertragung nicht modifiziert wird.

Durch Codierung werden diese drei Elemente miteinander verknüpft. Das fertige Produkt sieht in etwa so aus.

Lassen Sie sich nicht vom JSON-Code abschrecken. Diese Art von Darstellung wird häufig bei der Übertragung von Daten zwischen Entitäten verwendet und es gibt jede Menge Lernprogramme. Wenn Sie sich für JSON-Token interessieren, aber noch keine Erfahrung mit dieser Sprache haben, kann sich eine Ressource wie diese anbieten.

Vor- und Nachteile von JWTs

Die Verwendung von JWTs bietet viele Vorteile.

  • Größe: Die Token in dieser Programmiersprache sind winzig und können schnell zwischen den Entitäten ausgetauscht werden.
  • Einfachheit: Die Token können nahezu überall generiert werden und müssen nicht auf Ihrem Server verifiziert werden.
  • Kontrolle: Sie legen fest, worauf der Benutzer Zugriff hat, wie lange diese Berechtigung gilt und welche Aktivitäten der Benutzer durchführen kann, solange er angemeldet ist.

Es gibt aber auch potenzielle Nachteile.

  • Einziger Schlüssel: JWTs basieren auf einem einzigen Schlüssel. Wird dieser kompromittiert, ist das gesamte System gefährdet.
  • Komplexität: Die Token sind anspruchsvoll. Der Entwickler benötigt solide Kenntnisse im Bereich der kryptografischen Signaturalgorithmen, um auszuschließen, dass das System versehentlich Risiken ausgesetzt wird.
  • Einschränkungen: Meldungen können nicht an alle Clients via Push übertragen werden und die Clients lassen sich nicht serverseitig verwalten.

Gründe für die Verwendung von Authentifizierungstoken

Sie haben Ihre aktuelle Strategie überprüft und sind zu dem Schluss gekommen, dass sie ihren Zweck erfüllt. Wozu sollten Sie sich dann für Authentifizierungstoken entscheiden? Entwickler, die den Sprung wagen, profitieren von erheblichen Vorteilen.

Authentifizierungstoken bieten sich insbesondere für Administratoren von Systemen an, auf die Folgendes zutrifft:

  • Häufiger temporärer Zugriff. Ihre Benutzerbasis wechselt je nach Datum, Uhrzeit oder Ereignis. Das wiederholte Gewähren und Widerrufen von Zugriff ist extrem aufwendig. Hier bieten sich Token an.

    Administratoren von Universitätsbibliotheken beispielsweise kommt der tokenbasierte Ansatz sicherlich entgegen.

  • Granularer Zugriff erforderlich. Ihr Server gewährt Zugriff basierend auf bestimmten Dokumenteigenschaften und nicht basierend auf Benutzereigenschaften. Passwörter sind ungeeignet für eine solche Differenzierung.

    Angenommen, Sie veröffentlichen ein Onlinejournal. Sie möchten, dass alle nur ein Dokument lesen und kommentieren. Dies erreichen Sie mithilfe von Token.

  • Häufiges Hackerziel. Ihr Server enthält sensible Dokumente, deren Veröffentlichung Ihrem Unternehmen großen Schaden zufügen könnte. Ein einfaches Passwort bietet nicht genügend Schutz. Zusätzliche Hardware würde den Schutz jedoch spürbar verbessern.

Es gibt noch viele weitere Anwendungsbereiche für Authentifizierungstoken. Diese kurze Übersicht inspiriert Sie vielleicht zu einigen Überlegungen und sicherlich werden Sie noch weitere Vorteile für sich entdecken.

Best Practices für Security-Tokens

Authentifizierungstoken sind zur Verbesserung Ihrer Sicherheitsprotokolle und zum Schutz Ihrer Server vorgesehen. Sie sind jedoch nur dann effektiv, wenn Sie Ihre Prozesse von Anfang an auf Sicherheit auslegen.

Ihre Authentifizierungstoken sollten folgende Merkmale aufweisen:

  • Vertraulich. Benutzer sollten Geräte für die tokenbasierte Authentifizierung nicht mit anderen teilen oder zwischen Abteilungen austauschen. Genau wie Passwörter sollte auch kein anderes Element des Sicherheitssystems Dritten zugänglich gemacht werden.
  • Sicher. Die Kommunikation zwischen Token und Server muss über sichere HTTPS-Verbindungen erfolgen. Verschlüsselung ist ein wichtiger Bestandteil sicherer Token.
  • Getestet. Führen Sie regelmäßige Tokentests aus, um sicherzustellen, dass Ihr System sicher ist und ordnungsgemäß funktioniert. Wenn Sie ein Problem ausfindig machen, beheben Sie es unverzüglich.
  • Geeignet. Wählen Sie den richtigen Tokentyp für Ihren individuellen Anwendungsbereich. So sind JWTs beispielsweise nicht als Sitzungstoken geeignet. Sie können sich als kostspielig erweisen, und Sicherheitsrisiken in Verbindung mit dem Abfangen von Token lassen sich nicht ausschließen. Stellen Sie sicher, dass Sie stets das richtige Tool für die zu bewältigende Aufgabe wählen.

Treffen Sie die Entscheidung für einen bestimmten Authentifizierungstoken nicht leichtfertig. Informieren Sie sich, fragen Sie Kollegen und treffen Sie die für Ihr Unternehmen beste Wahl.

Wir helfen Ihnen weiter

Gerade heute kommt es darauf an, den Zugriff auf Büro- und Home Office-Arbeitsplätze abzusichern. Durch Mechanismen wie die tokenbasierte Authentifizierung wird sichergestellt, dass nur berechtigte Personen Zugriff auf digitale Ressourcen haben.

Erfahren Sie mehr darüber, wie Okta Ihre Systeme sicherer macht.

Referenzen

The World's First Computer Password? It Was Useless TooWired, Januar 2012.

Microsoft Says This Magic Ring Could Make Passwords Obsolete, Small Business Trends, Juni 2020.

JSON Web Token, Internet Engineering Task Force, Mai 2015.

Working With JSON, Mozilla.

Security Token, Citi.

Security Token Definition, Investopedia, Juni 2020.

Two-Factor Authentication, Explain That Stuff, Februar 2020.

When Are Tokens Securities? Some Questions from the Perplexed, Harvard Law School Forum on Corporate Governance, Dezember 2018.