Definition og formål
Re-keying betyder, at man opdaterer eller udskifter kryptografiske nøgler til en ny nøgle. Formålet er typisk at reducere konsekvenserne af, at en nøgle ikke længere bør betragtes som gyldig, for eksempel fordi den er udskiftet efter en planlagt rotation, fordi en session skal have nye nøglematerialer, eller fordi der er opstået mistanke om, at tidligere nøgler ikke længere er tillidsvækkende.
Selve begrebet “re-keying” bruges bredt på tværs af systemer, hvor man har nøgler, sessioner og perioder for gyldighed. Det kan være en administrativ handling (at indstille nye nøgler) eller en protokolstyret proces (at etablere nye nøgler undervejs i en kommunikation).
Et enkelt model: “samme forbindelse, nye nøgler”
En nyttig måde at forstå re-keying på er som et skift i “krypteringslåsen”, mens kommunikationen fortsætter inden for samme overordnede sammenhæng. I stedet for at fortsætte med samme nøglemateriale, skifter systemet til nyt.
Det afgørende er, at der næsten altid er koordinationskrav: de parter, der krypterer og dekrypterer, skal vide, hvornår de nye nøgler gælder, og hvilke data der hører til hvilken nøgleversion. Hvis det ikke er klart, kan der opstå fejl i dekryptering eller datatab.
Re-keying kan derfor ses som en proces med mindst fire spørgsmål i baghovedet:
- Hvad skiftes der til (nøglemateriale)?
- Hvornår gælder den nye nøgle (tids-/tilstandsgrænse)?
- Hvordan ved begge ender, at skiftet er sket (synkronisering)?
- Hvad sker der med data, der var beskyttet af den gamle nøgle (overlap og overgang)?
Brug i praksis: hvornår re-keying giver mening
Re-keying giver typisk mest mening, når nøgler har en naturlig “livscyklus” og ikke bør være statiske for evigt. Klassiske grunde kan være:
- Nøglerotation: Nøgler skiftes med bestemte intervaller for at begrænse den praktiske værdi af at udnytte et kompromis.
- Sessionfornyelse: Under en langvarig session kan systemet etablere nye nøgler for at holde risikoen nede.
- Kompromis-mitigering: Hvis man får indikationer på, at en nøgle ikke længere er troværdig, kan re-keying være en måde at begrænse skade fremadrettet.
Det er vigtigt at bemærke, at re-keying i sig selv ikke er en magisk sikkerhedsløsning. Hvis de underliggende sikkerhedsproblemer (fx en fejlagtig nølegenerering, svage tilstande, eller kompromitteret nøglehåndtering) ikke løses, kan selve re-keying blot flytte problemet til en ny nøgleversion. Uvished om den konkrete implementering ændrer derfor, hvor meget re-keying faktisk forbedrer sikkerheden.
Begrænsninger og beslægtede begreber
En vigtig begrænsning er, at “re-keying” ofte afhænger af kontekst. Den samme idé (skift nøgle) kan være implementeret med forskellige regler for overgang. Det kan fx betyde, at der er et kort vindue, hvor gamle og nye nøgler kan bruges, eller at der er strenge grænser for, hvilke pakker der accepteres under skiftet.
Beslægtede begreber, der kan dukke op, er bl.a.:
- Key rotation (nøglerotation): en generel betegnelse for planlagt nøgleskift.
- Key update / re-establishment (nøgleopdatering / genetablering): ord, der ofte beskriver samme type mekanisme, men med forskellig vægt på “hvordan” processen foregår.
- Key lifetime (nøglens levetid): den periode, hvor en nøgle betragtes som gyldig.
- Re-negotiation (genforhandling): når systemet ikke blot skifter nøgle, men også eventuelt ændrer parametre for den etablerede kommunikation.
Det er derfor klogt at skelne mellem “at skifte nøgler” og “at ændre aftaleparametre”. Re-keying fokuserer på nøgler; ændringer i forhandlingsparametre kan være en ekstra, separat proces.
Sådan kan du tjekke om re-keying fungerer korrekt
Hvis du vil bruge begrebet som kontrolpunkt, kan du se efter følgende spor i dokumentation eller logikbeskrivelser (uden at antage en bestemt teknologi):
- Hvad trigger skiftet: sker det periodisk, ved hændelser eller manuelt?
- Hvordan markeres overgang: er der en eksplicit “skiftetid”, en version, eller et signal mellem parter?
- Hvor længe gamle nøgler må accepteres: findes der et acceptvindue eller overlap?
- Fejladfærd ved mismatch: hvad sker der, hvis den ene part fortsætter med gamle nøgler?
Hvis disse punkter ikke er tydelige, er der en reel risiko for, at re-keying i praksis bliver svært at få til at fungere stabilt, selv om den teoretiske idé er enkel.
Konklusion
Re-keying er et begreb for at skifte kryptografiske nøgler til en ny version for at reducere risiko og støtte en sund nøglelivscyklus. Det er oftest relevant ved rotation, sessionfornyelse og i reaktion på mistanke om kompromis. Samtidig afhænger effekten og stabiliteten af implementeringens regler for overgang, synkronisering og nøglelevetid—så man bør forstå systemets konkrete kontekst, før man drager konklusioner.
