I den här artikeln ska vi titta närmare på Googles molntjänster. NyckelhanteringstjänsterNär användare lagrar data i Google Cloud krypteras informationen automatiskt i vila. Vi använder Googles Cloud Key Management-tjänst för att få bättre kontroll över hanteringen av krypterad data i vila och kryptering nycklar.
Källa och kontroll av kryptografiska nycklar
Med Cloud KMS kan användare hantera kryptografiska nycklar i en central molntjänst för direkt användning eller användning med andra resurser och applikationer. Nycklarna som måste användas måste komma från en av dessa källor:
- Cloud KMS programvarubaserad nyckel ger användare möjlighet att kryptera data med antingen en symmetrisk eller asymmetrisk nyckel som användarna kontrollerar.
- Moln HSM tillhandahåller hårdvarunycklar. Symmetriska och asymmetriska nycklar används endast i FIPS 140-2 Nivå 3 validerad Hårdvarusäkerhetsmoduler (HSM).
- Ta med egen nyckel (BYOK) är också tillgängligt för användare att importera sina kryptografiska nycklar till Cloud KMS.
- Molnhanterare för externa nyckelringar (Cloud EKM), som använder externa nyckelhanterare såsom Thales eller Fortanix kan också användas.

Figur: Cloud EKM som brygga mellan KMS och extern nyckelhanterare
Kryptografiska nycklar i Cloud KMS
Det här avsnittet beskriver nycklar, nyckelversioner och gruppering av nycklar i nyckelringar. Följande diagram illustrerar nyckelgrupperingar.

NyckelEtt namngivet objekt som representerar en kryptografisk nyckel. Det är en pekare till en nyckel, och de faktiska bitarna eller nyckeln kan ändras när vi roterar nycklarna eller skapar nyare versioner av nycklarna.
Cloud KMS stöder både asymmetriska och symmetriska nycklar. En symmetrisk nyckel används för symmetrisk kryptering för att skydda en del data, till exempel genom att använda AES-256 i GCM-läge för att kryptera ett block med klartext. En asymmetrisk nyckel kan användas för asymmetrisk kryptering eller för att skapa digitala signaturer.
Cloud KMS-komponenter
I det här avsnittet diskuterar vi några punkter om ytterligare parametrar som är kopplade till Google CloudKMS-resurser, såsom nycklar och nyckelringar.
- ProjektGoogle Cloud KMS-resurser tillhör Google Cloud Project, liksom alla andra Google Cloud-resurser. Användare kan vara värd för data i ett annat projekt än det projekt där Cloud KMS-nycklar finns. Denna funktion stöder bästa praxis för att separera uppgifter mellan nyckeladministratörer och dataadministratörer.
- Plats: Inom ett projekt skapas Cloud KMS-resurser på en plats.
Nyckelhierarki
Följande diagram illustrerar nyckelhierarkin för Googles interna nyckelhanteringstjänst. Cloud KMS utnyttjar Googles interna KMS genom att Cloud KMS-krypterade nycklar lindas in i Google KMS. Cloud KMS använder samma förtroenderot som Google KMS.

- Datakrypteringsnyckel (DEK): En nyckel som används för att kryptera data.
- Krypteringsnyckel (KEK): En nyckel som används för att kryptera, eller omsluta, en datakrypteringsnyckel. Alla Cloud KMS-plattformsalternativ (programvara, hårdvara och externa backend-system) låter dig kontrollera nyckelkrypteringsnyckeln.
- KMS-huvudnyckel: Nyckeln som används för att kryptera nyckelkrypteringsnycklarna (KEK). Denna nyckel distribueras i minnet. KMS-huvudnyckeln säkerhetskopieras på hårdvaruenheter. Denna nyckel ansvarar för att kryptera dina nycklar.
- Rot-KMS: Googles interna nyckelhanteringstjänst.
Översikt över molnbaserade KMS-plattformar
Cloud KMS-plattformen stöder flera kryptografiska algoritmer och tillhandahåller metoder för att kryptera och signera digitalt med både hårdvara och programvarubaserade nycklar.

Diagrammet visar huvudkomponenterna i Cloud KMS-plattformen. Administratörer får åtkomst till nyckelhanteringstjänster med hjälp av Google Cloud Console, kommandoradsverktyget gcloud eller via applikationer som implementerar REST- eller gRPC-API:erna. Applikationer får åtkomst till nyckelhanteringstjänster med hjälp av ett REST-API eller gRPC.
Appar kan använda Google-tjänster som är aktiverade för att använda kundhanterade krypteringsnycklar (CMEK). CMEK använder i sin tur Cloud KMS API. Cloud KMS API låter användare använda antingen programvarunycklar (Cloud KMS) eller hårdvarunycklar (Cloud HSM). Både programvaru- och hårdvarubaserade nycklar utnyttjar Googles redundanta säkerhetskopieringsskydd.
Med Cloud KMS-plattformen kan användare välja en skyddsnivå när de skapar en nyckel för att avgöra vilken nyckel-backend som skapar nyckeln och utför alla framtida kryptografiska operationer på den nyckeln.
Cloud KMS-plattformen tillhandahåller två backend-system (exklusive Cloud EKM), som exponeras i Cloud KMS API som
- Programvaruskyddsnivå Skyddsnivån för programvaran gäller nycklar som kan packas upp av en programvarusäkerhetsmodul för att utföra kryptografiska operationer.
- HSM-skyddsnivå Skyddsnivån HSM gäller för nycklar som endast kan packas upp av hårdvarusäkerhetsmoduler som utför alla kryptografiska operationer med nycklarna.
Google Cloud stöder CMEK för flera tjänster, inklusive
- Cloud Storage
- BigQuery
- Beräkningsmotor.
Med CMEK kan användare använda Cloud KMS-plattformen för att hantera krypteringsnycklarna som dessa tjänster använder för att skydda sina data. Kryptografiska operationer i Cloud KMS utförs av FIPS 140-2-validerade moduler.
- Nycklar med programvara på skyddsnivå, och de kryptografiska operationer som utförs med dem, uppfyller FIPS 140-2 nivå 1.
- Nycklar med skyddsnivå HSM, och de kryptografiska operationer som utförs med dem, uppfyller FIPS 140-2 nivå 3.
Referensprojekt
www.cloud.google.com/security-key-management
