Ein API-Schlüssel (Application Programming Interface) ist ein eindeutiger Code, der von einer API verwendet wird, um den aufrufenden Benutzer oder die aufrufende Anwendung zu identifizieren. API-Schlüssel werden verwendet, um zu verfolgen und zu kontrollieren, wer die API wie verwendet, sowie um Anwendungen zu authentifizieren und zu autorisieren – ähnlich wie Benutzernamen und Passwörter. Ein API-Schlüssel kann in Form eines einzelnen Schlüssels oder eines Satzes mehrerer Schlüssel vorliegen. Benutzer sollten API-Schlüssel ordnungsgemäß verwenden, um ihre allgemeine Sicherheit vor API-Schlüsseldiebstahl zu verbessern und die damit verbundenen Folgen einer Kompromittierung ihrer API-Schlüssel zu vermeiden.

Unterscheiden Sie zwischen API und API-Schlüssel

Um zu verstehen, was ein API-Schlüssel ist, müssen Sie zunächst verstehen, was eine API ist. Eine Anwendungsprogrammierschnittstelle oder API (Application Programming Interface) ist eine Middleware, die es zwei oder mehr Anwendungen ermöglicht, Informationen auszutauschen. Beispielsweise ermöglicht die API von CoinMarketCap anderen Anwendungen, Kryptowährungsdaten wie Preis, Volumen und Marktkapitalisierung abzurufen und zu verwenden.

Ein API-Schlüssel gibt es in vielen verschiedenen Formen – er kann ein einzelner Schlüssel oder eine Reihe von Schlüsseln sein. Verschiedene Systeme verwenden diese Schlüssel zur Authentifizierung und Autorisierung einer Anwendung, ähnlich wie Benutzernamen und Passwörter verwendet werden. Ein API-Schlüssel wird vom API-Client zur Authentifizierung der API-aufrufenden Anwendung verwendet. 

Wenn die Binance Academy beispielsweise die CoinMarketCap-API verwenden möchte, wird von CoinMarketCap ein API-Schlüssel generiert und zur Authentifizierung der Identität der Binance Academy (API-Anwendung) verwendet, die den API-Zugriff anfordert. Wenn die Binance Academy auf die API von CoinMarketCap zugreift, wird dieser API-Schlüssel zusammen mit der Anfrage an CoinMarketCap gesendet. 

Dieser API-Schlüssel sollte nur von der Binance Academy verwendet werden und nicht an andere weitergegeben oder gesendet werden. Durch die Weitergabe dieses API-Schlüssels können Dritte als Binance Academy auf CoinMarketCap zugreifen, und alle Aktionen Dritter werden so angezeigt, als kämen sie von der Binance Academy.

Der API-Schlüssel kann auch von der CoinMarketCap-API verwendet werden, um zu bestätigen, ob die Anwendung berechtigt ist, auf die angeforderte Ressource zuzugreifen. Darüber hinaus verwenden API-Besitzer API-Schlüssel, um API-Aktivitäten wie Anforderungstyp, Datenverkehr und Volumen zu verfolgen. 

Was ist ein API-Schlüssel? 

API-Schlüssel werden verwendet, um zu steuern und zu verfolgen, wer die API nutzt und wie sie sie nutzt. Der Begriff „API-Schlüssel“ kann für verschiedene Systeme unterschiedliche Bedeutungen haben. Einige Systeme verfügen über einen einzelnen Code, andere verfügen jedoch möglicherweise über mehrere Codes für einen einzelnen „API-Schlüssel“.   

Somit ist ein „API-Schlüssel“ ein eindeutiger Code oder eine Reihe eindeutiger Codes, die von einer API zur Authentifizierung und Autorisierung des aufrufenden Benutzers oder der aufrufenden Anwendung verwendet werden. Einige Codes werden zur Authentifizierung verwendet, andere zur Erstellung einer kryptografischen Signatur zum Nachweis der Legitimität der Anfrage. 

Diese Authentifizierungsschlüssel werden häufig zusammenfassend als „API-Schlüssel“ bezeichnet, während die für kryptografische Signaturen verwendeten Codes unterschiedliche Namen haben, beispielsweise „private Schlüssel“, „öffentliche Schlüssel“ oder „private Schlüssel“. Für die Authentifizierung müssen die beteiligten Entitäten identifiziert und bestätigt werden, dass sie die sind, für die sie sich ausgeben.

Andererseits erlaubt es die Angabe der API-Dienste, auf die zugegriffen werden darf. Die Funktionalität eines API-Schlüssels ähnelt der eines Kontobenutzernamens und -kennworts. Es kann auch mit anderen Sicherheitsfunktionen verbunden werden, um die allgemeine Sicherheit zu verbessern. 

Jeder API-Schlüssel wird normalerweise vom API-Eigentümer für eine bestimmte Entität generiert (weitere Details weiter unten), und jedes Mal, wenn ein Aufruf an einen API-Endpunkt erfolgt – der eine Benutzerauthentifizierung oder -autorisierung oder beides erfordert – wird der entsprechende Schlüssel verwendet.

Kryptografische Signatur

Einige API-Schlüssel verwenden kryptografische Signaturen als zusätzliche Überprüfungsebene. Wenn ein Benutzer bestimmte Daten an die API senden möchte, kann der Anfrage eine von einem anderen Schlüssel generierte digitale Signatur hinzugefügt werden. Mithilfe der Kryptografie kann der API-Besitzer überprüfen, ob diese digitale Signatur mit den gesendeten Daten übereinstimmt.

Symmetrische und asymmetrische Signaturen 

Über die API geteilte Daten können mit kryptografischen Schlüsseln signiert werden, die in die folgenden Kategorien fallen:

Symmetrische Schlüssel

Dabei wird ein geheimer Schlüssel verwendet, um sowohl die Datensignierung als auch die Signaturüberprüfung durchzuführen. Bei symmetrischen Schlüsseln werden der API-Schlüssel und der geheime Schlüssel normalerweise vom API-Eigentümer generiert, und der API-Dienst muss denselben geheimen Schlüssel verwenden, um die Signatur zu überprüfen. Der Hauptvorteil der Verwendung eines einzelnen Schlüssels besteht darin, dass dies schneller geht und weniger Rechenleistung zum Generieren und Überprüfen der Signatur erforderlich ist. Ein gutes Beispiel für einen symmetrischen Schlüssel ist HMAC.

Asymmetrische Schlüssel

Dabei werden zwei Schlüssel verwendet: ein privater Schlüssel und ein öffentlicher Schlüssel, die zwar unterschiedlich, aber kryptografisch miteinander verknüpft sind. Der private Schlüssel wird zur Erstellung der Signatur und der öffentliche Schlüssel zur Überprüfung der Signatur verwendet. Der API-Schlüssel wird vom API-Eigentümer generiert, das Paar aus privatem und öffentlichem Schlüssel wird jedoch vom Benutzer generiert. Der API-Besitzer muss den öffentlichen Schlüssel nur zur Überprüfung der Signatur verwenden, sodass der private Schlüssel lokal und geheim bleiben kann. 

Der Hauptvorteil der Verwendung asymmetrischer Schlüssel besteht in der größeren Sicherheit der Trennung von Signaturerstellungsschlüssel und Verifizierungsschlüssel. Dadurch können externe Systeme die Signatur überprüfen, ohne die Signatur generieren zu können. Ein weiterer Vorteil besteht darin, dass einige asymmetrische Verschlüsselungssysteme das Hinzufügen eines Passworts zum privaten Schlüssel unterstützen. Ein typisches Beispiel ist ein RSA-Schlüsselpaar. 

Sind API-Schlüssel sicher? 

Die Verantwortung für die Sicherheit der API-Schlüssel liegt beim Benutzer. API-Schlüssel ähneln Passwörtern und sollten mit Vorsicht behandelt werden. Das Teilen von API-Schlüsseln ähnelt dem Teilen von Passwörtern und sollte daher nicht erfolgen, da dies das Konto des Benutzers gefährdet. 

API-Schlüssel sind häufig das Ziel von Cyberangriffen, da sie zur Durchführung kritischer Vorgänge im System verwendet werden können, beispielsweise zum Anfordern persönlicher Informationen oder zur Durchführung von Finanztransaktionen. Tatsächlich gab es Fälle von Crawlern und Online-Datenbankangriffen, um API-Schlüssel zu stehlen.

Die Folgen eines API-Schlüsseldiebstahls können schwerwiegend sein und zu erheblichen finanziellen Verlusten führen. Da einige API-Schlüssel außerdem nicht ablaufen, können Angreifer sie nach dem Diebstahl unbegrenzt verwenden, bis die Schlüssel selbst widerrufen werden.

So verwenden Sie API-Schlüssel richtig

Da es Zugriff auf sensible Daten gewährt, ist die sichere Verwendung von API-Schlüsseln von größter Bedeutung. Sie können diese Best-Practice-Richtlinien für die Verwendung von API-Schlüsseln befolgen, um die allgemeine Sicherheit zu verbessern: 

  1. Aktualisieren Sie Ihre API-Schlüssel so oft wie möglich. Das bedeutet, dass Sie Ihren aktuellen API-Schlüssel löschen und einen neuen erstellen sollten. Bei vielen Systemen ist es einfach, API-Schlüssel zu erstellen und zu löschen. Ähnlich wie bei manchen Systemen Sie Ihr Passwort alle 30 bis 90 Tage ändern müssen, sollten Sie Ihre API-Schlüssel nach Möglichkeit in einer ähnlichen Häufigkeit wechseln.

  2. Verwenden Sie eine IP-Whitelist: Wenn Sie einen API-Schlüssel erstellen, erstellen Sie eine Liste der IPs, die den Schlüssel verwenden dürfen (IP-Whitelist). Sie können auch eine Liste blockierter IPs (IP-Blacklist) angeben. Selbst wenn Ihr API-Schlüssel gestohlen wird, kann auf diese Weise nicht von einer unbekannten IP-Adresse darauf zugegriffen werden.

  3. Verwenden Sie mehrere API-Schlüssel: Mehrere Schlüssel und die Aufteilung der Verantwortlichkeiten zwischen ihnen verringern Sicherheitsrisiken, da Ihre Sicherheit nicht von einem einzigen Schlüssel mit mehreren Berechtigungen abhängt. Sie können außerdem für jeden Schlüssel unterschiedliche IP-Whitelists festlegen und so Sicherheitsrisiken weiter reduzieren. 

  4. Bewahren Sie API-Schlüssel sicher auf: Speichern Sie Ihre Schlüssel nicht an öffentlichen Orten, auf gemeinsam genutzten Computern oder im ursprünglichen Klartextformat. Speichern Sie sie stattdessen zur besseren Sicherheit mit Verschlüsselung oder einem geheimen Manager und achten Sie darauf, sie nicht versehentlich preiszugeben. 

  5. Geben Sie Ihre API-Schlüssel nicht weiter. Das Teilen von API-Schlüsseln ähnelt dem Teilen Ihres Passworts. Damit gewähren Sie der Gegenpartei die gleichen Authentifizierungs- und Autorisierungsrechte wie Sie. Wenn sie kompromittiert werden, kann Ihr API-Schlüssel gestohlen und zum Einbruch in Ihr Konto verwendet werden. Ein API-Schlüssel sollte nur zwischen Ihnen und dem System verwendet werden, das ihn generiert hat.

Wenn Ihr API-Schlüssel kompromittiert ist, müssen Sie ihn zunächst deaktivieren, um weiteren Schaden zu vermeiden. Wenn es zu einem finanziellen Schaden kommt, machen Sie einen Screenshot der wichtigsten Informationen zum Vorfall, wenden Sie sich an die zuständigen Stellen und senden Sie einen Bericht an die Polizei. Dies ist der beste Weg, Ihre Chancen zu erhöhen, verlorene Gelder zurückzuerhalten. 

Zusammenfassung

API-Schlüssel stellen zentrale Authentifizierungs- und Autorisierungsfunktionen bereit, und Benutzer müssen ihre Schlüssel sorgfältig verwalten und schützen. Es gibt viele Schritte und Aspekte, um die sichere Verwendung von API-Schlüsseln zu gewährleisten. Im Allgemeinen sollten Sie sich Ihren API-Schlüssel als Passwort für Ihr Konto vorstellen.

Mehr lesen:

  • Allgemeine Sicherheitsgrundsätze

  • 5 häufige Kryptowährungsbetrügereien und wie man sie vermeidet