Azure Data Encryption at rest
Microsoft Azure bevat hulpprogramma's voor het beveiligen van gegevens op basis van de beveiligings- en nalevingsbehoeften van uw bedrijf. Dit document richt zich op:
- Hoe gegevens in rust worden beveiligd in Microsoft Azure
- Bespreekt de verschillende onderdelen die deelnemen aan de implementatie van gegevensbescherming,
- Bekijkt voor- en nadelen van de verschillende benaderingen voor sleutelbeheerbeveiliging.
Versleuteling-at-rest is een algemene beveiligingsvereiste. In Azure kunnen organisaties data-at-rest versleutelen zonder het risico of de kosten van een aangepaste oplossing voor sleutelbeheer. Organisaties hebben de mogelijkheid om Versleuteling-at-rest volledig door Azure te laten beheren. Daarnaast hebben organisaties verschillende opties om versleuteling of versleutelingssleutels nauwkeurig te beheren.
Wat is versleuteling-at-rest?
Versleuteling is de veilige codering van gegevens die worden gebruikt om de vertrouwelijkheid van gegevens te beschermen. De versleutelings-at-rest-ontwerpen in Azure gebruiken symmetrische versleuteling om grote hoeveelheden gegevens snel te versleutelen en ontsleutelen volgens een eenvoudig conceptueel model:
- Een symmetrische versleutelingssleutel wordt gebruikt om gegevens te versleutelen terwijl deze naar de opslag worden geschreven.
- Dezelfde versleutelingssleutel wordt gebruikt om die gegevens te ontsleutelen, omdat deze klaar zijn voor gebruik in het geheugen.
- Gegevens kunnen worden gepartitioneerd en voor elke partitie kunnen verschillende sleutels worden gebruikt.
- Sleutels moeten worden opgeslagen op een veilige locatie met beleid voor toegangsbeheer en controle op basis van identiteit. Gegevensversleutelingssleutels die buiten beveiligde locaties worden opgeslagen, worden versleuteld met een sleutelversleutelingssleutel die op een veilige locatie wordt bewaard.
In de praktijk zijn scenario's voor sleutelbeheer en controle, evenals schaal- en beschikbaarheidsgaranties, aanvullende constructies vereist. Concepten en onderdelen van Microsoft Azure Encryption at Rest worden hieronder beschreven.
Het doel van versleuteling at rest
Versleuteling-at-rest biedt gegevensbeveiliging voor opgeslagen gegevens (at rest). Aanvallen op data-at-rest omvatten pogingen om fysieke toegang te verkrijgen tot de hardware waarop de gegevens zijn opgeslagen en vervolgens de ingesloten gegevens in gevaar te komen. Bij een dergelijke aanval is de harde schijf van een server mogelijk verkeerd afgehandeld tijdens onderhoud, waardoor een aanvaller de harde schijf kan verwijderen. Later zou de aanvaller de harde schijf in een computer onder zijn controle plaatsen om te proberen toegang te krijgen tot de gegevens.
Versleuteling-at-rest is ontworpen om te voorkomen dat de aanvaller toegang heeft tot de niet-versleutelde gegevens door ervoor te zorgen dat de gegevens worden versleuteld wanneer ze op schijf zijn. Als een aanvaller een harde schijf met versleutelde gegevens krijgt, maar niet de versleutelingssleutels, moet de aanvaller de versleuteling verslaan om de gegevens te kunnen lezen. Deze aanval is veel complexer en resourceverbruiker dan toegang tot niet-versleutelde gegevens op een harde schijf. Daarom wordt versleuteling-at-rest ten zeerste aanbevolen en is dit een vereiste met hoge prioriteit voor veel organisaties.
Versleuteling-at-rest kan ook vereist zijn vanwege de behoefte van een organisatie aan gegevensbeheer en nalevingsinspanningen. Industrie- en overheidsvoorschriften, zoals HIPAA, PCI en FedRAMP, bieden specifieke waarborgen met betrekking tot vereisten voor gegevensbescherming en versleuteling. Versleuteling-at-rest is een verplichte maatregel die vereist is om aan sommige van deze voorschriften te voldoen. Zie Federal Information Processing Standard (FIPS) Publication 140-2 (Federal Information Processing Standard) 140-2 voor meer informatie over de aanpak van Microsoft voor FIPS 140-2-validatie.
Versleuteling-at-rest biedt niet alleen voldoen aan nalevings- en regelgevingsvereisten, maar ook diepgaande beveiliging. Microsoft Azure biedt een compatibel platform voor services, toepassingen en gegevens. Het biedt ook uitgebreide faciliteits- en fysieke beveiliging, toegangsbeheer voor gegevens en controle. Het is echter belangrijk om aanvullende 'overlappende' beveiligingsmaatregelen te bieden voor het geval een van de andere beveiligingsmaatregelen mislukt en versleuteling-at-rest een dergelijke beveiligingsmaatregel biedt.
Microsoft zet zich in voor versleuteling-at-rest-opties in cloudservices en geeft klanten controle over versleutelingssleutels en logboeken van sleutelgebruik. Bovendien werkt Microsoft standaard aan het versleutelen van alle inactieve klantgegevens.
Onderdelen van Azure Encryption at Rest
Zoals eerder beschreven, is het doel van versleuteling-at-rest dat gegevens die op schijf worden bewaard, worden versleuteld met een geheime versleutelingssleutel. Om dit doel te bereiken, moeten veilige sleutels worden gemaakt, moeten opslag, toegangsbeheer en beheer van de versleutelingssleutels worden verstrekt. Hoewel de details kunnen variëren, kunnen implementaties van Versleuteling in rust van Azure-services worden beschreven in termen die worden geïllustreerd in het volgende diagram.
Azure Key Vault
De opslaglocatie van de versleutelingssleutels en het toegangsbeheer voor deze sleutels staat centraal in een versleutelings-at-rest-model. De sleutels moeten zeer beveiligd zijn, maar kunnen worden beheerd door opgegeven gebruikers en beschikbaar zijn voor specifieke services. Voor Azure-services is Azure Key Vault de aanbevolen oplossing voor sleutelopslag en biedt het een algemene beheerervaring voor alle services. Sleutels worden opgeslagen en beheerd in sleutelkluizen en gebruikers of services kunnen toegang tot een sleutelkluis krijgen. Azure Key Vault biedt ondersteuning voor het maken van sleutels door klanten of het importeren van klantsleutels voor gebruik in door de klant beheerde scenario's met versleutelingssleutels.
Azure Active Directory
Machtigingen voor het gebruik van de sleutels die zijn opgeslagen in Azure Key Vault, voor het beheren van of voor toegang tot versleuteling bij rest-versleuteling en ontsleuteling, kunnen worden verleend aan Azure Active Directory-accounts.
Envelopversleuteling met een sleutelhiërarchie
Er wordt meer dan één versleutelingssleutel gebruikt in een versleutelings-at-rest-implementatie. Het opslaan van een versleutelingssleutel in Azure Key Vault zorgt voor beveiligde sleuteltoegang en centraal beheer van sleutels. Lokale toegang van de service tot versleutelingssleutels is echter efficiënter voor bulkversleuteling en ontsleuteling dan interactie met Key Vault voor elke gegevensbewerking, waardoor betere versleuteling en betere prestaties mogelijk zijn. Het beperken van het gebruik van één versleutelingssleutel vermindert het risico dat de sleutel wordt aangetast en de kosten van herversleuteling wanneer een sleutel moet worden vervangen. Azure-versleutelings-at-rest-modellen maken gebruik van envelopversleuteling, waarbij een versleutelingssleutel een gegevensversleutelingssleutel versleutelt. Dit model vormt een sleutelhiërarchie die beter kan voldoen aan de prestatie- en beveiligingsvereisten:
- Gegevensversleutelingssleutel (DEK): een symmetrische AES256-sleutel die wordt gebruikt voor het versleutelen van een partitie of een gegevensblok, ook wel een gegevenssleutel genoemd. Eén resource kan veel partities en veel gegevensversleutelingssleutels hebben. Het versleutelen van elk gegevensblok met een andere sleutel maakt crypto-analyseaanvallen moeilijker. En door DEK's lokaal in de service te houden, worden de prestaties gemaximaliseerd door gegevens te versleutelen en te ontsleutelen.
- Sleutelversleutelingssleutel (KEK): een versleutelingssleutel die wordt gebruikt om de gegevensversleutelingssleutels te versleutelen met behulp van envelopversleuteling, ook wel wrapping genoemd. Het gebruik van een sleutelversleutelingssleutel die nooit Key Vault maakt het mogelijk om de gegevensversleutelingssleutels zelf te versleutelen en te beheren. De entiteit die toegang heeft tot de KEK kan afwijken van de entiteit waarvoor de DEK is vereist. Een entiteit kan brokertoegang tot de DEK om de toegang van elke DEK tot een specifieke partitie te beperken. Omdat de KEK vereist is voor het ontsleutelen van de DEK's, kunnen klanten DEK's en gegevens cryptografisch wissen door de KEK uit te schakelen.
Resourceproviders en toepassingsexemplaren slaan de versleutelde gegevensversleutelingssleutels op als metagegevens. Alleen een entiteit met toegang tot de sleutelversleutelingssleutel kan deze gegevensversleutelingssleutels ontsleutelen. Er worden verschillende modellen voor sleutelopslag ondersteund. Zie modellen voor gegevensversleuteling voor meer informatie.
Versleuteling-at-rest in Microsoft-cloudservices
Microsoft Cloud-services worden gebruikt in alle drie de cloudmodellen: IaaS, PaaS, SaaS. Hieronder ziet u voorbeelden van hoe ze in elk model passen:
- Softwareservices, aangeduid als Software as a Service of SaaS, die toepassingen bevatten die door de cloud worden geleverd, zoals Microsoft 365.
- Platformservices waarin klanten de cloud gebruiken voor zaken als opslag, analyse en Service Bus-functionaliteit in hun toepassingen.
- Infrastructuurservices of IaaS (Infrastructure as a Service) waarin de klant besturingssystemen en toepassingen implementeert die in de cloud worden gehost en mogelijk gebruikmaken van andere cloudservices.
Versleuteling-at-rest voor SaaS-klanten
SaaS-klanten (Software as a Service) hebben versleuteling in rust meestal ingeschakeld of beschikbaar in elke service. Microsoft 365 heeft verschillende opties voor klanten om versleuteling at rest te controleren of in te schakelen. Zie Versleuteling in Microsoft 365 voor meer informatie over Microsoft 365-services.
Versleuteling-at-rest voor PaaS-klanten
De gegevens van paaS-klanten (Platform as a Service) bevinden zich doorgaans in een opslagservice zoals Blob Storage, maar kunnen ook in de cache worden opgeslagen of opgeslagen in de uitvoeringsomgeving van de toepassing, zoals een virtuele machine. Als u de beschikbare versleutelingsopties wilt zien, bekijkt u de tabel Gegevensversleutelingsmodellen: ondersteunende services voor de opslag- en toepassingsplatforms die u gebruikt.
Versleuteling at rest voor IaaS-klanten
IaaS-klanten (Infrastructure as a Service) kunnen verschillende services en toepassingen in gebruik hebben. IaaS-services kunnen versleuteling-at-rest inschakelen op hun door Azure gehoste virtuele machines en VHD's met behulp van Azure Disk Encryption.
Versleutelde opslag
Net als PaaS kunnen IaaS-oplossingen gebruikmaken van andere Azure-services die gegevens opslaan die zijn versleuteld in rust. In deze gevallen kunt u de ondersteuning voor versleuteling in rust inschakelen, zoals deze wordt geleverd door elke verbruikte Azure-service. De tabel Gegevensversleutelingsmodellen: ondersteunende services bevat een opsomming van de belangrijkste opslag-, services- en toepassingsplatformen en het model van versleuteling in rust dat wordt ondersteund.
Versleutelde rekenkracht
Alle Managed Disks, momentopnamen en installatiekopieën worden versleuteld met behulp van Storage Service Encryption met behulp van een door de service beheerde sleutel. Een completere versleutelings-at-rest-oplossing zorgt ervoor dat de gegevens nooit in niet-versleutelde vorm worden bewaard. Tijdens het verwerken van de gegevens op een virtuele machine kunnen gegevens worden opgeslagen in het Windows-paginabestand of linux-wisselbestand, een crashdump of in een toepassingslogboek. Om ervoor te zorgen dat deze gegevens in rust worden versleuteld, kunnen IaaS-toepassingen Azure Disk Encryption gebruiken op een virtuele Azure IaaS-machine (Windows of Linux) en een virtuele schijf.
Aangepaste versleuteling at rest
Het wordt aanbevolen dat IaaS-toepassingen waar mogelijk gebruikmaken van Azure Disk Encryption en Versleuteling at Rest-opties die worden geleverd door alle verbruikte Azure-services. In sommige gevallen, zoals onregelmatige versleutelingsvereisten of niet-Azure-opslag, moet een ontwikkelaar van een IaaS-toepassing mogelijk zelf versleuteling at rest implementeren. Ontwikkelaars van IaaS-oplossingen kunnen beter integreren met Azure-beheer en de verwachtingen van klanten door gebruik te maken van bepaalde Azure-onderdelen. Ontwikkelaars moeten met name de Azure Key Vault-service gebruiken om beveiligde sleutelopslag te bieden en hun klanten te voorzien van consistente opties voor sleutelbeheer met die van de meeste Azure-platformservices. Daarnaast moeten aangepaste oplossingen gebruikmaken van door Azure beheerde service-identiteiten om serviceaccounts toegang te geven tot versleutelingssleutels. Zie hun respectieve SDK's voor informatie voor ontwikkelaars over Azure Key Vault en Managed Service Identities.
Ondersteuning voor versleutelingsmodel voor Azure-resourceproviders
Microsoft Azure-services ondersteunen elk een of meer versleutelings-at-rest-modellen. Voor sommige services zijn een of meer van de versleutelingsmodellen mogelijk niet van toepassing. Voor services die ondersteuning bieden voor door de klant beheerde sleutelscenario's, ondersteunen ze mogelijk slechts een subset van de sleuteltypen die Azure Key Vault ondersteunt voor sleutelversleutelingssleutels. Daarnaast kunnen services ondersteuning vrijgeven voor deze scenario's en sleuteltypen in verschillende planningen. In deze sectie wordt de ondersteuning voor versleuteling at rest beschreven op het moment van schrijven voor elk van de belangrijkste Azure-gegevensopslagservices.
Azure-schijfversleuteling
Elke klant die Azure IaaS-functies (Infrastructure as a Service) gebruikt, kan versleuteling at-rest bereiken voor hun IaaS-VM's en schijven via Azure Disk Encryption. Zie Azure Disk Encryption voor Linux-VM's of Azure Disk Encryption voor Windows-VM's voor meer informatie over Azure Disk Encryption.
Azure Storage
Alle Azure Storage-services (Blob Storage, Queue Storage, Table Storage en Azure Files) ondersteunen versleuteling aan de serverzijde. Sommige services ondersteunen bovendien door de klant beheerde sleutels en versleuteling aan de clientzijde.
- Serverzijde: alle Azure Storage-services maken standaard versleuteling aan de serverzijde mogelijk met behulp van door de service beheerde sleutels, wat transparant is voor de toepassing. Zie Azure Storage Service Encryption voor data-at-rest. Azure Blob Storage en Azure Files bieden ook ondersteuning voor rsa 2048-bits door de klant beheerde sleutels in Azure Key Vault. Zie Storage Service Encryption using customer-managed keys in Azure Key Vault (Opslagserviceversleuteling met door de klant beheerde sleutels in Azure Key Vault) voor meer informatie.
- Clientzijde: Azure-blobs, tabellen en wachtrijen ondersteunen versleuteling aan de clientzijde. Wanneer klanten versleuteling aan de clientzijde gebruiken, versleutelen ze de gegevens en uploaden ze de gegevens als een versleutelde blob. Sleutelbeheer wordt uitgevoerd door de klant. Zie Versleuteling aan clientzijde en Azure Key Vault voor Microsoft Azure Storage voor meer informatie.
Azure SQL Database
Azure SQL Database ondersteunt momenteel versleuteling at rest voor versleutelingsscenario's aan de zijde van de door Microsoft beheerde service en clientzijde.
Ondersteuning voor serverversleuteling wordt momenteel geboden via de SQL-functie Transparent Data Encryption. Zodra een Azure SQL Database-klant de TDE-sleutel inschakelt, wordt deze automatisch gemaakt en beheerd. Versleuteling-at-rest kan worden ingeschakeld op database- en serverniveau. Vanaf juni 2017 is Transparent Data Encryption (TDE) standaard ingeschakeld voor nieuw gemaakte databases. Azure SQL Database ondersteunt RSA 2048-bits door de klant beheerde sleutels in Azure Key Vault. Zie Transparent Data Encryption met Bring Your Own Key-ondersteuning voor Azure SQL Database en Data Warehouse voor meer informatie.
Versleuteling aan de clientzijde van Azure SQL Database-gegevens wordt ondersteund via de functie Always Encrypted. Always Encrypted gebruikt een sleutel die door de client is gemaakt en opgeslagen. Klanten kunnen de hoofdsleutel opslaan in een Windows-certificaatarchief, Azure Key Vault of een lokale Hardware Security Module. Met SQL Server Management Studio kiezen SQL-gebruikers welke sleutel ze willen gebruiken om welke kolom te versleutelen.
Conclusie
De bescherming van klantgegevens die zijn opgeslagen in Azure Services is van het grootste belang voor Microsoft. Alle door Azure gehoste services zijn toegewijd aan het bieden van opties voor versleuteling bij inactieve gegevens. Azure-services ondersteunen door de service beheerde sleutels, door de klant beheerde sleutels of versleuteling aan de clientzijde. Azure-services verbeteren de beschikbaarheid van Versleuteling at Rest in grote lijnen en nieuwe opties zijn gepland voor preview en algemene beschikbaarheid in de komende maanden.
Volgende stappen
- Zie gegevensversleutelingsmodellen voor meer informatie over door de service beheerde sleutels en door de klant beheerde sleutels.
- Meer informatie over hoe Azure dubbele versleuteling gebruikt om bedreigingen te beperken die gepaard gaan met het versleutelen van gegevens.
- Meer informatie over wat Microsoft doet om platformintegriteit en beveiliging te garanderen van hosts die de hardware- en firmware-build-out, integratie, operationalisatie en reparatiepijplijnen doorlopen.