Přeskočit na obsah

Generátor náhodných API klíčů - Bezplatné zabezpečené 32-znakové klíče

Okamžitě generujte kryptograficky bezpečné API klíče. Bezplatný online nástroj vytváří náhodné 32-znakové alfanumerické klíče pro ověřování. Generování na straně klienta, bez ukládání.

Generátor API klíčů

Klíče jsou generovány lokálně ve vašem prohlížeči s Web Crypto API (CSPRNG) pomocí nezaujatého odmítnutého vzorkování. Do serveru se nic neodesílá.
Kalkulačka načítání...
📚

Dokumentace

Generátor náhodných klíčů API je nástroj, který vytváří náhodný řetězec písmen a číslic používaný jako kód podobný heslu mezi dvěma počítačovými programy. Tento generátor běží celý uvnitř webového prohlížeče návštěvníka. Uživatel může zvolit délku klíče od 8 do 128 znaků, přičemž výchozí délka je 32 znaků.

Co je klíč API?

Klíč API je řetězec znaků, který program odesílá spolu s požadavkem, aby prokázal, že smí službu používat. Webový server klíč ověří, než na požadavek odpoví. Na rozdíl od uživatelského jména a hesla klíč API obvykle identifikuje aplikaci nebo skript, nikoli osobu.

Klíče fungují nejlépe, když je nikdo nedokáže uhodnout. Generátor využívající skutečnou náhodnost se vyhýbá vzorům, které se objevují v klíčích zadaných člověkem, například opakovaným znakům nebo krátkým snadno zapamatovatelným slovům.

Jak tento generátor funguje

Nástroj vytváří každý klíč z pevné množiny 62 znaků: 26 velkých písmen A–Z, 26 malých písmen a–z a 10 číslic 0–9. U klíče délky n vybírá z této množiny postupně jeden znak za druhým, celkem n znaků.

Každý znak pochází z rozhraní Web Crypto API prohlížeče, konkrétně z crypto.getRandomValues(). Jde o kryptograficky bezpečný generátor náhodných čísel (CSPRNG), na rozdíl od Math.random() v JavaScriptu, který je předvídatelný a nevhodný pro hodnoty citlivé z hlediska bezpečnosti.

Pro spravedlivý výběr znaku z 62 možností pomocí náhodného bajtu (256 možných hodnot) nemůže generátor jednoduše použít byte % 62. Protože 256 není beze zbytku dělitelné 62, obyčejný modulo výpočet by způsobil, že prvních několik znaků v množině bude o něco pravděpodobnějších než ostatní. Nástroj tomu předchází vzorkováním s odmítnutím: každý náhodný bajt, který by toto zkreslení způsobil, zahodí a místo něj vygeneruje nový. Každý znak ve výsledném klíči má proto na každé pozici stejnou, nezkreslenou pravděpodobnost výskytu.

Jak vygenerovat klíč API

  1. Zadejte délku klíče mezi 8 a 128 znaky, nebo ponechte výchozí hodnotu 32. Číslo mimo tento rozsah bude označeno a místo něj se použije nejbližší povolená délka.
  2. Klikněte na „Generate“. Klíč se zobrazí v textovém poli a celý se vytvoří v prohlížeči. Kliknutím do pole vyberete celý klíč.
  3. Kliknutím na „Copy“ zkopírujete klíč do schránky. Některé prohlížeče při prvním použití požádají o povolení.
  4. Kliknutím na „Regenerate“ vytvoříte nový klíč se stejnou délkou, případně kliknutím na „Reset“ klíč vymažete a vrátíte délku na výchozí hodnotu 32.

Pod klíčem nástroj zobrazuje tři údaje: délku klíče ve znacích, velikost množiny znaků (vždy 62) a entropii v bitech.

Žádný klíč se neodesílá na server, nezaznamenává ani neukládá. Generování probíhá pomocí lokálního kódu JavaScriptu, takže kontrola síťové aktivity prohlížeče během generování neukáže žádné odchozí požadavky.

Jak vypočítat počet možných klíčů

Počet různých klíčů, které lze vytvořit pro danou délku, se řídí jednoduchým vzorcem:

N=cnN = c^{n}

kde N je počet možných klíčů, c velikost znakové sady a n délka klíče.

Velikost množiny znaků je u tohoto nástroje vždy 62. Pro výchozí délku 32:

N = 62³² ≈ 2,27 × 10⁵⁷

Toto číslo se také vyjadřuje jako entropie měřená v bitech pomocí vzorce:

H=n×log⁡2cH = n \times \log_{2} c

kde H je entropie v bitech.

Pro klíč o délce 32 znaků: 32 × log₂(62) ≈ 32 × 5,95 ≈ 190,5 bitu.

Příklad výpočtu: čas potřebný k vyzkoušení každého klíče

Předpokládejme, že útočník dokáže každou sekundu otestovat jednu miliardu (10⁹) klíčů, což je pro jakýkoli skutečný systém nerealisticky vysoká rychlost. Vyzkoušení všech možných klíčů o délce 32 znaků by trvalo:

2,27 × 10⁵⁷ ÷ 10⁹ = 2,27 × 10⁴⁸ sekund ≈ 7,2 × 10⁴⁰ let

Pro srovnání, vesmír je starý přibližně 1,4 × 10¹⁰ let. Prohledání všech možných klíčů hrubou silou proto při této délce nepředstavuje praktickou hrozbu. U kratších klíčů se toto číslo rychle zmenšuje: klíč o délce 8 znaků má pouze 62⁸ ≈ 2,18 × 10¹⁴ možných hodnot, které by rychlý počítač dokázal prohledat během několika dnů.

Proč aplikace používají klíče API

Klíče API poskytují službě jednoduchý způsob, jak zjistit, která aplikace odesílá požadavek. To je důležité z několika důvodů.

Ověřování. Server může odmítnout požadavky, které přicházejí bez platného klíče, a zablokovat tak většinu náhodného zneužití.

Sledování využití. Protože každý klient může mít jiný klíč, služba může měřit, jaké množství prostředků každý klient využívá, a pro jednotlivé klíče uplatňovat samostatné limity četnosti požadavků.

Odvolání. Jeden kompromitovaný klíč lze vypnout, aniž by to ovlivnilo kteréhokoli jiného klienta, protože každý klíč je nezávislý.

Klíče API se implementují snadněji než protokol OAuth ve verzi 2,0, který je autentizačním standardem založeným na dočasných, automaticky obnovovaných tokenech. OAuth se hodí pro veřejně přístupné služby, které zpracovávají osobní údaje uživatelů. Klíče API jsou běžné u interních nástrojů, skriptů a volání mezi službami, kde je dlouhodobě platné pověření přijatelné.

Bezpečnostní postupy pro klíče API

Několik postupů snižuje riziko úniku klíče:

  • Neukládejte klíče do zdrojového kódu. Historii verzovacího systému je obtížné vymazat a veřejná úložiště jsou neustále kontrolována kvůli odhaleným přístupovým údajům. Klíče místo toho ukládejte do proměnných prostředí nebo do správce tajemství.
  • Klíče pravidelně obměňujte. Nahrazení klíče každých několik měsíců omezuje dobu, po kterou může být uniklý klíč pro útočníka použitelný.
  • Udělujte klíči pouze minimální potřebná oprávnění. Klíč, který umožňuje pouze čtení dat, by neměl umožňovat také jejich zápis nebo mazání.
  • Sledujte neobvyklou aktivitu, například náhlý nárůst počtu požadavků z jednoho klíče.

Omezení

Tento nástroj neuchovává záznam vygenerovaných klíčů, takže nemůže zaručit, že určitý klíč nebyl vytvořen již dříve. Pravděpodobnost shody dvou náhodných klíčů dlouhých 32 znaků je přibližně 1 ku (2,5 cm) 2,27 × 10⁵⁷, což je pro běžné použití prakticky nula. Systémy, které vyžadují absolutní záruku jedinečnosti, například primární klíče databáze, by však měly nové hodnoty na serveru porovnávat s těmi již existujícími.

Množina znaků je pevně daná a obsahuje velká písmena, malá písmena a číslice. Neobsahuje symboly jako ! nebo -, díky čemuž lze klíče bez escapování bezpečně vkládat do většiny adres URL, hlaviček a konfiguračních souborů.

Často kladené otázky

Co je generátor klíčů API?

Jde o nástroj, který vytváří náhodné řetězce používané jako ověřovací údaje mezi softwarovými aplikacemi. Tento generátor vytváří klíče o délce 8 až 128 znaků z 62 možných znaků pomocí kryptograficky bezpečného generátoru náhodných čísel v prohlížeči.

Je klíč z tohoto nástroje dostatečně bezpečný pro produkční použití?

Samotná náhodnost je kryptograficky bezpečná. Celková bezpečnost závisí také na tom, jak je klíč následně uložen a přenášen: nikdy jej neukládejte do verzovacího systému, vždy jej odesílejte přes HTTPS a pravidelně jej obměňujte.

Jakou délku bych měl zvolit?

Výchozí délka 32 znaků poskytuje přibližně 2,27 × 10⁵⁷ možných kombinací, což je mnohem více, než by bylo možné prohledat při jakémkoli realistickém útoku hrubou silou. Kratší klíče, například o délce 16 znaků, mohou vyhovovat interním nástrojům s nízkým rizikem. Velmi dlouhé klíče poskytují jen malou dodatečnou ochranu, ale hůře se ukládají a kopírují.

Mohu nastavit vlastní délku?

Ano. Pole pro délku přijímá libovolné celé číslo od 8 do 128. Množina znaků (A–Z, a–z, 0–9) zůstává pevně daná.

Ukládá nebo přenáší nástroj klíče, které vytváří?

Ne. Každý klíč se generuje pomocí lokálního JavaScriptu v prohlížeči. Nic se neodesílá na server, nezaznamenává ani neukládá.

Jaký je rozdíl mezi klíčem API a tokenem OAuth?

Klíč API je dlouhodobě platné pověření, které zůstává platné, dokud jej někdo neodvolá. Token OAuth automaticky vyprší po stanovené době a lze jej obnovit bez přímého zásahu uživatele. OAuth se hodí pro veřejné služby zpracovávající osobní údaje; klíče API pro jednodušší, interní nebo vývojové použití.

Které prohlížeče tento nástroj podporuje?

Nástroj funguje v každém prohlížeči, který poskytuje Web Crypto API, což zahrnuje všechny verze prohlížečů Chrome, Firefox, Safari, Edge a Opera vydané v posledním desetiletí. Pokud toto rozhraní chybí, nástroj zobrazí chybovou zprávu. Nikdy nepoužívá jako záložní řešení Math.random(), které není bezpečné.