Viktiga typer, algoritmer och åtgärder

Den här artikeln beskriver nyckeltyper, algoritmer, attribut och åtgärder för Azure Key Vault (valv). Motsvarande referens för Managed HSM finns i Nyckeltyper, algoritmer och åtgärder (Hanterad HSM). En sammanfattning av nyckeltyper som stöds efter resurs finns i Om nycklar.

I följande tabell visas en sammanfattning av nyckeltyper och algoritmer som stöds i Key Vault. Fullständig information om symmetriska algoritmer (oct-HSM/AES) och HMAC-tecken/verifiering finns i Symmetriska nyckelalgoritmer.

Nyckeltyper/storlekar/kurvor Encrypt/Decrypt
(Wrap/Unwrap)
Sign/Verify
EC-P256, EC-P256K, EC-P384, EC-P521 NA ES256
ES256K
ES384
ES512
RSA 2K, 3K, 4K RSA-OAEP-256
[Rekommenderas inte] RSA1_5
[Rekommenderas inte] RSA-OAEP
PS256
PS384
PS512
RS256
RS384
RS512
RSNULL
oct-HSM 128, 192, 256 (Premium; förhandsversion) AES-KW
AES-GCM
AES-CBC
HS256
HS384
HS512

EC-algoritmer

Följande algoritmidentifierare stöds med EC-HSM nycklar.

Kurvtyper

SIGN/VERIFY

  • ES256 – ECDSA för SHA-256-sammandrag och nycklar som skapats med kurvan P-256. Den här algoritmen beskrivs i RFC7518.
  • ES256K – ECDSA för SHA-256-sammandrag och nycklar som skapats med kurvan P-256K. Den här algoritmen väntar på standardisering.
  • ES384 – ECDSA för SHA-384-sammandrag och nycklar som skapats med kurva P-384. Den här algoritmen beskrivs i RFC7518.
  • ES512 – ECDSA för SHA-512-sammandrag och nycklar som skapats med kurvan P-521. Den här algoritmen beskrivs i RFC7518.

RSA-algoritmer

Följande algoritmidentifierare stöds med RSA och RSA-HSM nycklar.

OMSLUTNYCKEL/AVSLUTNYCKEL, KRYPPTERA/DEKRYPPTERA

  • RSA-OAEP-256 – RSAES som använder optimal asymmetrisk krypteringsutfyllnad med hashfunktionen SHA-256 och en maskgenereringsfunktion av MGF1 med SHA-256.
  • [Rekommenderas inte] RSA1_5 – RSAES –PKCS1-V1_5 [RFC3447] nyckelkryptering.
  • [Rekommenderas inte] RSA-OAEP – RSAES med optimal asymmetrisk krypteringsutfyllnad (OAEP) [RFC3447], med standardparametrarna som anges av RFC 3447 i avsnitt A.2.1. Dessa standardparametrar använder en hashfunktion av SHA-1 och en maskgenereringsfunktion för MGF1 med SHA-1.

Warning

Microsoft rekommenderar att du använder RSA_OAEP_256 eller starkare algoritmer för ökad säkerhet.

Microsoft rekommenderar inte RSA_1_5 och RSA_OAEP. Dessa algoritmer ingår endast för bakåtkompatibilitet. Kryptografiska standarder anser inte längre att RSA med utfyllnadsschemat PKCS#1 v1.5 är säkert för kryptering. RSA_OAEP använder SHA1, som har kända kollisionsproblem.

SIGN/VERIFY

  • PS256 – RSASSA-PSS med SHA-256 och MGF1 med SHA-256, enligt beskrivningen i RFC7518.
  • PS384 – RSASSA-PSS använder SHA-384 och MGF1 med SHA-384, enligt beskrivningen i RFC7518.
  • PS512 – RSASSA-PSS använder SHA-512 och MGF1 med SHA-512, enligt beskrivningen i RFC7518.
  • RS256 – RSASSA-PKCS-v1_5 med SHA-256. Det angivna sammandragsvärdet måste beräknas med SHA-256 och måste vara 32 byte långt.
  • RS384 – RSASSA-PKCS-v1_5 med SHA-384. Det angivna sammandragsvärdet måste beräknas med SHA-384 och måste vara 48 byte långt.
  • RS512 – RSASSA-PKCS-v1_5 med SHA-512. Det angivna sammandragsvärdet måste beräknas med SHA-512 och måste vara 64 byte långt.
  • RSNULL – Se RFC2437, ett specialiserat användningsfall för att aktivera vissa TLS-scenarier.

Note

Använd utfyllnadsläget RSA-PSS för bättre prestanda. Servern konstruerar DigestInfo for Sign-åtgärder som algoritmerna RS256, RS384 och RS512 genererar.

Symmetriska nyckelalgoritmer

Important

Stöd för symmetrisk nyckel (oct-HSM/AES) i Azure Key Vault Premium är för närvarande i offentlig förhandsversion. Nyckelstorlekar som stöds är 128-bitars, 192-bitars och 256-bitars. Förhandsversionsfunktioner tillhandahålls as-is, utan serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Följande algoritmidentifierare stöds med oct-HSM-nycklar (symmetrisk/AES) i Azure Key Vault Premium.

OMSLUTNYCKEL/AVSLUTNYCKEL, KRYPPTERA/DEKRYPPTERA

När de används med 256-bitarsnycklar är dessa algoritmer kvantresistenta enligt vanliga frågor och svar om Commercial National Security Algorithm Suite 2.0 och Quantum Computing.

SIGNERA/VERIFIERA (HMAC)

Note

Algoritmen för tecken och verifiering måste matcha nyckeltypen och storleken. I annat fall returnerar tjänsten ett fel om felaktig nyckelstorlek.

För stöd för symmetrisk nyckelalgoritm (oct-HSM) i Hanterad HSM, se Nyckeltyper, algoritmer och åtgärder (Hanterad HSM).

Nyckelåtgärder

Följande åtgärder stöds för nyckelobjekt:

  • Skapa: En klient skapar en nyckel i tjänsten. Tjänsten genererar och lagrar värdet för nyckeln och släpper den inte till klienten.
  • Import: En klient importerar en befintlig nyckel till tjänsten. Asymmetriska nycklar kan importeras med hjälp av flera olika förpackningsmetoder i en JWK-konstruktion.
  • Uppdatering: En klient med tillräcklig behörighet ändrar de metadata (nyckelattribut) som är associerade med en tidigare lagrad nyckel.
  • Ta bort: En klient med tillräcklig behörighet tar bort en nyckel.
  • Lista: En klient visar alla nycklar i tjänsten.
  • Listversioner: En klient visar alla versioner av en viss nyckel.
  • Hämta: En klient hämtar de offentliga delarna av en viss nyckel. Get-åtgärden returnerar inte den privata delen av en asymmetrisk nyckel eller nyckelmaterialet för en symmetrisk nyckel.
  • Säkerhetskopiering: Exporterar en nyckel i ett skyddat formulär.
  • Återställ: Importerar en tidigare säkerhetskopierad nyckel.
  • Frigör: Släpper säkert en nyckel till kod som körs auktoriserat i en konfidentiell beräkningsmiljö. Kräver en attestering om att den betrodda körningsmiljön (TEE) uppfyller kraven i nyckelns release_policy.

När en nyckel har skapats kan du utföra följande kryptografiska åtgärder med den:

  • Signera och verifiera: Strängt taget är den här åtgärden ”signera hashvärde” eller ”verifiera hashvärde”, eftersom tjänsten inte hashar innehållet vid skapandet av signaturen. Applikationer bör hasha de data som ska signeras lokalt och sedan begära att tjänsten signerar hashvärdet. Verifiering av signerade hashvärden stöds som en praktisk funktion för applikationer som kanske inte har åtkomst till publikt nyckelmaterial; för bästa prestanda bör verifieringsåtgärder utföras lokalt.
  • Nyckelkryptering/omslutning: En nyckel som lagras i tjänsten kan skydda en annan nyckel, vanligtvis en symmetrisk innehållskrypteringsnyckel (CEK). När nyckeln i tjänsten är asymmetrisk använder du nyckelkryptering (till exempel RSA-OAEP; WRAPKEY/UNWRAPKEY motsvarar ENCRYPT/DECRYPT). När nyckeln i tjänsten är symmetrisk använder du nyckelomslutning (till exempel AES-KW). WRAPKEY stöds som en bekvämlighet för program som kanske inte har åtkomst till offentligt nyckelmaterial. för bästa prestanda bör wrap-åtgärder utföras lokalt.
  • Kryptera och dekryptera: En nyckel som lagras i tjänsten kan kryptera eller dekryptera ett enda datablock. Storleken på blocket bestäms av nyckeltypen och den valda krypteringsalgoritmen. Kryptering tillhandahålls för enkelhetens skull. för bästa prestanda bör krypteringsåtgärder utföras lokalt.

Användningen av distinkta WRAPKEY/UNWRAPKEY-åtgärder (i stället för att alltid använda ENCRYPT/DECRYPT) ger semantisk och auktoriseringsseparation samt konsekvens mellan nyckeltyper.

Tjänsten stöder inte EXPORT-åtgärder. När en nyckel har etablerats kan du inte extrahera den eller ändra dess nyckelmaterial. Om du vill flytta en nyckel använder du säkerhetskopierings- och ÅTERSTÄLLNINGsåtgärderna för att exportera eller importera nyckeln i ett skyddat formulär. Nycklar som skapas av BACKUP kan inte användas utanför tjänsten.

Du kan begränsa någon av de kryptografiska åtgärderna per nyckel med hjälp key_ops av egenskapen för JWK-objektet.

Mer information om JWK-objekt finns i JSON Web Key (JWK).

Förutom de åtgärder som anges ovan har Key Vault (valv) stöd för:

  • Rotera: Roterar en befintlig nyckel genom att generera en ny version av nyckeln. Den här åtgärden är endast tillgänglig för Key Vault resurser (inte på Managed HSM).

För mer information, se Key operations i Key Vault REST API-referens.

Policyåtgärder för nyckelrotation

Ange automatisk rotation av nycklar genom att konfigurera principen för automatisk rotation av nycklar. Den här funktionen är endast tillgänglig för Key Vault resurser.

  • Hämta rotationspolicy: Hämta rotationspolicykonfigurationen.
  • Ställ in rotationspolicy: Ställ in konfiguration för rotationspolicy.

Nyckelattribut

Förutom nyckelmaterialet kan du ange följande attribut. I en JSON-begäran måste du inkludera nyckelordet attributes och klammerparenteserna ({}) även om du inte anger några attribut.

  • aktiverat: booleskt, valfritt, standardvärdet är sant. Anger om nyckeln är aktiverad och användbar för kryptografiska åtgärder. Använd det aktiverade attributet med nbf och exp. När en åtgärd inträffar mellan nbf och exp tillåts åtgärden endast om aktiverad är inställd på true. Åtgärder utanför nbf / exp-fönstret är automatiskt inte tillåtna, förutom dekryptering, release, unwrap och verifiering.
  • nbf: IntDate, valfritt, standard är nu. Attributet nbf (inte före) identifierar den tid innan nyckeln INTE får användas för kryptografiska åtgärder, förutom dekryptera, släppa, packa upp och verifiera. Bearbetningen av attributet nbf kräver att den aktuella tidpunkten MÅSTE vara efter eller lika med den tidpunkt som anges i attributet nbf. En viss liten marginal (normalt högst några minuter) kan medges för att ta hänsyn till skillnader mellan klockor. Dess värde MÅSTE vara ett tal som innehåller ett IntDate-värde.
  • exp: IntDate, valfritt, standard är "forever". Attributet exp (förfallotid) identifierar förfallotiden på eller efter vilken nyckeln INTE får användas för kryptografiska åtgärder, förutom dekryptera, släppa, packa upp och verifiera. Bearbetningen av exp-attributet kräver att aktuellt datum/tid MÅSTE före förfallodatum/tid som anges i exp-attributet . Ett visst mindre tidsutrymme (vanligtvis högst några minuter) kan tillåtas för att ta hänsyn till klockavvikelse. Dess värde MÅSTE vara ett tal som innehåller ett IntDate-värde.

Följande skrivskyddade attribut ingår i alla svar som innehåller nyckelattribut:

  • skapad: IntDate, valfritt. Det skapade attributet anger när den här versionen av nyckeln skapades. Värdet är null för nycklar som skapats innan det här attributet läggs till. Dess värde MÅSTE vara ett tal som innehåller ett IntDate-värde.
  • uppdaterad: IntDate, valfritt. Det uppdaterade attributet anger när den här versionen av nyckeln uppdaterades. Värdet är null för nycklar som senast uppdaterades innan attributet lades till. Dess värde MÅSTE vara ett tal som innehåller ett IntDate-värde.

Datum-tidskontrollerade åtgärder

Nycklar som ännu inte är giltiga och har upphört att gälla, utanför / , fungerar för dekryptera, släppa, packa upp och verifiera åtgärder (de returnerar inte 403, Förbjudet). Anledningen till att använda det ännu inte giltiga tillståndet är att tillåta att en nyckel testas före produktionsanvändning. Anledningen till att använda det utgångna tillståndet är att tillåta återställningsåtgärder för data som skapades när nyckeln var giltig. Du kan också inaktivera åtkomst till en nyckel genom att uppdatera det aktiverade attributet till false.

Mer information om andra möjliga attribut finns i JSON Web Key (JWK) -specifikationen.

Förutom de attribut som anges ovan exponerar Key Vault nycklar:

  • hsmPlatform: sträng, valfritt. Den underliggande HSM-plattformen som skyddar en nyckel.
    • hsmPlatform Värdet 2 innebär att nyckeln skyddas av den senaste FIPS 140-3 Level 3-verifierade HSM-plattformen.
    • hsmPlatform Värdet 1 innebär att nyckeln skyddas av den tidigare FIPS 140-2 Level 2-verifierade HSM-plattformen.
    • Värdet hsmPlatform0 innebär att nyckeln skyddas av en fips 140-2 nivå 1-modul för kryptering av programvara.

Nycklarna är bundna till den HSM som du skapade dem i. Azure Key Vault skapar automatiskt nya nycklar och nyckelversioner på den senaste HSM-plattformen. Du kan inte migrera eller överföra befintliga nycklar mellan plattformar. Vägledning om hur du flyttar arbetsbelastningar till en ny nyckel finns i Migrera nyckelarbetsbelastningar.

Mer information om IntDate och andra datatyper finns i Datatyper.

Nyckeltaggar

Du kan ange mer programspecifika metadata i form av taggar. Key Vault har stöd för upp till 15 taggar, som var och en kan ha ett namn på 256 tecken och ett värde på 256 tecken.

Note

Om en uppringare har listan eller får behörighet till en nyckel kan de läsa taggarna.

Nyckelåtkomstkontroll

Key Vault ger åtkomstkontroll för nycklar på Key Vault-nivå, som fungerar som container för nycklar. Du kan styra åtkomsten till nycklar med hjälp av antingen Key Vault Azure rollbaserad åtkomstkontroll (rekommenderas) eller den äldre vault-åtkomstprincipen behörighetsmodell. Azure RBAC är standard och rekommenderad auktoriseringsmodell. Den har tre fördefinierade roller för att hantera nycklar: Key Vault Crypto Officer, Key Vault Crypto User och Key Vault Service Encryption User. Du kan begränsa dessa roller till prenumerations-, resursgrupps- eller valvnivå. Mer information finns i Azure RBAC jämfört med åtkomstprinciper.

Behörighetsmodellbehörigheter för valvåtkomstprincip (äldre):

  • Behörigheter för nyckelhanteringsåtgärder

    • get: Läs den offentliga delen av en nyckel, plus dess attribut
    • list: Visa en lista över nycklar eller versioner av en nyckel som lagras i ett nyckelvalv
    • update: Uppdatera attributen för en nyckel
    • skapa: Skapa nya nycklar
    • import: Importera en nyckel till ett nyckelvalv
    • ta bort: Ta bort nyckelobjektet
    • återställ: Återställa en borttagen nyckel
    • säkerhetskopiering: Säkerhetskopiera en nyckel i ett nyckelvalv
    • återställning: Återställa en säkerhetskopierad nyckel till ett nyckelvalv
  • Behörigheter för kryptografiska åtgärder

    • dekryptera: Använd nyckeln för att ta bort skyddet för en sekvens med byte
    • kryptera: Använd nyckeln för att skydda en godtycklig sekvens med byte
    • unwrapKey: Använd nyckeln för att ta bort skyddet av omslutna symmetriska nycklar
    • wrapKey: Använd nyckeln för att skydda en symmetrisk nyckel
    • verifiera: Använd nyckeln för att verifiera sammandrag
    • sign: Använd nyckeln för att signera sammandrag
  • Behörigheter för privilegierade åtgärder

    • rensa: Rensa (ta bort permanent) en borttagen nyckel
    • release: Släpp en nyckel till en konfidentiell beräkningsmiljö som matchar release_policy nyckelns
  • Behörigheter för rotationsprincipåtgärder

    • rotera: Rotera en befintlig nyckel genom att generera en ny version av nyckeln (endast Key Vault)
    • hämta rotationsprincip: Hämta konfiguration av rotationsprincip
    • ange rotationsprincip: Ange konfiguration för rotationsprincip

Mer information om hur du arbetar med nycklar finns i Key-åtgärder i Key Vault REST API-referens.

Nästa steg