Hvad betyder krypteringsnøgle?

En krypteringsnøgle er den parameter/information, som et krypteringssystem bruger til at gøre data ulæselige for uvedkommende. Sammen med en krypteringsalgoritme bestemmer nøglen, hvordan data transformeres ved kryptering, og hvordan de kan gendannes ved afkryptering.

I praksis kan en krypteringsnøgle være en “hemmelig” værdi (som skal beskyttes), men begrebet kan også bruges mere bredt om de nøgler, der indgår i et kryptografisk setup (for eksempel nøgler der bruges til at udveksle en sessionnøgle). Det centrale er, at nøglen er det, der knytter beskyttelsen til en bestemt aktør eller session.

Et simpelt model: nøgle + algoritme + data

Tænk på kryptering som en opskrift, der tager tre ting: (1) data, (2) en algoritme og (3) en krypteringsnøgle. Algoritmen er fremgangsmåden (matematikken), mens krypteringsnøglen fungerer som “indstillingen” for netop den beskyttelse.

  • Ved kryptering bruges nøgle og algoritme til at omdanne data.
  • Ved afkryptering bruges den relevante nøgle igen til at omdanne data tilbage.

Hvis nøglen er forkert, mangler, udløbet eller ikke matcher den måde data blev beskyttet på, kan resultatet typisk ikke gendannes. Det er derfor nøglehåndtering ofte bliver et afgørende punkt: hvem har nøglen, hvordan opbevares den, og hvordan roteres/udskiftes den.

Typer af krypteringsnøgler og beslægtede begreber

Der findes flere måder at tale om nøgler på, og nogle af de mest nyttige begreber at kende er:

Symmetrisk kryptering

Ved symmetrisk kryptering bruges den samme (eller tæt beslægtede) nøgle til både kryptering og afkryptering. Det gør systemet effektivt, men stiller krav til, at den delte nøgle holdes hemmelig og kan overføres sikkert til den anden part.

Asymmetrisk kryptering (offentlig/privat nøgle)

Ved asymmetrisk kryptering findes der typisk en offentlig og en privat nøgle. Man kan ofte bruge den offentlige nøgle til at gøre noget sikkert modtageligt, mens den private nøgle bruges til at gendanne eller behandle det. Hvordan rollerne anvendes afhænger af selve protokollen og den kryptografiske konstruktion.

Sessionnøgler, masternøgler og “rotations”-idéen

I mange systemer bruges en kortvarig sessionnøgle til selve dataoverførslen, mens en anden mekanisme (for eksempel en længerevarende nøgle eller en nøgleudveksling) gør det muligt at etablere sessionnøglen. “Rotations”-begrebet handler om, at nøgler ikke nødvendigvis skal være de samme hele tiden.

Nøgle der ikke er den samme som “password”

En krypteringsnøgle er ikke nødvendigvis det samme som en adgangskode. En password kan i nogle systemer bruges til at derivere nøgler, men nøglemateriale og adgangsdata kan behandles forskelligt.

Begrænsninger: hvad krypteringsnøgle ikke løser

En vigtig begrænsning er, at kryptering kun beskytter det, der faktisk er krypteret korrekt, og kun så længe nøglerne forbliver passende beskyttet.

Nogle typiske begrænsninger at have med i vurderingen:

  1. Lækage af nøglemateriale: Hvis den relevante krypteringsnøgle kompromitteres, bliver krypteringens beskyttelse ofte væsentligt svækket.

  2. Forkert nøgle eller forkert match: Data kan være beskyttet med en anden nøgle eller andre parametre end du forventer. Resultatet kan være, at afkryptering fejler eller giver meningsløse resultater.

  3. Korrekt algoritme er ikke nok alene: Selve algoritmen kan være stærk, men implementering og nøglehåndtering (opbevaring, adgangskontrol, rotation, logning og risiko for kompromittering) er ofte det praktiske svage led.

  4. Rækkevidde i tid og kontekst: Nøgler kan være bundet til en bestemt periode, session eller protokol-kontekst. Det betyder, at “samme slags nøgle” ikke nødvendigvis kan bruges til alt.

  5. Usikkerhed om detaljer afhænger af systemet: Hvilke nøgler der bruges, hvordan de udledes, og hvilke parametre der kræves, afhænger af den konkrete teknologi/protokol. Derfor bør du altid læse den relevante specifikation eller dokumentation for det konkrete system.

Praktisk måde at kontrollere din forståelse på

For at placere begrebet korrekt i din egen sammenhæng kan du tjekke følgende punkter:

  • Kan du forklare, om nøglen er symmetrisk eller asymmetrisk i din situation?
  • Er nøglehåndteringen en del af truslbilledet (opbevaring, adgang, rotation)?
  • Ved du, hvad der kræves for at afkryptere: “den rigtige nøgle” i den rigtige kontekst?
  • Er krypteringsnøglen i din situation afledt fra en adgangskode, eller er det egentlig selvstændigt nøglemateriale?
  • Hvis du støder på fejl: handler det ofte om nøglematch eller kontekst/opsætning snarere end “dårlig kryptering”?

Ved at svare på disse spørgsmål kan du vurdere, hvad krypteringsnøglen betyder i praksis, og hvilke begrænsninger der reelt påvirker sikkerheden og gendannelse af data.