Post-Quantum Cryptografie: Voorbereiding Op De Quantum Computing Bedreiging Voor Azure Omgevingen

💼 Management Samenvatting

Post-quantum cryptografie (PQC) is een kritieke beveiligingsmaatregel die Nederlandse overheidsorganisaties moeten overwegen om zich voor te bereiden op de toekomstige bedreiging die quantum computing vormt voor huidige cryptografische algoritmen. Terwijl quantum computers nog niet op grote schaal beschikbaar zijn, kunnen aanvallers nu al versleutelde data verzamelen en bewaren met de intentie deze in de toekomst te ontsleutelen zodra quantum computing beschikbaar komt. Dit 'harvest now, decrypt later' scenario maakt het implementeren van post-quantum cryptografie een urgente prioriteit voor organisaties die langdurig gevoelige informatie beschermen. Voor Nederlandse overheidsorganisaties die moeten voldoen aan NIS2, BIO en andere compliance-frameworks is het implementeren van post-quantum cryptografie niet alleen een technische keuze, maar een strategische verplichting om toekomstbestendige beveiliging te waarborgen.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
8/10
Implementatie
64u (tech: 40u)
Van toepassing op:
Azure Key Vault
Azure Storage
Azure SQL Database
Azure Cosmos DB
Azure Virtual Machines
Azure App Services
Azure Functions
Azure VPN Gateway
Azure Virtual Network
Alle Azure-services met cryptografie

De opkomst van quantum computing vormt een fundamentele bedreiging voor de huidige cryptografische standaarden die worden gebruikt om digitale communicatie en data-opslag te beveiligen. Traditionele publieke-sleutel cryptografische algoritmen zoals RSA en Elliptic Curve Cryptography (ECC) baseren hun veiligheid op wiskundige problemen die voor klassieke computers praktisch onoplosbaar zijn, maar die door quantum computers in polynomiale tijd kunnen worden opgelost. Dit betekent dat zodra grootschalige quantum computers beschikbaar komen, alle huidige cryptografische bescherming die is gebaseerd op deze algoritmen theoretisch kan worden verbroken. Voor Nederlandse overheidsorganisaties die gevoelige persoonsgegevens, bedrijfsgeheimen of nationaal veiligheidsgevoelige informatie verwerken, is dit een existentiële bedreiging omdat deze data vaak decennia lang vertrouwelijk moet blijven. Bovendien kunnen aanvallers nu al versleutelde data verzamelen en bewaren met de intentie deze in de toekomst te ontsleutelen, wat betekent dat organisaties die niet proactief migreren naar post-quantum cryptografie het risico lopen dat hun huidige beveiligde data in de toekomst wordt gecompromitteerd. Compliance-kaders zoals NIS2 vereisen expliciet dat organisaties passende technische maatregelen implementeren die rekening houden met opkomende bedreigingen, en de BIO vraagt om toekomstbestendige cryptografische maatregelen. Zonder een gestructureerde voorbereiding op post-quantum cryptografie kunnen organisaties niet aantoonbaar voldoen aan deze eisen en lopen zij het risico op sancties, datalekken en verlies van vertrouwen op de lange termijn.

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

Implementatie

Dit artikel beschrijft een concrete implementatiestrategie voor post-quantum cryptografie binnen Azure-omgevingen, specifiek toegespitst op de context van Nederlandse overheidsorganisaties. De implementatie is gebaseerd op zes fundamentele pijlers: assessment en inventarisatie van huidige cryptografische implementaties, selectie en evaluatie van post-quantum cryptografische algoritmen, hybride cryptografie implementatie voor geleidelijke migratie, Azure Key Vault configuratie voor post-quantum sleutelbeheer, monitoring en compliance-documentatie, en transitieplanning en testomgevingen. De eerste pijler betreft assessment waarbij organisaties een volledige inventarisatie maken van alle cryptografische algoritmen, sleutellengtes en configuraties die momenteel in gebruik zijn, inclusief TLS-verbindingen, data-encryptie, digitale handtekeningen en key exchange mechanismen. Deze inventarisatie vormt de basis voor het bepalen van de omvang en prioriteit van de migratie naar post-quantum cryptografie. De tweede pijler richt zich op selectie en evaluatie van post-quantum algoritmen waarbij organisaties kiezen uit NIST-standaardisatie-kandidaten zoals CRYSTALS-Kyber voor key exchange, CRYSTALS-Dilithium voor digitale handtekeningen, en FALCON voor compacte handtekeningen. Deze selectie moet gebaseerd zijn op security-analyse, performance-overwegingen, interoperabiliteitsvereisten en compliance-eisen. De derde pijler adresseert hybride cryptografie waarbij organisaties zowel klassieke als post-quantum algoritmen parallel gebruiken tijdens een transitieperiode, waardoor backwards compatibility wordt gewaarborgd terwijl post-quantum beveiliging wordt toegevoegd. De vierde pijler betreft Azure Key Vault configuratie waarbij post-quantum sleutels worden beheerd via Key Vault met ondersteuning voor verschillende algoritmen en sleutellengtes, automatische rotatie en versiebeheer. De vijfde pijler richt zich op monitoring en compliance-documentatie waarbij alle post-quantum cryptografische configuraties worden gemonitord en gedocumenteerd voor audit en compliance doeleinden. De zesde pijler adresseert transitieplanning waarbij organisaties gestructureerde processen hebben om geleidelijk te migreren naar post-quantum cryptografie zonder dienstonderbrekingen. 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 post-quantum cryptografische implementatie te creëren. Daarnaast wordt uitgelegd hoe deze implementatie aansluit bij NIS2-verplichtingen, BIO-normen en internationale cryptografische standaarden.

Vereisten voor Post-Quantum Cryptografie Implementatie

Een succesvolle implementatie van post-quantum cryptografie in Azure vereist een grondige voorbereiding op zowel technisch als strategisch vlak. De eerste vereiste is een volledige assessment van de huidige cryptografische postuur binnen de Azure-omgeving. Deze assessment moet alle cryptografische implementaties identificeren en documenteren, inclusief TLS-versies en cipher suites die worden gebruikt voor netwerkcommunicatie, encryptie-algoritmen die worden toegepast voor data-at-rest en data-in-transit, digitale handtekeningen die worden gebruikt voor authenticatie en integriteit, en key exchange mechanismen die worden toegepast voor het veilig uitwisselen van cryptografische sleutels. Voor elke cryptografische implementatie moet worden gedocumenteerd welke specifieke algoritmen worden gebruikt (bijvoorbeeld RSA-2048, ECC P-256, AES-256), welke sleutellengtes worden toegepast, waar deze worden gebruikt (bijvoorbeeld Azure Key Vault, Azure Storage, Azure SQL Database), en wat de classificatie is van de data die wordt beschermd. Deze informatie is essentieel om te bepalen welke cryptografische implementaties prioriteit hebben voor migratie naar post-quantum cryptografie, welke impact wijzigingen zullen hebben op de beschikbaarheid en functionaliteit van systemen, en welke resources nodig zijn voor de transitie.

Een tweede cruciale vereiste is het hebben van een duidelijk post-quantum cryptografiebeleid dat is goedgekeurd door het bestuur en dat expliciet aansluit bij de compliance-frameworks waaraan de organisatie moet voldoen. Dit beleid moet definiëren welke post-quantum cryptografische algoritmen zijn toegestaan en aanbevolen voor nieuwe implementaties, welke hybride cryptografische benaderingen worden gebruikt tijdens transities, welke tijdlijnen gelden voor de migratie van verschillende soorten data en services, en wat de acceptabele restrisico's zijn tijdens en na de transitie. Het beleid moet ook expliciet rekening houden met backwards compatibility, interoperabiliteit met externe partijen, en de beschikbaarheid van ondersteuning in Azure-services en applicaties. Voor Nederlandse overheidsorganisaties moet dit beleid aansluiten bij het BIO-raamwerk, NIS2-verplichtingen, en eventuele sectorspecifieke cryptografische eisen. Het beleid moet schriftelijk zijn vastgelegd, regelmatig worden herzien op basis van nieuwe cryptografische standaarden en NIST-standaardisaties, en duidelijk maken wie verantwoordelijk is voor de implementatie en het beheer van post-quantum cryptografie binnen de organisatie.

Technisch gezien vereist post-quantum cryptografie de beschikbaarheid van de juiste Azure-services en ondersteuning. Azure Key Vault Premium en Azure Key Vault Managed HSM bieden ondersteuning voor verschillende cryptografische algoritmen en sleutellengtes, maar de beschikbaarheid van specifieke post-quantum algoritmen kan variëren afhankelijk van de Azure-regio en service-versie. Organisaties moeten verificeren welke post-quantum algoritmen worden ondersteund in hun Azure-omgeving en moeten mogelijk contact opnemen met Microsoft om te bespreken wanneer volledige ondersteuning voor NIST-standaardisatie-kandidaten beschikbaar komt. Voor applicaties en services die cryptografische libraries gebruiken moeten organisaties ervoor zorgen dat deze libraries ondersteuning bieden voor post-quantum algoritmen, of moeten zij migreren naar libraries die deze ondersteuning bieden. Microsoft biedt verschillende cryptografische libraries zoals Azure Cryptography Library en Microsoft Cryptography Library die kunnen worden gebruikt, maar organisaties moeten ook overwegen om externe post-quantum cryptografie libraries te evalueren en te integreren waar nodig. Daarnaast zijn Azure Monitor, Log Analytics en Azure Sentinel nodig voor het monitoren van cryptografische configuraties en het detecteren van potentiële cryptografische problemen tijdens en na de transitie.

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

Tot slot vereist post-quantum cryptografie een volwassen proces voor continue monitoring, evaluatie en verbetering. Post-quantum cryptografische configuraties moeten regelmatig worden geëvalueerd op effectiviteit en security, bijgewerkt op basis van nieuwe NIST-standaardisaties en cryptografische ontwikkelingen, en getest om te verifiëren dat zij nog steeds functioneren zoals bedoeld. Dit vereist vaste planningsmomenten in de governancekalender, waarin post-quantum cryptografische configuraties worden gereviewd, nieuwe algoritmen worden geëvalueerd, en migraties worden gepland. Daarnaast moeten er processen zijn voor het reageren op cryptografische kwetsbaarheden of nieuwe quantum computing ontwikkelingen waarbij wordt geanalyseerd welke configuraties moeten worden gewijzigd en hoe post-quantum cryptografische transities kunnen worden versneld. Alleen met een dergelijk continu verbeterproces blijft post-quantum cryptografie effectief in de tijd en kunnen organisaties proactief reageren op nieuwe cryptografische ontwikkelingen en bedreigingen.

Assessment en Inventarisatie van Huidige Cryptografische Implementaties

De eerste stap in de voorbereiding op post-quantum cryptografie is het uitvoeren van een volledige assessment van alle cryptografische implementaties binnen de Azure-omgeving. Deze assessment moet systematisch alle services, applicaties en configuraties identificeren die cryptografie gebruiken, en moet documenteren welke specifieke algoritmen, sleutellengtes en configuraties worden toegepast. Voor netwerkcommunicatie moet worden geïnventariseerd welke TLS-versies worden gebruikt (bijvoorbeeld TLS 1.2, TLS 1.3), welke cipher suites zijn geconfigureerd, welke certificaten worden gebruikt en welke Certificate Authorities worden vertrouwd. Voor data-encryptie moet worden gedocumenteerd welke algoritmen worden gebruikt voor data-at-rest (bijvoorbeeld AES-256, RSA-2048) en data-in-transit, waar deze worden toegepast (bijvoorbeeld Azure Storage, Azure SQL Database, Azure Cosmos DB), en welke Key Vaults of key management services worden gebruikt. Voor digitale handtekeningen en authenticatie moet worden geïdentificeerd welke algoritmen worden gebruikt (bijvoorbeeld RSA, ECDSA), waar deze worden toegepast, en welke certificaten of keys worden gebruikt. Voor key exchange moet worden gedocumenteerd welke mechanismen worden gebruikt (bijvoorbeeld Diffie-Hellman, ECDH) en waar deze worden toegepast.

Naast technische details moet de assessment ook functionele context vastleggen om te bepalen welke cryptografische implementaties prioriteit hebben voor migratie naar post-quantum cryptografie. Deze context omvat de classificatie van de data die wordt beschermd (bijvoorbeeld Openbaar, Intern, Vertrouwelijk, Geheim), de beschikbaarheidseisen van de services die cryptografie gebruiken, de compliance-vereisten die gelden (bijvoorbeeld NIS2, BIO, ISO 27001), en de verwachte levensduur van de data (bijvoorbeeld kortlopende operationele data versus langdurig archiefdata). Data met een lange levensduur en hoge classificatie heeft bijvoorbeeld hogere prioriteit voor post-quantum cryptografie omdat deze data langer kwetsbaar is voor toekomstige quantum computing aanvallen. Services met hoge beschikbaarheidseisen kunnen complexere migratie-strategieën vereisen om dienstonderbrekingen te voorkomen. Services die moeten voldoen aan specifieke compliance-eisen kunnen specifieke post-quantum cryptografische algoritmen of configuraties vereisen. Deze informatie vormt de basis voor het prioriteren van cryptografische migraties en het bepalen van de volgorde waarin services worden gemigreerd naar post-quantum cryptografie.

Voor het uitvoeren van de assessment kunnen verschillende Azure-tools en services worden gebruikt. Azure Policy kan worden gebruikt om te controleren of resources voldoen aan cryptografische configuratie-eisen en om niet-conforme configuraties te detecteren. Azure Security Center en Microsoft Defender for Cloud kunnen worden gebruikt om cryptografische configuraties te analyseren en aanbevelingen te genereren voor verbetering. Azure Monitor en Log Analytics kunnen worden gebruikt om cryptografische events te verzamelen en te analyseren, inclusief TLS-handshakes, key exchange operaties, en encryptie/decryptie operaties. Azure Key Vault kan worden gebruikt om te inventariseren welke keys en certificaten worden beheerd en welke algoritmen worden gebruikt. Daarnaast kunnen externe tools en scripts worden gebruikt om cryptografische configuraties te scannen, bijvoorbeeld om TLS-configuraties te analyseren of om certificaten te inspecteren. Het PowerShell-script dat bij dit artikel hoort kan worden gebruikt om automatisch cryptografische configuraties te inventariseren en te documenteren, waardoor de assessment efficiënter en reproduceerbaarder wordt.

De resultaten van de assessment moeten worden gedocumenteerd in een centraal cryptografisch register dat regelmatig wordt bijgewerkt en dat toegankelijk is voor alle relevante teams en functies. Dit register moet per cryptografische implementatie de technische details bevatten (algoritmen, sleutellengtes, configuraties), de functionele context (data-classificatie, beschikbaarheidseisen, compliance-vereisten), de prioriteit voor post-quantum migratie, en de huidige status van de migratie. Het register moet ook relaties documenteren tussen verschillende cryptografische implementaties, bijvoorbeeld wanneer meerdere services dezelfde keys gebruiken of wanneer services afhankelijk zijn van gedeelde cryptografische configuraties. Deze informatie is essentieel voor het plannen van cryptografische migraties en het voorkomen van onvoorziene afhankelijkheden of conflicten tijdens transities. Het register moet worden beheerd door de security officer of een toegewezen cryptografisch expert, en moet regelmatig worden gereviewd en bijgewerkt op basis van wijzigingen in services, configuraties of compliance-vereisten.

Selectie en Evaluatie van Post-Quantum Cryptografische Algoritmen

De selectie van post-quantum cryptografische algoritmen is een kritieke beslissing die moet worden gebaseerd op een grondige evaluatie van security, performance, interoperabiliteit en compliance-vereisten. NIST heeft een standaardisatieproces uitgevoerd voor post-quantum cryptografie dat heeft geleid tot de selectie van verschillende algoritmen voor verschillende use cases. Voor key exchange is CRYSTALS-Kyber geselecteerd als de primaire NIST-standaard, wat een lattice-gebaseerd algoritme is dat efficiënt is voor zowel client-server als peer-to-peer communicatie. Voor digitale handtekeningen zijn CRYSTALS-Dilithium en FALCON geselecteerd als primaire en alternatieve NIST-standaarden respectievelijk, waarbij Dilithium is geoptimaliseerd voor algemene use cases en FALCON is geoptimaliseerd voor compacte handtekeningen waar bandwidth een beperkende factor is. Daarnaast zijn verschillende alternatieve algoritmen geselecteerd voor specifieke use cases, zoals SPHINCS+ voor stateful handtekeningen en BIKE voor code-gebaseerde cryptografie.

Bij de selectie van post-quantum algoritmen moeten organisaties verschillende factoren afwegen. Security is de meest belangrijke factor: algoritmen moeten voldoende cryptografische sterkte bieden tegen zowel klassieke als quantum computing aanvallen, en moeten zijn geëvalueerd door de cryptografische gemeenschap op basis van uitgebreide security-analyse. Performance is een belangrijke praktische factor: algoritmen moeten efficiënt zijn in termen van computational overhead, key sizes, signature sizes en bandwidth-gebruik, zodat zij praktisch bruikbaar zijn in productie-omgevingen zonder onaanvaardbare impact op latency of throughput. Interoperabiliteit is essentieel: algoritmen moeten worden ondersteund door de Azure-services, applicaties en externe partijen waarmee wordt gecommuniceerd, en moeten compatibel zijn met bestaande cryptografische infrastructuren en standaarden. Compliance-vereisten kunnen specifieke algoritmen of configuraties voorschrijven: sommige organisaties of sectoren kunnen vereisen dat alleen NIST-standaardisatie-algoritmen worden gebruikt, terwijl anderen flexibeler kunnen zijn. Voor Nederlandse overheidsorganisaties is het verstandig om primair te focussen op NIST-standaardisatie-algoritmen omdat deze algemeen worden aanvaard en ondersteund, maar organisaties moeten ook alternatieve algoritmen evalueren voor specifieke use cases waar deze beter geschikt zijn.

Naast de selectie van algoritmen moeten organisaties ook beslissingen nemen over sleutellengtes en configuraties. Post-quantum algoritmen gebruiken verschillende parameter sets die verschillende security-levels bieden: NIST definieert security levels 1, 3 en 5 die overeenkomen met verschillende cryptografische sterkte-eisen. Organisaties moeten selecteren welke security level geschikt is voor hun use cases op basis van data-classificatie, compliance-vereisten en performance-overwegingen. Voor hoog-geclassificeerde data kunnen hogere security levels worden vereist, maar deze kunnen ook hogere computational overhead en grotere key sizes veroorzaken. Voor algemene use cases kan security level 3 een goede balans bieden tussen security en performance. Daarnaast moeten organisaties beslissen over hybride cryptografische benaderingen: tijdens een transitieperiode kunnen zowel klassieke als post-quantum algoritmen parallel worden gebruikt om backwards compatibility te waarborgen terwijl post-quantum beveiliging wordt toegevoegd. Hybride benaderingen kunnen verschillende vormen aannemen, bijvoorbeeld door zowel klassieke als post-quantum keys uit te wisselen, of door zowel klassieke als post-quantum handtekeningen te genereren.

Voor het evalueren van post-quantum algoritmen moeten organisaties verschillende bronnen raadplegen. NIST-documentatie en standaardisatie-rapporten bieden uitgebreide informatie over geselecteerde algoritmen, security-analyse, performance-benchmarks en implementatie-richtlijnen. Cryptografische onderzoekspapers en security-analyses bieden diepgaande technische informatie over de security en performance van verschillende algoritmen. Azure-documentatie en Microsoft-resources bieden informatie over welke post-quantum algoritmen worden ondersteund in Azure-services en wanneer volledige ondersteuning beschikbaar komt. Open-source implementaties en libraries kunnen worden geëvalueerd om te bepalen welke praktisch bruikbaar zijn en welke ondersteuning bieden voor de gekozen algoritmen. Daarnaast kunnen organisaties contact opnemen met cryptografische experts, Microsoft-ondersteuning of sectorale organisaties voor advies over algoritme-selectie en implementatie-richtlijnen. Het is belangrijk om regelmatig nieuwe ontwikkelingen te monitoren omdat NIST en andere standaardisatie-organisaties nieuwe algoritmen kunnen selecteren of bestaande kunnen bijwerken op basis van nieuwe security-analyse of cryptografische ontwikkelingen.

Hybride Cryptografie Implementatie voor Geleidelijke Migratie

Hybride cryptografie is een essentiële strategie voor de geleidelijke migratie naar post-quantum cryptografie zonder dienstonderbrekingen of backwards compatibility problemen. Hybride cryptografie combineert klassieke cryptografische algoritmen (zoals RSA of ECC) met post-quantum algoritmen (zoals CRYSTALS-Kyber of CRYSTALS-Dilithium) zodat beide parallel worden gebruikt tijdens een transitieperiode. Dit betekent dat systemen beschermd blijven door klassieke cryptografie voor compatibiliteit met bestaande systemen en externe partijen, terwijl post-quantum cryptografie wordt toegevoegd voor toekomstbestendige beveiliging. Hybride cryptografie kan verschillende vormen aannemen afhankelijk van de use case: voor key exchange kunnen zowel klassieke als post-quantum keys worden uitgewisseld en gecombineerd, voor digitale handtekeningen kunnen zowel klassieke als post-quantum handtekeningen worden gegenereerd en geverifieerd, en voor data-encryptie kunnen meerdere encryptielagen worden toegepast met verschillende algoritmen.

Voor key exchange is een veelgebruikte hybride benadering om zowel klassieke als post-quantum key exchange mechanismen parallel uit te voeren en de resulterende keys te combineren via een key derivation function (KDF). Dit betekent dat een TLS-verbinding bijvoorbeeld zowel een klassieke ECDH key exchange als een post-quantum CRYSTALS-Kyber key exchange uitvoert, beide keys combineert, en de gecombineerde key gebruikt voor symmetrische encryptie. Op deze manier blijft de verbinding compatibel met systemen die alleen klassieke cryptografie ondersteunen, maar wordt post-quantum beveiliging toegevoegd voor systemen die beide ondersteunen. Naarmate meer systemen post-quantum cryptografie ondersteunen, kunnen organisaties geleidelijk overstappen naar post-quantum-only key exchange, maar tijdens de transitieperiode biedt hybride cryptografie een veilige tussenstap.

Voor digitale handtekeningen is een hybride benadering om zowel klassieke als post-quantum handtekeningen te genereren en op te slaan. Dit betekent dat een document bijvoorbeeld zowel een RSA-handtekening als een CRYSTALS-Dilithium handtekening krijgt, en dat beide handtekeningen worden geverifieerd tijdens verificatie. Op deze manier blijft de handtekening geldig voor systemen die alleen klassieke cryptografie ondersteunen, maar wordt post-quantum authenticiteit toegevoegd voor systemen die beide ondersteunen. Naarmate meer systemen post-quantum cryptografie ondersteunen, kunnen organisaties geleidelijk overstappen naar post-quantum-only handtekeningen, maar tijdens de transitieperiode biedt hybride cryptografie een veilige tussenstap zonder verlies van backwards compatibility.

Voor data-encryptie kan een hybride benadering worden toegepast door meerdere encryptielagen te gebruiken met verschillende algoritmen. Dit betekent dat data bijvoorbeeld eerst wordt versleuteld met een klassiek algoritme (zoals AES-256) en vervolgens met een post-quantum algoritme, of vice versa. Op deze manier is data beschermd door beide algoritmen en kan het worden ontsleuteld door systemen die een van beide algoritmen ondersteunen. Naarmate meer systemen post-quantum cryptografie ondersteunen, kunnen organisaties geleidelijk overstappen naar post-quantum-only encryptie, maar tijdens de transitieperiode biedt hybride cryptografie een veilige tussenstap zonder verlies van data-toegang.

De implementatie van hybride cryptografie vereist zorgvuldige planning en configuratie. Organisaties moeten beslissen welke hybride benadering wordt gebruikt voor verschillende use cases, welke algoritmen worden gecombineerd, en hoe keys worden beheerd en gecombineerd. Azure Key Vault kan worden gebruikt om zowel klassieke als post-quantum keys te beheren, en kan worden geconfigureerd om automatisch beide types keys te genereren en te roteren. Applicaties en services moeten worden geconfigureerd om zowel klassieke als post-quantum cryptografische operaties uit te voeren, en moeten worden getest om te verifiëren dat hybride cryptografie correct werkt en geen performance- of functionaliteitsproblemen veroorzaakt. Monitoring en logging moeten worden geconfigureerd om hybride cryptografische operaties te tracken en te analyseren, zodat organisaties kunnen verifiëren dat hybride cryptografie effectief wordt gebruikt en kunnen detecteren wanneer volledige migratie naar post-quantum cryptografie mogelijk is. Het PowerShell-script dat bij dit artikel hoort kan worden gebruikt om hybride cryptografische configuraties te controleren en te monitoren, zodat organisaties kunnen verifiëren dat hybride cryptografie correct is geïmplementeerd.

Monitoring en Compliance-Documentatie voor Post-Quantum Cryptografie

Continue monitoring en compliance-documentatie zijn essentieel om te verifiëren dat post-quantum cryptografie effectief wordt gebruikt en om aan te tonen dat organisaties voldoen aan compliance-vereisten zoals NIS2 en BIO. Monitoring moet zowel technische configuraties als operationele metrics omvatten om een compleet beeld te krijgen van de post-quantum cryptografische postuur. Technische monitoring omvat het controleren van cryptografische configuraties om te verifiëren dat post-quantum algoritmen correct zijn geconfigureerd en worden gebruikt, het detecteren van niet-conforme configuraties of verouderde cryptografie, en het identificeren van services of applicaties die nog niet zijn gemigreerd naar post-quantum cryptografie. Operationele monitoring omvat het tracken van cryptografische operaties om te verifiëren dat post-quantum cryptografie effectief wordt gebruikt in productie-omgevingen, het analyseren van performance-metrics om te detecteren van eventuele impact van post-quantum cryptografie op latency of throughput, en het monitoren van error rates of andere indicatoren die kunnen wijzen op problemen met post-quantum cryptografische implementaties.

Azure Monitor, Log Analytics en Azure Sentinel kunnen worden gebruikt om cryptografische configuraties en operaties te monitoren en te analyseren. Azure Key Vault logging kan worden geconfigureerd om alle cryptografische operaties te loggen, inclusief key generation, key exchange, signing en verification operaties, zodat organisaties kunnen verifiëren dat post-quantum keys worden gebruikt. Azure Monitor metrics kunnen worden gebruikt om cryptografische performance te tracken, bijvoorbeeld de tijd die nodig is voor post-quantum key exchange of handtekening-verificatie, zodat organisaties kunnen detecteren van eventuele performance-impact. Log Analytics queries kunnen worden gebruikt om cryptografische events te analyseren en te correleren, bijvoorbeeld om te identificeren welke services post-quantum cryptografie gebruiken en welke nog klassieke cryptografie gebruiken. Azure Sentinel kan worden gebruikt om cryptografische security events te detecteren en te analyseren, bijvoorbeeld om te identificeren van verdachte cryptografische activiteiten of potentiële security-incidenten.

Compliance-documentatie moet alle post-quantum cryptografische beslissingen, configuraties en implementaties documenteren voor audit en compliance doeleinden. Deze documentatie moet het post-quantum cryptografiebeleid bevatten, de assessment-resultaten van huidige cryptografische implementaties, de geselecteerde post-quantum algoritmen en de motivatie daarvoor, de hybride cryptografische benaderingen en transitieplannen, de Azure Key Vault configuraties en key management procedures, en de monitoring- en logging-configuraties. Daarnaast moet de documentatie ook operationele informatie bevatten, zoals welke services zijn gemigreerd naar post-quantum cryptografie, welke services nog in transitie zijn, welke services nog klassieke cryptografie gebruiken en waarom, en welke acties worden ondernomen om migratie te versnellen. Deze documentatie moet regelmatig worden bijgewerkt om actueel te blijven en moet toegankelijk zijn voor auditors, compliance-officers en andere relevante stakeholders. Het PowerShell-script dat bij dit artikel hoort kan worden gebruikt om automatisch compliance-rapportages te genereren die de huidige post-quantum cryptografische postuur documenteren, zodat organisaties snel en efficiënt kunnen rapporteren over compliance.

Gebruik PowerShell-script post-quantum-cryptography.ps1 (functie Invoke-Monitoring) – Genereert een overzicht van de post-quantum cryptografische postuur, inclusief welke services post-quantum cryptografie gebruiken, welke services nog klassieke cryptografie gebruiken, en welke configuraties moeten worden bijgewerkt..

Remediatie en Transitieplanning voor Post-Quantum Cryptografie

Remediatie binnen het post-quantum cryptografie domein betekent in de praktijk dat organisaties systematisch migreren van klassieke naar post-quantum cryptografie volgens een gestructureerd transitieplan. Dit transitieplan moet gebaseerd zijn op de assessment-resultaten en moet prioriteit geven aan services en applicaties met de hoogste risico's of de langste data-levensduur. Voor elke service of applicatie moet het transitieplan de huidige cryptografische configuratie documenteren, de doel-post-quantum configuratie definiëren, de stappen voor migratie beschrijven, de test- en validatie-procedures specificeren, en de rollback-procedures documenteren voor het geval migratie problemen veroorzaakt. Het transitieplan moet ook rekening houden met afhankelijkheden tussen services: wanneer een service post-quantum cryptografie gebruikt, moeten alle services die ermee communiceren ook post-quantum cryptografie ondersteunen, of moeten hybride cryptografische benaderingen worden gebruikt om backwards compatibility te waarborgen.

Voor de uitvoering van cryptografische migraties moeten organisaties gestructureerde processen hebben die dienstonderbrekingen voorkomen en kwaliteit waarborgen. Migraties moeten worden uitgevoerd in gecontroleerde omgevingen (bijvoorbeeld test- of acceptatie-omgevingen) voordat zij worden toegepast in productie-omgevingen, en moeten worden getest om te verifiëren dat post-quantum cryptografie correct werkt en geen functionaliteits- of performance-problemen veroorzaakt. Migraties moeten worden gepland tijdens onderhoudsvensters of perioden met lage activiteit om de impact op gebruikers te minimaliseren, en moeten worden gecommuniceerd met relevante stakeholders om verwachtingen te beheren. Migraties moeten worden gemonitord om te detecteren van eventuele problemen, en moeten worden gevolgd door validatie om te verifiëren dat migratie succesvol is. In het geval van problemen moeten rollback-procedures beschikbaar zijn om snel terug te keren naar de vorige cryptografische configuratie.

Gebruik PowerShell-script post-quantum-cryptography.ps1 (functie Invoke-Remediation) – Genereert een overzicht van cryptografische configuraties die moeten worden gemigreerd naar post-quantum cryptografie, inclusief prioritering, impact-analyse en aanbevolen migratie-stappen..

Een volwassen post-quantum cryptografisch raamwerk groeit stap voor stap door continue verbetering en geleidelijke migratie. Na elke migratie worden de resultaten geëvalueerd, lessons learned worden gedocumenteerd, en het transitieplan wordt bijgewerkt op basis van nieuwe inzichten. Prioriteiten worden regelmatig herzien op basis van nieuwe bedreigingsinformatie, compliance-vereisten of technologische ontwikkelingen. Monitoring en compliance-documentatie worden continu bijgewerkt om de huidige post-quantum cryptografische postuur accuraat te reflecteren. Uiteindelijk wordt post-quantum cryptografie zo niet alleen een set van technische configuraties, maar een aantoonbaar beheerst en verantwoord ingericht raamwerk dat continu wordt geëvalueerd en verbeterd om toekomstbestendige beveiliging te waarborgen en te blijven voldoen aan veranderende eisen, bedreigingen en regelgeving.

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 Post-Quantum Cryptografie Assessment en Monitoring voor Azure Omgevingen .DESCRIPTION Controleert en monitort post-quantum cryptografische configuraties in Azure, inclusief Key Vault configuraties, TLS-instellingen, en algoritme-gebruik. Ondersteunt assessment, monitoring en remediatie-planning voor migratie naar post-quantum cryptografie. .NOTES Filename: post-quantum-cryptography.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Created: 2025-01-27 Last Modified: 2025-01-27 Related JSON: content/azure/security/post-quantum-cryptography.json .LINK https://github.com/[org]/m365-tenant-best-practise .EXAMPLE .\post-quantum-cryptography.ps1 Voert basis compliance check uit voor post-quantum cryptografie .EXAMPLE .\post-quantum-cryptography.ps1 -Monitoring Toont gedetailleerd rapport over post-quantum cryptografische postuur .EXAMPLE .\post-quantum-cryptography.ps1 -Assessment Voert volledige assessment uit van cryptografische implementaties .EXAMPLE .\post-quantum-cryptography.ps1 -Remediation -WhatIf Toont preview van aanbevolen remediatie-acties #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.KeyVault, Az.Resources, Az.Network, Az.Storage, Az.Security # ============================================================================ # PARAMETERS # ============================================================================ [CmdletBinding()] param( [Parameter(HelpMessage = "Voer volledige cryptografische assessment uit")] [switch]$Assessment, [Parameter(HelpMessage = "Monitort post-quantum cryptografische configuraties")] [switch]$Monitoring, [Parameter(HelpMessage = "Genereer remediatie-planning en aanbevelingen")] [switch]$Remediation, [Parameter(HelpMessage = "Toon wat er zou gebeuren zonder wijzigingen")] [switch]$WhatIf, [Parameter(HelpMessage = "Specificeer Azure Subscription ID (optioneel)")] [string]$SubscriptionId ) # ============================================================================ # GLOBAL VARIABLES # ============================================================================ $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' $PolicyName = "Post-Quantum Cryptografie Implementatie" # Post-quantum algoritmen (NIST standaardisatie) $PostQuantumAlgorithms = @{ KeyExchange = @("CRYSTALS-Kyber", "BIKE", "SIKE") DigitalSignature = @("CRYSTALS-Dilithium", "FALCON", "SPHINCS+") Encryption = @("CRYSTALS-Kyber", "Classic McEliece") } # Klassieke algoritmen die kwetsbaar zijn voor quantum computing $ClassicalVulnerableAlgorithms = @("RSA", "ECDSA", "ECDH", "Diffie-Hellman") # ============================================================================ # FUNCTION: Connect-RequiredServices # ============================================================================ function Connect-RequiredServices { <# .SYNOPSIS Verbind met Azure met de benodigde permissions .DESCRIPTION Controleert of er al een actieve Azure connectie is. Indien niet, maakt het een nieuwe connectie. #> try { if (-not (Get-AzContext)) { Write-Verbose "Geen actieve Azure connectie gevonden. Verbinden..." Connect-AzAccount | Out-Null if ($SubscriptionId) { Set-AzContext -SubscriptionId $SubscriptionId | Out-Null Write-Verbose "Azure context ingesteld op subscription: $SubscriptionId" } } else { Write-Verbose "Actieve Azure connectie gevonden" if ($SubscriptionId) { Set-AzContext -SubscriptionId $SubscriptionId | Out-Null Write-Verbose "Azure context bijgewerkt naar subscription: $SubscriptionId" } } $context = Get-AzContext Write-Verbose "Verbonden met Azure: $($context.Account.Id) - Subscription: $($context.Subscription.Name)" } catch { Write-Error "Kon niet verbinden met Azure: $_" throw } } # ============================================================================ # FUNCTION: Test-Compliance # ============================================================================ function Test-Compliance { <# .SYNOPSIS Test huidige compliance status voor post-quantum cryptografie .OUTPUTS PSCustomObject met compliance resultaten #> [CmdletBinding()] param() Write-Verbose "Testen post-quantum cryptografie compliance..." $result = @{ IsCompliant = $false Timestamp = Get-Date TotalKeyVaults = 0 KeyVaultsWithPQC = 0 ServicesAssessed = 0 ServicesWithPQC = 0 ComplianceScore = 0 Recommendations = @() Details = @() } try { # Check Key Vaults voor post-quantum ondersteuning $keyVaults = Get-AzKeyVault -ErrorAction SilentlyContinue $result.TotalKeyVaults = $keyVaults.Count Write-Verbose "Gevonden $($result.TotalKeyVaults) Key Vaults" foreach ($vault in $keyVaults) { try { $vaultDetails = Get-AzKeyVault -VaultName $vault.VaultName -ResourceGroupName $vault.ResourceGroupName -ErrorAction SilentlyContinue # Check of Key Vault post-quantum algoritmen ondersteunt # Note: Azure Key Vault ondersteuning voor post-quantum algoritmen kan variëren # Dit is een vereenvoudigde check - in productie zou dit specifieker zijn $keys = Get-AzKeyVaultKey -VaultName $vault.VaultName -ErrorAction SilentlyContinue $hasPostQuantum = $false foreach ($key in $keys) { if ($key.KeyType -like "*PQC*" -or $key.KeyType -like "*KYBER*" -or $key.KeyType -like "*DILITHIUM*") { $hasPostQuantum = $true break } } if ($hasPostQuantum) { $result.KeyVaultsWithPQC++ } $result.Details += [PSCustomObject]@{ ResourceType = "KeyVault" ResourceName = $vault.VaultName ResourceGroup = $vault.ResourceGroupName HasPostQuantum = $hasPostQuantum Status = if ($hasPostQuantum) { "Compliant" } else { "Non-Compliant" } } } catch { Write-Verbose "Kon Key Vault $($vault.VaultName) niet volledig analyseren: $_" } } # Bereken compliance score if ($result.TotalKeyVaults -gt 0) { $pqcPercentage = ($result.KeyVaultsWithPQC / $result.TotalKeyVaults) * 100 if ($pqcPercentage -ge 80) { $result.ComplianceScore = 2 $result.IsCompliant = $true } elseif ($pqcPercentage -ge 50) { $result.ComplianceScore = 1 } if ($pqcPercentage -lt 100) { $result.Recommendations += "Implementeer post-quantum cryptografie in alle Key Vaults (Huidig: $pqcPercentage% heeft PQC)" } } # Check Storage Accounts voor encryptie configuratie $storageAccounts = Get-AzStorageAccount -ErrorAction SilentlyContinue $result.ServicesAssessed += $storageAccounts.Count foreach ($storageAccount in $storageAccounts) { $encryption = $storageAccount.Encryption $result.Details += [PSCustomObject]@{ ResourceType = "StorageAccount" ResourceName = $storageAccount.StorageAccountName ResourceGroup = $storageAccount.ResourceGroupName HasPostQuantum = $false # Azure Storage gebruikt momenteel klassieke encryptie Status = "Assessment Required" Notes = "Azure Storage gebruikt momenteel klassieke AES-encryptie. Post-quantum migratie vereist Azure Key Vault integratie." } } # Check SQL Databases $sqlServers = Get-AzSqlServer -ErrorAction SilentlyContinue $result.ServicesAssessed += $sqlServers.Count foreach ($server in $sqlServers) { $databases = Get-AzSqlDatabase -ServerName $server.ServerName -ResourceGroupName $server.ResourceGroupName -ErrorAction SilentlyContinue foreach ($database in $databases) { $result.Details += [PSCustomObject]@{ ResourceType = "SqlDatabase" ResourceName = $database.DatabaseName ResourceGroup = $server.ResourceGroupName ServerName = $server.ServerName HasPostQuantum = $false # SQL Database gebruikt momenteel klassieke encryptie Status = "Assessment Required" Notes = "SQL Database gebruikt momenteel klassieke TDE-encryptie. Post-quantum migratie vereist Azure Key Vault integratie met PQC keys." } } } Write-Verbose "Compliance check voltooid. Score: $($result.ComplianceScore)/2" } catch { Write-Warning "Fout tijdens compliance check: $_" $result.Recommendations += "Er zijn fouten opgetreden tijdens de compliance check. Controleer de logs voor details." } return $result } # ============================================================================ # FUNCTION: Invoke-Assessment # ============================================================================ function Invoke-Assessment { <# .SYNOPSIS Voert volledige assessment uit van cryptografische implementaties .DESCRIPTION Inventariseert alle cryptografische configuraties en identificeert welke services post-quantum cryptografie nodig hebben. #> [CmdletBinding()] param() Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "POST-QUANTUM CRYPTOGRAFIE ASSESSMENT" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan $assessment = @{ Timestamp = Get-Date KeyVaults = @() StorageAccounts = @() SqlDatabases = @() NetworkConfigurations = @() Recommendations = @() Summary = @{} } try { Write-Host "Inventariseren van Key Vaults..." -ForegroundColor Yellow $keyVaults = Get-AzKeyVault -ErrorAction SilentlyContinue foreach ($vault in $keyVaults) { Write-Verbose "Assesseren Key Vault: $($vault.VaultName)" $vaultDetails = Get-AzKeyVault -VaultName $vault.VaultName -ResourceGroupName $vault.ResourceGroupName -ErrorAction SilentlyContinue $keys = Get-AzKeyVaultKey -VaultName $vault.VaultName -ErrorAction SilentlyContinue $secrets = Get-AzKeyVaultSecret -VaultName $vault.VaultName -ErrorAction SilentlyContinue | Select-Object -First 10 $vaultAssessment = @{ Name = $vault.VaultName ResourceGroup = $vault.ResourceGroupName Location = $vault.Location TotalKeys = ($keys | Measure-Object).Count TotalSecrets = ($secrets | Measure-Object).Count HasPostQuantumKeys = $false HasPrivateEndpoint = $false Algorithms = @() Recommendation = "Assessment vereist voor post-quantum migratie" } # Check voor post-quantum keys foreach ($key in $keys) { $vaultAssessment.Algorithms += $key.KeyType if ($key.KeyType -like "*PQC*" -or $key.KeyType -like "*KYBER*") { $vaultAssessment.HasPostQuantumKeys = $true } } # Check voor private endpoints try { $privateEndpoints = Get-AzPrivateEndpoint -ErrorAction SilentlyContinue | Where-Object { $_.PrivateLinkServiceConnections | Where-Object { $_.PrivateLinkServiceId -like "*$($vault.VaultName)*" } } if ($privateEndpoints -and $privateEndpoints.Count -gt 0) { $vaultAssessment.HasPrivateEndpoint = $true } } catch { Write-Verbose "Kon private endpoints niet controleren voor $($vault.VaultName): $_" } if (-not $vaultAssessment.HasPostQuantumKeys) { $vaultAssessment.Recommendation = "Overweeg post-quantum key generation in Key Vault. Evalueer CRYSTALS-Kyber voor key exchange." } $assessment.KeyVaults += $vaultAssessment } Write-Host "Gevonden: $($assessment.KeyVaults.Count) Key Vaults" -ForegroundColor Green Write-Host "`nInventariseren van Storage Accounts..." -ForegroundColor Yellow $storageAccounts = Get-AzStorageAccount -ErrorAction SilentlyContinue foreach ($storageAccount in $storageAccounts) { $storageAssessment = @{ Name = $storageAccount.StorageAccountName ResourceGroup = $storageAccount.ResourceGroupName Encryption = $storageAccount.Encryption.KeySource RequiresKeyVault = ($storageAccount.Encryption.KeySource -eq "Microsoft.Keyvault") Recommendation = "Azure Storage gebruikt standaard Microsoft-managed keys. Voor post-quantum cryptografie is Azure Key Vault integratie met PQC keys vereist." } $assessment.StorageAccounts += $storageAssessment } Write-Host "Gevonden: $($assessment.StorageAccounts.Count) Storage Accounts" -ForegroundColor Green # Generate summary $assessment.Summary = @{ TotalKeyVaults = $assessment.KeyVaults.Count KeyVaultsWithPQC = ($assessment.KeyVaults | Where-Object { $_.HasPostQuantumKeys }).Count TotalStorageAccounts = $assessment.StorageAccounts.Count StorageAccountsWithKeyVault = ($assessment.StorageAccounts | Where-Object { $_.RequiresKeyVault }).Count } # Generate recommendations if ($assessment.Summary.KeyVaultsWithPQC -eq 0) { $assessment.Recommendations += "Geen Key Vaults hebben momenteel post-quantum keys. Start met pilot-implementatie in een test-Key Vault." } if ($assessment.Summary.StorageAccountsWithKeyVault -lt $assessment.Summary.TotalStorageAccounts) { $assessment.Recommendations += "$($assessment.Summary.TotalStorageAccounts - $assessment.Summary.StorageAccountsWithKeyVault) Storage Accounts gebruiken Microsoft-managed keys. Overweeg migratie naar Key Vault voor post-quantum ondersteuning." } # Display results Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "ASSESSMENT RESULTATEN" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan Write-Host "Key Vaults:" -ForegroundColor Yellow Write-Host " Totaal: $($assessment.Summary.TotalKeyVaults)" -ForegroundColor White Write-Host " Met Post-Quantum: $($assessment.Summary.KeyVaultsWithPQC)" -ForegroundColor $(if ($assessment.Summary.KeyVaultsWithPQC -gt 0) { "Green" } else { "Red" }) Write-Host "`nStorage Accounts:" -ForegroundColor Yellow Write-Host " Totaal: $($assessment.Summary.TotalStorageAccounts)" -ForegroundColor White Write-Host " Met Key Vault: $($assessment.Summary.StorageAccountsWithKeyVault)" -ForegroundColor White Write-Host "`nAanbevelingen:" -ForegroundColor Yellow foreach ($recommendation in $assessment.Recommendations) { Write-Host " - $recommendation" -ForegroundColor White } return $assessment } catch { Write-Error "Fout tijdens assessment: $_" throw } } # ============================================================================ # FUNCTION: Invoke-Monitoring # ============================================================================ function Invoke-Monitoring { <# .SYNOPSIS Monitort post-quantum cryptografische configuraties en genereert rapportage .DESCRIPTION Genereert gedetailleerd rapport over de post-quantum cryptografische postuur, inclusief welke services post-quantum cryptografie gebruiken en welke nog klassieke cryptografie gebruiken. #> [CmdletBinding()] param() Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "POST-QUANTUM CRYPTOGRAFIE MONITORING" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan $monitoring = @{ Timestamp = Get-Date ComplianceResult = Test-Compliance KeyVaultStatus = @() ServiceStatus = @() Recommendations = @() } try { Write-Host "Monitoren van Key Vaults..." -ForegroundColor Yellow $keyVaults = Get-AzKeyVault -ErrorAction SilentlyContinue foreach ($vault in $keyVaults) { $vaultStatus = @{ Name = $vault.VaultName ResourceGroup = $vault.ResourceGroupName HasPostQuantum = $false KeyCount = 0 PostQuantumKeyCount = 0 LastKeyRotation = $null Status = "Unknown" } try { $keys = Get-AzKeyVaultKey -VaultName $vault.VaultName -ErrorAction SilentlyContinue $vaultStatus.KeyCount = ($keys | Measure-Object).Count foreach ($key in $keys) { if ($key.KeyType -like "*PQC*" -or $key.KeyType -like "*KYBER*" -or $key.KeyType -like "*DILITHIUM*") { $vaultStatus.HasPostQuantum = $true $vaultStatus.PostQuantumKeyCount++ } if ($null -eq $vaultStatus.LastKeyRotation -or $key.Updated -lt $vaultStatus.LastKeyRotation) { $vaultStatus.LastKeyRotation = $key.Updated } } $vaultStatus.Status = if ($vaultStatus.HasPostQuantum) { "Compliant" } else { "Non-Compliant" } } catch { Write-Verbose "Kon Key Vault $($vault.VaultName) niet monitoren: $_" $vaultStatus.Status = "Error" } $monitoring.KeyVaultStatus += $vaultStatus } Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "MONITORING RESULTATEN" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan Write-Host "Compliance Status:" -ForegroundColor Yellow Write-Host " Is Compliant: $($monitoring.ComplianceResult.IsCompliant)" -ForegroundColor $(if ($monitoring.ComplianceResult.IsCompliant) { "Green" } else { "Red" }) Write-Host " Compliance Score: $($monitoring.ComplianceResult.ComplianceScore)/2" -ForegroundColor White Write-Host " Key Vaults met PQC: $($monitoring.ComplianceResult.KeyVaultsWithPQC)/$($monitoring.ComplianceResult.TotalKeyVaults)" -ForegroundColor White Write-Host "`nKey Vault Details:" -ForegroundColor Yellow foreach ($vaultStatus in $monitoring.KeyVaultStatus) { $statusColor = if ($vaultStatus.Status -eq "Compliant") { "Green" } elseif ($vaultStatus.Status -eq "Error") { "Red" } else { "Yellow" } Write-Host " $($vaultStatus.Name): $($vaultStatus.Status) (Keys: $($vaultStatus.KeyCount), PQC Keys: $($vaultStatus.PostQuantumKeyCount))" -ForegroundColor $statusColor } if ($monitoring.ComplianceResult.Recommendations.Count -gt 0) { Write-Host "`nAanbevelingen:" -ForegroundColor Yellow foreach ($recommendation in $monitoring.ComplianceResult.Recommendations) { Write-Host " - $recommendation" -ForegroundColor White } } return $monitoring } catch { Write-Error "Fout tijdens monitoring: $_" throw } } # ============================================================================ # FUNCTION: Invoke-Remediation # ============================================================================ function Invoke-Remediation { <# .SYNOPSIS Genereert remediatie-planning en aanbevelingen voor post-quantum migratie .DESCRIPTION Analyseert de huidige cryptografische postuur en genereert een gestructureerd plan voor migratie naar post-quantum cryptografie. #> [CmdletBinding()] param() Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "POST-QUANTUM CRYPTOGRAFIE REMEDIATIE" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan if ($WhatIf) { Write-Host "WHATIF MODE: Geen wijzigingen worden doorgevoerd`n" -ForegroundColor Yellow } try { $assessment = Invoke-Assessment $compliance = Test-Compliance $remediation = @{ Timestamp = Get-Date PriorityActions = @() MediumPriorityActions = @() LowPriorityActions = @() MigrationPlan = @() } # Generate priority actions based on assessment if ($assessment.Summary.KeyVaultsWithPQC -eq 0) { $remediation.PriorityActions += "Start met post-quantum pilot in een test-Key Vault met CRYSTALS-Kyber voor key exchange" $remediation.PriorityActions += "Evalueer Azure Key Vault ondersteuning voor post-quantum algoritmen en documenteer beperkingen" } if ($assessment.Summary.StorageAccountsWithKeyVault -lt $assessment.Summary.TotalStorageAccounts) { $count = $assessment.Summary.TotalStorageAccounts - $assessment.Summary.StorageAccountsWithKeyVault $remediation.MediumPriorityActions += "Migreer $count Storage Accounts naar Key Vault-based encryptie voor post-quantum ondersteuning" } # Generate migration plan foreach ($vault in $assessment.KeyVaults) { if (-not $vault.HasPostQuantumKeys) { $remediation.MigrationPlan += @{ KeyVault = $vault.Name ResourceGroup = $vault.ResourceGroup Priority = if ($vault.TotalKeys -gt 10) { "High" } else { "Medium" } Actions = @( "Assess huidige key usage en dependencies", "Plan hybride cryptografie implementatie met backwards compatibility", "Test post-quantum key generation in test-omgeving", "Implementeer post-quantum keys naast klassieke keys", "Monitor en valideer post-quantum key usage", "Plan geleidelijke migratie naar post-quantum-only waar mogelijk" ) } } } Write-Host "REMEDIATIE ACTIES" -ForegroundColor Yellow Write-Host "=================" -ForegroundColor Yellow Write-Host "`nHoge Prioriteit:" -ForegroundColor Red foreach ($action in $remediation.PriorityActions) { Write-Host " - $action" -ForegroundColor White } Write-Host "`nGemiddelde Prioriteit:" -ForegroundColor Yellow foreach ($action in $remediation.MediumPriorityActions) { Write-Host " - $action" -ForegroundColor White } Write-Host "`nLage Prioriteit:" -ForegroundColor Green foreach ($action in $remediation.LowPriorityActions) { Write-Host " - $action" -ForegroundColor White } Write-Host "`nMIGRATIE PLAN" -ForegroundColor Yellow Write-Host "==============" -ForegroundColor Yellow foreach ($planItem in $remediation.MigrationPlan) { Write-Host "`nKey Vault: $($planItem.KeyVault) (Priority: $($planItem.Priority))" -ForegroundColor Cyan foreach ($action in $planItem.Actions) { Write-Host " - $action" -ForegroundColor White } } if ($WhatIf) { Write-Host "`n[WHATIF] Geen wijzigingen zijn doorgevoerd." -ForegroundColor Yellow } return $remediation } catch { Write-Error "Fout tijdens remediatie-planning: $_" throw } } # ============================================================================ # MAIN EXECUTION # ============================================================================ try { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "POST-QUANTUM CRYPTOGRAFIE" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan # Connect to Azure Connect-RequiredServices # Execute based on parameters if ($Assessment) { $result = Invoke-Assessment } elseif ($Monitoring) { $result = Invoke-Monitoring } elseif ($Remediation) { $result = Invoke-Remediation } else { # Default: Compliance check $result = Test-Compliance Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "COMPLIANCE RESULTATEN" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan if ($result.IsCompliant) { Write-Host "COMPLIANT" -ForegroundColor Green Write-Host "Post-quantum cryptografie is geïmplementeerd in de meeste services." -ForegroundColor Green } else { Write-Host "NON-COMPLIANT" -ForegroundColor Red Write-Host "Post-quantum cryptografie ontbreekt in verschillende services." -ForegroundColor Red } Write-Host "`nCompliance Score: $($result.ComplianceScore)/2" -ForegroundColor White Write-Host "Key Vaults met PQC: $($result.KeyVaultsWithPQC)/$($result.TotalKeyVaults)" -ForegroundColor White if ($result.Recommendations.Count -gt 0) { Write-Host "`nAanbevelingen:" -ForegroundColor Yellow foreach ($recommendation in $result.Recommendations) { Write-Host " - $recommendation" -ForegroundColor White } } Write-Host "`nVoer uit met -Monitoring voor gedetailleerd rapport" -ForegroundColor Yellow Write-Host "Voer uit met -Remediation voor migratie-planning`n" -ForegroundColor Yellow } # Return result for automation return $result } catch { Write-Error "Fout tijdens script-uitvoering: $_" exit 2 } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder post-quantum cryptografie lopen organisaties het risico dat hun huidige cryptografische beveiliging wordt verbroken zodra quantum computing op grote schaal beschikbaar komt. Aanvallers kunnen nu al versleutelde data verzamelen en bewaren met de intentie deze in de toekomst te ontsleutelen ('harvest now, decrypt later'), wat betekent dat organisaties die niet proactief migreren naar post-quantum cryptografie het risico lopen dat hun huidige beveiligde data in de toekomst wordt gecompromitteerd. Voor Nederlandse overheidsorganisaties die gevoelige persoonsgegevens, bedrijfsgeheimen of nationaal veiligheidsgevoelige informatie verwerken is dit een existentiële bedreiging omdat deze data vaak decennia lang vertrouwelijk moet blijven. Bovendien kunnen organisaties zonder post-quantum cryptografie niet aantoonbaar voldoen aan NIS2-verplichtingen die vereisen dat organisaties passende technische maatregelen implementeren die rekening houden met opkomende bedreigingen, wat kan leiden tot sancties, datalekken en verlies van vertrouwen op de lange termijn.

Management Samenvatting

Post-quantum cryptografie is essentieel om organisaties voor te bereiden op de toekomstige bedreiging die quantum computing vormt voor huidige cryptografische algoritmen. Azure Key Vault biedt ondersteuning voor post-quantum algoritmen zoals CRYSTALS-Kyber en CRYSTALS-Dilithium, hybride cryptografische benaderingen waarborgen backwards compatibility tijdens transities, en gestructureerde transitieplanning zorgt voor geleidelijke migratie zonder dienstonderbrekingen. Monitoring en compliance-documentatie waarborgen dat post-quantum cryptografie effectief wordt gebruikt en dat organisaties kunnen aantonen dat zij voldoen aan NIS2, BIO en andere compliance-vereisten. Door proactief te migreren naar post-quantum cryptografie voorkomen organisaties dat hun huidige beveiligde data in de toekomst wordt gecompromitteerd en waarborgen zij toekomstbestendige beveiliging voor langdurig gevoelige informatie.