Vad Àr en API-nyckel och hur anvÀnder du den sÀkert?
Hem
Artiklar
Vad Àr en API-nyckel och hur anvÀnder du den sÀkert?

Vad Àr en API-nyckel och hur anvÀnder du den sÀkert?

Avancerad
Publicerad Jan 6, 2023Uppdaterad Feb 21, 2023
7m


En applikationsprogrammeringsgrĂ€nssnitt (Application Programming Interface/API)-nyckel Ă€r en unik kod som anvĂ€nds av ett API för att identifiera den anropande applikationen eller anvĂ€ndaren. API-nycklar anvĂ€nds för att spĂ„ra och kontrollera vem som anvĂ€nder ett API och hur de anvĂ€nds, samt för att autentisera och auktorisera applikationer – ungefĂ€r pĂ„ samma sĂ€tt som anvĂ€ndarnamn och lösenord fungerar. En API-nyckel kan vara en enda nyckel eller en uppsĂ€ttning av flera nycklar. AnvĂ€ndaren bör följa bĂ€sta praxis för att förbĂ€ttra sin övergripande sĂ€kerhet och förhindra stöld av API-nycklar och undvika de relaterade konsekvenserna av att deras API-nycklar hackas.

API kontra API-nyckel

För att förstÄ vad en API-nyckel Àr mÄste du först förstÄ vad ett API Àr. Ett applikationsprogrammeringsgrÀnssnitt eller API Àr en mjukvaruförmedlare som tillÄter tvÄ eller flera applikationer att dela information. CoinMarketCaps API gör till exempel att andra applikationer att hÀmta och anvÀnda kryptodata, sÄsom pris, volym och börsvÀrde.

En API-nyckel finns i mĂ„nga olika former – den kan vara en enda nyckel eller en uppsĂ€ttning av flera nycklar. Olika system anvĂ€nder dessa nycklar för att autentisera och auktorisera ett program, ungefĂ€r som ett anvĂ€ndarnamn och lösenord anvĂ€nds. En API-nyckel anvĂ€nds av en API-klient för att autentisera ett program som anropar denna API. 

Om Binance Academy till exempel vill anvÀnda CoinMarketCap-API, genereras en API-nyckel av CoinMarketCap och anvÀndas för att autentisera identiteten för Binance Academy (API-klienten), som begÀr API-Ätkomst. NÀr Binance Academy öppnar CoinMarketCaps API ska denna API-nyckel skickas till CoinMarketCap tillsammans med en begÀran. 

Denna API-nyckel ska endast anvÀndas av Binance Academy och ska inte delas med eller skickas till andra. Genom att dela denna API-nyckel kan en tredje part som Binance Academy komma Ät CoinMarketCap och alla ÄtgÀrder frÄn tredje part kommer att se ut som om de kommer frÄn Binance Academy.

API-nyckeln kan ocksÄ anvÀndas av CoinMarketCap API för att bekrÀfta om applikationen har behörighet att komma Ät den begÀrda resursen. Dessutom anvÀnder API-Àgare API-nycklar för att övervaka API-aktivitet, till exempel typ av aktivitet, trafik och antalet förfrÄgningar. 

Vad Àr en API-nyckel? 

En API-nyckel anvĂ€nds för att kontrollera och spĂ„ra vem som anvĂ€nder ett API och hur det anvĂ€nds. Termen ”API-nyckel” kan betyda olika saker för olika system. Vissa system har en enda kod, men andra kan ha flera koder för en enda ”API-nyckel”.   

DĂ€rför Ă€r en ”API-nyckel” en unik kod eller en uppsĂ€ttning av unika koder som anvĂ€nds av ett API för att autentisera och auktorisera den anropande anvĂ€ndaren eller applikationen. Vissa koder anvĂ€nds för autentisering och andra anvĂ€nds för att skapa kryptografiska signaturer för att bevisa legitimiteten för en begĂ€ran. 

Dessa autentiseringskoder kallas vanligtvis kollektivt för en ”API-nyckel”, medan koderna som anvĂ€nds för kryptografiska signaturer har olika namn, till exempel ”hemlig nyckel”, ”offentlig nyckel”, eller ”privat nyckel”. Autentisering innebĂ€r att identifiera de inblandade enheterna och bekrĂ€fta att de Ă€r vilka de sĂ€ger att de Ă€r.

Auktorisering, Ä andra sidan, specificerar de API-tjÀnster som har tillÄten Ätkomst. Funktionen hos en API-nyckel liknar funktionen hos ett anvÀndarnamn och lösenord: den kan ocksÄ anslutas till andra sÀkerhetsfunktioner för att förbÀttra den övergripande sÀkerheten. 

Varje API-nyckel genereras vanligtvis för en specifik entitet av API-Ă€garen (mer information följer nedan) och varje gĂ„ng ett anrop görs till en API-slutpunkt – som krĂ€ver anvĂ€ndarautentisering eller auktorisering, eller bĂ„de och – anvĂ€nds den relevanta nyckeln.

Kryptografiska signaturer

Vissa API-nycklar anvÀnder kryptografiska signaturer som ett extra verifieringslager. NÀr en anvÀndare vill skicka vissa data till ett API kan en digital signatur som genereras av en annan nyckel lÀggas till i denna begÀran. Med hjÀlp av kryptografi kan API-Àgaren verifiera att denna digitala signatur matchar de data som skickas.

Symmetriska och asymmetriska signaturer 

Data som delas via ett API kan signeras med kryptografiska nycklar, som ingÄr i följande kategorier:

Symmetriska nycklar

Dessa inkluderar anvÀndning av en hemlig nyckel för att utföra bÄde signering av data och verifiering av en signatur. Med symmetriska nycklar genereras API-nyckeln och den hemliga nyckeln vanligtvis av API-Àgaren och samma hemliga nyckel mÄste anvÀndas av API-tjÀnsten för signaturverifiering. Den största fördelen med att anvÀnda en enskild nyckel Àr att det gÄr snabbare och krÀver mindre berÀkningskraft för signaturgenerering och verifiering. Ett bra exempel pÄ en symmetrisk nyckel Àr HMAC.

Asymmetriska nycklar

Dessa involverar anvÀndning av tvÄ nycklar: en privat nyckel och en offentlig nyckel som Àr olika, men kryptografiskt lÀnkade. Den privata nyckeln anvÀnds för signaturgenerering och den offentliga nyckeln anvÀnds för signaturverifiering. API-nyckeln genereras av API-Àgaren, men den privata nyckeln och det offentliga nyckelparet genereras av anvÀndaren. Endast den offentliga nyckeln behöver anvÀndas av API-Àgaren för signaturverifiering, sÄ att den privata nyckeln kan förbli lokal och hemlig. 

Den största fördelen med att anvÀnda asymmetriska nycklar Àr den högre sÀkerheten genom att separera signaturgenerering och verifieringsnycklar. Detta gör att externa system kan verifiera signaturer utan att kunna generera signaturer. En annan fördel Àr att vissa asymmetriska krypteringssystem stöder funktionen att kunna lÀgga till ett lösenord till privata nycklar. Ett bra exempel Àr ett RSA-nyckelpar. 

Är API-nycklar sĂ€kra? 

Ansvaret för en API-nyckel ligger hos anvÀndaren. API-nycklar liknar lösenord och mÄste behandlas med samma försiktighet. Att dela en API-nyckel Àr ungefÀr som att dela ett lösenord och bör dÀrför inte göras eftersom det skulle Àventyra anvÀndarens konto. 

API-nycklar Àr vanliga mÄl i cyberattacker eftersom de kan anvÀndas för att utföra kraftfulla operationer pÄ system, sÄsom att begÀra personlig information eller genomföra finansiella transaktioner. Det har faktiskt förekommit fall dÄ sökrobotar lyckats attackerar online-koddatabaser för att stjÀla API-nycklar.

Konsekvenserna av API-nyckelstöld kan vara drastiska och leda till betydande ekonomiska förluster. Eftersom vissa API-nycklar inte löper ut kan de dessutom anvÀndas pÄ obestÀmd tid av angriparen nÀr de stulits, tills nycklarna sjÀlva Äterkallas.

BÀsta praxis nÀr du anvÀnder API-nycklar

PÄ grund av deras tillgÄng till kÀnsliga data och deras allmÀnna sÄrbarhet, Àr det av största vikt att anvÀnda API-nycklar pÄ ett sÀkert sÀtt. Du kan följa dessa riktlinjer för bÀsta praxis nÀr du anvÀnder API-nycklar för att förbÀttra den övergripande sÀkerheten: 

  1. Byt dina API-nycklar ofta, om möjligt. Detta betyder att du bör ta bort din nuvarande API-nyckel och skapa en ny. Med flera system Àr det enkelt att generera och ta bort API-nycklar. PÄ samma sÀtt som vissa system krÀver att du Àndrar ditt lösenord varje eller var tredje mÄnad, du bör byta ut dina API-nycklar med liknande frekvens, om möjligt.

  2. AnvĂ€nd ip-vitlistning: nĂ€r du skapar en API-nyckel upprĂ€ttar du en lista över ip-adresser som Ă€r auktoriserade för att anvĂ€nda nyckeln (en ip-vitlista). Du kan ocksĂ„ ange en lista över blockerade ip-adresser (en ip-svartlista). Även om din API-nyckel blir stulen kan den pĂ„ det hĂ€r sĂ€ttet fortfarande inte nĂ„s av en okĂ€nd ip.

  3. AnvÀnd flera API-nycklar: att ha flera nycklar och dela pÄ ansvaret mellan dem minskar sÀkerhetsrisken, eftersom din sÀkerhet inte beror pÄ en enda nyckel med omfattande behörigheter. Du kan ocksÄ stÀlla in olika ip-vitlistor för varje nyckel, vilket ytterligare ökar sÀkerheten. 

  4. Förvara API-nycklar sÀkert: spara inte dina nycklar pÄ offentliga platser, pÄ offentliga datorer eller i deras ursprungliga textformat. Förvara istÀllet var och en med kryptering eller ett lösenordsprogram för bÀttre sÀkerhet och var försiktig sÄ att du inte exponerar dem av misstag. 

  5. Dela inte dina API-nycklar. Att dela din API-nyckel liknar processen att dela ditt lösenord. Genom att göra detta ger du en annan part samma autentiserings- och behörigheter som du. Om den Àventyras kan din API-nyckel stjÀlas och anvÀndas för att hacka ditt konto. En API-nyckel ska endast anvÀndas mellan dig och det system som genererar den.

Om din API-nyckel hackas mÄste du först inaktivera den för att förhindra ytterligare skador. Om det sker nÄgra ekonomiska förluster tar du skÀrmbilder av viktig information relaterad till hÀndelsen kontaktar du nÀrstÄende enheter och lÀmnar en polisanmÀlan. Detta Àr det bÀsta sÀttet att öka dina chanser att ÄterfÄ förlorade tillgÄngar. 

Sammanfattningsvis

API-nycklar tillhandahÄller grundlÀggande autentiserings- och auktoriseringsfunktioner och du mÄste hantera och skydda dina nycklar noggrant. Det finns mÄnga lager och aspekter för att garantera sÀker anvÀndning av API-nycklar. I korthet ska en API-nyckel behandlas som ett lösenord till ditt konto.

Mer information