Ein API-Schlüssel (Application Programming Interface) ist ein eindeutiger Code, der von einer API zur Identifizierung einer Anwendung oder eines Benutzers verwendet wird. API-Schlüssel werden verwendet, um zu verfolgen und zu steuern, wer die API wie nutzt, und um Anwendungen auf ähnliche Weise wie Passwörter und Anmeldungen zu authentifizieren und zu autorisieren. Ein API-Schlüssel kann ein einzelner Schlüssel oder ein Satz mehrerer Schlüssel sein. Benutzer sollten auf ihre Sicherheit achten, um sich vor Datendiebstahl und -lecks zu schützen.

API und API-Schlüssel

Um zu verstehen, was ein API-Schlüssel ist, müssen Sie sich zunächst die API selbst ansehen. Eine Anwendungsprogrammierschnittstelle oder API ist ein Software-Vermittler, der den Informationsaustausch zwischen zwei oder mehr Anwendungen ermöglicht. Beispielsweise ermöglicht die CoinMarketCap-API anderen Anwendungen, Kryptowährungsdaten wie Preis, Volumen und Marktkapitalisierung abzurufen und zu verwenden.

Ein API-Schlüssel kann ein einzelner Schlüssel oder ein Satz mehrerer Schlüssel sein. Verschiedene Systeme nutzen diese Schlüssel zur Authentifizierung und Autorisierung von Anwendungen, ähnlich wie Logins und Passwörter. Der API-Schlüssel wird vom API-Client zur Authentifizierung der Anwendung verwendet, die die API aufruft.

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

In diesem Beispiel kann nur Binance Academy den API-Schlüssel verwenden, ohne ihn an Dritte weiterzugeben. Durch die Weitergabe dieses API-Schlüssels kann ein Dritter auf CoinMarketCap zugreifen und im Namen der Binance Academy Aktionen durchführen.

Darüber hinaus kann die CoinMarketCap-API mithilfe des API-Schlüssels überprüfen, ob die Anwendung berechtigt ist, auf die angeforderte Ressource zuzugreifen. API-Besitzer können API-Schlüssel auch verwenden, um API-Aktivitäten zu verfolgen, einschließlich Anforderungstypen, Datenverkehr und Volumen.

Was ist ein API-Schlüssel?

Der API-Schlüssel wird verwendet, um zu steuern und zu verfolgen, wer die API wie nutzt. Der Begriff „API-Schlüssel“ selbst kann mehrere Bedeutungen haben. Einige Systeme verfügen nur über einen Code, während andere über mehrere Codes für einen einzelnen API-Schlüssel verfügen.

Mit anderen Worten 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, während andere zur Erstellung kryptografischer Signaturen verwendet werden, die die Legitimität der Anfrage bestätigen.

Diese Authentifizierungscodes werden als „API-Schlüssel“ bezeichnet, während die Codes zur Erstellung kryptografischer Signaturen unterschiedliche Namen wie „geheimer Schlüssel“, „öffentlicher Schlüssel“ oder „privater Schlüssel“ haben. Bei der Authentifizierung geht es darum, die beteiligten Entitäten zu identifizieren und ihre Identität zu bestätigen.

Die Autorisierung wiederum bestimmt die API-Dienste, auf die der Zugriff erlaubt ist. Ein API-Schlüssel funktioniert ähnlich wie ein Konto-Login und ein Passwort und kann auch mit anderen Sicherheitsfunktionen verknüpft werden, um die allgemeine Sicherheit zu erhöhen.

Der API-Eigentümer generiert jeden API-Schlüssel speziell für eine bestimmte Entität (mehr dazu weiter unten) und jedes Mal, wenn ein API-Endpunkt aufgerufen wird, der eine Authentifizierung und/oder Autorisierung des Benutzers 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 übergeben möchte, kann der Anfrage eine mit einem anderen Schlüssel generierte digitale Signatur hinzugefügt werden. Mithilfe der Kryptografie kann der API-Besitzer überprüfen, ob die digitale Signatur mit den gesendeten Daten übereinstimmt.

Symmetrische und asymmetrische Signaturen

Die folgenden Kategorien von kryptografischen Schlüsseln werden zum Signieren von über die API gesendeten Daten verwendet:

Symmetrische Schlüssel

Sie beinhalten die Verwendung eines geheimen Schlüssels zum Signieren von Daten und zum Überprüfen der Signatur. Bei der Verwendung symmetrischer Schlüssel generiert der API-Eigentümer einen API-Schlüssel und einen geheimen Schlüssel, der zur Signaturüberprüfung durch API-Dienste verwendet wird. Der Hauptvorteil der Verwendung eines einzelnen Schlüssels besteht darin, dass der Signaturerstellungs- und Verifizierungsprozess beschleunigt wird und weniger Rechenleistung erforderlich ist. Ein Beispiel für einen guten symmetrischen Schlüssel ist HMAC.

Asymmetrische Schlüssel

Dabei werden zwei Schlüssel verwendet: ein privater und ein öffentlicher Schlüssel, die sich voneinander unterscheiden, aber eine kryptografische Verbindung haben. Der private Schlüssel dient zur Generierung der Signatur und der öffentliche Schlüssel zur Verifizierung. Der API-Eigentümer generiert den API-Schlüssel und der Benutzer generiert den privaten und öffentlichen Schlüssel. Zur Überprüfung der Signatur verwendet der API-Besitzer ausschließlich den öffentlichen Schlüssel, während der private Schlüssel geheim gehalten wird.

Der Hauptvorteil der Verwendung asymmetrischer Schlüssel ist die erhöhte Sicherheit durch die Trennung der Aufgaben der Signaturgenerierung und der Signaturprüfung. Dies ermöglicht es externen Systemen, Signaturen zu überprüfen, ohne diese generieren zu können. Darüber hinaus unterstützen einige asymmetrische Verschlüsselungssysteme das Hinzufügen eines Passworts zu privaten Schlüsseln. Ein Beispiel ist ein RSA-Schlüsselpaar.

API-Schlüsselsicherheit

Die Sicherheit des API-Schlüssels liegt in der Verantwortung des Benutzers. API-Schlüssel fungieren als Passwörter und erfordern die gleiche Sorgfalt. Sie sollten Ihren API-Schlüssel nicht an Dritte weitergeben, da dies der Weitergabe Ihres Passworts ähnelt und Ihr Konto gefährden kann.

API-Schlüssel sind häufig das Ziel von Cyber-Angriffen, da sie zur Durchführung sensibler Systemvorgänge wie der Abfrage persönlicher Informationen oder der Durchführung von Finanztransaktionen verwendet werden können. Es gab bereits Fälle, in denen Angreifer Online-Datenbanken mit Codes angegriffen und API-Schlüssel gestohlen haben.

Der Diebstahl von API-Schlüsseln kann negative Folgen und erhebliche finanzielle Verluste haben. Darüber hinaus laufen einige API-Schlüssel nicht ab, sodass Angreifer sie verwenden können, bevor die Schlüssel deaktiviert werden.

Tipps zur sicheren Verwendung von API-Schlüsseln

API-Schlüssel ermöglichen den Zugriff auf sensible Daten, daher ist es wichtig, sie sicher zu verwenden. Befolgen Sie diese Richtlinien für die sichere Verwendung von API-Schlüsseln:

  1. Versuchen Sie, die API-Schlüssel regelmäßig zu ändern. Um den Schlüssel zu ändern, müssen Sie den aktuellen API-Schlüssel löschen und einen neuen erstellen. Bei der Verwendung mehrerer Systeme ist das Löschen und Generieren von API-Schlüsseln kein Problem. So wie einige Systeme alle 30–90 Tage Passwortänderungen erfordern, sollten Schlüsseleigentümer die API-Schlüssel nach Möglichkeit in der gleichen Häufigkeit ändern.

  2. Erstellen Sie eine Whitelist mit IP-Adressen. Erstellen Sie beim Erstellen eines neuen API-Schlüssels eine Liste der IP-Adressen, die diesen Schlüssel verwenden dürfen (IP-Whitelist). Darüber hinaus können Sie auch eine Liste blockierter IP-Adressen (IP-Blacklist) angeben. Wenn der Schlüssel dann gestohlen wird, kann die unbekannte IP-Adresse ihn nicht verwenden.

  3. Verwenden Sie mehrere API-Schlüssel. Wenn Sie über mehrere Schlüssel verfügen und die Aufgaben auf diese verteilen, verringert sich das Risiko, da die Kontosicherheit nicht davon abhängt, dass ein Schlüssel für alle Aufgaben gleichzeitig verwendet wird. Darüber hinaus können Sie für jeden Schlüssel unterschiedliche Whitelists mit IP-Adressen erstellen und so die Sicherheit deutlich erhöhen.

  4. Stellen Sie sicher, dass API-Schlüssel sicher gespeichert werden. Speichern Sie Schlüssel nicht an öffentlichen Orten, auf öffentlichen Computern oder im Klartextformat. Um die Sicherheit jedes Schlüssels zu erhöhen, verwenden Sie eine Verschlüsselung oder einen Dienst zur Verwaltung vertraulicher Daten und achten Sie darauf, diese nicht versehentlich preiszugeben.

  5. Geben Sie Ihre API-Schlüssel nicht an Dritte weiter. Jemandem einen API-Schlüssel zu geben ist dasselbe wie ihm ein Passwort zu geben. In diesem Fall erhält der Dritte die gleichen Authentifizierungs- und Autorisierungsmöglichkeiten wie Sie. Im Falle eines Datenlecks könnte der API-Schlüssel gestohlen und zum Hacken Ihres Kontos verwendet werden. Der API-Schlüssel sollte nur von Ihnen und dem System, das ihn generiert, verwendet werden.

Sollte Ihr API-Schlüssel in die Hände Dritter gelangen, deaktivieren Sie ihn unbedingt, um weiteren Schaden zu verhindern. Machen Sie im Falle eines finanziellen Schadens Screenshots der wichtigsten Informationen zum Vorfall, wenden Sie sich an die entsprechenden Organisationen und erstatten Sie Anzeige bei der Polizei. Auf diese Weise können Sie Ihre Chancen erhöhen, verlorene Gelder zurückzuerhalten.

Abschließend

API-Schlüssel bieten Authentifizierungs- und Autorisierungsfunktionen, daher sollten Benutzer sie sicher aufbewahren und mit Vorsicht verwenden. Es gibt viele Ebenen und Möglichkeiten, API-Schlüssel zu sichern. Der API-Schlüssel muss genauso behandelt werden wie Ihr Kontopasswort.

Literatur-Empfehlungen

  • Allgemeine Sicherheitsgrundsätze

  • 5 häufige Arten von Kryptowährungsbetrug und wie man sie vermeidet