Kas ir API atslēga, un kā to droši izmantot?
Sākums
Raksti
Kas ir API atslēga, un kā to droši izmantot?

Kas ir API atslēga, un kā to droši izmantot?

Sarežģītākas tēmas
Publicēts Jan 6, 2023Atjaunināts Feb 21, 2023
7m


Lietojumprogrammu saskarnes (API) atslēga ir unikāls kods, kuru API izmanto, lai identificētu izsaucošo lietotni vai lietotāju. API atslēgas tiek izmantotas, lai izsekotu un kontrolētu, kas un kā izmanto API, kā arī autentificētu un autorizētu lietotnes – līdzīgi tam, kā darbojas lietotājvārdi un paroles. API atslēga var būt viena atslēga vai vairāku atslēgu kopums. Lietotājiem ir jāievēro labākā prakse, lai veicinātu vispārējo drošību un aizsardzību pret API atslēgas zādzību, kā arī izvairītos no API atslēgu apdraudējuma sekām.

API un API atslēga

Lai saprastu, kas ir API atslēga, vispirms ir jāgūst izpratne par to, kas ir API. API jeb lietojumprogrammas interfeiss ir programmatūras starpniekrisinājums, kas ļauj divām vai vairākām lietotnēm kopīgot informāciju. Piemēram, CoinMarketCap API sniedz iespēju citām lietotnēm izgūt un izmantot kriptovalūtu datus, piemēram, cenas, apjoma un tirgus kapitalizācijas informāciju.

API atslēga var pastāvēt dažādos veidos – tā var būt viena atsevišķa atslēga vai vairāku atslēgu kopums. Dažādas sistēmas izmanto šīs atslēgas, lai autentificētu un autorizētu lietotni (līdzīgi kā ar lietotājvārdu un paroli). API atslēgu izmanto API klients, lai autentificētu lietotni, kas izsauc API. 

Piemēram, Binance Akadēmija vēlas izmantot CoinMarketCap API, tāpēc CoinMarketCap izveido API atslēgu un izmanto to, lai autentificētu Binance Akadēmijas (API klienta), kas pieprasa API piekļuvi, identitāti. Kad Binance Akadēmija piekļūst CoinMarketCap API, šī API atslēga ir jānosūta CoinMarketCap kopā ar attiecīgo pieprasījumu. 

Šo API atslēgu drīkst izmantot tikai Binance Akadēmija, un to nedrīkst izpaust vai nosūtīt nevienam citam. Ja API atslēga tiktu atklāta trešajai pusei, tā varētu Binance Akadēmijas vārdā piekļūt CoinMarketCap un jebkuras šīs personas veiktās darbības būtu redzamas kā Binance Akadēmijas veiktas darbības.

Arī CoinMarketCap API varētu izmantot šo API, lai pārliecinātos, ka šai lietotnei ir atļauta piekļuve pieprasītajam resursam. Turklāt API īpašnieki izmanto API atslēgas, lai pārraudzītu API darbības, piemēram, pieprasījumu veidus, apjomu un informācijas plūsmu. 

Kas ir API atslēga? 

API atslēga tiek izmantota, lai kontrolētu un izsekotu, kas un kā izmanto API. Termins "API atslēga" dažādās sistēmās var apzīmēt atšķirīgas lietas. Dažās sistēmās vienai "API atslēgai" ir viens kods, bet citās – vairāki kodi.   

Līdz ar to API atslēga ir unikāls kods vai unikālu kodu kopums, ko API izmanto, lai autentificētu un autorizētu izsaucošo lietotāju vai lietotni. Daži kodi tiek izmantoti autentifikācijai, bet citi – kriptogrāfisku parakstu izveidei, kas ļauj apliecināt pieprasījuma patiesumu. 

Šos autentifikācijas kodus kopā sauc par API atslēgu, bet kriptogrāfiskajiem parakstiem izmantotos kodus mēdz saukt dažādos vārdos, piemēram, par "slepeno atslēgu", "publisko atslēgu" vai "privāto atslēgu". Autentifikācija ietver iesaistīto pušu identificēšanu un pārliecināšanos, ka to identitāte tiešām atbilst tai, par ko tās uzdodas.

Savukārt autorizācija precizē API pakalpojumus, kam tiek atļauta piekļuve. API atslēga darbojas līdzīgi konta lietotājvārdam un parolei; to var arī savienot ar citām drošības funkcijām, lai uzlabotu vispārējo drošību. 

Parasti katru API atslēgu API īpašnieks izveido konkrētai personai (vairāk informācijas skati tālāk), un attiecīgā atslēga tiek izmantota ikreiz, kad API galapunktā tiek veikts izsaukums (kam ir nepieciešama lietotāja autentifikācija vai autorizācija, vai abi šie procesi).

Kriptogrāfiskie paraksti

Dažas API atslēgas izmanto kriptogrāfiskos parakstus kā papildu verifikācijas slāni. Kad lietotājs vēlas nosūtīt noteiktus datus uz API, šim pieprasījumam ir iespējams pievienot citas atslēgas izveidotu digitālo parakstu. Izmantojot kriptogrāfiju, API īpašnieks var pārliecināties, ka šis digitālais paraksts atbilst nosūtītajiem datiem.

Simetriskie un asimetriskie paraksti 

Ar API starpniecību kopīgotus datus ir iespējams parakstīt ar kriptogrāfiskām atslēgām, kas atbilst šādām kategorijām:

Simetriskās atslēgas

Šajā gadījumā tiek izmantota viena slepena atslēga, lai parakstītu datus un verificētu parakstu. Izmantojot simetriskās atslēgas, API atslēgu un slepeno atslēgu paraksti izveido API īpašnieks, un tā pati slepenā atslēga ir jāizmanto API pakalpojumam, lai verificētu parakstu. Galvenā vienas atslēgas izmantošanas priekšrocība ir tāda, ka paraksta izveidei un verificēšanai ir nepieciešams mazāk laika un mazāka skaitļošanas jauda. Labs simetriskās atslēgas piemērs ir HMAC.

Asimetriskās atslēgas

Šajā gadījumā tiek izmantotas divas atslēgas: privātā atslēga un publiskā atslēga, kas ir atšķirīgas, taču kriptogrāfiski saistītas. Privātā atslēga tiek izmantota paraksta izveidei, bet publiskā atslēga – paraksta verificēšanai. API atslēgu veido API īpašnieks, bet privātās un publiskās atslēgas pāri – lietotājs. Paraksta verificēšanai API īpašniekam ir jāizmanto tikai publiskā atslēga, tāpēc privāto atslēgu var glabāt lokāli un turēt slepenībā. 

Asimetrisko atslēgu galvenā priekšrocība ir lielāka drošība, ko sniedz paraksta izveides un verificēšanas atslēgu nošķiršana. Tādējādi ārējās sistēmas var verificēt parakstus bez iespējas veidot parakstus. Vēl viena priekšrocība ir tāda, ka dažas asimetriskās šifrēšanas sistēmas ļauj pievienot privātajām atslēgām paroles. Labs piemērs ir RSA atslēgu pāris. 

Vai API atslēgas ir drošas? 

Par API atslēgu atbildīgs ir lietotājs. API atslēgas līdzinās parolēm – ar tām ir jārīkojas tikpat piesardzīgi. API atslēgas izpaušana līdzinās paroles atklāšanai, tāpēc tā nevajadzētu rīkoties, lai neapdraudētu lietotāja kontu. 

API atslēgas bieži vien ir kiberuzbrukumu mērķis, jo tās var izmantot, lai veiktu jaudīgas operācijas sistēmās, piemēram, pieprasītu personīgu informāciju vai izpildītu finanšu darījumus. Faktiski ir bijuši gadījumi, kad t. s. rāpuļprogrammas sekmīgi uzbrūk tiešsaistes kodu datu bāzēm un nozog API atslēgas.

API atslēgas zādzībai var būt dramatiskas sekas, radot būtiskus finanšu zaudējumus. Turklāt daļai API atslēgu nav derīguma termiņa – uzbrucēji var izmantot nozagtās atslēgas bezgalīgi ilgi, kamēr vien atslēgas netiek atsauktas.

API atslēgu izmantošanas labākā prakse

Tā kā API atslēgas ļauj piekļūt sensitīviem datiem un tām ir raksturīga vispārīga ievainojamība, ārkārtīgi svarīga ir API atslēgu droša izmantošana. Vari ievērot šeit norādīto labāko praksi saistībā ar API atslēgu izmantošanu, lai veicinātu to vispārīgo drošību. 

  1. Iespējami bieži maini savas API atslēgas. Tas nozīmē, ka vajadzētu izdzēst savu pašreizējo API atslēgu un izveidot jaunu. Izmantojot vairākas sistēmas, var ērti izveidot un dzēst API atslēgas. Tāpat kā dažās sistēmās tiek prasīts mainīt savu paroli reizi 30 līdz 90 dienās, iespēju robežās būtu arī jāmaina savas API atslēgas līdzīgā periodā.

  2. Izmanto IP balto sarakstu: izveidojot API atslēgu, sastādi sarakstu ar IP adresēm, kam ir atļauts izmantot šo atslēgu (IP balto sarakstu). Vari arī sastādīt bloķēto IP adrešu sarakstu (IP melno sarakstu). Tādējādi pat tad, ja tava API atslēga tiktu nozagta, ar to nevarētu piekļūt taviem resursiem no neatpazītas IP adreses.

  3. Izmanto vairākas API atslēgas: ja tiek izmantotas vairākas atslēgas un atbildība tiek dalīta starp tām, mazinās drošības risks, jo drošība vairs nav atkarīga no vienas atslēgas ar plašām atļaujām. Varī arī katrai atslēgai sastādīt atšķirīgu IP balto sarakstu, lai vēl vairāk mazinātu drošības risku. 

  4. Droši glabā API atslēgas: neglabā tās publiskā vietā, publiskas piekļuves datoros vai to oriģinālajā teksta formātā. Tā vietā glabā katru atslēgu, izmantojot šifrēšanu vai slepenās informācijas pārvaldības rīku, lai veicinātu drošību, un rīkojies piesardzīgi, lai nejauši neatklātu savas atslēgas. 

  5. Neizpaud nevienam savas API atslēgas. API atslēgas izpaušana līdzinās paroles atklāšanai. Tā rīkojoties, tu piešķir kādam citam tādas pašas autentifikācijas un autorizēšanas privilēģijas, kādas ir tev. Ja šī informācija tiek apdraudēta, tavu API atslēgu var nozagt un izmantot tava konta uzlaušanai. API atslēga būtu jāizmanto tikai mijiedarbībā starp tevi un sistēmu, kas to izveidojusi.

Ja tava API atslēga ir apdraudēta, vispirms deaktivizē to, lai novērstu turpmāku kaitējumu. Ja ir radušies finanšu zaudējumi, veic ekrānuzņēmumus ar svarīgāko informāciju saistībā ar konkrēto negadījumu, sazinies ar iesaistītajām personām un iesniedz ziņojumu policijai. Tas ir labākais veids, kā palielināt savas izredzes atgūt zaudētos līdzekļus. 

Noslēgumā

API atslēgas nodrošina pamata autentifikācijas un autorizēšanas funkcijas, un lietotājiem savas atslēgas ir rūpīgi jāpārvalda un jāaizsargā. API atslēgu drošai lietošanai ir vairāki līmeņi, un ir dažādi aspekti, kas jāņem vērā. Kopumā ar API atslēgu ir jārīkojas tāpat kā ar sava konta paroli.

Turpini lasīt