Er Q-Day like rundt hjørnet? Har den allerede vært her? Vi kan ikke si det med sikkerhet, men fagfolk mener at Q-Day ligger bak oss. I denne artikkelen skal vi se nærmere på hvordan man kan bruke kvantesikre kryptoalgoritmer for å motstå kvantetrusselen.

Kvantedatamaskiner (især de av typen CRQC) er en trussel for alt innhold låst ned med de mest vanlige kryptografiske algoritmene vi benytter i dag.

Hemmeligholdt informasjon vil kunne høstes inn og dekryptes seinere (harvest now – decrypt later) når CRQC-er blir tilgjengelige.

Tiltak kan gjøres nå. Spesielt viktig er det for sensitiv informasjon som utveksles over et offentlig medium, og som samtidig er sensitiv på Q-Day.

Denne artikkelen setter lys på problemstillingen og mulige løsninger.

Hva kan teknikere gjøre for å motstå kvantetrusselen?

Q-Day nærmer seg. Mange fagfolk mener at følgende er god praksis for å motstå trusselen fra kvantedatamaskiner. Teknikere kan følge disse prinsippene:

HASH (også benyttet i mange passord-algoritmer): velg minimum SHA-384

IPSEC (VPN): bruk minimum AES-256 (til symmetrisk kryptering)

IPSEC med IKEv2:
(a) Følg RFC 8784 (preshared key i IKE). I firmware kalles verdien ofte for PPK.
(b) Følg RFC 9242 og 9370 (hybridnøkler). Kan gjerne kombineres med (a).

I hybridnøkler benyttes både klassisk og PQC nøkkelutveksling (KEMs, key-encapsulation mechanisms) for å motstå Shors algoritme.

NIST har publisert forslag til PQC-algoritmer som skal ha enda sterkere motstand mot kvantetrusselen enn klassiske kryptoalgoritmer. Vurder å bruke disse om de er tilgjengelige hos din utstyrsleverandør. Algoritmen FIPS 203 er designet for bruk i nøkkelutveksling.

Resten av teksten gir en kort innføring i hvordan kommunikasjon over Internett sikres mot innsyn og hva kvantetrusselen bringer til bordet. Til slutt er et avsnitt med et par eksempler på hvordan kvantevern benyttes i dag. Etter artikkelen finner du en begrepsliste med forklaringer på noen av forkortelsene brukt i artikkelen.

Hvordan kan vi forstå kvantetrusselen?

En av drivkreftene bak utviklingen av kvantedatamaskiner er preget av et ønske om ha et verktøy som med rå kraft og kløkt skal kunne knekke all kryptering.

En trusselaktør trenger to komponenter for å kunne gjøre dette: (a) effektive algoritmer for å finne nøkkelen brukt i krypteringen og (b) en kryptografisk relevant kvantedatamaskin (CRQC).

Når det gjelder algoritmer så finnes to eksempler på slike allerede: Shors og Grovers algoritmer. Disse har vært tilgjengelige en god stund.

Hvordan foregår kryptert kommunikasjon i dag?

Symmetrisk kryptering benyttes for store datamengder
Symmetriske algoritmer benyttes for den reelle datastrømmen. Utfordringen er at dette krever en nøkkel som er avtalt på forhånd, såkalt preshared key (PSK).

Før 1970-tallet ble denne utvekslet out-of-band (altså via et annet – og privat – medium). Etter at asymmetriske algoritmer ble funnet opp kunne man gjøre nøkkelutvekslingen over et offentlig medium.

Asymmetrisk kryptering for utveksling av preshared key
I asymmetrisk kryptering er endepunktene utstyrt med hvert sitt nøkkelpar. Nøkkelparene består av en offentlig kjent del og en privat del. Dersom man kjenner begge deler, er det enkelt å gjøre dekrypt. Den offentlige delen benyttes til kryptering.

Shors algoritme kan raskt knekke asymmetrisk kryptering

En mye brukt algoritme er RSA, og for denne er nøklene veldig lange primtall. Om man har en asymmetrisk kryptert datastrøm, kan Shors algoritme finne primtallene i nøkkelparet.

Med vanlige datamaskiner er dette så å si umulig. Vi snakker om at det vil ta hundrevis av år. En CRQC vil kunne redusere dette til sekunder.

Hvorfor er asymmetrisk kryptering viktig?
Det er to forhold som gjør asymmetriske algoritmer helt nødvendige:

1) Endepunktene trenger ikke å utveksle preshared key out-of-band. Et viktig eksempel er når man surfer på Internett. Uten asymmetrisk kryptering ville all bruk av sosiale medier vært synlig for alle som kan kopiere datastrømmen.

2) Forebygge konsekvensene av kompromittert preshared key. Man bruker kortvarige (ephemeral) session keys for å oppnå PFS.

Mulige løsninger for å motstå Shors algoritme
1) Dersom man blander inn en preshared key (PSK) vil Shors algoritme ikke fungere. RFC 8784 beskriver hvordan dette gjøres i IPSEC VPN.

2) Øke lengden på både privat og offentlig del i nøkkelparet. Ulempe: Jo lengre nøkler, desto større regnekraft er nødvendig i endepunktene.

3) Ta i bruk hybridnøkler, som definert i RFC 9242 og 9370. Man baserer seg på flere KEMs (key-encapsulation mechanisms) samtidig. Standarden åpner for i alt åtte KEMs. Løsningen med hybridnøkler følger her et mye brukt prinsipp i cybersikkerhet – løkmodellen. Alle lag må brytes for å komme til hva man ønsker å beskytte.

Grovers algoritme halverer søketiden for å knekke symmetrisk kryptering

Det er mulig å benytte rå kraft for å finne nøkkelen brukt i symmetrisk kryptering. I tillegg kan man få hjelp av Grovers algoritme. Den kan potensielt halvere søketiden etter nøkkelen for en datastrøm.

Mulige løsninger for å motstå Grovers algoritme
1) For å motvirke denne trusselen er det god praksis å bytte symmetriske nøkler relativt ofte. Vi kaller disse session keys.

2) Man kan også doble nøkkellengden. Om AES-128 kan knekkes med rå kraft innen rimelig tid vil AES-256 være godt nok.

Kvantevern – framtiden er PQC og QKD

NIST benytter uttrykket postquantum cryptography om systemer som ikke skal la seg knekke så lett av kvantedatamaskiner.

PQC-algoritmen CRYSTALS-Kyber er relevant i VPN (for etablering av preshared key). SIGNAL benytter denne algoritmen dersom du har en av de nyere versjonene av appen.

En kan si at de viktigste utfordringene med krypteringen er knyttet til preshared key. Vi ønsker at nøklene er så lange som mulig. Dette begrenses av regnekapasitet i endepunktene. Videre ønsker vi en trygg og enkel måte å utveksle nøklene på. Dette siste kan faktisk løses med kvanteteknologi.

Quantum Key Distribution (QKD) vil kunne gi en tilnærmet out-of-band nøkkelutveksling. Implementasjonene til nå er begrenset til optisk fiber der man benytter en av egenskapene i kvantepartikler som vil gi avlyttingstrygge kanaler.

Om noen ‘lytter på linja’ vil endepunktene vite det og kan derfor konstatere at nøkkelen kan være kompromittert. Symmetrisk kryptering foregår som før.

Kvantetrusselen er et tema som vil engasjere flere av oss fremover. Samtidig er det ukjent terreng for de fleste.

Dette har vært en innføring. Jeg håper den kan være til inspirasjon for videre arbeide med temaet.


Begrepsliste – begreper for å forstå kvantetrusselen


CRQC (Cryptographically Relevant Quantum Computer): Dette er en kvantedatamaskin som er skreddersydd for å knekke kryptering. En slik maskin vil kunne knekke koder i lineær tid. Der ville en ordinær datamaskin trengt eksponentiell tid. Begge maskintyper øker tidsforbruket med lengden på krypteringsnøkkelen, men en CRQC vil altså være mer forutsigbar fordi den har en lineær tidskurve.

HASH: Når man lager en hashverdi til en datamengde bruker man en matematisk funksjon for å finne en tegnstreng med en forhåndsbestemt lengde. Denne strengen er unik for en gitt datamengde. Det er som et slags digitalt fingeravtrykk. Prosessen er mye brukt i passordkontroll fordi det å regne ut hashverdien til et passord er lett. Det å gå fra hash til selve passordet er mye mye mere krevende. Passordsystemer lagrer derfor gjerne hashverdier og ikke de faktiske passordene.

PFS (Perfect Forward Secrecy): Man stykker opp kommunikasjonen i bolker som benytter hver sin unike session key. Disse nøklene kastes etter bruk. Hvis et endepunkt blir kompromittert så vil et opptak av en kryptert datastrøm ikke kunne dekryptes i sin helhet. Det holder ikke å kjenne nøkkelparet til endepunktet for å kunne dekrypte den komplette datastrømmen.

PPK (Postquantum Preshared Key): Denne brukes for VPN med IPSEC IKEv2. Nøkkelutveksling i phase 1 foregår på vanlig vis, men preshared key blandes inn i asymmetrisk nøkkel slik at Shors algoritme ikke fungerer.

Q-DAY eller Y2Q: Den dagen når tradisjonelle kryptografiske algoritmer ikke er gode nok til å holde ting hemmelig og kan lett brytes av en kvantedatamaskin.

VPN og IPSEC: Privat kommunikasjonskanal over offentlige nettverk. Det vil i praksis si Internett. VPN kan basere seg på IPSEC, der symmetrisk algoritme benyttes i den reelle datastrømmen (phase 2). Før dette (phase 1) gjør endepunktene en IKE (Internet Key Exchange) der nøkkelen til den symmetriske krypteringen avtales via en kanal som benytter asymmetrisk kryptering.