HomeBlogAlles, was Sie über API-Tokens wissen müssen
API-Grundlagen

Alles, was Sie über API-Tokens wissen müssen

Von der einfachen Authentifizierung bis zum OAuth-Standard: Was sind API-Tokens?

Token

APIs (Application Programming Interfaces) wurden zu dem Zweck geschaffen, geschützte Daten und Funktionen für Dritte zugänglich zu machen: Dem enormen Potenzial des Tools stehen daher zwangsläufig die Risiken gegenüber, die sich aus einer unbewussten Preisgabe von Daten ergeben.

Die Kombination aus OAuth-Authentifizierung und SSL-Zertifikaten bietet dagegen die fortschrittlichste Lösung für die Systemsicherheit. Um besser zu verstehen, worum es hier geht, beginnen wir mit einem der zentralen Elemente der API-gesteuerten Architektur, das den Übergang von einer einfachen Form der Authentifizierung zum OAuth-Standard ermöglicht, dem ersten Schritt zu einer Zero-Trust-Architektur.

Sehen wir uns an, was ein API-Token ist und wie es funktioniert, und was die besten Praktiken für die Erstellung und Verwaltung der eigenen ZugriffsKey sind, während die mit der Offenlegung von Daten über APIs verbundenen Risiken begrenzt werden.

APIs und Cybersicherheit

Branchenanalysten zufolge könnte sich der unbedachte Einsatz von APIs schnell zum bevorzugten Einfallstor für Cyberangriffe entwickeln (Gartner, 2021). Die rasche Verbreitung von APIs und API-gesteuerten Architekturen kann dazu führen, dass sich sowohl Software als auch Unternehmen über ihre Webanwendungen großen Sicherheitslücken aussetzen, die bis zu 40 Prozent mehr der zu schützenden "Flanke" aufdecken können (Gartner, 2019).

Das Problem liegt nicht an mangelnder Ressourcensicherheit: Dank verKeyter Kommunikation über SSL-Zertifikate und OAuth-Authentifizierung über Header bieten APIs das höchste Schutzniveau, das in der IT verfügbar ist. Eine Studie von Salt Security aus dem Jahr 2021 zur API-Sicherheit zeigt, dass mehr als 25 Prozent der Unternehmen, die APIs in der Produktion einsetzen, keine Sicherheitsstrategie haben.

Wenn mehr als 90 Prozent der IT-Unternehmen im Jahr 2020 Sicherheitsprobleme mit APIs hatten (Gartner, 2021), dann liegt das daran, dass zwar das große Potenzial der API-Integration von Anfang an allen klar war, dass aber den Risiken im Zusammenhang mit der Preisgabe von Daten an Dritte - was letztlich die Aufgabe von Application Programming Interfaces, kurz APIs, ist - nicht die gebührende Aufmerksamkeit geschenkt wurde.

API-Key und API-Tokens

Eine API-gesteuerte Architektur basiert auf der Offenlegung von Daten und Funktionen für Dritte, weshalb eine bewusste Verteidigungsstrategie von entscheidender Bedeutung ist. Nehmen wir das Beispiel der unbeabsichtigten Offenlegung von API-Keyn, einer der am meisten gefürchteten Schwachstellen für Unternehmen, die routinemäßig APIs verwenden: Ein einzelner Entwickler braucht nur den Fehler zu machen, den API-Key in ein Forum oder ein öffentliches Repository wie GitHub oder Stack Overflow zu kopieren, um seinen API-Key öffentlich offenzulegen und es jeder Anwendung zu ermöglichen, ihn zur Abfrage von Webdiensten zu verwenden - natürlich im Namen und im Auftrag des Keyinhabers.

API-Key sind alphanumerische Codes, die die für die Zwei-Faktor-Authentifizierung typischen Kontrollmechanismen nicht nutzen können, da sie im Wesentlichen aus einer undurchsichtigen, verKeyten Zeichenkette bestehen, deren Bedeutung für den Benutzer nicht offensichtlich ist. Sie können jedoch in der Phase der Basisauthentifizierung verwendet werden, um ein API-Token zu generieren, d. h. eine sichere Zugangsberechtigung, die es dem Benutzer ermöglicht, innerhalb genau definierter funktionaler und zeitlicher Grenzen mit den gewünschten Webdiensten zu interagieren.

Auf dem OpenAPI-Marktplatz beispielsweise wird der API-Key bei der Anmeldung zum Dienst generiert und kann zur Erstellung von API-Tokens über den OAuth-Authentifizierungsdienst verwendet werden, dem bisher am häufigsten verwendeten Standard-Netzwerkprotokoll zur Gewährleistung der Sicherheit von Interaktionen über API.

Was ist ein API-Token?

Aber fangen wir von vorne an: Ein API-Token ist eine alphanumerische Zeichenfolge, die im Header jedes API-Aufrufs zu finden ist und die Rückverfolgung bestimmter Informationen über den Nutzer ermöglicht. Vor allem bei Aufrufen zwischen RESTful-APIs muss der Header jeder Anfrage Folgendes angeben können

  • das Autorisierungs-Token oder API-Token im Bearer-Format
  • die HTTP-Methode, d. h. die Angabe der Art der Anfrage (z. B. Löschen)

Während der API-key die Basisberechtigung ist, die den Zugang zu jedem API-Marktplatz ermöglicht, ist das API-Token die eigentliche "Eintrittskarte", die es erlaubt, einen gültigen Header für eine API-Anfrage zu formulieren, d. h. die Interaktion mit Webanwendungen von Drittanbietern zu beginnen.

Das API-Token ist eine Zeichenkette im Bearer-Format, d. h. wörtlich "für den Überbringer": Das bedeutet, dass es keinen Nennwert hat, sondern einfach demjenigen gehört, der es in Händen hat. Unter diesen Voraussetzungen versteht es sich von selbst, dass derjenige, der in den Besitz des API-Tokens eines bestimmten Webdienstes gelangt, automatisch in der Lage ist, Anfragen im Namen und im Auftrag der betreffenden Anwendung zu stellen.

Dies ist der Hauptgrund, warum das API-Token oft als eine Art Passwort bezeichnet wird, und der wesentliche Grund, warum ein ebenso bewusster Umgang mit ihm empfohlen wird wie bei wichtigen Zugangskeyn.

Von der Basis-Authentifizierung zu OAuth

Mit der Generierung eines API-Tokens gehen wir dann von der Basisauthentifizierung zur OAuth-Authentifizierung über, die perfekt mit einer Zero-Trust-Architektur übereinstimmt und vertrauenswürdig genug ist, um den Zugriff auf Remote-Server-Ressourcen zu ermöglichen, die über eine API abgefragt werden.

OAuth ist ein Authentifizierungsstandard, der es ermöglicht, die Verwendung von Anmeldedaten für den Ressourcenzugang direkt an Anwendungen zu delegieren, ohne dass der Benutzer und seine persönlichen Anmeldedaten, wie z. B. ein API-key, in den Prozess einbezogen werden.

Durch den OAuth-Standard werden anstelle von nominalen Anmeldeinformationen wie API-Tokens oder JSON-Web-Tokens (JWT) Inhaber-Tokens eingeführt, die es Webanwendungen ermöglichen, sich dem Server direkt zu präsentieren" und ihm mitzuteilen, dass sie über alle Berechtigungen verfügen, um die Interaktion fortzusetzen.

Wenn Daten und Funktionen über APIs offengelegt werden, wird auch festgelegt, wer, wie, wann und mit welchen Einschränkungen auf sie zugreifen kann. Um eine Anfrage über eine API an den Server zu senden, muss man also zunächst nachweisen, dass man über die notwendigen Berechtigungen zur Weiterleitung der Anfrage verfügt. All dies kann der Server anhand des Tokens überprüfen, ohne Zugang zu sensiblen Daten wie den Anmeldeinformationen des Endnutzers zu haben.

Wie API-Tokens funktionieren

API-Tokens sind "Inhaber"-Tokens und benötigen keine weiteren Angaben, um verwendet werden zu können. Sobald ein API-Token generiert ist, wird es automatisch in die Kopfzeile aller API-Aufrufe eingefügt, die über diese Anmeldeinformationen erfolgen.

Bei jeder Abfrage eines Webdienstes prüft der Server die Gültigkeit der Anfrage anhand der Gültigkeit des API-Tokens, das zu diesem Zeitpunkt eine Art "Signatur" darstellt, die jedem Aufruf beigefügt wird.

Das API-Token definiert nicht nur den Ausgangspunkt des Aufrufs, sondern gibt auch die Grenzen der dem Betreiber gewährten Operationen an, der z. B. im Vorfeld beschlossen haben kann, nur bestimmte HTTP-Methoden zu verwenden oder nur mit bestimmten Endpunkten oder URLs interagieren zu können.

Neben einer Signatur ist das API-Token auch eine sehr detaillierte Eintrittskarte - nur für den Server verständlich und für den Benutzer völlig unlesbar -, die alle dem Antragsteller zur Verfügung stehenden Optionen enthält.

Wenn eine Client-Anwendung über die API auf geschützte Ressourcen eines bestimmten Servers zugreifen will, signalisiert sie mit dem Token, dass sie die erforderlichen Berechtigungen erhalten hat. Sie muss aber auch signalisieren, was sie mit diesen Berechtigungsnachweisen zu tun gedenkt und wie lange.

API-Token: Time To Leave und Geltungsbereiche

In Bezug auf die Sicherheit ermöglicht die Verwendung von Time-to-Leave-Tokens eine deutliche Begrenzung des Risikos, dass ein Token kompromittiert wird: Wie man leicht erraten kann, ist ein Token angreifbar, solange es funktioniert.

Scopes hingegen dienen dazu, die Pfade, die man einschlagen kann, und die Art der zulässigen Anfragen innerhalb einer Web-App-Interaktion zu definieren. Es kann Token geben, die berechtigt sind, alle an bestimmten Endpunkten verfügbaren Funktionen (d. h. HTTP-Methoden) zu verwenden, aber es kann auch Token geben, deren Verwendung auf bestimmte Methoden beschränkt ist (z. B. nur GET und DELETE), die aber an allen Endpunkten gültig sein können.

Um ein API-Token auf dem Openapi-Marktplatz zu generieren, genügt es beispielsweise, die E-Mail, mit der man den Dienst abonniert hat, zusammen mit dem mit dem Konto verbundenen API-key einzugeben und genau diese beiden einfachen Kriterien anzugeben, und zwar in Form von

  • Dauer des Tokens, d.h. die Angabe der TTL (Time To Leave), die mit dem Zugangstitel verbunden ist - bei Openapi nicht mehr als 12 Monate
  • Geltungsbereiche, d. h. die HTTP- und Endpunkt-Methodenkombinationen, die bei der Abfrage der API verwendet werden sollen.

Sobald das Ablaufdatum und die Geltungsbereiche des API-Tokens festgelegt sind, werden klare Grenzen gesetzt, die gleichzeitig den Anwendungsbereich der Berechtigung und die Angriffsfläche für mögliche Gefahren definieren und begrenzen.

 

Möchten Sie ein API-Token generieren?
Melden Sie sich bei Openapi an und beginnen Sie jetzt

Token-Generierung

Alles, was Sie über API-Tokens wissen müssen
Teilen auf