Pāriet uz saturu

Nejaušu API atslēgu ģenerators - Bezmaksas Drošas 32 Rakstzīmju Atslēgas

Momentāli ģenerējiet kriptogrāfiski drošas API atslēgas. Bezmaksas tiešsaistes rīks izveido nejaušas 32 rakstzīmju alfanumeriskas atslēgas autentifikācijai. Klienta puses ģenerēšana, bez saglabāšanas.

API atslēgu ģenerators

Atslēgas tiek ģenerētas lokāli jūsu pārlūkā, izmantojot Web Crypto API (CSPRNG), izmantojot neobjektīvu atteices paraugu. Uz nevienu serveri neko nesūta.
Ielādes kalkulators...
📚

Dokumentācija

Nejaušs API atslēgu ģenerators ir rīks, kas izveido nejaušu burtu un ciparu virkni, ko starp divām datorprogrammām izmantot kā paroli atgādinošu kodu. Šis ģenerators darbojas pilnībā apmeklētāja tīmekļa pārlūkprogrammā. Lietotājs var izvēlēties atslēgas garumu no 8 līdz 128 rakstzīmēm, un pēc noklusējuma tiek iestatītas 32 rakstzīmes.

Kas ir API atslēga?

API atslēga ir rakstzīmju virkne, ko programma nosūta kopā ar pieprasījumu, lai pierādītu, ka tai ir atļauts izmantot pakalpojumu. Tīmekļa serveris pārbauda atslēgu, pirms atbild uz pieprasījumu. Atšķirībā no lietotājvārda un paroles API atslēga parasti identificē lietotni vai skriptu, nevis personu.

Atslēgas vislabāk darbojas tad, ja neviens tās nevar uzminēt. Ģenerators, kas izmanto patiesi nejaušas vērtības, novērš modeļus, kas parādās cilvēka ievadītās atslēgās, piemēram, atkārtotas rakstzīmes vai īsus, viegli iegaumējamus vārdus.

Kā darbojas šis ģenerators

Ģenerators veido katru atslēgu no fiksētas kopas, kurā ir 62 rakstzīmes: 26 lielie burti A–Z, 26 mazie burti a–z un 10 cipari 0–9. Atslēgai ar garumu n tas no šīs kopas pa vienai izvēlas n rakstzīmes.

Katra rakstzīme tiek iegūta no pārlūkprogrammas Web Crypto API, konkrēti crypto.getRandomValues(). Tas ir kriptogrāfiski drošs nejaušo skaitļu ģenerators (CSPRNG), atšķirībā no JavaScript funkcijas Math.random(), kuras rezultāti ir paredzami un nav piemēroti drošībai svarīgām vērtībām.

Lai no nejauša baita (256 iespējamām vērtībām) godīgi izvēlētos rakstzīmi no 62 iespējām, ģenerators nevar vienkārši izmantot byte % 62. Tā kā 256 nedalās vienmērīgi ar 62, parasta atlikuma operācija padarītu kopas pirmās rakstzīmes nedaudz ticamākas par pārējām. Rīks no tā izvairās, izmantojot noraidīšanas iztveršanu: tas atmet katru nejaušo baitu, kas radītu šo nobīdi, un tā vietā iegūst jaunu. Tādējādi katrai galīgās atslēgas rakstzīmei katrā pozīcijā ir vienāda, neizkropļota parādīšanās iespēja.

Kā ģenerēt API atslēgu

  1. Ievadiet atslēgas garumu no 8 līdz 128 rakstzīmēm vai atstājiet noklusējuma vērtību 32. Ja skaitlis ir ārpus šī diapazona, tas tiek atzīmēts un tā vietā tiek izmantots tuvākais pieļaujamais garums.
  2. Noklikšķiniet uz “Generate”. Atslēga tiek parādīta teksta laukā, kas izveidots pilnībā pārlūkprogrammā. Noklikšķinot laukā, tiek atlasīta visa atslēga.
  3. Noklikšķiniet uz “Copy”, lai kopētu atslēgu starpliktuvē. Dažas pārlūkprogrammas pirmajā reizē pieprasa atļauju.
  4. Noklikšķiniet uz “Regenerate”, lai izveidotu jaunu tāda paša garuma atslēgu, vai uz “Reset”, lai notīrītu atslēgu un atjaunotu noklusējuma garumu 32.

Zem atslēgas rīks parāda trīs rādītājus: atslēgas garumu rakstzīmēs, rakstzīmju kopas lielumu (vienmēr 62) un entropiju bitos.

Neviena atslēga netiek nosūtīta uz serveri, reģistrēta vai saglabāta. Ģenerēšana notiek ar lokālu JavaScript kodu, tāpēc pārlūkprogrammas tīkla darbības pārbaude ģenerēšanas laikā neuzrāda izejošus pieprasījumus.

Kā aprēķināt iespējamo atslēgu skaitu

Dažādo atslēgu skaitu, ko var izveidot ar noteiktu garumu, nosaka vienkārša formula:

N=cnN = c^{n}

kur N ir iespējamo atslēgu skaits, c ir rakstzīmju kopas lielums un n ir atslēgas garums.

Šim rīkam rakstzīmju kopas lielums vienmēr ir 62. Noklusējuma garumam 32:

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

Šo skaitli izsaka arī kā entropiju, ko mēra bitos, izmantojot formulu:

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

kur H ir entropija bitos.

32 rakstzīmju atslēgai: 32 × log₂(62) ≈ 32 × 5,95 ≈ 190,5 biti.

Aprēķina piemērs: laiks visu atslēgu izmēģināšanai

Pieņemsim, ka uzbrucējs var pārbaudīt vienu miljardu (10⁹) atslēgu sekundē — jebkurai reālai sistēmai tas ir nereāli liels ātrums. Visu iespējamo 32 rakstzīmju atslēgu izmēģināšana aizņemtu:

2,27 × 10⁵⁷ ÷ 10⁹ = 2,27 × 10⁴⁸ sekundes ≈ 7,2 × 10⁴⁰ gadi

Salīdzinājumam, Visums ir aptuveni 1,4 × 10¹⁰ gadu vecs. Brute-force meklēšana caur visām iespējamām atslēgām šādam garumam nav praktisks apdraudējums. Īsākas atslēgas šo skaitli strauji samazina: 8 rakstzīmju atslēgai ir tikai 62⁸ ≈ 2,18 × 10¹⁴ iespējamās vērtības, un ātrs dators tās varētu pārbaudīt dažu dienu laikā.

Kāpēc lietotnes izmanto API atslēgas

API atslēgas nodrošina pakalpojumam vienkāršu veidu, kā noteikt, kura lietotne veic pieprasījumu. Tam ir vairāki iemesli.

Autentifikācija. Serveris var noraidīt pieprasījumus, kas saņemti bez derīgas atslēgas, tādējādi novēršot lielāko daļu nejaušas ļaunprātīgas izmantošanas.

Lietošanas uzskaite. Tā kā katram klientam var būt cita atslēga, pakalpojums var izmērīt, cik daudz katrs klients to izmanto, un katrai atslēgai piemērot atsevišķus ātruma ierobežojumus.

Atsaukšana. Vienu apdraudētu atslēgu var deaktivizēt, neietekmējot nevienu citu klientu, jo katra atslēga ir neatkarīga.

API atslēgas ir vienkāršāk ieviešamas nekā OAuth versija 2,0 — autentifikācijas standarts, kura pamatā ir īslaicīgi, automātiski atjaunojami marķieri. OAuth ir piemērots publiski pieejamiem pakalpojumiem, kas apstrādā lietotāju personas datus. API atslēgas bieži izmanto iekšējiem rīkiem, skriptiem un izsaukumiem starp pakalpojumiem, kuros ilgstoši derīgs autentifikācijas līdzeklis ir pieņemams.

API atslēgu drošības prakse

Vairāki pasākumi samazina noplūdušas atslēgas risku:

  • Neglabājiet atslēgas pirmkodā. Versiju kontroles vēsturi ir grūti izdzēst, un publiskie repozitoriji tiek pastāvīgi skenēti, lai atrastu atklātus autentifikācijas datus. Tā vietā glabājiet atslēgas vides mainīgajos vai noslēpumu pārvaldniekā.
  • Regulāri nomainiet atslēgas. Nomainot atslēgu ik pēc dažiem mēnešiem, tiek ierobežots laiks, cik ilgi noplūdusi atslēga ir noderīga uzbrucējam.
  • Piešķiriet atslēgai tikai nepieciešamās minimālās piekļuves tiesības. Atslēgai, ar kuru var tikai nolasīt datus, nevajadzētu ļaut tos arī mainīt vai dzēst.
  • Uzraugiet neparastas darbības, piemēram, pēkšņu pieprasījumu skaita pieaugumu no vienas atslēgas.

Ierobežojumi

Šis rīks nesaglabā ģenerēto atslēgu uzskaiti, tāpēc nevar garantēt, ka atslēga iepriekš nav tikusi izveidota. Divu nejaušu 32 rakstzīmju atslēgu sakritības iespēja ir aptuveni 1 no (2,5 cm) 2,27 × 10⁵⁷, kas parastai lietošanai ir pietiekami tuvu nullei, taču sistēmām, kurām nepieciešama absolūta garantija, ka vērtības neatkārtojas, piemēram, datubāzu primārajām atslēgām, jaunās vērtības serverī jāsalīdzina ar esošajām.

Rakstzīmju kopa ir fiksēta un ietver lielos burtus, mazos burtus un ciparus. Tajā nav tādu simbolu kā ! vai -, tāpēc atslēgas var ielīmēt lielākajā daļā URL, galveņu un konfigurācijas failu, neveicot rakstzīmju ekranēšanu.

Biežāk uzdotie jautājumi

Kas ir API atslēgu ģenerators?

Tas ir rīks, kas izveido nejaušas virknes izmantošanai par autentifikācijas līdzekļiem starp programmatūras lietotnēm. Šis ģenerators izveido atslēgas ar 8 līdz 128 rakstzīmēm no 62 iespējamām rakstzīmēm, izmantojot pārlūkprogrammas kriptogrāfiski drošo nejaušo skaitļu ģeneratoru.

Vai šī rīka ģenerētā atslēga ir pietiekami droša izmantošanai ražošanas vidē?

Pati nejaušība ir kriptogrāfiski droša. Vispārējā drošība ir atkarīga arī no tā, kā atslēga pēc tam tiek glabāta un pārsūtīta: nekad neaugšupielādējiet to versiju kontroles sistēmā, vienmēr nosūtiet to, izmantojot HTTPS, un regulāri nomainiet.

Kādu garumu izvēlēties?

Noklusējuma garums 32 rakstzīmes nodrošina aptuveni 2,27 × 10⁵⁷ iespējamās kombinācijas — daudz vairāk, nekā jebkurš reālistisks brute-force mēģinājums varētu pārbaudīt. Īsākas atslēgas, piemēram, 16 rakstzīmes, var būt piemērotas zema riska iekšējiem rīkiem. Ļoti garas atslēgas sniedz maz papildu aizsardzības, taču tās ir grūtāk glabāt un ielīmēt.

Vai var iestatīt pielāgotu garumu?

Jā. Garuma laukā var ievadīt jebkuru veselu skaitli no 8 līdz 128. Rakstzīmju kopa (A–Z, a–z, 0–9) paliek nemainīga.

Vai rīks glabā vai pārsūta ģenerētās atslēgas?

Nē. Katra atslēga tiek ģenerēta ar lokālu JavaScript kodu pārlūkprogrammā. Nekas netiek nosūtīts uz serveri, reģistrēts vai saglabāts.

Kāda ir atšķirība starp API atslēgu un OAuth marķieri?

API atslēga ir ilgstoši derīgs autentifikācijas līdzeklis, kas paliek derīgs, līdz kāds to atsauc. OAuth marķieris pēc noteikta laika automātiski zaudē derīgumu, un to var atjaunot bez lietotāja tiešas iesaistes. OAuth ir piemērots publiskiem pakalpojumiem, kas apstrādā personas datus, bet API atslēgas — vienkāršākai, iekšējai vai izstrādes lietošanai.

Kuras pārlūkprogrammas atbalsta šo rīku?

Jebkura pārlūkprogramma, kas nodrošina Web Crypto API, tostarp visas pēdējā desmitgadē izlaistās Chrome, Firefox, Safari, Edge un Opera versijas. Ja šī API nav pieejama, rīks parāda kļūdas ziņojumu. Tas nekad nepāriet uz Math.random() izmantošanu, jo tā nav droša.