kvantemigrasjon.no

Gjør det

Kryptoagilitet: evnen til å bytte algoritmer

Kvantemigrasjon er ikke det siste algoritmeskiftet. Bygg slik at neste skifte blir en rutinejobb.

Sist oppdatert

Hvorfor det trengs

Historien om kryptografi er en historie om algoritmer som blir svekket: MD5, SHA-1, DES, RC4 og tidlige TLS-versjoner. Hver gang har organisasjoner brukt år på å bytte. Post-kvante-algoritmene er nye, og i 2022 ble to kandidater (Rainbow og SIKE) brutt på vanlige datamaskiner. Det er derfor rimelig å forvente at noe må byttes igjen i løpet av systemets levetid.

Kryptoagilitet gjør at du kan:

Designprinsipper

  1. Abstraher kryptografi

    Samle kryptobruk bak ett internt bibliotek eller en tjeneste. Applikasjonskode skal be om «signer dette» eller «krypter dette», ikke «bruk RSA-PKCS1v1.5 med SHA-1».

  2. Ikke hardkod algoritmer

    Algoritmevalg hører hjemme i konfigurasjon eller policy, ikke spredt i koden. Da kan de endres uten kodeendring og utrulling av alt.

  3. Merk data med algoritme og versjon

    Sørg for at signaturer, chifferdata og nøkler bærer en identifikator for hva som er brukt. Da kan du lese gamle data samtidig som du skriver nye med ny algoritme.

  4. Støtt flere algoritmer parallelt

    Protokoller bør forhandle algoritmer og gjerne støtte hybrid. Unngå «alt eller ingenting»-brytere.

  5. Automatiser sertifikater og nøkler

    Korte levetider og automatisk fornyelse (for eksempel ACME) gjør bytte av nøkler og algoritmer til en vane i stedet for et prosjekt.

  6. Dimensjoner for større størrelser

    Felter, buffere, databasekolonner, protokollpakker og minne må tåle nøkler og signaturer på flere kilobyte.

  7. Test bytter

    Ha automatiske tester som kjører med flere algoritmesett, og øv på å skifte i testmiljø jevnlig. Det du ikke øver på, virker ikke når det trengs.

  8. Hold inventaret oppdatert

    Se kryptografisk inventar. Agilitet uten oversikt er bare håp.

Anti-mønstre

Modenhetsnivåer

Enkel modell for kryptoagilitet
NivåBeskrivelse
0. UkjentIngen oversikt over hvor kryptografi brukes.
1. KartlagtInventar finnes, men algoritmer er hardkodet og byttes ved omskriving.
2. KonfigurerbarAlgoritmevalg kan endres i konfigurasjon, men bytte krever manuelt arbeid per system.
3. SentralisertPolicy og kryptobiblioteker er sentrale. Bytter kan rulles ut sentralt og testes.
4. AutomatisertSertifikater, nøkler og algoritmer fornyes automatisk. Nye algoritmer kan rulles ut gradvis med målinger og tilbakerulling.

De fleste virksomheter ligger i dag på nivå 0–2. Målet i denne omgangen er nivå 2 eller 3 for de viktigste systemene.

Utstyr som ikke kan oppdateres

For maskinvare og innebygde systemer er agilitet vanskeligere. Se på:

Vanlige spørsmål

Hva er forskjellen på kryptoagilitet og kvantesikkerhet?

Kvantesikkerhet betyr at en algoritme tåler kvantedatamaskiner. Kryptoagilitet betyr at systemet kan bytte algoritme når det trengs. Du trenger begge: det første for denne omgangen, det andre for den neste.

Koster kryptoagilitet mye?

Det koster mest å ettermontere. For nye systemer er det i hovedsak en designdisiplin: sentrale biblioteker, konfigurasjon i stedet for hardkoding og testing.