Datakryptering med kundhanterade nycklar

GÄLLER FÖR: Azure Cosmos DB for PostgreSQL (drivs av Citus-databastillägget till PostgreSQL)

Data som lagras i ditt Azure Cosmos DB for PostgreSQL-kluster krypteras automatiskt och sömlöst med nycklar som hanteras av Microsoft. Dessa nycklar kallas tjänsthanterade nycklar. Azure Cosmos DB for PostgreSQL använder Azure Storage-kryptering för att kryptera vilande data som standard med hjälp av tjänsthanterade nycklar. Du kan också välja att lägga till ett extra säkerhetslager genom att aktivera kryptering med kundhanterade nycklar.

Tjänsthanterade nycklar

Azure Cosmos DB for PostgreSQL-tjänsten använder DEN FIPS 140-2-verifierade kryptografiska modulen för lagringskryptering av vilande data. Alla data, inklusive säkerhetskopieringar och temporära filer som skapas när frågor körs, krypteras på disken. Tjänsten använder AES 256-bitars chiffer som ingår i Azure Storage-kryptering och nycklarna är systemhanterade. Lagringskrypteringen är alltid igång och kan inte inaktiveras.

Kundhanterade nycklar

Många organisationer behöver fullständig kontroll över åtkomsten till data med hjälp av en kundhanterad nyckel (CMK). Med datakryptering med kundhanterade nycklar för Azure Cosmos DB for PostgreSQL kan du ta med din egen nyckel för att skydda data i vila. Det gör det även möjligt för organisationer att implementera ansvarsfördelning vad gäller hanteringen av nycklar och data. Med kundhanterad kryptering ansvarar du för och har fullständig kontroll över en nyckels livscykel, användningsbehörigheter och granskning av åtgärder.

Datakryptering med kundhanterade nycklar för Azure Cosmos DB for PostgreSQL anges på servernivå. Data, inklusive säkerhetskopior, krypteras på disk. Den här krypteringen innehåller de temporära filer som skapas när frågor körs. För ett visst kluster används en kundhanterad nyckel, kallad nyckelkrypteringsnyckeln (KEK), för att kryptera tjänstens datakrypteringsnyckel (DEK). KEK är en asymmetrisk nyckel som lagras i en kundägd och kundhanterad Azure Key Vault-instans .

beskrivning
Datakrypteringsnyckel (DEK) En datakrypteringsnyckel är en symmetrisk AES256-nyckel som används för att kryptera en partition eller ett datablock. Kryptering av varje datablock med en annan nyckel gör krypteringsanalysattacker svårare. Resursprovidern eller programinstansen som krypterar och dekrypterar ett visst block kräver åtkomst till DEK:er. När du ersätter en DEK med en ny nyckel måste endast data i dess associerade block omkrypteras med den nya nyckeln.
Nyckelkrypteringsnyckel (KEK) En nyckelkrypteringsnyckel är en krypteringsnyckel som används för att kryptera DEK:erna. En KEK som aldrig lämnar ett nyckelvalv gör att DEK:erna själva kan krypteras och kontrolleras. Entiteten som har åtkomst till KEK kan skilja sig från den entitet som kräver DEK. Eftersom KEK krävs för att dekryptera DEK:erna är KEK i själva verket en enda punkt och borttagning av KEK tar effektivt bort DEK:erna.

Kommentar

Azure Key Vault är ett molnbaserat nyckelhanteringssystem. Den har hög tillgänglighet och ger skalbar och säker lagring för RSA-kryptografiska nycklar, som eventuellt backas upp av FIPS 140-verifierade maskinvarusäkerhetsmoduler (HSM). Ett nyckelvalv tillåter inte direkt åtkomst till en lagrad nyckel, men tillhandahåller krypterings- och dekrypteringstjänster till auktoriserade entiteter. Ett nyckelvalv kan generera nyckeln, importera den eller överföra den från en lokal HSM-enhet.

DEK:erna, krypterade med KEK:erna, lagras separat. Endast en entitet med åtkomst till KEK kan dekryptera dessa DEK:er. Mer information finns i Säkerhet i kryptering i vila..

Så här fungerar datakryptering med en kundhanterad nyckel

För att ett kluster ska kunna använda kundhanterade nycklar som lagras i Key Vault för kryptering av DEK ger en Key Vault-administratör följande åtkomstbehörighet till servern:

beskrivning
Gör det möjligt att hämta den offentliga delen och egenskaperna för nyckeln i nyckelvalvet.
wrapKey Aktiverar kryptering av DEK. Den krypterade DEK:en lagras i Azure Cosmos DB för PostgreSQL.
unwrapKey Aktiverar dekryptering av DEK. Azure Cosmos DB for PostgreSQL kräver dekrypterade DEK för att kryptera/dekryptera data.

Key Vault-administratören kan också aktivera loggning av Key Vault-granskningshändelser, så att de kan granskas senare. När Azure Cosmos DB for PostgreSQL-klustret har konfigurerats för att använda den kundhanterade nyckeln som lagras i nyckelvalvet skickar klustret DEK till nyckelvalvet för kryptering. Key Vault returnerar den krypterade DEK som lagras i användardatabasen. På samma sätt skickar servern vid behov den skyddade DEK:en till nyckelvalvet för dekryptering. Granskare kan använda Azure Monitor för att granska Key Vault-granskningshändelseloggar om loggning är aktiverat.

Skärmbild av arkitekturen för datakryptering med kundhanterade nycklar.

Förmåner

Datakryptering med kundhanterade nycklar för Azure Cosmos DB for PostgreSQL ger följande fördelar:

  • Du har fullständig kontroll över dataåtkomsten med möjlighet att ta bort nyckeln och göra databasen otillgänglig.
  • Fullständig kontroll över nyckellivscykeln, inklusive rotation av nyckeln för att anpassa till specifika företagsprinciper.
  • Central hantering och organisation av nycklar i Azure Key Vault.
  • Möjlighet att implementera ansvarsfördelning mellan säkerhetsansvariga, databasadministratörer och systemadministratörer.
  • Aktivering av kryptering har ingen extra prestandaeffekt med eller utan kundhanterade nycklar. Azure Cosmos DB for PostgreSQL förlitar sig på Azure Storage för datakryptering i både kundhanterade och tjänsthanterade nyckelscenarier.

Nästa steg