Jogcímkészletek
Az enklávék Microsoft Azure Attestation használatával történő igazolása során létrehozott jogcímek az alábbi kategóriákba sorolhatók:
Bejövő jogcímek: A Microsoft által létrehozott jogcímek Azure Attestation az igazolási bizonyítékok elemzése után, és a szabályzatszerzők felhasználhatják az engedélyezési szabályok egyéni szabályzatokban való meghatározására
Kimenő jogcímek: A Azure Attestation által létrehozott és az igazolási jogkivonatban szereplő jogcímek
Tulajdonságjogcímek: A Azure Attestation által kimenetként létrehozott jogcímek. Tartalmazza az igazolási jogkivonat tulajdonságait képviselő összes jogcímet, például a jelentés kódolását, a jelentés érvényességi időtartamát stb.
Bejövő jogcímek
SGX-igazolás
A szabályzatszerzők által az SGX-igazolási szabályzatokban definiálandó engedélyezési szabályokra vonatkozó jogcímek:
x-ms-sgx-is-debuggable: Logikai érték, amely azt jelzi, hogy engedélyezve van-e az enklávékeresés.
Az SGX-enklávék betölthetők letiltott vagy engedélyezett hibakereséssel. Ha a jelző igaz értékre van állítva az enklávéban, lehetővé teszi az enklávékód hibakeresési funkcióit. Ez magában foglalja az enklávé memóriájának elérését is. Ezért javasoljuk, hogy a jelzőt csak fejlesztési célokra állítsa igaz értékre. Ha éles környezetben engedélyezve van, az SGX biztonsági garanciái nem maradnak meg.
Azure Attestation felhasználók az igazolási szabályzat használatával ellenőrizhetik, hogy le van-e tiltva a hibakeresés az SGX-enklávéban. A szabályzatszabály hozzáadása után az igazolás sikertelen lesz, ha egy rosszindulatú felhasználó bekapcsolja a hibakeresési támogatást az enklávétartalomhoz való hozzáféréshez.
x-ms-sgx-product-id: Az SGX-enklávé termékazonosítóját jelző egész szám.
Az enklávé szerzője termékazonosítót rendel az egyes enklávékhoz. A termékazonosító lehetővé teszi, hogy az enklávé szerzője az azonos MRSIGNER használatával aláírt enklávékat szegmentálhassa. Ha hozzáad egy érvényesítési szabályt az igazolási szabályzathoz, az ügyfelek ellenőrizhetik, hogy a kívánt enklávékat használják-e. Az igazolás sikertelen lesz, ha az enklávé termékazonosítója nem egyezik meg az enklávé szerzője által közzétett értékkel.
x-ms-sgx-mrsigner: Sztringérték, amely azonosítja az SGX-enklávé szerzőjét.
Az MRSIGNER az enklávé szerzője nyilvános kulcsának kivonata, amely az enklávé bináris aláírásához használt titkos kulccsal van társítva. Az MRSIGNER igazolási szabályzaton keresztüli ellenőrzésével az ügyfelek ellenőrizhetik, hogy a megbízható bináris fájlok egy enklávéban futnak-e. Ha a szabályzatjogcím nem egyezik meg az enklávé szerzőjének MRSIGNER-ével, az azt jelenti, hogy az enklávé bináris fájlját nem egy megbízható forrás írta alá, és az igazolás meghiúsul.
Ha egy enklávészerző biztonsági okokból inkább az MRSIGNER-t szeretné elforgatni, Azure Attestation szabályzatot frissíteni kell az új és a régi MRSIGNER értékek támogatásához a bináris fájlok frissítése előtt. Ellenkező esetben az engedélyezési ellenőrzések sikertelenek lesznek, ami igazolási hibákat eredményez.
Az igazolási szabályzatot az alábbi formátumban kell frissíteni.
Kulcsrotálás előtt
version= 1.0; authorizationrules { [ type=="x-ms-sgx-is-debuggable", value==false]&& [ type=="x-ms-sgx-mrsigner", value=="mrsigner1"] => permit(); };
Kulcsrotálás közben
version= 1.0; authorizationrules { [ type=="x-ms-sgx-is-debuggable", value==false]&& [ type=="x-ms-sgx-mrsigner", value=="mrsigner1"] => permit(); [ type=="x-ms-sgx-is-debuggable", value==false ]&& [ type=="x-ms-sgx-mrsigner", value=="mrsigner2"] => permit(); };
Kulcsrotálás után
version= 1.0; authorizationrules { [ type=="x-ms-sgx-is-debuggable", value==false]&& [ type=="x-ms-sgx-mrsigner", value=="mrsigner2"] => permit(); };
x-ms-sgx-mrenclave: Sztringérték, amely azonosítja az enklávémemóriabe betöltött kódot és adatokat.
Az MRENCLAVE az enklávémérések egyike, amely az enklávé bináris fájljainak ellenőrzésére használható. Ez az enklávéban futó kód kivonata. A mérés az enklávé bináris kódjának minden módosításával változik. Az MRENCLAVE igazolási szabályzaton keresztüli ellenőrzésével az ügyfelek ellenőrizhetik, hogy a kívánt bináris fájlok egy enklávéban futnak-e. Mivel azonban az MRENCLAVE várhatóan gyakran változik a meglévő kód bármilyen triviális módosításával, javasoljuk, hogy az igazolási szabályzatban az MRSIGNER-ellenőrzéssel ellenőrizze az enklávé bináris fájlokat.
x-ms-sgx-svn: Egész szám, amely az SGX-enklávé biztonsági verziójának számát jelzi
Az enklávé szerzője egy biztonsági verziószámot (SVN) rendel az SGX-enklávé minden verziójához. Ha biztonsági problémát észlel az enklávékódban, az enklávé szerzője növeli az SVN-értéket a biztonságirés-javítás után. A nem biztonságos enklávé kóddal való interakció megakadályozása érdekében az ügyfelek érvényesítési szabályt adhatnak hozzá az igazolási szabályzathoz. Ha az enklávékód SVN-je nem egyezik meg az enklávé szerzője által javasolt verzióval, az igazolás sikertelen lesz.
Ezek a jogcímek elavultnak minősülnek, de teljes mértékben támogatottak, és a jövőben is szerepelni fognak. Javasoljuk, hogy a nem elavult jogcímneveket használja:
Elavult jogcím | Javasolt jogcím |
---|---|
$is hibakereső | x-ms-sgx-is-debuggable |
$product-id | x-ms-sgx-product-id |
$sgx-mrsigner | x-ms-sgx-mrsigner |
$sgx-mrenclave | x-ms-sgx-mrenclave |
$svn | x-ms-sgx-svn |
TPM-igazolás
A szabályzatszerzők által a TPM-igazolási szabályzatokban definiálandó engedélyezési szabályokra vonatkozó jogcímek:
- aikValidated: Információt tartalmazó logikai érték, ha az igazolási identitáskulcs (AIK) tanúsítványát ellenőrizték vagy nem
- aikPubHash: A base64(SHA256(AIK nyilvános kulcs DER formátumban))
- tpmVersion: A Platformmegbízhatósági modul (TPM) főverzióját tartalmazó egész számérték
- secureBootEnabled: Logikai érték, amely jelzi, hogy engedélyezve van-e a biztonságos rendszerindítás
- iommuEnabled: Logikai érték, amely jelzi, hogy engedélyezve van-e az input-output memóriakezelési egység (Iommu)
- bootDebuggingDisabled: Logikai érték, amely jelzi, hogy a rendszerindítási hibakeresés le van-e tiltva
- notSafeMode: Logikai érték, amely azt jelzi, hogy a Windows nem csökkentett módban fut-e
- notWinPE: Logikai érték, amely azt jelzi, hogy a Windows nem WinPE módban fut-e
- vbsEnabled: Logikai érték, amely azt jelzi, hogy a VBS engedélyezve van-e
- vbsReportPresent: Logikai érték, amely azt jelzi, hogy a VBS enklávéjelentés elérhető-e
VBS-igazolás
A TPM igazolási szabályzat jogcímei mellett a szabályzatszerzők is használhatják ezeket a jogcímeket a VBS-igazolási szabályzat engedélyezési szabályainak meghatározásához:
- enclaveAuthorId: Az enklávé author id Base64Url kódolású értékét tartalmazó karakterlánc-Az enklávé elsődleges moduljának szerzői azonosítója
- enclaveImageId: Az enklávé képazonosítójának Base64Url kódolású értékét tartalmazó karakterlánc-Az enklávé elsődleges moduljának képazonosítója
- enclaveOwnerId: Az enklávé tulajdonosazonosítójának Base64Url kódolású értékét tartalmazó karakterlánc-Az enklávé tulajdonosának azonosítója
- enclaveFamilyId: Az enklávécsalád-azonosító Base64Url kódolású értékét tartalmazó sztringérték. Az enklávé elsődleges moduljának családi azonosítója
- enclaveSvn: Az enklávé elsődleges moduljának biztonsági verziószámát tartalmazó egész szám
- enclavePlatformSvn: Az enklávét üzemeltető platform biztonsági verziószámát tartalmazó egész szám
- enclaveFlags: Az enclaveFlags jogcím egy egész szám, amely az enklávé futásidejű szabályzatát leíró jelzőket tartalmaz
Kimenő jogcímek
Az összes igazolási típus esetében gyakori
Azure Attestation a következő jogcímeket tartalmazza az igazolási jogkivonatban az összes igazolási típushoz:
- x-ms-ver: JWT-sémaverzió (várhatóan "1.0")
- x-ms-attestation-type: Az igazolás típusát jelölő sztringérték
- x-ms-policy-hash: A BASE64URL(SHA256(UTF8(BASE64URL(UTF8(szabályzatszöveg))-ként kiszámított Azure Attestation kiértékelési szabályzat kivonata
- x-ms-policy-signer: JSON-objektum egy "jwk" taggal, amely az ügyfél által a szabályzat aláírásához használt kulcsot képviseli. Ez akkor érvényes, ha az ügyfél aláírt szabályzatot tölt fel
- x-ms-runtime: Az igazolt környezetben definiált és létrehozott "jogcímeket" tartalmazó JSON-objektum. Ez az "enklávéban tárolt adatok" fogalmának specializációja, ahol az "enklávéban tárolt adatok" kifejezetten UTF-8 kódolású, jól formázott JSON-ként vannak formázva
- x-ms-inittime: A "jogcímeket" tartalmazó JSON-objektum, amely az igazolt környezet inicializálásakor van definiálva és ellenőrizve
Az alábbi jogcímneveket az IETF JWT specifikációja használja
- "jti" (JWT-azonosító) Jogcím – A JWT egyedi azonosítója
- "iss" (kiállító) jogcím – A JWT-t kibocsátó tag
- "iat" (kibocsátás időpontja) igénylés – A JWT kiállításának időpontja:
- "exp" (Lejárati idő) Jogcím – Lejárati idő, amely után a JWT nem fogadható el feldolgozásra
- "nbf" (Not Before) Claim – Nem olyan időpont előtt, amely előtt a JWT nem fogadható el feldolgozásra
Ezeket a jogcímneveket az IETF EAT piszkozatspecifikációja használja:
- "Nonce claim" (nonce) – Egy ügyfél által megadott nem kötelező érték nem lefordított közvetlen másolata
Az alábbi jogcímek elavultnak minősülnek, de teljes mértékben támogatottak, és a jövőben is szerepelni fognak. Javasoljuk, hogy a nem elavult jogcímneveket használja.
Elavult jogcím | Javasolt jogcím |
---|---|
Ver | x-ms-ver |
Póló | x-ms-attestation-type |
policy_hash | x-ms-policy-hash |
maa-policyHash | x-ms-policy-hash |
policy_signer | x-ms-policy-signer |
rp_data | nemce |
SGX-igazolás
Ezeket a caim-okat az SGX-igazolási szolgáltatás hozza létre és tartalmazza az igazolási jogkivonatban:
- x-ms-sgx-is-debuggable: Logikai érték, amely azt jelzi, hogy az enklávéban engedélyezve van-e a hibakeresés, vagy sem
- x-ms-sgx-product-id: Az SGX-enklávé termékazonosító értéke
- x-ms-sgx-mrsigner: az idézőjel "mrsigner" mezőjének hexadecimális kódolású értéke
- x-ms-sgx-mrenclave: az idézőjel "mrenclave" mezőjének hexadecimális kódolású értéke
- x-ms-sgx-svn: az idézőjelbe kódolt biztonsági verziószám
- x-ms-sgx-ehd: BASE64URL(enklávéban tárolt adatok) formátumban tárolt enklávéban tárolt adatok
- x-ms-sgx-collateral: Az igazolás végrehajtásához használt biztosítékot leíró JSON-objektum. Az x-ms-sgx-collateral jogcím értéke egy beágyazott JSON-objektum a következő kulcs/érték párokkal:
- qeidcertshash: Az enklávé (QE) identitáskibocsátó tanúsítványainak SHA256-értéke
- qeidcrlhash: A tanúsítványokat kiállító QE Identity CRL-listájának SHA256-értéke
- qeidhash: A QE Identity-fedezet SHA256-értéke
- quotehash: A kiértékelt ajánlat SHA256-értéke
- tcbinfocertshash: A TCB Info kiállító tanúsítványainak SHA256-értéke
- tcbinfocrlhash: A tanúsítványokat kibocsátó TCB-adatok CRL-listájának SHA256-értéke
- tcbinfohash: A TCB Info-biztosíték SHA256 értéke
- x-ms-sgx-report-data: SGX enklávé jelentés adatmezője (általában az x-ms-sgx-ehd SHA256 kivonata)
Ezek a jogcímek csak az Intel® Xeon® skálázható processzoralapú kiszolgálóplatformokhoz létrehozott igazolási jogkivonatban jelennek meg. A jogcímek nem jelennek meg, ha az SGX-enklávé nincs kulcsleválasztási és megosztási támogatással konfigurálva. A jogcímdefiníciók itt találhatók:
- x-ms-sgx-config-id
- x-ms-sgx-config-svn
- x-ms-sgx-isv-extended-product-id
- x-ms-sgx-isv-family-id
Ezek a jogcímek elavultnak minősülnek, de teljes mértékben támogatottak, és a jövőben is szerepelni fognak. Javasoljuk, hogy a nem elavult jogcímneveket használja:
Elavult jogcím | Javasolt jogcím |
---|---|
$is hibakereső | x-ms-sgx-is-debuggable |
$product-id | x-ms-sgx-product-id |
$sgx-mrsigner | x-ms-sgx-mrsigner |
$sgx-mrenclave | x-ms-sgx-mrenclave |
$svn | x-ms-sgx-svn |
$maa-ehd | x-ms-sgx-ehd |
$aas-ehd | x-ms-sgx-ehd |
$maa-attestationcollateral | x-ms-sgx-collateral |
SEV-SNP-igazolás
A SevSnpVm igazolási típus a következő jogcímeket is támogatja:
- x-ms-sevsnpvm-authorkeydigest: A szerző aláírókulcsának SHA384-kivonata
- x-ms-sevsnpvm-bootloader-svn :AMD rendszertöltő biztonsági verziószáma (SVN)
- x-ms-sevsnpvm-familyId: Gazdagépkompatibilitási réteg (HCL) családazonosító sztringje
- x-ms-sevsnpvm-guestsvn: HCL biztonsági verziószám (SVN)
- x-ms-sevsnpvm-hostdata: A gazdagép által a virtuális gép indításakor meghatározott tetszőleges adatok
- x-ms-sevsnpvm-idkeydigest: Az azonosító aláíró kulcs SHA384-kivonata
- x-ms-sevsnpvm-imageId: HCL-rendszerkép azonosítása
- x-ms-sevsnpvm-is-debuggable: Logikai érték, amely azt jelzi, hogy engedélyezve van-e az AMD SEV-SNP hibakeresése
- x-ms-sevsnpvm-launchmeasurement: Az elindított vendégkép mérése
- x-ms-sevsnpvm-microcode-svn: AMD-mikrokód biztonsági verziószáma (SVN)
- x-ms-sevsnpvm-migration-allowed: Logikai érték, amely azt jelzi, hogy az AMD SEV-SNP migrálási támogatása engedélyezve van-e
- x-ms-sevsnpvm-reportdata: A HCL által a jelentésbe belefoglalandó adatok annak ellenőrzéséhez, hogy az átviteli kulcs és a virtuális gép konfigurációja helyes-e
- x-ms-sevsnpvm-reportid: A vendég jelentésazonosítója
- x-ms-sevsnpvm-smt-allowed: Logikai érték, amely azt jelzi, hogy az SMT engedélyezve van-e a gazdagépen
- x-ms-sevsnpvm-snpfw-svn: AMD belső vezérlőprogram biztonsági verziójának száma (SVN)
- x-ms-sevsnpvm-tee-svn: AMD megbízható végrehajtási környezet (TEE) biztonsági verziószáma (SVN)
- x-ms-sevsnpvm-vmpl: A jelentést létrehozó VMPL (HCL esetén 0)
TPM- és VBS-igazolás
- cnf (megerősítés): A "cnf" jogcím a birtoklási igazolási kulcs azonosítására szolgál. Az RFC 7800-as verziójában meghatározott megerősítő jogcím tartalmazza a JSON Web Key (JWK) objektumként (RFC 7517) jelölt igazolt enklávékulcs nyilvános részét
- rp_data (függő entitás adatai): A függő entitásnak a kérelemben megadott, esetlegesen megadott adatai, amelyeket a függő entitás nemként használ fel a jelentés frissességének garantálásához. rp_data csak akkor lesz hozzáadva, ha rp_data
Tulajdonságjogcímek
TPM- és VBS-igazolás
- report_validity_in_minutes: A jogkivonat érvényességének időtartamát jelző egész szám.
- Alapértelmezett érték(idő): Egy nap perc alatt.
- Maximális érték(idő): Egy év perc alatt.
- omit_x5c: Logikai jogcím, amely azt jelzi, hogy Azure Attestation ki kell-e hagynia a szolgáltatáshitelesítés igazolásához használt tanúsítványt. Ha igaz, a rendszer hozzáadja az x5t értéket az igazolási jogkivonathoz. Ha false(default), az x5c hozzá lesz adva az igazolási jogkivonathoz.