TL;DR
O cheie de interfață de programare a aplicației (API) este un cod unic utilizat de un API pentru a identifica aplicația sau utilizatorul care apelează. Cheile API sunt folosite pentru a urmări și controla cine folosește un API și cum îl folosește, precum și pentru a autentifica și autoriza aplicațiile - similar cu modul în care funcționează numele de utilizator și parolele. O cheie API poate veni sub forma unei singure chei sau a unui set de chei multiple. Utilizatorii ar trebui să urmeze cele mai bune practici pentru a-și îmbunătăți securitatea generală împotriva furtului de chei API și pentru a evita consecințele legate de compromiterea cheilor lor API.
API vs API Key
Pentru a înțelege ce este o cheie API, trebuie mai întâi să înțelegeți ce este o cheie API. O interfață de programare a aplicațiilor sau API este un intermediar software care permite două sau mai multe aplicații să partajeze informații. De exemplu, API-ul CoinMarketCap permite altor aplicații să preia și să utilizeze date cripto, cum ar fi prețul, volumul și capitalizarea pieței.
O cheie API vine în multe forme diferite - poate fi o singură cheie sau un set de chei multiple. Diferite sisteme folosesc aceste chei pentru a autentifica și autoriza o aplicație, similar modului în care sunt utilizate un nume de utilizator și o parolă. O cheie API este utilizată de un client API pentru a autentifica o aplicație care apelează API-ul.
De exemplu, dacă Binance Academy dorește să folosească API-ul CoinMarketCap, o cheie API va fi generată de CoinMarketCap și folosită pentru a autentifica identitatea Binance Academy (clientul API), care solicită acces API. Când Academia Binance accesează API-ul CoinMarketCap, această cheie API ar trebui trimisă la CoinMarketCap împreună cu solicitarea.
Această cheie API ar trebui utilizată numai de Academia Binance și nu ar trebui să fie partajată sau trimisă altora. Partajarea acestei chei API va permite unei terțe părți să acceseze CoinMarketCap ca Academia Binance, iar orice acțiuni ale terței părți vor apărea ca și cum ar provine de la Academia Binance.
Cheia API poate fi folosită și de API-ul CoinMarketCap pentru a confirma dacă aplicația este autorizată să acceseze resursa solicitată. În plus, proprietarii API folosesc chei API pentru a monitoriza activitatea API, cum ar fi tipurile, traficul și volumul solicitărilor.
Ce este o cheie API?
O cheie API este utilizată pentru a controla și urmări cine folosește un API și cum îl utilizează. Termenul „cheie API” poate însemna lucruri diferite pentru sisteme diferite. Unele sisteme au un singur cod, dar altele pot avea mai multe coduri pentru o singură „cheie API”.
Ca atare, o „cheie API” este un cod unic sau un set de coduri unice utilizate de un API pentru a autentifica și autoriza utilizatorul sau aplicația care apelează. Unele coduri sunt folosite pentru autentificare, iar altele sunt folosite pentru crearea de semnături criptografice pentru a dovedi legitimitatea unei cereri.
Aceste coduri de autentificare sunt denumite în mod obișnuit „cheie API”, în timp ce codurile utilizate pentru semnăturile criptografice poartă diverse nume, cum ar fi „cheie secretă”, „cheie publică” sau „cheie privată”. Autentificarea presupune identificarea entităților implicate și confirmarea că acestea sunt cine spun că sunt.
Autorizarea, pe de altă parte, specifică serviciile API la care este permis accesul. Funcția unei chei API este similară cu cea a numelui de utilizator și a parolei unui cont; poate fi, de asemenea, conectat la alte caracteristici de securitate pentru a îmbunătăți securitatea generală.
Fiecare cheie API este de obicei generată pentru o anumită entitate de către proprietarul API (mai multe detalii mai jos) și de fiecare dată când se efectuează un apel către un punct final API - care necesită autentificarea sau autorizarea utilizatorului, sau ambele - se folosește cheia relevantă.
Semnături criptografice
Unele chei API folosesc semnături criptografice ca un strat suplimentar de verificare. Când un utilizator dorește să trimită anumite date către un API, la cerere poate fi adăugată o semnătură digitală generată de o altă cheie. Utilizând criptografia, proprietarul API-ului poate verifica dacă această semnătură digitală se potrivește cu datele trimise.
Semnături simetrice și asimetrice
Datele partajate printr-un API pot fi semnate prin chei criptografice, care se încadrează în următoarele categorii:
Taste simetrice
Acestea implică utilizarea unei chei secrete pentru a efectua atât semnarea datelor, cât și verificarea unei semnături. În cazul cheilor simetrice, cheia API și cheia secretă sunt de obicei generate de proprietarul API și aceeași cheie secretă trebuie utilizată de serviciul API pentru verificarea semnăturii. Principalul avantaj al utilizării unei chei singulare este că acest lucru este mai rapid și necesită mai puțină putere de calcul pentru generarea și verificarea semnăturilor. Un bun exemplu de cheie simetrică este HMAC.
Chei asimetrice
Acestea implică utilizarea a două chei: o cheie privată și o cheie publică, care sunt diferite, dar legate criptografic. Cheia privată este folosită pentru generarea semnăturii, iar cheia publică este folosită pentru verificarea semnăturii. Cheia API este generată de proprietarul API, dar cheia privată și perechea cheie publică este generată de utilizator. Doar cheia publică trebuie utilizată de proprietarul API-ului pentru verificarea semnăturii, astfel încât cheia privată poate rămâne locală și secretă.
Principalul avantaj al utilizării cheilor asimetrice este securitatea mai mare a separării cheilor de verificare și generare a semnăturii. Acest lucru permite sistemelor externe să verifice semnăturile fără a putea genera semnături. Un alt avantaj este că unele sisteme de criptare asimetrică acceptă adăugarea unei parole la cheile private. Un bun exemplu este o pereche de chei RSA.
Cheile API sunt sigure?
Responsabilitatea unei chei API revine utilizatorului. Cheile API sunt similare cu parolele și trebuie tratate cu aceeași grijă. Partajarea unei chei API este similară cu partajarea unei parole și, ca atare, nu ar trebui făcută, deoarece acest lucru ar pune în pericol contul utilizatorului.
Cheile API sunt de obicei vizate în atacurile cibernetice, deoarece pot fi folosite pentru a efectua operațiuni puternice pe sisteme, cum ar fi solicitarea de informații personale sau executarea de tranzacții financiare. De fapt, au existat cazuri de crawlere care au atacat cu succes bazele de date cu coduri online pentru a fura chei API.
Consecințele furtului cheilor API pot fi drastice și pot duce la pierderi financiare semnificative. În plus, deoarece unele chei API nu expiră, ele pot fi folosite pe termen nelimitat de către atacatori odată furate, până când cheile în sine sunt revocate.
Cele mai bune practici la utilizarea cheilor API
Din cauza accesului lor la date sensibile și a vulnerabilității lor generale, utilizarea în siguranță a cheilor API este de o importanță capitală. Puteți urma aceste instrucțiuni de bune practici atunci când utilizați cheile API pentru a le îmbunătăți securitatea generală:
Rotiți cheile API des dacă este posibil. Aceasta înseamnă că ar trebui să ștergeți cheia API actuală și să creați una nouă. Cu mai multe sisteme, este ușor să generați și să ștergeți cheile API. La fel cum unele sisteme vă cer să vă schimbați parola la fiecare 30 până la 90 de zile, ar trebui să rotiți cheile API cu o frecvență similară, dacă este posibil.
Utilizați lista albă IP: când creați o cheie API, întocmește o listă de IP-uri autorizate să utilizeze cheia (o listă albă IP). De asemenea, puteți specifica o listă de IP-uri blocate (o listă neagră de IP-uri). În acest fel, chiar dacă cheia dvs. API este furată, tot nu poate fi accesată de un IP nerecunoscut.
Utilizați mai multe chei API: dacă aveți mai multe chei și împărțiți responsabilitățile între ele, va reduce riscul de securitate, deoarece securitatea dvs. nu va depinde de o singură cheie cu permisiuni extinse. De asemenea, puteți seta liste albe IP diferite pentru fiecare cheie, reducând și mai mult riscul de securitate.
Stocați cheile API în siguranță: nu stocați cheile în locuri publice, pe computere publice sau în formatul lor original de text simplu. În schimb, stocați fiecare folosind criptare sau un manager secret pentru o securitate mai bună și aveți grijă să nu le expuneți accidental.
Nu partajați cheile dvs. API. Partajarea cheii API este similară cu partajarea parolei. Procedând astfel, acordați altei părți aceleași privilegii de autentificare și autorizare ca și dvs. Dacă sunt compromise, cheia dvs. API poate fi furată și utilizată pentru a vă sparge contul. O cheie API ar trebui utilizată numai între dvs. și sistemul care o generează.
Dacă cheia dvs. API este compromisă, mai întâi trebuie să o dezactivați pentru a preveni deteriorarea ulterioară. Dacă există vreo pierdere financiară, faceți capturi de ecran ale informațiilor cheie legate de incident, contactați entitățile aferente și trimiteți un raport de poliție. Acesta este cel mai bun mod de a vă crește șansele de a recâștiga orice fonduri pierdute.
Gânduri de închidere
Cheile API oferă funcții de bază de autentificare și autorizare, iar utilizatorii trebuie să-și gestioneze și să-și protejeze cheile cu atenție. Există multe straturi și aspecte pentru a asigura utilizarea în siguranță a cheilor API. În general, o cheie API ar trebui tratată ca o parolă pentru contul dvs.
Lectură suplimentară
Principii generale de securitate
5 escrocherii comune cu criptomonede și cum să le evitați


