Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Örnek sahipleri, kanıtlama akışı sırasında neyin doğrulanması gerektiğini tanımlamak için Azure Doğrulama ilkesini kullanabilir. Bu makalede kanıtlama hizmetinin ve ilke altyapısının çalışmalarına yer verilmiştir. Her kanıtlama türünün kendi kanıtlama ilkesi vardır. Desteklenen dil bilgisi ve işleme genel olarak aynıdır.
İlke sürümü 1.1
Kanıtlama akışı aşağıdaki gibidir:
- Platform, kanıtlama çağrısındaki kanıtlama kanıtını kanıtlama hizmetine gönderir.
- Kanıtlama hizmeti, kanıtı ayrıştırarak kural değerlendirmesi sırasında kullanılan taleplerin listesini oluşturur. Talepler mantıksal olarak gelen talep kümeleri olarak kategorilere ayrılmıştır.
- Kanıtlama hizmeti örneğinin sahibi tarafından karşıya yüklenen kanıtlama ilkesi daha sonra yanıtta talepleri değerlendirmek ve vermek için kullanılır.
- Değerlendirme sırasında yapılandırma kuralları, ilke değerlendirme altyapısına belirli taleplerin nasıl işleneceğini göstermek için kullanılabilir.
İlke sürüm 1.1'in dört segmenti vardır:
- sürüm: Sürüm, takip edilen dil bilgisinin sürüm numarasıdır.
- configurationrules: İlke değerlendirmesi sırasında, ilke altyapısının davranışını denetlemeniz gerekebilir. İlke değerlendirme altyapısına değerlendirmedeki bazı taleplerin nasıl işleneceğini göstermek için yapılandırma kurallarını kullanabilirsiniz.
- authorizationrules: Kanıtlamanın verme işlemlerine devam etmesi gerekip gerekmediğini belirlemek için önce denetlenen talep kuralları koleksiyonu. Verme kurallarının uygulanmasını gerektirmeyen çağrıları filtrelemek için bu bölümü kullanın. Bu bölümden yanıt belirtecine hiçbir talep verilemiyor. Bu kurallar kanıtlamanın başarısız olması için kullanılabilir.
- verme kuralları: İlkede tanımlandığı gibi kanıtlama sonucuna bilgi eklemek için değerlendirilen talep kuralları koleksiyonu. Talep kuralları tanımlı sırada uygulanır. Ayrıca isteğe bağlıdır. Bu kurallar, giden talep kümesine ve yanıt belirtecine eklemek için de kullanılabilir. Bu kurallar kanıtlamayı başarısız yapmak için kullanılamaz.
İlke yazarı aşağıdaki yapılandırma kurallarını kullanabilir.
| Kanıtlama türü | ConfigurationRule özellik adı | Tür | Default value | Açıklama |
|---|---|---|---|---|
| Güvenilen Platform Modülü (TPM), sanallaştırma tabanlı güvenlik (VBS) | require_valid_aik_cert | Boole | true | Geçerli bir kanıtlama kimlik anahtarı (AIK) sertifikasının gerekli olup olmadığını gösterir. Yalnızca TPM verileri mevcut olduğunda uygulanır. |
| TPM, VBS | required_pcr_mask | Int | 0xFFFFFF | TPM teklifine eklenmesi gereken PCR dizinleri için bit maskesi. Bit 0 PCR 0'ı, bit 1 ise PCR 1'i vb. temsil eder. |
Aşağıdaki talepler, gelen taleplerin bir parçası olarak desteklenir.
TPM kanıtlama
Bir TPM kanıtlama ilkesinde yetkilendirme kurallarını tanımlamak için şu talepleri kullanın:
- aikValidated: AIK sertifikası doğrulandıysa veya doğrulanmadıysa bilgileri içeren Boole değeri.
- aikPubHash: DER biçiminde base64 (SHA256) AIK ortak anahtarını içeren dize.
- tpmVersion: TPM ana sürümünü içeren tamsayı değeri.
- secureBootEnabled: Güvenli önyüklemenin etkinleştirilip etkinleştirilmediğini gösteren Boole değeri.
- iommuEnabled: Giriş-çıkış bellek yönetim biriminin etkinleştirilip etkinleştirilmediğini gösteren Boole değeri.
- bootDebuggingDisabled: Önyükleme hata ayıklamanın devre dışı bırakılıp bırakılmadığını gösteren Boole değeri.
- notSafeMode: Windows'un güvenli modda çalışıp çalışmadığını gösteren Boole değeri.
- notWinPE: Windows'un WinPE modunda çalışıp çalışmadığını gösteren Boole değeri.
- vbsEnabled: VBS'nin etkin olup olmadığını gösteren Boole değeri.
- vbsReportPresent: VBS kapanım raporunun kullanılabilir olup olmadığını gösteren Boole değeri.
VBS kanıtlama
VBS kanıtlama ilkesinde yetkilendirme kurallarını tanımlamak için aşağıdaki talepleri kullanın:
- enclaveAuthorId: Kapanım yazar kimliğinin Base64Url kodlanmış değerini içeren dize değeri. Bu, kapanım için birincil modülün yazar tanımlayıcısıdır.
- enclaveImageId: Kapanım görüntüsü kimliğinin Base64Url kodlanmış değerini içeren dize değeri. Bu, kapanım için birincil modülün görüntü tanımlayıcısıdır.
- enclaveOwnerId: Kapanım sahibi kimliğinin Base64Url kodlanmış değerini içeren dize değeri. Bu, kapanım sahibinin tanımlayıcısıdır.
- enclaveFamilyId: Kapanım ailesi kimliğinin Base64Url kodlanmış değerini içeren dize değeri. Bu, kapanım için birincil modülün aile tanımlayıcısıdır.
- enclaveSvn: Kapanım için birincil modülün güvenlik sürüm numarasını içeren tamsayı değeri.
- enclavePlatformSvn: Kapanım barındıran platformun güvenlik sürüm numarasını içeren tamsayı değeri.
- enclaveFlags: enclaveFlags talebi, kapanım için çalışma zamanı ilkesini açıklayan bayraklar içeren bir tamsayı değeridir.
Çeşitli kanıtlama türleri için örnek ilkeler
TPM için örnek ilke:
version=1.1;
configurationrules{
=> issueproperty(type = "required_pcr_mask", value = 15);
=> issueproperty(type = "require_valid_aik_cert", value = false);
};
authorizationrules {
=> permit();
};
issuancerules
{
[type=="aikValidated", value==true]&&
[type=="secureBootEnabled", value==true] &&
[type=="bootDebuggingDisabled", value==true] &&
[type=="notSafeMode", value==true] => issue(type="PlatformAttested", value=true);
[type=="aikValidated", value==false]&&
[type=="secureBootEnabled", value==true] &&
[type=="bootDebuggingDisabled", value==true] &&
[type=="notSafeMode", value==true] => issue(type="PlatformAttested", value=false);
};
Türü, required_pcr_mask PCR eşleşmelerinin değerlendirilmesini yalnızca PCR 0, 1, 2 ve 3 ile kısıtlar.
require_valid_aik_cert olarak false işaretlenen tür, AIK sertifikasının bir gereksinim olmadığını ve daha sonra durumu belirlemek PlatformAttested için içinde issuancerules doğrulandığını gösterir.
