Secured Component Verification (on Device)証明書を検証する方法

Summary: デバイスでのセキュア コンポーネント検証のためにプラットフォーム証明書と検証ツール プラットフォームを使用して、デバイスの整合性を検証する方法について説明します。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

注:次の手順は、デル・テクノロジーズのサービスを使用する代わりに、お客様自身で検証を実行することのみを目的としています。デル・テクノロジーズのサービスを使用するには、 セキュア コンポーネント検証(クラウド上)のガイドを参照してください。

Dell製コンピューターの整合性と信頼性は、プラットフォーム証明書および検証ツール プラットフォームを使用して検証できます。これは、デバイスと一緒にSecured Component Verification (On Device)を注文した場合に実現できます。米国国防総省 (DoD) は、検証ツール プラットフォームを開発しました。検証プラットフォームは、Host Integrity at Runtime and Start-up (HIRS) ツールとして知られています。HIRS ツールは、構成証明機関 (ACA) ポータルと HIRS プロビジョナーの 2 つのコンポーネントで構成されています。HIRSプロビジョナーが結果を確認するには、次の設定を行う必要があります。

  • HIRS ツール
  • Windows 10またはWindows 11を実行しているエンドポイント デバイス
  • HIRSプロビジョナー構成済み
  • ACAポータル
  • ACAにアップロードされた署名証明書とプラットフォーム証明書
  • デバイスと証明書のどの部分を検証するかを指定するために ACA 内で設定されたポリシー

デバイスの整合性を検証するには、 HIRS ACA ポータルをインストールし証明書を収集しACA ポータルに証明書をアップロードしACA ポリシーを設定しHIRS Provisioner をダウンロードしてインストールし、 Provisioner を実行し結果を確認する必要があります。

HIRS ACAポータルのインストール

注:これには、Docker Desktop ライセンスと、インターネットまたはイントラネット接続を備えたテスト対象システムが必要です。Docker Desktop の詳細については、「 Docker Desktopこのハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。」を参照してください。

テスト対象システムに HIRS ACA ポータルをインストールするということは、構成証明をローカルで実行することを意味します。この方法は、おそらく最も簡単な導入モデルですが、最も安全ではありません。より安全な方法として、HIRS ACA ポータルをリモート デバイスまたはサーバーにインストールします。

  1. テスト対象またはサーバーにDocker Desktopをダウンロードしてインストールします。
    注:テスト対象のシステムで ACA 検証ツールを実行することは、ローカル検証と呼ばれ、ネットワーク サーバーでの ACA の実行とは異なる脅威モデルです。
  2. Windows PowerShellを検索して右クリックし、[ 管理者として実行]を選択し、次のコマンドを入力してEnterを押します。
    docker pull ghcr.io/nsacyber/hirs/aca:616fc06
  3. Dockerで、HIRS ACAイメージが作成されたことを確認するには、次のコマンドを入力してEnterを押します。 
    docker images
     画像の表示 
  4. PowerShellでリポジトリーを確認するには、 REPOSITORYrepository gchr.io/nsacyber/hirs/aca.
    REPOSITORYで確認中
  5. PowerShell で、次のコマンドを入力し、Enter キーを押します。 
    docker run --name=aca -p 8443:8443 ghcr.io/nsacyber/hirs/aca:616fc06
  6. Dockerで、サーバー イメージがコンテナー内で実行されていることを確認するには、次のコマンドを入力してEnterキーを押します。 
    docker container ls -a
  7. 次のことを確認します。 aca[名前 ] カテゴリの下に表示されます。
    NAMES結果の表示 
  8. ブラウザーを開き、ACA ポータルに移動して、Docker イメージが機能していることを確認します。ローカル検証を実行している場合は、ローカル ホストのIPアドレス127.0.0.1を使用します。
    HIRS Attestation CA ページへようこそ  
    注:
    • ローカル検証を実行している場合は、 https://127.0.0.1:8443/HIRS_AttestationCAPortal/このハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。に進みます。
    • ポータル サイトがオンラインになるまでに数分かかる場合があります。
    • ポータル サイトがオンラインになると、「接続はプライベートではありません」というメッセージが表示される場合があります。これは、ローカル検証を実行する際に想定される動作です。

証明書の収集

  1. SCVプラットフォーム属性証明書を収集します。SCV(デバイス上)は、ハード ドライブのUEFIパーティションに証明書を保存します。
    1. 「コマンド プロンプト」を検索して右クリックし、[ 管理者として実行]を選択します。
    2. 次のコマンドを入力し、Enterを押します。 
      mountvol o: /S
    3. 次のコマンドを入力し、Enterを押します。 
      copy o:\EFI\tcg\cert\platform\*.cer  c:\dell\platcert}
      注:SCV(クラウド上)を購入した場合、証明書はDell Trusted Deviceにあり、HIRS ACAによる検証のためにローカルで使用することはできません。
  2. Dell中間CA署名証明書を収集します。
    1. 工場出荷時に、属性証明書と署名証明書はSCVプラットフォーム証明書内で連結されており、HIRS ACAポータルにアップロードする前に分離する必要があります。PowerShellから次のコマンドを実行し、Enterを押します。 
      PowerShell :> $i=0; Get-Content c:\dell\platcert\*.cer   -ReadCount 3 | %{$i++; $_ | Out-File out_$i.crt}
    2. ファイル名を収集する out_1.crtout _2.crt.
  3. Trusted Deviceのサポート |Drivers & DownloadsおよびSecure Component Validatorのダウンロード。
  4. 次のソースから、環境内の TPM モデルの TPM ルート署名証明書および中間署名証明書を収集します。
    1. STMicro: https://www.st.com/resource/en/technical_note/tn1330-st-trusted-platform-module-tpm-endorsement-key-ek-certificates-stmicroelectronics.pdfこのハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。
    2. Nuvoton: https://www.nuvoton.com/export/sites/nuvoton/files/security/Nuvoton_TPM_EK_Certificate_Chain.pdfこのハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。
      注:システム管理者は、環境内で使用されているTPMモデルのレコードを保有していない可能性があります。この問題が発生した場合、管理者は、STMicroおよびNuvotonの提供ドキュメントに記載されているすべてのTPMルート署名証明書および中間署名証明書をダウンロードできます。

ACAポータルへの証明書のアップロード

  1. Dell SCVプラットフォーム属性証明書(c:\dell\platcert\out_1.crt)をACAポータルにダウンロードするには、[Platform Certificates]タブの+記号をクリックします。
    [Platform Certificates]ページ  
    注:ローカル検証を実行している場合は、 https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/platform-credentialsこのハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。に移動します。
  2. Dell工場出荷時中間CA署名証明書(c:\dell\platcert\out_2.crt)、CA 署名ルート証明書 (PROD-CSG-SCV-Root.cer)、TPMルート署名証明書を選択して、トラスト チェーン管理タブのトラスト チェーンCA証明書の横にある+記号をクリックします。
    [Trust Chain Management]ページ  
    注:ローカル検証を実行している場合は、 https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/certificate-request/trust-chainこのハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。に移動します。

ACAポリシーの設定

  1. [Policy]タブに移動します。
  2. 鉛筆アイコンをクリックして、以下を [Enabled]に設定します。
    • 承認認定資格の検証
    • プラットフォーム認証情報の検証
    • プラットフォーム属性認証情報の検証
    ポリシー ページ  
    注:ローカル検証を実行している場合は、 https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/policyこのハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。に移動します。

HIRS Provisioner のダウンロードとインストール

このステップは、証明書を含む各システムで実行する必要があります。

  1. HIRS Provisioner Releasesこのハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。から最新バージョンのProvisionerをダウンロードしてインストールします。
  2. Windowsエクスプローラーから、 c:\Program Files(x86)\HIRS_Provisioner.NET\plugins\scripts\windows.
  3. 右クリックして、 allcomponents.ps1 をクリックし、[ メモ帳で編集] を選択し、15 行目をコメントアウトします。 # 記号が行の前に表示されます。
    注:#$NVME_SCRIPT="$APP_HOME/nvme.ps1" # For NVMe.
  4. 30行目をコメントアウトするには、 # 記号が行の前に表示されます。
    注:#. $NVME_SCRIPT.
  5. すべての「### 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を右クリックし、証明書が含まれているシステムで Run as administratorを選択します。

注:Provisionerは、次の場所から入手できます。 c:\Program Files(x86)\HIRS_Provisioner.NET\tpm_aca_provision.exe.

結果の確認

合格結果については、 検証レポートACA ポータル ページを確認してください。
検証レポート 

注:ローカル検証を実行している場合は、 https://127.0.0.1:8443/HIRS_AttestationCAPortal/portal/validation-reportsこのハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。に移動します。

Affected Products

Dell Trusted Device
Article Properties
Article Number: 000293241
Article Type: How To
Last Modified: 24 Mar 2025
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.