Una chiave API (Application Programming Interface) è un codice univoco utilizzato da un'API per identificare un'applicazione o un utente. Le chiavi API vengono utilizzate per tracciare e controllare chi utilizza l'API e come, nonché per autenticare e autorizzare le applicazioni in modo simile alle password e agli accessi. Una chiave API può essere una chiave singola o un insieme di più chiavi. Gli utenti dovrebbero prestare attenzione alla propria sicurezza per proteggersi dal furto e dalla fuga di dati.
API e chiave API
Per capire cos'è una chiave API, devi prima guardare l'API stessa. Un'interfaccia di programmazione dell'applicazione, o API, è un intermediario software che consente lo scambio di informazioni tra due o più applicazioni. Ad esempio, l'API CoinMarketCap consente ad altre applicazioni di recuperare e utilizzare dati sulla criptovaluta come prezzo, volume e capitalizzazione di mercato.
Una chiave API può essere una chiave singola o un insieme di più chiavi. Vari sistemi utilizzano queste chiavi per autenticare e autorizzare le applicazioni, proprio come gli accessi e le password. La chiave API viene utilizzata dal client API per autenticare l'applicazione che chiama l'API.
Ad esempio, se Binance Academy desidera utilizzare l'API CoinMarketCap, CoinMarketCap genererà una chiave API e la utilizzerà per autenticare Binance Academy (client API) che richiede l'accesso all'API. Quando Binance Academy accede all'API CoinMarketCap, la chiave API viene inviata a CoinMarketCap insieme alla richiesta.
In questo esempio, solo Binance Academy può utilizzare la chiave API senza condividerla con terze parti. La condivisione di questa chiave API consentirà a una terza parte di accedere a CoinMarketCap ed eseguire azioni per conto di Binance Academy.
Inoltre, l'API CoinMarketCap può utilizzare la chiave API per verificare che l'applicazione sia autorizzata ad accedere alla risorsa richiesta. I proprietari dell'API possono anche utilizzare le chiavi API per monitorare l'attività dell'API, inclusi tipi di richieste, traffico e volume.
Cos'è una chiave API
La chiave API viene utilizzata per controllare e tenere traccia di chi utilizza l'API e in che modo. Il termine stesso “chiave API” può avere diversi significati. Alcuni sistemi hanno un solo codice, mentre altri hanno più codici per una singola chiave API.
In altre parole, una chiave API è un codice univoco o un insieme di codici univoci utilizzati da un'API per autenticare e autorizzare l'utente o l'applicazione chiamante. Alcuni codici vengono utilizzati per l'autenticazione, mentre altri vengono utilizzati per creare firme crittografiche che confermano la legittimità della richiesta.
Questi codici di autenticazione sono chiamati "chiave API", mentre i codici per la creazione di firme crittografiche hanno nomi diversi come "chiave segreta", "chiave pubblica" o "chiave privata". L'autenticazione implica l'identificazione delle entità coinvolte e la conferma dell'identità.
L'autorizzazione, a sua volta, determina i servizi API a cui è consentito l'accesso. Una chiave API funziona in modo simile al login e alla password di un account e può anche essere collegata ad altre funzionalità di sicurezza per migliorare la sicurezza generale.
Il proprietario dell'API genera ciascuna chiave API specificamente per un'entità specifica (ne parleremo più avanti) e ogni volta che viene chiamato un endpoint API che richiede l'autenticazione e/o l'autorizzazione dell'utente, viene utilizzata la chiave corrispondente.
Firme crittografiche
Alcune chiavi API utilizzano firme crittografiche come ulteriore livello di verifica. Quando un utente desidera passare determinati dati all'API, è possibile aggiungere alla richiesta una firma digitale generata da una chiave diversa. Utilizzando la crittografia, il proprietario dell'API sarà in grado di verificare che la firma digitale corrisponda ai dati inviati.
Firme simmetriche e asimmetriche
Le seguenti categorie di chiavi crittografiche vengono utilizzate per firmare i dati inviati tramite l'API:
Chiavi simmetriche
Implicano l'uso di una chiave segreta per firmare i dati e verificare la firma. Quando si utilizzano chiavi simmetriche, il proprietario dell'API genera una chiave API e una chiave segreta, che viene utilizzata per la verifica della firma da parte dei servizi API. Il vantaggio principale dell’utilizzo di un’unica chiave è che accelera il processo di generazione e verifica della firma e richiede meno potenza di calcolo. Un esempio di una buona chiave simmetrica è HMAC.
Tasti asimmetrici
Prevedono l'utilizzo di due chiavi: privata e pubblica, diverse tra loro, ma dotate di connessione crittografica. La chiave privata viene utilizzata per generare la firma e la chiave pubblica viene utilizzata per verificarla. Il proprietario dell'API genera la chiave API e l'utente genera le chiavi privata e pubblica. Per verificare la firma, il proprietario dell'API utilizza solo la chiave pubblica, mentre la chiave privata viene mantenuta segreta.
Il vantaggio principale dell'utilizzo di chiavi asimmetriche è una maggiore sicurezza separando le attività di generazione della firma e di verifica della firma. Ciò consente ai sistemi esterni di verificare le firme senza essere in grado di generarle. Inoltre, alcuni sistemi di crittografia asimmetrica supportano l'aggiunta di una password alle chiavi private. Un esempio è una coppia di chiavi RSA.
Sicurezza della chiave API
La sicurezza della chiave API è responsabilità dell'utente. Le chiavi API fungono da password e richiedono la stessa attenzione. Non dovresti condividere la tua chiave API con terze parti, poiché sarebbe simile alla condivisione della tua password e potrebbe mettere a rischio il tuo account.
Le chiavi API sono spesso bersaglio di attacchi informatici perché possono essere utilizzate per eseguire operazioni di sistema sensibili, come la richiesta di informazioni personali o l'esecuzione di transazioni finanziarie. Si sono già verificati casi in cui gli aggressori hanno attaccato database online con codici e rubato chiavi API.
Il furto delle chiavi API può portare a conseguenze negative e perdite finanziarie significative. Inoltre, alcune chiavi API non scadono, quindi gli aggressori possono utilizzarle prima che le chiavi vengano disabilitate.
Suggerimenti per l'utilizzo sicuro delle chiavi API
Le chiavi API forniscono l'accesso a dati sensibili, quindi è fondamentale utilizzarle in modo sicuro. Segui queste linee guida per un utilizzo sicuro delle chiavi API:
Prova a modificare periodicamente le chiavi API. Per modificare la chiave, è necessario eliminare la chiave API corrente e crearne una nuova. Quando si utilizzano più sistemi, eliminare e generare chiavi API non è difficile. Proprio come alcuni sistemi richiedono la modifica della password ogni 30-90 giorni, i proprietari delle chiavi dovrebbero modificare le chiavi API con la stessa frequenza, se possibile.
Crea una lista bianca di indirizzi IP. Quando crei una nuova chiave API, crea un elenco di indirizzi IP a cui sarà consentito utilizzare questa chiave (whitelist IP). Inoltre è possibile anche specificare un elenco di indirizzi IP bloccati (lista nera IP). Quindi, se la chiave viene rubata, l'indirizzo IP non riconosciuto non sarà in grado di utilizzarla.
Utilizza più chiavi API. Avere più chiavi e distribuire le attività tra di loro riduce i rischi, poiché la sicurezza dell'account non dipenderà da una chiave utilizzata per tutte le attività contemporaneamente. Inoltre per ogni chiave è possibile creare diverse white list di indirizzi IP, aumentando così notevolmente il livello di sicurezza.
Assicurati che le chiavi API siano archiviate in modo sicuro. Non conservare le chiavi in luoghi pubblici, su computer pubblici o in formato testo normale. Per aumentare la sicurezza di ogni chiave, utilizza la crittografia o un servizio di gestione dei dati riservati e fai attenzione a non rivelarli accidentalmente.
Non condividere le tue chiavi API con nessuno. Fornire a qualcuno una chiave API equivale a fornirgli una password. In questo caso, la terza parte riceve le tue stesse funzionalità di autenticazione e autorizzazione. In caso di perdita di dati, la chiave API potrebbe essere rubata e utilizzata per hackerare il tuo account. La chiave API dovrebbe essere utilizzata solo da te e dal sistema che la genera.
Se la tua chiave API cade nelle mani di terze parti, assicurati di disabilitarla per evitare ulteriori danni. In caso di perdita finanziaria, acquisisci screenshot delle informazioni chiave sull'incidente e contatta le organizzazioni competenti, oltre a presentare una denuncia alla polizia. In questo modo puoi aumentare le tue possibilità di recuperare i fondi persi.
Insomma
Le chiavi API forniscono funzioni di autenticazione e autorizzazione, quindi gli utenti dovrebbero archiviarle in modo sicuro e utilizzarle con cautela. Esistono molti livelli e modi per proteggere le chiavi API. La chiave API deve essere trattata allo stesso modo della password del tuo account.
Lettura consigliata
Principi generali di sicurezza
5 tipi comuni di truffe di criptovaluta e come evitarli



