Sådan valideres certifikater for sikker komponentbekræftelse (på enhed)
Summary: Få mere at vide om, hvordan du validerer en enheds integritet ved hjælp af platformscertifikatet og en verifikatorplatform til bekræftelse af sikre komponenter på enheden.
Instructions
Integriteten og ægtheden af en Dell-computer kan bekræftes ved hjælp af platformcertifikatet og verifikatorplatformen. Dette kan opnås, når Secured Component Verification (On Device) bestilles med en enhed. Det amerikanske forsvarsministerium (DoD) udviklede verifikatorplatformen. Verifier-platformen er kendt som værktøjet Host Integrity at Runtime and Start-up (HIRS). HIRS-værktøjet består af to komponenter, ACA-portalen (Attestation Certificate Authority) og HIRS-klargøringen. Følgende skal konfigureres, for at HIRS-klargøringen kan kontrollere resultaterne:
- HIRS-værktøj
- Slutpunktsenhed, der kører Windows 10 eller Windows 11
- HIRS-klargøring konfigureret
- ACA-portal
- Underskrivelses- og platformscertifikater, der uploades til ACA
- Politik, der er fastsat i ACA for at specificere, hvilke dele af udstyret og certifikatet der skal valideres
Validering af enhedens integritet kræver, at du installerer HIRS ACA-portalen, indsamler certifikater, uploader certifikater til ACA-portalen, angiver ACA-politikken, downloader og installerer HIRS Provisioner, kører Provisioner og derefter kontrollerer resultater.
Installer HIRS ACA-portalen
Installation af HIRS ACA-portalen på det system, der testes, betyder, at du kører attestationen lokalt. Denne metode er sandsynligvis den nemmeste implementeringsmodel, men ikke den mest sikre. Installer HIRS ACA-portalen på en ekstern enhed eller server for at få en mere sikker metode.
- Download og installer Docker Desktop på det system, der testes, eller serveren.
Bemærk: Kørsel af ACA-verifikatoren på det system, der testes, kaldes lokal verifikation og er en anden trusselsmodel end at køre ACA på en netværksserver.
- Søg efter Windows PowerShell, højreklik på den, vælg Kør som administrator, skriv følgende kommando, og tryk derefter på Enter.
docker pull ghcr.io/nsacyber/hirs/aca:616fc06 - For at bekræfte, at HIRS ACA-afbildningen er oprettet i Docker, skal du skrive følgende kommando og derefter trykke på Enter.
docker images
- Hvis du vil bekræfte lageret i PowerShell, skal du kontrollere under REPOSITORY for
repository gchr.io/nsacyber/hirs/aca.
- Skriv følgende kommando i PowerShell, og tryk derefter på Enter.
docker run --name=aca -p 8443:8443 ghcr.io/nsacyber/hirs/aca:616fc06 - For at bekræfte, at serverafbildningen kører i beholderen i Docker, skal du skrive følgende kommando og derefter trykke på Enter.
docker container ls -a - Kontroller, at
acavises under kategorien NAVNE .
- Åbn en browser, og gå til ACA-portalen for at kontrollere, at Docker-billedet fungerer. Hvis du kører lokal bekræftelse, skal du bruge den lokale værts-IP-adresse 127.0.0.1.
Bemærk:- Hvis du kører lokal bekræftelse, skal du gå til https://127.0.0.1:8443/HIRS_AttestationCAPortal/
.
- Det kan tage et par minutter, før portalwebstedet er online.
- Når portalwebstedet er online, modtager du muligvis meddelelsen "Din forbindelse er ikke privat". Dette er forventeligt, når du kører lokal bekræftelse.
- Hvis du kører lokal bekræftelse, skal du gå til https://127.0.0.1:8443/HIRS_AttestationCAPortal/
Indsaml certifikater
- Indsaml SCV-platformsattributcertifikatet. SCV (på enhed) gemmer certifikatet på harddiskens UEFI-partition.
- Søg efter kommandoprompt, højreklik på den, og vælg derefter Kør som administrator.
- Skriv følgende kommando, og tryk derefter på Enter.
mountvol o: /S - Skriv følgende kommando, og tryk derefter på Enter.
copy o:\EFI\tcg\cert\platform\*.cer c:\dell\platcert}Bemærk: Hvis der købes SCV (on Cloud), findes certifikatet i Dells pålidelige enhed og kan ikke bekræftes lokalt med HIRS ACA.
- Indsaml Dell Intermediate CA-signeringscertifikatet.
- Fra fabrikken sammenkædes attributcertifikatet og signeringscertifikatet i SCV-platformscertifikatet og skal adskilles, før de kan uploades til HIRS ACA-portalen. Kør følgende kommando fra PowerShell, og tryk derefter på Enter.
PowerShell :> $i=0; Get-Content c:\dell\platcert\*.cer -ReadCount 3 | %{$i++; $_ | Out-File out_$i.crt} - Indsaml filnavnene
out_1.crtogout _2.crt.
- Fra fabrikken sammenkædes attributcertifikatet og signeringscertifikatet i SCV-platformscertifikatet og skal adskilles, før de kan uploades til HIRS ACA-portalen. Kør følgende kommando fra PowerShell, og tryk derefter på Enter.
- Indsaml CA-signeringsrodcertifikatet ved at gå til Support for Trusted Device | Drivere og downloads samt download af Secure Component Validator.
- Indsaml TPM-rodcertifikater og mellemliggende signeringscertifikater for TPM-modellerne i dit miljø fra følgende kilder:
- 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.pdfBemærk: En administrator har muligvis ikke poster over de TPM-modeller, der bruges i miljøet. Hvis dette sker, kan en administrator downloade alle TPM-rodcertifikater og mellemliggende signeringscertifikater i de medfølgende dokumenter til STMicro og Nuvoton.
- STMicro: https://www.st.com/resource/en/technical_note/tn1330-st-trusted-platform-module-tpm-endorsement-key-ek-certificates-stmicroelectronics.pdf
Upload certifikater til ACA-portalen
- Indlæs Dell SCV Platform Attribut-certifikatet (
c:\dell\platcert\out_1.crt) på ACA-portalen ved at klikke på + -tegnet på fanen Platformscertifikater .
Bemærk: Hvis du kører lokal bekræftelse, skal du gå til https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/platform-credentials.
- Ilæg Dell Factory Intermediate CA-signeringscertifikatet (
c:\dell\platcert\out_2.crt), CA-signering af rodcertifikat (PROD-CSG-SCV-Root.cer) og TPM-rodsigneringscertifikater ved at klikke på tegnet + ud for Trust Chain CA-certifikater under fanen Administration af tillidskæde .
Bemærk: Hvis du kører lokal bekræftelse, skal du gå til https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/trust-chain.
Indstil ACA-politikken
- Gå til fanen Politik .
- Klik på blyantikonet, og indstil følgende til Aktiveret:
- Validering af godkendelsesakkreditering
- Validering af platformlegitimationsoplysninger
- Validering af legitimationsoplysninger til platformsattribut
Bemærk: Hvis du kører lokal bekræftelse, skal du gå til https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/policy.
Download og installer HIRS-klargøringsværktøjet
Dette trin skal udføres på hvert system, der indeholder et certifikat.
- Download og installer den nyeste version af Provisioner fra HIRS Provisioner Releases
.
- Fra Windows Stifinder skal du gå til
c:\Program Files(x86)\HIRS_Provisioner.NET\plugins\scripts\windows. - Højreklik
allcomponents.ps1og vælg Rediger i Notesblok, og kommenter derefter linje 15 ved at tilføje#symbol foran linjen.Bemærk: F.eks.#$NVME_SCRIPT="$APP_HOME/nvme.ps1" # For NVMe. - Kommenter linje 30 ved at tilføje
#symbol foran linjen.Bemærk: F.eks.#. $NVME_SCRIPT. - Udskift alle "
### Gather HDD details" (linje 669-744) med nedenstående tekst:### 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 klargøring
Højreklik på Provisioner, og vælg Kør som administrator på de systemer, der indeholder et certifikat.
c:\Program Files(x86)\HIRS_Provisioner.NET\tpm_aca_provision.exe.
Bekræft resultater
Se siden for ACA-portalen for valideringsrapporter for at få et resultat, der passerer.