Güvenli Bileşen Doğrulaması (Cihazda) Sertifikalarını Doğrulama
Summary: Cihazda Güvenli Bileşen Doğrulaması için platform sertifikasını ve doğrulayıcı platformu kullanarak bir cihazın bütünlüğünü doğrulamayı öğrenin.
Instructions
Dell bilgisayarın bütünlüğü ve orijinalliği, platform sertifikası ve doğrulayıcı platformu kullanılarak doğrulanabilir. Bu, bir cihazla birlikte Güvenli Bileşen Doğrulaması (Cihazda) sipariş edildiğinde gerçekleştirilebilir. Amerika Birleşik Devletleri Savunma Bakanlığı (DoD) doğrulayıcı platformu geliştirdi. Doğrulayıcı platformu, Çalışma Zamanı ve Başlangıçta Ana Bilgisayar Bütünlüğü (HIRS) aracı olarak bilinir. HIRS aracı, Tasdik Sertifikası Yetkilisi (ACA) portalı ve HIRS sağlayıcı olmak üzere iki bileşenden oluşur. HIRS sağlayıcısının sonuçları doğrulaması için aşağıdakilerin ayarlanması gerekir:
- HIRS aracı
- Windows 10 veya Windows 11 çalıştıran uç nokta cihazı
- HIRS sağlayıcı yapılandırıldı
- ACA portalı
- ACA'ya yüklenen imzalama ve platform sertifikaları
- Cihazın ve sertifikanın hangi bölümlerinin doğrulanacağını belirlemek için ACA içinde belirlenen politika
Cihaz bütünlüğünü doğrulamak için HIRS ACA Portalını Yüklemeniz, Sertifikaları Toplamanız, Sertifikaları ACA Portalına Yüklemeniz, ACA Politikasını ayarlamanız, HIRS Provisioner'ı indirip yüklemeniz, Provisioner'ı Çalıştırmanız ve ardından Sonuçları Doğrulamanız gerekir.
HIRS ACA Portalını Yükleme
HIRS ACA portalını test edilen sisteme yüklemek, kanıtlamayı yerel olarak çalıştırdığınız anlamına gelir. Bu yöntem büyük olasılıkla en kolay dağıtım modelidir ancak en güvenli olanı değildir. Daha güvenli bir yöntem için, HIRS ACA portalını uzak bir cihaza veya sunucuya yükleyin.
- Docker Desktop ı test edilen sisteme veya sunucuya indirin ve kurun.
Not: Test edilen sistemde ACA doğrulayıcısını çalıştırmak, yerel doğrulama olarak bilinir ve ACA'yı ağa bağlı bir sunucuda çalıştırmaktan farklı bir tehdit modelidir.
- Windows PowerShell ifadesini aratın, sağ tıklayın, Yönetici olarak çalıştır öğesini seçin, aşağıdaki komutu yazın ve Enter tuşuna basın.
docker pull ghcr.io/nsacyber/hirs/aca:616fc06 - HIRS ACA görüntüsünün oluşturulduğunu onaylamak için Docker'da aşağıdaki komutu yazın ve Enter tuşuna basın.
docker images
- PowerShell'de depoyu doğrulamak için REPOSITORY altında
repository gchr.io/nsacyber/hirs/aca.
- PowerShell de aşağıdaki komutu yazın ve Enter tuşuna basın.
docker run --name=aca -p 8443:8443 ghcr.io/nsacyber/hirs/aca:616fc06 - Docker'da, sunucu görüntüsünün kapsayıcı içinde çalıştığını onaylamak için aşağıdaki komutu yazın ve Enter tuşuna basın.
docker container ls -a - Şunları doğrulayın:
acaİSİMLER kategorisi altında gösterilir.
- Docker görüntüsünün çalıştığını doğrulamak için bir tarayıcı açın ve ACA Portal'a gidin. Yerel doğrulama çalıştırıyorsanız yerel ana bilgisayar IP adresi olan 127.0.0.1'i kullanın.
Not:- Yerel doğrulama çalıştırıyorsanız https://127.0.0.1:8443/HIRS_AttestationCAPortal/
bölümüne gidin.
- Portal sitesinin çevrimiçi olması birkaç dakika sürebilir.
- Portal sitesi çevrimiçi olduktan sonra "Bağlantınız özel değil" iletisi alabilirsiniz. Bu, yerel doğrulama çalıştırılırken beklenen bir davranıştır.
- Yerel doğrulama çalıştırıyorsanız https://127.0.0.1:8443/HIRS_AttestationCAPortal/
Sertifikaları Toplama
- SCV platformu öznitelik sertifikasını alın. SCV (Aygıtta), sertifikayı sabit sürücünün UEFI bölümünde depolar.
- Komut İstemi ifadesini aratın, sağ tıklayın ve ardından Yönetici olarak çalıştır'ı seçin.
- Aşağıdaki komutu yazın ve Enter tuşuna basın.
mountvol o: /S - Aşağıdaki komutu yazın ve Enter tuşuna basın.
copy o:\EFI\tcg\cert\platform\*.cer c:\dell\platcert}Not: SCV (Bulutta) satın alınırsa sertifika Dell Güvenilir Aygıttadır ve HIRS ACA ile doğrulama için yerel olarak kullanılamaz.
- Dell Ara CA imzalama sertifikasını alın.
- Fabrikadan, Öznitelik Sertifikası ve İmzalama Sertifikası SCV Platform Sertifikası içinde birleştirilir ve HIRS ACA Portal'a yüklenmeden önce ayrılmaları gerekir. PowerShell'den aşağıdaki komutu çalıştırın ve Enter tuşuna basın.
PowerShell :> $i=0; Get-Content c:\dell\platcert\*.cer -ReadCount 3 | %{$i++; $_ | Out-File out_$i.crt} - Dosya adlarını toplayın
out_1.crtveout _2.crt.
- Fabrikadan, Öznitelik Sertifikası ve İmzalama Sertifikası SCV Platform Sertifikası içinde birleştirilir ve HIRS ACA Portal'a yüklenmeden önce ayrılmaları gerekir. PowerShell'den aşağıdaki komutu çalıştırın ve Enter tuşuna basın.
- Güvenilir Aygıt Desteği | Sürücüler ve İndirmeler ve Secure Component Validator'ı indirme.
- Ortamınızdaki TPM modelleri için TPM kök ve ara imzalama sertifikalarını aşağıdaki kaynaklardan toplayın:
- STMicro: https://www.st.com/resource/en/technical_note/tn1330-st-trusted-platform-module-tpm-endorsement-key-ek-certificates-stmicroelectronics.pdf
- Nuvoton: https://www.nuvoton.com/export/sites/nuvoton/files/security/Nuvoton_TPM_EK_Certificate_Chain.pdfNot: Yönetici, ortamda kullanılan TPM modellerinin kayıtlarına sahip olmayabilir. Bu durumda, bir yönetici STMicro ve Nuvoton için sağlanan belgelerdeki tüm TPM kök ve ara imzalama sertifikalarını indirebilir.
- STMicro: https://www.st.com/resource/en/technical_note/tn1330-st-trusted-platform-module-tpm-endorsement-key-ek-certificates-stmicroelectronics.pdf
Sertifikaları ACA Portalına Yükleme
- Dell SCV Platform Öznitelik sertifikasını yükleyin (
c:\dell\platcert\out_1.crt) Platform Sertifikaları sekmesindeki + işaretine tıklayarak ACA portalına girin.
Not: Yerel doğrulama çalıştırıyorsanız https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/platform-credentialsgidin.
- Dell Fabrika Ara CA imzalama sertifikasını yükleyin (
c:\dell\platcert\out_2.crt), CA imzalama kök sertifikası (PROD-CSG-SCV-Root.cer) ve Trust Chain Management sekmesinde Trust Chain CA Certificates öğesinin yanındaki + işaretine tıklayarak sertifikaları TPM kök imzalama sertifikalarını inceleyin.
Not: Yerel doğrulama çalıştırıyorsanız https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/trust-chainbölümüne gidin.
ACA politikasını ayarlama
- Policy sekmesine gidin.
- Kalem simgesine tıklayın ve aşağıdakileri Etkin olarak ayarlayın:
- Onay Kimliği Doğrulaması
- Platform Kimlik Bilgisi Doğrulaması
- Platform Öznitelik Kimlik Bilgileri Doğrulaması
Not: Yerel doğrulama çalıştırıyorsanız https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/policybölümüne gidin.
HIRS Sağlayıcısı'nı indirme ve yükleme
Bu adım, sertifika içeren her sistemde gerçekleştirilmelidir.
- HIRS Provisioner Releases'den
Provisioner'ın en son sürümünü indirin ve yükleyin.
- Windows Gezgini'nden şuraya gidin:
c:\Program Files(x86)\HIRS_Provisioner.NET\plugins\scripts\windows. - Şuna sağ tıklayın:
allcomponents.ps1tıklayın ve Not Defterinde Düzenle'yi seçin, ardından#çizginin önündeki sembol.Not: Örneğin,#$NVME_SCRIPT="$APP_HOME/nvme.ps1" # For NVMe. - Şu komutu ekleyerek 30. satırı açıklamayı kaldırın:
#çizginin önündeki sembol.Not: Örneğin,#. $NVME_SCRIPT. - Tümünü değiştir "
### Gather HDD details" (669-744. satırlar) aşağıdaki metinle:### Gather HDD details Write-Progress -Id 1 -Activity "Gathering component details" -PercentComplete 70 Write-Progress -Id 2 -ParentId 1 -Activity "Gathering HDD information" -CurrentOperation "Querying" -PercentComplete 0 function parseHddData() { $RS=(Get-CimInstance -ClassName CIM_DiskDrive | select serialnumber,mediatype,pnpdeviceid,manufacturer,model | where mediatype -eq "Fixed hard disk media") $component="" $replaceable=(jsonFieldReplaceable "true") $numRows=1 if ($RS.Count -gt 1) { $numRows=($RS.Count)} for($i=0;$i -lt $numRows;$i++) { Write-Progress -Id 2 -ParentId 1 -Activity "Gathering Hard Disk information" -CurrentOperation ("Cleaning output for HDD " + ($i+1)) -PercentComplete ((($i+1) / $numRows) * 100) $hddClass=(jsonComponentClass "$COMPCLASS_REGISTRY_TCG" "$COMPCLASS_HDD") $pnpDevID="" if(isIDE($RS[$i].PNPDeviceID)) { $pnpDevID=(ideDiskParse $RS[$i].PNPDeviceID) } elseif(isSCSI($RS[$i].PNPDeviceID)) { $pnpDevID=(scsiDiskParse $RS[$i].PNPDeviceID) } else {Continue } if(($pnpDevID -eq $null) -or (($pnpDevID -eq "(Standard disk drives)") -and ($pnpDevID.product -eq $null))) { $regex="^.{,16}$" $pnpDevID=[pscustomobject]@{ product=($RS[$i].model -replace '^(.{0,16}).*$','$1') # Strange behavior for this case, will return } } $tmpManufacturer=$pnpDevID.vendor # PCI Vendor ID $tmpModel=$pnpDevID.product # PCI Device Hardware ID $tmpSerial=$RS[$i].serialnumber $tmpRevision=$pnpDevID.revision if ([string]::IsNullOrEmpty($tmpManufacturer) -or ($tmpManufacturer.Trim().Length -eq 0)) { $tmpManufacturer="$NOT_SPECIFIED" } $tmpManufacturer=$(jsonManufacturer "$tmpManufacturer".Trim()) if ([string]::IsNullOrEmpty($tmpModel) -or ($tmpModel.Trim().Length -eq 0)) { $tmpModel="$NOT_SPECIFIED" } $tmpModel=$(jsonModel "$tmpModel".Trim()) if (![string]::IsNullOrEmpty($tmpSerial) -and ($tmpSerial.Trim().Length -ne 0)) { $tmpSerial=(jsonSerial "$tmpSerial".Trim()) } else { $tmpSerial="" } if (![string]::IsNullOrEmpty($tmpRevision) -and ($tmpRevision.Trim().Length -ne 0)) { $tmpRevision=(jsonRevision "$tmpRevision".Trim()) } else { $tmpRevision="" } $tmpComponent=(jsonComponent $hddClass $tmpManufacturer $tmpModel $replaceable $tmpSerial $tmpRevision) $component+="$tmpComponent," } Write-Progress -Id 2 -ParentId 1 -Activity "Gathering Hard Disk information" -CurrentOperation "Done" -PercentComplete 100 return "$component".Trim(",") }
Provisioner'ı çalıştırma
Provisioner öğesine sağ tıklayın ve sertifika içeren sistemlerde Yönetici olarak çalıştır öğesini seçin.
c:\Program Files(x86)\HIRS_Provisioner.NET\tpm_aca_provision.exe.
Sonuçları Doğrula
Geçen bir sonuç için Doğrulama Raporları ACA portal sayfasını kontrol edin.