Slik validerer du sertifikater for sikret komponentverifisering (på enhet)
Summary: Finn ut hvordan du validerer integriteten til en enhet ved hjelp av plattformsertifikatet og en verifiseringsplattform for sikker komponentverifisering på enheten.
Instructions
Integriteten og autentisiteten til en Dell-datamaskin kan valideres ved hjelp av plattformsertifikatet og verifiseringsplattformen. Dette kan oppnås når Secured Component Verification (på enhet) bestilles med en enhet. Det amerikanske forsvarsdepartementet (DoD) utviklet verifikatorplattformen. Verifikatorplattformen er kjent som verktøyet Host Integrity at Runtime and Start-up (HIRS). HIRS-verktøyet består av to komponenter, portalen Attestation Certificate Authority (ACA) og HIRS-klargjøreren. Følgende må defineres for HIRS-klargjøreren for å bekrefte resultatene:
- HIRS-verktøy
- Endepunktenhet som kjører Windows 10 eller Windows 11
- HIRS provisioner konfigurert
- ACA-portal
- Signerings- og plattformsertifikater lastet opp til ACA
- Retningslinjer angitt i ACA for å spesifisere hvilke deler av enheten og sertifikatet som skal valideres
Validering av enhetens integritet krever at du installerer HIRS ACA-portalen, samler inn sertifikater, laster opp sertifikater til ACA-portalen, angir ACA-policyen, laster ned og installerer HIRS-klargjøreren, kjører klargjøreren og kontrollerer resultatene.
Installere HIRS ACA-portalen
Installasjon av HIRS ACA-portalen på systemet som testes, betyr at du kjører attesteringen lokalt. Denne metoden er sannsynligvis den enkleste distribusjonsmodellen, men ikke den sikreste. For en sikrere metode, installer HIRS ACA-portalen på en ekstern enhet eller server.
- Last ned og installer Docker Desktop på systemet som testes eller serveres.
Merk: Kjøring av ACA-verifikatoren på systemet som testes, kalles lokal verifisering og er en annen trusselmodell enn å kjøre ACA på en nettverksserver.
- Søk etter Windows PowerShell, høyreklikk på den, velg Kjør som administrator, skriv inn følgende kommando og trykk deretter Enter.
docker pull ghcr.io/nsacyber/hirs/aca:616fc06 - Hvis du vil bekrefte at HIRS ACA-avbildningen er opprettet i Docker, skriver du inn følgende kommando og trykker Enter.
docker images
- Hvis du vil kontrollere repositoriet i PowerShell, kontrollerer du under REPOSITORY for
repository gchr.io/nsacyber/hirs/aca.
- Skriv inn følgende kommando i PowerShell, og trykk deretter Enter.
docker run --name=aca -p 8443:8443 ghcr.io/nsacyber/hirs/aca:616fc06 - Hvis du vil bekrefte at serveravbildningen kjører i beholderen, skriver du inn følgende kommando i Docker, og trykker deretter på Enter.
docker container ls -a - Bekreft at
acavises under kategorien NAVN .
- Åpne en nettleser, og gå til ACA-portalen for å kontrollere at Docker-avbildningen fungerer. Hvis du kjører lokal bekreftelse, bruker du den lokale verts-IP-adressen 127.0.0.1.
Merk:- Hvis du kjører lokal bekreftelse, går du til https://127.0.0.1:8443/HIRS_AttestationCAPortal/
.
- Det kan ta noen minutter før portalområdet kobles til.
- Når portalområdet er tilkoblet, kan du få meldingen "Tilkoblingen din er ikke privat". Dette er forventet atferd når du kjører lokal bekreftelse.
- Hvis du kjører lokal bekreftelse, går du til https://127.0.0.1:8443/HIRS_AttestationCAPortal/
Samle inn sertifikater
- Samle inn sertifikatet for SCV-plattformattributtet. SCV (på enhet) lagrer sertifikatet på UEFI-partisjonen på harddisken.
- Søk etter Ledetekst, høyreklikk på ledeteksten, og velg deretter Kjør som administrator.
- Skriv inn følgende kommando, og trykk deretter Enter.
mountvol o: /S - Skriv inn følgende kommando, og trykk deretter Enter.
copy o:\EFI\tcg\cert\platform\*.cer c:\dell\platcert}Merk: Hvis SCV (i nettskyen) er kjøpt, er sertifikatet i klarert Dell-enhet og er ikke tilgjengelig lokalt for verifisering med HIRS ACA.
- Innhente Dell Intermediate CA-signeringssertifikatet.
- Fra fabrikken blir attributtsertifikatet og signeringssertifikatet sammenkoblet i SCV-plattformsertifikatet og må separeres før det kan lastes opp til HIRS ACA-portalen. Kjør følgende kommando fra PowerShell, og trykk deretter Enter.
PowerShell :> $i=0; Get-Content c:\dell\platcert\*.cer -ReadCount 3 | %{$i++; $_ | Out-File out_$i.crt} - Samle inn filnavnene
out_1.crtogout _2.crt.
- Fra fabrikken blir attributtsertifikatet og signeringssertifikatet sammenkoblet i SCV-plattformsertifikatet og må separeres før det kan lastes opp til HIRS ACA-portalen. Kjør følgende kommando fra PowerShell, og trykk deretter Enter.
- Samle inn rotsertifikatet for CA-signering ved å gå til Støtte for klarert enhet | Drivere og nedlastinger og nedlasting av Secure Component Validator.
- Samle inn TPM-rotsertifikater og midlertidige signeringssertifikater for TPM-modeller i miljøet ditt 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.pdfMerk: En administrator har kanskje ikke oppføringer over TPM-modellene som brukes i miljøet. Hvis dette skjer, kan en administrator laste ned alle TPM-rotsigneringssertifikater og mellomliggende signeringssertifikater i de medfølgende dokumentene for STMicro og Nuvoton.
- STMicro: https://www.st.com/resource/en/technical_note/tn1330-st-trusted-platform-module-tpm-endorsement-key-ek-certificates-stmicroelectronics.pdf
Last opp sertifikater til ACA-portalen
- Last inn sertifikatet for Dell SCV-plattformattributtet (
c:\dell\platcert\out_1.crt) i ACA-portalen ved å klikke på + -tegnet i kategorien Plattformsertifikater .
Merk: Hvis du kjører lokal bekreftelse, går du til https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/platform-credentials.
- Last inn Dell Factory Intermediate CA-signeringssertifikatet (
c:\dell\platcert\out_2.crt), CA-signering av rotsertifikat (PROD-CSG-SCV-Root.cer) og TPM-rotsigneringssertifikater ved å klikke på + -tegnet ved siden av CA-sertifikater i klarert kjede i kategorien Administrasjon av klareringskjede .
Merk: Hvis du kjører lokal bekreftelse, går du til https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/trust-chain.
Angi ACA-policyen
- Gå til fanen Policy .
- Klikk på blyantikonet og sett følgende til Aktivert:
- Validering av godkjenningslegitimasjon
- Validering av plattformlegitimasjon
- Validering av legitimasjon for plattformattributt
Merk: Hvis du kjører lokal bekreftelse, går du til https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/policy.
Laste ned og installere HIRS Provisioner
Dette trinnet må utføres på hvert system som inneholder et sertifikat.
- Last ned og installer den nyeste versjonen av Provisioner fra HIRS Provisioner Releases
.
- Fra Windows Utforsker går du til
c:\Program Files(x86)\HIRS_Provisioner.NET\plugins\scripts\windows. - Høyreklikk
allcomponents.ps1og velg Rediger i Notisblokk, og kommenter deretter linje 15 ved å legge til#symbolet foran linjen.Merk: For eksempel,#$NVME_SCRIPT="$APP_HOME/nvme.ps1" # For NVMe. - Kommentar ut linje 30 ved å legge til
#symbolet foran linjen.Merk: For eksempel,#. $NVME_SCRIPT. - Bytt ut alle "
### Gather HDD details" (linje 669-744) med teksten nedenfor:### 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(",") }
Kjør klargjøring
Høyreklikk Provisioner og velg Kjør som administrator på systemene som inneholder et sertifikat.
c:\Program Files(x86)\HIRS_Provisioner.NET\tpm_aca_provision.exe.
Bekreft resultatene
Sjekk siden Validation Reports ACA-portalen for et bestått resultat.