Jak ověřit certifikáty Secure Component Verification (na zařízení)
Summary: Zjistěte, jak ověřit integritu zařízení pomocí certifikátu platformy a platformy ověřovače pro ověřování zabezpečených komponent v zařízení.
Instructions
Integritu a pravost počítače Dell lze ověřit pomocí certifikátu platformy a platformy verifikátoru. To lze provést, když je se zařízením objednáno ověření zabezpečených komponent (na zařízení). Ministerstvo obrany Spojených států amerických (DoD) vyvinulo platformu verifikátoru. Platforma ověřovače je známá jako nástroj HIRS (Host Integrity at Runtime and Start-up). Nástroj HIRS se skládá ze dvou komponent, portálu Attestation Certificate Authority (ACA) a zřizovače HIRS. Aby zřizovatel HIRS ověřil výsledky, musí být nastaveno následující:
- Nástroj HIRS
- Zařízení koncového bodu se systémem Windows 10 nebo Windows 11
- Nakonfigurovaný zřizovatel HIRS
- Portál ACA
- Podepisování a certifikáty platformy nahrané do ACA
- Zásady nastavené v rámci ACA, které určují, které části zařízení a certifikátu mají být ověřeny
Ověření integrity zařízení vyžaduje, abyste nainstalovali portál HIRS ACA, shromáždili certifikáty, nahráli certifikáty na portál ACA, nastavili zásady ACA, stáhli a nainstalovali zřizovatel HIRS, spustili zřizovatel a pak ověřili výsledky.
Instalace portálu HIRS ACA
Instalace portálu HIRS ACA do testovaného systému znamená, že atestaci spouštíte místně. Tato metoda je pravděpodobně nejjednodušším modelem nasazení, ale není nejbezpečnější. Pokud chcete získat bezpečnější metodu, nainstalujte portál HIRS ACA na vzdálené zařízení nebo server.
- Stáhněte a nainstalujte Docker Desktop do testovaného systému nebo na server.
Poznámka: Spuštění ověřovače ACA v testovaném systému se označuje jako místní ověření a jedná se o jiný model hrozeb než spuštění ověřovače ACA na síťovém serveru.
- Vyhledejte Windows PowerShell, klikněte na něj pravým tlačítkem, vyberte možnost Spustit jako správce, zadejte následující příkaz a stiskněte klávesu Enter.
docker pull ghcr.io/nsacyber/hirs/aca:616fc06 - V Dockeru potvrďte, že se vytvořila image HIRS ACA, zadáním následujícího příkazu a stisknutím klávesy Enter.
docker images
- Chcete-li v prostředí PowerShell ověřit úložiště, vyhledejte v části REPOSITORY
repository gchr.io/nsacyber/hirs/aca.
- V prostředí PowerShell zadejte následující příkaz a stiskněte Enter.
docker run --name=aca -p 8443:8443 ghcr.io/nsacyber/hirs/aca:616fc06 - Pokud chcete v Dockeru ověřit, že je bitová kopie serveru spuštěná v kontejneru, zadejte následující příkaz a stiskněte Enter.
docker container ls -a - Ověřte, že
acase zobrazuje v kategorii NAMES .
- Otevřete prohlížeč, přejděte na portál ACA a ověřte, jestli image Dockeru funguje. Pokud spouštíte místní ověření, použijte IP adresu místního hostitele 127.0.0.1.
Poznámka:- Pokud spouštíte místní ověření, přejděte na https://127.0.0.1:8443/HIRS_AttestationCAPortal/
.
- Přepnutí portálu do režimu online může trvat několik minut.
- Jakmile je portál online, může se zobrazit zpráva "Vaše připojení není soukromé". Jedná se o očekávané chování při spuštění místního ověřování.
- Pokud spouštíte místní ověření, přejděte na https://127.0.0.1:8443/HIRS_AttestationCAPortal/
Sbírejte certifikáty
- Shromážděte certifikát atributu platformy SCV. SCV (on Device) ukládá certifikát do oddílu UEFI na pevném disku.
- Vyhledejte Příkazový řádek, klikněte na něj pravým tlačítkem a vyberte možnost Spustit jako správce.
- Zadejte následující příkaz a stiskněte klávesu Enter.
mountvol o: /S - Zadejte následující příkaz a stiskněte klávesu Enter.
copy o:\EFI\tcg\cert\platform\*.cer c:\dell\platcert}Poznámka: V případě zakoupení SCV (v cloudu) se certifikát nachází v nástroji Dell Trusted Device a není místně dostupný pro ověření pomocí HIRS ACA.
- Shromážděte podpisový certifikát certifikační autority Dell Intermediate CA.
- Certifikát atributů a podpisový certifikát jsou ve výrobě zřetězeny v rámci certifikátu platformy SCV a před odesláním na portál HIRS ACA je nutné je oddělit. Spusťte následující příkaz z prostředí PowerShell a stiskněte klávesu Enter.
PowerShell :> $i=0; Get-Content c:\dell\platcert\*.cer -ReadCount 3 | %{$i++; $_ | Out-File out_$i.crt} - Shromážděte názvy souborů
out_1.crtaout _2.crt.
- Certifikát atributů a podpisový certifikát jsou ve výrobě zřetězeny v rámci certifikátu platformy SCV a před odesláním na portál HIRS ACA je nutné je oddělit. Spusťte následující příkaz z prostředí PowerShell a stiskněte klávesu Enter.
- Shromážděte podpisový kořenový certifikát certifikační autority v nabídce Podpora pro důvěryhodné zařízení | Ovladače a soubory ke stažení a stažení nástroje Secure Component Validator.
- Shromážděte kořenové a zprostředkující podpisové certifikáty čipu TPM pro modely TPM ve vašem prostředí z následujících zdrojů:
- STMicro: https://www.st.com/resource/en/technical_note/tn1330-st-trusted-platform-module-tpm-endorsement-key-ek-certificates-stmicroelectronics.pdf
- Název: https://www.nuvoton.com/export/sites/nuvoton/files/security/Nuvoton_TPM_EK_Certificate_Chain.pdfPoznámka: Správce nemusí mít záznamy o modelech TPM používaných v prostředí. Pokud k tomu dojde, správce může stáhnout všechny kořenové a zprostředkující podpisové certifikáty TPM uvedené v poskytnutých dokumentech pro STMicro a Nuvoton.
- STMicro: https://www.st.com/resource/en/technical_note/tn1330-st-trusted-platform-module-tpm-endorsement-key-ek-certificates-stmicroelectronics.pdf
Nahrání certifikátů na portál ACA
- Načtěte certifikát atributu platformy Dell SCV (
c:\dell\platcert\out_1.crt) na portál ACA kliknutím na znaménko + na kartě Certifikáty platformy .
Poznámka: Pokud spouštíte místní ověření, přejděte na https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/platform-credentials.
- Načtěte podpisový certifikát certifikační autority Dell Factory Intermediate (
c:\dell\platcert\out_2.crt), podpisový kořenový certifikát CA (PROD-CSG-SCV-Root.cer) a kořenové podpisové certifikáty TPM kliknutím na znaménko + vedle položky Certifikáty certifikační autority řetězce důvěryhodných certifikátů na kartě Správa řetězců důvěryhodnosti .
Poznámka: Pokud spouštíte místní ověření, přejděte na https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/trust-chain.
Nastavení zásad ACA
- Přejděte na kartu Policy .
- Klikněte na ikonu tužky a nastavte následující možnosti na Povoleno:
- Ověření přihlašovacích údajů potvrzení
- Ověření přihlašovacích údajů platformy
- Ověření přihlašovacích údajů atributů platformy
Poznámka: Pokud spouštíte místní ověření, přejděte na https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/policy.
Stažení a instalace nástroje HIRS Provisioner
Tento krok je nutné provést na každém systému, který obsahuje certifikát.
- Stáhněte a nainstalujte nejnovější verzi zřizovacího nástroje z vydání
zřizovatele HIRS.
- V Průzkumníkovi Windows přejděte na
c:\Program Files(x86)\HIRS_Provisioner.NET\plugins\scripts\windows. - Pravým tlačítkem klikněte na soubor
allcomponents.ps1a vyberte Upravit v Poznámkovém bloku a poté okomentujte řádek 15 přidáním#symbol před čarou.Poznámka: Například#$NVME_SCRIPT="$APP_HOME/nvme.ps1" # For NVMe. - Zakomentujte řádek 30 přidáním
#symbol před čarou.Poznámka: Například#. $NVME_SCRIPT. - Nahraďte všechny "
### Gather HDD details" (řádky 669-744) s následujícím textem:### 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(",") }
Spuštění nástroje Provisioner
Pravým tlačítkem klikněte na možnost Provisioner a vyberte možnost Run as administrator v systémech, které obsahují certifikát.
c:\Program Files(x86)\HIRS_Provisioner.NET\tpm_aca_provision.exe.
Ověřte výsledky
Na stránce portálu ACA Validation Reports najdete úspěšný výsledek.