Datakrypteringsmodeller
En förståelse för de olika krypteringsmodellerna och deras fördelar och nackdelar är viktig för att förstå hur de olika resursprovidrar i Azure implementerar kryptering i vila. Dessa definitioner delas mellan alla resursprovidrar i Azure för att säkerställa gemensamt språk och taxonomi.
Det finns tre scenarier för kryptering på serversidan:
Kryptering på serversidan med tjänsthanterade nycklar
- Azure Resource Providers utför krypterings- och dekrypteringsåtgärderna
- Microsoft hanterar nycklarna
- Fullständiga molnfunktioner
Kryptering på serversidan med kundhanterade nycklar i Azure Key Vault
- Azure Resource Providers utför krypterings- och dekrypteringsåtgärderna
- Kunden styr nycklar via Azure Key Vault
- Fullständiga molnfunktioner
Kryptering på serversidan med kundhanterade nycklar på kundkontrollerad maskinvara
- Azure Resource Providers utför krypterings- och dekrypteringsåtgärderna
- Kunden styr nycklar på kundkontrollerad maskinvara
- Fullständiga molnfunktioner
Krypteringsmodeller på serversidan refererar till kryptering som utförs av Azure-tjänsten. I den modellen utför resursprovidern krypterings- och dekrypteringsåtgärderna. Azure Storage kan till exempel ta emot data i oformaterade textåtgärder och utföra kryptering och dekryptering internt. Resursprovidern kan använda krypteringsnycklar som hanteras av Microsoft eller av kunden beroende på den angivna konfigurationen.
Var och en av krypteringen på serversidan i vilomodeller innebär distinkta egenskaper för nyckelhantering, inklusive var och hur krypteringsnycklar skapas och lagras, samt åtkomstmodellerna och nyckelrotationsförfarandena.
Överväg följande för kryptering på klientsidan:
- Azure-tjänster kan inte se dekrypterade data
- Kunder hanterar och lagrar nycklar lokalt (eller i andra säkra butiker). Nycklar är inte tillgängliga för Azure-tjänster
- Minskad molnfunktionalitet
De krypteringsmodeller som stöds i Azure delas upp i två huvudgrupper: "Klientkryptering" och "Kryptering på serversidan" som tidigare nämnts. Oberoende av den kryptering i vilomodell som används rekommenderar Azure-tjänster alltid användning av en säker transport, till exempel TLS eller HTTPS. Därför bör kryptering vid transport hanteras av transportprotokollet och bör inte vara en viktig faktor för att avgöra vilken kryptering i vila-modellen som ska användas.
Klientkrypteringsmodell
Klientkrypteringsmodellen refererar till kryptering som utförs utanför resursprovidern eller Azure av tjänsten eller det anropande programmet. Krypteringen kan utföras av tjänstprogrammet i Azure eller av ett program som körs i kundens datacenter. När du använder den här krypteringsmodellen tar Azure-resursprovidern i båda fallen emot en krypterad datablob utan möjlighet att dekryptera data på något sätt eller ha åtkomst till krypteringsnycklarna. I den här modellen utförs nyckelhanteringen av den anropande tjänsten/programmet och är ogenomskinlig för Azure-tjänsten.
Kryptering på serversidan med tjänsthanterade nycklar
För många kunder är det grundläggande kravet att säkerställa att data krypteras när de är i vila. Kryptering på serversidan med tjänsthanterade nycklar möjliggör den här modellen genom att låta kunder markera den specifika resursen (lagringskonto, SQL DB osv.) för kryptering och lämna alla viktiga hanteringsaspekter som nyckelutfärdande, rotation och säkerhetskopiering till Microsoft. De flesta Azure-tjänster som stöder kryptering i vila stöder vanligtvis den här modellen för att avlasta hanteringen av krypteringsnycklarna till Azure. Azure-resursprovidern skapar nycklarna, placerar dem i säker lagring och hämtar dem när det behövs. Tjänsten har fullständig åtkomst till nycklarna och tjänsten har fullständig kontroll över livscykelhanteringen för autentiseringsuppgifter.
Kryptering på serversidan med tjänsthanterade nycklar åtgärdar därför snabbt behovet av att ha kryptering i vila med låg omkostnad för kunden. När det är tillgängligt öppnar en kund vanligtvis Azure Portal för målprenumerationen och resursprovidern och kontrollerar en ruta som anger att de vill att data ska krypteras. I vissa resurshanterare är kryptering på serversidan med tjänsthanterade nycklar aktiverat som standard.
Kryptering på serversidan med Microsoft-hanterade nycklar innebär att tjänsten har fullständig åtkomst för att lagra och hantera nycklarna. Vissa kunder kanske vill hantera nycklarna eftersom de känner att de får större säkerhet, men kostnaden och risken som är kopplad till en anpassad nyckellagringslösning bör beaktas vid utvärdering av den här modellen. I många fall kan en organisation fastställa att resursbegränsningar eller risker för en lokal lösning kan vara större än risken för molnhantering av kryptering vid vilonycklar. Den här modellen kanske dock inte räcker för organisationer som har krav på att styra skapandet eller livscykeln för krypteringsnycklarna eller att låta annan personal hantera en tjänsts krypteringsnycklar än de som hanterar tjänsten (dvs. uppdelning av nyckelhantering från den övergripande hanteringsmodellen för tjänsten).
Nyckelåtkomst
När kryptering på serversidan med tjänsthanterade nycklar används hanteras alla nyckelskapande, lagring och tjänståtkomst av tjänsten. Vanligtvis lagrar de grundläggande Azure-resursprovidrar datakrypteringsnycklarna i ett lager som är nära data och snabbt tillgängliga och tillgängliga medan nyckelkrypteringsnycklarna lagras i ett säkert internt lager.
Fördelar
- Enkel installation
- Microsoft hanterar nyckelrotation, säkerhetskopiering och redundans
- Kunden har inte den kostnad som är kopplad till implementeringen eller risken för ett anpassat nyckelhanteringssystem.
Nackdelar
- Ingen kundkontroll över krypteringsnycklarna (nyckelspecifikation, livscykel, återkallande osv.)
- Ingen möjlighet att skilja nyckelhantering från den övergripande hanteringsmodellen för tjänsten
Kryptering på serversidan med kundhanterade nycklar i Azure Key Vault och Azure Managed HSM
För scenarier där kravet är att kryptera vilande data och styra krypteringsnycklarna kan kunder använda kryptering på serversidan med hjälp av kundhanterade nycklar i Key Vault. Vissa tjänster kanske bara lagrar rotnyckelkrypteringsnyckeln i Azure Key Vault och lagrar den krypterade datakrypteringsnyckeln på en intern plats närmare data. I det scenariot kan kunderna ta med sina egna nycklar till Key Vault (BYOK – Bring Your Own Key) eller generera nya och använda dem för att kryptera de önskade resurserna. Resursprovidern utför krypterings- och dekrypteringsåtgärderna, men använder den konfigurerade nyckelkrypteringsnyckeln som rotnyckel för alla krypteringsåtgärder.
Förlust av nyckelkrypteringsnycklar innebär dataförlust. Därför bör nycklar inte tas bort. Nycklar bör säkerhetskopieras när de skapas eller roteras. Skydd mot mjuk borttagning och rensning måste vara aktiverat på valv som lagrar nyckelkrypteringsnycklar för att skydda mot oavsiktlig eller skadlig kryptografisk radering. I stället för att ta bort en nyckel rekommenderar vi att du anger aktiverad till false på nyckelkrypteringsnyckeln. Använd åtkomstkontroller för att återkalla åtkomst till enskilda användare eller tjänster i Azure Key Vault eller Managed HSM.
Kommentar
En lista över tjänster som stöder kundhanterade nycklar i Azure Key Vault och Azure Managed HSM finns i Tjänster som stöder CMK:er i Azure Key Vault och Azure Managed HSM.
Nyckelåtkomst
Krypteringsmodellen på serversidan med kundhanterade nycklar i Azure Key Vault innebär att tjänsten kommer åt nycklarna för att kryptera och dekryptera efter behov. Krypteringsnycklar i vila görs tillgängliga för en tjänst via en åtkomstkontrollprincip. Den här principen ger tjänstidentiteten åtkomst för att ta emot nyckeln. En Azure-tjänst som körs för en associerad prenumeration kan konfigureras med en identitet i den prenumerationen. Tjänsten kan utföra Microsoft Entra-autentisering och ta emot en autentiseringstoken som identifierar sig som den tjänsten som agerar på uppdrag av prenumerationen. Denna token kan sedan visas för Key Vault för att hämta en nyckel som den har fått åtkomst till.
För åtgärder som använder krypteringsnycklar kan en tjänstidentitet beviljas åtkomst till någon av följande åtgärder: dekryptera, kryptera, unwrapKey, wrapKey, verifiera, signera, hämta, lista, uppdatera, skapa, importera, ta bort, säkerhetskopiera och återställa.
För att hämta en nyckel för användning vid kryptering eller dekryptering av data i vila körs tjänstidentiteten som Resource Manager-tjänstinstansen ska köra som måste ha UnwrapKey (för att hämta nyckeln för dekryptering) och WrapKey (för att infoga en nyckel i nyckelvalvet när du skapar en ny nyckel).
Kommentar
Mer information om Key Vault-auktorisering finns på sidan skydda ditt nyckelvalv i Azure Key Vault-dokumentationen.
Fördelar
- Fullständig kontroll över de nycklar som används – krypteringsnycklar hanteras i kundens Nyckelvalv under kundens kontroll.
- Möjlighet att kryptera flera tjänster till en huvudserver
- Kan skilja nyckelhantering från den övergripande hanteringsmodellen för tjänsten
- Kan definiera tjänst- och nyckelplats mellan regioner
Nackdelar
- Kunden har fullt ansvar för nyckelåtkomsthantering
- Kunden har fullt ansvar för nyckellivscykelhantering
- Ytterligare installations- och konfigurationskostnader
Kryptering på serversidan med kundhanterade nycklar i kundkontrollerad maskinvara
Vissa Azure-tjänster aktiverar hyok-nyckelhanteringsmodellen (Host Your Own Key). Det här hanteringsläget är användbart i scenarier där det finns ett behov av att kryptera data i vila och hantera nycklarna på en egen lagringsplats utanför Microsofts kontroll. I den här modellen måste tjänsten använda nyckeln från en extern plats för att dekryptera datakrypteringsnyckeln (DEK). Prestanda- och tillgänglighetsgarantier påverkas och konfigurationen är mer komplex. Eftersom tjänsten dessutom har åtkomst till DEK under krypterings- och dekrypteringsåtgärderna liknar de övergripande säkerhetsgarantierna för den här modellen när nycklarna hanteras av kunden i Azure Key Vault. Därför är den här modellen inte lämplig för de flesta organisationer om de inte har specifika krav för nyckelhantering. På grund av dessa begränsningar stöder de flesta Azure-tjänster inte kryptering på serversidan med kundhanterade nycklar i kundkontrollerad maskinvara. En av två nycklar i kryptering med dubbelnyckel följer den här modellen.
Nyckelåtkomst
När kryptering på serversidan med kundhanterade nycklar i kundkontrollerad maskinvara används underhålls nyckelkrypteringsnycklarna på ett system som har konfigurerats av kunden. Azure-tjänster som stöder den här modellen tillhandahåller ett sätt att upprätta en säker anslutning till ett nyckelarkiv som kunden har angett.
Fördelar
- Fullständig kontroll över rotnyckeln som används – krypteringsnycklar hanteras av ett kundhanterat arkiv
- Möjlighet att kryptera flera tjänster till en huvudserver
- Kan skilja nyckelhantering från den övergripande hanteringsmodellen för tjänsten
- Kan definiera tjänst- och nyckelplats mellan regioner
Nackdelar
- Fullständigt ansvar för nyckellagring, säkerhet, prestanda och tillgänglighet
- Fullständigt ansvar för nyckelåtkomsthantering
- Fullständigt ansvar för nyckellivscykelhantering
- Betydande kostnader för installation, konfiguration och löpande underhåll
- Ökat beroende av nätverkstillgänglighet mellan kundens datacenter och Azure-datacenter.