Beskrivning
Vi har förlitat oss på algoritmer som RSA och ECC i åratal för att skydda allt från e-postmeddelanden till programuppdateringar. De har hållit sig ganska bra så länge angripare inte har en kvantdator. Men det är problemet: kvantberäkning är inte längre bara en teoretisk idé. Det går tillräckligt snabbt för att kryptografer på allvar funderar på vad som händer när dessa maskiner blir praktiska.
Kvantdatorer knäcker saker på ett väldigt specifikt sätt. De gör inte bara våra system snabbare; de gör vissa kryptografiska problem triviala, som att faktorisera stora tal (vilket bryter RSA) eller lösa diskreta logaritmiska problem (vilket bryter ECC). Det betyder att om vi fortsätter att använda nuvarande algoritmer kan allt som krypteras eller signeras idag knäckas i framtiden, när en kvantdator kommer ikapp.
Det är här post-kvantkryptografi träder in. Det handlar inte om att laga trasiga system, det handlar om att framtidssäkra dem. Vi behöver nya algoritmer som förblir säkra även om kvantdatorer blir verklighet. Det är precis det problemet som ML-KEM är byggt för att lösa.
Översikt över ML-KEM
ML-KEM står för Module-Lattice Key Encapsulation Mechanism och är en del av den nya uppsättningen kryptografiska algoritmer som NIST valt ut för att skydda mot kvanthot. Du kanske har hört talas om Kyber ML-KEM, vilket i princip är Kyber med ett formellt namn i takt med att företaget går mot standardisering.
I grund och botten hjälper ML-KEM två system att upprätta en delad hemlighet över en osäker anslutning. Det är som Diffie-Hellman eller RSA-baserat nyckelutbyte, men byggt för att motstå kvantattacker. Det gör det perfekt för att säkra kommunikationen mellan appar, system och till och med hårdvara som HSM:er, särskilt i känsliga arbetsflöden som kodsignering.
Varför spelar detta roll nu? Eftersom många mjukvaruleverantörer, certifikatmyndigheter, och säkerhetsverktyg tänker redan framåt. Om du bygger system som kommer att användas om 5 eller 10 år kan du inte längre ignorera kvantmekanismvinkeln. ML-KEM hjälper till att säkerställa att dina nyckelutbytesmekanismer inte blir morgondagens svagaste länk.
Vad är ML-KEM?
Ursprunget till ML-KEM från Kyber
ML-KEM dök inte upp från ingenstans. Det är faktiskt det formella namnet på en beprövad algoritm som heter Kyber, som har funnits ett tag i postkvantkryptografikretsar. När NIST (National Institute of Standards and Technology) anordnade en global tävling för att välja nya kryptografiska standarder som kan stå emot kvantattacker, stack Kyber ut.
Efter åratal av tester, diskussioner och säkerhetsutvärderingar gav NIST det grönt ljus 2022 som sin utgångsalgoritm för nyckelutbyte i en kvantsäker värld. Som en del av att färdigställa standarden döptes Kyber om till ML-KEM, vilket står för Module-Lattice-baserad nyckelinkapslingsmekanism. Tänk på det som den officiella versionen av Kyber som nu antas i verkliga system.
ML-KEM:s jobb: En kvantsäker KEM
Så, vad gör egentligen ML-KEM? Det är en Key Encapsulation Mechanism eller KEM förkortat. Enkelt uttryckt används den för att säkert utbyta en delad hemlig nyckel mellan två parter via en osäker anslutning. Detta är det viktigaste steget i många kryptografiska system: du och någon annan måste komma överens om en hemlighet som ingen annan kan se, även om de tittar på allt du skickar.
Traditionellt har vi använt algoritmer som RSA och Elliptic Curve Diffie-Hellman för detta. Men de kommer inte att överleva en kvantattack. ML-KEM ersätter detta – det låter dig inkapsla (eller "slå in") en delad hemlighet på ett sätt som är säkert även om någon har tillgång till en framtida kvantdator.
Och precis som med traditionella KEM:er kan den delade hemligheten, när den har utbytts, användas för symmetrisk kryptering, som AES, för att skydda data eller signera programvarupaket under transport.
Varför ML-KEM fungerar: MLWE-problemet
Under huven är ML-KEM byggt på något som kallas Module Learning With Errors-problemet, eller MLWE förkortat. Det här låter komplicerat, men här är huvuddragen:
Tänk dig att du försöker lösa ett enkelt matteproblem där någon avsiktligt har lagt till lite brus i svaret. Du kanske fortfarande kommer nära, men att knäcka det perfekt, särskilt över många dimensioner, är otroligt svårt. Det är kärnan i MLWE: det är baserat på matteproblem som är lätta att beräkna på ett sätt men smärtsamt svåra att vända på, särskilt när brus involveras.
Den här typen av matematik håller även när en kvantdator är inblandad. Det är därför MLWE-baserade algoritmer som ML-KEM anses vara säkra kort för framtiden. Det är inte bara teori; det här problemet har analyserats i åratal, och ingen har hittat ett praktiskt sätt att lösa det med vare sig klassiska eller kvantmetoder.
Hur ML-KEM fungerar
Låt oss gå igenom vad som faktiskt händer när du använder ML-KEM för att säkert utbyta en nyckel. Det är snabbt, effektivt och fungerar ungefär som en säker digital handskakning med lite rejäl matematik bakom kulisserna.
Nyckelgenerering
Först ut: nyckelgenerering. Det är här en part (låt oss säga en server) skapar en offentlig nyckel och en privat nyckel. Den offentliga nyckeln delas med andra, och den privata nyckeln förvaras säkert och lämnar aldrig systemet.
Tänk på det så här:
- Offentlig nyckel: Ett lås du delar ut till alla som vill skicka dig en hemlighet.
- Privat nyckel: Nyckeln som öppnar låset och låter dig läsa den hemligheten.
I ML-KEM är dessa nycklar baserade på gittermatematik (specifikt MLWE-problemet), vilket gör dem starka mot attacker från kvantdatorer.
Inkapsling och dekapsling
Nu kommer inkapslingsdelen.
Anta att en klient vill skicka en delad hemlighet till servern. Här är vad som händer:
- Klienten använder serverns publika nyckel för att skapa en chiffertexten (ett förvrängt meddelande).
- Tillsammans med chiffertexten genererar klienten också en delad hemlig nyckel.
- Chiffertexten skickas över till servern.
Sedan kommer dekapsuleringen:
- Servern använder sin privata nyckel för att dekryptera chiffertexten.
- Den hämtar samma delade hemliga nyckel som klienten genererade.
Nu har båda sidor exakt samma hemlighet, utan att faktiskt skicka nyckeln över nätverket. Även om någon avlyssnar kan de inte lista ut hemligheten, eftersom de skulle behöva den privata nyckeln, och att lösa matteproblemet utan den är praktiskt taget omöjligt (även för kvantmaskiner).
Säkerhetsnivåer: ML-KEM-512, 768, 1024
ML-KEM finns i tre nivåer, där var och en erbjuder en annan säkerhetsnivå:
- ML-KEM-512: Rekommenderas för de flesta användningsfall, ungefär motsvarande 128-bitars klassisk säkerhet.
- ML-KEM-768: Ett steg upp, som erbjuder cirka 192-bitars säkerhet.
- ML-KEM-1024: Högsta nivån, med 256-bitars säkerhet, perfekt om du säkrar saker som verkligen inte kan riskeras.
Varje nivå ökar storleken på nycklarna och chiffertexterna något, men ökar också svårigheten för angripare som försöker bryta krypteringen. Kort sagt: välj den nivå som passar din riskprofil och dina prestandabehov.
Motståndskraft mot kvantattacker
Så, hur är ML-KEM "kvantsäkert"? Här är den enkla idén: ML-KEM är baserat på gitterproblem som är svåra att lösa även för kvantdatorer. Algoritmer som Shors (som bryter RSA och ECC) hjälper inte mycket här. Och trots åratal av kryptanalys har ingen kommit på hur man effektivt kan bryta MLWE-baserade system med kvanttekniker.
Faktum är att en av anledningarna till att Kyber (nu ML-KEM) valdes av NIST beror på att den hittade en solid balans mellan prestanda och kvantmotstånd. Den är tillräckligt snabb för praktisk användning, men ändå stödd av gedigen matematik som gör kvantattacker till ett no-go.
ML-KEM i NIST PQC-standardiseringsprocessen
NISTs roll i postkvantstandardisering
National Institute of Standards and Technology (NIST) är inte bara ytterligare en förkortning inom kryptografi; de är i grunden bedömarna. När det gäller vilken kryptering som används i myndigheter, kritisk infrastruktur och stora industrisystem, avgör NIST vad som är säkert och vad som är föråldrat.
År 2016 startade NIST en global tävling för att hitta kryptografiska algoritmer som kunde stå emot kvantdatorer. Idén var enkel: låt forskare skicka in sina bästa idéer, attackera dem med alla kända idéer och se vad som överlever.
Av över 80 bidrag var det bara ett fåtal som nådde mållinjen. En av dem var Kyber, som nu bär namnet ML-KEM som en del av den officiella standarden.
Varför Kyber (ML-KEM) valdes
Så varför slog Kyber konkurrenterna?
Här är vad som gjorde att den stod ut:
- Stark säkerhetsgrundBaserat på problemet Module Learning With Errors (MLWE), vilket är allmänt betrott i kryptovärlden.
- Effektiv prestanda: Den är snabb och kräver inga stora nycklar eller chiffertexter. Utmärkt för verkliga system, inklusive enheter med låg strömförbrukning.
- Ren design: Till skillnad från vissa andra kandidater hade Kyber en enkel, väl dokumenterad implementering som gjorde granskning och integration enklare.
- Bred support: Det blev populärt i tidiga prototyper och öppen källkodsbibliotek som OpenQuantumSafe, så det hade redan momentum.
Resultatet? NIST valde Kyber för standardisering och döpte om det till ML-KEM år 2022. Det gör det till framtidens officiella postkvant-KEM.
ML-KEM kontra traditionella nyckelutbytesalgoritmer (RSA/ECC)
Låt oss vara ärliga, RSA och ECC har gjort sitt jobb ganska bra under åren. De finns bakom kulisserna med dina HTTPS-anslutningar, säker e-post, VPN och ja, till och med kodsignering. Men med kvantberäkning som närmar sig är det dags att titta på vad som händer när vi jämför dessa klassiker med ML-KEM, postkvantalternativet.
Prestanda
När det gäller hastighet håller ML-KEM sig faktiskt förvånansvärt bra.
- RSA blir långsammare när du ökar nyckelstorlekarna (vilket du måste göra för bättre säkerhet).
- ECC är snabbare än RSA men inte utformad för att hantera kvantresistens.
- ML-KEM är utformat för prestanda med säkerhet i åtanke. Det är snabbt både vid nyckelgenerering och inkapsling/dekapsling, till och med snabbare än RSA i många fall.
För verkliga användningsfall som TLS eller kodsigneringsinfrastruktur gör detta ML-KEM till en seriös uppgradering, inte bara en reserv.
Nyckelstorlekar
Här blir siffrorna intressanta:
| Algoritm | Storlek på offentlig nyckel | Chiffertextstorlek | Säkerhetsnivå |
|---|---|---|---|
| RSA-2048 | ~256 byte | ~256 byte | ~112-bitars |
| ECC (P-256) | ~64 byte | ~64 byte | ~128-bitars |
| ML-KEM-512 | ~800 byte | ~768 byte | 128-bitars PQ |
| ML-KEM-768 | ~1200 byte | ~1088 byte | 192-bitars PQ |
Ja, ML-KEM-nycklar och chiffertexter är större än ECC och RSA, men de är fortfarande tillräckligt små för att fungera effektivt i de flesta system. De är också mycket mindre än vissa andra postkvantalgoritmer som NIST inte valde.
Säkerhetsantaganden
- RSA förlitar sig på svårigheten att faktorisera stora tal.
- ECC är beroende av att lösa problemet med diskret logaritmisk elliptisk kurva.
- Båda dessa förstörs av kvantdatorer med hjälp av Shors algoritm.
ML-KEM, å andra sidan, är baserat på gitterproblem, specifikt MLWE. Dessa är inte bara resistenta mot kända kvantattacker; de har studerats i åratal utan större sprickor. Det är därför ML-KEM anses säkert även i framtiden när man arbetar med kvantmaskiner.
Så om du vill att ditt system ska vara säkert om 10–15 år är ML-KEM det smartare valet.
Påverkan på resursbegränsade miljöer
Man skulle kunna tro att större tangenter skulle göra ML-KEM svår att använda på små enheter, men det är faktiskt förvånansvärt effektivt.
- Till skillnad från vissa PQ-algoritmer som kräver mycket minne eller CPU, håller ML-KEM det enkelt.
- Den har testats på allt från molnservrar till mikrokontroller, och den presterar bra över hela linjen.
- Många TLS- och VPN-prototyper fungerar redan utan problem med ML-KEM på mobiltelefoner och inbyggda chips.
Visst, om du försöker köra kryptografi på en sensor som drivs av ett knappcellsbatteri måste du testa noggrant. Men i de flesta verkliga fall är ML-KEM tillräckligt snabb och lätt för att få jobbet gjort även där ECC brukade glänsa.
ML-KEM:s roll i kodsignering
Hur kodsignering fungerar
Kodsignering är hur programvaruutgivare bevisar att deras app eller uppdatering inte har manipulerats. Här är det grundläggande flödet:
- Utgivaren hashar koden (för att skapa ett digitalt fingeravtryck).
- Den hashen är signerad med en privat nyckel.
- När användare eller system tar emot programvaran verifierar de signaturen med hjälp av den matchande offentliga nyckeln, vanligtvis lagrad i ett certifikat.
Om signaturen stämmer är koden betrodd. Om inte, flaggas den. Enkelt nog, men hela processen är beroende av krypto med offentlig nyckel, vanligtvis RSA eller ECC, för att göra den trovärdig.
Vad är problemet? Kvanttekniken bryter det
Traditionell kodsignering använder algoritmer som RSA och ECC, vilket fungerar bra tills en kvantdator kommer in i bilden.
- Kvantdatorer kan knäcka RSA och ECC med hjälp av Shors algoritm.
- Det betyder att angripare en dag skulle kunna förfalska signaturer, och ditt system skulle inte ha någon aning om att det har blivit lurat.
Även om kvantdatorer inte finns här än, skulle angripare kunna skörda signerad kod och certifikat nu och förstöra dem senare. Det är ett stort problem för långlivad kod (som firmware eller OS-uppdateringar) eller allt som lagras offline.
Varför ML-KEM är viktigt för signeringssystem
ML-KEM ersätter inte digitala signaturer, men spelar en viktig stödjande roll, särskilt i system där:
- Signering sker via ett nätverk
- Hemligheter måste utväxlas säkert
- Du vill gå mot post-kvantumberedskap utan att ge upp stödet för dagens klienter.
Här passar ML-KEM in i bilden: det ger dig ett kvantsäkert sätt att utbyta krypteringsnycklar mellan system som behöver samordna sig runt kodsigneringDet är särskilt användbart i hybridkryptomodeller, där man kombinerar traditionella signeringsalgoritmer med postkvantkomponenter.
Tänk på ML-KEM som det säkra handslaget bakom kulisserna som skyddar nycklar, inloggningsuppgifter och signeringskommandon även om någon tittar på.
Hur ML-KEM passar in i signeringsarbetsflödet
- Certifikatprovisionering
När du begär ett kodsigneringscertifikat från en CA kan ML-KEM användas för att:
- Kryptera privata nycklar eller utmana svar under etablering.
- Gör hela utbytet kvantsäkert, så att angripare inte kan fånga upp eller spela upp det flera år senare.
- Kombinera med traditionella nyckelpar i hybridcertifikatförfrågningar, där både RSA/ECC- och post-quantum-autentiseringsuppgifter ingår.
- Signera kommunikation mellan server och klient
Många företag använder en fjärrsigneringsserver (eller HSM) som hanterar privata nycklar. ML-KEM kan användas för att:
- Konfigurera en säker kanal mellan klienten och signeringstjänsten.
- Skydda API-tokens, nyckelreferenser eller kommandonyttolaster från avlyssning, även av framtida kvantangripare.
- Undvik att förlita sig på RSA-baserad TLS genom att stödja kvantsäkert nyckelutbyte.
- Säkra leveranspipeliner för programvara
I automatiserad CI / CD inställningar, hemligheter överförs ofta mellan verktyg, containrar eller molntjänster. ML-KEM kan hjälpa till med:
- Kryptera tillfälliga nycklar eller signeringsinstruktioner mellan pipeline-steg.
- Se till att byggagenter eller signerare inte exponeras, även om pipelinen är offentlig.
- Lägg grunden för kvantbeständiga byggprocesser, där både transport och signering står emot framtida hot.
Integrering av ML-KEM i vår CodeSign Secure
Om du bygger eller underhåller säkra programvarupipelines är vår CodeSign Secure utformad för att göra kodsignering smartare, mer automatiserad och framtidssäker. Och med ML-KEM nu standardiserad av NIST är det dags att ta in postkvantskydd i bilden, utan att slänga allt som redan fungerar.
Verklig integration med verktyg (OpenSSL, PQCrypto-bibliotek)
Du behöver inte uppfinna allt för att börja använda ML-KEM. Tack vare aktivt arbete med öppen källkod och tidig implementering kan du redan ansluta det till många välbekanta verktyg:
- OpenSSL (via forks som [OpenQuantumSafes liboqs]) stöder ML-KEM för nyckelutbyte.
- Bibliotek som PQClean, liboqs och PQCrypto har rena, produktionsklara implementeringar.
- Vår CodeSign Secure bygger vidare på detta genom att erbjuda ML-KEM-baserade säkra kanaler mellan signeringsklienten och signeringsbackend, med hjälp av dessa välbeprövade bibliotek.
Kort sagt, vi integrerar ML-KEM i din stack utan att be dig rippa ut OpenSSL eller överge dina automatiseringsskript.
Hybridscheman (ML-KEM + RSA/ECDSA)
Låt oss vara realistiska: de flesta ekosystem förlitar sig fortfarande på RSA eller ECDSA för digitala signaturer, särskilt när kompatibilitet är viktigt (Windows Authenticode, Apple Notarization, etc.).
Så istället för att satsa all-in på post-kvantumkrypto direkt, stöder vår plattform hybridscheman, där vi kombinerar:
- RSA/ECDSA för underskrifter.
- ML-KEM för nyckelutbyte och sessionskryptering.
På så sätt, även om signaturen görs med en klassisk algoritm, förblir den privata nyckeln skyddad med hjälp av en post-kvantumkanal. Det är ett smart sätt att övergå samtidigt som allt hålls kompatibelt med befintliga förtroendemodeller och verktygskedjor.
HSM- och PKCS#11-stöd
Vår plattform stöder redan PKCS # 11 för att interagera med HSM:er, och vi utökar detta till att även stödja post-kvantumnyckelutbyten och hybridsignering.
- ML-KEM-nycklar kan lagras och hanteras med hjälp av leverantörsspecifika tillägg eller bäddas in tillsammans med traditionella nycklar.
- Vi stöder signeringsarbetsflöden där sessionen är skyddad med ML-KEM, och signeringen utförs med en PKCS#11-baserad privat nyckel (som RSA-3072 eller ECDSA-P384).
Den är helt kompatibel med Thales, nShield och andra ledande HSM:er, och vi samarbetar med leverantörer för att utöka det inbyggda stödet för ML-KEM-nycklar under PKCS#11.
Utmaningar och överväganden
Att byta till postkvantkrypto som ML-KEM är inte bara att byta växel. Det är ett steg med vissa avvägningar och ett par saker att tänka igenom, särskilt om du arbetar med kodsigneringssystem som behöver förbli tillförlitliga, snabba och kompatibla.
Avvägningar mellan prestanda och säkerhet
ML-KEM är snabb för en postkvantalgoritm, men den är inte lika lätt som ECC eller RSA när det gäller nyckel- och chiffertextstorlekar.
- Till exempel är ML-KEM-512 publika nycklar runt 800 byte, och chiffertexter är liknande, mycket större än ECC, men fortfarande hanterbara.
- Om du väljer högre säkerhetsnivåer (som ML-KEM-768 eller -1024) kan du förvänta dig ännu större nycklar och mer CPU-användning under inkapsling och dekapsling.
Så om du använder ML-KEM i exempelvis CI/CD-pipelines eller inbyggda system måste du balansera säkerhetsbehoven med hur mycket overhead ditt system kan hantera. I de flesta moderna serverkonfigurationer är det knappt märkbart, men det är något att testa.
Interoperabilitet med äldre system
Här är den klibbiga delen: många verktyg, protokoll och plattformar vet inte vad de ska göra med postkvantalgoritmer.
- De flesta operativsystem, webbläsare och mobila plattformar förväntar sig fortfarande RSA- eller ECDSA-nycklar i certifikat.
- Byggverktyg, CI/CD-plattformar och pakethanterare är ännu inte redo för fullständig PQ-krypto.
Det är därför hybridscheman är viktiga. Du kan lägga till ML-KEM i lager i handskakningen eller transporten, samtidigt som du använder RSA eller ECC där kompatibilitet är avgörande. Det är ett sätt att gå vidare utan att förstöra befintliga funktioner.
Säker förvaring och skydd av ML-KEM-nycklar
ML-KEM-nycklar, precis som alla privata nycklar, måste förvaras säkert och hanteras varsamt. Men det finns några egenheter att hantera:
- Inte alla HSM:er eller nyckelarkiv har stöd för ML-KEM ännu.
- Vissa PKCS#11-moduler kan behöva leverantörsspecifika tillägg för att lagra ML-KEM-nyckelobjekt.
- Om du använder programvarubaserad nyckellagring (inte idealiskt) behöver du starka skydd på operativsystemnivå, kryptering och åtkomstkontroll.
I vår plattform arbetar vi med HSM-baserad och krypterad containerbaserad lagring för ML-KEM-nyckelmaterial, tillsammans med stöd för export av nycklar i format som [NIST:s SP 800-56Cr1] så att du kan hålla saker och ting snygga och granskningsbara.
Slutsats
ML-KEM är inte bara en teoretisk uppgradering; det är nyckeln till att hålla dina signeringssystem säkra i en värld där kvantberäkning inte längre är science fiction. Som NIST:s toppval för postkvantnyckelutbyte formar ML-KEM redan hur moderna kryptografiska system byggs, särskilt för användningsfall som kodsignering där långsiktig säkerhet är avgörande. Oavsett om du signerar firmware, distribuerar programuppdateringar eller hanterar CI/CD-pipelines är det smart att anta att någon där ute kan lagra din signerade kod idag för att knäcka den imorgon. ML-KEM hjälper till att stänga den dörren.
Du behöver inte riva ner dina befintliga system för att börja förbereda dig. Med hybridmodeller kan ML-KEM fungera direkt tillsammans med RSA eller ECDSA, vilket säkrar handskakningen och sessionen samtidigt som signaturalgoritmen lämnas orörd för tillfället. Detta gör det enkelt att lägga till kvantumsäkert skydd i ditt kodsigneringsarbetsflöde utan att bryta kompatibiliteten med de verktyg och plattformar du redan använder. Även att lägga till ML-KEM i din signeringsserverkommunikation eller certifikatprovisioneringsprocess gör en enorm skillnad för att framtidssäkra din pipeline.
Kvantattacker kanske inte är här idag, men de kommer, och angripare spelar det långsiktiga spelet. Det är därför det ger dig en rejäl fördel att tidigt anamma post-kvantkrypto. Att börja med säkert nyckelutbyte är ett praktiskt första steg, och ML-KEM är redo för det. Du kan lägga till det i dina system idag och skala upp över tid i takt med att branschstödet växer.
Om du vill göra den här förändringen utan huvudvärk, vår kodsigneringsplattform, CodeSign Secure, är utformad för att hjälpa till. Vår plattform stöder ML-KEM för säkert nyckelutbyte, fungerar med HSM:er via PKCS#11 och låter dig köra hybridsigneringsscheman utan att ändra hur dina team bygger och släpper programvara. Oavsett om du moderniserar din signeringsinfrastruktur eller precis har börjat, ger vår plattform dig verktygen för att ligga steget före utan att kompromissa med kompatibilitet eller säkerhet.
