Azure Storage-kryptering av vilande data
Azure Storage använder kryptering på tjänstsidan (SSE) för att automatiskt kryptera dina data när de sparas i molnet. Azure Storage-kryptering skyddar dina data och hjälper dig att uppfylla organisationens säkerhets- och efterlevnadsåtaganden.
Microsoft rekommenderar att du använder kryptering på tjänstsidan för att skydda dina data i de flesta scenarier. Azure Storage-klientbiblioteken för Blob Storage och Queue Storage tillhandahåller dock även kryptering på klientsidan för kunder som behöver kryptera data på klienten. Mer information finns i Kryptering på klientsidan för blobar och köer.
Om kryptering på tjänstsidan för Azure Storage
Data i Azure Storage krypteras och dekrypteras transparent med 256-bitars AES-kryptering, en av de starkaste blockkrypteringarna som är tillgängliga och är FIPS 140-2-kompatibel. Azure Storage-kryptering liknar BitLocker-kryptering i Windows.
Azure Storage-kryptering är aktiverat för alla lagringskonton, inklusive både Resource Manager och klassiska lagringskonton. Azure Storage-kryptering kan inte inaktiveras. Eftersom dina data skyddas som standard behöver du inte ändra din kod eller dina program för att dra nytta av Azure Storage-kryptering.
Data i ett lagringskonto krypteras oavsett prestandanivå (standard eller premium), åtkomstnivå (frekvent eller lågfrekvent) eller distributionsmodell (Azure Resource Manager eller klassisk). Alla nya och befintliga blockblobar, tilläggsblobar och sidblobar krypteras, inklusive blobar på arkivnivån. Alla redundansalternativ för Azure Storage stöder kryptering och alla data i både de primära och sekundära regionerna krypteras när geo-replikering är aktiverad. Alla Azure Storage-resurser krypteras, inklusive blobar, diskar, filer, köer och tabeller. Alla objektmetadata krypteras också.
Det finns ingen extra kostnad för Azure Storage-kryptering.
Mer information om de kryptografiska moduler som ligger till grund för Azure Storage-kryptering finns i Kryptografi-API: Nästa generation.
Information om kryptering och nyckelhantering för Azure-hanterade diskar finns i Kryptering på serversidan av Azure-hanterade diskar.
Om hantering av krypteringsnycklar
Data i ett nytt lagringskonto krypteras som standard med Microsoft-hanterade nycklar. Du kan fortsätta att förlita dig på Microsoft-hanterade nycklar för kryptering av dina data, eller så kan du hantera kryptering med dina egna nycklar. Om du väljer att hantera kryptering med dina egna nycklar har du två alternativ. Du kan använda antingen typ av nyckelhantering eller båda:
- Du kan ange en kundhanterad nyckel som ska användas för att kryptera och dekryptera data i Blob Storage och i Azure Files.1,2 Kundhanterade nycklar måste lagras i Azure Key Vault eller Azure Key Vault Managed Hardware Security Model (HSM). Mer information om kundhanterade nycklar finns i Använda kundhanterade nycklar för Azure Storage-kryptering.
- Du kan ange en kundtilldelad nyckel för Blob Storage-åtgärder. En klient som gör en läs- eller skrivbegäran mot Blob Storage kan inkludera en krypteringsnyckel i begäran om detaljerad kontroll över hur blobdata krypteras och dekrypteras. Mer information om kundspecifika nycklar finns i Ange en krypteringsnyckel på en begäran till Blob Storage.
Som standard krypteras ett lagringskonto med en nyckel som är begränsad till hela lagringskontot. Med krypteringsomfång kan du hantera kryptering med en nyckel som är begränsad till en container eller en enskild blob. Du kan använda krypteringsomfattningar för att skapa säkra gränser mellan data som finns i samma lagringskonto men som tillhör olika kunder. Krypteringsomfång kan använda antingen Microsoft-hanterade nycklar eller kundhanterade nycklar. Mer information om krypteringsomfång finns i Krypteringsomfång för Blob Storage.
I följande tabell jämförs viktiga hanteringsalternativ för Azure Storage-kryptering.
Nyckelhanteringsparameter | Microsoft-hanterade nycklar | Kundhanterade nycklar | Kundspecifika nycklar |
---|---|---|---|
Krypterings-/dekrypteringsåtgärder | Azure | Azure | Azure |
Azure Storage-tjänster stöds | Alla | Blob Storage, Azure Files1,2 | Blob Storage |
Nyckellagring | Microsoft-nyckelarkiv | Azure Key Vault eller Key Vault HSM | Kundens egen nyckelbutik |
Ansvar för nyckelrotation | Microsoft | Kunder | Kunder |
Nyckelkontroll | Microsoft | Kunder | Kunder |
Nyckelomfång | Konto (standard), container eller blob | Konto (standard), container eller blob | Ej tillämpligt |
1 Information om hur du skapar ett konto som stöder användning av kundhanterade nycklar med Kölagring finns i Skapa ett konto som stöder kundhanterade nycklar för köer.
2 Information om hur du skapar ett konto som stöder användning av kundhanterade nycklar med Table Storage finns i Skapa ett konto som stöder kundhanterade nycklar för tabeller.
Kommentar
Microsoft-hanterade nycklar roteras korrekt enligt efterlevnadskraven. Om du har specifika krav på nyckelrotation rekommenderar Microsoft att du övergår till kundhanterade nycklar så att du kan hantera och granska rotationen själv.
Kryptera data dubbelt med infrastrukturkryptering
Kunder som kräver höga säkerhetsnivåer för att deras data är säkra kan också aktivera 256-bitars AES-kryptering på Azure Storage-infrastrukturnivå. När infrastrukturkryptering är aktiverat krypteras data i ett lagringskonto två gånger – en gång på tjänstnivå och en gång på infrastrukturnivå – med två olika krypteringsalgoritmer och två olika nycklar. Dubbel kryptering av Azure Storage-data skyddar mot ett scenario där en av krypteringsalgoritmerna eller nycklarna kan komprometteras. I det här scenariot fortsätter det ytterligare krypteringslagret att skydda dina data.
Kryptering på tjänstnivå stöder användning av antingen Microsoft-hanterade nycklar eller kundhanterade nycklar med Azure Key Vault. Kryptering på infrastrukturnivå förlitar sig på Microsoft-hanterade nycklar och använder alltid en separat nyckel.
Mer information om hur du skapar ett lagringskonto som möjliggör infrastrukturkryptering finns i Skapa ett lagringskonto med infrastrukturkryptering aktiverat för dubbel kryptering av data.
Kryptering på klientsidan för blobar och köer
Azure Blob Storage-klientbiblioteken för .NET, Java och Python stöder kryptering av data i klientprogram innan de laddas upp till Azure Storage och dekrypterar data vid nedladdning till klienten. Klientbiblioteken för Queue Storage för .NET och Python stöder också kryptering på klientsidan.
Kommentar
Överväg att använda krypteringsfunktionerna på tjänstsidan som tillhandahålls av Azure Storage för att skydda dina data i stället för kryptering på klientsidan.
Klientbiblioteken för Blob Storage och Queue Storage använder AES för att kryptera användardata. Det finns två versioner av kryptering på klientsidan som är tillgängliga i klientbiblioteken:
- Version 2 använder GCM-läge (Galois/Counter Mode) med AES. SDK:erna för Blob Storage och Queue Storage stöder kryptering på klientsidan med v2.
- Version 1 använder CBC-läge (Cipher Block Chaining) med AES. SDK:er för Blob Storage, Queue Storage och Table Storage stöder kryptering på klientsidan med v1.
Varning
Användning av kryptering på klientsidan v1 rekommenderas inte längre på grund av en säkerhetsrisk i klientbibliotekets implementering av CBC-läge. Mer information om den här säkerhetsrisken finns i Azure Storage som uppdaterar kryptering på klientsidan i SDK för att åtgärda säkerhetsrisker. Om du för närvarande använder v1 rekommenderar vi att du uppdaterar ditt program så att det använder kryptering på klientsidan v2 och migrerar dina data.
Azure Table Storage SDK stöder endast kryptering på klientsidan v1. Användning av kryptering på klientsidan med Table Storage rekommenderas inte.
I följande tabell visas vilka klientbibliotek som stöder vilka versioner av kryptering på klientsidan och riktlinjer för migrering till kryptering på klientsidan v2.
Klientbibliotek | Version av kryptering på klientsidan som stöds | Rekommenderad migrering | Mer information |
---|---|---|---|
Blob Storage-klientbibliotek för .NET (version 12.13.0 och senare), Java (version 12.18.0 och senare) och Python (version 12.13.0 och senare) | 2.0 1.0 (endast för bakåtkompatibilitet) |
Uppdatera koden så att den använder kryptering på klientsidan v2. Ladda ned krypterade data för att dekryptera dem och sedan omkryptera dem med kryptering på klientsidan v2. |
Kryptering på klientsidan för blobar |
Blob Storage-klientbibliotek för .NET (version 12.12.0 och senare), Java (version 12.17.0 och senare) och Python (version 12.12.0 och senare) | 1.0 (rekommenderas inte) | Uppdatera programmet så att det använder en version av Blob Storage SDK som stöder kryptering på klientsidan v2. Mer information finns i SDK-stödmatrisen för kryptering på klientsidan. Uppdatera koden så att den använder kryptering på klientsidan v2. Ladda ned krypterade data för att dekryptera dem och sedan omkryptera dem med kryptering på klientsidan v2. |
Kryptering på klientsidan för blobar |
Queue Storage-klientbibliotek för .NET (version 12.11.0 och senare) och Python (version 12.4 och senare) | 2.0 1.0 (endast för bakåtkompatibilitet) |
Uppdatera koden så att den använder kryptering på klientsidan v2. | Kryptering på klientsidan för köer |
Queue Storage-klientbibliotek för .NET (version 12.10.0 och senare) och Python (version 12.3.0 och senare) | 1.0 (rekommenderas inte) | Uppdatera programmet så att det använder en version av Queue Storage SDK-versionen som stöder kryptering på klientsidan v2. Se SDK-stödmatris för kryptering på klientsidan Uppdatera koden så att den använder kryptering på klientsidan v2. |
Kryptering på klientsidan för köer |
Table Storage-klientbibliotek för .NET, Java och Python | 1.0 (rekommenderas inte) | Ej tillgänglig. | Ej tillämpligt |