Azure Data Encryption i vila

Microsoft Azure innehåller verktyg för att skydda data enligt företagets säkerhets- och efterlevnadsbehov. Det här dokumentet fokuserar på:

  • Hur data skyddas i vila i Microsoft Azure
  • Diskuterar de olika komponenter som deltar i dataskyddsimplementeringen,
  • Granskar för- och nackdelar med de olika strategierna för hanteringsskydd.

Kryptering i vila är ett vanligt säkerhetskrav. I Azure kan organisationer kryptera vilande data utan risk eller kostnad för en anpassad nyckelhanteringslösning. Organisationer har möjlighet att låta Azure helt hantera kryptering i vila. Dessutom har organisationer olika alternativ för att hantera krypterings- eller krypteringsnycklar noggrant.

Vad är kryptering i vila?

Kryptering är säker kodning av data som används för att skydda datasekretessen. Vilokrypteringsdesignen i Azure använder symmetrisk kryptering för att kryptera och dekryptera stora mängder data snabbt enligt en enkel konceptmodell:

  • En symmetrisk krypteringsnyckel används för att kryptera data när de skrivs till lagring.
  • Samma krypteringsnyckel används för att dekryptera dessa data eftersom de lässkyddas för användning i minnet.
  • Data kan partitioneras och olika nycklar kan användas för varje partition.
  • Nycklar måste lagras på en säker plats med identitetsbaserad åtkomstkontroll och granskningsprinciper. Datakrypteringsnycklar som lagras utanför säkra platser krypteras med en nyckelkrypteringsnyckel på en säker plats.

I praktiken kräver viktiga hanterings- och kontrollscenarier, samt skalnings- och tillgänglighetsgarantier, ytterligare konstruktioner. Microsoft Azure Encryption at Rest-begrepp och komponenter beskrivs nedan.

Syftet med vilande kryptering

Kryptering i vila ger dataskydd för lagrade data (i vila). Angrepp mot vilande data omfattar försök att få fysisk åtkomst till maskinvaran som data lagras på och sedan kompromettera inneslutna data. I en sådan attack kan en servers hårddisk ha misskötts under underhåll så att en angripare kan ta bort hårddisken. Senare skulle angriparen placera hårddisken i en dator under deras kontroll för att försöka komma åt data.

Kryptering i vila är utformad för att förhindra att angriparen kommer åt okrypterade data genom att säkerställa att data krypteras när de är på disk. Om en angripare hämtar en hårddisk med krypterade data men inte krypteringsnycklarna måste angriparen besegra krypteringen för att läsa data. Den här attacken är mycket mer komplex och resurskrävande än att komma åt okrypterade data på en hårddisk. Därför rekommenderas kryptering i vila starkt och är ett högt prioriterat krav för många organisationer.

Vilande kryptering kan också krävas av en organisations behov av datastyrning och efterlevnadsarbete. Bransch- och myndighetsregler som HIPAA, PCI och FedRAMP, beskriver specifika skydd när det gäller dataskydd och krypteringskrav. Kryptering i vila är en obligatorisk åtgärd som krävs för att följa vissa av dessa regler. Mer information om Microsofts metod för FIPS 140-2-validering finns i FIPS-publikationen (Federal Information Processing Standard) 140-2.

Förutom att uppfylla efterlevnads- och regelkrav ger kryptering i vila skydd på djupet. Microsoft Azure tillhandahåller en kompatibel plattform för tjänster, program och data. Det ger också omfattande anläggnings- och fysisk säkerhet, dataåtkomstkontroll och granskning. Det är dock viktigt att tillhandahålla ytterligare "överlappande" säkerhetsåtgärder om någon av de andra säkerhetsåtgärderna misslyckas och kryptering i vila tillhandahåller en sådan säkerhetsåtgärd.

Microsoft har åtagit sig att använda vilande krypteringsalternativ för molntjänster och ge kunderna kontroll över krypteringsnycklar och loggar för nyckelanvändning. Dessutom arbetar Microsoft med att kryptera alla kunddata i vila som standard.

Azure Encryption at Rest Components

Som tidigare beskrivits är målet med kryptering i vila att data som sparas på disken krypteras med en hemlig krypteringsnyckel. För att uppnå det målet måste du tillhandahålla säker nyckelskapande, lagring, åtkomstkontroll och hantering av krypteringsnycklarna. Även om informationen kan variera kan Azure-tjänstkryptering i vila-implementeringar beskrivas i termer som illustreras i följande diagram.

Components

Azure Key Vault

Lagringsplatsen för krypteringsnycklarna och åtkomstkontrollen till dessa nycklar är central för en vilokrypteringsmodell. Nycklarna måste vara mycket säkra men hanterbara av angivna användare och tillgängliga för specifika tjänster. För Azure-tjänster är Azure Key Vault den rekommenderade lösningen för nyckellagring och ger en gemensam hanteringsupplevelse för olika tjänster. Nycklar lagras och hanteras i nyckelvalv, och åtkomst till ett nyckelvalv kan ges till användare eller tjänster. Azure Key Vault stöder kundskapande av nycklar eller import av kundnycklar för användning i kundhanterade krypteringsnyckelscenarier.

Microsoft Entra ID

Behörigheter för att använda nycklarna som lagras i Azure Key Vault, antingen för att hantera eller komma åt dem för kryptering i vila och dekryptering, kan ges till Microsoft Entra-konton.

Kuvertkryptering med en nyckelhierarki

Mer än en krypteringsnyckel används i en kryptering vid viloimplementering. Lagring av en krypteringsnyckel i Azure Key Vault säkerställer säker nyckelåtkomst och central hantering av nycklar. Lokal åtkomst till krypteringsnycklar är dock effektivare för masskryptering och dekryptering än att interagera med Key Vault för varje dataåtgärd, vilket möjliggör starkare kryptering och bättre prestanda. Om du begränsar användningen av en enda krypteringsnyckel minskar risken för att nyckeln komprometteras och kostnaden för omkryptering när en nyckel måste ersättas. Azure-kryptering i vilomodeller använder kuvertkryptering, där en nyckelkrypteringsnyckel krypterar en datakrypteringsnyckel. Den här modellen utgör en nyckelhierarki som bättre kan hantera prestanda- och säkerhetskrav:

  • Datakrypteringsnyckel (DEK) – en symmetrisk AES256-nyckel som används för att kryptera en partition eller ett datablock, som ibland även kallas för en datanyckel. En enskild resurs kan ha många partitioner och många datakrypteringsnycklar. Kryptering av varje datablock med en annan nyckel gör krypteringsanalysattacker svårare. Och att hålla DEK:er lokala för tjänstens kryptering och dekryptering av data maximerar prestandan.
  • Nyckelkrypteringsnyckel (KEK) – en krypteringsnyckel som används för att kryptera datakrypteringsnycklarna med hjälp av kuvertkryptering, även kallat omslutning. Med hjälp av en nyckelkrypteringsnyckel som aldrig lämnar Key Vault kan själva datakrypteringsnycklarna krypteras och kontrolleras. Entiteten som har åtkomst till KEK kan skilja sig från den entitet som kräver DEK. En entitet kan asynkrona åtkomst till DEK för att begränsa åtkomsten för varje DEK till en viss partition. Eftersom KEK krävs för att dekryptera DEK:erna kan kunderna kryptografiskt radera DEK:er och data genom att inaktivera KEK.

Resursprovidrar och programinstanser lagrar krypterade datakrypteringsnycklar som metadata. Endast en entitet med åtkomst till nyckelkrypteringsnyckeln kan dekryptera dessa datakrypteringsnycklar. Olika modeller av nyckellagring stöds. Mer information finns i datakrypteringsmodeller.

Kryptering i vila i Microsofts molntjänster

Microsoft Cloud-tjänster används i alla tre molnmodellerna: IaaS, PaaS och SaaS. Nedan visas exempel på hur de passar för varje modell:

  • Programvarutjänster, som kallas Programvara som en tjänst eller SaaS, som har program som tillhandahålls av molnet, till exempel Microsoft 365.
  • Plattformstjänster där kunder använder molnet för saker som lagring, analys och Service Bus-funktioner i sina program.
  • Infrastrukturtjänster eller Infrastruktur som en tjänst (IaaS) där kunden distribuerar operativsystem och program som finns i molnet och eventuellt använder andra molntjänster.

Kryptering i vila för SaaS-kunder

SaaS-kunder (Software as a Service) har vanligtvis kryptering i vila aktiverat eller tillgängligt i varje tjänst. Microsoft 365 har flera alternativ för kunder att verifiera eller aktivera kryptering i vila. Information om Microsoft 365-tjänster finns i Kryptering i Microsoft 365.

Kryptering i vila för PaaS-kunder

PaaS-kundens data (Plattform som en tjänst) finns vanligtvis i en lagringstjänst, till exempel Blob Storage, men kan också cachelagras eller lagras i programkörningsmiljön, till exempel en virtuell dator. Om du vill se tillgängliga alternativ för kryptering i vila granskar du datakrypteringsmodellerna : stödtjänsttabellen för de lagrings- och programplattformar som du använder.

Kryptering i vila för IaaS-kunder

IaaS-kunder (Infrastruktur som en tjänst) kan ha en mängd olika tjänster och program som används. IaaS-tjänster kan aktivera kryptering i vila på sina virtuella Azure-värddatorer och virtuella hårddiskar med hjälp av Azure Disk Encryption.

Krypterad lagring

Precis som PaaS kan IaaS-lösningar utnyttja andra Azure-tjänster som lagrar data som krypterats i vila. I dessa fall kan du aktivera stöd för kryptering i vila enligt varje förbrukad Azure-tjänst. Datakrypteringsmodellerna : stödtjänsttabellen räknar upp de större lagrings-, tjänst- och programplattformarna och modellen för Kryptering i vila som stöds.

Krypterad beräkning

Alla hanterade diskar, ögonblicksbilder och avbildningar krypteras med hjälp av kryptering av lagringstjänst med hjälp av en tjänsthanterad nyckel. En mer komplett lösning för kryptering i vila säkerställer att data aldrig sparas i okrypterat format. När data bearbetas på en virtuell dator kan data sparas i Windows-sidfilen eller Linux-växlingsfilen, en kraschdump eller till en programlogg. För att säkerställa att dessa data krypteras i vila kan IaaS-program använda Azure Disk Encryption på en virtuell Azure IaaS-dator (Windows eller Linux) och en virtuell disk.

Anpassad kryptering i vila

Vi rekommenderar att IaaS-program när det är möjligt använder Azure Disk Encryption and Encryption at Rest-alternativ som tillhandahålls av alla förbrukade Azure-tjänster. I vissa fall, till exempel oregelbundna krypteringskrav eller icke-Azure-baserad lagring, kan en utvecklare av ett IaaS-program behöva implementera kryptering i vila själva. Utvecklare av IaaS-lösningar kan integreras bättre med Azure-hantering och kundernas förväntningar genom att utnyttja vissa Azure-komponenter. Mer specifikt bör utvecklare använda Azure Key Vault-tjänsten för att tillhandahålla säker nyckellagring och ge sina kunder konsekventa alternativ för nyckelhantering med de flesta Azure-plattformstjänster. Dessutom bör anpassade lösningar använda Azure-hanterade tjänstidentiteter för att göra det möjligt för tjänstkonton att komma åt krypteringsnycklar. Information om utvecklare om Azure Key Vault och hanterade tjänstidentiteter finns i deras respektive SDK:er.

Stöd för Azure-resursproviders krypteringsmodell

Microsoft Azure Services stöder var och en eller flera av krypteringen i vilomodeller. För vissa tjänster kanske dock en eller flera av krypteringsmodellerna inte är tillämpliga. För tjänster som stöder kundhanterade nyckelscenarier kan de endast stödja en delmängd av de nyckeltyper som Azure Key Vault stöder för nyckelkrypteringsnycklar. Dessutom kan tjänster frigöra stöd för dessa scenarier och nyckeltyper enligt olika scheman. I det här avsnittet beskrivs stöd för kryptering i vila när detta skrivs för var och en av de större Azure-datalagringstjänsterna.

Azure-diskkryptering

Alla kunder som använder IaaS-funktioner (Infrastruktur som en tjänst) i Azure kan uppnå kryptering i vila för sina virtuella IaaS-datorer och diskar via Azure Disk Encryption. Mer information om Azure Disk-kryptering finns i Azure Disk Encryption för virtuella Linux-datorer eller Azure Disk Encryption för virtuella Windows-datorer.

Azure Storage

Alla Azure Storage-tjänster (Blob Storage, Queue Storage, Table Storage och Azure Files) stöder kryptering på serversidan i vila. vissa tjänster stöder dessutom kundhanterade nycklar och kryptering på klientsidan.

Azure SQL Database

Azure SQL Database stöder för närvarande kryptering i vila för Microsoft-hanterade krypteringsscenarier på tjänstsidan och på klientsidan.

Stöd för serverkryptering tillhandahålls för närvarande via SQL-funktionen som kallas transparent datakryptering. När en Azure SQL Database-kund aktiverar TDE skapas och hanteras nycklar automatiskt åt dem. Kryptering i vila kan aktiveras på databas- och servernivå. Från och med juni 2017 aktiveras transparent datakryptering (TDE) som standard på nyligen skapade databaser. Azure SQL Database stöder RSA 2048-bitars kundhanterade nycklar i Azure Key Vault. Mer information finns i transparent datakryptering med stöd för Bring Your Own Key för Azure SQL Database och Data Warehouse.

Kryptering på klientsidan av Azure SQL Database-data stöds via funktionen Always Encrypted . Always Encrypted använder en nyckel som skapas och lagras av klienten. Kunder kan lagra huvudnyckeln i ett Windows-certifikatarkiv, Azure Key Vault eller en lokal maskinvarusäkerhetsmodul. Med SQL Server Management Studio väljer SQL-användare vilken nyckel de vill använda för att kryptera vilken kolumn.

Slutsats

Skydd av kunddata som lagras i Azure Services är av största vikt för Microsoft. Alla Azure-värdbaserade tjänster har åtagit sig att tillhandahålla alternativ för kryptering i vila. Azure-tjänster stöder antingen tjänsthanterade nycklar, kundhanterade nycklar eller kryptering på klientsidan. Azure-tjänsterna förbättrar i stort sett tillgängligheten för kryptering i vila och nya alternativ planeras för förhandsversion och allmän tillgänglighet under de kommande månaderna.

Nästa steg