Så här validerar du certifikat för säker komponentverifiering (på enheten)
Summary: Lär dig hur du validerar integriteten för en enhet med hjälp av plattformscertifikatet och en verifieringsplattform för säker komponentverifiering på enheten.
Instructions
Integriteten och äktheten hos en Dell-dator kan valideras med hjälp av plattformens certifikat- och verifieringsplattform. Detta kan åstadkommas när Secured Component Verification (på enheten) beställs med en enhet. USA:s försvarsdepartement (DoD) utvecklade verifieringsplattformen. Verifieringsplattformen är känd som HIRS-verktyget (Host Integrity at Runtime and Start-up). HIRS-verktyget består av två komponenter, ACA-portalen (Attestation Certificate Authority) och HIRS-etableraren. Följande måste konfigureras för att HIRS-etableraren ska kunna verifiera resultaten:
- HIRES-verktyg
- Slutpunktsenhet som kör Windows 10 eller Windows 11
- Konfigurerad HIRS-etablering
- ACA-portalen
- Signerings- och plattformscertifikat som laddats upp till ACA
- Policy som anges i ACA för att specificera vilka delar av enheten och certifikatet som ska valideras
För att verifiera enhetens integritet måste du installera HIRS ACA-portalen, samla in certifikat, ladda upp certifikat till ACA-portalen, ange ACA-principen, ladda ned och installera HIRS Provisioner, köra Provisioner och sedan verifiera resultaten.
Installera HIRS ACA-portalen
Om du installerar HIRS ACA-portalen på systemet som testas innebär det att du kör attesteringen lokalt. Den här metoden är förmodligen den enklaste distributionsmodellen men inte den säkraste. Om du vill ha en säkrare metod installerar du HIRS ACA-portalen på en fjärrenhet eller server.
- Ladda ned och installera Docker Desktop på systemet som testas eller på servern.
Obs! Att köra ACA-verifieraren på systemet som testas kallas lokal verifiering och är en annan hotmodell än att köra ACA på en nätverksserver.
- Sök efter Windows PowerShell, högerklicka på den, välj Kör som administratör, skriv följande kommando och tryck sedan på Retur.
docker pull ghcr.io/nsacyber/hirs/aca:616fc06 - I Docker bekräftar du att HIRS ACA-avbildningen har skapats genom att skriva följande kommando och sedan trycka på Retur.
docker images
- Kontrollera lagringsplatsen i PowerShell genom att kontrollera under REPOSITORY för
repository gchr.io/nsacyber/hirs/aca.
- I PowerShell skriver du följande kommando och trycker sedan på Retur.
docker run --name=aca -p 8443:8443 ghcr.io/nsacyber/hirs/aca:616fc06 - Bekräfta att serveravbildningen körs i containern i Docker genom att skriva följande kommando och sedan trycka på Retur.
docker container ls -a - Kontrollera att
acavisas under kategorin NAMN .
- Öppna en webbläsare och gå till ACA-portalen för att kontrollera att Docker-avbildningen fungerar. Om du kör lokal verifiering använder du den lokala värdens IP-adress 127.0.0.1.
Obs!- Om du kör lokal verifiering går du till https://127.0.0.1:8443/HIRS_AttestationCAPortal/
.
- Det kan ta några minuter innan portalwebbplatsen är online.
- När portalwebbplatsen är online kan du få meddelandet "Din anslutning är inte privat". Det här beteendet är förväntat när du kör lokal verifiering.
- Om du kör lokal verifiering går du till https://127.0.0.1:8443/HIRS_AttestationCAPortal/
Samla certifikat
- Samla in attributcertifikatet för SCV-plattformen. SCV (på enhet) lagrar certifikatet på UEFI-partitionen på hårddisken.
- Sök efter Kommandotolken, högerklicka på den och välj sedan Kör som administratör.
- Skriv följande kommando och tryck sedan på Retur.
mountvol o: /S - Skriv följande kommando och tryck sedan på Retur.
copy o:\EFI\tcg\cert\platform\*.cer c:\dell\platcert}Obs! Om SCV (i molnet) köps finns certifikatet i Dell Trusted Device och är inte tillgängligt lokalt för verifiering med HIRS ACA.
- Samla in Dells mellanliggande CA-signeringscertifikat.
- Från fabriken sammanfogas attributcertifikatet och signeringscertifikatet i SCV-plattformscertifikatet och måste separeras innan det kan laddas upp till HIRS ACA-portalen. Kör följande kommando från PowerShell och tryck sedan på Retur.
PowerShell :> $i=0; Get-Content c:\dell\platcert\*.cer -ReadCount 3 | %{$i++; $_ | Out-File out_$i.crt} - Samla in filnamnen
out_1.crtochout _2.crt.
- Från fabriken sammanfogas attributcertifikatet och signeringscertifikatet i SCV-plattformscertifikatet och måste separeras innan det kan laddas upp till HIRS ACA-portalen. Kör följande kommando från PowerShell och tryck sedan på Retur.
- Samla in rotcertifikatet för signering av certifikatutfärdaren genom att gå till Support för betrodd enhet | Drivrutiner och nedladdningar och nedladdning av Secure Component Validator.
- Samla TPM-rotcertifikat och mellanliggande signeringscertifikat för TPM-modellerna i din miljö från följande källor:
- 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.pdfObs! En administratör kanske inte har poster för de TPM-modeller som används i miljön. Om detta inträffar kan en administratör ladda ner alla TPM-rotcertifikat och mellanliggande signeringscertifikat i de tillhandahållna dokumenten för STMicro och Nuvoton.
- STMicro: https://www.st.com/resource/en/technical_note/tn1330-st-trusted-platform-module-tpm-endorsement-key-ek-certificates-stmicroelectronics.pdf
Ladda upp certifikat till ACA-portalen
- Läs in Dell SCV-plattformsattributcertifikat (
c:\dell\platcert\out_1.crt) till ACA-portalen genom att klicka på + -tecknet på fliken Plattformscertifikat .
Obs! Om du kör lokal verifiering går du till https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/platform-credentials.
- Läs in Dells mellanliggande CA-signeringscertifikat (
c:\dell\platcert\out_2.crt), rotcertifikat för signering av certifikatutfärdare (PROD-CSG-SCV-Root.cer) och TPM-rotsigneringscertifikat genom att klicka på + -tecknet bredvid Certifikatutfärdarcertifikat för förtroendekedja på fliken Hantering av förtroendekedja .
Obs! Om du kör lokal verifiering går du till https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/trust-chain.
Ställ in ACA-policyn
- Gå till fliken Policy .
- Klicka på pennikonen och ställ in följande på Aktiverad:
- Validering av autentiseringsuppgifter för godkännande
- Validering av plattformsautentiseringsuppgifter
- Validering av autentiseringsuppgifter för plattformsattribut
Obs! Om du kör lokal verifiering går du till https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/policy.
Ladda ned och installera HIRS Provisioner
Det här steget måste utföras på varje system som innehåller ett certifikat.
- Ladda ned och installera den senaste versionen av Provisioner från HIRS Provisioner Versions
.
- Från Utforskaren i Windows går du till
c:\Program Files(x86)\HIRS_Provisioner.NET\plugins\scripts\windows. - Högerklicka
allcomponents.ps1och välj Redigera i Anteckningar och kommentera sedan ut rad 15 genom att lägga till#symbolen framför linjen.Obs! Till exempel#$NVME_SCRIPT="$APP_HOME/nvme.ps1" # For NVMe. - Kommentera ut rad 30 genom att lägga till
#symbolen framför linjen.Obs! Till exempel#. $NVME_SCRIPT. - Byt ut alla av "
### Gather HDD details" (raderna 669-744) med texten nedan:### 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(",") }
Kör Provisioner
Högerklicka på Provisioner och välj Kör som administratör på de system som innehåller ett certifikat.
c:\Program Files(x86)\HIRS_Provisioner.NET\tpm_aca_provision.exe.
Verifiera resultat
Kontrollera ACA-portalsidan för valideringsrapporter för ett godkänt resultat.