Was ist ein API-Schl├╝ssel und wie wird er sicher verwendet?
Startseite
Artikel
Was ist ein API-Schl├╝ssel und wie wird er sicher verwendet?

Was ist ein API-Schl├╝ssel und wie wird er sicher verwendet?

Mittel
Ver├Âffentlicht Jan 6, 2023Aktualisiert Feb 21, 2023
7m


Ein API-Schl├╝ssel (Application Programming Interface) ist ein eindeutiger Code, mit dem eine API die aufrufende Anwendung oder den Nutzer identifiziert. API-Schl├╝ssel dienen dazu, zu verfolgen und zu kontrollieren, wer eine API verwendet und wie sie verwendet wird, sowie um Anwendungen zu authentifizieren und zu autorisieren ÔÇô ├Ąhnlich wie bei Nutzernamen und Passw├Ârtern. Ein API-Schl├╝ssel kann in Form eines einzelnen Schl├╝ssels oder eines Satzes von mehreren Schl├╝sseln vorliegen. Die Nutzer sollten sich an bew├Ąhrte Verfahren halten, um ihre allgemeine Sicherheit gegen den Diebstahl von API-Schl├╝sseln zu verbessern und die damit verbundenen Folgen einer Kompromittierung ihrer API-Schl├╝ssel zu vermeiden.

API vs. API-Schl├╝ssel

Um zu verstehen, was ein API-Schl├╝ssel ist, musst du zun├Ąchst wissen, was eine API ist. Eine Application Programming Interface oder API ist ein Software-Vermittler, der es zwei oder mehr Anwendungen erm├Âglicht, Informationen auszutauschen. Zum Beispiel erm├Âglicht die API von CoinMarketCap anderen Anwendungen, Krypto-Daten wie Preis, Volumen und Marktkapitalisierung abzurufen und zu nutzen.

Einen API-Schl├╝ssel gibt es in vielen verschiedenen Formen ÔÇô es kann ein einzelner Schl├╝ssel oder ein Satz von mehreren Schl├╝sseln sein. Verschiedene Systeme verwenden diese Schl├╝ssel, um eine Anwendung zu authentifizieren und zu autorisieren, ├Ąhnlich wie ein Nutzername und ein Passwort verwendet werden. Ein API-Schl├╝ssel wird von einem API-Client verwendet, um eine Anwendung zu authentifizieren, die die API aufruft.┬á

Wenn Binance Academy beispielsweise die CoinMarketCap-API nutzen m├Âchte, wird ein API-Schl├╝ssel von CoinMarketCap generiert und zur Authentifizierung der Identit├Ąt von Binance Academy (dem API-Client) verwendet, der den API-Zugang anfordert. Wenn Binance Academy auf die API von CoinMarketCap zugreift, sollte dieser API-Schl├╝ssel zusammen mit der Anforderung an CoinMarketCap gesendet werden.┬á

Dieser API-Schl├╝ssel sollte nur von der Binance Academy verwendet werden und sollte nicht mit anderen geteilt oder an andere gesendet werden. Die Weitergabe dieses API-Schl├╝ssels erm├Âglicht es einem Dritten, auf CoinMarketCap als Binance Academy zuzugreifen, und alle Aktionen des Dritten werden so aussehen, als ob sie von Binance Academy stammen.

Der API-Schl├╝ssel kann auch von der CoinMarketCap-API verwendet werden, um zu best├Ątigen, dass die Anwendung zum Zugriff auf die angeforderte Ressource berechtigt ist. Dar├╝ber hinaus verwenden API-Eigent├╝mer API-Schl├╝ssel, um die API-Aktivit├Ąt zu ├╝berwachen, wie z.B. die Typen, den Traffic und das Volumen der Anfragen.┬á

Was ist ein API-Schlüssel? 

Ein API-Schl├╝ssel wird verwendet, um zu kontrollieren und zu verfolgen, wer eine API nutzt und wie er sie nutzt. Der Begriff ÔÇ×API-Schl├╝sselÔÇť kann f├╝r verschiedene Systeme unterschiedliche Bedeutungen haben. Einige Systeme haben einen einzigen Code, andere k├Ânnen mehrere Codes f├╝r einen einzigen ÔÇ×API-Schl├╝sselÔÇť haben.┬á┬á┬á

Ein ÔÇ×API-Schl├╝sselÔÇť ist ein eindeutiger Code oder eine Reihe eindeutiger Codes, die von einer API zur Authentifizierung und Autorisierung des aufrufenden Nutzers oder der Anwendung verwendet werden. Einige Codes werden f├╝r die Authentifizierung verwendet, andere f├╝r die Erstellung kryptografischer Signaturen zum Nachweis der Legitimit├Ąt einer Anfrage.┬á

Diese Authentifizierungscodes werden ├╝blicherweise als ÔÇ×API-Schl├╝sselÔÇť bezeichnet, w├Ąhrend die f├╝r kryptografische Signaturen verwendeten Codes verschiedene Bezeichnungen haben, wie ÔÇ×geheimer Schl├╝sselÔÇť, ÔÇ×├Âffentlicher Schl├╝sselÔÇť oder ÔÇ×privater Schl├╝sselÔÇť. Bei der Authentifizierung geht es darum, die beteiligten Stellen zu identifizieren und zu best├Ątigen, dass sie die sind, die sie vorgeben zu sein.

Die Autorisierung hingegen legt fest, auf welche API-Dienste der Zugriff erlaubt ist. Die Funktion eines API-Schl├╝ssels ├Ąhnelt der eines Nutzernamens und eines Passworts f├╝r ein Konto. Er kann auch mit anderen Sicherheitsfunktionen verbunden werden, um die allgemeine Sicherheit zu verbessern.┬á

Jeder API-Schl├╝ssel wird in der Regel vom API-Eigent├╝mer f├╝r eine bestimmte Entit├Ąt generiert (mehr dazu weiter unten), und bei jedem Aufruf eines API-Endpunkts ÔÇô der eine Nutzerauthentifizierung oder eine Autorisierung oder beides erfordert ÔÇô wird der entsprechende Schl├╝ssel verwendet.

Kryptografische Signaturen

Einige API-Schl├╝ssel verwenden kryptografische Signaturen als zus├Ątzliche Verifizierungsebene. Wenn ein Nutzer 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-Eigent├╝mer ├╝berpr├╝fen, ob diese digitale Signatur mit den gesendeten Daten ├╝bereinstimmt.

Symmetrische und asymmetrische Signaturen 

Die ├╝ber eine API freigegebenen Daten k├Ânnen mit kryptografischen Schl├╝sseln signiert werden, die in die folgenden Kategorien fallen:

Symmetrische Schl├╝ssel

Es handelt sich hierbei um einen einzigen geheimen Schl├╝ssel, um sowohl das Signieren von Daten als auch die ├ťberpr├╝fung einer Signatur durchzuf├╝hren. Bei symmetrischen Schl├╝sseln werden der API-Schl├╝ssel und der geheime Schl├╝ssel in der Regel vom API-Eigent├╝mer erzeugt, und der API-Dienst muss denselben geheimen Schl├╝ssel f├╝r die Signaturpr├╝fung verwenden. Der Hauptvorteil der Verwendung eines singul├Ąren Schl├╝ssels ist, dass dies schneller geht und weniger Rechenleistung f├╝r die Signaturerstellung und -├╝berpr├╝fung erfordert. Ein gutes Beispiel f├╝r einen symmetrischen Schl├╝ssel ist HMAC.

Asymmetrische Schl├╝ssel

Es handelt sich hierbei um zwei Schl├╝ssel: einen privaten Schl├╝ssel und einen ├Âffentlichen Schl├╝ssel, die zwar unterschiedlich, aber kryptografisch miteinander verbunden sind. Der private Schl├╝ssel wird f├╝r die Signaturerstellung und der ├Âffentliche Schl├╝ssel f├╝r die Signaturpr├╝fung verwendet. Der API-Schl├╝ssel wird vom API-Eigent├╝mer generiert, aber das Paar aus privatem und ├Âffentlichem Schl├╝ssel wird vom Nutzer erzeugt. Nur der ├Âffentliche Schl├╝ssel muss vom API-Eigent├╝mer f├╝r die Signaturpr├╝fung verwendet werden, sodass der private Schl├╝ssel lokal und geheim bleiben kann.┬á

Der Hauptvorteil der Verwendung asymmetrischer Schl├╝ssel ist die h├Âhere Sicherheit, die sich aus der Trennung von Signaturerstellungs- und -pr├╝fungsschl├╝sseln ergibt. Dies erm├Âglicht es externen Systemen, Signaturen zu ├╝berpr├╝fen, ohne dass sie in der Lage sind, Signaturen zu erzeugen. Ein weiterer Vorteil ist, 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? 

Die Verantwortung f├╝r einen API-Schl├╝ssel liegt beim Nutzer. API-Schl├╝ssel sind ├Ąhnlich wie Passw├Ârter und m├╝ssen mit der gleichen Sorgfalt behandelt werden. Die Weitergabe eines API-Schl├╝ssels ist mit dem Teilen eines Passworts vergleichbar und darf nicht geschehen, da dies das Konto des Nutzers gef├Ąhrden w├╝rde.┬á

API-Schl├╝ssel sind h├Ąufig das Ziel von Cyberangriffen, da sie dazu verwendet werden k├Ânnen, leistungsstarke Operationen auf Systemen durchzuf├╝hren, wie z.B. die Abfrage pers├Ânlicher Daten oder die Ausf├╝hrung von Finanztransaktionen. Es hat sogar F├Ąlle gegeben, in denen Crawler erfolgreich Online-Code-Datenbanken angegriffen haben, um API-Schl├╝ssel zu stehlen.

Die Folgen eines API-Schl├╝sseldiebstahls k├Ânnen drastisch sein und zu erheblichen finanziellen Verlusten f├╝hren. Da einige API-Schl├╝ssel nicht ablaufen, k├Ânnen sie von Angreifern nach dem Diebstahl unbegrenzt verwendet werden, bis die Schl├╝ssel selbst widerrufen werden.

Best Practices bei der Verwendung von API-Schl├╝sseln

Aufgrund ihres Zugriffs auf sensible Daten und ihrer allgemeinen Anf├Ąlligkeit ist die sichere Verwendung von API-Schl├╝sseln von gr├Â├čter Bedeutung. Du kannst diese Best Practices bei der Verwendung von API-Schl├╝sseln befolgen, um ihre allgemeine Sicherheit zu verbessern:┬á

  1. Ersetze deine API-Schl├╝ssel nach M├Âglichkeit h├Ąufig. Das hei├čt, du solltest deinen aktuellen API-Schl├╝ssel l├Âschen und einen neuen erstellen. Bei mehreren Systemen ist es einfach, API-Schl├╝ssel zu erstellen und zu l├Âschen. ├ähnlich wie du bei manchen Systemen alle 30 bis 90 Tage dein Passwort ├Ąndern musst, solltest du deine API-Schl├╝ssel m├Âglichst ├Ąhnlich h├Ąufig wechseln.

  2. Verwende eine IP-Whitelist: Erstelle bei der Erstellung eines API-Schl├╝ssels eine Liste der IPs, die den Schl├╝ssel verwenden d├╝rfen (eine IP-Whitelist). Du kannst auch eine Liste der gesperrten IPs erstellen (eine IP-Blacklist). Auf diese Weise kann selbst im Falle eines Diebstahls deines API-Schl├╝ssels nicht von einer unbekannten IP-Adresse auf ihn zugegriffen werden.

  3. Verwende mehrere API-Schl├╝ssel: Die Verwendung mehrerer Schl├╝ssel und die Aufteilung der Zust├Ąndigkeiten auf diese Schl├╝ssel verringert das Sicherheitsrisiko, da deine Sicherheit nicht von einem einzigen Schl├╝ssel mit umfangreichen Berechtigungen abh├Ąngt. Au├čerdem kannst du f├╝r jeden Schl├╝ssel unterschiedliche IP-Whitelists festlegen, was dein Sicherheitsrisiko weiter senkt.┬á

  4. Bewahre API-Schl├╝ssel sicher auf: Bewahre deine Schl├╝ssel nicht an ├Âffentlichen Orten, auf ├Âffentlichen Computern oder in ihrem Originalformat im Klartext auf. Speichere sie stattdessen verschl├╝sselt oder f├╝r eine bessere Sicherheit mit einem Security Manager und achte darauf, sie nicht versehentlich preiszugeben.┬á

  5. Gib deine API-Schl├╝ssel nicht weiter. Das Teilen deines API-Schl├╝ssels ist ├Ąhnlich wie das Teilen deines Passworts. Auf diese Weise gibst du einer anderen Partei die gleichen Authentifizierungs- und Autorisierungsprivilegien wie dir. Wenn diese kompromittiert werden, kann dein API-Schl├╝ssel gestohlen und verwendet werden, um sich in dein Konto zu hacken. Ein API-Schl├╝ssel sollte nur zwischen dir und dem System, das ihn generiert, verwendet werden.

Wenn dein API-Schl├╝ssel kompromittiert wurde, musst du ihn zun├Ąchst deaktivieren, um weiteren Schaden zu verhindern. Wenn ein finanzieller Verlust entstanden ist, erstelle Screenshots der wichtigsten Informationen im Zusammenhang mit dem Vorfall, kontaktiere die entsprechenden Stellen und erstatte eine Anzeige bei der Polizei. Auf diese Weise erh├Âhst du deine Chancen, verlorene Mittel wiederzuerlangen.┬á

Fazit

API-Schl├╝ssel bieten zentrale Authentifizierungs- und Autorisierungsfunktionen, und die Nutzer m├╝ssen ihre Schl├╝ssel sorgf├Ąltig verwalten und sch├╝tzen. Die sichere Verwendung von API-Schl├╝sseln umfasst viele Ebenen und Aspekte. Insgesamt sollte ein API-Schl├╝ssel wie ein Passwort f├╝r dein Konto behandelt werden.

Weiterf├╝hrende Lekt├╝re