🌐 IT

🔑 Generatore di chiavi API

Genera chiavi API casuali sicure. Usale per API REST, token di autenticazione e chiavi segrete.

Formato della chiave API
GUIDA

Scopri di piu

01

1. Importanza della sicurezza delle chiavi API

Le chiavi API sono elementi di sicurezza critici per l'autenticazione delle applicazioni. Le chiavi deboli sono vulnerabili agli attacchi brute force e, se esposte, consentono accessi API non autorizzati. Le chiavi API robuste dovrebbero avere almeno 32 caratteri casuali, usando generatori di numeri pseudo-casuali crittograficamente sicuri (CSPRNG). I formati UUID v4, Base64 e Hex sono ampiamente usati, con ogni chiave unica e imprevedibile. Revoca e sostituisci immediatamente le chiavi esposte e non committarle mai in repository pubblici come GitHub.

02

2. Confronto tra i metodi di generazione delle chiavi

Esistono diversi metodi per generare chiavi API. UUID v4 utilizza 122 bit casuali con una probabilità di collisione estremamente bassa ed è ampiamente adottato. Base64 codifica i dati binari in testo, offrendo circa 192 bit di entropia in 32 caratteri. Hex rappresenta i dati in esadecimale per un'elevata leggibilità, offrendo una sicurezza a 256 bit in 64 caratteri. L'alfanumerico usa solo lettere e numeri per essere sicuro negli URL, e l'aggiunta di prefissi (sk_, api_) rende i tipi di chiave facilmente identificabili. Stripe, AWS e OpenAI usano formati di chiave distinti per differenziare le chiavi specifiche dei rispettivi servizi.

03

3. UUID vs stringhe casuali

UUID v4 è un identificatore standard a 128 bit che garantisce unicità globale. Il formato 8-4-4-4-12 (ad es. 550e8400-e29b-41d4-a716-446655440000) ha una struttura chiara conforme allo standard RFC 4122. Le stringhe casuali personalizzate offrono flessibilità in lunghezza e formato. Mentre gli UUID sono adatti alle chiavi primarie dei database, le stringhe casuali sono più concise e pratiche per le chiavi API. La forza della sicurezza è simile, ma le stringhe casuali consentono di implementare più facilmente la logica di validazione con prefissi e checksum.

04

4. Raccomandazioni per l'archiviazione delle chiavi

Non archiviare mai le chiavi API in testo semplice. Conservale in variabili d'ambiente (.env) e aggiungile a .gitignore per escluderle dal controllo versione. In produzione, usa sistemi dedicati di gestione dei secret come AWS Secrets Manager, HashiCorp Vault o Azure Key Vault. Quando le memorizzi nei database, convertile in hash (SHA-256) e applica la crittografia (AES-256) quando necessario. Evita di hardcodare le chiavi nel codice; utilizza Docker secrets o Kubernetes Secrets. Maschera le chiavi nei log per impedirne l'esposizione e monitora la cronologia di utilizzo delle chiavi.

05

5. Politiche di rotazione delle chiavi

Le chiavi API dovrebbero essere ruotate regolarmente. Ruotarle ogni 90 giorni è una pratica comune; revocale immediatamente se si sospetta un'esposizione. Per una rotazione senza downtime, attiva due chiavi contemporaneamente, passa alla nuova chiave e poi disattiva quella vecchia. AWS IAM e Google Cloud API Keys offrono funzioni di rotazione automatica. Imposta una data di scadenza per ogni chiave per invalidare automaticamente quelle vecchie e registra la cronologia delle rotazioni nei log di audit. Usare l'autenticazione basata su token come OAuth 2.0 o JWT invece delle chiavi API offre una sicurezza migliore con scadenza automatica.

06

6. Limitazione del traffico e restrizioni d'uso

Applica sempre la limitazione del traffico alle chiavi API per prevenire abusi. Imposta limiti come 100 richieste al minuto per IP o 1.000 all'ora per chiave. Implementa quote per il numero massimo di chiamate giornaliere, restituendo 429 Too Many Requests quando vengono superate. Configura whitelist IP per consentire l'uso delle chiavi solo da IP specifici e rileva pattern anomali (richieste massive in poco tempo) per il blocco automatico. Gateway API come Cloudflare, Kong e AWS API Gateway semplificano l'implementazione della limitazione del traffico. Imposta permessi specifici per chiave (ambiti) per limitare l'accesso, ad esempio solo lettura, solo scrittura, ecc.

Domande frequenti

Le chiavi generate vengono inviate a un server?
No. Tutte le chiavi vengono generate solo nel tuo browser e non vengono mai inviate a un server, quindi sono sicure da usare.
Quale formato dovrei scegliere?
UUID v4 è ampiamente usato per la sua bassa probabilità di collisione. Scegli Alfanumerico per la sicurezza negli URL oppure Hex per la leggibilità.