O cheie de interfață de programare a aplicației (API) este un cod unic utilizat într-un API pentru a identifica aplicația sau utilizatorul care apelează. Cheile API sunt folosite pentru a urmări și controla cine folosește API-ul și cum și pentru a autentifica și autoriza aplicațiile - similar cu modul în care funcționează numele de utilizator și parolele. O cheie API poate fi o singură cheie sau un set de chei multiple. Utilizatorii ar trebui să urmeze cele mai bune practici pentru a-și îmbunătăți protecția generală împotriva furtului de chei API și pentru a evita consecințele aferente ale compromiterii cheilor API.

API și cheie API

Pentru a înțelege ce este o cheie API, mai întâi trebuie 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 programe să facă schimb de informații. De exemplu, API-ul CoinMarketCap permite altor aplicații să preia și să utilizeze date despre criptomonede, cum ar fi prețul, volumul și capitalizarea pieței.

Cheia API poate fi de diferite forme. Aceasta poate fi o singură cheie sau un set de chei multiple. În diferite sisteme, aceste chei sunt folosite pentru autentificarea și autorizarea aplicației în același mod în care sunt utilizate un nume de utilizator și o parolă. Cheia API este utilizată de clientul API pentru a autentifica aplicația care apelează API-ul. 

De exemplu, dacă Binance Academy dorește să folosească API-ul CoinMarketCap, o cheie API va fi generată în CoinMarketCap și utilizată pentru a autentifica Academia Binance (client API) care solicită acces la 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 prin Binance Academy și nu poate fi 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 proveni din Academia Binance.

Cheia API poate folosi și API-ul CoinMarketCap pentru a confirma că aplicației i se permite să acceseze resursa solicitată. În plus, proprietarii API folosesc chei API pentru a monitoriza activitatea API, cum ar fi tipurile de solicitări, traficul și volumul. 

Ce este o cheie API? 

Cheia API este utilizată pentru a controla și urmări cine folosește API-ul și cum este utilizat. Termenul „cheie API” poate însemna lucruri diferite pentru sisteme diferite. Unele sisteme au un singur cod, altele pot avea mai multe coduri pentru o singură „cheie API”.   

Astfel, o „cheie API” este un cod unic sau un set de coduri unice utilizate într-un API pentru a autentifica și autoriza utilizatorul sau aplicația care apelează. Unele coduri sunt folosite pentru autentificare, în timp ce altele sunt folosite pentru a crea semnături criptografice care confirmă legitimitatea cererii. 

Aceste coduri de autentificare sunt denumite în mod obișnuit „cheie API”, în timp ce codurile utilizate pentru semnăturile criptografice au diferite nume, cum ar fi „cheie secretă”, „cheie publică” sau „cheie privată”. Autentificarea implică identificarea persoanelor implicate și confirmarea faptului că aceștia sunt cine spun că sunt.

Autorizarea, pe de altă parte, specifică ce servicii API pot fi accesate. Funcția cheii API este similară cu funcția numelui de utilizator și a parolei contului; poate fi, de asemenea, conectat la alte caracteristici de securitate pentru a crește securitatea generală. 

Fiecare cheie API este de obicei generată pentru un anumit obiect de către proprietarul API (vezi mai jos pentru detalii) și ori de câte ori se efectuează un apel la punctul final API care necesită autentificarea sau autorizarea utilizatorului sau ambele, se folosește cheia corespunzătoare.

Semnături criptografice

Unele chei API folosesc semnături criptografice ca un strat suplimentar de verificare. Atunci când un utilizator dorește să trimită anumite date către API, la cerere poate fi atașată 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 trimise prin API pot fi semnate cu chei criptografice care se încadrează în următoarele categorii:

Taste simetrice

Aceasta este utilizarea unei singure chei secrete pentru a semna datele și a verifica semnătura. Când se utilizează chei simetrice, cheia API și cheia secretă sunt de obicei generate de proprietarul API și aceeași cheie secretă trebuie utilizată de serviciul API pentru a verifica semnătura. Principalul avantaj al utilizării unei singure chei este că totul se întâmplă mai rapid și necesită mai puțină putere de calcul pentru a genera și verifica semnătura. Un bun exemplu de cheie simetrică este HMAC.

Chei asimetrice

Aceasta este utilizarea a două chei: o cheie privată și o cheie publică, care sunt diferite, dar legate criptografic. Cheia privată este folosită pentru a crea semnătura, iar cheia publică este folosită pentru a verifica semnătura. Cheia API este generată de proprietarul API, iar perechea de chei private și publice este generată de utilizator. Proprietarul API-ului trebuie să folosească doar cheia publică pentru a verifica semnătura, astfel încât cheia privată să rămână locală și secretă. 

Principalul avantaj al utilizării cheilor asimetrice este securitatea mai mare a separării generării semnăturii și verificării cheilor. Acest lucru permite sistemelor externe să verifice semnăturile fără a le putea genera. 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. 

Sunt sigure cheile API? 

Cheia API este responsabilitatea 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, prin urmare, nu ar trebui să fie partajată cu alte persoane, deoarece acest lucru va pune în pericol contul utilizatorului. 

Cheile API sunt de obicei vizate de atacurile cibernetice deoarece pot fi folosite pentru a efectua operațiuni puternice pe sisteme, cum ar fi solicitarea de informații personale sau tranzacții financiare. De fapt, au existat cazuri în care crawlerele au atacat cu succes bazele de date de cod online pentru a fura chei API.

Consecințele furtului cheilor API pot fi grave și pot duce la pierderi financiare semnificative. În plus, deoarece unele chei API nu expiră, atacatorii le pot folosi pe termen nelimitat după furt, până când cheile în sine sunt revocate.

Instrucțiuni pentru 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 bune practici atunci când utilizați cheile API pentru a le îmbunătăți securitatea generală: 

  1. Schimbați-vă cheile API frecvent. Aceasta înseamnă că trebuie să ștergeți cheia API actuală și să generați una nouă. Generarea și ștergerea cheilor API este destul de ușoară cu majoritatea sistemelor. Așa cum unele sisteme vă cer să vă schimbați parola la fiecare 30-90 de zile, ar trebui să vă schimbați cheile API cu aceeași frecvență, dacă este posibil.

  2. Utilizați o listă albă IP: când creați o cheie API, creați o listă de adrese IP care pot folosi cheia (lista albă IP). De asemenea, puteți specifica o listă de adrese IP blocate (lista neagră IP). În acest fel, chiar dacă cheia dvs. API este furată, tot nu poate fi accesată de o adresă IP necunoscută.

  3. 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 de IP diferite pentru fiecare cheie, reducându-vă și mai mult riscul de securitate. 

  4. Stocați cheile API în siguranță: nu stocați cheile în locuri publice, pe computere publice sau în format text simplu. În schimb, stocați fiecare cheie cu criptare sau un manager de parole pentru securitate sporită și aveți grijă să nu le dezvăluiți accidental. 

  5. Nu împărtășiți nimănui cheile dvs. API. Partajarea unei chei API este similară cu partajarea parolei. Procedând astfel, acordați celeilalte părți privilegiile de autentificare și autorizare. Dacă acestea 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ă, trebuie mai întâi să o dezactivați pentru a preveni deteriorarea ulterioară. Dacă există pierderi financiare, faceți capturi de ecran ale informațiilor cheie legate de incident, contactați organizațiile relevante și trimiteți un raport de poliție. Acesta este cel mai bun mod de a vă crește șansele de a recupera fondurile pierdute. 

Rezultate

Cheile API oferă funcții de bază de autentificare și autorizare, iar utilizatorii ar trebui să-și gestioneze cu atenție și să-și securizeze cheile. Există multe straturi și aspecte pentru a asigura utilizarea în siguranță a cheilor API. În general, cheia API ar trebui tratată ca parola pentru contul dvs.

Articole înrudite

  • Principii generale de securitate

  • 5 escrocherii comune cu criptomonede și cum să le evitați