Cryptografische Flexibiliteit: Voorbereiding Op Post-Quantum Cryptografie En Cryptografische Transities

💼 Management Samenvatting

Cryptografische flexibiliteit (cryptographic agility) is het vermogen van een organisatie om snel en efficiënt te kunnen overschakelen tussen verschillende cryptografische algoritmen, sleutellengtes en cryptografische primitieven zonder dat dit grote architecturale wijzigingen vereist. In een tijd waarin quantum computing een reële dreiging wordt voor huidige cryptografische standaarden en nieuwe cryptografische kwetsbaarheden regelmatig worden ontdekt, is cryptografische flexibiliteit essentieel voor toekomstbestendige beveiliging. Voor Nederlandse overheidsorganisaties die moeten voldoen aan NIS2, BIO en andere compliance-frameworks is het implementeren van cryptografische flexibiliteit een kritieke strategische investering die de beveiligingspostuur op de lange termijn waarborgt.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
8/10
Implementatie
120u (tech: 80u)
Van toepassing op:
Azure Key Vault
Azure Storage
Azure SQL Database
Azure Cosmos DB
Azure Virtual Machines
Alle Azure-services met cryptografie

Zonder cryptografische flexibiliteit lopen organisaties aanzienlijke risico's wanneer cryptografische algoritmen worden gecompromitteerd of wanneer nieuwe bedreigingen zoals quantum computing de huidige cryptografie onveilig maken. Wanneer cryptografische configuraties hardcoded zijn in applicaties, infrastructuurcode of configuratiebestanden, wordt het zeer tijdrovend en kostbaar om deze te wijzigen bij cryptografische transities. Dit leidt tot situaties waarin organisaties kwetsbare cryptografie blijven gebruiken omdat migratie te complex of te duur is, wat op zijn beurt leidt tot verhoogde risico's op datalekken, compliance-overtredingen en onvoldoende bescherming tegen moderne bedreigingen. Bovendien kunnen organisaties zonder cryptografische flexibiliteit niet snel reageren op nieuwe cryptografische standaarden zoals post-quantum cryptografie, waardoor zij achterlopen op technologische ontwikkelingen en niet kunnen profiteren van verbeterde beveiliging. Voor Nederlandse overheidsorganisaties die moeten voldoen aan NIS2 en BIO is het onvoldoende hebben van cryptografische flexibiliteit een significant compliance-risico, omdat deze frameworks vereisen dat organisaties passende technische maatregelen implementeren die rekening houden met opkomende bedreigingen en technologische ontwikkelingen.

PowerShell Modules Vereist
Primary API: Azure Key Vault API, Azure Resource Manager API
Connection: Connect-AzAccount
Required Modules: Az.Accounts, Az.KeyVault, Az.Resources, Az.Security

Implementatie

Dit artikel beschrijft een concrete implementatie van cryptografische flexibiliteit voor Azure-omgevingen, specifiek toegespitst op de context van Nederlandse overheidsorganisaties. Het raamwerk is gebaseerd op vijf fundamentele pijlers: centrale sleutelbeheer met Azure Key Vault, abstractielaag voor cryptografische operaties, cryptografische inventarisatie en monitoring, transitieplanning en testomgevingen, en compliance-documentatie en audit trails. De eerste pijler betreft centrale sleutelbeheer waarbij alle cryptografische sleutels worden beheerd via Azure Key Vault met ondersteuning voor meerdere algoritmen en sleutellengtes, automatische sleutelrotatie, en versiebeheer van sleutels. De tweede pijler richt zich op abstractielaag voor cryptografische operaties waarbij applicaties en services gebruik maken van cryptografische libraries en APIs die algoritme-selectie abstract maken, waardoor algoritmen kunnen worden gewijzigd zonder applicatiecode aan te passen. De derde pijler adresseert cryptografische inventarisatie en monitoring waarbij alle gebruikte cryptografische algoritmen, sleutellengtes en configuraties worden gedocumenteerd en gemonitord, inclusief detectie van verouderde of zwakke cryptografie. De vierde pijler betreft transitieplanning en testomgevingen waarbij organisaties processen en omgevingen hebben om cryptografische transities veilig te plannen, testen en uitvoeren. De vijfde pijler richt zich op compliance-documentatie en audit trails waarbij alle cryptografische beslissingen, configuraties en wijzigingen worden gedocumenteerd voor compliance en audit doeleinden. Het artikel beschrijft voor elke pijler concrete implementatiestappen, best practices, Azure-native services die kunnen worden ingezet, en hoe de pijlers onderling samenwerken om een robuuste cryptografische flexibiliteit te creëren. Daarnaast wordt uitgelegd hoe dit raamwerk aansluit bij NIS2-verplichtingen, BIO-normen en de voorbereiding op post-quantum cryptografie.

Vereisten

Een succesvolle implementatie van cryptografische flexibiliteit in Azure vereist een grondige voorbereiding op zowel technisch als organisatorisch vlak. De eerste vereiste is een volledige inventarisatie van alle cryptografische implementaties binnen de Azure-omgeving. Dit omvat niet alleen de identificatie van alle services die cryptografie gebruiken, maar ook de specifieke algoritmen, sleutellengtes, certificaten en configuraties die worden toegepast. Zonder een compleet overzicht is het onmogelijk om te bepalen welke cryptografische transities nodig zijn, welke services prioriteit hebben, en welke impact wijzigingen zullen hebben op de beschikbaarheid en functionaliteit van systemen. Deze inventarisatie moet zowel technische details bevatten – zoals welke TLS-versies worden gebruikt, welke cipher suites zijn geconfigureerd, welke algoritmen worden gebruikt voor data-encryptie, en welke certificaten en sleutels in gebruik zijn – als functionele context: welke services zijn kritiek voor de dienstverlening, welke data wordt verwerkt en wat is de classificatie daarvan, welke compliance-vereisten gelden per service, en wat zijn de beschikbaarheidseisen. Deze informatie vormt de basis voor het bepalen van de prioritering en de intensiteit van cryptografische flexibiliteit per service en applicatie.

Een tweede cruciale vereiste is het hebben van een duidelijk cryptografisch beleid en risicokader dat specifiek is uitgewerkt voor cryptografische flexibiliteit. Dit beleid moet definiëren welke cryptografische algoritmen zijn toegestaan en welke niet, welke sleutellengtes minimaal vereist zijn voor verschillende typen data, welke algoritmen worden aanbevolen voor nieuwe implementaties, hoe cryptografische transities moeten worden gepland en uitgevoerd, en wat de acceptabele restrisico's zijn na implementatie. Het beleid moet ook expliciet rekening houden met post-quantum cryptografie door te definiëren wanneer en hoe organisaties willen overschakelen naar post-quantum algoritmen, welke hybride benaderingen worden gebruikt tijdens transities, en welke tijdlijnen gelden voor verschillende soorten data en services. Binnen Nederlandse overheidsorganisaties moet dit beleid expliciet aansluiten bij het BIO-raamwerk, NIS2-verplichtingen en AVG-vereisten, en moet het rekening houden met specifieke eisen voor verschillende data-classificaties. Het beleid moet schriftelijk zijn vastgelegd, door het bestuur zijn goedgekeurd en regelmatig worden herzien op basis van nieuwe cryptografische standaarden, opkomende bedreigingen en wijzigingen in compliance-vereisten. Zonder een dergelijk kader bestaat het risico dat cryptografische flexibiliteit ad hoc wordt geïmplementeerd zonder duidelijke samenhang of dat bepaalde aspecten worden overgeslagen omdat de noodzaak niet duidelijk is.

Technisch gezien vereist cryptografische flexibiliteit de beschikbaarheid van de juiste Azure-licenties en services. Voor centrale sleutelbeheer zijn Azure Key Vault Premium en Azure Key Vault Managed HSM nodig voor het beheren van cryptografische sleutels met ondersteuning voor meerdere algoritmen en sleutellengtes, automatische sleutelrotatie, en versiebeheer. Voor cryptografische abstractie zijn cryptografische libraries nodig die algoritme-selectie abstract maken, zoals Microsoft Azure Cryptography Library, Azure Key Vault Client Libraries, en platform-native cryptografische APIs. Voor cryptografische inventarisatie en monitoring zijn Azure Monitor, Log Analytics en Azure Sentinel nodig voor het verzamelen en analyseren van cryptografische configuraties en events. Voor transitieplanning en testomgevingen zijn Azure DevOps, Azure Test Plans en geïsoleerde Azure-omgevingen nodig voor het plannen, testen en uitvoeren van cryptografische transities. Voor compliance-documentatie en audit trails zijn Azure Policy, Azure Blueprints en documentatie-platforms nodig voor het documenteren en afdwingen van cryptografische configuraties. Organisaties moeten ervoor zorgen dat zij over de benodigde licenties beschikken voordat zij beginnen met de implementatie, anders kunnen zij niet alle pijlers volledig inrichten.

Daarnaast is er een duidelijke rol- en verantwoordelijkheidsverdeling nodig tussen verschillende teams en functies. De CISO of security officer is verantwoordelijk voor het opstellen van het cryptografisch beleid en het toezicht op de implementatie van cryptografische flexibiliteit, maar individuele teams blijven verantwoordelijk voor de concrete implementatie van cryptografische configuraties binnen hun eigen services en applicaties. Cryptografische experts zijn verantwoordelijk voor het adviseren over cryptografische algoritmen, het evalueren van nieuwe cryptografische standaarden, en het ondersteunen bij cryptografische transities. Cloud architects zijn verantwoordelijk voor het ontwerpen van de cryptografische abstractielaag en het zorgen dat cryptografische flexibiliteit wordt geïntegreerd in de algehele cloud-architectuur. Security engineers zijn verantwoordelijk voor de technische implementatie en configuratie van cryptografische services en libraries. DevOps engineers zijn verantwoordelijk voor het integreren van cryptografische flexibiliteit in CI/CD-pipelines en het zorgen dat cryptografische configuraties worden gedocumenteerd en gemonitord. Operations teams zijn verantwoordelijk voor het dagelijks beheer en monitoring van cryptografische configuraties. Zonder deze duidelijke verdeling ontstaat verwarring over wie verantwoordelijk is voor welke aspecten, wat kan leiden tot gaten in de cryptografische flexibiliteit of overlappende inspanningen.

Tot slot vereist cryptografische flexibiliteit een volwassen proces voor continue monitoring, evaluatie en verbetering. Cryptografische configuraties zijn niet statisch maar moeten regelmatig worden geëvalueerd op effectiviteit, bijgewerkt op basis van nieuwe cryptografische standaarden en opkomende bedreigingen zoals quantum computing, en getest om te verifiëren dat zij nog steeds functioneren zoals bedoeld. Dit vereist vaste planningsmomenten in de governancekalender, waarin cryptografische configuraties worden gereviewd, nieuwe cryptografische standaarden worden geëvalueerd, en cryptografische transities worden gepland. Daarnaast moeten er processen zijn voor het reageren op cryptografische kwetsbaarheden waarbij wordt geanalyseerd welke configuraties moeten worden gewijzigd en hoe cryptografische transities snel kunnen worden uitgevoerd. Alleen met een dergelijk continu verbeterproces blijft cryptografische flexibiliteit effectief in de tijd en kunnen organisaties proactief reageren op nieuwe cryptografische ontwikkelingen en bedreigingen.

Implementatie

Gebruik PowerShell-script cryptographic-agility.ps1 (functie Invoke-Implementation) – Valideert en implementeert cryptografische flexibiliteit controles in Azure-omgevingen.

De implementatie van cryptografische flexibiliteit in Azure begint met het opstellen van een gedetailleerd implementatieplan dat alle vijf pijlers omvat en prioriteert op basis van risico en kritiekheid van services. Het plan moet per pijler beschrijven welke Azure-services worden ingezet, welke configuraties worden toegepast, welke services worden beschermd en in welke volgorde de implementatie plaatsvindt. In de praktijk wordt vaak begonnen met de fundamenten – centrale sleutelbeheer en cryptografische inventarisatie – omdat deze pijlers de basis vormen voor alle andere cryptografische flexibiliteit. Vervolgens worden abstractielaag en transitieplanning geïmplementeerd, gevolgd door compliance-documentatie om alle pijlers te kunnen documenteren en auditen.

De eerste pijler – centrale sleutelbeheer met Azure Key Vault – wordt geïmplementeerd door alle cryptografische sleutels te centraliseren in Azure Key Vault Premium of Managed HSM, waarbij organisaties gebruik maken van de ondersteuning voor meerdere algoritmen en sleutellengtes. Voor nieuwe implementaties worden sleutels aangemaakt met moderne algoritmen zoals RSA-4096, ECDSA P-384, of post-quantum algoritmen wanneer beschikbaar. Voor bestaande implementaties worden sleutels geleidelijk gemigreerd naar Key Vault waarbij versiebeheer wordt gebruikt om meerdere sleutelversies te ondersteunen tijdens transities. Automatische sleutelrotatie wordt geconfigureerd volgens het cryptografisch beleid, waarbij organisaties kunnen kiezen voor verschillende rotatie-intervallen op basis van het type sleutel en de data-classificatie. Key Vault access policies of RBAC worden geconfigureerd om ervoor te zorgen dat alleen geautoriseerde services en gebruikers toegang hebben tot sleutels, en diagnostische logging wordt ingeschakeld om alle sleuteloperaties te auditloggen. Deze pijler vormt de eerste verdedigingslinie voor cryptografische flexibiliteit en is essentieel omdat centrale sleutelbeheer het mogelijk maakt om algoritmen en sleutellengtes te wijzigen zonder dat dit grote wijzigingen vereist in applicaties en services.

De tweede pijler – abstractielaag voor cryptografische operaties – wordt geïmplementeerd door cryptografische libraries en APIs te gebruiken die algoritme-selectie abstract maken. Applicaties en services gebruiken Microsoft Azure Cryptography Library of Azure Key Vault Client Libraries in plaats van directe cryptografische API-calls, waardoor algoritmen kunnen worden gewijzigd zonder applicatiecode aan te passen. Configuratiebestanden of environment variables worden gebruikt om cryptografische algoritmen en parameters te definiëren, waardoor deze kunnen worden gewijzigd zonder code-aanpassingen. Azure Key Vault wordt geïntegreerd in applicaties via managed identities, waardoor applicaties automatisch de nieuwste versie van sleutels kunnen gebruiken zonder hardcoded configuraties. Cryptografische operaties worden gecentraliseerd in shared libraries of microservices, waardoor wijzigingen in cryptografische configuraties alleen op één plek hoeven te worden doorgevoerd. Deze pijler voorkomt dat cryptografische configuraties hardcoded zijn in applicaties en maakt het mogelijk om snel te reageren op nieuwe cryptografische standaarden en bedreigingen.

De derde pijler – cryptografische inventarisatie en monitoring – wordt geïmplementeerd door alle gebruikte cryptografische algoritmen, sleutellengtes en configuraties te documenteren in een centrale inventarisatie. Azure Policy wordt gebruikt om cryptografische configuraties af te dwingen en te detecteren wanneer services verouderde of zwakke cryptografie gebruiken. Azure Monitor en Log Analytics worden geconfigureerd om cryptografische events en configuratiewijzigingen te verzamelen en te analyseren. Azure Sentinel wordt gebruikt om cryptografische anomalieën en kwetsbaarheden te detecteren, zoals het gebruik van verouderde TLS-versies, zwakke cipher suites, of onveilige cryptografische configuraties. Regelmatige scans worden uitgevoerd om nieuwe services en configuraties te identificeren en te documenteren. Deze pijler zorgt ervoor dat organisaties volledig zicht hebben op hun cryptografische postuur en snel kunnen identificeren wanneer cryptografische transities nodig zijn.

De vierde pijler – transitieplanning en testomgevingen – wordt geïmplementeerd door processen en omgevingen op te zetten voor het plannen, testen en uitvoeren van cryptografische transities. Azure DevOps wordt gebruikt voor het beheren van transitie-projecten, het documenteren van transitie-plannen, en het coördineren van wijzigingen tussen verschillende teams. Geïsoleerde testomgevingen worden ingericht in Azure waarin cryptografische transities kunnen worden getest zonder impact op productie-omgevingen. Test-scenarios worden ontwikkeld voor verschillende typen cryptografische transities, zoals het migreren naar nieuwe TLS-versies, het overschakelen naar nieuwe algoritmen, of het implementeren van post-quantum cryptografie. Rollback-procedures worden gedocumenteerd zodat transities kunnen worden teruggedraaid indien problemen optreden. Deze pijler zorgt ervoor dat cryptografische transities veilig en gecontroleerd kunnen worden uitgevoerd zonder onnodige verstoringen van productie-services.

De vijfde pijler – compliance-documentatie en audit trails – wordt geïmplementeerd door alle cryptografische beslissingen, configuraties en wijzigingen te documenteren in een centrale documentatie-repository. Azure Blueprints wordt gebruikt voor het documenteren en afdwingen van cryptografische configuraties als onderdeel van compliance-frameworks. Azure Policy wordt gebruikt om cryptografische configuraties te valideren en te rapporteren over compliance-status. Diagnostische logging wordt ingeschakeld voor alle cryptografische services om volledige audit trails te creëren van alle cryptografische operaties. Compliance-rapportages worden gegenereerd die aantonen dat cryptografische configuraties voldoen aan NIS2, BIO en andere compliance-vereisten. Deze pijler zorgt ervoor dat organisaties kunnen aantonen dat zij cryptografische flexibiliteit hebben geïmplementeerd en dat cryptografische configuraties voldoen aan compliance-vereisten tijdens audits en assessments.

Compliance en Auditing

Cryptografische flexibiliteit is niet alleen een best practice voor toekomstbestendige beveiliging, maar een expliciete eis vanuit verschillende nationale en internationale kaders die gelden voor Nederlandse overheidsorganisaties en andere vitale of belangrijke entiteiten. De NIS2-richtlijn verlangt dat organisaties passende technische en organisatorische maatregelen treffen voor risicobeheersing en beveiliging, waarbij wordt benadrukt dat beveiliging moet worden toegepast op basis van risicoanalyse en dat organisaties moeten kunnen reageren op opkomende bedreigingen zoals quantum computing. Dit betekent concreet dat organisaties niet kunnen volstaan met statische cryptografische configuraties, maar moeten kunnen aantonen dat zij een proces hebben voor cryptografische flexibiliteit dat hen in staat stelt om snel te reageren op nieuwe cryptografische kwetsbaarheden en bedreigingen. Het hier beschreven cryptografische flexibiliteitsraamwerk levert precies dat aantoonbare spoor: van centrale sleutelbeheer via cryptografische abstractie tot transitieplanning en compliance-documentatie.

Het BIO-raamwerk benadrukt in thema 6 (Cryptografie) dat overheidsorganisaties structureel moeten bepalen welke cryptografische maatregelen nodig zijn en hoe deze worden geïmplementeerd en gemonitord op basis van risicoanalyse. In moderne omgevingen betekent dit dat organisaties moeten kunnen aantonen dat zij cryptografische flexibiliteit hebben geïmplementeerd die hen in staat stelt om snel te reageren op nieuwe cryptografische ontwikkelingen en bedreigingen. Door cryptografische flexibiliteit te integreren in hetzelfde beveiligingskader en dezelfde governancecyclus als andere beveiligingsmaatregelen, kan de organisatie aan auditors laten zien dat cryptografie niet als statische configuratie wordt behandeld, maar als een dynamisch en evoluerend aspect van de beveiligingsarchitectuur. Specifiek vereist BIO dat organisaties kunnen aantonen dat zij passende cryptografische maatregelen toepassen die rekening houden met de stand van de techniek en opkomende bedreigingen, wat zonder cryptografische flexibiliteit vrijwel onmogelijk is.

De AVG speelt ook een rol in cryptografische flexibiliteit, met name waar het gaat om verwerking van persoonsgegevens en de vereisten voor passende technische en organisatorische maatregelen. Artikel 32 verplicht organisaties tot het nemen van passende technische en organisatorische maatregelen op basis van een risicoanalyse, waarbij wordt benadrukt dat maatregelen moeten worden gelaagd en moeten kunnen worden aangepast aan nieuwe bedreigingen. In de context van cryptografie betekent dit onder meer dat organisaties moeten kunnen aantonen dat zij cryptografische configuraties kunnen aanpassen wanneer nieuwe kwetsbaarheden worden ontdekt of wanneer nieuwe cryptografische standaarden beschikbaar komen. Cryptografische flexibiliteit maakt het mogelijk om snel te reageren op cryptografische kwetsbaarheden die kunnen leiden tot ongeautoriseerde toegang tot persoonsgegevens, wat essentieel is voor AVG-compliance. Bovendien vereist AVG dat organisaties kunnen aantonen dat zij passende maatregelen hebben getroffen om persoonsgegevens te beschermen, wat zonder cryptografische flexibiliteit moeilijk is wanneer cryptografische configuraties verouderd of kwetsbaar worden.

Auditors – zowel interne auditdiensten als externe toezichthouders – verwachten steeds vaker dat organisaties een proces hebben voor cryptografische flexibiliteit dat hen in staat stelt om te reageren op nieuwe cryptografische ontwikkelingen en bedreigingen. Het beschreven cryptografische flexibiliteitsraamwerk biedt hiervoor een duidelijke kapstok. Voor auditdoeleinden is het essentieel dat de organisatie kan laten zien dat: er een formeel vastgesteld cryptografisch beleid is dat cryptografische flexibiliteit adresseert; alle vijf pijlers zijn geïmplementeerd en gemonitord; cryptografische configuraties zijn gedocumenteerd en geïnventariseerd; transitieprocessen zijn gedocumenteerd en getest; en dat cryptografische beslissingen en wijzigingen traceerbaar zijn naar concrete besluiten en acties. Het gebruik van gestandaardiseerde formats, centrale opslag van configuraties en systematische koppeling met compliance-dashboards is hierbij onmisbaar. Het PowerShell-script uit dit artikel kan aanvullend worden gebruikt als bron van objectief bewijsmateriaal over de technische inrichting van cryptografische flexibiliteit in de Azure-tenant, bijvoorbeeld om te onderbouwen dat er daadwerkelijk cryptografische flexibiliteitscontroles zijn geïmplementeerd en dat deze correct functioneren.

Monitoring

Gebruik PowerShell-script cryptographic-agility.ps1 (functie Invoke-Monitoring) – Monitort de status van cryptografische flexibiliteit controles en rapporteert cryptografische configuraties.

Effectieve monitoring van cryptografische flexibiliteit in Azure is essentieel om te waarborgen dat alle pijlers correct blijven functioneren en dat cryptografische configuraties tijdig kunnen worden aangepast aan nieuwe standaarden en bedreigingen. Monitoring richt zich niet alleen op individuele pijlers, maar vooral ook op de samenhang tussen pijlers en de algehele cryptografische postuur van de organisatie. In de praktijk betekent dit dat de organisatie een beperkt aantal kernindicatoren definieert – Key Cryptographic Agility Indicators (KCAI's) – die periodiek worden gemeten en gerapporteerd aan CISO, CIO en bestuur. Voor elke pijler worden specifieke metrics gedefinieerd die aangeven of de pijler effectief functioneert en of cryptografische flexibiliteit wordt bereikt.

Voor de centrale sleutelbeheerpijler worden metrics gemeten zoals het percentage sleutels dat wordt beheerd via Azure Key Vault, het aantal sleutels met automatische rotatie geconfigureerd, het aantal sleutels met moderne algoritmen (zoals RSA-4096 of ECDSA P-384), het percentage sleutels met versiebeheer, en het aantal cryptografische operaties dat gebruik maakt van Key Vault. Voor de abstractielaagpijler worden metrics gemeten zoals het percentage applicaties dat gebruik maakt van cryptografische abstractielibraries, het aantal hardcoded cryptografische configuraties, het percentage cryptografische configuraties dat via configuratiebestanden of environment variables wordt beheerd, en het aantal applicaties met directe cryptografische API-calls. Voor de inventarisatie en monitoringpijler worden metrics gemeten zoals het percentage services met gedocumenteerde cryptografische configuraties, het aantal gedetecteerde verouderde of zwakke cryptografische configuraties, het percentage services met Azure Policy compliance voor cryptografie, en het aantal cryptografische events dat wordt gemonitord. Voor de transitieplanningpijler worden metrics gemeten zoals het aantal geplande cryptografische transities, het aantal uitgevoerde cryptografische transities, het aantal geteste cryptografische transities, en de gemiddelde tijd voor cryptografische transities. Voor de compliance-documentatiepijler worden metrics gemeten zoals het percentage cryptografische beslissingen dat is gedocumenteerd, het aantal cryptografische configuratiewijzigingen met audit trails, het percentage services met compliance-rapportages, en het aantal cryptografische assessments die zijn uitgevoerd.

Een belangrijk onderdeel van monitoring is het creëren van geïntegreerde dashboards die de status van alle cryptografische flexibiliteitspijlers samenbrengen in één overzichtelijk beeld. In plaats van afzonderlijke dashboards per pijler, wordt informatie samengebracht in een centraal cryptografisch flexibiliteitsdashboard dat laat zien hoe de verschillende pijlers samenwerken en waar potentiële zwaktes bestaan. Dit dashboard moet niet alleen technische details tonen, maar vooral ook risico-indicatoren die begrijpelijk zijn voor bestuurders en niet-technische stakeholders. Binnen Nederlandse overheidsorganisaties sluit dit aan bij de behoefte aan overzichtelijke rapportages die voldoen aan NIS2- en BIO-verplichtingen voor security reporting. Het dashboard moet bijvoorbeeld duidelijk maken welke services gebruik maken van verouderde cryptografie, welke cryptografische transities zijn gepland, en wat de compliance-status is van cryptografische configuraties.

De monitoringfunctie moet ook concrete drempelwaarden en escalatiepaden definiëren. Voor elke KCAI wordt vastgelegd bij welke waarde het risiconiveau verandert – bijvoorbeeld van 'aanvaardbaar' naar 'zorgelijk' of 'onacceptabel' – en welke acties dan vereist zijn. Dit kan variëren van het verplicht opstellen van een verbeterplan binnen een maand, via het tijdelijk blokkeren van nieuwe services die niet voldoen aan cryptografische standaarden, tot het escaleren naar de CISO of het bestuurlijke crisisteam bij zeer ernstige cryptografische kwetsbaarheden. Deze drempelwaarden worden afgestemd op de bestaande risicobereidheid van de organisatie en op wettelijke vereisten vanuit NIS2 en BIO. Bijvoorbeeld, wanneer meer dan 20% van de services gebruik maakt van verouderde cryptografie, moet er een verplicht verbeterplan worden opgesteld. Wanneer meer dan 50% van de services gebruik maakt van verouderde cryptografie, moet dit worden geëscaleerd naar het bestuur.

Tot slot vereist monitoring een nauwe koppeling tussen de dagelijkse operationele securityprocessen – zoals cryptografische scanning, vulnerability assessments, en incident response – en de meerjarige cryptografische sturing. Operationele teams leveren signalen over concrete cryptografische kwetsbaarheden, nieuwe cryptografische standaarden, en ontdekt gebruik van verouderde cryptografie. Deze signalen moeten systematisch worden geanalyseerd om te bepalen of zij duiden op structurele tekortkomingen in cryptografische flexibiliteit of de configuratie daarvan. Wanneer bijvoorbeeld meerdere incidenten wijzen op onvoldoende cryptografische flexibiliteit of verouderde cryptografische configuraties, moet dit leiden tot een herziening van de relevante pijlers en verbetermaatregelen. Het PowerShell-script dat bij dit artikel hoort, kan dienen als technisch hulpmiddel om op vaste momenten kernstatistieken uit Azure op te halen – zoals het percentage sleutels in Key Vault, het aantal services met cryptografische abstractie, de cryptografische compliance-status, en het aantal geplande transities – en die als bijlage toe te voegen aan periodieke security rapportages. Zo ontstaat een gesloten feedbacklus tussen monitoring, analyse en bijsturing.

Remediatie

Gebruik PowerShell-script cryptographic-agility.ps1 (functie Invoke-Remediation) – Identificeert en herstelt ontbrekende of zwakke cryptografische flexibiliteitscontroles.

Wanneer uit audits, incidenten of periodieke assessments blijkt dat cryptografische flexibiliteit onvoldoende is geïmplementeerd of dat bepaalde pijlers zwak zijn, is een gestructureerd remediatieproces noodzakelijk om het cryptografische flexibiliteitsniveau snel en gecontroleerd te verhogen. De eerste stap in dit proces is het uitvoeren van een gap-analyse ten opzichte van het gewenste cryptografische flexibiliteitsraamwerk: welke pijlers zijn al aanwezig en correct geconfigureerd, welke pijlers zijn gedeeltelijk geïmplementeerd maar hebben tekortkomingen, en welke pijlers ontbreken volledig? Deze gap-analyse wordt idealiter uitgevoerd door een multidisciplinair team bestaande uit CISO, cryptografische experts, cloud architect, security engineers, DevOps engineers en vertegenwoordigers uit de business. Het resultaat is een overzicht van concrete tekortkomingen per cryptografische flexibiliteitspijler, geprioriteerd op basis van risico en compliance-impact.

Vervolgens wordt per tekortkoming een gerichte remediatiestrategie bepaald. Ontbreekt bijvoorbeeld de centrale sleutelbeheerpijler volledig, dan is de remediatie het inrichten van een project waarin alle cryptografische sleutels worden gemigreerd naar Azure Key Vault, automatische sleutelrotatie wordt geconfigureerd, en versiebeheer wordt ingeschakeld. Is de abstractielaagpijler gedeeltelijk aanwezig maar ontbreken cryptografische abstractielibraries in veel applicaties, dan ligt de nadruk op het refactoren van applicaties om cryptografische abstractielibraries te gebruiken en het verwijderen van hardcoded cryptografische configuraties. In situaties waarin meerdere pijlers zwak zijn – wat zeker bij organisaties zonder eerdere focus op cryptografische flexibiliteit vaak voorkomt – moet een gefaseerde aanpak worden gevolgd waarbij eerst de fundamenten (centrale sleutelbeheer en inventarisatie) worden versterkt, gevolgd door abstractielaag en transitieplanning, en tot slot compliance-documentatie.

Een belangrijk remediatiepad betreft het herstellen van ontbrekende of zwakke cryptografische inventarisatie en monitoring. Wanneer de derde pijler onvoldoende is geïmplementeerd, kunnen organisaties geen volledig overzicht krijgen van hun cryptografische postuur en kunnen zij niet snel reageren op cryptografische kwetsbaarheden. Remediatie betekent in dit geval het uitvoeren van een volledige cryptografische inventarisatie, het configureren van Azure Policy om cryptografische configuraties te detecteren en af te dwingen, het inschakelen van diagnostische logging voor alle cryptografische services, en het opzetten van monitoring en alerting voor cryptografische events. Zonder adequate cryptografische inventarisatie en monitoring blijven organisaties blind voor cryptografische kwetsbaarheden en kunnen zij niet proactief reageren op nieuwe cryptografische ontwikkelingen en bedreigingen.

Technisch gezien kan remediatie ook bestaan uit het herstructureren van de cryptografische architectuur om cryptografische flexibiliteit beter te kunnen afdwingen. Denk aan het centraliseren van cryptografische operaties in shared libraries of microservices, het implementeren van Azure Policy om cryptografische configuraties consistent af te dwingen, of het migreren van applicaties naar cryptografische abstractielibraries. Deze stappen moeten altijd worden uitgevoerd op basis van een gedetailleerd migratieplan, inclusief impactanalyse, fallbackscenario's en communicatie met betrokken teams. Cryptografische flexibiliteit betekent in dit verband dat herstructurering niet alleen wordt bekeken vanuit technische optimalisatie, maar vooral vanuit de vraag: vergroot dit de cryptografische flexibiliteit en stelt dit organisaties in staat om snel te reageren op nieuwe cryptografische ontwikkelingen en bedreigingen?

Tot slot moet elke remediatie-inspanning worden afgesloten met een expliciete evaluatie en bijstelling van het cryptografische flexibiliteitsraamwerk. De lessen uit incidenten en audits – bijvoorbeeld een cryptografische kwetsbaarheid die heeft geleid tot een security incident of onvoldoende cryptografische flexibiliteit die heeft geleid tot compliance-problemen – moeten structureel worden verwerkt in de cryptografische architectuur, configuraties en procedures. Het is raadzaam om na afronding van een remediatieprogramma een integrale cryptografische assessment te laten uitvoeren door een interne auditdienst of een onafhankelijke derde, zodat kan worden vastgesteld of het nieuwe niveau van cryptografische flexibiliteit daadwerkelijk in lijn is met NIS2, BIO en de verwachtingen van het bestuur. De uitkomsten hiervan worden vastgelegd in cryptografische documentatie en vormen het nieuwe vertrekpunt voor de reguliere cyclus van monitoring en verbetering.

Compliance & Frameworks

Automation

Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).

PowerShell
<# ================================================================================ AZURE POWERSHELL SCRIPT - Nederlandse Baseline voor Veilige Cloud ================================================================================ .SYNOPSIS Cryptografische Flexibiliteit: Voorbereiding op Post-Quantum Cryptografie .DESCRIPTION Controleert en implementeert cryptografische flexibiliteit in Azure-omgevingen door te valideren dat cryptografische configuraties flexibel zijn en kunnen worden aangepast aan nieuwe standaarden en bedreigingen zoals post-quantum cryptografie. .NOTES Filename: cryptographic-agility.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Related JSON: content/azure/security/cryptographic-agility.json CIS Control: 2.1.19 BIO Controls: 6.01.01, 6.02.01, 12.01.01 ISO 27001: A.8.24, A.12.1.1 NIS2 Article: 21 AVG Articles: 25, 32 #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.KeyVault, Az.Resources, Az.Security [CmdletBinding()] param( [Parameter()][switch]$WhatIf, [Parameter()][switch]$Monitoring, [Parameter()][switch]$Remediation, [Parameter()][switch]$Revert ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' $PolicyName = "Cryptografische Flexibiliteit" function Connect-RequiredServices { try { if (-not (Get-AzContext)) { Connect-AzAccount -ErrorAction Stop | Out-Null } Write-Verbose "Verbonden met Azure" } catch { throw "Failed to connect to Azure: $_" } } function Test-Compliance { Write-Verbose "Testing compliance for: $PolicyName..." $result = [PSCustomObject]@{ ScriptName = "cryptographic-agility" PolicyName = $PolicyName IsCompliant = $false TotalKeyVaults = 0 KeyVaultsWithAgility = 0 TotalKeys = 0 KeysInKeyVault = 0 KeysWithAutoRotation = 0 KeysWithModernAlgorithms = 0 Details = @() Recommendations = @() CryptographicInventory = @{ KeyVaults = 0 StorageAccounts = 0 SqlDatabases = 0 CosmosDbAccounts = 0 VMs = 0 } WeakCryptography = @{ OutdatedTLS = 0 WeakCiphers = 0 ShortKeyLengths = 0 DeprecatedAlgorithms = 0 } } try { # Check Azure Key Vaults for cryptographic agility $keyVaults = Get-AzKeyVault -ErrorAction SilentlyContinue $result.TotalKeyVaults = $keyVaults.Count $result.CryptographicInventory.KeyVaults = $keyVaults.Count foreach ($vault in $keyVaults) { Set-AzContext -SubscriptionId $vault.ResourceId.Split('/')[2] -ErrorAction SilentlyContinue | Out-Null try { # Check if Key Vault is Premium SKU (required for advanced features) $vaultDetail = Get-AzKeyVault -VaultName $vault.VaultName -ResourceGroupName $vault.ResourceGroupName -ErrorAction SilentlyContinue $isPremium = $vaultDetail.Sku -eq 'Premium' # Get keys from Key Vault $keys = Get-AzKeyVaultKey -VaultName $vault.VaultName -ErrorAction SilentlyContinue $result.TotalKeys += $keys.Count foreach ($key in $keys) { $result.KeysInKeyVault++ try { $keyDetail = Get-AzKeyVaultKey -VaultName $vault.VaultName -Name $key.Name -ErrorAction SilentlyContinue # Check for automatic rotation if ($keyDetail.RotationPolicy) { $result.KeysWithAutoRotation++ } # Check for modern algorithms (RSA-2048 or higher, ECDSA P-256 or higher) $keySize = if ($keyDetail.KeySize) { $keyDetail.KeySize } else { 0 } $keyType = $keyDetail.KeyType if (($keyType -eq 'RSA' -and $keySize -ge 2048) -or ($keyType -eq 'EC' -and $keySize -ge 256) -or ($keyType -like '*HSM*')) { $result.KeysWithModernAlgorithms++ } else { $result.WeakCryptography.ShortKeyLengths++ $result.Details += "⚠ Key '$($key.Name)' in vault '$($vault.VaultName)' heeft verouderde sleutellengte: $keyType $keySize" } } catch { Write-Verbose "Kon sleutel details niet ophalen voor '$($key.Name)' in '$($vault.VaultName)': $_" } } if ($isPremium -and $keys.Count -gt 0) { $result.KeyVaultsWithAgility++ $result.Details += "✓ Key Vault '$($vault.VaultName)': Premium SKU met $($keys.Count) sleutel(s)" } elseif (-not $isPremium) { $result.Details += "✗ Key Vault '$($vault.VaultName)': Standard SKU - Upgrade naar Premium voor volledige cryptografische flexibiliteit" $result.Recommendations += "Upgrade Key Vault '$($vault.VaultName)' naar Premium SKU voor ondersteuning van geavanceerde cryptografische functies" } } catch { $result.Details += "✗ Key Vault '$($vault.VaultName)': Fout bij controleren - $($_.Exception.Message)" } } # Check Storage Accounts for cryptographic configuration $subscriptions = Get-AzSubscription | Where-Object { $_.State -eq 'Enabled' } foreach ($sub in $subscriptions) { Set-AzContext -SubscriptionId $sub.Id -ErrorAction SilentlyContinue | Out-Null try { $storageAccounts = Get-AzStorageAccount -ErrorAction SilentlyContinue $result.CryptographicInventory.StorageAccounts += $storageAccounts.Count foreach ($sa in $storageAccounts) { # Check for customer-managed keys (CMK) - indicator of cryptographic agility if ($sa.Encryption.KeySource -eq 'Microsoft.Keyvault') { $result.Details += "✓ Storage Account '$($sa.StorageAccountName)': Gebruikt Customer-Managed Keys" } else { $result.Details += "⚠ Storage Account '$($sa.StorageAccountName)': Gebruikt Microsoft-Managed Keys - Overweeg CMK voor cryptografische flexibiliteit" } } } catch { Write-Verbose "Kon storage accounts niet ophalen voor subscription '$($sub.Name)': $_" } } # Determine compliance $complianceScore = 0 $maxScore = 4 if ($result.TotalKeyVaults -gt 0) { if ($result.KeyVaultsWithAgility -eq $result.TotalKeyVaults) { $complianceScore++ } if ($result.KeysInKeyVault -gt 0) { $complianceScore++ } if ($result.KeysWithAutoRotation -gt 0) { $complianceScore++ } if ($result.KeysWithModernAlgorithms -gt ($result.KeysInKeyVault * 0.8)) { $complianceScore++ } } if ($complianceScore -ge 3 -and $result.TotalKeyVaults -gt 0) { $result.IsCompliant = $true } elseif ($result.TotalKeyVaults -eq 0) { $result.IsCompliant = $false $result.Recommendations += "Geen Key Vaults gevonden - Implementeer Azure Key Vault voor cryptografische flexibiliteit" } else { $result.IsCompliant = $false $result.Recommendations += "Cryptografische flexibiliteit vereist verbetering - Zie details voor specifieke aanbevelingen" } # Add specific recommendations if ($result.WeakCryptography.ShortKeyLengths -gt 0) { $result.Recommendations += "$($result.WeakCryptography.ShortKeyLengths) sleutel(s) met verouderde sleutellengte - Migreer naar moderne algoritmen (RSA-2048+, ECDSA P-256+)" } if (($result.KeysWithAutoRotation / [Math]::Max($result.KeysInKeyVault, 1)) -lt 0.8) { $result.Recommendations += "Configureer automatische sleutelrotatie voor alle sleutels in Key Vault" } if ($result.KeyVaultsWithAgility -lt $result.TotalKeyVaults) { $result.Recommendations += "Upgrade alle Key Vaults naar Premium SKU voor volledige cryptografische flexibiliteit" } } catch { $result.Details += "ERROR: $($_.Exception.Message)" $result.IsCompliant = $false } return $result } function Invoke-Monitoring { $result = Test-Compliance Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "`nCryptografische Inventarisatie:" -ForegroundColor Yellow Write-Host " Key Vaults: $($result.CryptographicInventory.KeyVaults)" -ForegroundColor $(if ($result.CryptographicInventory.KeyVaults -gt 0) { 'Green' } else { 'Yellow' }) Write-Host " Storage Accounts: $($result.CryptographicInventory.StorageAccounts)" -ForegroundColor White Write-Host " SQL Databases: $($result.CryptographicInventory.SqlDatabases)" -ForegroundColor White Write-Host " Cosmos DB Accounts: $($result.CryptographicInventory.CosmosDbAccounts)" -ForegroundColor White Write-Host "`nKey Vault Status:" -ForegroundColor Yellow Write-Host " Totaal Key Vaults: $($result.TotalKeyVaults)" -ForegroundColor White Write-Host " Met cryptografische flexibiliteit: $($result.KeyVaultsWithAgility)/$($result.TotalKeyVaults)" -ForegroundColor $(if ($result.KeyVaultsWithAgility -eq $result.TotalKeyVaults -and $result.TotalKeyVaults -gt 0) { 'Green' } else { 'Yellow' }) Write-Host " Totaal sleutels: $($result.TotalKeys)" -ForegroundColor White Write-Host " Sleutels in Key Vault: $($result.KeysInKeyVault)" -ForegroundColor White Write-Host " Met automatische rotatie: $($result.KeysWithAutoRotation)" -ForegroundColor $(if ($result.KeysWithAutoRotation -gt 0) { 'Green' } else { 'Yellow' }) Write-Host " Met moderne algoritmen: $($result.KeysWithModernAlgorithms)" -ForegroundColor $(if ($result.KeysWithModernAlgorithms -gt ($result.KeysInKeyVault * 0.8)) { 'Green' } else { 'Yellow' }) Write-Host "`nZwakke Cryptografie Detectie:" -ForegroundColor Yellow Write-Host " Verouderde sleutellengtes: $($result.WeakCryptography.ShortKeyLengths)" -ForegroundColor $(if ($result.WeakCryptography.ShortKeyLengths -eq 0) { 'Green' } else { 'Red' }) Write-Host " Verouderde TLS-versies: $($result.WeakCryptography.OutdatedTLS)" -ForegroundColor $(if ($result.WeakCryptography.OutdatedTLS -eq 0) { 'Green' } else { 'Yellow' }) Write-Host "`nDetails:" -ForegroundColor Yellow foreach ($detail in $result.Details) { if ($detail -like "✓*") { Write-Host " $detail" -ForegroundColor Green } elseif ($detail -like "✗*") { Write-Host " $detail" -ForegroundColor Red } elseif ($detail -like "⚠*") { Write-Host " $detail" -ForegroundColor Yellow } else { Write-Host " $detail" -ForegroundColor Gray } } if ($result.Recommendations.Count -gt 0) { Write-Host "`nAanbevelingen:" -ForegroundColor Yellow foreach ($rec in $result.Recommendations) { Write-Host " • $rec" -ForegroundColor Cyan } } Write-Host "`nCompliance Status: " -NoNewline -ForegroundColor White if ($result.IsCompliant) { Write-Host "[OK] COMPLIANT" -ForegroundColor Green Write-Host "`nCryptografische flexibiliteit is correct geïmplementeerd." -ForegroundColor Green } else { Write-Host "[FAIL] NON-COMPLIANT" -ForegroundColor Red Write-Host "`nCryptografische flexibiliteit vereist verbetering." -ForegroundColor Red } Write-Host "`nBest Practices:" -ForegroundColor Cyan Write-Host " • Gebruik Azure Key Vault Premium voor alle cryptografische sleutels" -ForegroundColor Gray Write-Host " • Configureer automatische sleutelrotatie voor alle sleutels" -ForegroundColor Gray Write-Host " • Gebruik moderne algoritmen: RSA-2048+ of ECDSA P-256+" -ForegroundColor Gray Write-Host " • Centraliseer sleutelbeheer via Azure Key Vault" -ForegroundColor Gray Write-Host " • Documenteer alle cryptografische configuraties" -ForegroundColor Gray Write-Host " • Plan voorbereiding op post-quantum cryptografie" -ForegroundColor Gray return $result } function Invoke-Remediation { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Cryptografische Flexibiliteit - Remediatie" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan $result = Test-Compliance Write-Host "`nHuidige Status:" -ForegroundColor Yellow Write-Host " Key Vaults met flexibiliteit: $($result.KeyVaultsWithAgility)/$($result.TotalKeyVaults)" -ForegroundColor $(if ($result.KeyVaultsWithAgility -eq $result.TotalKeyVaults) { 'Green' } else { 'Yellow' }) Write-Host " Sleutels met automatische rotatie: $($result.KeysWithAutoRotation)/$($result.KeysInKeyVault)" -ForegroundColor $(if ($result.KeysWithAutoRotation -eq $result.KeysInKeyVault -and $result.KeysInKeyVault -gt 0) { 'Green' } else { 'Yellow' }) if ($result.KeyVaultsWithAgility -lt $result.TotalKeyVaults -or $result.KeysWithAutoRotation -lt $result.KeysInKeyVault) { Write-Host "`nAanbevelingen voor implementatie:" -ForegroundColor Cyan Write-Host " 1. Upgrade alle Key Vaults naar Premium SKU" -ForegroundColor Gray Write-Host " 2. Migreer alle cryptografische sleutels naar Azure Key Vault" -ForegroundColor Gray Write-Host " 3. Configureer automatische sleutelrotatie voor alle sleutels" -ForegroundColor Gray Write-Host " 4. Migreer verouderde sleutels naar moderne algoritmen (RSA-2048+, ECDSA P-256+)" -ForegroundColor Gray Write-Host " 5. Documenteer alle cryptografische configuraties" -ForegroundColor Gray Write-Host " 6. Implementeer cryptografische inventarisatie en monitoring" -ForegroundColor Gray Write-Host " 7. Plan voorbereiding op post-quantum cryptografie" -ForegroundColor Gray Write-Host "`nPowerShell commando's voor implementatie:" -ForegroundColor Cyan Write-Host " # Upgrade Key Vault naar Premium" -ForegroundColor Gray Write-Host " Update-AzKeyVault -VaultName '<VaultName>' -Sku Premium" -ForegroundColor White Write-Host "`n # Configureer automatische sleutelrotatie" -ForegroundColor Gray Write-Host " Set-AzKeyVaultKeyRotationPolicy -VaultName '<VaultName>' -Name '<KeyName>' -ExpiresIn P90D" -ForegroundColor White } else { Write-Host "`n[OK] Cryptografische flexibiliteit is correct geïmplementeerd." -ForegroundColor Green } Write-Host "`nVoor continue monitoring:" -ForegroundColor Cyan Write-Host " • Gebruik dit script in Azure Automation runbooks (maandelijks)" -ForegroundColor Gray Write-Host " • Sla cryptografische inventarisatiedata op in Azure Log Analytics" -ForegroundColor Gray Write-Host " • Configureer Azure Monitor alerts bij zwakke cryptografie" -ForegroundColor Gray Write-Host " • Genereer kwartaalrapportages voor bestuurders" -ForegroundColor Gray Write-Host " • Review cryptografische configuraties regelmatig" -ForegroundColor Gray return $result } function Invoke-Revert { Write-Host "`n⚠️ Cryptografische flexibiliteit uitschakelen wordt NIET aanbevolen" -ForegroundColor Red Write-Host "Dit creëert aanzienlijke beveiligingsrisico's en compliance-problemen." -ForegroundColor Red Write-Host "`nAls u cryptografische configuraties moet wijzigen:" -ForegroundColor Yellow Write-Host " • Raadpleeg eerst het cryptografisch beleid" -ForegroundColor Gray Write-Host " • Test wijzigingen in testomgevingen" -ForegroundColor Gray Write-Host " • Documenteer alle wijzigingen" -ForegroundColor Gray Write-Host " • Overweeg impact op compliance-vereisten" -ForegroundColor Gray Write-Host "`nHet wordt sterk aanbevolen om cryptografische flexibiliteit actief te houden.`n" -ForegroundColor Red } try { Connect-RequiredServices if ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { if ($WhatIf) { Write-Host "`n=== WHATIF MODE ===" -ForegroundColor Yellow $result = Test-Compliance Write-Host "Zou cryptografische flexibiliteit status rapporteren voor $($result.TotalKeyVaults) Key Vault(s)" -ForegroundColor Yellow Write-Host "Huidige status: $($result.KeyVaultsWithAgility) Key Vault(s) met cryptografische flexibiliteit" -ForegroundColor Yellow if ($result.KeyVaultsWithAgility -lt $result.TotalKeyVaults) { Write-Host "`nKey Vaults zonder cryptografische flexibiliteit:" -ForegroundColor Yellow $result.Details | Where-Object { $_ -like "✗*" } | ForEach-Object { Write-Host " $_" -ForegroundColor Gray } } } else { Invoke-Remediation } } elseif ($Revert) { Invoke-Revert } else { $result = Test-Compliance Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "`nStatus: " -NoNewline -ForegroundColor White if ($result.IsCompliant) { Write-Host "[OK] COMPLIANT" -ForegroundColor Green } else { Write-Host "[FAIL] NON-COMPLIANT" -ForegroundColor Red } Write-Host "Key Vaults met flexibiliteit: $($result.KeyVaultsWithAgility)/$($result.TotalKeyVaults)" -ForegroundColor White Write-Host "Sleutels met automatische rotatie: $($result.KeysWithAutoRotation)/$($result.KeysInKeyVault)" -ForegroundColor White if ($result.Recommendations.Count -gt 0) { Write-Host "`nAanbevelingen:" -ForegroundColor Yellow $result.Recommendations | Select-Object -First 3 | ForEach-Object { Write-Host " • $_" -ForegroundColor Cyan } } Write-Host "`nGebruik -Monitoring voor uitgebreide rapportage" -ForegroundColor Gray Write-Host "Gebruik -Remediation voor implementatie aanbevelingen`n" -ForegroundColor Gray } } catch { Write-Error $_ exit 1 } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder cryptografische flexibiliteit kunnen organisaties niet snel reageren op cryptografische kwetsbaarheden, nieuwe cryptografische standaarden en opkomende bedreigingen zoals quantum computing. Dit leidt tot verhoogde risico's op datalekken, compliance-overtredingen en onvoldoende bescherming tegen moderne bedreigingen. Het risico is hoog en betreft zowel operationele als strategische aspecten van beveiliging.

Management Samenvatting

Cryptografische flexibiliteit stelt organisaties in staat om snel en efficiënt te reageren op cryptografische kwetsbaarheden, nieuwe cryptografische standaarden en opkomende bedreigingen zoals quantum computing. Het raamwerk bestaat uit vijf pijlers: centrale sleutelbeheer, abstractielaag, inventarisatie en monitoring, transitieplanning en compliance-documentatie. Essentieel voor NIS2 en BIO compliance en voorbereiding op post-quantum cryptografie. Implementatie: 120 uur (80 technisch, 40 organisatorisch). Doorlopend: 12 uur per maand (0,3 FTE) voor monitoring, evaluatie en transities.