Sprawdzanie poprawności certyfikatów weryfikacji zabezpieczonego komponentu (na urządzeniu)
Summary: Dowiedz się, jak zweryfikować integralność urządzenia przy użyciu certyfikatu platformy i platformy weryfikacyjnej do weryfikacji zabezpieczonych komponentów na urządzeniu.
Instructions
Integralność i autentyczność komputera firmy Dell można zweryfikować za pomocą certyfikatu platformy i platformy weryfikacyjnej. Można to zrobić, zamawiając wraz z urządzeniem usługę Secured Component Verification (On Device). Departament Obrony Stanów Zjednoczonych (DoD) opracował platformę weryfikacyjną. Platforma weryfikatora jest znana jako narzędzie Host Integrity at Runtime and Start-up (HIRS). Narzędzie HIRS składa się z dwóch składników: portalu Attestation Certificate Authority (ACA) i aprowizatora HIRS. Aby zweryfikować wyniki, należy skonfigurować następujące elementy:
- Narzędzie HIRS
- Urządzenie końcowe z systemem Windows 10 lub Windows 11
- Skonfigurowano aprowizator HIRS
- Portal ACA
- Podpisywanie i przesyłanie certyfikatów platformy do ACA
- Zasady ustawione w ACA w celu określenia, które części urządzenia i certyfikatu mają być weryfikowane
Weryfikacja integralności urządzenia wymaga zainstalowania portalu usługi HIRS ACA, zebrania certyfikatów, przekazania certyfikatów do portalu usługi ACA, ustawienia zasad usługi ACA, pobrania i zainstalowania aprowizatora HIRS, uruchomienia aprowizacji, a następnie zweryfikowania wyników.
Zainstaluj portal HIRS ACA
Zainstalowanie portalu usługi HIRS ACA w testowanym systemie oznacza, że atestowanie jest uruchamiane lokalnie. Ta metoda jest prawdopodobnie najłatwiejszym modelem wdrożenia, ale nie najbezpieczniejszym. Aby uzyskać bezpieczniejszą metodę, zainstaluj portal usługi HIRS ACA na zdalnym urządzeniu lub serwerze.
- Pobierz i zainstaluj program Docker Desktop na testowanym systemie lub serwerze.
Uwaga: Uruchomienie weryfikatora ACA w testowanym systemie jest znane jako weryfikacja lokalna i jest innym modelem zagrożeń niż uruchomienie ACA na serwerze sieciowym.
- Wyszukaj program Windows PowerShell, kliknij go prawym przyciskiem myszy, wybierz polecenie Uruchom jako administrator, wpisz następujące polecenie, a następnie naciśnij Enter.
docker pull ghcr.io/nsacyber/hirs/aca:616fc06 - W Dockerze, aby potwierdzić, że obraz HIRS ACA został utworzony, wpisz następujące polecenie, a następnie naciśnij Enter.
docker images
- Aby zweryfikować repozytorium w programie PowerShell, sprawdź w obszarze REPOZYTORIUM
repository gchr.io/nsacyber/hirs/aca.
- W programie PowerShell wpisz następujące polecenie, a następnie naciśnij Enter.
docker run --name=aca -p 8443:8443 ghcr.io/nsacyber/hirs/aca:616fc06 - Aby potwierdzić, że obraz serwera jest uruchomiony w kontenerze na platformie Docker, wpisz następujące polecenie, a następnie naciśnij Enter.
docker container ls -a - Sprawdź, czy
acajest wyświetlany w kategorii NAZWY .
- Otwórz przeglądarkę i przejdź do portalu ACA, aby sprawdzić, czy obraz platformy Docker działa. W przypadku weryfikacji lokalnej użyj adresu IP hosta lokalnego 127.0.0.1.
Uwaga:- Jeśli uruchamiasz weryfikację lokalną, przejdź do https://127.0.0.1:8443/HIRS_AttestationCAPortal/
.
- Przejście witryny portalu w tryb online może potrwać kilka minut.
- Gdy witryna portalu przejdzie do trybu online, może zostać wyświetlony komunikat "Twoje połączenie nie jest prywatne". Jest to oczekiwane zachowanie podczas przeprowadzania weryfikacji lokalnej.
- Jeśli uruchamiasz weryfikację lokalną, przejdź do https://127.0.0.1:8443/HIRS_AttestationCAPortal/
Zbieraj certyfikaty
- Zbierz certyfikat atrybutu platformy SCV. Funkcja SCV (on Device) przechowuje certyfikat na partycji UEFI dysku twardego.
- Wyszukaj wiersz polecenia, kliknij go prawym przyciskiem myszy, a następnie wybierz polecenie Uruchom jako administrator.
- Wpisz następujące polecenie, a następnie naciśnij Enter.
mountvol o: /S - Wpisz następujące polecenie, a następnie naciśnij Enter.
copy o:\EFI\tcg\cert\platform\*.cer c:\dell\platcert}Uwaga: W przypadku zakupu usługi SCV (w chmurze) certyfikat znajduje się w narzędziu Dell Trusted Device i nie jest dostępny lokalnie do weryfikacji za pomocą HIRS ACA.
- Zbierz certyfikat podpisywania pośredniego urzędu certyfikacji firmy Dell.
- Fabrycznie certyfikat atrybutu i certyfikat podpisywania są łączone w ramach certyfikatu platformy SCV i muszą zostać oddzielone przed przesłaniem do portalu HIRS ACA. Uruchom następujące polecenie z programu PowerShell, a następnie naciśnij Enter.
PowerShell :> $i=0; Get-Content c:\dell\platcert\*.cer -ReadCount 3 | %{$i++; $_ | Out-File out_$i.crt} - Zbierz nazwy plików
out_1.crtiout _2.crt.
- Fabrycznie certyfikat atrybutu i certyfikat podpisywania są łączone w ramach certyfikatu platformy SCV i muszą zostać oddzielone przed przesłaniem do portalu HIRS ACA. Uruchom następujące polecenie z programu PowerShell, a następnie naciśnij Enter.
- Zbierz certyfikat główny podpisujący instytucję certyfikującą, przechodząc do sekcji Obsługa zaufanych urządzeń | Sterowniki i pliki do pobrania oraz pobieranie walidatora bezpiecznych komponentów.
- Zbierz główne i pośrednie certyfikaty podpisywania modułu TPM dla modeli TPM w środowisku z następujących źródeł:
- 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.pdfUwaga: Administrator może nie mieć rekordów modeli modułu TPM używanych w danym środowisku. W takiej sytuacji administrator może pobrać wszystkie certyfikaty podpisywania głównego i pośredniego modułu TPM w dostarczonych dokumentach dla STMicro i Nuvoton.
- STMicro: https://www.st.com/resource/en/technical_note/tn1330-st-trusted-platform-module-tpm-endorsement-key-ek-certificates-stmicroelectronics.pdf
Przesyłanie certyfikatów do portalu ACA
- Załaduj certyfikat atrybutu platformy Dell SCV (
c:\dell\platcert\out_1.crt) do portalu ACA, klikając znak + na karcie Certyfikaty platformy .
Uwaga: Jeśli uruchamiasz weryfikację lokalną, przejdź do https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/platform-credentials.
- Załaduj certyfikat podpisywania Dell Factory Intermediate CA (
c:\dell\platcert\out_2.crt), certyfikat główny podpisywania CA (PROD-CSG-SCV-Root.cer) i certyfikaty podpisywania głównego modułu TPM, klikając znak + obok pozycji Certyfikaty urzędu certyfikacji łańcucha zaufania na karcie Zarządzanie łańcuchem zaufania .
Uwaga: Jeśli uruchamiasz weryfikację lokalną, przejdź do https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/trust-chain.
Ustawianie zasad ACA
- Przejdź do karty Zasady .
- Kliknij ikonę ołówka i ustaw następujące ustawienia na Włączone:
- Walidacja poświadczeń adnotacyjnych
- Weryfikacja poświadczeń platformy
- Walidacja poświadczeń atrybutu platformy
Uwaga: Jeśli uruchamiasz weryfikację lokalną, przejdź do https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/policy.
Pobierz i zainstaluj aprowizator HIRS
Ten krok należy wykonać dla każdego systemu zawierającego certyfikat.
- Pobierz i zainstaluj najnowszą wersję aprowizora z wersji
dostawcy HIRS.
- W Eksploratorze Windows przejdź do
c:\Program Files(x86)\HIRS_Provisioner.NET\plugins\scripts\windows. - Kliknij prawym przyciskiem myszy
allcomponents.ps1i wybierz Edytuj w Notatniku, a następnie skomentuj wiersz 15, dodając#symbol przed linią.Uwaga: Na przykład:#$NVME_SCRIPT="$APP_HOME/nvme.ps1" # For NVMe. - Oznacz jako komentarz wiersz 30, dodając
#symbol przed linią.Uwaga: Na przykład:#. $NVME_SCRIPT. - Wymień wszystkie "
### Gather HDD details" (wiersze 669-744) z poniższym tekstem:### 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(",") }
Uruchamianie programu inicjującego
Kliknij prawym przyciskiem myszy pozycję Inicjator i wybierz opcję Uruchom jako administrator w systemach zawierających certyfikat.
c:\Program Files(x86)\HIRS_Provisioner.NET\tpm_aca_provision.exe.
Sprawdź wyniki
Sprawdź stronę portalu ACA Validation Reports , aby uzyskać wynik pozytywny.