Definition og idé i ét enkelt billede

Diffie-Hellman (ofte forkortet DH) er en metode til at etablere en fælles hemmelighed mellem to parter, selv når de kommunikerer over en netværksforbindelse, som en tredjepart kan overvåge. Pointen er, at hver part sender offentlige værdier, som ikke direkte afslører den fælles hemmelighed. Når begge sider har de rette værdier, kan de beregne en samme fælles hemmelig nøgle, som derefter kan bruges til at kryptere og/eller integritetsbeskytte den efterfølgende kommunikation.

Det centrale at forstå er forskellen mellem “hvad der sendes” og “hvad der bliver til en hemmelighed”. De værdier, der typisk sendes, er beregnet til at være nyttige for nøgleudvekslingen, men ikke tilstrækkelige til at udlede den endelige fælles hemmelighed for en, der kun lytter.

En simpel model af hvordan Diffie-Hellman virker

En enkel måde at se DH på er som en aftaleproces:

  1. Begge parter vælger en privat hemmelig værdi hver (som ikke deles).
  2. Hver part beregner en offentlig værdi ud fra sin private værdi og nogle fælles parametre.
  3. Parterne udveksler de offentlige værdier.
  4. Når en part modtager den andens offentlige værdi, kombinerer den modtagne værdi med sin egen private værdi for at beregne den samme fælles hemmelighed.

I praksis bruges denne fælles hemmelighed sjældent direkte. Den konverteres typisk via en nøgleafledningsfunktion til en eller flere kryptografiske nøgler, der passer til den konkrete protokol og algoritmer.

Hvad Diffie-Hellman kan og ikke kan

Diffie-Hellman kan især bidrage til fortrolighed: hvis en angriber kun kan observere trafikken, er det netop tanken, at den fælles hemmelighed ikke kan rekonstrueres ud fra de offentlige udvekslede værdier. Det er derfor, DH ofte indgår i systemer, hvor man ønsker, at krypteret kommunikation stadig kan startes, selv over “åbne” net.

Men DH alene løser ikke autentificering. Hvis parterne ikke kan sikre, at de taler med den rigtige modpart, kan en angriber påvirke nøgleudvekslingen. Det kan give en situation, hvor den angriber opretter separate nøgler med hver side og dermed får mulighed for at se den “krypterede” kommunikation indenfor angrebets rammer. Med andre ord: uden korrekt autentificering er der en ekstra trussel, som ikke nødvendigvis blokeres af selve Diffie-Hellman-mekanismen.

Forskelle og relevante grænser i praksis

Selv om Diffie-Hellman-konceptet er det samme, er sikkerhed og robusthed tæt koblet til implementeringsvalg:

  • Parametervalg og kryptografisk styrke: Den konkrete matematik og de valgte parametre (eller den valgte elliptiske variant) påvirker, hvor robust systemet er. “At bruge DH” er derfor ikke en garanti i sig selv; det afhænger af, hvordan det er implementeret.
  • Engangsnøgler og genbrug: Mange moderne opsætninger bruger engangsnøgler (ofte kaldet “ephemere” nøgler) for at begrænse skade ved fremtidig kompromittering. Hvis nøgler genbruges eller håndteres svagt, kan sikkerheden falde.
  • Korrekt nøgleafledning og protokolkobling: Den fælles hemmelighed skal omsættes til nøgler på en sikker måde, typisk med en standardiseret procedure, så protokollens egenskaber (fx integritet) bliver dækket.
  • Autentificeringens rolle: Autentificering er et krav for at beskytte mod, at modparten udskiftes. I almindelige protokolsammenhænge håndteres dette via certifikater eller andre metoder til at sikre identiteten.

Her er den vigtigste grænse at huske: DH hjælper med nøgleudveksling, men det “huller” ikke nødvendigvis autentificeringskrav. Derfor ser du næsten altid DH indgå i en større sikkerhedsmekanisme snarere end som en isoleret løsning.

Sådan kan du selv kontrollere, om Diffie-Hellman er relevant i din situation

Du kan bruge følgende kontrolpunkter, når du forsøger at placere teknologien korrekt:

  1. Er kommunikationen etableret via en sikker protokol? I mange web- og kommunikationsscenarier er det protokollen (og dens måde at kombinere nøgleudveksling og autentificering på), der afgør den samlede sikkerhed.
  2. Findes der autentificering af modparten? Hvis der ikke er en måde at verificere den modpart, du forbinder til, kan DH ikke alene forhindre visse angrebsformer.
  3. Er nøgleudvekslingen moderne og korrekt? Signaler som brug af nyere kryptografiske valg og korrekt nøglehåndtering betyder ofte mere end selve navnet Diffie-Hellman.
  4. Er der tale om fortrolighed i selve transporten? DH bruges typisk til at starte en krypteret session. Hvis du ikke har en krypteret kanal, giver DH som idé mindre praktisk værdi.

Hvis du vil omsætte det til konkret handling, kan du starte med at identificere, hvilken type forbindelse du bruger (fx standard sikker transport i en browser eller en app) og derefter vurdere, om der er autentificering og en krypteret kanal.

Afslutningsvis: Diffie-Hellman er en central byggesten til at etablere fælles hemmelige nøgler over åbne net, men den rigtige beskyttelse afhænger af, hvordan det sættes sammen med autentificering, nøgleafledning og moderne protokoller.