Certificaten voor verificatie van beveiligde onderdelen (op apparaat) valideren
Summary: Informatie over het valideren van de integriteit van een apparaat met behulp van het platformcertificaat en een verificatieplatform voor verificatie van beveiligde onderdelen op een apparaat. ...
Instructions
De integriteit en echtheid van een Dell computer kunnen worden gevalideerd met behulp van het platformcertificaat- en verificatieplatform. Dit kan worden bereikt wanneer Secured Component Verification (op apparaat) is besteld bij een apparaat. Het Amerikaanse ministerie van Defensie (DoD) heeft het verificatieplatform ontwikkeld. Het verificatieplatform staat bekend als de HIRS-tool (Host Integrity at Runtime and Start-up). De HIRS-tool bestaat uit twee onderdelen: de Attestation Certificate Authority (ACA)-portal en de HIRS-provisioner. Het volgende moet worden ingesteld voor de HIRS-provisioner om de resultaten te verifiëren:
- HIRS tool
- Eindpuntapparaat met Windows 10 of Windows 11
- HIRS provisioner geconfigureerd
- ACA-portaal
- Ondertekenings- en platformcertificaten geüpload naar de ACA
- Beleid dat binnen de ACA is ingesteld om te specificeren welke onderdelen van het apparaat en certificaat moeten worden gevalideerd
Het valideren van de integriteit van het apparaat vereist dat u de HIRS ACA-portal installeert, certificaten verzamelt, certificaten uploadt naar de ACA-portal, het ACA-beleid instelt, de HIRS Provisioner downloadt en installeert, Provisioner uitvoert en vervolgens de resultaten verifieert.
De HIRS ACA-portal installeren
Het installeren van de HIRS ACA-portal op het systeem dat wordt getest, betekent dat u de attestatie lokaal uitvoert. Deze methode is waarschijnlijk het gemakkelijkste implementatiemodel, maar niet het veiligste. Voor een veiligere methode installeert u de HIRS ACA-portal op een extern apparaat of server.
- Download en installeer Docker Desktop op het systeem dat wordt getest of op de server.
Opmerking: Het uitvoeren van de ACA-verifier op het te testen systeem staat bekend als lokale verificatie en is een ander bedreigingsmodel dan het uitvoeren van de ACA op een netwerkserver.
- Zoek naar Windows PowerShell, klik er met de rechtermuisknop op, selecteer Als administrator uitvoeren, typ de volgende opdracht en druk op Enter.
docker pull ghcr.io/nsacyber/hirs/aca:616fc06 - Als u in Docker wilt controleren of de HIRS ACA-image is gemaakt, typt u de volgende opdracht en drukt u op Enter.
docker images
- Als u in PowerShell de repository wilt controleren, controleert u onder REPOSITORY of
repository gchr.io/nsacyber/hirs/aca.
- Typ in PowerShell de volgende opdracht en druk vervolgens op Enter.
docker run --name=aca -p 8443:8443 ghcr.io/nsacyber/hirs/aca:616fc06 - Als u in Docker wilt controleren of de serverimage in de container wordt uitgevoerd, typt u de volgende opdracht en drukt u op Enter.
docker container ls -a - Controleer dat
acawordt weergegeven onder de categorie NAMEN .
- Open een browser en ga naar de ACA-portal om te controleren of de Docker-image werkt. Als u lokale verificatie uitvoert, gebruikt u het IP-adres van de lokale host 127.0.0.1.
Opmerking:- Als u lokale verificatie uitvoert, gaat u naar https://127.0.0.1:8443/HIRS_AttestationCAPortal/
.
- Het kan enkele minuten duren voordat de portalsite online is.
- Zodra de portalsite online is, ontvangt u mogelijk het bericht 'Uw verbinding is niet privé'. Dit is normaal gedrag bij het uitvoeren van lokale verificatie.
- Als u lokale verificatie uitvoert, gaat u naar https://127.0.0.1:8443/HIRS_AttestationCAPortal/
Certificaten verzamelen
- Verzamel het SCV-platformkenmerkcertificaat. SCV (op apparaat) slaat het certificaat op de UEFI-partitie van de harde schijf op.
- Zoek naar de opdrachtprompt, klik er met de rechtermuisknop op en selecteer Als administrator uitvoeren.
- Typ de volgende opdracht en druk op Enter.
mountvol o: /S - Typ de volgende opdracht en druk op Enter.
copy o:\EFI\tcg\cert\platform\*.cer c:\dell\platcert}Opmerking: Als SCV (on Cloud) is gekocht, bevindt het certificaat zich op Dell Trusted Device en is het niet lokaal beschikbaar voor verificatie bij de HIRS ACA.
- Haal het Dell Intermediate CA-ondertekeningscertificaat op.
- In de fabriek worden het kenmerkcertificaat en het ondertekeningscertificaat samengevoegd in het SCV-platformcertificaat en moeten ze worden gescheiden voordat het kan worden geüpload naar de HIRS ACA-portal. Voer de volgende opdracht uit vanuit PowerShell en druk vervolgens op Enter.
PowerShell :> $i=0; Get-Content c:\dell\platcert\*.cer -ReadCount 3 | %{$i++; $_ | Out-File out_$i.crt} - Verzamel de bestandsnamen
out_1.crtalsout _2.crt.
- In de fabriek worden het kenmerkcertificaat en het ondertekeningscertificaat samengevoegd in het SCV-platformcertificaat en moeten ze worden gescheiden voordat het kan worden geüpload naar de HIRS ACA-portal. Voer de volgende opdracht uit vanuit PowerShell en druk vervolgens op Enter.
- Verzamel het basiscertificaat voor CA-ondertekening door naar Support for Trusted Device | Drivers en downloads en het downloaden van de Secure Component Validator.
- Verzamel de TPM-basis- en tussenliggende ondertekeningscertificaten voor de TPM-modellen in uw omgeving uit de volgende bronnen:
- 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.pdfOpmerking: Een beheerder heeft mogelijk geen records van de TPM-modellen die in de omgeving worden gebruikt. Als dit gebeurt, kan een beheerder alle TPM-root- en intermediate signing-certificaten downloaden in de verstrekte documenten voor STMicro en Nuvoton.
- STMicro: https://www.st.com/resource/en/technical_note/tn1330-st-trusted-platform-module-tpm-endorsement-key-ek-certificates-stmicroelectronics.pdf
Certificaten uploaden naar de ACA-portal
- Laad het Dell SCV Platform Attribute Certificate (
c:\dell\platcert\out_1.crt) in de ACA-portal door op het + -teken te klikken op het tabblad Platform Certificates .
Opmerking: Als u lokale verificatie uitvoert, gaat u naar https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/platform-credentials.
- Laad het Dell Factory Intermediate CA-ondertekeningscertificaat (
c:\dell\platcert\out_2.crt), CA-ondertekening van basiscertificaat (PROD-CSG-SCV-Root.cer) en TPM-basisondertekeningscertificaten door te klikken op het + -teken naast Trust Chain CA-certificaten op het tabblad Trust Chain Management .
Opmerking: Als u lokale verificatie uitvoert, gaat u naar https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/trust-chain.
Het ACA-beleid instellen
- Ga naar het tabblad Beleid .
- Klik op het potloodpictogram en stel het volgende in op Ingeschakeld:
- Validatie van goedkeuringsreferenties
- Validatie van platformreferenties
- Validatie van referenties voor platformkenmerken
Opmerking: Als u lokale verificatie uitvoert, gaat u naar https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/policy.
De HIRS Provisioner downloaden en installeren
Deze stap moet worden uitgevoerd op elk systeem dat een certificaat bevat.
- Download en installeer de nieuwste versie van Provisioner van HIRS Provisioner releases
.
- Ga in Windows Verkenner naar
c:\Program Files(x86)\HIRS_Provisioner.NET\plugins\scripts\windows. - Klik met de rechtermuisknop
allcomponents.ps1en selecteer Bewerken in Kladblok en geef vervolgens commentaar op regel 15 door de#symbool voor de streep.Opmerking: Bijvoorbeeld,#$NVME_SCRIPT="$APP_HOME/nvme.ps1" # For NVMe. - Reageer op regel 30 door de
#symbool voor de streep.Opmerking: Bijvoorbeeld,#. $NVME_SCRIPT. - Alles vervangen van "
### Gather HDD details" (regels 669-744) met de onderstaande 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(",") }
Provisioner uitvoeren
Klik met de rechtermuisknop op Provisioner en selecteer Als administrator uitvoeren op de systemen die een certificaat bevatten.
c:\Program Files(x86)\HIRS_Provisioner.NET\tpm_aca_provision.exe.
Resultaten verifiëren
Kijk op de ACA-portaalpagina voor validatierapporten voor een slagingsresultaat.