Hvad betyder asymmetrisk kryptering i praksis?

Asymmetrisk kryptering (ofte kaldet public-key-kryptering) er en metode, hvor man ikke deler én fælles hemmelig nøgle. I stedet arbejder man med et nøglepar:

  • En offentlig nøgle (kan deles)
  • En privat nøgle (skal holdes hemmelig)

Pointen for fortrolige oplysninger er, at hvis en afsender bruger den offentlige nøgle til at kryptere, så kan kun indehaveren af den tilhørende private nøgle dekryptere. Omvendt kan den private nøgle bruges til at skabe en digital signatur, som andre kan kontrollere med den offentlige nøgle.

Hvordan beskytter asymmetrisk kryptering fortrolige oplysninger?

Der er to centrale sikkerhedsmål, og de hænger sammen, men de er ikke det samme:

  1. Fortrolighed (confidentiality) Når data skal være fortrolige, er målet at forhindre uvedkommende i at læse indholdet. Et typisk mønster er:
  • Afsender får eller verificerer modtagerens offentlige nøgle.
  • Afsender krypterer data med denne offentlige nøgle.
  • Kun modtager med den tilsvarende private nøgle kan dekryptere.
  1. Integritet og afsenderkontrol (typisk via signatur) Hvis man også vil være sikker på, at data ikke er ændret, og at de kommer fra en bestemt afsender, bruger man signaturer:
  • Afsender signerer med sin private nøgle.
  • Andre kan kontrollere signaturen med afsenderens offentlige nøgle.

Det vigtige er at forstå, at asymmetrisk kryptering både kan bruges til at skjule data og til at skabe tillidsmarkører (signatur), men hvilken rolle den spiller afhænger af, om man taler om kryptering eller signering.

Den vigtigste begrænsning: Nøgletruslen og tillid til nøgler

Selv om selve krypteringen er matematisk baseret, kan den praktiske sikkerhed falde, hvis nøglehåndteringen eller nøgleverificeringen svigter. Her er de typiske kontrolpunkter:

  • Bruger du den rigtige offentlige nøgle? Hvis du ved en fejl får en “falsk” offentlig nøgle (fx fra en upålidelig kilde), kan en angriber mislede dig til at kryptere til den forkerte modtager.

  • Er den private nøgle beskyttet? Hvis den private nøgle bliver kompromitteret, kan angriberen dekryptere data eller misbruge signaturer. Hvor “hemmelig” den private nøgle reelt er, afhænger af jeres processer og adgangskontrol.

  • Skaber I de nødvendige forbindelser mellem identitet og nøgle? For at undgå forveksling skal man have en måde at knytte nøgler til konkrete identiteter på. Hvordan det gøres, kan variere (det kan fx være interne aftaler, nøgledistribution i et system eller certificeringsmekanismer), men kravet er det samme: man skal kunne stole på nøglekilden.

Kort sagt: Asymmetrisk kryptering kan give fortrolighed og/eller signaturkontrol, men det gør den ikke automatisk, hvis nøglerne ikke er korrekte og beskyttede.

Sammenligning med symmetrisk kryptering og når det giver mening

I mange løsninger kombinerer man asymmetrisk og symmetrisk kryptering:

  • Asymmetrisk bruges ofte til at etablere tillid og udveksle materiale (fx at sende en beskyttet “session”-nøgle eller at understøtte signering/validering).
  • Symmetrisk bruges ofte til selve datakrypteringen, fordi den kan være mere effektiv til store mængder data.

Det er en praktisk afvejning: asymmetrisk kryptering løser især opgaver, hvor man vil undgå at dele en hemmelig nøgle på forhånd, mens symmetrisk typisk er bedst til hurtigt at beskytte store datamængder når nøglematerialet først er på plads.

Derfor kan “asymmetrisk kryptering” godt være en del af en løsning, selv hvis størstedelen af krypteringen i praksis sker symmetrisk. Det ændrer ikke ved idéen om, at nøgleverificering og beskyttelse af nøgler stadig er afgørende.

Hvad kan du selv kontrollere, før du stoler på løsningen?

Hvis du vil kunne placere asymmetrisk kryptering korrekt, kan du bruge følgende konkrete kontrolpunkter:

  • Nøglekilder: Hvordan får I modtagerens offentlige nøgle, og hvad gør I for at sikre, at den er den rigtige?
  • Nøllebeskyttelse: Hvor opbevares private nøgler, og hvem har adgang? Er der procedurer for adgang, backup og genoprettelse?
  • Brugsscenarie: Bruger I asymmetrisk kryptering primært til fortrolighed (kryptering) eller til afsenderkontrol (signatur) – eller begge?
  • Fejlhåndtering: Hvad sker der, hvis nøgleverificering fejler? Tager systemet en beslutning, der kan gøre det “nemmere” at acceptere en forkert nøgle?
  • Rotationsplan: Har I en måde at håndtere udløb/rotation af nøgler på, så gamle nøgler ikke bliver en permanent svaghed?

Hvis disse punkter er uklare i jeres setup, er det ofte dér, risikoen ligger – ikke i selve tankegangen om asymmetrisk kryptering.

Vigtige nuancer og usikkerheder at være opmærksom på

Der er nogle ting, der kan føles som “krav” til løsningen, men som i praksis afhænger af jeres implementering:

  • Algoritmevalg og parametre kan påvirke sikkerheden. Uden at kende den konkrete løsning kan man ikke vurdere niveauet.
  • Implementationsdetaljer (fx hvordan nøgler bruges, hvordan signaturer valideres, og hvordan man håndterer certifikater eller identiteter) betyder ofte mere end den generelle idé.
  • Sikkerhed i endepunkter: Selv med korrekt kryptering kan kompromitterede enheder, svigagtige brugerguides eller malware stadig give angriberen adgang til data, når de er dekrypteret.

Derfor bør asymmetrisk kryptering ses som et centralt sikkerhedselement i en større helhed – især når formålet er at beskytte fortrolige oplysninger mod uautoriseret læsning og skabe sporbarhed via signatur.