Ein API-Schlüssel (Application Programming Interface) ist ein eindeutiger Code, der von einer API verwendet wird, um die Anwendung oder den Benutzer zu identifizieren, der die Anfrage stellt. API-Schlüssel werden verwendet, um zu verfolgen und zu kontrollieren, wer eine API nutzt und wie sie diese nutzt, sowie um Anwendungen zu authentifizieren und zu autorisieren, ähnlich wie Benutzernamen und Passwörter funktionieren. Ein API-Schlüssel kann ein einzelner Schlüssel oder eine Reihe von Schlüsseln sein. Benutzer sollten Best Practices befolgen, um ihre allgemeine Sicherheit vor API-Schlüsseldiebstahl zu verbessern und die Folgen einer API-Schlüsselkompromittierung 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 Anwendungen ermöglicht, Informationen auszutauschen. Die API von CoinMarketCap ermöglicht es beispielsweise anderen Anwendungen, Kryptodaten wie Preis, Volumen und Kapitalisierung abzurufen und zu verwenden.
Ein API-Schlüssel gibt es in verschiedenen Formen: Es kann sich um einen einzelnen Schlüssel oder um eine Reihe von Schlüsseln handeln. Verschiedene Systeme verwenden diese Schlüssel zur Authentifizierung und Autorisierung einer Anwendung, ähnlich einem Benutzernamen und einem Passwort für eine Person. Ein API-Schlüssel wird von einem API-Client verwendet, um eine Anwendung zu authentifizieren, die die API anfordert.
Wenn Binance Academy beispielsweise die CoinMarketCap-API verwenden möchte, wird von CoinMarketCap ein API-Schlüssel generiert und zur Authentifizierung der Identität von Binance Academy (dem API-Client) verwendet, der Zugriff auf die API anfordert. Wenn Binance Academy auf die CoinMarketCap-API zugreift, muss dieser API-Schlüssel mit der Anfrage an CoinMarketCap gesendet werden.
Dieser API-Schlüssel sollte nur von der Binance Academy verwendet werden und nicht an andere weitergegeben oder gesendet werden. Die Weitergabe dieses API-Schlüssels würde es einem Dritten ermöglichen, als Binance Academy auf CoinMarketCap zuzugreifen, und alle Aktionen dieses Dritten werden so aussehen, als ob sie von der Binance Academy stammen würden.
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 zu überwachen, z. B. verschiedene Anforderungstypen, Datenverkehr und Anforderungsvolumen.
Was ist ein API-Schlüssel?
Ein API-Schlüssel wird verwendet, um zu steuern und zu verfolgen, wer eine API nutzt und wie sie diese nutzt. Der Begriff „API-Schlüssel“ kann in verschiedenen Systemen 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“.
Daher ist ein „API-Schlüssel“ ein eindeutiger Code oder eine Reihe eindeutiger Codes, die von einer API verwendet werden, um den Benutzer oder die Anwendung zu authentifizieren und zu autorisieren, von der eine Anfrage stammt. Einige Codes werden zur Authentifizierung verwendet, andere zum Erstellen kryptografischer Signaturen, um die Legitimität einer Anfrage nachzuweisen.
Diese Authentifizierungscodes werden üblicherweise als „API-Schlüssel“ bezeichnet, während die für kryptografische Signaturen verwendeten Codes unterschiedliche Namen haben, beispielsweise „geheimer Schlüssel“, „öffentlicher Schlüssel“ oder „privater Schlüssel“. sind die, für die sie sich ausgeben.
Die Autorisierung hingegen gibt an, auf welche API-Dienste der Zugriff zulässig ist. Die Funktion eines API-Schlüssels ähnelt der eines Kontobenutzernamens und -kennworts. Es kann auch mit anderen Sicherheitsgeräten verbunden werden, um die Gesamtsicherheit 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 eine Anfrage an einen API-Endpunkt gestellt wird, die eine Authentifizierung oder Autorisierung durch den API-Benutzer 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 eine 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 eine API geteilte Daten können mit kryptografischen Schlüsseln signiert werden, die in die folgenden Kategorien eingeteilt werden können:
Symmetrische Schlüssel
Sie beinhalten die Verwendung eines geheimen Schlüssels, 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 derselbe geheime Schlüssel muss vom API-Dienst zur Signaturüberprüfung verwendet werden. Der Hauptvorteil der Verwendung eines einzelnen Schlüssels besteht darin, dass er schneller zu implementieren ist und weniger Rechenleistung für die Signaturerstellung und -überprüfung erfordert. HMAC ist ein gutes Beispiel für einen symmetrischen Schlüssel.
Asymmetrische Schlüssel
Dabei 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 Signaturerstellung und der öffentliche Schlüssel zur Signaturüberprüfung verwendet. Der API-Schlüssel wird vom API-Eigentümer generiert, das Paar aus privatem und öffentlichem Schlüssel wird jedoch vom Benutzer generiert. Für die Signaturüberprüfung sollte vom API-Eigentümer nur der öffentliche Schlüssel verwendet werden, damit der private Schlüssel lokal und geheim bleiben kann.
Der Hauptvorteil der Verwendung asymmetrischer Schlüssel ist die erhöhte Sicherheit der Trennung der Signaturerstellungs- und Verifizierungsschlüssel. 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 ermöglichen. Ein gutes Beispiel sind RSA-Schlüsselpaare.
Sind API-Schlüssel sicher?
Die Verantwortung für einen API-Schlüssel liegt beim Benutzer. API-Schlüssel ähneln Passwörtern und sollten mit der gleichen Sorgfalt behandelt werden. Die Weitergabe eines API-Schlüssels ähnelt der Weitergabe eines Passworts und sollte daher nicht erfolgen, da dadurch das Konto des Benutzers gefährdet wird.
API-Schlüssel sind häufig das Ziel von Cyberangriffen, da sie zur Durchführung umfangreicher Vorgänge auf Systemen verwendet werden können, beispielsweise zur Abfrage persönlicher Informationen oder zur Ausführung von Finanztransaktionen. Es gab tatsächlich Fälle, in denen Webcrawler erfolgreich Online-Codedatenbanken durchsuchten, um API-Schlüssel zu stehlen.
Die Folgen eines API-Schlüsseldiebstahls können dramatisch sein und zu erheblichen finanziellen Verlusten führen. Da einige API-Schlüssel außerdem nicht ablaufen, können sie nach dem Diebstahl von Angreifern unbegrenzt verwendet werden, bis die Schlüssel selbst widerrufen werden.
Best Practices für die 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:
Ändern Sie Ihre API-Schlüssel häufig. Das bedeutet, dass Sie Ihren aktuellen API-Schlüssel löschen und einen neuen erstellen sollten. Bei mehreren Systemen ist es in der Regel einfach, API-Schlüssel zu generieren und zu löschen. So wie Sie bei einigen Systemen Ihr Passwort alle 30–90 Tage ändern müssen, sollten Sie Ihre API-Schlüssel in ähnlicher Häufigkeit ändern.
IP-Whitelisting verwenden: Wenn Sie einen API-Schlüssel erstellen, erstellen Sie eine Liste der IPs, die den Schlüssel verwenden dürfen (eine IP-Whitelist). Sie können auch eine Liste blockierter IPs (eine IP-Blacklist) angeben. Selbst wenn Ihr API-Schlüssel gestohlen wird, kann auf diese Weise nicht von einer unbekannten IP-Adresse darauf zugegriffen werden.
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 umfassenden Berechtigungen abhängt. Sie können für jeden Schlüssel auch unterschiedliche IP-Adress-Whitelists festlegen, um das Sicherheitsrisiko weiter zu reduzieren.
Bewahren Sie API-Schlüssel sicher auf: Speichern Sie Ihre Schlüssel nicht an zugänglichen Orten, auf öffentlichen Computern oder im ursprünglichen Klartextformat. Speichern Sie sie stattdessen mit Verschlüsselung oder einem Passwort-Manager für zusätzliche Sicherheit und achten Sie darauf, sie nicht versehentlich preiszugeben.
Geben Sie Ihre API-Schlüssel nicht weiter. Sie können das Teilen eines API-Schlüssels mit dem Teilen eines Passworts vergleichen. Dadurch erhält eine andere Partei die gleichen Authentifizierungs- und Autorisierungsrechte wie Sie. Bei einer Kompromittierung 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 vermeiden. Machen Sie im Falle eines finanziellen Schadens Screenshots der wichtigsten Informationen zum Vorfall, kontaktieren Sie die zuständigen Stellen und reichen Sie eine Beschwerde ein. Dies ist der beste Weg, Ihre Chancen auf die Wiedererlangung verlorener Gelder zu erhöhen.
Abschluss
API-Schlüssel bieten wesentliche Authentifizierungs- und Autorisierungsfunktionen, und Benutzer sollten ihre Schlüssel sorgfältig verwalten und schützen. Es gibt viele Ebenen und Aspekte, die eine sichere Verwendung von API-Schlüsseln gewährleisten können. Insgesamt sollte ein API-Schlüssel wie Ihr Kontopasswort behandelt werden.
Mehr Informationen
Allgemeine Sicherheitsgrundsätze
5 häufige Kryptowährungsbetrügereien und wie man sie vermeidet.

