Klíč aplikačního programovacího rozhraní (API) je jedinečný kód používaný rozhraním API k identifikaci volajícího uživatele nebo aplikace. Klíče API se používají ke sledování a kontrole toho, kdo používá rozhraní API a jak je používají, a také k ověřování a autorizaci aplikací – podobně jako fungují uživatelská jména a hesla. Klíč API může mít podobu jednoho klíče nebo sady více klíčů. Uživatelé by měli správně používat klíče API, aby zlepšili své celkové zabezpečení proti krádeži klíčů API a vyhnuli se souvisejícím důsledkům kompromitace jejich klíčů API.

Rozlišujte mezi API a API klíčem

Abyste pochopili, co je klíč API, musíte nejprve pochopit, co je API. Aplikační programovací rozhraní neboli API (Application programming interface) je middleware, který umožňuje dvěma nebo více aplikacím sdílet informace. CoinMarketCap API například umožňuje jiným aplikacím získávat a používat data o kryptoměnách, jako je cena, objem a tržní kapitalizace.

Klíč API má mnoho různých forem – může to být jeden klíč nebo sada klíčů. Různé systémy používají tyto klíče k ověření a autorizaci aplikace, podobně jako se používají uživatelská jména a hesla. API klíč používá klient API k ověření aplikace volající API. 

Pokud chce například Binance Academy používat CoinMarketCap API, CoinMarketCap vygeneruje API klíč a použije jej k ověření identity Binance Academy (API aplikace) požadující přístup k API. Když Binance Academy přistupuje k rozhraní API CoinMarketCap, tento klíč rozhraní API je odeslán do CoinMarketCap spolu s požadavkem. 

Tento klíč API by měl používat pouze Binance Academy a neměl by být sdílen ani zasílán ostatním. Sdílení tohoto klíče API umožní třetím stranám přistupovat k CoinMarketCap jako Binance Academy a veškeré akce třetích stran budou vypadat, jako by pocházely z Binance Academy.

Klíč API může být také použit rozhraním CoinMarketCap API k potvrzení, zda je aplikace oprávněna přistupovat k požadovanému zdroji. Vlastníci rozhraní API navíc používají klíče rozhraní API ke sledování aktivity rozhraní API, jako je typ požadavku, provoz a objem. 

Co je to API klíč? 

Klíče API se používají k ovládání a sledování toho, kdo používá rozhraní API a jak je používá. Termín „klíč API“ může pro různé systémy znamenat různé věci. Některé systémy mají jeden kód, ale jiné mohou mít více kódů pro jeden „klíč API“.   

„Klíč API“ je tedy jedinečný kód nebo sada jedinečných kódů používaných rozhraním API k ověření a autorizaci volajícího uživatele nebo aplikace. Některé kódy se používají pro autentizaci a některé se používají k vytvoření kryptografického podpisu k prokázání oprávněnosti požadavku. 

Tyto ověřovací klíče se často souhrnně označují jako „klíče API“, zatímco kódy používané pro kryptografické podpisy mají různé názvy, například „soukromé klíče“, „veřejné klíče“ nebo „soukromé klíče“. Autentizace vyžaduje identifikaci zúčastněných subjektů a potvrzení, že jsou tím, za koho se vydávají.

Na druhou stranu opravňuje specifikovat služby API, ke kterým je povolen přístup. Funkce klíče API je podobná funkci uživatelského jména a hesla účtu; lze jej také propojit s dalšími bezpečnostními prvky pro zlepšení celkové bezpečnosti. 

Každý klíč API je obvykle generován vlastníkem rozhraní API pro konkrétní entitu (další podrobnosti níže) a pokaždé, když je uskutečněno volání do koncového bodu API – vyžadující ověření uživatele nebo autorizaci, nebo obojí – bude použit příslušný klíč.

Kryptografický podpis

Některé klíče API používají kryptografické podpisy jako další vrstvu ověřování. Když chce uživatel odeslat určitá data do API, může být k požadavku přidán digitální podpis generovaný jiným klíčem. Pomocí kryptografie může vlastník API ověřit, že se tento digitální podpis shoduje s odeslanými daty.

Symetrické a asymetrické podpisy 

Data sdílená prostřednictvím rozhraní API lze podepsat pomocí kryptografických klíčů, které spadají do následujících kategorií:

Symetrické klávesy

Zahrnují použití tajného klíče k provádění jak podepisování dat, tak ověřování podpisu. U symetrických klíčů jsou klíč API a tajný klíč obvykle generovány vlastníkem rozhraní API a služba API musí k ověření podpisu používat stejný tajný klíč. Hlavní výhodou použití singulárního klíče je, že je rychlejší a vyžaduje menší výpočetní výkon pro generování a ověřování podpisu. Dobrým příkladem symetrického klíče je HMAC.

Asymetrické klíče

Zahrnují použití dvou klíčů: soukromého klíče a veřejného klíče, které jsou různé, ale kryptograficky propojené. Soukromý klíč se používá k vytvoření podpisu a veřejný klíč se používá k ověření podpisu. Klíč API generuje vlastník rozhraní API, ale pár soukromých a veřejných klíčů generuje uživatel. Vlastník API potřebuje k ověření podpisu pouze použít veřejný klíč, takže soukromý klíč může zůstat místní a tajný. 

Hlavní výhodou použití asymetrických klíčů je větší bezpečnost oddělení klíče pro generování podpisu a ověřovacího klíče. To umožňuje externím systémům ověřit podpis, aniž by byly schopny podpis vygenerovat. Další výhodou je, že některé systémy asymetrického šifrování podporují přidání hesla k soukromému klíči. Typickým příkladem je pár klíčů RSA. 

Jsou klíče API bezpečné? 

Odpovědnost za zabezpečení klíčů API leží na uživateli. Klíče API jsou podobné heslům a je třeba s nimi zacházet opatrně. Sdílení klíčů API je podobné sdílení hesel, a proto by nemělo být prováděno, protože to ohrožuje účet uživatele. 

Klíče API jsou často cílem kybernetických útoků, protože je lze použít k provádění kritických operací v systému, jako je vyžadování osobních údajů nebo provádění finančních transakcí. Ve skutečnosti se vyskytly případy útoků prohledávačů a online databází s cílem ukrást klíče API.

Důsledky krádeže klíče API mohou být vážné a vést k významným finančním ztrátám. Kromě toho, protože některé klíče API nevyprší, mohou je útočníci po odcizení používat neomezeně, dokud nejsou klíče samotné odvolány.

Jak správně používat klíče API

Vzhledem k tomu, že poskytuje přístup k citlivým datům, je bezpečné používat klíče API prvořadé. Chcete-li zlepšit celkové zabezpečení, můžete se řídit těmito doporučenými postupy pro používání klíčů API: 

  1. Aktualizujte své API klíče co nejčastěji. To znamená, že byste měli odstranit svůj aktuální klíč API a vytvořit nový. U mnoha systémů je snadné vytvářet a mazat klíče API. Podobně jako některé systémy vyžadují, abyste si heslo měnili každých 30 až 90 dní, měli byste své API klíče střídat pokud možno s podobnou frekvencí.

  2. Použít seznam povolených IP adres: Když vytvoříte klíč API, vytvořte seznam adres IP, které mohou klíč používat (povolený seznam IP adres). Můžete také zadat seznam blokovaných IP adres (IP blacklist). Tímto způsobem, i když je váš klíč API odcizen, nelze k němu získat přístup pomocí nerozpoznané IP.

  3. Používejte více klíčů API: Mít více klíčů a rozdělovat mezi ně odpovědnosti snižuje bezpečnostní rizika, protože vaše zabezpečení nebude záviset na jediném klíči s více oprávněními. Můžete také nastavit různé seznamy povolených IP adres pro každý klíč, což dále snižuje bezpečnostní rizika. 

  4. Bezpečné ukládání klíčů API: Neukládejte klíče na veřejných místech, ve sdílených počítačích ani v jejich původním formátu prostého textu. Místo toho uložte každý z nich se šifrováním nebo tajným správcem pro lepší zabezpečení a dávejte pozor, abyste je nechtěně neodhalili. 

  5. Nesdílejte své klíče API. Sdílení klíčů API je podobné jako sdílení hesla. Tím druhé straně udělujete stejná autentizační a autorizační práva jako vy. Pokud jsou kompromitovány, váš klíč API může být ukraden a použit k prolomení vašeho účtu. Klíč API by měl být používán pouze mezi vámi a systémem, který jej vygeneroval.

Pokud je váš klíč API kompromitován, musíte jej nejprve deaktivovat, abyste předešli dalšímu poškození. Pokud dojde k jakékoli finanční ztrátě, pořiďte snímek obrazovky klíčových informací souvisejících s incidentem, kontaktujte příslušné složky a odešlete oznámení policii. To je nejlepší způsob, jak zvýšit své šance na vrácení ztracených finančních prostředků. 

souhrn

Klíče API poskytují základní autentizační a autorizační funkce a uživatelé musí své klíče pečlivě spravovat a chránit. Existuje mnoho kroků a aspektů k zajištění bezpečného používání API klíčů. Obecně byste měli svůj API klíč považovat za heslo pro svůj účet.

Přečtěte si více:

  • Obecné zásady bezpečnosti

  • 5 běžných podvodů s kryptoměnami a jak se jim vyhnout