Share via


Kulcstípusok, algoritmusok és műveletek

A Key Vault két erőforrástípust támogat: tárolókat és felügyelt HSM-eket. Mindkét erőforrástípus támogatja a különböző titkosítási kulcsokat. A támogatott kulcstípusok, valamint az egyes erőforrástípusok védelmi típusainak összegzését a Névjegy kulcsok című témakörben tekintheti meg.

Az alábbi táblázat a kulcstípusok és a támogatott algoritmusok összegzését mutatja be.

Kulcstípusok/méretek/görbék Titkosítás/visszafejtés
(Wrap/Unwrap)
Aláírás/ellenőrzés
EC-P256, EC-P256K, EC-P384, EC-P521 N.a. ES256
ES256K
ES384
ES512
RSA 2K, 3K, 4K RSA1_5
RSA-OAEP
RSA-OAEP-256
PS256
PS384
PS512
RS256
RS384
RS512
RSNULL
AES 128 bites, 256 bites
(Csak felügyelt HSM)
AES-KW
AES-GCM
AES-CBC
N.a.

EC-algoritmusok

Az alábbi algoritmus-azonosítók EC-HSM-kulcsokkal támogatottak

Görbetípusok

ALÁÍRÁS/ELLENŐRZÉS

  • ES256 – AZ SHA-256-hoz készült ECDSA a P-256 görbével létrehozott kivonatok és kulcsok. Ezt az algoritmust a RFC7518 ismertetjük.
  • ES256K – ECDSA az SHA-256 kivonatokhoz és a P-256K görbével létrehozott kulcsokhoz. Ez az algoritmus szabványosításra vár.
  • ES384 – ECDSA az SHA-384-hez, a P-384 görbével létrehozott kivonatok és kulcsok. Ezt az algoritmust a RFC7518 ismertetjük.
  • ES512 – ECDSA az SHA-512-es kivonatokhoz és a P-521 görbével létrehozott kulcsokhoz. Ezt az algoritmust a RFC7518 ismertetjük.

RSA-algoritmusok

Az alábbi algoritmus-azonosítók RSA- és RSA-HSM-kulcsokkal támogatottak

WRAPKEY/UNWRAPKEY, ENCRYPT/DECRYPT

  • RSA1_5 – RSAES-PKCS1-V1_5 [RFC3447] kulcstitkosítás
  • RSA-OAEP – RSAES az optimális aszimmetrikus titkosítási padding (OAEP) használatával [RFC3447], az RFC 3447 által az A.2.1 szakaszban megadott alapértelmezett paraméterekkel. Ezek az alapértelmezett paraméterek az SHA-1 kivonatfüggvényét és az MGF1 és az SHA-1 maszkgenerálási függvényét használják.
  • RSA-OAEP-256 – RSAES az optimális aszimmetrikus titkosítási padding használatával SHA-256 kivonatfüggvényével és az MGF1 maszkgenerálási funkciójával SHA-256-tal

ALÁÍRÁS/ELLENŐRZÉS

  • PS256 – RSASSA-PSS SHA-256 és MGF1 használatával SHA-256-tal, a RFC7518 leírtak szerint.
  • PS384 – RSASSA-PSS SHA-384 és MGF1 sha-384 használatával, a RFC7518 leírtak szerint.
  • PS512 – RSASSA-PSS SHA-512 és MGF1 használatával SHA-512-vel, a RFC7518 leírtak szerint.
  • RS256 – RSASSA-PKCS-v1_5 SHA-256 használatával. Az alkalmazás által megadott kivonatolási értéket SHA-256 használatával kell kiszámítani, és 32 bájt hosszúságúnak kell lennie.
  • RS384 – RSASSA-PKCS-v1_5 SHA-384 használatával. Az alkalmazás által megadott kivonatolási értéket SHA-384 használatával kell kiszámítani, és 48 bájt hosszúságúnak kell lennie.
  • RS512 – RSASSA-PKCS-v1_5 SHA-512 használatával. Az alkalmazás által megadott kivonatolási értéket SHA-512 használatával kell kiszámítani, és 64 bájt hosszúságúnak kell lennie.
  • RSNULL – Lásd : RFC2437, amely egy speciális használati eset bizonyos TLS-forgatókönyvek engedélyezéséhez.

Feljegyzés

A DigestInfo a kiszolgálóoldalon jön létre az RS256, RS384 és RS512 algoritmusok által generált aláírási műveletekhez.

Szimmetrikus kulcs algoritmusok (csak felügyelt HSM)

  • AES-KW - AES kulcsburkolás (RFC3394).
  • AES-GCM – AES-titkosítás Galois Számláló módban (NIST SP 800-38d)
  • AES-CBC – AES-titkosítás titkosító blokklánc módban (NIST SP 800-38a)

Feljegyzés

Az aláírási és ellenőrzési algoritmusoknak meg kell egyeznie a kulcstípussal, ellenkező esetben a szolgáltatás helytelen hibát ad vissza a kulcsméretnek.

Kulcsműveletek

A Key Vault, beleértve a felügyelt HSM-et is, a következő műveleteket támogatja a kulcsobjektumokon:

  • Létrehozás: Lehetővé teszi, hogy az ügyfél kulcsokat hozzon létre a Key Vaultban. A kulcs értékét a Key Vault hozza létre és tárolja, és nem adja ki az ügyfél számára. Aszimmetrikus kulcsok hozhatók létre a Key Vaultban.
  • Importálás: Lehetővé teszi, hogy az ügyfél importáljon egy meglévő kulcsot a Key Vaultba. Az aszimmetrikus kulcsok importálhatók a Key Vaultba több különböző csomagolási módszerrel egy JWK-szerkezeten belül.
  • Frissítés: Lehetővé teszi, hogy egy ügyfél megfelelő engedélyekkel módosítsa a key vaultban korábban tárolt kulcshoz társított metaadatokat (kulcsattribútumokat).
  • Törlés: Lehetővé teszi, hogy egy megfelelő engedélyekkel rendelkező ügyfél töröljön egy kulcsot a Key Vaultból.
  • Lista: Lehetővé teszi az ügyfél számára az összes kulcs listázását egy adott Key Vaultban.
  • Listaverziók: Lehetővé teszi az ügyfél számára, hogy egy adott kulcs összes verzióját listázhassa egy adott Key Vaultban.
  • Lekérés: Lehetővé teszi, hogy az ügyfél lekérje egy adott kulcs nyilvános részeit egy Key Vaultban.
  • Biztonsági mentés: Kulcs exportálása védett formában.
  • Visszaállítás: Egy korábban biztonsági másolattal rendelkező kulcs importálása.
  • Kiadás: Biztonságosan kiad egy kulcsot a bizalmas számítási környezetben futó engedélyezett kódhoz. Ehhez igazolnia kell, hogy a megbízható végrehajtási környezet (T Enterprise kiadás) megfelel a kulcs release_policy követelményeinek.
  • Elforgatás: Meglévő kulcs elforgatása a kulcs új verziójának létrehozásával (csak Key Vault esetén).

További információ: Kulcsműveletek a Key Vault REST API-referenciájában.

Miután létrehozott egy kulcsot a Key Vaultban, a következő titkosítási műveletek végezhetők el a kulccsal:

  • Aláírás és ellenőrzés: Ez a művelet szigorúan "aláírási kivonat" vagy "kivonat ellenőrzése", mivel a Key Vault nem támogatja a tartalom kivonatolását az aláírás létrehozása során. Az alkalmazásoknak kivonatokkal kell ellátniuk a helyileg aláírandó adatokat, majd kérni kell, hogy a Key Vault írja alá a kivonatot. Az aláírt kivonatok ellenőrzése olyan alkalmazások kényelmi műveleteként támogatott, amelyek nem rendelkeznek hozzáféréssel [nyilvános] kulcsanyagokhoz. A legjobb alkalmazásteljesítmény érdekében a VERIFY műveleteket helyileg kell végrehajtani.
  • Kulcstitkosítás/burkolás: A Key Vaultban tárolt kulcsok egy másik kulcs, általában egy szimmetrikus tartalomtitkosítási kulcs (CEK) védelmére használhatók. Ha a Key Vault kulcsa aszimmetrikus, a kulcstitkosítást használja a rendszer. Az RSA-OAEP és a WRAPKEY/UNWRAPKEY műveletek például egyenértékűek a ENCRYPT/DECRYPT műveletekkel. Ha a Key Vaultban lévő kulcs szimmetrikus, a rendszer a kulcsburkolást használja. Például: AES-KW. A WRAPKEY művelet olyan alkalmazások számára támogatott, amelyek nem rendelkeznek hozzáféréssel a [nyilvános] kulcsanyagokhoz. A legjobb alkalmazásteljesítmény érdekében a WRAPKEY-műveleteket helyileg kell végrehajtani.
  • Titkosítás és visszafejtés: A Key Vaultban tárolt kulcsok egyetlen adatblokk titkosítására vagy visszafejtésére használhatók. A blokk méretét a kulcstípus és a kiválasztott titkosítási algoritmus határozza meg. A titkosítási művelet a kényelem érdekében érhető el az olyan alkalmazások számára, amelyek nem férnek hozzá a [nyilvános] kulcsanyaghoz. A legjobb alkalmazásteljesítmény érdekében a ENCRYPT-műveleteket helyileg kell végrehajtani.

Bár a WRAPKEY/UNWRAPKEY aszimmetrikus kulcsokkal való használata feleslegesnek tűnhet (mivel a művelet egyenértékű a ENCRYPT/DECRYPT művelettel), a különböző műveletek használata fontos. A különbség a műveletek szemantikai és engedélyezési elkülönítését, valamint konzisztenciát biztosít, ha a szolgáltatás más kulcstípusokat támogat.

A Key Vault nem támogatja az EXPORTÁLÁSi műveleteket. Ha egy kulcs ki van építve a rendszerben, nem lehet kinyerni vagy módosítani a kulcs anyagát. Előfordulhat azonban, hogy a Key Vault felhasználói más használati esetekhez, például a törlés után is igénylik a kulcsukat. Ebben az esetben a BACKUP és a RESTORE műveletekkel exportálhatják/importálhatják a kulcsot védett formában. A BACKUP művelet által létrehozott kulcsok nem használhatók a Key Vaulton kívül. Másik lehetőségként az IMPORT műveletet több Key Vault-példányon is használhatja.

A felhasználók a JWK-objektum key_ops tulajdonságának használatával kulcsonként korlátozhatják a Key Vault által támogatott titkosítási műveleteket.

A JWK-objektumokról további információt a JSON Web Key (JWK) című témakörben talál.

Kulcsforgatási szabályzat műveletei

A kulcstartó kulcsának automatikus elforgatása a kulcs automatikus elforgatási szabályzatának konfigurálásával állítható be. Ez csak a Key Vault-erőforráson érhető el.

  • Rotációs szabályzat lekérése: Rotációs szabályzat konfigurációjának lekérése.
  • Forgatási szabályzat beállítása: Forgatási szabályzat konfigurációjának beállítása.

Kulcsattribútumok

A fő elemek mellett a következő attribútumok is megadhatók. Egy JSON-kérelemben a(z) "{" "}" attribútumokra és zárójelekre akkor is szükség van, ha nincsenek megadva attribútumok.

  • engedélyezve: logikai érték, nem kötelező, az alapértelmezett érték igaz. Megadja, hogy a kulcs engedélyezve van-e, és használható-e titkosítási műveletekhez. Az engedélyezett attribútumot az nbf és az exp függvény használja. Ha egy művelet nbf és exp között történik, az csak akkor engedélyezett, ha az engedélyezett érték igaz. Az nbf exp ablakán kívüli műveletek automatikusan nem lesznek engedélyezve, kivéve a visszafejtés, a kiadás, a feloldás és az ellenőrzés kivételével. /
  • nbf: IntDate, optional, default is now. Az nbf (nem korábbi) attribútum azt az időt azonosítja, amely előtt a kulcs nem használható titkosítási műveletekhez, kivéve a visszafejtés, a kiadás, a feloldás és az ellenőrzés. Az nbf attribútum feldolgozásához az aktuális dátumnak/időnek az nbf attribútumban felsorolt dátum/idő után vagy azzal egyenlőnek kell lennie. A Key Vault néhány kis mozgásteret biztosít, általában legfeljebb néhány percet, hogy figyelembe vegyék az óraeltéréseket. Az értéknek intDate értéket tartalmazó számnak kell lennie.
  • exp: IntDate, optional, default is "forever". Az exp (lejárati idő) attribútum azt a lejárati időt azonosítja, amely után a kulcs NEM használható titkosítási művelethez, kivéve a visszafejtés, a kiadás, a feloldás és az ellenőrzés. Az exp attribútum feldolgozásához az aktuális dátumnak/időnek az exp attribútumban felsorolt lejárati dátum/idő előtt kell lennie. A Key Vault NÉHÁNY kis mozgásteret biztosít, általában néhány percnél nem hosszabb időt, hogy figyelembe vegyék az óraeltéréseket. Az értéknek intDate értéket tartalmazó számnak kell lennie.

A kulcsattribútumokat tartalmazó válaszokban több írásvédett attribútum található:

  • létrehozva: IntDate, nem kötelező. A létrehozott attribútum jelzi, hogy mikor lett létrehozva a kulcs ezen verziója. Az attribútum hozzáadása előtt létrehozott kulcsok értéke null. Az értéknek intDate értéket tartalmazó számnak kell lennie.
  • frissítve: IntDate, nem kötelező. A frissített attribútum jelzi, hogy mikor frissítették a kulcs ezen verzióját. Az attribútum hozzáadása előtt legutóbb frissített kulcsok értéke null értékű. Az értéknek intDate értéket tartalmazó számnak kell lennie.
  • hsmPlatform: sztring, nem kötelező. A kulcsokat védő mögöttes HSM-platform.
    • A 2-es hsmPlatform érték azt jelenti, hogy a kulcsot a legújabb FIPS 140 3. szintű hitelesített HSM-platform védi.
    • Az 1-es hsmPlatform érték azt jelenti, hogy a kulcsot a korábbi FIPS 140 2. szintű hitelesített HSM-platform védi.
    • A 0 hsmPlatform érték azt jelenti, hogy a kulcsot egy FIPS 140 Level 1 HSM szoftveres titkosítási modul védi.
    • ha ezt nem egy felügyelt HSM-készlet állítja be, akkor a legújabb FIPS 140 Level 3 hitelesített HSM-platform védi.

Fontos megjegyezni, hogy a kulcsok ahhoz a HSM-hez vannak kötve, amelyben létrehozták őket. Az új kulcsok létrehozása és tárolása zökkenőmentesen történik az új HSM-ekben. Bár a kulcsok áttelepítésére és átvitelére nincs mód, az új kulcsverziók automatikusan az új HSM-ekben lesznek. További információ az új kulcsra való migrálásról: Kulcsterhelések migrálása.

További információ az IntDate-ről és más adattípusokról: [Tudnivalók a kulcsokról, titkos kódokról és tanúsítványokról: Adattípusok.

Dátum-idő vezérelt műveletek

A nem érvényes és lejárt kulcsok az nbf / exp ablakán kívül működnek a visszafejtési, kiadási, feloldási és ellenőrzési műveletekhez (a 403-at nem adja vissza, Tiltott). A még nem érvényes állapot használatának indoka, hogy lehetővé kell tenni egy kulcs tesztelését az éles használat előtt. A lejárt állapot használatának indoka az, hogy engedélyezi a kulcs érvényességének időpontjában létrehozott adatok helyreállítási műveleteit. Emellett letilthatja a kulcshoz való hozzáférést Key Vault-szabályzatok használatával, vagy az engedélyezett kulcsattribútum hamisra való frissítésével.

Az adattípusokról további információt az Adattípusok című témakörben talál.

További információ az egyéb lehetséges attribútumokról: JSON webkulcs (JWK).>

Kulcscímkék

További alkalmazásspecifikus metaadatokat címkék formájában adhat meg. A Key Vault legfeljebb 15 címkét támogat, amelyek mindegyike 256 karakterből és 256 karakterből állhat.

Feljegyzés

A címkéket a hívó felolvassa, ha rendelkezik a listával , vagy engedélyt kap a kulcsra.

Kulcshozzáférés-vezérlés

A Key Vault által kezelt kulcsok hozzáférés-vezérlése a Kulcstartó szintjén érhető el, amely kulcstárolóként működik. A kulcsokhoz való hozzáférést a Key Vault szerepköralapú hozzáférés-vezérlésével (ajánlott) vagy a régi tároló hozzáférési szabályzat engedélymodellje segítségével szabályozhatja. A szerepköralapú engedélymodell három előre definiált szerepkörrel rendelkezik a kulcsok kezeléséhez: "Key Vault crypto officer", "Key Vault Crypto User", "Key Vault Szolgáltatástitkosítási felhasználó", és az előfizetésre, erőforráscsoportra vagy tárolószintre terjedhet ki.

Tároló hozzáférési szabályzat engedélymodelljének engedélyei:

  • Kulcskezelési műveletek engedélyei

    • get: A kulcs nyilvános részének és attribútumainak olvasása
    • lista: Kulcstartóban tárolt kulcsok vagy kulcsverziók listázása
    • frissítés: Kulcs attribútumainak frissítése
    • létrehozás: Új kulcsok létrehozása
    • importálás: Kulcs importálása kulcstartóba
    • törlés: A kulcsobjektum törlése
    • helyreállítás: Törölt kulcs helyreállítása
    • biztonsági mentés: Kulcs biztonsági mentése egy kulcstartóban
    • visszaállítás: Biztonsági másolatban található kulcs visszaállítása kulcstartóba
  • Titkosítási műveletekre vonatkozó engedélyek

    • visszafejtés: A kulccsal feloldhatja a bájtok sorozatának védelmét
    • titkosítás: A kulccsal tetszőleges bájtsort védhet
    • unwrapKey: A kulccsal feloldhatja a becsomagolt szimmetrikus kulcsok védelmét
    • wrapKey: Szimmetrikus kulcs védelme a kulccsal
    • ellenőrzés: Kivonatok ellenőrzése a kulccsal
    • jel: Kivonatok aláírása a kulcs használatával
  • Jogosultsági szintű műveletek engedélyei

    • törlés: Törölt kulcs törlése (végleges törlése)
    • kiadás: Kulcs felszabadítása bizalmas számítási környezetbe, amely megfelel a kulcs release_policy
  • A rotációs szabályzat műveleteinek engedélyei

    • elforgatás: Meglévő kulcs elforgatása a kulcs új verziójának létrehozásával (csak Key Vault esetén)
    • rotációs szabályzat lekérése: Rotációs szabályzat konfigurációjának lekérése
    • forgatási szabályzat beállítása: Forgatási szabályzat konfigurációjának beállítása

További információ a kulcsok használatával kapcsolatban: Key Operations in the Key Vault REST API reference.

Következő lépések