Як перевірити сертифікати Secured Component Verification (на пристрої)
Summary: Дізнайтеся, як перевірити цілісність пристрою за допомогою сертифіката платформи та платформи верифікатора для перевірки захищених компонентів на пристрої.
Instructions
Цілісність і автентичність комп'ютера Dell можна перевірити за допомогою сертифіката платформи та платформи верифікатора. Це можна зробити, якщо за допомогою пристрою замовлено перевірку захищених компонентів (на пристрої). Міністерство оборони Сполучених Штатів Америки (DoD) розробило платформу верифікатора. Платформа верифікатора відома як інструмент Host Integrity at Runtime and Start-up (HIRS). Інструмент HIRS складається з двох компонентів: порталу Центру сертифікації сертифікатів (ACA) та інструмента надання HIRS. Для перевірки результатів постачальником HIRS має бути налаштовано наступне:
- Інструмент HIRS
- Кінцевий пристрій під керуванням Windows 10 або Windows 11
- Налаштовано ініціатор HIRS
- Портал ACA
- Сертифікати підпису та платформи, завантажені в ACA
- Політика, встановлена в ACA, щоб визначити, які частини пристрою та сертифікат мають бути перевірені
Перевірка цілісності пристрою вимагає, щоб ви встановили портал HIRS ACA, збирали сертифікати, завантажували сертифікати на портал ACA, налаштовували політику ACA, завантажували та інсталювали інструмент HIRS, запускали Provisioner, а потім перевіряли результати.
Встановіть портал HIRS ACA
Встановлення порталу HIRS ACA на систему, що тестується, означає, що ви проводите атестацію локально. Цей метод, ймовірно, найпростіша модель розгортання, але не найбезпечніша. Для більш безпечного методу встановіть портал HIRS ACA на віддалений пристрій або сервер.
- Завантажте та встановіть Docker Desktop на тестовану систему або сервер.
Примітка: Запуск верифікатора ACA в тестованій системі відомий як локальна перевірка та є іншою моделлю загрози, ніж запуск ACA на мережевому сервері.
- Знайдіть оболонку Windows PowerShell, клацніть її правою кнопкою миші, виберіть Запуск від імені адміністратора, введіть наведену нижче команду, а потім натисніть Enter.
docker pull ghcr.io/nsacyber/hirs/aca:616fc06 - У Docker, щоб підтвердити, що образ HIRS ACA було створено, введіть наведену нижче команду та натисніть Enter.
docker images
- У PowerShell, щоб перевірити репозиторій, перевірте в розділі РЕПОЗИТОРІЙ наявність
repository gchr.io/nsacyber/hirs/aca.
- У PowerShell введіть наведену нижче команду та натисніть клавішу Enter.
docker run --name=aca -p 8443:8443 ghcr.io/nsacyber/hirs/aca:616fc06 - У Docker, щоб переконатися, що образ сервера запущено в контейнері, введіть наведену нижче команду та натисніть Enter.
docker container ls -a - Переконайтеся, що
acaвідображається в категорії ІМЕНА .
- Відкрийте браузер і перейдіть на портал ACA, щоб переконатися, що образ Docker функціонує. Якщо виконується локальна перевірка, використовуйте IP-адресу локального хоста 127.0.0.1.
Примітка:- Якщо ви використовуєте локальну верифікацію, перейдіть до розділу https://127.0.0.1:8443/HIRS_AttestationCAPortal/
.
- Для того, щоб сайт порталу запрацював, може знадобитися кілька хвилин.
- Після того, як сайт порталу з'явиться в мережі, ви можете отримати повідомлення "Ваше з'єднання не конфіденційне". Це очікувана поведінка під час запуску локальної перевірки.
- Якщо ви використовуєте локальну верифікацію, перейдіть до розділу https://127.0.0.1:8443/HIRS_AttestationCAPortal/
Збирайте сертифікати
- Зберіть сертифікат атрибута платформи SCV. SCV (на пристрої) зберігає сертифікат на розділі UEFI жорсткого диска.
- Знайдіть командний рядок, клацніть його правою кнопкою миші та виберіть Запуск від імені адміністратора.
- Введіть наведену нижче команду та натисніть клавішу Enter.
mountvol o: /S - Введіть наведену нижче команду та натисніть клавішу Enter.
copy o:\EFI\tcg\cert\platform\*.cer c:\dell\platcert}Примітка: Якщо придбано SCV (у хмарі), сертифікат зберігається на довіреному пристрої Dell і недоступний локально для перевірки в HIRS ACA.
- Зберіть сертифікат підписання Dell Intermediate CA.
- Із заводу сертифікат атрибутів і сертифікат підпису об'єднуються в сертифікат платформи SCV і повинні бути відокремлені, перш ніж його можна буде завантажити на портал HIRS ACA. Виконайте наведену нижче команду з PowerShell і натисніть Enter.
PowerShell :> $i=0; Get-Content c:\dell\platcert\*.cer -ReadCount 3 | %{$i++; $_ | Out-File out_$i.crt} - Зберіть назви файлів
out_1.crtіout _2.crt.
- Із заводу сертифікат атрибутів і сертифікат підпису об'єднуються в сертифікат платформи SCV і повинні бути відокремлені, перш ніж його можна буде завантажити на портал HIRS ACA. Виконайте наведену нижче команду з PowerShell і натисніть Enter.
- Отримайте кореневий сертифікат із підписом ЦС, перейшовши до розділу Підтримка довіреного пристрою | Drivers & Downloads та завантаження Secure Component Validator.
- Збирайте кореневі та проміжні сертифікати підпису TPM для моделей TPM у вашому середовищі з таких джерел:
- 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.pdfПримітка: Адміністратор може не мати записів про моделі модуля TPM, які використовуються в середовищі. У такому разі адміністратор може завантажити всі кореневі та проміжні сертифікати підпису TPM у наданих документах для STMicro та Nuvoton.
- STMicro: https://www.st.com/resource/en/technical_note/tn1330-st-trusted-platform-module-tpm-endorsement-key-ek-certificates-stmicroelectronics.pdf
Завантажте сертифікати на портал ACA
- Завантажте сертифікат атрибута платформи Dell SCV (
c:\dell\platcert\out_1.crt) на порталі ACA, натиснувши знак + на вкладці «Сертифікати платформи ».
Примітка: Якщо ви використовуєте локальну верифікацію, перейдіть на сторінку https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/platform-credentials.
- Завантажте сертифікат підписання Dell Factory Intermediate CA (
c:\dell\platcert\out_2.crt), кореневий сертифікат із підписом ЦС (PROD-CSG-SCV-Root.cer) і сертифікати кореневого підпису TPM, натиснувши знак + поруч із пунктом «Сертифікати ЦС Trust Chain » на вкладці «Керування ланцюгом довіри ».
Примітка: Якщо ви використовуєте локальну верифікацію, перейдіть на сторінку https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/trust-chain.
Встановіть політику ACA
- Перейдіть на вкладку Політика .
- Натисніть значок олівця та встановіть для параметра Увімкнено наступне:
- Перевірка облікових даних підтвердження
- Перевірка облікових даних платформи
- Перевірка облікових даних атрибута платформи
Примітка: Якщо ви використовуєте локальну верифікацію, перейдіть до розділу https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/policy.
Завантажте та встановіть HIRS Provisioner
Цей крок необхідно виконати на кожній системі, яка містить сертифікат.
- Завантажте та інсталюйте останню версію Provisioner із випусків
HIRS Provisioner.
- У Провіднику Windows перейдіть до розділу
c:\Program Files(x86)\HIRS_Provisioner.NET\plugins\scripts\windows. - Клацніть правою кнопкою миші
allcomponents.ps1і виберіть «Редагувати в Блокноті», а потім прокоментуйте рядок 15, додавши#символ перед лінією.Примітка: Наприклад#$NVME_SCRIPT="$APP_HOME/nvme.ps1" # For NVMe. - Прокоментуйте рядок 30, додавши
#символ перед лінією.Примітка: Наприклад#. $NVME_SCRIPT. - Замініть всі "
### Gather HDD details" (рядки 669-744) з таким текстом:### 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
Клацніть правою кнопкою миші Provisioner і виберіть Запуск від імені адміністратора в системах, які містять сертифікат.
c:\Program Files(x86)\HIRS_Provisioner.NET\tpm_aca_provision.exe.
Перевірте результати
Перевірте сторінку порталу Validation Reports ACA для отримання прохідного результату.