La Kryptografi er blevet det tavse fundament for al digital sikkerhedFra det øjeblik du låser din telefon op med fingeren til du foretager en overførsel, underskriver en onlinekontrakt eller chatter på WhatsApp, arbejder kryptografiske nøgler altid i baggrunden. Hvis disse nøgler fejler, kollapser alt andet, uanset hvor gode algoritmerne eller firewallen er.
I denne guide vil vi tage et roligt kig Hvilke typer kryptografiske nøgler findes, hvordan bruges de, og hvordan skal de administreres? så de virkelig tilbyder sikkerhed. Vi vil integrere koncepter som symmetrisk nøgle, offentlig og privat nøgle, livscyklusstyring, nøgleblokke, PKI, anbefalede algoritmer, aktuelle trusler (herunder kvanteberegning) og bedste praksis for at undgå fejl.
Hvad er en kryptografisk nøgle, og hvorfor er den så vigtig?
I ethvert moderne kryptografisk system, Nøglen er et sæt bits, der indtastes i en algoritme for at udføre operationer såsom kryptering, dekryptering, signering eller verifikation.Algoritmen er normalt offentlig (ifølge Kerckhoffs' princip), så al sikkerhed afhænger af nøglens fortrolighed og robusthed.
Mange systemer er baseret på par af komplementære operationerKryptering/dekryptering, signering/verifikation, generering af meddelelsesautentificeringskode osv. Den samme algoritme opfører sig forskelligt afhængigt af den nøgle, den modtager, og i et robust design burde det kun være muligt at bryde systemet, hvis nøglen opnås.
Desuden bruges nøgler ikke kun til at kryptere data. De bruges også til Godkend, underskrive, beskytte andre nøgler (nøgleindpakning) eller udlede nye nøglerDerfor er det så vigtigt at være klar over, hvad hver type tast bruges til, og ikke at blande funktioner tilfældigt.
Typer af nøgler i henhold til deres natur: symmetriske og asymmetriske
Generelt set er nøglerne opdelt i to hovedfamilier: symmetriske nøgler og asymmetriske nøglerDerfra opstår varianter, specifikke anvendelser og hybridordninger.
Symmetriske taster
En symmetrisk nøgle er en unik nøgle, der Det fungerer både til kryptering og dekryptering i en given algoritme. Det er den klassiske "delte nøgle"-model: afsender og modtager har præcis den samme hemmelighed.
Denne type nøgle skiller sig ud ved sin effektivitet: Den er ideel til kryptering af store datamængder (fulde diske, databaser, sikkerhedskopier, højtydende netværkstrafik…). Typiske algoritmer baseret på symmetriske nøgler er DES (nu forældet), 3DES/TDEA og frem for alt AES.
Ulempen er tydelig: Vi skal finde en sikker måde at dele nøglen påHvis nogen opsnapper den hemmelighed under udvekslingen, kompromitteres hele systemet. Desuden gælder det, at jo flere deltagere der deler den samme nøgle, desto større er angrebsfladen.
Asymmetriske nøgler (offentlig nøgle / privat nøgle)
Asymmetrisk kryptografi fungerer med matematisk relaterede nøgleparEn offentlig nøgle og en privat nøgle. Det, der er krypteret med den ene, kan kun dekrypteres med den anden, og det burde være beregningsmæssigt umuligt at udtrække den private nøgle fra den offentlige nøgle.
I denne model den offentlige nøgle distribueres frit (i certifikater, mapper, servere) og bruges til at kryptere eller verificere signaturer, mens Den private nøgle opbevares under streng fortrolighed. og bruges til dekryptering eller signering. Kombinationen af begge kaldes et nøglepar.
Typiske eksempler på asymmetriske ordninger er RSA, DSA og de elliptiske kurvebaserede varianter (ECC, ECDSA, ECDH)I praksis er asymmetrisk kryptering langsommere og håndterer mindre data, så den er normalt reserveret til at indstille sessionsnøgler, udveksle hemmeligheder eller underskrive dokumenter, ikke til at kryptere store filer.
Hybrid kryptografi
For at udnytte det bedste fra begge verdener bruger næsten alle løsninger i den virkelige verden hybride ordningerDen asymmetriske nøgle bruges til at beskytte eller udveksle en symmetrisk nøgle, og derefter krypteres al datatrafik med den symmetriske nøgle.
Dette er den strategi, der følges, for eksempel TLS ved browsing via HTTPSBrowseren og serveren bruger en asymmetrisk nøgleudveksling (RSA, ECDHE eller i stigende grad post-kvantemekanismer) til at blive enige om en sessionsnøgle, og derfra sendes indholdet beskyttet med AES-GCM eller anden moderne symmetrisk kryptering.
Vigtigste algoritmer og anvendelser af kryptografiske nøgler
Nøglerne er forbundet med forskellige typer algoritmer og formålEn diskkrypteringsnøgle er ikke det samme som en kodesigneringsnøgle eller en nøgle til godkendelse af meddelelser.
Kryptering af hemmelige nøgler: strømme og blokke
I hemmelig nøglekryptografi kan vi skelne mellem strømcifre og blokcifreStreamprocessorer behandler klartekst bit for bit eller byte for byte, mens blokprocessorer arbejder med blokke med fast størrelse (f.eks. 128 bit) og derefter kæder disse blokke sammen ved hjælp af forskellige driftstilstande.
De mest relevante blokchiffere i den nuværende praksis er 3DES (nu udfaset) og frem for alt AESAES understøtter 128, 192 og 256-bit nøgler og er blevet de facto standarden for næsten alt: VPN'er, TLS, diskkryptering, cloudlagring...
Det er vigtigt at forstå, at sikkerhed ikke kun afhænger af algoritmen, men også af hvordan tasten bruges i driftstilstandeneÆldre tilstande som ECB er en katastrofe, fordi de afslører klartekstmønstre; anbefalede moderne tilstande (CBC med forsigtighed, CTR, GCM) kræver unikke og velgenererede IV'er eller noncer.
Kryptering med offentlig nøgle: RSA, ECC og mere
I den offentlige nøglefamilie er veteranen RSA, baseret på sværhedsgraden af faktorisering af et tal N bestående af to store primtalMed en moderne padding som RSA-OAEP bruges den til at kryptere små dataportioner, typisk symmetriske nøgler.
Parallelt hermed er elliptisk kurvekryptografi (ECC) blevet udbredt, hvilket muliggør meget kortere nøgler for et sammenligneligt sikkerhedsniveauKurver som P-256 eller X25519 bruges i vid udstrækning i TLS, end-to-end krypteret beskedudveksling og moderne VPN'er som WireGuard.
Inden for asymmetrisk kryptografi har vi også ordninger for digital signatur Specifikke: RSA-PSS, DSA, ECDSA og nyere varianter såsom Ed25519 eller post-kvantealgoritmer (ML-DSA, SLH-DSA), alle baseret på offentlige/private nøglepar.
Kryptografiske hashfunktioner og tilhørende nøgler
Selvom en hashfunktion ikke bruger en nøgle til at generere digestet, bliver den "nøgleafhængig", når den kombineres i mekanismer som f.eks. HMAC (hash-baseret meddelelsesgodkendelseskode)hvor en symmetrisk nøgle bruges sammen med hashen til at autentificere meddelelser.
Moderne hashfunktioner som f.eks. SHA-256 og SHA-3 De er kernen i mange anvendelser: verifikation af filintegritet, blockchains, digitale signaturer, lagring af adgangskoder (med salt- og afledningsfunktioner som bcrypt, scrypt eller Argon2) og opbygning af post-kvante hash-baserede algoritmer.
Nøgler til digitale signaturer og godkendelse
Digitale signaturer giver dig mulighed for at bevise det En specifik besked blev udsendt af den person, der hævdede at være afsenderen. og at den ikke er blevet ændret. For at gøre dette bruges underskriverens private nøgle til at underskrive beskedens hash, og den offentlige nøgle bruges til at bekræfte denne signatur.
Denne mekanisme giver autentificering, integritet og uafviselighedDerfor bruges det til at underskrive juridiske dokumenter, kodesignering, digitale certifikater, finansielle transaktioner, digitale identitetssystemer og stort set enhver proces, der kræver stærke beviser for, hvem der gjorde hvad og hvornår.

Generelt kryptografisk sikkerhedsrammeværk: grundlæggende egenskaber
For at forstå nøglernes rolle er det nyttigt at huske sikkerhedsegenskaber, som moderne kryptografi forfølgerbåde i transit og i hvile:
- fortrolighedKun autoriserede parter, der kender den korrekte nøgle, bør kunne læse de krypterede oplysninger.
- integritetEnhver ændring i dataene, selv en enkelt bit, skal kunne detekteres ved hjælp af hashes, MAC'er eller signaturer.
- autentificeringSystemet skal kunne verificere afsenderens og modtagerens identitet samt beskedens oprindelse.
- Jeg afviser ikkeAfsenderen må ikke kunne benægte, efter at de har sendt en besked signeret med deres private nøgle.
- God adgangskodehåndteringSikker generering, distribution, opbevaring, rotation og tilbagekaldelse af nøgler.
Hvis et af disse ben svigter, Ordningens samlede sikkerhed liderSelv hvis den matematiske algoritme er perfekt, er nøglehåndtering lige så, hvis ikke vigtigere, end at vælge en god krypteringsmetode.
Den vigtigste livscyklus: end-to-end-styring
Kryptografisk nøglehåndtering minder meget om certifikathåndtering, men med nogle forskelle: Hver nøgle gennemgår faser med generering, distribution, opbevaring, brug, rotation, tilbagekaldelse og udløb.At gøre dette manuelt med Excel-regneark er en opskrift på katastrofe.
Nøglegenerering
Udgangspunktet er altid et robust nøglegenereringTo faktorer er afgørende her: nøglens længde og kvaliteten af den anvendte tilfældighed.
Med hensyn til længde er de størrelser, der anbefales af standarder som NIST 800-57 og andre aktuelle dokumenter, generelt følgende: 128 eller 256 bit for symmetriske nøgler (AES), minimum 2048 bit for RSA og 256 eller 384 bit ECC-nøgler Til krævende miljøer. Jo længere tasten er, desto hårdere er brute-force-angrebet, selvom beregningsomkostningerne også stiger.
Med hensyn til tilfældighed er det vigtigt at bruge kryptografisk sikre pseudotilfældige talgeneratorer (CSPRNG'er)som, givet tilstrækkelig entropi, producerer uforudsigelige sekvenser. Hvis kilden til tilfældighed er dårlig eller forudsigelig, kan nøglen falde inden for rækkevidde af en sofistikeret angriber.
I dag tilbyder moderne platforme sikre API'er til generering af nøgler: getrandom på Linux, BCryptGenRandom på Windows, sikre funktioner i kryptografiske biblioteker specialiseret… Du bør aldrig bruge generelle funktioner som rand() til dette.
Nøgledistribution og -udveksling
Når nøglerne er genereret, skal de nå ud til dem, der har brug for dem. nøglefordeling Dette er et af de mest risikable øjeblikke, især når vi taler om symmetriske nøgler, der deles mellem forskellige enheder.
For at reducere denne risiko anvendes mekanismer som f.eks. PKI (Public Key Infrastructure), protokoller som SSL/TLS, VPN'er og nøglehåndteringssystemer (KMS)I disse ordninger kan den offentlige nøgle cirkulere frit, mens den private nøgle aldrig bør forlade sit sikre miljø.
Under udvekslingen, Kommunikationskanaler skal beskyttes (for eksempel med robust TLS, verificerede certifikater og gensidig autentificering (hvis relevant). Derudover skal transport- eller nøglekrypteringsnøgler (KEK) være tydeligt mærket og adskilt fra de nøgler, der beskytter brugerdata.
Sikker nøgleopbevaring
Opbevaring er et andet vigtigt element: En privat nøgle gemt i almindelig tekst i en fil eller i kildekoden er en gave til enhver angriber.Derfor anvendes forskellige løsninger afhængigt af miljøet og det nødvendige sikkerhedsniveau.
Blandt de sædvanlige muligheder finder vi kryptografiske nøglehvælvinger, HSM (hardwaresikkerhedsmoduler)Cloudbaseret KMS og operativsystemnøglelagreIdeen er, at nøglerne forbliver krypterede i hviletilstand og kun dekrypteres, når en autoriseret proces har brug for dem, idet der vedligeholdes adgangslogfiler.
HSM'er tilbyder et ekstra lag: Nøglerne forlader aldrig hardwaren i almindelig tekstog eventuelle kryptografiske operationer udføres i selve modulet. I PCI-miljøer, bankvirksomhed og store tillidsinfrastrukturer er brugen af certificerede HSM'er praktisk talt obligatorisk.
Rotation, tilbagekaldelse og udløb
Nøgler holder ikke evigt. Faktisk, Det er en forfærdelig idé at skulle beholde den samme adgangskode i årevis fordi det øger den potentielle skade i tilfælde af kompromittering. Derfor skal der defineres klare politikker for rotation og udløb.
La nøgle rotation Dette indebærer at generere nye nøgler med jævne mellemrum (f.eks. hvert kvartal eller år afhængigt af nøgletype og risiko) og gradvist migrere til dem. Ideelt set bør denne proces automatiseres for at minimere menneskelige fejl.
La tidlig tilbagekaldelse Dette kommer i spil, når der er mistanke om eller bevis for en lækage eller kompromittering af en privat nøgle. I så fald skal nøglen ugyldiggøres hurtigst muligt, erstattes med en anden, og hvis vi taler om certifikater, skal tilbagekaldelsen meddeles via CRL eller OCSP.
Endelig planlagt udløb Dette bruges til at antage, at ingen algoritme eller nøgle vil forblive sikker for evigt, især med udviklingen af computerkraft (og den kvantetrussel, der er i horisonten). Det er afgørende at fastsætte rimelige udløbsdatoer for nøgler og undgå brugen af udløbne nøgler for at opretholde et godt sikkerhedsniveau.
Nøgleblokering, nøgleindpakning og avanceret beskyttelse af symmetriske nøgler
I sektorer som finanssektoren har håndteringen af symmetriske nøgler måttet forbedres betydeligt. Med implementeringen af standarden PCI PIN v2.0 og senere versioner, er det påkrævet, at alle krypterede symmetriske nøgler håndteres i strukturer kaldet nøgleblokke.
En nøgleblok er dybest set en pakke, der indeholder en krypteret nøgle sammen med metadata, der beskriver dens tilladte brug, type og integritetskontrollerDen var designet til at forhindre nogen i at ændre formålet med en nøgle eller erstatte den uden at blive opdaget.
Historisk set har den finansielle sektor brugt algoritmer som f.eks. DES og dens varianter Double-DES og Triple-DES (2DES, 3DES/TDEA)Disse var afhængige af kombinationer af flere nøgler (nøglebundter) for at øge sikkerheden, men de havde stadig problemer med nøgleudveksling og sikker opbevaring, især når de brugte KEK'er uden veldefinerede brugsattributter.
For at forbedre dette scenarie blev konceptet med nøglevarianterDette involverede kombination af en basisnøgle med forskellige binære masker afhængigt af brugen. Selvom det gav en vis logisk adskillelse, tilbød det ikke nøgleintegritet eller autentificering.
Løsningen kom med nøgleindpakningNøglekryptering er en teknik, der krypterer nøglen sammen med metadata, så den utvetydigt er knyttet til et specifikt formål og beskyttet mod manipulation. Der findes standardiserede ordninger, såsom TDEA-nøgleindpakning (TKW) eller AES-nøgleindpakning (AESKW og KWP), som bruges til at pakke nøgler ind i fjendtlige miljøer.
Fra denne idé udviklede nøgleblokstandarden sig, formaliseret i ANSI X9.143 (tidligere TR-31), i dag referencemetoden til sikker udveksling af krypterede symmetriske nøgler i den finansielle verden.
Nøgleblokstruktur og versioner
I X9.143-modellen indeholder hver tastblok den beskyttede nøgle, brugsbegrænsninger og andre metadatabeskyttet af krypterings- og godkendelsesmekanismer. Dette involverer generering af en nøgleblokbeskyttelsesnøgle (KBPK), hvorfra to undernøgler er afledt:
- KBEK (Key-Block Encryption Key), bruges til at kryptere den del, der indeholder krypteringsteksten og nøglelængden.
- KBAK (nøgleblokgodkendelsesnøgle) eller KBMK, der bruges til at generere en MAC (Message Authentication Code) over hele indholdet af nøgleblokken.
Denne struktur sikrer, at Enhver ændring af attributter eller krypteringsnøglen registreres øjeblikkeligtDerudover muliggør det standardiserede format interoperabilitet mellem forskellige HSM-producenter og -enheder.
En interessant praktisk detalje er, at Det første tegn i nøgleblokheaderen angiver dens version.De mest relevante er:
- Version A: beskyttet af Key Variant Binding Method.
- Version B: beskyttet af TDEA Key Derivation Binding Method.
- Version C: beskyttet af TDEA Key Variant Binding Method.
- Version D: beskyttet af AES Key Derivation Binding Method.
Fra PCI PIN og P2PE perspektivet, Kun version B (TDEA) og D (AES) anses for acceptablefordi de er baseret på nøgleafledning snarere end reversible varianter.
Nøgler, der skal være i nøgleblokformat
Brug af nøgleblokke er obligatorisk, når En symmetrisk nøgle findes uden for den sikre perimeter af en kryptografisk enhed (HSM, PIN-kode, betalingsterminal) eller udveksles mellem organisationer.
I PCI-sammenhæng påvirker dette en lang liste af nøgler: Zonemasternøgler (ZMK), nøglekrypteringsnøgler (KEK), terminalmasternøgler (TMK), PIN-krypteringsnøgler (PEK), basisafledningsnøgler (BDK) i DUKPT og initiale afledningsnøglerAlle disse skal, når de lagres eller transmitteres krypteret af en anden symmetrisk nøgle, være i nøgleblokformat.
Faser af migration til nøgleblokke
Den globale overgang til nøgleblokke er blevet struktureret i tre hovedfaser med datoer fastsat af PCI SSC til PCI PIN og P2PE:
- Fase 1Interne nøgler og lagring i tjenesteudbyderens miljø (applikationer, databaser forbundet til HSM'er). Ikrafttrædelsesdato: 1. juni 2019.
- Fase 2Eksterne forbindelser med foreninger og netværk (f.eks. ZMK-nøgler, der beskytter PIN-arbejdsnøgler mellem indløsere, udstedere, KIF'er osv.). Ikrafttrædelsesdato: 1. januar 2023.
- Fase 3Udvidelse til alle betalingssystemer, salgsterminaler og hæveautomater, herunder TMK og IPEK. Ikrafttrædelsesdato: 1. januar 2025.
For at gennemføre disse faser skal organisationerne Lav en inventaris over alle dine nøgler, identificer hvor krypteringsteksterne befinder sig uden for HSM'en, migrer din MFK/LMK/KEK til KBPK, og koordiner med tredjeparter. (udstedere, indløsere, HSM-udbydere, centrale injektionstjenester) for at sikre kompatibilitet.
PKI, certifikater og vigtigheden af nøglehåndtering
Public Key Infrastructure (PKI) er det framework, der understøtter digital tillid på nettet, i virksomhedsnetværk, i kodesignaturer og i digitale identiteterDens kerne ligger netop i de kryptografiske nøgler og de certifikater, der forbinder dem med identiteter.
En PKI er baseret på Certificeringsmyndigheder (CA) Disse certifikatmyndigheder udsteder X.509-certifikater ved at signere indehaverens (domæne, virksomhed, person) data med deres private nøgle og offentlige nøgle. Systemer er afhængige af disse rod- og mellemliggende certifikatmyndigheder til at validere ægtheden af certifikater præsenteret af servere, brugere eller enheder.
For at alt dette kan være pålideligt, er det ikke nok at udstede certifikater: De tilhørende nøgler skal administreres korrektDette indebærer at have en oversigt over alle nøgler og certifikater, kontrollere deres udløb, rotere nøgler med passende intervaller, tilbagekalde kompromitterede eller ubrugte certifikater og sikre, at private nøgler tilknyttet kritiske certifikater opbevares i HSM'er eller sikre vaults.
Koordinationsfora, såsom CA / B ForumDe fastsætter fælles regler for CA'er og browsere (f.eks. om minimumsnøglestørrelse, accepterede algoritmer, maksimale gyldighedsperioder og krav til hurtig tilbagekaldelse) for at opretholde et højt sikkerhedsniveau og forhindre misbrug.
Bedste praksis for håndtering af kryptografiske nøgler
Med den nuværende kompleksitet af tjenester, clouds og enheder er det at stole på, at hvert team administrerer "deres" nøgler manuelt, ensbetydende med problemer. Bedste praksis kan opsummeres i en række punkter, der enhver organisation bør som minimum antage:
- Centraliser nøglehåndtering på en KMS/HSM-platform eller -tjeneste i stedet for at sprede dem på tværs af servere, applikationer og regneark.
- Brug opdaterede algoritmer og nøglestørrelser, i overensstemmelse med anbefalinger fra organisationer som NIST (AES-128/256, RSA ≥ 2048 bits, ECC med 256/384 bits, SHA-256 hash eller højere).
- Opbevar nøglerne i kryptografiske hvælvinger eller sikre hardwaremoduler, der forhindrer dem i at være tilgængelige i almindelig tekst for uautoriserede brugere eller processer.
- Anvend strenge adgangskontrollersåledes at kun meget specifikke og reviderede profiler kan bruge eller administrere bestemte nøgler.
- Planlæg den periodiske rotation med veldefinerede gyldighedsvinduer og automatiserede fornyelsesmekanismer.
- Hav sikkerhedskopier af kritiske nøgler, opbevares krypteret og beskyttet for at forhindre datatab, hvis hovedsystemet beskadiges.
- Muliggør hurtig tilbagekaldelse og destruktion af kompromitterede nøgler, sammen med underretnings- og afhjælpningsmekanismer.
- Vedligehold detaljerede revisionsregistre om hvem der oprettede, tilgik, brugte, roterede eller tilbagekaldte hver nøgle i løbet af dens levetid.
Uden disse grundlæggende kontroller er det kun et spørgsmål om tid, før en følsom nøgle ender i de forkerte hænder eller forbliver ufornyet længe ud over dens rimelige udløbsdato.
Moderne trusler: implementeringsfejl og post-kvante-æraen
Selv hvis der vælges gode algoritmer og nøglelængder, er der meget reelle fjender: Implementeringsfejl, fejlkonfigurationer og nye computerfunktioner.
På implementeringssiden er der mange mangler: Genbrug af IV'er eller noncekoder i tilstande som GCM, lagring af adgangskoder med MD5 eller SHA-1, nøgler indlejret i kildekode, certifikatvalideringer deaktiveret "til test", der ender i produktion...Alt dette underminerer enhver kryptografisk garanti.
På den anden side, den quantum computingSelvom en kvantecomputer, der praktisk talt kan bryde RSA-2048 eller ECC med Shors algoritme, stadig er langt væk, er der en risiko for, at magtfulde aktører i dag opfanger krypteret trafik for at dekryptere den i fremtiden ("høst nu, dekrypter senere"-strategien).
For at foregribe dette har NIST standardiseret flere ting inden 2024. post-kvante algoritmer såsom ML-KEM til nøgleindkapsling og ML-DSA eller SLH-DSA til signaturer, baseret på gitre og hashfunktioner. Anbefalingen for de kommende år er at hybride ordninger, der kombinerer klassiske algoritmer (ECDHE, RSA) med disse nye PQC-mekanismer i protokoller som TLS.
I denne sammenhæng bør organisationer, der håndterer langlivede data, begynde at udarbejde en detaljeret kryptografisk opgørelse (hvilke algoritmer og nøglestørrelser der anvendes i hvert system) og en køreplan for migrering til kvanteresistente løsninger, efterhånden som økosystemet modnes.
Kort sagt, Kryptografiske nøgler er den røde tråd, der forener algoritmer, protokoller, enheder og sikkerhedspolitikkerForståelse af deres typer, anvendelser og livscyklus, anvendelse af standarder som NIST 800-57, PKI og X9.143, hvor det er relevant, og implementering af centraliseret og automatiseret administration er det, der gør forskellen mellem "intet andet end" sikkerhed og solid beskyttelse mod stadig mere kapable angribere.
