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 vilande data skyddas i Microsoft Azure
  • Diskuterar de olika komponenter som deltar i implementeringen av dataskyddet,
  • Granskar för- och nackdelar med de olika metoderna för nyckelhanteringsskydd.

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 hantera kryptering helt 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. Kryptering i vila-design i Azure använder symmetrisk kryptering för att kryptera och dekryptera stora mängder data snabbt enligt en enkel konceptuell modell:

  • 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 när de läsbehörighet används 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 som förvaras på en säker plats.

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

Syftet med kryptering i vila

Kryptering i vila ger dataskydd för lagrade data (i vila). Attacker mot vilande data omfattar försök att få fysisk åtkomst till maskinvaran där data lagras 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 får 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 och är ett högt prioriterat krav för många organisationer.

Kryptering i vila kan också krävas av en organisations behov av datastyrning och efterlevnadsarbete. Bransch- och myndighetsbestämmelser som HIPAA, PCI och FedRAMP fastställer specifika skyddsmekanismer för dataskydd och krypteringskrav. Kryptering i vila är en obligatorisk åtgärd som krävs för att uppfylla vissa av dessa regler. Mer information om Microsofts metod för FIPS 140-2-validering finns i FIPS-publikation 140-2 (Federal Information Processing Standard).

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 vilande kunddata som standard.

Komponenter i Azure Encryption at Rest

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

Komponenter

Azure Key Vault

Lagringsplatsen för krypteringsnycklarna och åtkomstkontrollen till dessa nycklar är central för en kryptering i vila-modellen. 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 alla 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.

Azure Active Directory

Behörigheter att använda de nycklar 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 Azure Active Directory-konton.

Kuvertkryptering med en nyckelhierarki

Mer än en krypteringsnyckel används i en implementering av kryptering i vila. Lagring av en krypteringsnyckel i Azure Key Vault säkerställer säker nyckelåtkomst och central hantering av nycklar. Lokal tjänståtkomst till krypteringsnycklar är dock effektivare för masskryptering och dekryptering än att interagera med Key Vault för varje dataåtgärd, vilket ger bättre 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 vila-modeller 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. Användning av en nyckelkrypteringsnyckel som aldrig lämnar Key Vault gör att själva datakrypteringsnycklarna kan krypteras och kontrolleras. Entiteten som har åtkomst till KEK kan skilja sig från den entitet som kräver DEK. En entitet kan asynkron åtkomst till DEK för att begränsa åtkomsten för varje DEK till en specifik partition. Eftersom KEK krävs för att dekryptera DEK:erna kan kunderna kryptografiskt radera DEK:er och data genom att inaktivera KEK: et.

Resursproviders och programinstanser lagrar krypterade datakrypteringsnycklar som metadata. Endast en entitet med åtkomst till nyckelkrypteringsnyckeln kan dekryptera dessa datakrypteringsnycklar. Olika modeller för 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 IaaS (Infrastruktur som en tjänst) 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 (Programvara som en tjänst) 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 vilka alternativ för kryptering i vila som är tillgängliga för dig granskar du tabellen Datakrypteringsmodeller: stödtjänster 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 som tillhandahålls av varje förbrukad Azure-tjänst. Datakrypteringsmodellerna: stödtabellen för tjänster räknar upp de större lagrings-, tjänst- och programplattformarna och modellen med kryptering i vila som stöds.

Krypterad beräkning

Alla Managed Disks, ögonblicksbilder och avbildningar krypteras med hjälp av kryptering för 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 okrypterad form. När data bearbetas på en virtuell dator kan data sparas i Windows-växlingsfilen 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 diskkryptering och kryptering i vila 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 kundfö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 samt ge sina kunder konsekventa alternativ för nyckelhantering med de flesta Azure-plattformstjänster. Dessutom bör anpassade lösningar använda Azure-Managed tjänstidentiteter för att ge tjänstkonton åtkomst till krypteringsnycklar. Information om utvecklare om Azure Key Vault och hanterade tjänstidentiteter finns i deras respektive SDK:er.

Stöd för Krypteringsmodell för Azure-resursprovidrar

Microsoft Azure Services har vardera stöd för en eller flera av krypteringen i vilomodeller. För vissa tjänster är dock en eller flera av krypteringsmodellerna kanske inte 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 vilande krypteringsstöd 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-lagring

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 transparent datakryptering. När en Azure SQL Database-kund aktiverar TDE-nyckel skapas och hanteras den automatiskt för dem. Vilande kryptering 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 Bring Your Own Key-stöd 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 skapats och lagrats 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änster 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

  • Mer information om tjänsthanterade nycklar och kundhanterade nycklar finns i datakrypteringsmodeller .
  • Lär dig hur Azure använder dubbel kryptering för att minimera hot som kommer med kryptering av data.
  • Lär dig vad Microsoft gör för att säkerställa plattformsintegritet och säkerhet för värdar som passerar utbyggda maskinvaru- och inbyggd programvara, integrering, operationalisering och reparationspipelines.