Véletlenszerű API Kulcs Generátor - Ingyenes Biztonságos 32 Karakteres Kulcsok
Kriptográfiailag biztonságos API kulcsok azonnali generálása. Ingyenes online eszköz, amely véletlenszerű 32 karakteres alfanumerikus kulcsokat hoz létre hitelesítéshez. Kliensoldali generálás, nincs tárolás.
API Kulcs Generátor
Dokumentáció
A véletlenszerű API-kulcsgenerátor olyan eszköz, amely betűkből és számokból álló véletlen karakterláncot hoz létre, amely két számítógépes program közötti, jelszószerű kódként használható. Ez teljes egészében a látogató webböngészőjében fut. A felhasználó 8 és 128 karakter közötti kulcshosszt választhat, az alapértelmezett érték pedig 32 karakter.
Mi az API-kulcs?
Az API-kulcs olyan karakterlánc, amelyet egy program a kéréssel együtt küld el annak igazolására, hogy jogosult egy szolgáltatás használatára. A webszerver a kérés megválaszolása előtt ellenőrzi a kulcsot. A felhasználónévtől és a jelszótól eltérően az API-kulcs általában nem egy személyt, hanem egy alkalmazást vagy szkriptet azonosít.
A kulcsok akkor működnek a legjobban, ha senki sem tudja kitalálni őket. A valóban véletlenszerűséget használó generátor elkerüli azokat a mintázatokat, amelyek az ember által begépelt kulcsokban jelennek meg, például az ismétlődő karaktereket vagy a rövid, könnyen megjegyezhető szavakat.
Hogyan működik ez a generátor?
Az eszköz minden kulcsot egy rögzített, 62 karakterből álló készletből épít fel: a 26 nagybetűből (A–Z), a 26 kisbetűből (a–z) és a 10 számjegyből (0–9). Az n hosszúságú kulcshoz ebből a készletből egyszerre mindig egy karaktert választ ki, összesen n alkalommal.
Minden karakter a böngésző Web Crypto API-jából származik, konkrétan a crypto.getRandomValues() függvényből. Ez kriptográfiailag biztonságos véletlenszám-generátor (CSPRNG), ellentétben a JavaScript Math.random() függvényével, amely kiszámítható, ezért biztonságérzékeny értékekhez nem alkalmas.
Ahhoz, hogy egy véletlen bájtból (256 lehetséges értékből) méltányosan válasszon egy karaktert a 62 lehetőség közül, a generátor nem használhatja egyszerűen a byte % 62 műveletet. Mivel a 256 nem osztható maradék nélkül 62-vel, az egyszerű modulo-művelet miatt a készlet első néhány karaktere kissé nagyobb eséllyel jelenne meg a többinél. Az eszköz elutasításos mintavételezéssel kerüli el ezt: eldob minden olyan véletlen bájtot, amely ezt az eltérést okozná, és újat sorsol helyette. Így a végső kulcs minden karaktere minden pozícióban azonos, torzítatlan eséllyel jelenik meg.
API-kulcs generálása
- Adjon meg 8 és 128 karakter közötti kulcshosszt, vagy hagyja meg az alapértelmezett 32 értéket. A tartományon kívüli számot a rendszer hibásként jelöli, és helyette a legközelebbi engedélyezett hosszt használja.
- Kattintson a „Generálás” gombra. A kulcs egy teljes egészében a böngészőben létrehozott szövegmezőben jelenik meg. A mezőre kattintva a teljes kulcs kijelölhető.
- A kulcs vágólapra másolásához kattintson a „Másolás” gombra. Egyes böngészők az első alkalommal engedélyt kérnek.
- Új, azonos hosszúságú kulcs létrehozásához kattintson az „Újragenerálás” gombra, a kulcs törléséhez és az alapértelmezett, 32 karakteres hossz visszaállításához pedig a „Visszaállítás” gombra.
A kulcs alatt az eszköz három adatot jelenít meg: a kulcs hosszát karakterben, a karakterkészlet méretét (mindig 62) és az entrópiát bitben.
Egyetlen kulcsot sem küld el, naplóz vagy tárol szerveren. A generálás helyi JavaScript-kóddal történik, ezért a böngésző hálózati tevékenységének ellenőrzése a generálás közben nem mutat kimenő kéréseket.
A lehetséges kulcsok számának kiszámítása
Az adott hosszúsággal létrehozható különböző kulcsok száma egyszerű képlettel adható meg:
ahol N a lehetséges kulcsok száma, c a karakterkészlet mérete, n pedig a kulcs hossza.
Ennél az eszköznél a karakterkészlet mérete mindig 62. Az alapértelmezett, 32 karakteres hossz esetén:
N = 62³² ≈ 2,27 × 10⁵⁷
Ez a szám entrópiaként is kifejezhető, bitben mérve, a következő képlettel:
ahol H az entrópia bitekben.
Egy 32 karakteres kulcs esetén: 32 × log₂(62) ≈ 32 × 5,95 ≈ 190,5 bit.
mennyi idő minden kulcs kipróbálása?
Tegyük fel, hogy egy támadó másodpercenként egymilliárd (10⁹) kulcsot tud ellenőrizni, ami minden valódi rendszer esetében irreálisan gyors ütem. Az összes lehetséges 32 karakteres kulcs kipróbálása ennyi időt venne igénybe:
2,27 × 10⁵⁷ ÷ 10⁹ = 2,27 × 10⁴⁸ másodperc ≈ 7,2 × 10⁴⁰ év
Összehasonlításképpen: a világegyetem körülbelül 1,4 × 10¹⁰ éves. Ilyen hosszúság mellett az összes lehetséges kulcs végigpróbálása nem jelent gyakorlati fenyegetést. A rövidebb kulcsoknál ez a szám gyorsan csökken: egy 8 karakteres kulcsnak csak 62⁸ ≈ 2,18 × 10¹⁴ lehetséges értéke van, amelyet egy gyors számítógép néhány nap alatt végigkereshet.
Miért használnak az alkalmazások API-kulcsokat?
Az API-kulcsok egyszerű módot adnak egy szolgáltatásnak annak megállapítására, hogy melyik alkalmazás küldte a kérést. Ennek több okból is jelentősége van.
Hitelesítés. A szerver elutasíthatja az érvényes kulcs nélkül érkező kéréseket, így megakadályozhatja a legtöbb alkalmi visszaélést.
Használat nyomon követése. Mivel minden kliens különböző kulcsot birtokolhat, a szolgáltatás mérheti, hogy az egyes kliensek mennyit használnak belőle, és kulcsonként külön sebességkorlátokat alkalmazhat.
Visszavonás. Egyetlen feltört kulcs kikapcsolható anélkül, hogy ez bármely másik klienst érintené, mivel a kulcsok egymástól függetlenek.
Az API-kulcsokat egyszerűbb megvalósítani, mint az OAuth 2,0 protokollt, amely ideiglenes, automatikusan megújuló tokenekre épülő hitelesítési szabvány. Az OAuth a személyes felhasználói adatokat kezelő, nyilvánosan elérhető szolgáltatásokhoz illik. Az API-kulcsok belső eszközöknél, szkripteknél és szolgáltatások közötti hívásoknál gyakoriak, ahol elfogadható a hosszú ideig érvényes hitelesítő adat.
Biztonsági gyakorlatok API-kulcsokhoz
Néhány gyakorlat csökkenti a kiszivárgott kulcsok kockázatát:
- Ne tároljon kulcsokat a forráskódban. A verziókezelési előzményeket nehéz törölni, a nyilvános tárhelyeket pedig folyamatosan vizsgálják kiszivárgott hitelesítő adatok után. Tárolja inkább a kulcsokat környezeti változókban vagy titokkezelőben.
- Rendszeresen cserélje a kulcsokat. Ha néhány havonta lecserél egy kulcsot, korlátozza azt az időt, ameddig a kiszivárgott kulcs használható a támadó számára.
- Csak a szükséges minimális hozzáférést adja meg. Egy kizárólag adatolvasásra használható kulccsal ne lehessen adatot írni vagy törölni is.
- Figyelje a szokatlan tevékenységet, például ha egy kulcsról hirtelen megugrik a kérések száma.
Korlátok
Ez az eszköz nem őrzi meg az általa létrehozott kulcsok nyilvántartását, ezért nem tudja garantálni, hogy egy kulcsot korábban még soha nem hoztak létre. Annak esélye, hogy két véletlenszerű, 32 karakteres kulcs megegyezik, körülbelül 1 a 2,27 × 10⁵⁷-hez, ami a szokásos használat szempontjából gyakorlatilag nulla, de az abszolút egyediségi garanciát igénylő rendszereknek, például az adatbázisok elsődleges kulcsainak, ellenőrizniük kell az új értékeket egy szerveren a meglévőkkel szemben.
A karakterkészlet rögzített: nagybetűkből, kisbetűkből és számjegyekből áll. Nem tartalmaz olyan szimbólumokat, mint a ! vagy a -, így a kulcsok a legtöbb URL-be, fejlécbe és konfigurációs fájlba escape-elés nélkül beilleszthetők.
Gyakran ismételt kérdések
Mi az API-kulcsgenerátor?
Olyan eszköz, amely szoftveralkalmazások közötti hitelesítő adatként használható véletlen karakterláncokat hoz létre. Ez 8 és 128 karakter közötti kulcsokat készít, 62 lehetséges karakterből, a böngésző kriptográfiailag biztonságos véletlenszám-generátorát használva.
Elég biztonságos a gyártási környezetben való használathoz az ebből az eszközből származó kulcs?
Maga a véletlenszerűség kriptográfiailag biztonságos. Az általános biztonság attól is függ, hogyan tárolják és továbbítják később a kulcsot: soha ne rögzítse azt verziókezelő rendszerben, mindig HTTPS-en keresztül küldje, és rendszeresen cserélje.
Milyen hosszúságot válasszak?
Az alapértelmezett 32 karakter körülbelül 2,27 × 10⁵⁷ lehetséges kombinációt ad, ami jóval több annál, amennyit egy reális, teljes körű próbálkozással végig lehetne keresni. A rövidebb, például 16 karakteres kulcsok megfelelhetnek az alacsony kockázatú belső eszközökhöz. A nagyon hosszú kulcsok kevés további védelmet nyújtanak, viszont nehezebb őket tárolni és beilleszteni.
Beállíthatok egyéni hosszt?
Igen. A hosszúságmező 8 és 128 közötti bármely egész számot elfogad. Maga a karakterkészlet (A–Z, a–z, 0–9) változatlan marad.
Tárolja vagy továbbítja az eszköz az általa létrehozott kulcsokat?
Nem. Minden kulcs helyi JavaScript-kóddal jön létre a böngészőben. Semmit sem küldünk szerverre, nem naplózunk és nem mentünk.
Mi a különbség az API-kulcs és az OAuth-token között?
Az API-kulcs hosszú ideig érvényes hitelesítő adat, amely mindaddig érvényes marad, amíg valaki vissza nem vonja. Az OAuth-token egy meghatározott idő elteltével automatikusan lejár, és közvetlen felhasználói közreműködés nélkül megújítható. Az OAuth személyes adatokat kezelő nyilvános szolgáltatásokhoz illik; az API-kulcsok egyszerűbb, belső vagy fejlesztési célokra alkalmasak.
Mely böngészőket támogatja ez az eszköz?
Minden olyan böngészőt, amely biztosítja a Web Crypto API-t; ez magában foglalja a Chrome, a Firefox, a Safari, az Edge és az Opera elmúlt évtizedben kiadott valamennyi verzióját. Ha ez az API hiányzik, az eszköz hibaüzenetet jelenít meg. Soha nem tér vissza a nem biztonságos Math.random() használatára.