4.8

View in English

4.8 Cryptografie en sleutelbeheer

Overzicht en motivatie

Bijna elk systeem dat je bouwt hangt al af van cryptografie, de praktijk van informatie beschermen met wiskundige technieken zodat alleen de beoogde partijen haar kunnen lezen of vertrouwen. Je webverkeer rijdt over versleutelde kanalen, je wachtwoorden worden gehasht, je software-updates zijn ondertekend en je klantdata staat versleuteld op schijf. Het goede nieuws voor de meeste engineers is dat je niets hiervan hoeft uit te vinden. Het moeilijke deel is niet de wiskunde. Het is beproefde bouwstenen correct gebruiken en, vooral, de sleutels beheren waarvan die bouwstenen afhangen.

Dit hoofdstuk is geschreven voor engineers die geen cryptografen zijn, en dat zijn bijna wij allemaal. Je hebt genoeg begrip nodig om verstandige keuzes te maken, om te weten wat elk gereedschap garandeert en om de fouten te vermijden die sterke algoritmen in valse geruststelling veranderen. Hoofdstuk 4.3 (infrastructuur- en cloudbeveiliging) noemt versleuteling en sleutelbeheer terloops. Hier gaan we dieper in op wat je versleutelt, hoe, en hoe je de sleutellevenscyclus draait die het echt maakt.

Voor grote ondernemingen woekert cryptografie over duizenden services, certificaten en sleutels, en één verlopen certificaat of verloren sleutel kan een kritiek systeem platleggen of een datastore laten lekken. Voor de overheid is cryptografie vaak voorgeschreven, gevalideerd en geaudit, met dataclassificatieregels die precies dicteren welke sleutels welke geheimen beschermen en wie ze mag houden. In beide omgevingen is het terugkerende falen hetzelfde: goede algoritmen teniet gedaan door slordig sleutelbeheer.

Kernprincipes

  • Rol je eigen crypto niet. Gebruik beproefde, breed beoordeelde bibliotheken en standaardalgoritmen. Nieuwe schema’s falen op manieren die alleen experts opmerken.
  • Algoritmen zijn het makkelijke deel. Sleutels zijn het moeilijke deel. De levenscyclus van een sleutel is waar de meeste echte falen wonen.
  • Weet wat elk primitief garandeert. Vertrouwelijkheid, integriteit en authenticiteit zijn verschillende eigenschappen die verschillende gereedschappen vragen.
  • Versleutel standaard onderweg en in rust. Maak bescherming de norm, geen opt-in.
  • Scheid sleutelbeheer van datatoegang. Wie een sleutel beheert hoort niet automatisch de data te kunnen lezen die ze beschermt.
  • Plan voor verandering. Algoritmen verzwakken, sleutels lekken en standaarden evolueren. Bouw vanaf dag één voor rotatie en migratie.
  • Geef de voorkeur aan gevalideerde implementaties waar het ertoe doet. Kies voor gereguleerd en overheidswerk modules met erkende validatie.

Aanbevelingen

Rol je eigen crypto niet

Dit is de gouden regel en verdient het eerst genoemd te worden. Ontwerp nooit je eigen versleutelingsalgoritme, verzin nooit je eigen protocol en implementeer nooit met de hand een primitief uit een artikel. Werkende cryptografie ziet er eenvoudig uit en verbergt subtiele faalwijzen (timingzijkanalen, padding-orakels, zwakke willekeur) die alleen jaren van expertbeoordeling overleven. Gebruik gevestigde bibliotheken zoals de standaard cryptomodule van je platform of een gerespecteerde bibliotheek, en gebruik ze op het hoogste beschikbare abstractieniveau. Grijp naar geauthenticeerde versleutelingsmodi en “makkelijke” interfaces die de veilige keuze de standaard maken, in plaats van zelf low-levelstukken samen te stellen.

Stem het primitief af op de garantie die je nodig hebt

Verschillende gereedschappen geven verschillende garanties, en ze verwarren is een gangbare en gevaarlijke fout. Leer de drie hoofdfamilies.

  • Symmetrische-sleutelcryptografie gebruikt één gedeelde geheime sleutel om zowel te versleutelen als te ontsleutelen. Ze is snel en beschermt vertrouwelijkheid, maar beide partijen moeten de sleutel al delen. AES is het standaard werkpaard.
  • Publieke-sleutelcryptografie gebruikt een wiskundig gekoppeld sleutelpaar: een publieke sleutel die iedereen kan houden en een privésleutel die je geheim houdt. Ze lost sleuteldistributie op en maakt digitale handtekeningen mogelijk, die authenticiteit (wie het stuurde) en integriteit (dat het niet is gewijzigd) bewijzen.
  • Een cryptografische hashfunctie produceert een vingerafdruk van vaste grootte van data en biedt controle op integriteit. Hashen is eenrichtingsverkeer en geen versleuteling. Gebruik voor het opslaan van wachtwoorden een trage, gezouten wachtwoordhashfunctie, nooit een gewone snelle hash (zie hoofdstuk 4.2 over applicatiebeveiliging).

De praktische les: versleuteling verbergt data maar bewijst niet wie haar stuurde, en een hash detecteert knoeien maar verbergt niets. De meeste echte systemen combineren ze, en daarom moet je leunen op bibliotheken die deze correct bundelen.

Versleutel onderweg met actuele TLS

Bescherm elke netwerkhop met Transport Layer Security (TLS), het protocol dat data beveiligt terwijl ze tussen systemen beweegt. Eis moderne TLS-versies, schakel verouderde uit, kies sterke cipher suites en valideer certificaten goed in plaats van controles uit te zetten om het “werkend te krijgen”. Versleutel ook intern verkeer tussen services, niet alleen de publieke rand, omdat een zero-trusthouding aanneemt dat het interne netwerk vijandig is. Automatiseer uitgifte en verlenging van certificaten zodat TLS overal de moeiteloze standaard is.

Versleutel in rust met envelope-versleuteling

Versleutel opgeslagen data standaard: databases, objectopslag, back-ups en logs. Het standaardpatroon is envelope-versleuteling, waarbij een data-encryptiesleutel (DEK) de eigenlijke data versleutelt en een key encryption key (KEK) bewaard in een sleutelbeheerdienst de DEK versleutelt. Dit laat je de hoofdsleutel roteren zonder terabytes data opnieuw te versleutelen, en houdt de krachtige rootsleutel binnen een geharde grens. Sla alleen de ingepakte DEK naast de data op, en haal ze op en pak ze uit op gebruikstijd.

Draai de sleutellevenscyclus bewust

De levenscyclus van een sleutel is het werkelijk moeilijke deel van cryptografie, en waar de meeste inbreuken en storingen vandaan komen. Beheer elke fase met opzet:

  • Generatie: maak sleutels uit een sterke willekeurbron, op passende sterkte.
  • Distributie: breng sleutels bij de systemen die ze nodig hebben zonder ze bloot te stellen in code, configuratiebestanden of chat.
  • Rotatie: vervang sleutels volgens schema en kan snel roteren bij vermoeden van compromittering.
  • Intrekking: maak een gecompromitteerde sleutel of certificaat snel ongeldig en zorg dat systemen de intrekking honoreren.
  • Vernietiging: zet oud sleutelmateriaal veilig buiten dienst zodat het niet kan worden hersteld.

Gebruik een sleutelbeheerdienst (KMS) om dit te centraliseren, en gebruik een hardware security module (HSM), een sabotagebestendig apparaat dat sleutels genereert en bewaakt zodat ze nooit in platte tekst vertrekken, voor je sleutels met de hoogste zekerheid. Scheid wie sleutels kan beheren van wie de beschermde data kan lezen, zodat sleutelbeheer functiescheiding afdwingt. Dit sluit direct aan op dataclassificatie en bewaarregels in hoofdstuk 4.5 (privacy en gegevensbescherming).

Onderscheid geheimenbeheer van sleutelbeheer

Deze overlappen maar zijn niet hetzelfde. Sleutelbeheer bestuurt cryptografische sleutels en hun levenscyclus, meestal binnen een KMS of HSM die cryptobewerkingen voor je uitvoert zodat de ruwe sleutel nooit vertrekt. Geheimenbeheer bestuurt applicatie-inloggegevens (databasewachtwoorden, API-tokens, certificaten) die services in platte tekst moeten ophalen en gebruiken, meestal uit een geheimenkluis met kortlevende, geauditeerde toegang. Gebruik een KMS voor sleutels, een geheimenbeheerder voor inloggegevens en plak geen van beide ooit in broncode of omgevingsbestanden die in versiebeheer zijn ingecheckt.

Automatiseer PKI en certificaatlevenscycli

Public key infrastructure (PKI) is het systeem van certificaatautoriteiten, certificaten en vertrouwensketens dat publieke sleutels aan identiteiten bindt. Op schaal is het dominante PKI-risico het verrassende verlopen van een certificaat dat een service platlegt. Houd een inventaris van elk certificaat bij, bewaak verloopdata en automatiseer uitgifte en verlenging zodat geen mens het hoeft te onthouden. Kortlevende certificaten die automatisch worden verlengd zijn veiliger dan langlevende die met de hand worden gekoesterd, omdat automatisering het menselijke single point of failure weghaalt. Standaardprotocollen ondersteunen hier interoperabiliteit tussen leveranciers (hoofdstuk 3.8 over interoperabiliteit en open standaarden).

Bouw voor cryptografische wendbaarheid en post-quantummigratie

Algoritmen verzwakken in de tijd, en standaarden bewegen. Cryptografische wendbaarheid betekent systemen zo ontwerpen dat je algoritmen en sleutelgroottes kunt verwisselen zonder pijnlijke herschrijving: abstraheer crypto achter een kleine interface, versioneer je versleutelde data zodat je weet welk algoritme haar produceerde en houd een cryptoinventaris bij van wat je waar gebruikt. Dit doet er nu toe vanwege post-quantumcryptografie, de nieuwe familie algoritmen ontworpen om toekomstige kwantumcomputers te weerstaan. Tegenstanders kunnen vandaag versleutelde data oogsten om haar later te ontsleutelen, dus langlevende geheimen hebben een migratieplan nodig. Je hoeft niet te paniekeren, maar je moet je inventaris kennen en klaar zijn om de gestandaardiseerde post-quantumalgoritmen over te nemen zodra platforms ze leveren.

Geef de voorkeur aan gevalideerde implementaties waar vereist

Voor gereguleerde systemen en overheidssystemen is een sterk algoritme niet genoeg. De implementatie moet gevalideerd zijn. FIPS 140 (Federal Information Processing Standard 140) is de Amerikaanse standaard voor het valideren van cryptografische modules, en veel contracten eisen FIPS-gevalideerde crypto. Overheidswerk kan ook nationale richtlijnen volgen zoals de Commercial National Security Algorithm (CNSA)-suite van de NSA voor geclassificeerde systemen. Controleer welk regime van toepassing is voordat je bouwt, want gevalideerde modules laat achteraf inbouwen is duur. Dit sluit aan op complianceonderbouwing en governance (hoofdstuk 4.6).

Afwegingen: voor- en nadelen

BeslissingVoordelenNadelen
Door de provider beheerde KMSMakkelijk, geïntegreerd, lage operationele lastProvider houdt de sleutels. Minder directe controle
Door de klant beheerde sleutels / HSMVolledige controle, voldoet aan strikte mandatenOperationele overhead, risico sleutels te verliezen
Geautomatiseerde kortlevende certificatenGeen verrassende verloopdata, snelle intrekkingVraagt vooraf automatiseringsinvestering
Langlevende certificatenEenvoudig, minder bewegende delenMet de hand beheerde verloopdata veroorzaken storingen
Envelope-versleutelingGoedkope sleutelrotatie, beschermt hoofdsleutelMeer bewegende delen om te begrijpen
Cryptografische wendbaarheid voorafGoedkope toekomstige migratiesExtra abstractie en ontwerpinspanning nu
Vroege post-quantumadoptieBeschermt langlevende geheimenOnvolwassen tooling, grotere sleutels, enig risico

De centrale spanning is controle tegenover operationele last. Je eigen sleutels in een HSM houden geeft maximale controle en voldoet aan de strengste mandaten, maar vraagt expertise en creëert een nieuw catastrofaal risico: verlies de sleutel en je verliest de data, onherstelbaar. Door de provider beheerde diensten nemen die last weg maar leggen de bewaring bij de provider. Los het op door te lagen: gebruik beheerde diensten met verstandige standaarden voor de meeste systemen, en reserveer door de klant beheerde sleutels en HSM’s voor de data met de hoogste classificatie waar de extra controle de kosten en het risico waard is.

Vragen om met je team te bespreken

  1. Heb je een volledige inventaris van je sleutels, certificaten en de algoritmen waarop je leunt? Je kunt niet roteren, migreren of auditen wat je niet kunt zien, en de meeste organisaties ontdekken dat ze veel meer cryptografisch materiaal over services verspreid hebben dan iemand bijhoudt. Een inventaris is de voorwaarde voor elke latere beslissing: bewaking van certificaatverloop, sleutelrotatie, FIPS-afbakening en post-quantumplanning hangen er allemaal van af. Neem een lijst mee van je huidige certificaten en hun verloopdata, en vraag wie elk bezit en wat breekt wanneer het verloopt. Voor een groot landschap is het eerlijke antwoord meestal dat er geen enkele bron van waarheid bestaat, en er een bouwen is de eerste stap met de hoogste hefboom. Als je je crypto vandaag niet kunt opsommen, zijn wendbaarheid en rotatie aspiraties, geen vermogens.

  2. Kun je een gecompromitteerde sleutel snel roteren of intrekken, en heb je het ooit geoefend? Rotatie en intrekking zijn de delen van de sleutellevenscyclus die alleen onder druk tellen, en teams ontdekken tijdens een incident routinematig dat een sleutel op een dozijn plekken hard gecodeerd staat of dat intrekking niet echt doorwerkt. Besluit je doeltijd om een sleutel te roteren en een certificaat in te trekken, en repeteer het voordat je het nodig hebt. Neem het verhaal van je laatste blootstelling van inloggegevens mee en loop door wat rotatie in de praktijk vereiste. Voor systemen van onderneming en overheid kan een ongeoefende rotatie betekenen kiezen tussen een langdurige blootstelling en een zelf toegebrachte storing. Als rotatie nooit is getest, ga ervan uit dat ze niet werkt.

  3. Waar zit sleutelbeheer, en dwingt het functiescheiding af? Wie een sleutel kan beheren en wie de data kan lezen die ze beschermt zouden niet dezelfde persoon moeten zijn, omdat het samenvoegen van die bevoegdheden stilletjes het doel van versleuteling in rust ondermijnt. Deze keuze bepaalt ook of je door de provider beheerde sleutels, door de klant beheerde sleutels of HSM’s gebruikt, elk met andere controle en ander operationeel risico. Neem je huidige sleutelbeleid mee en controleer of enige enkele identiteit zowel een sleutel kan beheren als de platte tekst erachter kan benaderen, wat een gangbaar stil gat is. Voor gereguleerde en geclassificeerde data kunnen bewaarregels worden gedicteerd door dataclassificatie (hoofdstuk 4.5) en door mandaat. Als beheer en toegang niet gescheiden zijn, beschermt je versleuteling je minder dan het dashboard suggereert.

  4. Hoe zou je herstellen als de hoofdsleutel die je envelope-versleuteling beschermt verloren of vernietigd werd? Door de klant beheerde sleutels en HSM’s geven je de controle, maar ze geven je een nieuwe catastrofale faalwijze: verlies de key encryption key en elke data-encryptiesleutel die ze inpakt wordt permanent onleesbaar, samen met de data erachter. Weeg dit af tegen het tegenovergestelde risico van een te brede back-up die stilletjes het bewaarprobleem hercreëert dat je probeerde op te lossen. Neem je huidige afspraken voor sleutelback-up en escrow mee, de schadezone van elke hoofdsleutel en bewijs dat een herstel werkelijk is uitgevoerd in plaats van slechts gedocumenteerd. Koppel dit voor landschappen van onderneming en overheid aan je dataclassificatieregels: de gevoeligste sleutels verbieden vaak losse kopieën, dus herstel moet bewust worden ontworpen, volgens schema getest en verzoend met elke wettelijke eis te bewijzen dat buiten dienst gesteld sleutelmateriaal is vernietigd.

  5. Hoe gereed zijn je systemen voor een post-quantummigratie, en welke langlevende geheimen zou je eerst migreren? Tegenstanders kunnen vandaag versleuteld verkeer en archieven oogsten en ze ontsleutelen zodra kwantumcomputers volwassen worden, dus elk geheim dat jarenlang vertrouwelijk moet blijven is al blootgesteld aan een toekomst die je niet kunt zien. De concurrerende druk is dat post-quantumtooling nog jong is, de sleutels groter zijn en te vroeg overstappen het risico loopt te wedden op een algoritme dat verschuift voordat het zich zet. Neem je cryptoinventaris mee, een lijst geheimen gerangschikt naar hoe lang ze vertrouwelijk moeten blijven en een eerlijke lezing of je architectuur algoritmen kan verwisselen zonder herschrijving. Voor overheid en gereguleerd werk maken archieven met vertrouwelijkheidsmandaten van tientallen jaren dit concreet in plaats van theoretisch, en aanbesteding kan binnenkort een gedocumenteerd migratieplan en ondersteuning voor de gestandaardiseerde post-quantumalgoritmen eisen.

  6. Wanneer regelgeving gevalideerde cryptografie vereist, weet je precies welke modules in scope zijn en of ze kwalificeren? Een sterk algoritme gebruiken is niet hetzelfde als een gevalideerde implementatie gebruiken, en teams ontdekken routinematig laat dat een bibliotheek, een taalruntime of een clouddienst niet gedekt wordt door de FIPS 140-grens die een contract eist. De spanning is dat gevalideerde modules kunnen achterlopen op actuele bibliotheken in functies en snelheid, dus ze kiezen beperkt je stack op manieren die voor engineering tellen. Neem de lijst cryptografische modules mee die elk gereguleerd systeem werkelijk aanroept, de validatiecertificaten die ze dekken en het specifieke mandaat (FIPS 140, CNSA of een sectorregel) dat van toepassing is. Besluit dit voor programma’s van onderneming en overheid voordat je bouwt, want gevalideerde modules achteraf inbouwen en een systeem opnieuw autoriseren is duur, traag en dwingt vaak een herontwerp af van de componenten die je klaar waande.

Sectorperspectief

Startup. Leun volledig op de beproefde standaarden van je platform en besteed nul engineeringtijd aan eigen crypto. Zet beheerde versleuteling in rust aan, termineer TLS met automatisch verlengde certificaten, hash wachtwoorden met een standaard trage functie en bewaar geheimen in de geheimenbeheerder van het platform in plaats van de repository. Je ene ontwerpbeslissing is een dunne interface rond het handvol velden dat je in de applicatie versleutelt, zodat een latere stap weg van door de provider beheerde sleutels geen herschrijving is.

Kleinbedrijf. Je hebt geen cryptograaf en weinig zin een HSM te bedienen, dus koop bewaring in plaats van haar te bouwen: gebruik de door de provider beheerde KMS en geheimenbeheerder die bij je cloud- of SaaS-tools horen. Formuleer het werk als hygiëne, dat wil zeggen geen sleutels in code, versleuteling overal standaard aan en certificaatverloopdata bewaakt zodat niets verrassend verloopt. Reserveer door de klant beheerde sleutels voor de zeldzame data waarvoor een contract of toezichthouder ze werkelijk eist.

Grote onderneming. Het probleem is schaal en consistentie over duizenden services, certificaten en sleutels. Draai een gecentraliseerde KMS met envelope-versleuteling, automatiseer de volledige certificaatlevenscyclus zodat geen verloopdatum met de hand wordt gekoesterd en houd één cryptoinventaris bij die rotatie, FIPS-afbakening en post-quantumplanning voedt. Scheid sleutelbeheer van datatoegang als organisatiebrede maatregel en maak versleuteling een platformvermogen dat elk team erft in plaats van een taak die elk team opnieuw uitvindt.

Overheid. Aanbesteding, validatie en audit geven elke keuze vorm. Gebruik FIPS 140-gevalideerde modules en volg nationale richtlijnen zoals CNSA voor geclassificeerde systemen, koppel sleutelbeheer aan dataclassificatie zodat de gevoeligste sleutels bij gescreend personeel liggen onder strikte functiescheiding en genereer continu bewijs van gevalideerde crypto voor doorlopende autorisatie. Documenteer een post-quantummigratieplan voor archieven die tientallen jaren vertrouwelijk moeten blijven en eis dat leveranciers bekendmaken welke modules gevalideerd zijn voordat je je vastlegt.

Voorbeelden

Startup. Een klein team dat een gezondheidsapp bouwt leunt volledig op beproefde standaarden. Ze termineren TLS met automatisch verlengde certificaten, zetten versleuteling in rust aan op hun beheerde database en objectopslag met de KMS van de provider en hashen wachtwoorden met een trage, gezouten functie uit een standaardbibliotheek. In plaats van zelf crypto te schrijven gebruiken ze een geauthenticeerde versleutelingsaanroep op hoog niveau voor het ene veld dat ze in de applicatie moeten versleutelen. Geheimen leven in de geheimenbeheerder van het platform, nooit in de repository. Het kost een paar middagen en neemt een hele categorie catastrofale fouten weg.

Grote onderneming. Een wereldwijde bank draait een gecentraliseerde KMS en een vloot HSM’s, met een cryptoinventaris die elke sleutel en elk certificaat over duizenden services volgt. Envelope-versleuteling beschermt klantdata, met datasleutels ingepakt door hoofdsleutels die volgens schema roteren terwijl de data blijft staan. Certificaatuitgifte en -verlenging zijn volledig geautomatiseerd nadat een storing van een publieke dienst hen de kosten van één verlopen certificaat leerde. Sleuteladministrators zijn een apart team van applicatie-engineers, zodat bewaring functiescheiding afdwingt, en een cryptografische wendbaarheidslaag laat hen beginnen met het proefdraaien van post-quantumalgoritmen voor langlevende archieven.

Overheid. Een nationaal agentschap dat geclassificeerde archieven verwerkt gebruikt alleen FIPS 140-gevalideerde cryptografische modules en volgt NSA CNSA-richtlijnen voor zijn systemen met de hoogste classificatie. Sleutels worden gegenereerd en bewaard in HSM’s die nooit platte sleutelmateriaal vrijgeven, en bewaring is gekoppeld aan dataclassificatie zodat de gevoeligste sleutels bij gescreend personeel liggen onder strikte functiescheiding. Certificaten draaien op een beheerde interne PKI met geautomatiseerde levenscycli, en continu bewijs van gevalideerde crypto voedt de doorlopende autorisatie van het agentschap. Een gedocumenteerd post-quantummigratieplan beschermt archieven die tientallen jaren vertrouwelijk moeten blijven.

Zakelijke onderbouwing: motivatie, ROI en TCO

Cryptografie is nog een gebied waar een bescheiden investering catastrofale verliezen van krantenkopformaat voorkomt. De total cost of ownership omvat een KMS of HSM, tooling voor geheimen- en certificaatbeheer en de engineeringtijd om levenscycli te ontwerpen en een inventaris actueel te houden. Deze kosten zijn echt maar begrensd. De kosten van ze overslaan zijn een inbreuk op onversleutelde data, een storing van meerdere uren door een verlopen certificaat of een onherstelbaar dataverlies door een verkeerd behandelde sleutel, elk met boetes van toezichthouders, meldingskosten en blijvende reputatieschade.

Het sterkste ROI komt van automatisering en hergebruik. Geautomatiseerde certificaatlevenscycli elimineren de meest voorkomende zelf toegebrachte storing. Gecentraliseerd sleutelbeheer met verstandige standaarden betekent dat elke nieuwe service versleuteling onderweg en in rust erft zonder inspanning per team, wat cryptografie van een terugkerende belasting in een platformvermogen verandert. Voor gereguleerd werk en overheidswerk verlagen gevalideerde modules en geautomatiseerd bewijs ook de kosten van audits en autorisatie. Formuleer het voor het bestuur eenvoudig: de algoritmen zijn gratis en bewezen, het risico zit in sleutelbeheer en certificaatoperaties, en een kleine, geautomatiseerde investering daar voorkomt de dure falen.

Antipatronen en valkuilen

  • Je eigen crypto rollen. Eigen algoritmen of met de hand gebouwde protocollen die op subtiele, alleen voor experts zichtbare manieren falen.
  • Hard gecodeerde sleutels en geheimen. Inloggegevens geplakt in broncode, configuratiebestanden of chat, waar ze lekken en niet kunnen worden geroteerd.
  • Versleuteling zonder sleuteldiscipline. Versleuteling aanzetten maar sleuteltoegang wijd open laten of nooit roteren.
  • Hashen verwarren met versleutelen. Een hash behandelen als omkeerbaar, of wachtwoorden opslaan met een snelle hash in plaats van een trage, gezouten.
  • Certificaatroulette. Geen inventaris, geen bewaking van verloopdata en periodieke verrassingsstoringen wanneer een certificaat verloopt.
  • Samengevoegd sleutelbeheer en datatoegang. Eén identiteit die zowel een sleutel kan beheren als de data kan lezen die ze beschermt.
  • Geen rotatieplan. Sleutels die nooit zijn geroteerd en onder druk niet snel kunnen worden geroteerd.
  • Crypto zonder wendbaarheid. Algoritmen zo diep bedraad dat verwisselen een herschrijving vraagt, wat elke toekomstige migratie blokkeert.
  • Validatiemandaten negeren. Sterke algoritmen gebruiken in niet-gevalideerde modules waar FIPS of vergelijkbare validatie vereist is.

Volwassenheidsmodel

  • Niveau 1, Initiëren: Versleuteling is inconsistent en vaak afwezig, reactief toegepast wanneer iemand een gat opmerkt. Sleutels en geheimen zijn hard gecodeerd of informeel gedeeld via chat en configuratiebestanden. Er is geen inventaris, geen rotatie en certificaten verlopen verrassend, en teams schrijven soms hun eigen crypto.
  • Niveau 2, Ontwikkelen: TLS en versleuteling in rust staan aan voor de grote systemen, en een KMS of geheimenbeheerder bestaat, maar adoptie is ongelijk en verschilt per team. Sommige certificaten worden bewaakt terwijl andere niet, rotatie is handmatig en zeldzaam en geen volledige cryptoinventaris verbindt het geheel.
  • Niveau 3, Standaardiseren: Versleuteling onderweg en in rust is de gedocumenteerde standaard organisatiebreed afgedwongen. Sleutels leven in een KMS met geplande rotatie en envelope-versleuteling, sleutelbeheer is gescheiden van datatoegang, certificaatlevenscycli zijn geautomatiseerd, een cryptoinventaris wordt bijgehouden en gevalideerde modules worden gebruikt waar regelgeving ze vereist.
  • Niveau 4, Beheersen: Het cryptolandschap wordt gemeten en beheerst aan de hand van uitgangswaarden. Je volgt de aanlooptijd van certificaatverloop, het percentage sleutels dat volgens schema is geroteerd, de gemiddelde tijd om een gecompromitteerde sleutel in te trekken, detecties van geheimen in code per periode en inventarisdekking, en je beoordeelt deze statistieken tegen doelen. Rotatie en intrekking worden volgens een ritme geoefend met vastgelegde tijden, en afwijkingen triggeren corrigerende actie in plaats van onopgemerkt te blijven.
  • Niveau 5, Orkestreren: Cryptografie is een platformvermogen dat elke service standaard erft, en wordt continu verbeterd en over de organisatie geïntegreerd. Rotatie en intrekking zijn snel en worden routinematig geoefend, HSM’s beschermen de sleutels met de hoogste zekerheid en cryptografische wendbaarheid plus een actief post-quantummigratieplan houden het landschap adaptief naarmate algoritmen en mandaten verschuiven. Complianceonderbouwing wordt automatisch geproduceerd en voedt doorlopende autorisatie.

Ideeën voor discussie

  1. Welke systemen in je landschap rechtvaardigen door de klant beheerde sleutels of HSM’s gezien hun operationele kosten en risico op catastrofaal verlies?
  2. Hoe zou je één bron van waarheid bouwen en onderhouden voor elke sleutel en elk certificaat dat je bezit?
  3. Wat is je realistische tijd om vandaag een gecompromitteerde sleutel te roteren, en wat maakt het traag?
  4. Waar maakt je architectuur het verwisselen van een cryptografisch algoritme moeilijk, en hoe repareer je dat vóór een gedwongen migratie?
  5. Welke van je langlevende geheimen zouden ertoe doen als een tegenstander ze nu oogstte en jaren later ontsleutelde?
  6. Belanden geheimen en sleutels ooit in code, configuratie of logs, en hoe zou je dat weten?

Belangrijkste inzichten

  • Rol je eigen crypto niet. Gebruik beproefde bibliotheken en standaardalgoritmen op het hoogste veilige abstractieniveau.
  • Algoritmen zijn makkelijk. Sleutelbeheer is moeilijk. De levenscyclus van een sleutel (generatie, distributie, rotatie, intrekking, vernietiging) is waar echte falen wonen.
  • Ken je garanties: symmetrische en publieke-sleutelversleuteling beschermen vertrouwelijkheid, handtekeningen bewijzen authenticiteit en integriteit en hashen detecteert knoeien maar is geen versleuteling.
  • Versleutel onderweg met actuele TLS en in rust met envelope-versleuteling, als standaard voor elk systeem.
  • Scheid sleutelbeheer van datatoegang, gebruik een KMS voor sleutels en een geheimenbeheerder voor inloggegevens en codeer geen van beide hard.
  • Automatiseer certificaatlevenscycli om de verrassende verloopstoring te doden, en houd een cryptoinventaris bij.
  • Bouw voor cryptografische wendbaarheid en begin een post-quantummigratieplan voor langlevende geheimen.
  • Geef de voorkeur aan gevalideerde implementaties (FIPS 140 en toepasselijke nationale richtlijnen) waar regelgeving of classificatie ze vereist.

Referenties en verder lezen

  • National Institute of Standards and Technology, FIPS 140-3: Security Requirements for Cryptographic Modules.
  • National Institute of Standards and Technology, SP 800-57: Recommendation for Key Management.
  • National Institute of Standards and Technology, SP 800-131A: Transitioning the Use of Cryptographic Algorithms and Key Lengths.
  • National Institute of Standards and Technology, post-quantum cryptography standards (FIPS 203, 204, and 205).
  • Niels Ferguson, Bruce Schneier, and Tadayoshi Kohno, Cryptography Engineering.
  • Jean-Philippe Aumasson, Serious Cryptography.
  • David Wong, Real-World Cryptography.
  • Internet Engineering Task Force, RFC 8446: The Transport Layer Security (TLS) Protocol Version 1.3.
  • Open Web Application Security Project, Cryptographic Storage Cheat Sheet and Transport Layer Protection Cheat Sheet.
  • National Security Agency, Commercial National Security Algorithm (CNSA) Suite guidance.