Hvad er en API-n√łgle, og hvordan bruger du den sikkert?
Hjem
Artikler
Hvad er en API-n√łgle, og hvordan bruger du den sikkert?

Hvad er en API-n√łgle, og hvordan bruger du den sikkert?

Let √łvet
Offentliggjort Jan 6, 2023Opdateret Feb 21, 2023
7m


En API-n√łgle (Application Programming Interface) er en unik kode, der bruges af en API til at identificere det kaldende program eller den kaldende bruger. API-n√łgler bruges til at spore og kontrollere, hvem der bruger en API, og hvordan de bruger den, samt til at autentificere og autorisere applikationer ‚Äď p√• samme m√•de som brugernavne og adgangskoder. En API-n√łgle kan have form af en enkelt n√łgle eller et s√¶t af flere n√łgler. Brugere b√łr f√łlge anbefalede fremgangsm√•der for at forbedre deres overordnede sikkerhed mod tyveri af API-n√łgler og undg√• de relaterede konsekvenser af, at deres API-n√łgler bliver kompromitteret.

API vs. API-n√łgle

For at forst√•, hvad en API-n√łgle er, skal du f√łrst forst√•, hvad en API er. En applikationsprogrammeringsgr√¶nseflade eller API er et softwaremellemled, der g√łr det muligt for to eller flere programmer at udveksle oplysninger. CoinMarketCaps API giver f.eks. andre applikationer mulighed for at hente og bruge kryptodata, s√•som pris, volumen og markedsv√¶rdi.

En API-n√łgle findes i mange forskellige former ‚Äď det kan v√¶re en enkelt n√łgle eller et s√¶t af flere n√łgler. Forskellige systemer bruger disse n√łgler til at autentificere og autorisere et program, p√• samme m√•de som et brugernavn og en adgangskode bruges. En API-n√łgle bruges af en API-klient til at autentificere et program, der kalder API'en.¬†

Hvis Binance Academy f.eks. √łnsker at bruge CoinMarketCaps API, vil CoinMarketCap generere en API-n√łgle, som bruges til at autentificere identiteten af Binance Academy (API-klienten), som anmoder om API-adgang. N√•r Binance Academy tilg√•r CoinMarketCaps API, skal denne API-n√łgle sendes til CoinMarketCap sammen med anmodningen.¬†

Denne API-n√łgle m√• kun bruges af Binance Academy og m√• ikke deles med eller sendes til andre. Hvis du deler denne API-n√łgle, kan en tredjepart f√• adgang til CoinMarketCap som Binance Academy, og alle handlinger fra tredjeparten vil se ud, som om de kommer fra Binance Academy.

API-n√łglen kan ogs√• bruges af CoinMarketCaps API til at bekr√¶fte, om programmet er autoriseret til at f√• adgang til den √łnskede ressource. Derudover bruger API-ejere API-n√łgler til at overv√•ge API-aktivitet, f.eks. typer, trafik og omfang af anmodninger.¬†

Hvad er en API-n√łgle?¬†

En API-n√łgle bruges til at kontrollere og spore, hvem der bruger en API, og hvordan de bruger den. Udtrykket "API-n√łgle" kan betyde forskellige ting for forskellige systemer. Nogle systemer har en enkelt kode, mens andre kan have flere koder for en enkelt "API-n√łgle".¬†¬†¬†

Som s√•dan er en "API-n√łgle" en unik kode eller et s√¶t unikke koder, der bruges af en API til at autentificere og autorisere den kaldende bruger eller applikation. Nogle koder bruges til godkendelse, og andre bruges til at oprette kryptografiske signaturer for at bevise en anmodnings legitimitet.¬†

Disse godkendelseskoder omtales almindeligvis samlet som en "API-n√łgle", mens de koder, der anvendes til kryptografiske signaturer, har forskellige navne, f.eks. "hemmelig n√łgle", "offentlig n√łgle" eller "private key". Godkendelse indeb√¶rer identifikation af de involverede enheder og bekr√¶ftelse af, at de er dem, de udgiver sig for at v√¶re.

Autorisation angiver p√• den anden side de API-tjenester, hvortil adgangen er tilladt. En API-n√łgle har samme funktion som et brugernavn og en adgangskode til en konto. Den kan ogs√• forbindes med andre sikkerhedsfunktioner for at forbedre den overordnede sikkerhed.¬†

Hver API-n√łgle genereres typisk til en bestemt enhed af API-ejeren (flere oplysninger nedenfor), og hver gang der foretages et opkald til et API-slutpunkt ‚Äď som kr√¶ver brugergodkendelse eller godkendelse eller begge dele ‚Äď anvendes den relevante n√łgle.

Kryptografiske signaturer

Nogle API-n√łgler bruger kryptografiske signaturer som et ekstra lag af verifikation. N√•r en bruger √łnsker at sende visse data til en API, kan en digital signatur, der er genereret af en anden n√łgle, f√łjes til anmodningen. Ved hj√¶lp af kryptografi kan API-ejeren verificere, at denne digitale signatur passer til de sendte data.

Symmetriske og asymmetriske signaturer 

Data, der deles via en API, kan signeres med kryptografiske n√łgler, som falder ind under f√łlgende kategorier:

Symmetriske n√łgler

Disse indeb√¶rer brug af √©n hemmelig n√łgle til b√•de signering af data og verifikation af en signatur. Med symmetriske n√łgler genereres API-n√łglen og den hemmelige n√łgle normalt af API-ejeren, og den samme hemmelige n√łgle skal bruges af API-tjenesten til signaturverifikation. Den st√łrste fordel ved at bruge en enkelt n√łgle er, at det er hurtigere og kr√¶ver mindre beregningskraft til signaturgenerering og verifikation. Et godt eksempel p√• en symmetrisk n√łgle er HMAC.

Asymmetrisk kryptering

Dette indeb√¶rer brug af to n√łgler: en private key og en public key, som er forskellige, men kryptografisk forbundet. En private key bruges til signaturgenerering, og en public key bruges til signaturverifikation. API-n√łglen genereres af API-ejeren, mens private key- og public key-parret genereres af brugeren. Kun public key skal bruges af API-ejeren til signaturverifikation, s√• private key kan forblive lokal og hemmelig.¬†

Den st√łrste fordel ved at anvende asymmetriske n√łgler er den for√łgede sikkerhed ved at adskille signaturgenerering og verifikationsn√łgler. Dette g√łr det muligt for eksterne systemer at verificere signaturer uden at kunne generere signaturer. En anden fordel er, at nogle asymmetriske krypteringssystemer underst√łtter tilf√łjelse af en adgangskode til private keys. Et godt eksempel er et RSA-n√łglepar.¬†

Er API-n√łgler sikre?¬†

Ansvaret for en API-n√łgle ligger hos brugeren. API-n√łgler svarer til adgangskoder og skal behandles med samme omhu. Deling af en API-n√łgle svarer til deling af en adgangskode, og det b√łr derfor ikke ske, da det vil bringe brugerens konto i fare.¬†

API-n√łgler er ofte m√•l for cyberangreb, fordi de kan bruges til at udf√łre kraftfulde operationer p√• systemer, f.eks. til at anmode om personlige oplysninger eller udf√łre finansielle transaktioner. Der har faktisk v√¶ret tilf√¶lde af crawlere, der har haft held til at angribe online kodedatabaser for at stj√¶le¬†API-n√łgler.

Konsekvenserne af tyveri af API-n√łgler kan v√¶re drastiske og f√łre til betydelige √łkonomiske tab. Eftersom nogle API-n√łgler ikke udl√łber, kan de desuden bruges ubegr√¶nset af angribere, n√•r de f√łrst er blevet stj√•let, indtil n√łglerne selv er blevet tilbagekaldt.

Anbefalede fremgangsm√•der ved brug af API-n√łgler

P√• grund af deres adgang til f√łlsomme data og deres generelle s√•rbarhed er det af afg√łrende betydning at bruge API-n√łgler p√• en sikker m√•de. Du kan f√łlge disse retningslinjer, n√•r du bruger API-n√łgler, for at forbedre deres overordnede sikkerhed:¬†

  1. Roter dine API-n√łgler ofte, hvis det er muligt. Det betyder, at du skal slette din nuv√¶rende API-n√łgle og oprette en ny. Med flere systemer er det nemt at generere og slette API-n√łgler. P√• samme m√•de som nogle systemer kr√¶ver, at du skifter din adgangskode hver 30. til 90. dag, b√łr du om muligt skifte dine API-n√łgler med en lignende hyppighed.

  2. Brug IP-hvidlister: N√•r du opretter en API-n√łgle, skal du udarbejde en liste over IP'er, der har tilladelse til at bruge n√łglen (en IP-hvidliste). Du kan ogs√• angive en liste over blokerede IP'er (en IP-hvidliste). P√• denne m√•de kan en ukendt IP-adresse stadig ikke f√• adgang til din API-n√łgle, selv hvis den bliver stj√•let.

  3. Brug flere API-n√łgler: Hvis du har flere n√łgler og fordeler ansvaret mellem dem, mindsker du sikkerhedsrisikoen, da din sikkerhed ikke afh√¶nger af en enkelt n√łgle med omfattende tilladelser. Du kan ogs√• indstille forskellige IP-hvidlister for hver n√łgle, hvilket yderligere mindsker sikkerhedsrisikoen.¬†

  4. Opbevar API-n√łgler p√• sikker vis: Opbevar ikke dine n√łgler p√• offentlige steder, p√• offentlige computere eller i deres oprindelige rene tekstformat. Opbevar dem i stedet ved hj√¶lp af kryptering eller en hemmelig administrator for at opn√• bedre sikkerhed, og v√¶r forsigtig med ikke at afsl√łre dem ved et uheld.¬†

  5. Del ikke dine API-n√łgler. Deling af din API-n√łgle svarer til at dele din adgangskode. Ved at g√łre dette giver du en anden part de samme godkendelses- og autorisationsrettigheder som dig. Hvis de bliver kompromitteret, kan din API-n√łgle blive stj√•let og brugt til at hacke sig ind p√• din konto. En API-n√łgle b√łr kun bruges mellem dig og det system, der genererer den.

Hvis din API-n√łgle er blevet kompromitteret, skal du f√łrst deaktivere den for at forhindre yderligere skade. Hvis der er tale om et √łkonomisk tab, skal du tage sk√¶rmbilleder af vigtige oplysninger om h√¶ndelsen, kontakte de p√•g√¶ldende parter og indgive en politianmeldelse. Det er den bedste m√•de til at √łge dine chancer for at genvinde eventuelle tabte midler.¬†

Sammenfatning

API-n√łgler leverer centrale godkendelses- og autorisationsfunktioner, og brugerne skal administrere og beskytte deres n√łgler omhyggeligt. Der er mange lag og aspekter, der s√łrger for sikker brug af API-n√łgler. Generelt skal en API-n√łgle behandles som en adgangskode til din konto.

Yderligere læsning