Jogcímkészletek
Az enklávék Microsoft Azure-igazolással 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 Azure-igazolás által az igazolási bizonyítékok elemzése után létrehozott jogcímek. A jogcímeket a szabályzatkészítők használhatják az egyéni szabályzatok engedélyezési szabályainak meghatározására.
- Kimenő jogcímek: Az Azure-igazolás által létrehozott és az igazolási jogkivonatban szereplő jogcímek.
- Tulajdonságjogcímek: Az 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ályzatkészítők által az SGX-igazolási házirendekben 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é hibakeresése.
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, amely magában foglalja az enklávé memóriájának elérését. 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.
Az Azure Attestation felhasználói az igazolási szabályzat használatával ellenőrizhetik, hogy a hibakeresés le van-e tiltva az SGX-enklávé esetében. 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, hogy hozzáférjen az enklávé tartalmához.
x-ms-sgx-product-id: Egész szám, amely az SGX-enklávé termékazonosítóját jelzi.
Az enklávé szerzője minden enklávéhoz hozzárendel egy termékazonosítót. A termékazonosító lehetővé teszi, hogy az enklávé szerzője azonos MRSIGNER használatával szegmentált enklávékat szegmentált. Az ügyfelek érvényesítési szabályt adhatnak az igazolási szabályzathoz annak ellenőrzéséhez, hogy a kívánt enklávékat használják-e. Az igazolás meghiúsul, 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ő 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ályzat jogcíme nem egyezik az enklávé szerzőJÉNEK MRSIGNER-ével, az azt jelenti, hogy az enklávé bináris fájlt nem egy megbízható forrás írja alá, és az igazolás meghiúsul.
Ha egy enklávé szerző biztonsági okokból inkább az MRSIGNER-t szeretné elforgatni, az Azure-igazolási szabályzatot frissíteni kell, hogy támogassa az új és a régi MRSIGNER-értékeket a bináris fájlok frissítése előtt. Ellenkező esetben az engedélyezési ellenőrzések sikertelenek, ami igazolási hibákat eredményez.
Az igazolási szabályzatot az alábbi formátumban kell frissíteni.
Kulcsváltás előtt
version= 1.0; authorizationrules { [ type=="x-ms-sgx-is-debuggable", value==false]&& [ type=="x-ms-sgx-mrsigner", value=="mrsigner1"] => permit(); };
Kulcsforgatás során
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(); };
Kulcsváltá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óriába 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ül történő hitelesíté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 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ódokkal 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-értéke 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. A nem elavult jogcímnevek használata ajánlott:
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ályzatkészítők által a TPM-igazolási szabályzat engedélyezési szabályainak meghatározásához használandó jogcímek:
- aikValidated: Információt tartalmazó logikai érték, ha az igazolási identitáskulcs (AIK) tanúsítványa érvényesíti vagy sem.
- aikPubHash: A base64(SHA256(AIK nyilvános kulcs DER formátumban)) sztringje.
- tpmVersion: A megbízható platformmodul (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 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 jelzi, hogy elérhető-e VBS enklávé jelentés.
VBS-igazolás
A TPM igazolási szabályzat jogcímei mellett a szabályzatkészítők ezeket a jogcímeket használhatják a VBS-igazolási szabályzat engedélyezési szabályainak meghatározására:
- enclaveAuthorId: Az enklávé szerzőazonosítójának Base64Url kódolt é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ódolt é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ódolt értékét tartalmazó karakterlánc-Az enklávé tulajdonosának azonosítója.
- enclaveFamilyId: Az enklávé családi azonosító Base64Url kódolt értékét tartalmazó karakterláncé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
Minden igazolási típus esetében gyakori
Az Azure Attestation ezeket a 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 jelző sztringérték.
- x-ms-policy-hash: Az Azure Attestation evaluation policy kivonata BASE64URL(SHA256(UTF8(BASE64URL(UTF8(szabályzatszöveg))))).
- x-ms-policy-signer: JSON-objektum egy "jwk" taggal, amely az ügyfél által a szabályzat aláírásához használt kulcsot jelöli, amely akkor alkalmazható, ha az ügyfél feltölt egy aláírt szabályzatot.
- x-ms-runtime: A tanúsított környezetben definiált és létrehozott "jogcímeket" tartalmazó JSON-objektum, az "enklávéban tárolt adatok" koncepció specializációja, ahol az "enklávéban tárolt adatok" jól formázott JSON UTF-8 kódolásaké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.
Ezeket a jogcímneveket az IETF JWT specifikációja használja.
- "jti" (JWT ID) Jogcím – A JWT egyedi azonosítója.
- "iss" (Kibocsátó) Jogcím – A JWT-t kibocsátó tőkekövetelő.
- "iat" (Kibocsátás időpontja) jogcím – 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" (Nem korábban) Jogcím – Nem azelőtt, amely előtt a JWT nem fogadható el feldolgozásra.
Ezeket a jogcímneveket az IETF EAT piszkozat-specifikációja használja:
- "Nonce claim" (nonce) – Az ügyfél által megadott nem kötelező, 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 |
T-betű | x-ms-attestation-type |
policy_hash | x-ms-policy-hash |
maa-policyHash | x-ms-policy-hash |
policy_signer | x-ms-policy-signer |
rp_data | nem |
SGX-igazolás
Ezeket a jogcímeket 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 engedélyezve van-e az enklávé hibakeresése.
- 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 hex kódolt értéke.
- x-ms-sgx-mrenclave: az idézőjel MRSIGNER mezőjének hex kódolt értéke.
- x-ms-sgx-svn: az idézőjelben kódolt biztonsági verziószám.
- x-ms-sgx-ehd: az enklávé BASE64URL (enklávéban tárolt adatok) formátumban tárolt adatokat tárol.
- 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 idéző 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-biztosíték 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 konfigurálva a kulcsleválasztási és megosztási támogatással. 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. A nem elavult jogcímnevek használata ajánlott:
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 az alábbi jogcímeket is támogatja:
- x-ms-sevsnpvm-authorkeydigest: SHA384 kivonat a szerző aláíró kulcsáról.
- x-ms-sevsnpvm-bootloader-svn: AMD boot loader security version number (SVN).
- x-ms-sevsnpvm-familyId: Gazdagépkompatibilitási réteg (HCL) családazonosítási 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: SHA384 kivonat az azonosítási aláíró kulcsról.
- x-ms-sevsnpvm-imageId: HCL-képazonosítás.
- x-ms-sevsnpvm-is-debuggable: Logikai érték, amely azt jelzi, hogy az AMD SEV-SNP hibakeresés engedélyezve van-e.
- 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éshez való belefoglaláshoz átadott adatok, amelyek ellenőrzik, 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 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-ban meghatározott megerősítési jogcím tartalmazza a JSON-webkulcs (JWK) objektumként (RFC 7517) képviselt igazolt enklávékulcs nyilvános részét.
- rp_data (függő entitás adatai): A függő entitás adatai, ha vannak ilyenek, a kérelemben megadottak, 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: Egy egész szám azt jelzi, hogy a jogkivonat mennyi ideig érvényes.
- Alapértelmezett érték(idő):: Egy nap perc alatt.
- Maximális érték(idő): Egy év percben.
- omit_x5c: Logikai jogcím, amely jelzi, hogy az Azure-igazolásnak ki kell-e hagynia a szolgáltatáshitelesítés igazolásához használt tanúsítványt. Ha igaz, az x5t hozzáadódik az igazolási jogkivonathoz. Ha hamis (alapértelmezett), x5c lesz hozzáadva az igazolási jogkivonathoz.