Ein API-Schlüssel (Application Programming Interface) ist ein eindeutiger Code, der in einer API verwendet wird, um die aufrufende Anwendung oder den aufrufenden Benutzer zu identifizieren. API-Schlüssel werden verwendet, um zu verfolgen und zu steuern, wer die API wie nutzt, und um Anwendungen zu authentifizieren und zu autorisieren – ähnlich wie Benutzernamen und Passwörter funktionieren. Ein API-Schlüssel kann ein einzelner Schlüssel oder ein Satz mehrerer Schlüssel sein. Benutzer sollten Best Practices befolgen, um ihren Gesamtschutz vor API-Schlüsseldiebstahl zu verbessern und die damit verbundenen Folgen einer Gefährdung ihrer API-Schlüssel zu vermeiden.

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 ist ein Software-Vermittler, der es zwei oder mehr Programmen ermöglicht, Informationen auszutauschen. Beispielsweise ermöglicht die CoinMarketCap-API anderen Anwendungen, Kryptowährungsdaten wie Preis, Volumen und Marktkapitalisierung abzurufen und zu verwenden.

Der API-Schlüssel kann verschiedene Formen haben. Es kann sich um einen einzelnen Schlüssel oder um einen Satz mehrerer Schlüssel handeln. In verschiedenen Systemen werden diese Schlüssel auf die gleiche Weise zur Authentifizierung und Autorisierung von Anwendungen verwendet wie ein Benutzername und ein Passwort. Der API-Schlüssel wird vom API-Client verwendet, um die Anwendung zu authentifizieren, die die API aufruft. 

Wenn Binance Academy beispielsweise die CoinMarketCap-API verwenden möchte, wird in CoinMarketCap ein API-Schlüssel generiert und zur Authentifizierung der Binance Academy (API-Client) verwendet, die Zugriff auf die API anfordert. Wenn die Binance Academy auf die CoinMarketCap-API zugreift, sollte dieser API-Schlüssel mit der Anfrage an CoinMarketCap gesendet werden. 

Dieser API-Schlüssel sollte nur über die Binance Academy verwendet werden und darf nicht an andere weitergegeben oder gesendet werden. Durch die Weitergabe dieses API-Schlüssels kann ein Dritter als Binance Academy auf CoinMarketCap zugreifen, und alle Aktionen des Dritten werden so angezeigt, als ob sie von der Binance Academy stammen würden.

Der API-Schlüssel kann auch die CoinMarketCap-API verwenden, um zu bestätigen, dass die Anwendung auf die angeforderte Ressource zugreifen darf. Darüber hinaus verwenden API-Besitzer API-Schlüssel, um API-Aktivitäten wie Anforderungstypen, Datenverkehr und Volumen zu überwachen. 

Was ist ein API-Schlüssel? 

Der API-Schlüssel wird verwendet, um zu steuern und zu verfolgen, wer die API nutzt und wie sie genutzt wird. Der Begriff „API-Schlüssel“ kann für verschiedene Systeme unterschiedliche Bedeutungen haben. Einige Systeme verfügen über einen Code, andere verfügen 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 in einer API zur Authentifizierung und Autorisierung des aufrufenden Benutzers oder der aufrufenden Anwendung verwendet werden. Einige Codes werden zur Authentifizierung verwendet, während andere zur Erstellung kryptografischer Signaturen verwendet werden, die die Legitimität der Anfrage bestätigen. 

Diese Authentifizierungscodes werden üblicherweise als „API-Schlüssel“ bezeichnet, während die für kryptografische Signaturen verwendeten Codes unterschiedliche Namen wie „geheimer Schlüssel“, „öffentlicher Schlüssel“ oder „privater Schlüssel“ haben. Bei der Authentifizierung geht es darum, die beteiligten Personen zu identifizieren und zu bestätigen, dass sie die sind, für die sie sich ausgeben.

Die Autorisierung hingegen gibt an, auf welche API-Dienste zugegriffen werden darf. Die Funktion des API-Schlüssels ähnelt der Funktion des Benutzernamens und Passworts des Kontos; Es kann auch mit anderen Sicherheitsfunktionen verbunden werden, um die Gesamtsicherheit zu erhöhen. 

Jeder API-Schlüssel wird normalerweise vom API-Eigentümer für ein bestimmtes Objekt generiert (Einzelheiten siehe unten), und immer dann, wenn ein API-Endpunktaufruf erfolgt, der eine Benutzerauthentifizierung oder -autorisierung oder beides erfordert, wird der entsprechende Schlüssel verwendet.

Kryptografische Signaturen

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 beigefü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 gesendete Daten können mit kryptografischen Schlüsseln signiert werden, die in die folgenden Kategorien fallen:

Symmetrische Schlüssel

Dies ist die Verwendung eines einzigen geheimen Schlüssels zum Signieren von Daten und zum Überprüfen der Signatur. Bei Verwendung symmetrischer Schlüssel 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 zur Überprüfung der Signatur verwenden. Der Hauptvorteil der Verwendung eines einzigen Schlüssels besteht darin, dass alles schneller abläuft und weniger Rechenleistung für die Generierung und Überprüfung der Signatur erforderlich ist. Ein gutes Beispiel für einen symmetrischen Schlüssel ist HMAC.

Asymmetrische Schlüssel

Hierbei werden zwei Schlüssel verwendet: ein privater Schlüssel und ein öffentlicher Schlüssel, die unterschiedlich, aber kryptografisch verwandt 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 und das Paar aus privatem und öffentlichem Schlüssel wird vom Benutzer generiert. Der API-Besitzer sollte den öffentlichen Schlüssel nur zur Überprüfung der Signatur verwenden, damit der private Schlüssel lokal und geheim bleibt. 

Der Hauptvorteil der Verwendung asymmetrischer Schlüssel liegt in der höheren Sicherheit der Trennung von Signaturerstellung und Schlüsselüberprüfung. Dies ermöglicht es externen Systemen, Signaturen zu überprüfen, ohne diese generieren zu können. Ein weiterer Vorteil besteht darin, dass einige asymmetrische Verschlüsselungssysteme das Hinzufügen eines Passworts zu privaten Schlüsseln unterstützen. Ein gutes Beispiel ist ein RSA-Schlüsselpaar. 

Sind API-Schlüssel sicher? 

Der API-Schlüssel liegt in der Verantwortung des Benutzers. API-Schlüssel ähneln Passwörtern und sollten mit der gleichen Sorgfalt behandelt werden. Das Teilen eines API-Schlüssels ähnelt dem Teilen eines Passworts und sollte daher nicht mit anderen geteilt werden, da dies das Konto des Benutzers gefährdet. 

API-Schlüssel sind häufig das Ziel von Cyberangriffen, da mit ihnen leistungsstarke Vorgänge auf Systemen ausgeführt werden können, beispielsweise das Anfordern persönlicher Informationen oder Finanztransaktionen. Tatsächlich gab es Fälle, in denen Crawler erfolgreich Online-Codedatenbanken angegriffen haben, um API-Schlüssel zu stehlen.

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

Richtlinien zur Verwendung von API-Schlüsseln

Aufgrund ihres Zugriffs auf sensible Daten und ihrer allgemeinen Verwundbarkeit ist die sichere Verwendung von API-Schlüsseln von größter Bedeutung. Sie können diese Best Practices bei der Verwendung von API-Schlüsseln befolgen, um deren Gesamtsicherheit zu verbessern: 

  1. Ändern Sie Ihre API-Schlüssel häufig. Das bedeutet, dass Sie Ihren aktuellen API-Schlüssel löschen und einen neuen generieren müssen. Das Generieren und Löschen von API-Schlüsseln ist bei den meisten Systemen recht einfach. So wie Sie bei einigen Systemen Ihr Passwort alle 30–90 Tage ändern müssen, sollten Sie Ihre API-Schlüssel nach Möglichkeit im gleichen Rhythmus ändern.

  2. Verwenden Sie eine IP-Whitelist: Erstellen Sie beim Erstellen eines API-Schlüssels eine Liste von IP-Adressen, die den Schlüssel verwenden können (IP-Whitelist). Sie können auch eine Liste blockierter IP-Adressen (IP-Blacklist) angeben. Selbst wenn Ihr API-Schlüssel gestohlen wird, kann auf diese Weise immer noch nicht von einer unbekannten IP-Adresse darauf zugegriffen werden.

  3. Verwenden Sie mehrere API-Schlüssel: Durch die Verwendung mehrerer Schlüssel und die Aufteilung der Verantwortlichkeiten zwischen ihnen wird das Sicherheitsrisiko verringert, da Ihre Sicherheit nicht von einem einzigen Schlüssel mit erweiterten Berechtigungen abhängt. Sie können außerdem für jeden Schlüssel unterschiedliche IP-Whitelists festlegen und so Ihr Sicherheitsrisiko weiter reduzieren. 

  4. Bewahren Sie API-Schlüssel sicher auf: Speichern Sie Schlüssel nicht an öffentlichen Orten, auf öffentlichen Computern oder im Nur-Text-Format. Speichern Sie stattdessen jeden Schlüssel mit einer Verschlüsselung oder einem Passwort-Manager für zusätzliche Sicherheit und achten Sie darauf, ihn nicht versehentlich preiszugeben. 

  5. Geben Sie Ihre API-Schlüssel nicht an Dritte weiter. Das Teilen eines API-Schlüssels ähnelt dem Teilen Ihres Passworts. Dabei gewähren Sie der Gegenpartei Ihre Authentifizierungs- und Autorisierungsrechte. Wenn diese kompromittiert werden, kann Ihr API-Schlüssel gestohlen und zum Hacken Ihres Kontos verwendet werden. Ein API-Schlüssel sollte nur zwischen Ihnen und dem System verwendet werden, das ihn generiert.

Wenn Ihr API-Schlüssel kompromittiert ist, müssen Sie ihn zunächst deaktivieren, um weiteren Schaden zu verhindern. Wenn es zu finanziellen Verlusten kommt, machen Sie Screenshots der wichtigsten Informationen zum Vorfall, kontaktieren Sie die entsprechenden Organisationen und erstatten Sie Anzeige bei der Polizei. Dies ist der beste Weg, Ihre Chancen auf die Wiedererlangung verlorener Gelder zu erhöhen. 

Ergebnisse

API-Schlüssel bieten grundlegende Authentifizierungs- und Autorisierungsfunktionen, und Benutzer sollten ihre Schlüssel sorgfältig verwalten und sichern. Es gibt viele Ebenen und Aspekte, um die sichere Verwendung von API-Schlüsseln sicherzustellen. Im Allgemeinen sollte der API-Schlüssel als Passwort für Ihr Konto behandelt werden.

Verwandte Artikel

  • Allgemeine Sicherheitsgrundsätze

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