TL;DR

Klíč aplikačního programovacího rozhraní (API) je jedinečný kód používaný rozhraním API k identifikaci volající aplikace nebo uživatele. 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 se měli řídit osvědčenými postupy, aby zlepšili své celkové zabezpečení proti krádeži klíče API a vyhnuli se souvisejícím důsledkům kompromitace jejich klíčů API.

API vs API Key

Abyste pochopili, co je API klíč, musíte nejprve pochopit, co je API. Aplikační programovací rozhraní neboli API je softwarový prostředník, 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 kryptodata, 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 více klíčů. Různé systémy používají tyto klíče k ověření a autorizaci aplikace, podobně jako se používá uživatelské jméno a heslo. API klíč používá klient API k ověření aplikace volající rozhraní 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 (klient API), který požaduje přístup k API. Když Binance Academy přistupuje k rozhraní API CoinMarketCap, měl by být tento klíč API odeslán do CoinMarketCap spolu s požadavkem.

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

Klíč API může také použít 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 jsou typy, provoz a objem požadavků.

Co je API klíč?

Klíč API se používá 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“.

Jako takový je „klíč API“ 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í pro vytváření kryptografických podpisů k prokázání oprávněnosti požadavku.

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

Autorizace na druhé straně specifikuje 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 pro konkrétní entitu vlastníkem rozhraní API (další podrobnosti níže) a pokaždé, když je uskutečněno volání do koncového bodu rozhraní API – což vyžaduje ověření uživatele nebo autorizaci, nebo obojí – použije se příslušný klíč.

Kryptografické podpisy

Některé klíče API používají kryptografické podpisy jako další vrstvu ověření. 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 mohou být podepsána kryptografickými klíči, které spadají do následujících kategorií:

Symetrické klávesy

Ty zahrnují použití jednoho tajného klíče k provedení 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 stejný tajný klíč musí být použit službou API pro ověření podpisu. 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

Ty 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á pro generování podpisu a veřejný klíč se používá pro ověřování podpisu. Klíč API generuje vlastník rozhraní API, ale pár soukromý klíč a veřejný klíč generuje uživatel. Vlastník API musí pro ověření podpisu použít pouze veřejný klíč, takže soukromý klíč může zůstat místní a tajný.

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

Jsou klíče API bezpečné?

Odpovědnost za API klíč spočívá na uživateli. Klíče API jsou podobné heslům a je třeba s nimi zacházet stejně opatrně. Sdílení klíče API je podobné sdílení hesla a jako takové by se nemělo provádět, protože by to ohrozilo účet uživatele.

Klíče API jsou běžně cílem kybernetických útoků, protože je lze použít k provádění výkonných operací v systémech, jako je vyžadování osobních údajů nebo provádění finančních transakcí. Ve skutečnosti se vyskytly případy, kdy prohledávače úspěšně napadly online databáze kódů, aby ukradly klíče API.

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

Doporučené postupy při používání klíčů API

Vzhledem k jejich přístupu k citlivým datům a jejich obecné zranitelnosti má bezpečné používání klíčů API prvořadý význam. Při používání klíčů API ke zlepšení jejich celkového zabezpečení můžete postupovat podle těchto doporučených postupů:

  1. Pokud je to možné, střídejte klíče API často. To znamená, že byste měli smazat svůj aktuální klíč API a vytvořit nový. S více systémy je snadné generovat 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 oprávněných používat klíč (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, stále k němu nelze získat přístup pomocí nerozpoznané IP.

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

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

  5. Nesdílejte své klíče API. Sdílení klíče API je podobné jako sdílení hesla. Tím dáváte druhé straně stejná oprávnění pro ověřování a autorizaci jako vy. Pokud jsou kompromitovány, váš klíč API může být ukraden a použit k nabourání do vašeho účtu. Klíč API by měl být používán pouze mezi vámi a systémem, který jej generuje.

Pokud je váš klíč API kompromitován, musíte jej nejprve deaktivovat, abyste zabránili dalšímu poškození. Pokud dojde k jakékoli finanční ztrátě, pořiďte snímky obrazovky klíčových informací souvisejících s incidentem, kontaktujte související subjekty a podejte oznámení na policii. To je nejlepší způsob, jak zvýšit své šance na opětovné získání ztracených finančních prostředků.

Závěrečné myšlenky

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 vrstev a aspektů pro zajištění bezpečného používání klíčů API. Celkově by se s klíčem API mělo zacházet jako s heslem k vašemu účtu.

Další čtení

  • Obecné zásady bezpečnosti

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