インテルロゴ

Intel Agilex 7 デバイス セキュリティ

Intel Agilex 7 デバイス セキュリティ イメージ

製品情報

仕様

  • モデル番号: UG-20335
  • 発売日: 2023.05.23

製品使用説明書

1. 製品セキュリティへの取り組み

Intel は製品のセキュリティに注力しており、ユーザーには提供されている製品セキュリティ リソースをよく理解しておくことを推奨しています。これらのリソースは、Intel 製品の寿命全体にわたって活用する必要があります。

2. 計画されているセキュリティ機能

Intel Quartus Prime Pro Edition ソフトウェアの今後のリリースでは、次のセキュリティ機能が計画されています。

  • 部分的再構成ビットストリームのセキュリティ検証: 部分的再構成 (PR) ビットストリームが他の PR ペルソナ ビットストリームにアクセスしたり干渉したりできないという追加の保証を提供します。
  • 物理的なT細胞に対するデバイスの自己破壊amper: デバイス ワイプまたはデバイス ゼロ化応答を実行し、デバイスが再度構成されるのを防ぐために eFuse をプログラムします。

3. 利用可能なセキュリティドキュメント

次の表は、Intel FPGA および Structured ASIC デバイスのデバイス セキュリティ機能に関する利用可能なドキュメントを示しています。

文書名 目的
Intel FPGAおよび構造化ASICユーザー向けセキュリティ手法
ガイド
詳細な説明を提供するトップレベルのドキュメント
インテル プログラマブル ソリューションのセキュリティ機能とテクノロジー
製品。ユーザーが必要なセキュリティ機能を選択できるように支援します。
セキュリティ目標を達成します。
Intel Stratix 10 デバイス セキュリティ ユーザー ガイド Intel Stratix 10デバイスのユーザー向けの実装手順
セキュリティ方法論を使用して特定されたセキュリティ機能
ユーザーガイド。
Intel Agilex 7 デバイス セキュリティ ユーザー ガイド Intel Agilex 7デバイスのユーザー向けの実装手順
セキュリティ方法論を使用して特定されたセキュリティ機能
ユーザーガイド。
Intel eASIC N5X デバイス セキュリティ ユーザー ガイド Intel eASIC N5Xデバイスのユーザー向けの実装手順
セキュリティ方法論を使用して特定されたセキュリティ機能
ユーザーガイド。
Intel Agilex 7 および Intel eASIC N5X HPS 暗号化サービス
ユーザーガイド
HPSソフトウェアエンジニア向けの実装に関する情報
暗号化サービスにアクセスするためのHPSソフトウェアライブラリの使用
SDM によって提供されます。
AN-968 ブラック キー プロビジョニング サービス クイック スタート ガイド Black Key Provisioningを設定するための完全な手順
サービス。

よくある質問

Q: セキュリティ方法論ユーザーガイドの目的は何ですか?

A: セキュリティ方法論ユーザー ガイドには、Intel プログラマブル ソリューション製品のセキュリティ機能とテクノロジの詳細な説明が記載されています。このガイドは、ユーザーがセキュリティ目標を達成するために必要なセキュリティ機能を選択するのに役立ちます。

Q: Intel Agilex 7 デバイス セキュリティ ユーザー ガイドはどこにありますか?

A: Intel Agilex 7デバイスセキュリティユーザーガイドは、Intelリソース&デザインセンターでご覧いただけます。 webサイト。

Q: Black Key Provisioning サービスとは何ですか?

A: Black Key Provisioning サービスは、安全な操作のためにキーのプロビジョニングを設定するための完全な一連の手順を提供するサービスです。

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド
インテル® Quartus® Prime Design Suite 向けに更新: 23.1

オンライン版フィードバックを送信

UG-20335

683823 2023.05.23

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 2

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 3

683823 | 2023.05.23フィードバックを送信
1. インテル® Agilex® 7

デバイスのセキュリティ終了view

Intel® は、高度に構成可能な専用のセキュリティ ハードウェアとファームウェアを備えた Intel Agilex® 7 デバイスを設計しています。
このドキュメントには、Intel Quartus® Prime Pro Edition ソフトウェアを使用して Intel Agilex 7 デバイスにセキュリティ機能を実装するための手順が記載されています。
さらに、Intel FPGA および構造化 ASIC 向けセキュリティ手法のユーザーガイドは、Intel リソース & デザイン センターから入手できます。このドキュメントには、Intel プログラマブル ソリューション製品で利用できるセキュリティ機能とテクノロジの詳細な説明が記載されており、セキュリティ目標を満たすために必要なセキュリティ機能を選択するのに役立ちます。Intel FPGA および構造化 ASIC 向けセキュリティ手法のユーザーガイドにアクセスするには、参照番号 14014613136 で Intel サポートにお問い合わせください。
この文書は次のように構成されています: · 認証と承認: 作成手順を説明します
インテル Agilex 7 デバイスで、認証キーと署名チェーンの作成、権限と失効の適用、オブジェクトの署名、認証機能のプログラムを行う方法について説明します。 · AES ビットストリーム暗号化: AES ルートキーの作成、構成ビットストリームの暗号化、および AES ルートキーのインテル Agilex 7 デバイスへのプロビジョニングを行う手順を示します。 · デバイス プロビジョニング: インテル Quartus Prime プログラマーとセキュア デバイス マネージャー (SDM) プロビジョニング ファームウェアを使用して、インテル Agilex 7 デバイスのセキュリティ機能をプログラムする手順を示します。 · 高度な機能: セキュア デバッグ認証、ハード プロセッサー システム (HPS) デバッグ、リモート システム更新などの高度なセキュリティ機能を有効にする手順を示します。
1.1. 製品セキュリティへの取り組み
インテルのセキュリティに対する長期的な取り組みは、これまで以上に強力になっています。インテルでは、お客様がインテル製品のセキュリティ リソースに精通し、インテル製品の寿命全体にわたってそれらを活用することを強く推奨しています。
関連情報 · インテルの製品セキュリティ · インテル製品セキュリティ センター アドバイザリ

インテルコーポレーション。 全著作権所有。 Intel、Intelロゴ、およびその他のIntelマークは、IntelCorporationまたはその子会社の商標です。 インテルは、FPGAおよび半導体製品のパフォーマンスをインテルの標準保証に従って現在の仕様に保証しますが、通知なしにいつでも製品およびサービスを変更する権利を留保します。 インテルは、インテルが書面で明示的に同意した場合を除き、本書に記載されている情報、製品、またはサービスの適用または使用から生じる責任または義務を負わないものとします。 インテルのお客様は、公開されている情報を信頼する前、および製品やサービスを注文する前に、最新バージョンのデバイス仕様を入手することをお勧めします。 *他の名前やブランドは他人の所有物として主張される場合があります。

ISO 9001:2015登録

1. Intel Agilex® 7デバイスセキュリティオーバーview 683823 | 2023.05.23

1.2. 計画されているセキュリティ機能

このセクションで説明する機能は、Intel Quartus Prime Pro Edition ソフトウェアの将来のリリースで予定されています。

注記:

このセクションの情報は暫定的なものです。

1.2.1. 部分再構成ビットストリームのセキュリティ検証
部分的再構成 (PR) ビットストリームのセキュリティ検証は、PR ペルソナ ビットストリームが他の PR ペルソナ ビットストリームにアクセスしたり干渉したりできないという追加の保証を提供するのに役立ちます。

1.2.2. 物理的なT細胞に対するデバイスの自己破壊amper
デバイスの自己終了は、デバイスのワイプまたはデバイスのゼロ化応答を実行し、さらに eFuse をプログラムして、デバイスが再度構成されるのを防ぎます。

1.3. 利用可能なセキュリティドキュメント

次の表は、Intel FPGA および Structured ASIC デバイスのデバイス セキュリティ機能に関する利用可能なドキュメントを示しています。

表1.

利用可能なデバイスセキュリティドキュメント

文書名
Intel FPGA および構造化 ASIC 向けセキュリティ手法ユーザーガイド

目的
Intel プログラマブル ソリューション製品のセキュリティ機能とテクノロジーの詳細な説明が記載されたトップレベルのドキュメント。セキュリティ目標を満たすために必要なセキュリティ機能を選択するのに役立ちます。

ドキュメント ID 721596

Intel Stratix 10 デバイス セキュリティ ユーザー ガイド
Intel Agilex 7 デバイス セキュリティ ユーザー ガイド

このガイドには、Intel Stratix 10 デバイスのユーザー向けに、セキュリティ方法論ユーザーガイドを使用して特定されたセキュリティ機能を Intel Quartus Prime Pro Edition ソフトウェアを使用して実装する手順が記載されています。
このガイドには、Intel Agilex 7 デバイスのユーザー向けに、セキュリティ方法論ユーザーガイドを使用して特定されたセキュリティ機能を実装するために Intel Quartus Prime Pro Edition ソフトウェアを使用する手順が記載されています。

683642 683823

Intel eASIC N5X デバイス セキュリティ ユーザー ガイド

このガイドには、Intel eASIC N5X デバイスのユーザー向けに、セキュリティ方法論ユーザーガイドを使用して特定されたセキュリティ機能を実装するために Intel Quartus Prime Pro Edition ソフトウェアを使用する手順が記載されています。

626836

Intel Agilex 7 および Intel eASIC N5X HPS 暗号化サービス ユーザー ガイド

このガイドには、SDM によって提供される暗号化サービスにアクセスするための HPS ソフトウェア ライブラリの実装と使用に関して HPS ソフトウェア エンジニアを支援する情報が含まれています。

713026

AN-968 ブラック キー プロビジョニング サービス クイック スタート ガイド

このガイドには、Black Key Provisioning サービスをセットアップするための完全な手順が記載されています。

739071

場所 インテル リソースと
デザインセンター
インテル
インテル
インテル リソース & デザイン センター
インテル リソース & デザイン センター
インテル リソース & デザイン センター

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 5

683823 | 2023.05.23フィードバックを送信

認証と承認

Intel Agilex 7デバイスの認証機能を有効にするには、まずIntel Quartus Prime Pro Editionソフトウェアと関連ツールを使用して署名チェーンを構築します。署名チェーンは、ルートキー、XNUMXつ以上の署名キー、および該当する承認で構成されます。署名チェーンをIntel Quartus Prime Pro Editionプロジェクトに適用し、コンパイルされたプログラミング言語で署名チェーンを作成します。 files. デバイス プロビジョニングの指示に従って、ルート キーを Intel Agilex 7 デバイスにプログラムします。
関連情報
デバイスのプロビジョニング(25ページ)

2.1. 署名チェーンの作成
署名チェーン操作を実行するには、quartus_signツールまたはagilex_sign.pyリファレンス実装を使用できます。このドキュメントでは、ampquartus_sign を使用したファイル。
リファレンス実装を使用するには、インテル Quartus Prime ソフトウェアに含まれる Python インタープリターの呼び出しを置き換え、–family=agilex オプションを省略します。他のすべてのオプションは同等です。例:ample、このセクションの後半にあるquartus_signコマンド
quartus_sign –family=agilex –operation=make_root root_public.pem root.qkyは、次のようにリファレンス実装への同等の呼び出しに変換できます。
pgm_py agilex_sign.py –operation=make_root root_public.pem root.qky

Intel Quartus Prime Pro Edition ソフトウェアには、quartus_sign、pgm_py、agilex_sign.py ツールが含まれています。ツールにアクセスするために適切な環境変数を自動的に設定する Nios® II コマンド シェル ツールを使用できます。

Nios II コマンド シェルを起動するには、次の手順に従ってください。1. Nios II コマンド シェルを起動します。

オプションウィンドウ
リナックス

説明
スタートメニューで、プログラム、Intel FPGA、Nios II EDSの順にポイントします。 Nios IIをクリックしますコマンド シェル。
コマンドシェルで次のように変更します。 /nios2eds で次のコマンドを実行します。
./nios2_command_shell.sh

元ampこのセクションのファイルは署名チェーンと構成ビットストリームを想定しています fileは現在の作業ディレクトリにあります。exに従うことを選択した場合amplesキー fileは、 file システム、それらの元amplesはキーを引き受ける fileは

インテルコーポレーション。 全著作権所有。 Intel、Intelロゴ、およびその他のIntelマークは、IntelCorporationまたはその子会社の商標です。 インテルは、FPGAおよび半導体製品のパフォーマンスをインテルの標準保証に従って現在の仕様に保証しますが、通知なしにいつでも製品およびサービスを変更する権利を留保します。 インテルは、インテルが書面で明示的に同意した場合を除き、本書に記載されている情報、製品、またはサービスの適用または使用から生じる責任または義務を負わないものとします。 インテルのお客様は、公開されている情報を信頼する前、および製品やサービスを注文する前に、最新バージョンのデバイス仕様を入手することをお勧めします。 *他の名前やブランドは他人の所有物として主張される場合があります。

ISO 9001:2015登録

2. 認証と承認 683823 | 2023.05.23
現在の作業ディレクトリにあります。使用するディレクトリを選択でき、ツールは相対パスをサポートしています。 file パス。キーを保持することを選択した場合 fileの file システムでは、それらのアクセス権限を慎重に管理する必要があります files.
Intelは、暗号鍵を保存し、暗号操作を実行するために、市販のハードウェアセキュリティモジュール(HSM)を使用することを推奨しています。quartus_signツールとリファレンス実装には、署名チェーン操作を実行する際にHSMと対話するための公開鍵暗号化標準#11(PKCS #11)アプリケーションプログラミングインターフェイス(API)が含まれています。agilex_sign.pyリファレンス実装には、インターフェイス抽象とexが含まれています。ampSoftHSM へのインターフェイス。
これらの例を使うことができますample インターフェースを使用して、HSM へのインターフェースを実装します。HSM へのインターフェースの実装と操作の詳細については、HSM ベンダーのドキュメントを参照してください。
SoftHSMは、OpenDNSSEC®プロジェクトによって提供されるPKCS #11インターフェースを備えた汎用暗号化デバイスのソフトウェア実装です。OpenHSMのダウンロード、ビルド、インストール方法など、詳細については、OpenDNSSECプロジェクトをご覧ください。ampこのセクションのファイルはSoftHSMバージョン2.6.1を使用しています。ampこのセクションのファイルでは、OpenSC の pkcs11-tool ユーティリティを使用して、SoftHSM トークンで追加の PKCS #11 操作を実行します。OpenSC から pkcs11tool をダウンロード、ビルド、インストールする方法などの詳細情報を参照してください。
関連情報
· OpenDNSSEC プロジェクト DNSSEC キー追跡のプロセスを自動化するためのポリシーベースのゾーン署名者。
· SoftHSM PKCS #11 インターフェイスを介してアクセス可能な暗号化ストアの実装に関する情報。
· OpenSC は、スマート カードを操作できるライブラリとユーティリティのセットを提供します。
2.1.1. ローカルでの認証キーペアの作成 File システム
quartus_signツールを使用して、ローカルで認証キーペアを作成します。 file make_private_pemおよびmake_public_pemツール操作を使用してシステムを構築します。まずmake_private_pem操作で秘密鍵を生成します。使用する楕円曲線、秘密鍵を指定します。 file秘密鍵の名前と、オプションで秘密鍵をパスフレーズで保護するかどうかを指定します。インテルは、secp384r1曲線を使用し、業界のベストプラクティスに従って、すべての秘密鍵に強力でランダムなパスフレーズを作成することを推奨しています。 fileインテルはまた、 file 秘密鍵 .pem のシステム権限 file所有者のみが読み取れるようにする。公開鍵は、make_public_pem操作で秘密鍵から取得します。鍵の名前を.pemにすると便利です。 fileこの文書では、 _次の例の.pemampレ。
1. Nios IIコマンドシェルで、次のコマンドを実行して秘密鍵を作成します。以下に示す秘密鍵は、後の例でルートキーとして使用されます。amp署名チェーンを作成するファイル。Intel Agilex 7デバイスは複数のルートキーをサポートしているため、

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 7

2. 認証と承認 683823 | 2023.05.23

この手順を繰り返して、必要な数のルートキーを作成します。例:ampこのドキュメント内のファイルはすべて最初のルート キーを参照していますが、任意のルート キーを使用して同様の方法で署名チェーンを構築できます。

オプション パスフレーズ付き

説明
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 root0_private.pem プロンプトが表示されたらパスフレーズを入力します。

パスフレーズなし

quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 –no_passphrase root0_private.pem

2. 次のコマンドを実行して、前の手順で生成した秘密キーを使用して公開キーを作成します。公開キーの機密性を保護する必要はありません。
quartus_sign –family=agilex –operation=make_public_pem root0_private.pem root0_public.pem
3. コマンドを再度実行して、署名チェーン内のデザイン署名キーとして使用されるキー ペアを作成します。
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 design0_sign_private.pem

quartus_sign –family=agilex –operation=make_public_pem design0_sign_private.pem design0_sign_public.pem

2.1.2. SoftHSM での認証キーペアの作成
SoftHSM exはampこの章のファイルは自己整合的です。特定のパラメータは、SoftHSM のインストールと SoftHSM 内のトークンの初期化に依存します。
quartus_sign ツールは、HSM の PKCS #11 API ライブラリに依存します。
元ampこのセクションのファイルは、SoftHSM ライブラリが次のいずれかの場所にインストールされていることを前提としています。 · Linux の場合 /usr/local/lib/softhsm2.so · 2 ビット バージョンの Windows の場合 C:SoftHSM2libsofthsm32.dll · 2 ビット バージョンの Windows の場合 C:SoftHSM2libsofthsm64-x64.dll。
softhsm2-util ツールを使用して SoftHSM 内でトークンを初期化します。
softhsm2-util –init-token –label agilex-token –pin agilex-token-pin –so-pin agilex-so-pin –free
オプションパラメータ、特にトークンラベルとトークンピンは、ampこの章全体で使用されるファイル。Intel では、トークンとキーの作成と管理については HSM ベンダーの指示に従うことを推奨します。
SoftHSMのトークンとやり取りするために、pkcs11-toolユーティリティを使用して認証キーペアを作成します。秘密鍵と公開鍵.pemを明示的に参照する代わりに、 fileの file システム元amples では、キー ペアをラベルで参照し、ツールが適切なキーを自動的に選択します。

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 8

フィードバックを送信

2. 認証と承認 683823 | 2023.05.23

次のコマンドを実行して、後ほどルートキーとして使用されるキーペアを作成します。amp署名チェーン内の設計署名キーとして使用されるキー ペアも含まれます。
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen –mechanism ECDSA-KEY-PAIR-GEN –key-type EC:secp384r1 –usage-sign –label root0 –id 0
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen –mechanism ECDSA-KEY-PAIR-GEN –key-type EC:secp384r1 –usage-sign –label design0_sign –id 1

注記:

このステップの ID オプションは各キーに対して一意である必要がありますが、HSM によってのみ使用されます。この ID オプションは、署名チェーンで割り当てられたキーキャンセル ID とは無関係です。

2.1.3. 署名チェーンのルートエントリの作成
ルート公開鍵を署名チェーンのルートエントリに変換し、ローカルに保存します。 file Intel Quartus Primeキー(.qky)形式のシステム file、make_root 操作を使用します。生成するルート キーごとにこの手順を繰り返します。
次のコマンドを実行して、ルートエントリを持つ署名チェーンを作成します。ルート公開鍵を使用します。 file システム:
quartus_sign –family=agilex –operation=make_root –key_type=owner root0_public.pem root0.qky
前のセクションで確立した SoftHSM トークンのルート キーを使用して、次のコマンドを実行し、ルート エントリを含む署名チェーンを作成します。
quartus_sign –family=agilex –operation=make_root –key_type=owner –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” root0 root0.qky

2.1.4. 署名チェーン公開鍵エントリの作成
append_key 操作を使用して、署名チェーンの新しい公開鍵エントリを作成します。前の署名チェーン、前の署名チェーンの最後のエントリの秘密鍵、次のレベルの公開鍵、次のレベルの公開鍵に割り当てる権限とキャンセル ID、および新しい署名チェーンを指定します。 file.
softHSM ライブラリは Quartus のインストールでは利用できないため、別途インストールする必要があることに注意してください。softHSM の詳細については、上記の「署名チェーンの作成」セクションを参照してください。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 9

2. 認証と承認 683823 | 2023.05.23
キーの使い方に応じて file システムまたはHSMでは、次のいずれかを使用します。ample コマンドを使用して、前のセクションで作成したルート署名チェーンに design0_sign 公開キーを追加します。
quartus_sign –family=agilex –operation=append_key –previous_pem=root0_private.pem –previous_qky=root0.qky –permission=6 –cancel=0 –input_pem=design0_sign_public.pem design0_sign_chain.qky
quartus_sign –family=agilex –operation=append_key –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname=root0 –previous_qky=root0.qky –permission=6 –cancel=0 –input_keyname=design0_sign design0_sign_chain.qky
任意の署名チェーン内のルート エントリとヘッダー ブロック エントリの間に、最大 3 つの公開キー エントリに対して、append_key 操作を最大 2 回繰り返すことができます。
次の例ampleは、同じ権限を持つ別の認証公開鍵を作成し、キャンセルID 1を割り当てたdesign1_sign_public.pemという鍵を作成し、この鍵を前のexからの署名チェーンに追加することを前提としています。amp上:
quartus_sign –family=agilex –operation=append_key –previous_pem=design0_sign_private.pem –previous_qky=design0_sign_chain.qky –permission=6 –cancel=1 –input_pem=design1_sign_public.pem design1_sign_chain.qky
quartus_sign –family=agilex –operation=append_key –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname=design0_sign –previous_qky=design0_sign_chain.qky –permission=6 –cancel=1 –input_keyname=design1_sign design1_sign_chain.qky
Intel Agilex 7 デバイスには、特定のデバイスの寿命を通じて定期的に変更される可能性のあるキーの使用を容易にするための追加のキー キャンセル カウンターが含まれています。–cancel オプションの引数を pts:pts_value に変更することで、このキー キャンセル カウンターを選択できます。
2.2. 構成ビットストリームの署名
Intel Agilex 7デバイスは、キーをキャンセルせずにオブジェクトの認証を取り消すことができるセキュリティバージョン番号(SVN)カウンターをサポートしています。ビットストリームセクション、ファームウェア.zipなどのオブジェクトの署名時に、SVNカウンターと適切なSVNカウンター値を割り当てます。 file、またはコンパクト証明書。–cancel オプションと svn_counter:svn_value を引数として使用して、SVN カウンターと SVN 値を割り当てます。svn_counter の有効な値は、svnA、svnB、svnC、および svnD です。svn_value は、[0,63] の範囲内の整数です。

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 10

フィードバックを送信

2. 認証と承認 683823 | 2023.05.23
2.2.1. クォータスキー File 割り当て
デザインの認証機能を有効にするには、インテルQuartus Primeソフトウェアプロジェクトで署名チェーンを指定します。割り当てメニューから、デバイスデバイスとピンオプションセキュリティQuartusキーを選択します。 File署名チェーン.qkyを参照します。 file このデザインに署名するために作成しました。
図1. 構成ビットストリーム設定の有効化

あるいは、次の割り当てステートメントをIntel Quartus Primeの設定に追加することもできます。 file (.qsf):
set_global_assignment -name QKY_FILE design0_sign_chain.qky
.sofを生成するには file この設定を含む、以前にコンパイルされたデザインから、処理メニューから、アセンブラの開始を選択します。新しい出力.sof file 提供された署名チェーンによる認証を有効にするための割り当てが含まれます。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 11

2. 認証と承認 683823 | 2023.05.23
2.2.2. SDMファームウェアの共同署名
quartus_signツールを使用して、該当するSDMファームウェア.zipを抽出、署名、インストールします。 file共同署名されたファームウェアは、プログラミングによって組み込まれます file .sofを変換する際のジェネレータツール file 構成ビットストリーム.rbfに file新しい署名チェーンを作成し、SDM ファームウェアに署名するには、次のコマンドを使用します。
1. 新しい署名キーペアを作成します。
a. 新しい署名鍵ペアを作成します file システム:
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 ファームウェア1_private.pem
quartus_sign –family=agilex –operation=make_public_pem ファームウェア1_private.pem ファームウェア1_public.pem
b. HSM に新しい署名キー ペアを作成します。
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen -mechanism ECDSA-KEY-PAIR-GEN –key-type EC:secp384r1 –usage-sign –labelfirmware1 –id 1
2. 新しい公開鍵を含む新しい署名チェーンを作成します。
quartus_sign –family=agilex –operation=append_key –previous_pem=root0_private.pem –previous_qky=root0.qky –permission=0x1 –cancel=1 –input_pem=firmware1_public.pem Firmware1_sign_chain.qky
quartus_sign –family=agilex –operation=append_key –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname=root0 –previous_qky=root0.qky –permission=1 –cancel=1 –input_keyname=firmware1firmware1_sign_chain.qky
3. ファームウェアの.zipをコピーする file インテル Quartus Prime プロ・エディション・ソフトウェアのインストール・ディレクトリーから( /devices/programmer/firmware/agilex.zip を現在の作業ディレクトリにコピーします。
quartus_sign –family=agilex –get_firmware= です。
4. ファームウェアの.zipに署名する fileツールは自動的に.zipを解凍します file すべてのファームウェア.cmfに個別に署名する files、その後.zipを再構築します file 次のセクションのツールで使用します。
quartus_sign –family=agilex –operation=sign –qky=firmware1_sign_chain.qky –cancel=svnA:0 –pem=firmware1_private.pem agilex.zip signed_agilex.zip
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 12

フィードバックを送信

2. 認証と承認 683823 | 2023.05.23

–keyname=firmware1 –cancel=svnA:0 –qky=firmware1_sign_chain.qky agilex.zip signed_agilex.zip

2.2.3. quartus_sign コマンドを使用したコンフィギュレーション ビットストリームの署名
quartus_signコマンドを使用して構成ビットストリームに署名するには、まず.sofを file 符号なし生バイナリ file (.rbf) 形式。変換手順中に fw_source オプションを使用して、共同署名されたファームウェアを指定することもできます。
次のコマンドを使用して、.rbf 形式の符号なし生ビットストリームを生成できます。
quartus_pfg c o fw_source=signed_agilex.zip -o sign_later=ON design.sof unsigned_bitstream.rbf
キーの場所に応じて、quartus_sign ツールを使用してビットストリームに署名するには、次のいずれかのコマンドを実行します。
quartus_sign –family=agilex –operation=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 unsigned_bitstream.rbf signed_bitstream.rbf
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname=design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_bitstream.rbf signed_bitstream.rbf
署名された.rbfを変換することができます file他の構成ビットストリームへの file フォーマット。
例えばampJam*標準テストおよびプログラミング言語(STAPL)プレーヤーを使用してJam経由でビットストリームをプログラムする場合TAG.rbfを変換するには次のコマンドを使用します。 file Jam STAPL Player に必要な .jam 形式に変更します。
quartus_pfg -c signed_bitstream.rbf signed_bitstream.jam

2.2.4. 部分的な再構成のマルチ権限サポート

Intel Agilex 7 デバイスは、部分的再構成のマルチ権限認証をサポートしています。この認証では、デバイスの所有者が静的ビットストリームを作成して署名し、別の PR 所有者が PR ペルソナ ビットストリームを作成して署名します。Intel Agilex 7 デバイスは、最初の認証ルート キー スロットをデバイスまたは静的ビットストリームの所有者に割り当て、最後の認証ルート キー スロットを部分的再構成ペルソナ ビットストリームの所有者に割り当てることで、マルチ権限サポートを実装します。
認証機能が有効になっている場合は、ネストされた PR ペルソナ イメージを含むすべての PR ペルソナ イメージに署名する必要があります。PR ペルソナ イメージは、デバイス所有者または PR 所有者のいずれかによって署名できますが、静的領域ビットストリームはデバイス所有者によって署名される必要があります。

注記:

マルチオーソリティ サポートが有効になっている場合の部分的な再構成の静的およびペルソナ ビットストリーム暗号化は、将来のリリースで計画されています。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 13

2. 認証と承認 683823 | 2023.05.23

図2.

部分的な再構成のマルチ権限サポートを実装するには、いくつかの手順が必要です。
1. デバイスまたは静的ビットストリームの所有者は、8 ページの「SoftHSM での認証キー ペアの作成」で説明されているように、XNUMX つ以上の認証ルート キーを生成します。ここで、–key_type オプションの値は owner です。
2. 部分再構成ビットストリーム所有者は認証ルート キーを生成しますが、–key_type オプションの値を secondary_owner に変更します。
3. 静的ビットストリームと部分的再構成設計の所有者は両方とも、[割り当て] > [デバイス] > [デバイスとピンのオプション] > [セキュリティ] タブで [マルチ権限サポートを有効にする] チェックボックスが有効になっていることを確認します。
Intel Quartus Prime マルチ権限オプション設定の有効化

4. 静的ビットストリームと部分再構成デザインの所有者は両方とも、6 ページの「署名チェーンの作成」で説明されているように、それぞれのルート キーに基づいて署名チェーンを作成します。
5. 静的ビットストリームと部分再構成設計の所有者は、コンパイルされた設計を.rbf形式に変換します。 filesと.rbfに署名する files.
6. デバイスまたは静的ビットストリームの所有者は、PR 公開鍵プログラム認証コンパクト証明書を生成し、署名します。
quartus_pfg –ccert または ccert_type=PR_PUBKEY_PROG_AUTH または owner_qky_file=”root0.qky;root1.qky” 署名されていないpr_pubkey_prog.ccert
quartus_sign –family=agilex –operation=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 unsigned_pr_pubkey_prog.ccert signed_pr_pubkey_prog.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=s10-token –user_pin=s10-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname=design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_pr_pubkey_prog.ccert signed_pr_pubkey_prog.ccert

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 14

フィードバックを送信

2. 認証と承認 683823 | 2023.05.23

7. デバイスまたは静的ビットストリーム所有者は、認証ルート キー ハッシュをデバイスにプロビジョニングし、PR 公開キー プログラム認証コンパクト証明書をプログラムし、最後に部分再構成ビットストリーム所有者ルート キーをデバイスにプロビジョニングします。このプロビジョニング プロセスについては、「デバイスのプロビジョニング」セクションで説明します。
8. Intel Agilex 7デバイスは静的領域.rbfで構成されています。 file.
9. Intel Agilex 7デバイスは、ペルソナデザイン.rbfで部分的に再構成されます。 file.
関連情報
· 署名チェーンの作成(6ページ)
· SoftHSM での認証キーペアの作成 (8 ページ)
· デバイスのプロビジョニング(25ページ)

2.2.5. 構成ビットストリーム署名チェーンの検証
署名チェーンと署名ビットストリームを作成した後、署名ビットストリームが特定のルートキーでプログラムされたデバイスを正しく構成しているかどうかを確認できます。まず、quartus_signコマンドのfuse_info操作を使用して、ルート公開キーのハッシュをテキストに出力します。 file:
quartus_sign –family=agilex –operation=fuse_info root0.qky hash_fuse.txt

次に、quartus_pfg コマンドの check_integrity オプションを使用して、.rbf 形式の署名付きビットストリームの各セクションの署名チェーンを検査します。check_integrity オプションは、次の情報を出力します。
· 全体的なビットストリーム整合性チェックのステータス
· ビットストリーム .rbf の各セクションに添付された各署名チェーンの各エントリの内容 file,
· 各署名チェーンのルート公開鍵のハッシュの予想されるヒューズ値。
fuse_info 出力の値は、check_integrity 出力の Fuse 行と一致する必要があります。
quartus_pfg –check_integrity 署名付きビットストリーム.rbf

元はampcheck_integrity コマンドの出力例:

情報: コマンド: quartus_pfg –check_integrity signed_bitstream.rbf 整合性ステータス: OK

セクション

タイプ: CMF

署名記述子 …

署名チェーン #0 (エントリ: -1、オフセット: 96)

エントリー#0

Fuse: 34FD3B5F 7829001F DE2A24C7 3A7EAE29 C7786DB1 D6D5BC3C 52741C79

72978B22 0731B082 6F596899 40F32048 AD766A24

キーを生成…

曲線: secp384r1

X

: 29C39C3064AE594A36DAA85602D6AF0B278CBB0B207C4D97CFB6967961E5F0ECA

456FF53F5DBB3A69E48A042C62AB6B0

Y

: 3E81D40CBBBEAC13601247A9D53F4A831308A24CA0BDFFA40351EE76438C7B5D2

2826F7E94A169023AFAE1D1DF4A31C2

キーを生成…

曲線: secp384r1

X

: 29C39C3064AE594A36DAA85602D6AF0B278CBB0B207C4D97CFB6967961E5F0ECA

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 15

2. 認証と承認 683823 | 2023.05.23

456FF53F5DBB3A69E48A042C62AB6B0

Y

: 3E81D40CBBBEAC13601247A9D53F4A831308A24CA0BDFFA40351EE76438C7B5D2

2826F7E94A169023AFAE1D1DF4A31C2

エントリー#1

キーを生成…

曲線: secp384r1

X

: 015290C556F1533E5631322953E2F9E91258472F43EC954E05D6A4B63D611E04B

C120C7E7A744C357346B424D52100A9

Y

: 68696DEAC4773FF3D5A16A4261975424AAB4248196CF5142858E016242FB82BC5

08A80F3FE7F156DEF0AE5FD95BDFE05

エントリ #2 キーチェーンの権限: SIGN_CODE キーチェーンは ID: 3 によってキャンセルできます 署名チェーン #1 (エントリ: -1、オフセット: 648)

エントリー#0

Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6

DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE

キーを生成…

曲線: secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

キーを生成…

曲線: secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

エントリー#1

キーを生成…

曲線: secp384r1

X

: 1E8FBEDC486C2F3161AFEB028D0C4B426258293058CD41358A164C1B1D60E5C1D

74D982BC20A4772ABCD0A1848E9DC96

Y

: 768F1BF95B37A3CC2FFCEEB071DD456D14B84F1B9BFF780FC5A72A0D3BE5EB51D

0DA7C6B53D83CF8A775A8340BD5A5DB

エントリー#2

キーを生成…

曲線: secp384r1

X

: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432

76896E771A9C6CA5A2D3C08CF4CB83C

Y

: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1

49F91CABA72F6A3A1C2D1990CDAEA3D

エントリ #3 キーチェーンの権限: SIGN_CODE キーチェーンは ID: 15 でキャンセルできます 署名チェーン #2 (エントリ: -1、オフセット: 0) 署名チェーン #3 (エントリ: -1、オフセット: 0) 署名チェーン #4 (エントリ: -1、オフセット: 0) 署名チェーン #5 (エントリ: -1、オフセット: 0) 署名チェーン #6 (エントリ: -1、オフセット: 0) 署名チェーン #7 (エントリ: -1、オフセット: 0)

セクション タイプ: IO 署名記述子 … 署名チェーン #0 (エントリ: -1、オフセット: 96)

エントリー#0

Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6

DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE

キーを生成…

曲線: secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 16

フィードバックを送信

2. 認証と承認 683823 | 2023.05.23

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

キーを生成…

曲線: secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

エントリー#1

キーを生成…

曲線: secp384r1

X

: 646B51F668D8CC365D72B89BA8082FDE79B00CDB750DA0C984DC5891CDF57BD21

44758CA747B1A8315024A8247F12E51

Y

: 53513118E25E16151FD55D7ECDE8293AF6C98A74D52E0DA2527948A64FABDFE7C

F4EA8B8E229218D38A869EE15476750

エントリー#2

キーを生成…

曲線: secp384r1

X

: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432

76896E771A9C6CA5A2D3C08CF4CB83C

Y

: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1

49F91CABA72F6A3A1C2D1990CDAEA3D

エントリ #3 キーチェーンの権限: SIGN_CORE キーチェーンは ID: 15 でキャンセルできます 署名チェーン #1 (エントリ: -1、オフセット: 0) 署名チェーン #2 (エントリ: -1、オフセット: 0) 署名チェーン #3 (エントリ: -1、オフセット: 0) 署名チェーン #4 (エントリ: -1、オフセット: 0) 署名チェーン #5 (エントリ: -1、オフセット: 0) 署名チェーン #6 (エントリ: -1、オフセット: 0) 署名チェーン #7 (エントリ: -1、オフセット: 0)

セクション

タイプ: HPS

署名記述子 …

署名チェーン #0 (エントリ: -1、オフセット: 96)

エントリー#0

Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6

DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE

キーを生成…

曲線: secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

キーを生成…

曲線: secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

エントリー#1

キーを生成…

曲線: secp384r1

X

: FAF423E08FB08D09F926AB66705EB1843C7C82A4391D3049A35E0C5F17ACB1A30

09CE3F486200940E81D02E2F385D150

Y

: 397C0DA2F8DD6447C52048CD0FF7D5CCA7F169C711367E9B81E1E6C1E8CD9134E

5AC33EE6D388B1A895AC07B86155E9D

エントリー#2

キーを生成…

曲線: secp384r1

X

: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432

76896E771A9C6CA5A2D3C08CF4CB83C

Y

: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1

49F91CABA72F6A3A1C2D1990CDAEA3D

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 17

2. 認証と承認 683823 | 2023.05.23

エントリ #3 キーチェーンの権限: SIGN_HPS キーチェーンは ID: 15 でキャンセルできます 署名チェーン #1 (エントリ: -1、オフセット: 0) 署名チェーン #2 (エントリ: -1、オフセット: 0) 署名チェーン #3 (エントリ: -1、オフセット: 0) 署名チェーン #4 (エントリ: -1、オフセット: 0) 署名チェーン #5 (エントリ: -1、オフセット: 0) 署名チェーン #6 (エントリ: -1、オフセット: 0) 署名チェーン #7 (エントリ: -1、オフセット: 0)

セクション タイプ: CORE 署名記述子 … 署名チェーン #0 (エントリ: -1、オフセット: 96)

エントリー#0

Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6

DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE

キーを生成…

曲線: secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

キーを生成…

曲線: secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

エントリー#1

キーを生成…

曲線: secp384r1

X

: 646B51F668D8CC365D72B89BA8082FDE79B00CDB750DA0C984DC5891CDF57BD21

44758CA747B1A8315024A8247F12E51

Y

: 53513118E25E16151FD55D7ECDE8293AF6C98A74D52E0DA2527948A64FABDFE7C

F4EA8B8E229218D38A869EE15476750

エントリー#2

キーを生成…

曲線: secp384r1

X

: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432

76896E771A9C6CA5A2D3C08CF4CB83C

Y

: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1

49F91CABA72F6A3A1C2D1990CDAEA3D

エントリ #3 キーチェーンの権限: SIGN_CORE キーチェーンは ID: 15 でキャンセルできます 署名チェーン #1 (エントリ: -1、オフセット: 0) 署名チェーン #2 (エントリ: -1、オフセット: 0) 署名チェーン #3 (エントリ: -1、オフセット: 0) 署名チェーン #4 (エントリ: -1、オフセット: 0) 署名チェーン #5 (エントリ: -1、オフセット: 0) 署名チェーン #6 (エントリ: -1、オフセット: 0) 署名チェーン #7 (エントリ: -1、オフセット: 0)

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 18

フィードバックを送信

683823 | 2023.05.23フィードバックを送信

AES ビットストリーム暗号化

Advanced Encryption Standard (AES) ビットストリーム暗号化は、デバイス所有者が構成ビットストリーム内の知的財産の機密性を保護できるようにする機能です。
キーの機密性を保護するために、構成ビットストリームの暗号化では AES キーのチェーンが使用されます。これらのキーは、構成ビットストリーム内の所有者データを暗号化するために使用され、最初の中間キーは AES ルート キーで暗号化されます。

3.1. AESルートキーの作成

quartus_encryptツールまたはstratix10_encrypt.pyリファレンス実装を使用して、Intel Quartus Primeソフトウェア暗号化キー(.qek)形式でAESルートキーを作成できます。 file.

注記:

stratix10_encrypt.py file Intel Stratix® 10 および Intel Agilex 7 デバイスに使用されます。

オプションで、AES ルート キーとキー派生キーを導出するために使用される基本キー、AES ルート キーの値、中間キーの数、および中間キーあたりの最大使用量を指定できます。

デバイスファミリを指定する必要があります。出力.qek file プロンプトが表示されたら、場所とパスフレーズを入力します。
次のコマンドを実行して、ベース キーにランダム データを使用し、中間キーの数と最大キー使用数のデフォルト値を使用して AES ルート キーを生成します。
リファレンス実装を使用するには、インテル Quartus Prime ソフトウェアに含まれる Python インタープリターの呼び出しを置き換え、–family=agilex オプションを省略します。他のすべてのオプションは同等です。例:ample、quartus_encryptコマンドは、このセクションの後半にあります

quartus_encrypt –family=agilex –operation=MAKE_AES_KEY aes_root.qek

次のように参照実装への同等の呼び出しに変換できます。pgm_py stratix10_encrypt.py –operation=MAKE_AES_KEY aes_root.qek

3.2. Quartus暗号化設定
デザインのビットストリーム暗号化を有効にするには、[割り当て] > [デバイス] > [デバイスとピンのオプション] > [セキュリティ] パネルを使用して適切なオプションを指定する必要があります。[構成ビットストリームの暗号化を有効にする] チェックボックスをオンにし、ドロップダウン メニューから目的の暗号化キーの保存場所を選択します。

インテルコーポレーション。 全著作権所有。 Intel、Intelロゴ、およびその他のIntelマークは、IntelCorporationまたはその子会社の商標です。 インテルは、FPGAおよび半導体製品のパフォーマンスをインテルの標準保証に従って現在の仕様に保証しますが、通知なしにいつでも製品およびサービスを変更する権利を留保します。 インテルは、インテルが書面で明示的に同意した場合を除き、本書に記載されている情報、製品、またはサービスの適用または使用から生じる責任または義務を負わないものとします。 インテルのお客様は、公開されている情報を信頼する前、および製品やサービスを注文する前に、最新バージョンのデバイス仕様を入手することをお勧めします。 *他の名前やブランドは他人の所有物として主張される場合があります。

ISO 9001:2015登録

図3. Intel Quartus Primeの暗号化設定

3. AES ビットストリーム暗号化 683823 | 2023.05.23

あるいは、次の割り当てステートメントをIntel Quartus Primeの設定に追加することもできます。 file .qsf:
set_global_assignment -name ENCRYPT_PROGRAMMING_BITSTREAM および set_global_assignment -name PROGRAMMING_BITSTREAM_ENCRYPTION_KEY_SELECT eFuses
サイドチャネル攻撃ベクトルに対する追加の緩和策を有効にする場合は、「暗号化更新率」ドロップダウンと「スクランブルを有効にする」チェックボックスを有効にします。

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 20

フィードバックを送信

3. AES ビットストリーム暗号化 683823 | 2023.05.23

.qsf 内の対応する変更は次のとおりです。
set_global_assignment -name PROGRAMMING_BITSTREAM_ENCRYPTION_CNOC_SCRAMBLING オン set_global_assignment -name PROGRAMMING_BITSTREAM_ENCRYPTION_UPDATE_RATIO 31

3.3. 構成ビットストリームの暗号化
ビットストリームに署名する前に、構成ビットストリームを暗号化します。Intel Quartus Primeプログラミング File ジェネレーター ツールは、グラフィカル ユーザー インターフェイスまたはコマンド ラインを使用して、構成ビットストリームを自動的に暗号化し、署名できます。
オプションで、quartus_encrypt および quartus_sign ツールまたは同等のリファレンス実装で使用するために、部分的に暗号化されたビットストリームを作成することもできます。

3.3.1. プログラミングを使用した構成ビットストリームの暗号化 File ジェネレータのグラフィカルインターフェース
プログラミングを使うことができます File 所有者イメージを暗号化して署名するジェネレーター。

図4.

1. Intel Quartus Primeについて File メニュー選択プログラミング File ジェネレーター。2.出力について Filesタブで出力を指定する file 設定に応じて入力
スキーム。
出力 File 仕様

構成スキーム出力 file タブ
出力 file タイプ

3. 入力について Filesタブで、ビットストリームの追加をクリックし、.sofを参照します。4. 暗号化と認証オプションを指定するには、.sofを選択して
プロパティ。a. 署名ツールを有効にするをオンにします。b. 秘密鍵の場合 file 署名キーのプライベート.pemを選択してください filec. 暗号化のファイナライズをオンにします。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 21

3. AES ビットストリーム暗号化 683823 | 2023.05.23

図5.

d. 暗号化キーの場合 fileAES .qekを選択してください file. 入力 (.sof) File 認証と暗号化のプロパティ

認証を有効にするプライベートルート.pemを指定する
暗号化を有効にする 暗号化キーを指定する
5. 署名され暗号化されたビットストリームを生成するには、入力 Filesタブで、生成をクリックします。パスワードダイアログボックスが表示され、AESキー.qekのパスフレーズを入力できます。 file 秘密鍵.pemに署名する fileプログラミング file ジェネレータは暗号化され署名された出力を作成します_file.rbf です。
3.3.2. プログラミングを使用した構成ビットストリームの暗号化 File ジェネレータのコマンドラインインターフェース
quartus_pfg コマンドライン インターフェイスを使用して、暗号化され署名された構成ビットストリームを .rbf 形式で生成します。
quartus_pfg -c 暗号化が有効.sof top.rbf -o ファイナライズ暗号化=ON -o qek_file=aes_root.qek -o 署名=ON -o pem_file=デザイン0_サイン_プライベート.pem
.rbf形式の暗号化および署名された構成ビットストリームを他の構成ビットストリームに変換することができます。 file フォーマット。
3.3.3. コマンドラインインターフェイスを使用した部分的に暗号化された構成ビットストリームの生成
部分的に暗号化されたプログラミングを生成することができます file 暗号化を完了し、後でイメージに署名します。部分的に暗号化されたプログラミングを生成します file quartus_pfg コマンドラインインターフェイスを使用した .rbf 形式で: quartus_pfg -c -o finalize_encryption_later=ON -o sign_later=ON top.sof top.rbf

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 22

フィードバックを送信

3. AES ビットストリーム暗号化 683823 | 2023.05.23
ビットストリームの暗号化を完了するには、quartus_encrypt コマンドライン ツールを使用します。
quartus_encrypt –family=agilex –operation=ENCRYPT –key=aes_root.qek top.rbf 暗号化された_top.rbf
暗号化された構成ビットストリームに署名するには、quartus_sign コマンドライン ツールを使用します。
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 暗号化されたトップ.rbf 署名された_暗号化されたトップ.rbf
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname=design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 暗号化されたトップ.rbf 署名された_暗号化されたトップ.rbf
3.3.4. 部分再構成ビットストリーム暗号化
部分的な再構成を使用する一部の Intel Agilex 7 FPGA デザインでビットストリーム暗号化を有効にすることができます。
階層的部分再構成 (HPR) または静的更新部分再構成 (SUPR) を利用する部分再構成設計では、ビットストリームの暗号化はサポートされません。設計に複数の PR 領域が含まれている場合は、すべてのペルソナを暗号化する必要があります。
部分的な再構成ビットストリームの暗号化を有効にするには、すべてのデザインリビジョンで同じ手順に従います。1. Intel Quartus Prime File メニューから割り当てデバイスデバイスを選択
および PIN オプションのセキュリティ。2. 目的の暗号化キーの保存場所を選択します。
図6. 部分再構成ビットストリーム暗号化設定

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 23

3. AES ビットストリーム暗号化 683823 | 2023.05.23
あるいは、Quartus Primeの設定に次の代入文を追加することもできます。 file .qsf:
set_global_assignment -name –ENABLE_PARTIAL_RECONFIGURATION_BITSTREAM_ENCRYPTION オン
ベースデザインとリビジョンをコンパイルすると、ソフトウェアは.sofファイルを生成します。file および1つ以上の.pmsffile3. 暗号化され署名されたプログラミング言語を作成する file.sof および .pmsf からの s file部分的な再構成が有効になっていないデザインと同様の方法で、コンパイルされた persona.pmsf を変換します。 file 部分的に暗号化された.rbf file:
quartus_pfg -c -o finalize_encryption_later=ON -o sign_later=ON 暗号化対応persona1.pmsf persona1.rbf
5. quartus_encrypt コマンドライン ツールを使用してビットストリームの暗号化を完了します。
quartus_encrypt –family=agilex –operation=ENCRYPT –key=aes_root.qek persona1.rbf 暗号化された_persona1.rbf
6. quartus_sign コマンドライン ツールを使用して、暗号化されたコンフィギュレーション ビットストリームに署名します。
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_sign_private.pem 暗号化された persona1.rbf 署名された_encrypted_persona1.rbf
quartus_sign –family=agilex –operation=SIGN –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –qky=design0_sign_chain.qky –cancel=svnA:0 –keyname=design0_sign 暗号化された_persona1.rbf 署名された_encrypted_persona1.rbf

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 24

フィードバックを送信

683823 | 2023.05.23フィードバックを送信

デバイスプロビジョニング

初期のセキュリティ機能のプロビジョニングは、SDM プロビジョニング ファームウェアでのみサポートされます。Intel Quartus Prime Programmer を使用して SDM プロビジョニング ファームウェアをロードし、プロビジョニング操作を実行します。
任意のタイプのJを使用できますTAG プロビジョニング操作を実行するために、Quartus Programmer を Intel Agilex 7 デバイスに接続するためのダウンロード ケーブル。
4.1. SDMプロビジョニングファームウェアの使用
初期化操作と、構成ビットストリーム以外のものをプログラムするコマンドを選択すると、Intel Quartus Prime Programmer は工場出荷時のデフォルトのヘルパーイメージを自動的に作成してロードします。
指定されたプログラミング コマンドに応じて、工場出荷時のデフォルトのヘルパー イメージは次の 2 つのタイプのいずれかになります。
· プロビジョニング ヘルパー イメージ - SDM プロビジョニング ファームウェアを含む 1 つのビットストリーム セクションで構成されます。
· QSPI ヘルパー イメージ - 2 つのビットストリーム セクションで構成されます。1 つは SDM メイン ファームウェアを含み、もう 1 つは I/O セクションを含みます。
工場出荷時のデフォルトのヘルパーイメージを作成することができます file プログラミング コマンドを実行する前に、デバイスにロードする必要があります。認証ルート キー ハッシュをプログラミングした後、I/O セクションが含まれているため、QSPI ファクトリー デフォルト ヘルパー イメージを作成して署名する必要があります。共同署名ファームウェア セキュリティ設定 eFuse を追加でプログラムする場合は、共同署名ファームウェアを使用してプロビジョニング ヘルパー イメージと QSPI ファクトリー デフォルト ヘルパー イメージを作成する必要があります。プロビジョニングされていないデバイスは SDM ファームウェア上の Intel 以外の署名チェーンを無視するため、プロビジョニングされていないデバイスでは共同署名されたファクトリー デフォルト ヘルパー イメージを使用できます。QSPI ファクトリー デフォルト ヘルパー イメージの作成、署名、および使用の詳細については、26 ページの「所有デバイスでの QSPI ファクトリー デフォルト ヘルパー イメージの使用」を参照してください。
プロビジョニング工場出荷時のデフォルトヘルパーイメージは、認証ルートキーハッシュのプログラミング、セキュリティ設定ヒューズ、PUF登録、ブラックキープロビジョニングなどのプロビジョニングアクションを実行します。Intel Quartus Primeプログラミングを使用します。 File helper_image オプション、helper_device 名、プロビジョニング ヘルパー イメージ サブタイプ、およびオプションで共同署名されたファームウェア .zip を指定して、プロビジョニング ヘルパー イメージを作成するためのジェネレーター コマンド ライン ツール file:
quartus_pfg –helper_image -o helper_device=AGFB014R24A -o サブタイプ=PROVISION -o fw_source=signed_agilex.zip signed_provision_helper_image.rbf
Intel Quartus Prime Programmer ツールを使用してヘルパーイメージをプログラムします。
quartus_pgm -c 1 -mjtag -o “p;signed_provision_helper_image.rbf” –force

インテルコーポレーション。 全著作権所有。 Intel、Intelロゴ、およびその他のIntelマークは、IntelCorporationまたはその子会社の商標です。 インテルは、FPGAおよび半導体製品のパフォーマンスをインテルの標準保証に従って現在の仕様に保証しますが、通知なしにいつでも製品およびサービスを変更する権利を留保します。 インテルは、インテルが書面で明示的に同意した場合を除き、本書に記載されている情報、製品、またはサービスの適用または使用から生じる責任または義務を負わないものとします。 インテルのお客様は、公開されている情報を信頼する前、および製品やサービスを注文する前に、最新バージョンのデバイス仕様を入手することをお勧めします。 *他の名前やブランドは他人の所有物として主張される場合があります。

ISO 9001:2015登録

4. デバイスのプロビジョニング 683823 | 2023.05.23

注記:

コマンドから初期化操作を省略することができます。例:ampプロビジョニング ヘルパー イメージをプログラミングするか、初期化操作を含むコマンドを使用した後、この章で提供されるファイルを実行します。

4.2. 所有デバイスでの QSPI 工場出荷時のデフォルト ヘルパー イメージの使用
Intel Quartus Primeプログラマーは、QSPIフラッシュプログラミングの初期化操作を選択すると、QSPIファクトリーデフォルトヘルパーイメージを自動的に作成してロードします。 file認証ルートキーハッシュをプログラムした後、QSPIファクトリーデフォルトヘルパーイメージを作成して署名し、QSPIフラッシュをプログラムする前に署名されたQSPIファクトリーヘルパーイメージを別途プログラムする必要があります。1. Intel Quartus Primeプログラミングを使用します。 File ジェネレータコマンドラインツール
QSPI ヘルパー イメージを作成します。helper_image オプション、helper_device タイプ、QSPI ヘルパー イメージ サブタイプ、およびオプションで共同署名されたファームウェア .zip を指定します。 file:
quartus_pfg –helper_image -o helper_device=AGFB014R24A -o サブタイプ=QSPI -o fw_source=signed_agilex.zip qspi_helper_image.rbf
2. QSPI 工場出荷時のデフォルト ヘルパー イメージに署名します。
quartus_sign –family=agilex –operation=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem qspi_helper_image.rbf signed_qspi_helper_image.rbf
3. QSPIフラッシュプログラミングを使用できます file フォーマット。次の例amplesは.jicに変換された構成ビットストリームを使用する file 形式:
quartus_pfg -c signed_bitstream.rbf signed_flash.jic -o デバイス=MT25QU128 -o フラッシュローダー=AGFB014R24A -o モード=ASX4
4. Intel Quartus Prime Programmer ツールを使用して、署名されたヘルパーイメージをプログラムします。
quartus_pgm -c 1 -mjtag -o “p;signed_qspi_helper_image.rbf” –force
5. Intel Quartus Prime Programmer ツールを使用して、.jic イメージをフラッシュにプログラムします。
quartus_pgm -c 1 -mjtag -o “p;signed_flash.jic”

4.3. 認証ルートキーのプロビジョニング
所有者ルート キー ハッシュを物理ヒューズにプログラムするには、まずプロビジョニング ファームウェアをロードし、次に所有者ルート キー ハッシュをプログラムして、すぐにパワーオン リセットを実行する必要があります。ルート キー ハッシュを仮想ヒューズにプログラムする場合は、パワーオン リセットは必要ありません。

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 26

フィードバックを送信

4. デバイスのプロビジョニング 683823 | 2023.05.23
認証ルートキーハッシュをプログラムするには、プロビジョニングファームウェアヘルパーイメージをプログラムし、次のコマンドのいずれかを実行してルートキーをプログラムします。.qky files.
// 物理(不揮発性)eFuseの場合 quartus_pgm -c 1 -mjtag -o “p;root0.qky;root1.qky;root2.qky” –不揮発性キー
// 仮想(揮発性)eFuseの場合 quartus_pgm -c 1 -mjtag -o “p;root0.qky;root1.qky;root2.qky”
4.3.1. 部分的な再構成による複数権限ルートキープログラミング
デバイスまたは静的領域ビットストリーム所有者ルート キーをプロビジョニングした後、デバイス プロビジョニング ヘルパー イメージを再度ロードし、署名された PR 公開キー プログラム認証コンパクト証明書をプログラムして、PR ペルソナ ビットストリーム所有者ルート キーをプロビジョニングします。
// 物理(不揮発性)eFuseの場合 quartus_pgm -c 1 -mjtag -o “p;root_pr.qky” –pr_pubkey –不揮発性キー
// 仮想(揮発性)eFuseの場合 quartus_pgm -c 1 -mjtag -o “p;p;root_pr.qky” –pr_pubkey
4.4. キーキャンセルIDヒューズのプログラミング
Intel Quartus Prime Pro Editionソフトウェアバージョン21.1以降、Intelおよび所有者のキーキャンセルIDヒューズをプログラミングするには、署名されたコンパクト証明書を使用する必要があります。FPGAセクションの署名権限を持つ署名チェーンを使用して、キーキャンセルIDコンパクト証明書に署名できます。プログラミングを使用してコンパクト証明書を作成します。 file ジェネレーターのコマンドライン ツール。quartus_sign ツールまたはリファレンス実装を使用して、署名されていない証明書に署名します。
Intel Agilex 7 デバイスは、ルート キーごとに個別の所有者キー キャンセル ID バンクをサポートします。所有者キー キャンセル ID コンパクト証明書が Intel Agilex 7 FPGA にプログラムされると、SDM はコンパクト証明書に署名したルート キーを判別し、そのルート キーに対応するキー キャンセル ID ヒューズを切断します。
次の例ampファイルは、Intel キー ID 7 の Intel キーキャンセル証明書を作成します。7 を 0 ~ 31 の該当する Intel キーキャンセル ID に置き換えることができます。
署名されていない Intel キーキャンセル ID コンパクト証明書を作成するには、次のコマンドを実行します。
quartus_pfg –ccert -o ccert_type=CANCEL_INTEL_KEY -o cancel_key=7 unsigned_cancel_intel7.ccert
署名されていない Intel キーキャンセル ID コンパクト証明書に署名するには、次のコマンドのいずれかを実行します。
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_cancel_intel7.ccert signed_cancel_intel7.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 27

4. デバイスのプロビジョニング 683823 | 2023.05.23
–keyname=design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_cancel_intel7.ccert signed_cancel_intel7.ccert
署名されていない所有者キーキャンセル ID コンパクト証明書を作成するには、次のコマンドを実行します。
quartus_pfg –ccert -o ccert_type=CANCEL_OWNER_KEY -o cancel_key=2 unsigned_cancel_owner2.ccert
署名されていない所有者キーキャンセル ID コンパクト証明書に署名するには、次のコマンドのいずれかを実行します。
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 未署名_cancel_owner2.ccert 署名済み_cancel_owner2.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname=design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_cancel_owner2.ccert signed_cancel_owner2.ccert
署名されたキーキャンセルIDコンパクト証明書を作成したら、インテルQuartus Primeプログラマーを使用して、Jを介してコンパクト証明書をデバイスにプログラムします。TAG.
//物理(不揮発性)eFuseの場合 quartus_pgm -c 1 -mjtag -o “pi;signed_cancel_intel7.ccert” –不揮発性キー quartus_pgm -c 1 -mjtag -o “pi;signed_cancel_owner2.ccert” –非揮発性キー
//仮想(揮発性)eFuseの場合 quartus_pgm -c 1 -mjtag -o “pi;signed_cancel_intel7.ccert” quartus_pgm -c 1 -mjtag -o “pi;signed_cancel_owner2.ccert”
さらに、FPGA または HPS メールボックス インターフェイスを使用して、コンパクト証明書を SDM に送信することもできます。
4.5. ルートキーのキャンセル
Intel Agilex 7 デバイスでは、キャンセルされていない別のルート キー ハッシュが存在する場合に、ルート キー ハッシュをキャンセルできます。ルート キー ハッシュをキャンセルするには、まず、署名チェーンが別のルート キー ハッシュをルートとする設計でデバイスを構成し、次に署名されたルート キー ハッシュ キャンセル コンパクト証明書をプログラムします。キャンセルするルート キーをルートとする署名チェーンを使用して、ルート キー ハッシュ キャンセル コンパクト証明書に署名する必要があります。
署名されていないルート キー ハッシュ キャンセル コンパクト証明書を生成するには、次のコマンドを実行します。
quartus_pfg –ccert -o –ccert_type=CANCEL_KEY_HASH unsigned_root_cancel.ccert

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 28

フィードバックを送信

4. デバイスのプロビジョニング 683823 | 2023.05.23

署名されていないルート キー ハッシュ キャンセル コンパクト証明書に署名するには、次のコマンドのいずれかを実行します。
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_root_cancel.ccert signed_root_cancel.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname=design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_root_cancel.ccert signed_root_cancel.ccert
J経由でルートキーハッシュキャンセルコンパクト証明書をプログラムすることができますTAG、FPGA、または HPS メールボックス。

4.6. カウンタヒューズのプログラミング
セキュリティバージョン番号(SVN)と疑似タイムスタンプを更新します。amp (PTS) は、署名されたコンパクト証明書を使用してヒューズに対抗します。

注記:

SDM は、特定の構成中に表示される最小カウンター値を追跡し、カウンター値が最小値より小さい場合はカウンター増分証明書を受け入れません。カウンター増分コンパクト証明書をプログラムする前に、カウンターに割り当てられているすべてのオブジェクトを更新し、デバイスを再設定する必要があります。

生成するカウンター増分証明書に対応する次のコマンドのいずれかを実行します。
quartus_pfg –ccert -o ccert_type=PTS_COUNTER -o counter=<-1:495> unsigned_pts.ccert

quartus_pfg –ccert -o ccert_type=SVN_COUNTER_A -o counter=<-1:63> unsigned_svnA.ccert

quartus_pfg –ccert -o ccert_type=SVN_COUNTER_B -o counter=<-1:63> unsigned_svnB.ccert

quartus_pfg –ccert -o ccert_type=SVN_COUNTER_C -o counter=<-1:63> unsigned_svnC.ccert

quartus_pfg –ccert -o ccert_type=SVN_COUNTER_D -o counter=<-1:63> unsigned_svnD.ccert

カウンター値が 1 の場合、カウンター増分承認証明書が作成されます。カウンター増分承認コンパクト証明書をプログラミングすると、さらに未署名のカウンター増分証明書をプログラミングして、それぞれのカウンターを更新できます。カウンター コンパクト証明書に署名するには、キー キャンセル ID コンパクト証明書と同様の方法で、quartus_sign ツールを使用します。
J経由でルートキーハッシュキャンセルコンパクト証明書をプログラムすることができますTAG、FPGA、または HPS メールボックス。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 29

4. デバイスのプロビジョニング 683823 | 2023.05.23

4.7. セキュアデータオブジェクトサービスルートキーのプロビジョニング
Intel Quartus Prime Programmer を使用して、Secure Data Object Service (SDOS) ルート キーをプロビジョニングします。Programmer は、プロビジョニング ファームウェア ヘルパー イメージを自動的にロードして、SDOS ルート キーをプロビジョニングします。
quartus_pgm c 1 mjtag –サービスルートキー –不揮発性キー

4.8. セキュリティ設定 Fuse プロビジョニング
Intel Quartus Prime Programmerを使用して、デバイスのセキュリティ設定ヒューズを調べ、テキストベースの.fuseに書き込みます。 file 次のように:
quartus_pgm -c 1 -mjtag -o “ei;プログラミング_file.fuse;AGFB014R24B”

オプション · i: プログラマーはプロビジョニングファームウェアヘルパーイメージをデバイスにロードします。 · e: プログラマーはデバイスからヒューズを読み取り、それを.fuseに保存します。 file.

.fuse の file ヒューズの名前と値のペアのリストが含まれます。値は、ヒューズが切れたかどうか、またはヒューズ フィールドの内容を指定します。

次の例ampleは.fuseのフォーマットを示します file:

# 共同署名ファームウェア

= 「吹かれない」

# デバイス許可キル

= 「吹かれない」

# デバイスは安全ではありません

= 「吹かれない」

# HPSデバッグを無効にする

= 「吹かれない」

# 固有ID PUF登録を無効にする

= 「吹かれない」

# Jを無効にするTAG

= 「吹かれない」

# PUFラップされた暗号化キーを無効にする

= 「吹かれない」

# BBRAM 内の所有者暗号化キーを無効にする = “ブローされていない”

# eFuse の所有者暗号化キーを無効にする = “ブローされていない”

# 所有者ルート公開鍵ハッシュ 0 を無効にする

= 「吹かれない」

# 所有者ルート公開鍵ハッシュ 1 を無効にする

= 「吹かれない」

# 所有者ルート公開鍵ハッシュ 2 を無効にする

= 「吹かれない」

# 仮想eFuseを無効にする

= 「吹かれない」

# SDM クロックを内部発振器に強制する = “ブローしない”

# 暗号化キーの更新を強制する

= 「吹かれない」

# Intel 明示的なキーキャンセル

= “0”

# セキュリティ eFuse をロックする

= 「吹かれない」

# 所有者の暗号化キープログラムが完了しました

= 「吹かれない」

# 所有者暗号化キープログラムの開始

= 「吹かれない」

# 所有者明示キーキャンセル 0

=“”

# 所有者明示キーキャンセル 1

=“”

# 所有者明示キーキャンセル 2

=“”

# オーナーヒューズ

=

「0x00000000000000000000000000000000000000000000000000000

00000000000000000000000000000000000000000000000000000

0000000000000000000000”

# 所有者ルート公開鍵ハッシュ 0

=

「0x00000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000”

# 所有者ルート公開鍵ハッシュ 1

=

「0x00000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000”

# 所有者ルート公開鍵ハッシュ 2

=

「0x00000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000”

# 所有者ルート公開鍵のサイズ

= “なし”

# PTSカウンター

= “0”

# PTSカウンターベース

= “0”

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 30

フィードバックを送信

4. デバイスのプロビジョニング 683823 | 2023.05.23

# QSPI 起動遅延 # RMA カウンター # SDMIO0 は I2C # SVN カウンター A # SVN カウンター B # SVN カウンター C # SVN カウンター D

= “10ms” = “0” = “吹き飛ばされていない” = “0” = “0” = “0” = “0”

.fuseを変更する file 希望するセキュリティ設定ヒューズを設定します。#で始まる行はコメント行として扱われます。セキュリティ設定ヒューズをプログラムするには、先頭の#を削除し、値をBlownに設定します。例:ample、共同署名ファームウェアセキュリティ設定ヒューズを有効にするには、ヒューズの最初の行を変更します file 次へ:
共同署名されたファームウェア = 「ブロー」

要件に応じてオーナーヒューズを割り当て、プログラムすることもできます。
次のコマンドを使用して、所有者のルート公開キーの空白チェック、プログラム、検証を実行できます。
quartus_pgm -c 1 -mjtag -o “ibpv;root0.qky”

オプション · i: プロビジョニングファームウェアヘルパーイメージをデバイスにロードします。 · b: 必要なセキュリティ設定ヒューズが存在しないことを確認するためにブランクチェックを実行します。
すでに切れています。 · p: ヒューズをプログラムします。 · v: デバイスにプログラムされたキーを確認します。
.qkyをプログラミングした後 fileヒューズ情報を再度確認して、所有者の公開キー ハッシュと所有者の公開キー サイズの両方がゼロ以外の値であることを確認することで、ヒューズ情報を調べることができます。
以下のフィールドは.fuse経由では書き込みできません。 file メソッドでは、検証のために検査操作出力中に次の情報が含まれます: · デバイスは安全ではありません · デバイスの許可の強制終了 · 所有者のルート公開キー ハッシュ 0 を無効にする · 所有者のルート公開キー ハッシュ 1 を無効にする · 所有者のルート公開キー ハッシュ 2 を無効にする · Intel キーのキャンセル · 所有者の暗号化キー プログラムの開始 · 所有者の暗号化キー プログラムの完了 · 所有者のキーのキャンセル · 所有者の公開キー ハッシュ · 所有者の公開キーのサイズ · 所有者のルート公開キー ハッシュ 0 · 所有者のルート公開キー ハッシュ 1 · 所有者のルート公開キー ハッシュ 2

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 31

4. デバイスのプロビジョニング 683823 | 2023.05.23
· PTS カウンタ · PTS カウンタ ベース · QSPI 起動遅延 · RMA カウンタ · SDMIO0 は I2C · SVN カウンタ A · SVN カウンタ B · SVN カウンタ C · SVN カウンタ D
Intel Quartus Prime Programmerを使用して.fuseをプログラムする file デバイスに戻します。i オプションを追加すると、プログラマーはプロビジョニング ファームウェアを自動的にロードして、セキュリティ設定ヒューズをプログラムします。
//物理(不揮発性)eFuseの場合 quartus_pgm -c 1 -mjtag -o “pi;プログラミング_file.fuse” –非揮発性キー
//仮想(揮発性)eFuseの場合 quartus_pgm -c 1 -mjtag -o “pi;プログラミング_file。ヒューズ"
次のコマンドを使用して、デバイスのルート キー ハッシュがコマンドで指定された .qky と同じかどうかを確認できます。
quartus_pgm -c 1 -mjtag -o “v;root0_another.qky”
キーが一致しない場合、プログラマーは操作失敗のエラー メッセージを表示して失敗します。
4.9. AESルートキーのプロビジョニング
AES ルート キーを Intel Agilex 7 デバイスにプログラムするには、署名された AES ルート キー コンパクト証明書を使用する必要があります。
4.9.1. AES ルートキーコンパクト証明書
quartus_pfgコマンドラインツールを使用して、AESルートキー.qekを変換します。 file コンパクト証明書 .ccert 形式に変換します。コンパクト証明書の作成時にキーの保存場所を指定します。quartus_pfg ツールを使用して、後で署名するための未署名の証明書を作成できます。AES ルート キー コンパクト証明書に正常に署名するには、AES ルート キー証明書の署名権限 (権限ビット 6) が有効になっている署名チェーンを使用する必要があります。

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 32

フィードバックを送信

4. デバイスのプロビジョニング 683823 | 2023.05.23
1. 次のコマンドのいずれかを使用して、AESキーコンパクト証明書に署名するために使用する追加のキーペアを作成します。例:ampレ:
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 aesccert1_private.pem
quartus_sign –family=agilex –operation=make_public_pem aesccert1_private.pem aesccert1_public.pem
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen メカニズム ECDSA-KEY-PAIR-GEN –key-type EC:secp384r1 –usage-sign –label aesccert1 –id 2
2. 次のいずれかのコマンドを使用して、正しい権限ビットが設定された署名チェーンを作成します。
quartus_sign –family=agilex –operation=append_key –previous_pem=root0_private.pem –previous_qky=root0.qky –permission=0x40 –cancel=1 –input_pem=aesccert1_public.pem aesccert1_sign_chain.qky
quartus_sign –family=agilex –operation=append_key –module=softHSM -module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname=root0 –previous_qky=root0.qky –permission=0x40 –cancel=1 –input_keyname=aesccert1 aesccert1_sign_chain.qky
3. 目的の AES ルート キーの保存場所に対して、署名されていない AES コンパクト証明書を作成します。次の AES ルート キーの保存オプションが利用可能です。
· EFUSE_WRAPPED_AES_KEY
· IID_PUF_WRAPPED_AES_KEY
· UDS_IID_PUF_WRAPPED_AES_KEY
· BBRAM_WRAPPED_AES_KEY
· BBRAM_IID_PUF_WRAPPED_AES_KEY
· BBRAM_UDS_IID_PUF_WRAPPED_AES_KEY
//eFuse AES ルートキーの未署名証明書を作成する quartus_pfg –ccert -o ccert_type=EFUSE_WRAPPED_AES_KEY -o qek_file=aes.qek 署名されていないefuse1.ccert
4. quartus_sign コマンドまたはリファレンス実装を使用してコンパクト証明書に署名します。
quartus_sign –family=agilex –operation=sign –pem=aesccert1_private.pem –qky=aesccert1_sign_chain.qky 署名なし_ 1.ccert署名済み_ 1.c証明書
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 33

4. デバイスのプロビジョニング 683823 | 2023.05.23

–keyname=aesccert1 –qky=aesccert1_sign_chain.qky 署名なし_ 1.ccert署名済み_ 1.c証明書
5. Intel Quartus Primeプログラマーを使用して、J経由でAESルートキーコンパクト証明書をIntel Agilex 7デバイスにプログラムします。TAGIntel Quartus Prime Programmer は、EFUSE_WRAPPED_AES_KEY コンパクト証明書タイプを使用する場合、デフォルトで仮想 eFuse をプログラムします。
物理ヒューズのプログラミングを指定するには、–non_volatile_key オプションを追加します。
// 物理(不揮発性)eFuse AES ルートキーの場合 quartus_pgm -c 1 -mjtag -o “pi;signed_efuse1.ccert” –不揮発性キー

//仮想(揮発性)eFuse AESルートキーの場合 quartus_pgm -c 1 -mjtag -o “pi;signed_efuse1.ccert”

//BBRAM AESルートキーの場合 quartus_pgm -c 1 -mjtag -o “pi;signed_bbram1.ccert”

SDM プロビジョニング ファームウェアとメイン ファームウェアは、AES ルート キー証明書のプログラミングをサポートします。FPGA ファブリックまたは HPS の SDM メールボックス インターフェイスを使用して、AES ルート キー証明書をプログラムすることもできます。

注記:

quartus_pgm コマンドは、コンパクト証明書 (.ccert) のオプション b と v をサポートしていません。

4.9.2. Intrinsic ID® PUF AES ルートキーのプロビジョニング
固有* ID PUFでラップされたAESキーの実装には、次の手順が含まれます。1. Jを介して固有ID PUFを登録するTAG2. AES ルート キーをラップします。3. ヘルパー データとラップされたキーをクワッド SPI フラッシュ メモリにプログラミングします。4. 固有 ID PUF アクティベーション ステータスを照会します。
Intrinsic ID テクノロジーを使用するには、Intrinsic ID との個別のライセンス契約が必要です。Intel Quartus Prime Pro Edition ソフトウェアでは、登録、キー ラッピング、QSPI フラッシュへの PUF データ プログラミングなど、適切なライセンスなしでの PUF 操作が制限されます。

4.9.2.1. 固有ID PUF登録
PUF を登録するには、SDM プロビジョニング ファームウェアを使用する必要があります。プロビジョニング ファームウェアは、電源投入後に最初にロードされるファームウェアである必要があり、他のコマンドの前に PUF 登録コマンドを発行する必要があります。プロビジョニング ファームウェアは、AES ルート キー ラッピングやクアッド SPI のプログラミングなど、PUF 登録後の他のコマンドをサポートしますが、構成ビットストリームをロードするにはデバイスの電源を投入し直す必要があります。
Intel Quartus Prime Programmerを使用してPUF登録をトリガーし、PUFヘルパーデータ.pufを生成します。 file.

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 34

フィードバックを送信

4. デバイスのプロビジョニング 683823 | 2023.05.23

図7.

固有ID PUF登録
quartus_pgm PUF 登録

登録PUFヘルパーデータ

セキュア デバイス マネージャー (SDM)

wrapper.puf ヘルパーデータ
i 操作と .puf 引数の両方を指定すると、プログラマーはプロビジョニング ファームウェア ヘルパー イメージを自動的にロードします。
quartus_pgm -c 1 -mjtag -o “ei;help_data.puf;AGFB014R24A”
共同署名されたファームウェアを使用している場合は、PUF 登録コマンドを使用する前に、共同署名されたファームウェア ヘルパー イメージをプログラムします。
quartus_pgm -c 1 -mjtag -o “p;signed_provision_helper_image.rbf” –force quartus_pgm -c 1 -mjtag -o “e;help_data.puf;AGFB014R24A”
UDS IID PUFはデバイスの製造時に登録され、再登録することはできません。代わりに、プログラマーを使用してIPCS上のUDS PUFヘルパーデータの場所を特定し、.pufをダウンロードします。 file 直接、UDS .pufを使用する file .pufと同じように file Intel Agilex 7 デバイスから抽出されました。
次のプログラマーコマンドを使用してテキストを生成します file リストを含む URLデバイス固有の fileIPCS に関する記事:
quartus_pgm -c 1 -mjtag -o “e;ipcs_urls.txt;AGFB014R24B” –ipcs_urls
4.9.2.2. AESルートキーのラッピング
IID PUFでラップされたAESルートキー.wkeyを生成します。 file 署名された証明書を SDM に送信します。
Intel Quartus Primeプログラマーを使用して、AESルートキーをラップする証明書を自動的に生成、署名、送信するか、Intel Quartus Primeプログラミングツールを使用することもできます。 File 署名されていない証明書を生成するジェネレーター。独自のツールまたは Quartus 署名ツールを使用して、署名されていない証明書に署名します。次に、プログラマーを使用して署名された証明書を送信し、AES ルート キーをラップします。署名された証明書は、署名チェーンを検証できるすべてのデバイスをプログラムするために使用できます。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 35

4. デバイスのプロビジョニング 683823 | 2023.05.23

図8.

Intel Quartus Prime プログラマーを使用した AES キーのラッピング
.pem プライベート

.qky

クォータス

AES キーをラップする

AES.QSKigYnature RootCPhuabilnic キー

PUFラップキーを生成する

ラップされた AES キー

教育

.qek 暗号化

.wkey PUF ラップ
AESキー

1. 次の引数を使用して、プログラマーで IID PUF でラップされた AES ルート キー (.wkey) を生成できます。
· .qky file AESルートキー証明書の許可を持つ署名チェーンを含む
· プライベート .pem file 署名チェーンの最後のキー
· .qek file AESルートキーを保持する
· 16バイトの初期化ベクトル(iv)。

quartus_pgm -c 1 -mjtag –qky_file=aes0_sign_chain.qky –pem_file=aes0_sign_private.pem –qek_file=aes.qek –iv=1234567890ABCDEF1234567890ABCDEF -o “ei;aes.wkey;AGFB014R24A”

2. あるいは、プログラミングを使用して、署名されていないIID PUFラップAESルートキー証明書を生成することもできます。 File 次の引数を使用するジェネレーター:

quartus_pfg –ccert -o ccert_type=IID_PUF_WRAPPED_AES_KEY -o qek_file=aes.qek –iv=1234567890ABCDEF1234567890ABCDEF 署名されていない_aes.ccert

3. 次のコマンドを使用して、独自の署名ツールまたは quartus_sign ツールを使用して、署名されていない証明書に署名します。

quartus_sign –family=agilex –operation=sign –qky=aes0_sign_chain.qky –pem=aes0_sign_private.pem 署名されていない_aes.ccert 署名された_aes.ccert

4. 次に、プログラマーを使用して署名されたAES証明書を送信し、ラップされたキー(.wkey)を返します。 file:

quarts_pgm -c 1 -mjtag –ccert_file=signed_aes.ccert -o “ei;aes.wkey;AGFB014R24A”

注: プロビジョニングファームウェアヘルパーイメージをすでにロードしている場合は、i操作は必要ありません。たとえば、ample、PUF を登録します。

4.9.2.3. ヘルパーデータとラップされたキーをQSPIフラッシュメモリにプログラミングする
Quartusプログラミングを使用する File PUF パーティションを含む初期 QSPI フラッシュ イメージを作成するためのジェネレータ グラフィカル インターフェイス。QSPI フラッシュに PUF パーティションを追加するには、フラッシュ プログラミング イメージ全体を生成してプログラムする必要があります。PUF の作成

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 36

フィードバックを送信

4. デバイスのプロビジョニング 683823 | 2023.05.23

図9.

データパーティションとPUFヘルパーデータおよびラップされたキーの使用 fileフラッシュイメージ生成のためのsはプログラミングではサポートされていません File ジェネレーターのコマンドラインインターフェース。
次の手順は、PUF ヘルパー データとラップされたキーを使用してフラッシュ プログラミング イメージを構築する方法を示しています。
1. オン File メニューのプログラミングをクリック File ジェネレーター。出力について Fileタブで次の選択を行います。
a. デバイス ファミリとして Agilex 7 を選択します。
b. 構成モードでは、Active Serial x4 を選択します。
c. 出力ディレクトリで出力先を参照します。 file ディレクトリ。この例ampleは出力を使用します_files.
d. 名前にはプログラミングの名前を指定します。 file 生成される。この例ampleは出力を使用します_file.
e. 説明の下でプログラミングを選択します file生成する。この例ampleはJを生成するTAG 間接構成 File (.jic) デバイス構成とRawバイナリ File デバイスヘルパーイメージのプログラミングヘルパーイメージ(.rbf)の例。ampleはオプションのメモリマップも選択します File (.map) と生のプログラミングデータ File (.rpd) 生のプログラミングデータ file 将来的にサードパーティのプログラマーを使用する予定がある場合にのみ必要です。
プログラミング File ジェネレーター – 出力 Filesタブ – Jを選択TAG 間接構成

デバイスファミリ構成モード
出力 file タブ
出力ディレクトリ
JTAG 間接 (.jic) メモリマップ File プログラミングヘルパー 生のプログラミングデータ
入力について Fileタブで、次の選択を行います。1. 「ビットストリームの追加」をクリックし、.sofを参照します。2. .sofを選択します。 file 次に、[プロパティ]をクリックします。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 37

4. デバイスのプロビジョニング 683823 | 2023.05.23
a. 署名ツールを有効にするをオンにします。b. 秘密鍵の場合 file .pemを選択してください filec. 暗号化の確定をオンにします。d. 暗号化キー file .qekを選択してください file. e. [OK]をクリックして前のウィンドウに戻ります。3. PUFヘルパーデータを指定するには file生データの追加をクリックします。 FileQuartus Physical Unclonable Functionのドロップダウンメニューのタイプ File (*.puf)。.pufを参照します。 file. IID PUFとUDS IID PUFの両方を使用している場合は、この手順を繰り返して.puf file各PUFのsが入力として追加される file4. ラップされたAESキーを指定するには file生データの追加をクリックします。 FileドロップダウンメニューからQuartus Wrapped Keyを選択 File (*.wkey)。.wkeyを参照します。 file. IID PUFとUDS IID PUFの両方を使用してAESキーをラップした場合は、この手順を繰り返して.wkey file各PUFのsが入力として追加される files.
図10. 入力の指定 File構成、認証、暗号化のための

ビットストリームを追加 生データを追加
プロパティ
秘密鍵 file
暗号化の完了 暗号化キー
構成デバイスタブで、次の選択を行います。1.デバイスの追加をクリックし、使用可能なフラッシュデバイスの一覧からフラッシュデバイスを選択します。
2. 追加した構成デバイスを選択し、「パーティションの追加」をクリックします。3. 入力デバイスの「パーティションの編集」ダイアログボックスで、 file .sofファイルを選択して
ドロップダウン リスト。デフォルトをそのまま使用することも、[パーティションの編集] ダイアログ ボックスで他のパラメータを編集することもできます。

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 38

フィードバックを送信

4. デバイスのプロビジョニング 683823 | 2023.05.23
図 11. .sof 構成ビットストリーム パーティションの指定

構成デバイス
パーティションの編集 .sof の追加 file

パーティションの追加

4. .pufと.wkeyを入力として追加すると fileプログラミング File ジェネレーターは、構成デバイスにPUFパーティションを自動的に作成します。PUFパーティションに.pufと.wkeyを保存するには、PUFパーティションを選択して[編集]をクリックします。[パーティションの編集]ダイアログボックスで、.pufと.wkeyを選択します。 fileドロップダウンリストからPUFパーティションを削除します。PUFパーティションを削除する場合は、プログラミング用の構成デバイスを削除して再度追加する必要があります。 File 別のPUFパーティションを作成するためのジェネレータ。正しい.pufと.wkeyを選択する必要があります。 file それぞれ IID PUF および UDS IID PUF 用です。
図12. .pufと.wkeyを追加する filePUFパーティションへの

PUF パーティション

編集

パーティションを編集

フラッシュローダー

「生成」を選択します

5. フラッシュローダーパラメータでは、Intel Agilex 7 OPN に一致する Intel Agilex 7 デバイスファミリとデバイス名を選択します。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 39

4. デバイスのプロビジョニング 683823 | 2023.05.23
6. 「生成」をクリックして出力を生成します file出力で指定した File■タブ。
7. プログラミング File ジェネレーターは.qekを読み取ります file パスフレーズの入力を求められます。QEK パスフレーズの入力プロンプトに応じてパスフレーズを入力します。Enter キーをクリックします。
8.プログラミングが完了したら[OK]をクリックします。 File ジェネレーターは生成が成功したことを報告します。
QSPIプログラミングイメージをQSPIフラッシュメモリに書き込むには、Intel Quartus Primeプログラマーを使用します。1. Intel Quartus Primeツールメニューでプログラマーを選択します。2. プログラマーで、ハードウェアセットアップをクリックし、接続されているIntelを選択します。
FPGAダウンロードケーブル。3. [追加]をクリックします。 File .jicを参照します file.
図13. プログラム.jic

プログラミング file

プログラム/設定

JTAG スキャンチェーン
4. ヘルパーイメージに関連付けられたボックスの選択を解除します。5. .jic出力のプログラム/構成を選択します。 file6. スタートボタンをオンにして、クワッドSPIフラッシュメモリをプログラムします。 7. ボードの電源を入れ直します。クワッドSPIフラッシュメモリにプログラムされたデザイン
その後、デバイスはターゲット FPGA にロードされます。
PUF パーティションをクワッド SPI フラッシュに追加するには、フラッシュ プログラミング イメージ全体を生成してプログラムする必要があります。
フラッシュにPUFパーティションがすでに存在する場合、Intel Quartus Prime Programmerを使用してPUFヘルパーデータとラップされたキーに直接アクセスすることができます。 file例えばampアクティベーションが失敗した場合、PUFを再登録し、AESキーを再ラップし、その後PUFのみをプログラムすることが可能です。 fileフラッシュ全体を上書きする必要はありません。

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 40

フィードバックを送信

4. デバイスのプロビジョニング 683823 | 2023.05.23
Intel Quartus PrimeプログラマーはPUFの次の操作引数をサポートしています。 file既存のPUFパーティション内のs:
· p: プログラム
· v: 検証
· r: 消去
· b: 白紙小切手
PUF パーティションが存在する場合でも、PUF 登録には同じ制限に従う必要があります。
1. 最初の操作のプロビジョニングファームウェアヘルパーイメージをロードするには、i操作引数を使用します。例:ampたとえば、次のコマンド シーケンスは、PUF を再登録し、AES ルート キーを再ラップし、古い PUF ヘルパー データとラップされたキーを消去し、新しい PUF ヘルパー データと AES ルート キーをプログラムして検証します。
quartus_pgm -c 1 -mjtag -o “ei;new.puf;AGFB014R24A” quartus_pgm -c 1 -mjtag –ccert_file=signed_aes.ccert -o “e;new.wkey;AGFB014R24A” quartus_pgm -c 1 -mjtag -o “r;old.puf” quartus_pgm -c 1 -mjtag -o “r;old.wkey” quartus_pgm -c 1 -mjtag -o “p;new.puf” quartus_pgm -c 1 -mjtag -o “p;new.wkey” quartus_pgm -c 1 -mjtag -o “v;新しい.puf” quartus_pgm -c 1 -mjtag -o “v;新しい.wkey”
4.9.2.4. 固有ID PUFアクティベーションステータスの照会
固有ID PUFを登録した後、AESキーをラップし、フラッシュプログラミングを生成します files を実行し、クワッド SPI フラッシュを更新するには、デバイスの電源を入れ直して、暗号化されたビットストリームから PUF のアクティベーションと構成をトリガーします。SDM は、構成ステータスとともに PUF アクティベーション ステータスを報告します。PUF アクティベーションが失敗した場合、SDM は代わりに PUF エラー ステータスを報告します。quartus_pgm コマンドを使用して、構成ステータスを照会します。
1. アクティベーションステータスを照会するには、次のコマンドを使用します。
quartus_pgm -c 1 -mjtag –ステータス –ステータスタイプ=”CONFIG”
ここはampアクティベーションが成功した場合の出力:
情報 (21597): CONFIG_STATUS の応答 デバイスはユーザー モードで実行されています 00006000 RESPONSE_CODE=OK、LENGTH=6 00000000 STATE=IDLE 00160300 バージョン C000007B MSEL=QSPI_NORMAL、nSTATUS=1、nCONFIG=1、VID=1、
CLOCK_SOURCE=INTERNAL_PLL 0000000B CONF_DONE=1、INIT_DONE=1、CVP_DONE=0、SEU_ERROR=1 00000000 エラー場所 00000000 エラーの詳細 PUF_STATUS の応答 00002000 RESPONSE_CODE=OK、LENGTH=2 00000500 USER_IID STATUS=PUF_ACTIVATION_SUCCESS、
信頼性診断スコア=5、テストモード=0 00000500 UDS_IIDステータス=PUF_ACTIVATION_SUCCESS、
信頼性診断スコア=5、テストモード=0

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 41

4. デバイスのプロビジョニング 683823 | 2023.05.23

IID PUFまたはUDS IID PUFのいずれかのみを使用しており、ヘルパーデータ.pufをプログラムしていない場合 file QSPIフラッシュ内のどちらのPUFでも、そのPUFはアクティブ化されず、PUFステータスはPUFヘルパーデータが有効ではないことを反映します。次の例ample は、どちらの PUF にも PUF ヘルパー データがプログラムされていない場合の PUF ステータスを示します。
PUF_STATUS の応答 00002000 RESPONSE_CODE=OK、LENGTH=2 00000002 USER_IID STATUS=PUF_DATA_CORRUPTED、
信頼性診断スコア=0、テストモード=0 00000002 UDS_IIDステータス=PUF_DATA_CORRUPTED、
信頼性診断スコア=0、テストモード=0

4.9.2.5. フラッシュメモリ内のPUFの場所
PUFの位置 file RSU をサポートする設計と RSU 機能をサポートしない設計では異なります。

RSUをサポートしない設計の場合は、.pufと.wkeyを含める必要があります。 file更新されたフラッシュ イメージを作成するときに、SDM は PUF データ セクションを上書きしません。RSU をサポートする設計の場合、SDM は工場またはアプリケーション イメージの更新中に PUF データ セクションを上書きしません。

表2.

RSU サポートなしのフラッシュ サブパーティション レイアウト

フラッシュオフセット(バイト単位)

サイズ(バイト単位)

コンテンツ

説明

0K 256K

256K 256K

構成管理ファームウェア 構成管理ファームウェア

SDM 上で実行されるファームウェア。

512K

256K

構成管理ファームウェア

768K

256K

構成管理ファームウェア

1M

32K

PUFデータコピー0

PUFヘルパーデータとPUFラップされたAESルートキーコピー0を格納するためのデータ構造

1万+32K

32K

PUFデータコピー1

PUFヘルパーデータとPUFラップされたAESルートキーコピー1を格納するためのデータ構造

表3.

RSU サポートによるフラッシュ サブパーティション レイアウト

フラッシュオフセット(バイト単位)

サイズ(バイト単位)

コンテンツ

説明

0K 512K

512K 512K

決定ファームウェア 決定ファームウェア

最も優先度の高いイメージを識別してロードするファームウェア。

1万1.5万

512K 512K

決定ファームウェア 決定ファームウェア

2M

8K + 24K

決定ファームウェアデータ

パディング

Decision ファームウェアの使用のために予約されています。

2万+32K

32K

SDM用に予約済み

SDM 用に予約されています。

2万+64K

変数

工場イメージ

他のすべてのアプリケーション イメージのロードに失敗した場合にバックアップとして作成する単純なイメージ。このイメージには、SDM で実行される CMF が含まれます。

32K

PUFデータコピー0

PUFヘルパーデータとPUFラップされたAESルートキーコピー0を格納するためのデータ構造
続き…

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 42

フィードバックを送信

4. デバイスのプロビジョニング 683823 | 2023.05.23

フラッシュオフセット(バイト単位)

サイズ(バイト単位)

次へ +32K 32K

内容 PUFデータコピー1

次へ + 256K 4K 次へ +32K 4K 次へ +32K 4K

サブパーティションテーブルのコピー 0 サブパーティションテーブルのコピー 1 CMF ポインタブロックのコピー 0

次へ +32K _

CMF ポインタブロックコピー 1

可変 可変

可変 可変

アプリケーションイメージ1 アプリケーションイメージ2

4.9.3. ブラックキーのプロビジョニング

説明
PUFヘルパーデータとPUFラップされたAESルートキーコピー1を格納するためのデータ構造
フラッシュ ストレージの管理を容易にするデータ構造。
優先順位順に並べられたアプリケーション イメージへのポインターのリスト。イメージを追加すると、そのイメージが最優先になります。
アプリケーション イメージへのポインター リストの 2 番目のコピー。
最初のアプリケーション イメージ。
2 番目のアプリケーション イメージ。

注記:

Intel Quartus Primeプログラマーは、Intel Agilex 7デバイスとブラックキープロビジョニングサービス間の相互認証された安全な接続を確立するのに役立ちます。安全な接続はhttps経由で確立され、テキストを使用して識別されるいくつかの証明書が必要です。 file.
ブラックキープロビジョニングを使用する場合、インテルは、TCKピンを外部接続して抵抗器をプルアップまたはプルダウンすることは避け、Jに使用することを推奨しています。TAGただし、10 k 抵抗を使用して TCK ピンを VCCIO SDM 電源に接続することができます。ピン接続ガイドラインの既存のガイダンスでは、ノイズ抑制のために TCK を 1 k プルダウン抵抗に接続しています。ガイダンスを 10 k プルアップ抵抗に変更しても、デバイスの機能には影響しません。TCK ピンの接続の詳細については、Intel Agilex 7 ピン接続ガイドラインを参照してください。
bkp_tls_ca_certcertificate は、ブラック キー プロビジョニング サービス インスタンスをブラック キー プロビジョニング プログラマ インスタンスに対して認証します。bkp_tls_*certificates は、ブラック キー プロビジョニング プログラマ インスタンスをブラック キー プロビジョニング サービス インスタンスに対して認証します。
テキストを作成する file インテル Quartus Prime プログラマーがブラックキープロビジョニングサービスに接続するために必要な情報が含まれています。ブラックキープロビジョニングを開始するには、プログラマーのコマンドラインインターフェイスを使用して、ブラックキープロビジョニングオプションのテキストを指定します。 fileブラック キーのプロビジョニングは自動的に進行します。ブラック キーのプロビジョニング サービスおよび関連ドキュメントにアクセスするには、Intel サポートにお問い合わせください。
quartus_pgm コマンドを使用してブラック キーのプロビジョニングを有効にすることができます。
quartus_pgm -c -m -デバイス–bkp_options=bkp_options.txt
コマンド引数は次の情報を指定します。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 43

4. デバイスのプロビジョニング 683823 | 2023.05.23

· -c: ケーブル番号 · -m: Jなどのプログラミングモードを指定しますTAG · –device: J上のデバイスインデックスを指定しますTAG チェーン。デフォルト値は1です。 · –bkp_options: テキストを指定します file ブラックキープロビジョニングオプションが含まれています。
関連情報 Intel Agilex 7 デバイスファミリーのピン接続ガイドライン

4.9.3.1. ブラックキープロビジョニングオプション
ブラックキープロビジョニングオプションはテキストです file quartus_pgmコマンドを通じてプログラマーに渡されます。 file ブラック キーのプロビジョニングをトリガーするために必要な情報が含まれています。
以下は例ですampbkp_options.txt のファイル file:
bkp_cfg_id = 1 bkp_ip = 192.167.1.1 bkp_port = 10034 bkp_tls_ca_cert = root.cert bkp_tls_prog_cert = prog.cert bkp_tls_prog_key = prog_key.pem bkp_tls_prog_key_pass = 1234 bkp_proxy_address = https://192.167.5.5:5000 bkp_proxy_user = proxy_user bkp_proxy_password = proxy_password

表4.

ブラックキープロビジョニングオプション
この表には、ブラック キーのプロビジョニングをトリガーするために必要なオプションが表示されます。

オプション名

タイプ

説明

ip_ ...

必須

ブラック キー プロビジョニング サービスを実行しているサーバーの IP アドレスを指定します。

bkp_ポート

必須

サーバーに接続するために必要なブラック キー プロビジョニング サービス ポートを指定します。

bkp_cfg_id

必須

ブラック キー プロビジョニング構成フロー ID を識別します。
ブラック キー プロビジョニング サービスは、AES ルート キー、必要な eFuse 設定、その他のブラック キー プロビジョニング認証オプションを含むブラック キー プロビジョニング構成フローを作成します。ブラック キー プロビジョニング サービスのセットアップ中に割り当てられた番号によって、ブラック キー プロビジョニング構成フローが識別されます。
注: 複数のデバイスが同じブラック キー プロビジョニング サービス構成フローを参照する場合があります。

bkp_tls_ca_cert

必須

Intel Quartus Prime Programmer (プログラマー) へのブラック キー プロビジョニング サービスを識別するために使用されるルート TLS 証明書。ブラック キー プロビジョニング サービス インスタンスの信頼できる証明機関がこの証明書を発行します。
Microsoft® Windows® オペレーティング システム (Windows) を搭載したコンピュータで Programmer を実行する場合は、この証明書を Windows 証明書ストアにインストールする必要があります。

bkp_tls_prog_cert

必須

ブラック キー プロビジョニング プログラマ (BKP プログラマ) のインスタンス用に作成された証明書。これは、この BKP プログラマ インスタンスを識別するために使用される https クライアント証明書です。
続き…

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 44

フィードバックを送信

4. デバイスのプロビジョニング 683823 | 2023.05.23

オプション名

タイプ

bkp_tls_prog_key

必須

bkp_tls_prog_key_pass オプション

bkp_proxy_address bkp_proxy_user bkp_proxy_password

オプションオプションオプション

説明
ブラック キー プロビジョニング サービスに。ブラック キー プロビジョニング セッションを開始する前に、ブラック キー プロビジョニング サービスにこの証明書をインストールして承認する必要があります。Windows でプログラマーを実行する場合、このオプションは使用できません。この場合、bkp_tls_prog_key にはすでにこの証明書が含まれています。
BKPプログラマー証明書に対応する秘密鍵。この鍵は、ブラックキープロビジョニングサービスに対してBKPプログラマーインスタンスのIDを検証します。Windowsでプログラマーを実行する場合、.pfx file bkp_tls_prog_cert証明書と秘密鍵を結合します。bkp_tlx_prog_keyオプションは.pfxを渡します file bkp_options.txt内 file.
bkp_tls_prog_key秘密鍵のパスワード。ブラックキープロビジョニング構成オプション(bkp_options.txt)テキストでは必要ありません。 file.
プロキシサーバーを指定します URL 住所。
プロキシ サーバーのユーザー名を指定します。
プロキシ認証パスワードを指定します。

4.10. 所有者ルートキー、AESルートキー証明書、Fuseの変換 filesからJam STAPLへ File フォーマット

quartus_pfgコマンドラインコマンドを使用して、.qky、AESルートキー.ccert、および.fuseを変換できます。 fileJam STAPL形式 File (.jam) および Jam バイトコード形式 File (.jbc)。これらを使用することができます fileそれぞれ Jam STAPL Player と Jam STAPL Byte-Code Player を使用して Intel FPGA をプログラムします。

1 つの .jam または .jbc には、ファームウェア ヘルパー イメージの構成とプログラム、ブランク チェック、キーとヒューズのプログラミングの検証など、複数の機能が含まれています。

注意:

AESルートキー.ccertを変換すると file .jam形式の場合、.jam file AESキーは平文だが難読化された形式で含まれている。したがって、.jamを保護する必要がある。 file AES キーを保存するときに、安全な環境で AES キーをプロビジョニングすることでこれを実現できます。

ここに元がありますampquartus_pfg 変換コマンドのファイル:

quartus_pfg -c -o helper_device=AGFB014R24A “root0.qky;root1.qky;root2.qky” RootKey.jam quartus_pfg -c -o helper_device=AGFB014R24A “root0.qky;root1.qky;root2.qky” RootKey.jbc quartus_pfg -c -o helper_device=AGFB014R24A aes.ccert aes_ccert.jam quartus_pfg -c -o helper_device=AGFB014R24A aes.ccert aes_ccert.jbc quartus_pfg -c -o helper_device=AGFB014R24A settings.fuse settings_fuse.jam quartus_pfg -c -o helper_device=AGFB014R24A settings.fuse設定_fuse.jbc

デバイス プログラミングに Jam STAPL Player を使用する方法の詳細については、「AN 425: デバイス プログラミングにコマンド ライン Jam STAPL ソリューションを使用する」を参照してください。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 45

4. デバイスのプロビジョニング 683823 | 2023.05.23
所有者のルート公開キーと AES 暗号化キーをプログラムするには、次のコマンドを実行します。
// ヘルパー ビットストリームを FPGA にロードします。 // ヘルパー ビットストリームにはプロビジョニング ファームウェア quartus_jli -c 1 -a CONFIGURE RootKey.jam が含まれます
//所有者のルート公開鍵を仮想 eFuse にプログラムするには quartus_jli -c 1 -a PUBKEY_PROGRAM RootKey.jam
//所有者のルート公開鍵を物理 eFuse にプログラムするには quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_EFUSES_FLAG RootKey.jam
//PR 所有者のルート公開鍵を仮想 eFuse にプログラムするには quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_PR_PUBKEY_FLAG pr_rootkey.jam
//PR 所有者のルート公開鍵を物理 eFuse にプログラムするには quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_PR_PUBKEY_FLAG -e DO_UNI_ACT_DO_EFUSES_FLAG pr_rootkey.jam
//AES暗号化キーCCERTをBBRAMにプログラムするにはquartus_jli -c 1 -a CCERT_PROGRAM EncKeyBBRAM.jam
// AES 暗号化キー CCERT を物理 eFuse にプログラムするには quartus_jli -c 1 -a CCERT_PROGRAM -e DO_UNI_ACT_DO_EFUSES_FLAG EncKeyEFuse.jam
関連情報 AN 425: デバイスプログラミングのためのコマンドライン Jam STAPL ソリューションの使用

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 46

フィードバックを送信

683823 | 2023.05.23フィードバックを送信

高度な機能

5.1. 安全なデバッグ認証
セキュアデバッグ認証を有効にするには、デバッグ所有者は認証キーペアを生成し、インテルQuartus Prime Proプログラマーを使用してデバイス情報を生成する必要があります。 file デバッグイメージを実行するデバイスの場合:
quartus_pgm -c 1 -mjtag -o “ei;デバイス情報.txt;AGFB014R24A” –dev_info
デバイス所有者は、quartus_signツールまたはリファレンス実装を使用して、デバッグ所有者の公開鍵、必要な承認、デバイス情報テキストを使用したデバッグ操作を目的とした署名チェーンに条件付き公開鍵エントリを追加します。 fileおよび適用される追加の制限:
quartus_sign –family=agilex –operation=append_key –previous_pem=debug_chain_private.pem –previous_qky=debug_chain.qky –permission=0x6 –cancel=1 –dev_info=device_info.txt –restriction=”1,2,17,18″ –input_pem=debug_authorization_public_key.pem secure_debug_auth_chain.qky
デバイス所有者は完全な署名チェーンをデバッグ所有者に送り返し、デバッグ所有者は署名チェーンと秘密鍵を使用してデバッグ イメージに署名します。
quartus_sign –family=agilex –operation=sign –qky=secure_debug_auth_chain.qky –pem=debug_authorization_private_key.pem 署名されていないdebug_design.rbf 承認されたdebug_design.rbf
次のように、quartus_pfg コマンドを使用して、この署名されたセキュア デバッグ ビットストリームの各セクションの署名チェーンを検査できます。
quartus_pfg –check_integrity authorized_debug_design.rbf
このコマンドの出力には、署名されたビットストリームの生成に使用された条件付き公開キーの制限値 1,2,17,18、XNUMX、XNUMX、XNUMX が出力されます。
デバッグ所有者は、安全に承認されたデバッグ設計をプログラムできます。
quartus_pgm -c 1 -mjtag -o “p;authorized_debug_design.rbf”
デバイス所有者は、セキュア デバッグ認証署名チェーンで割り当てられた明示的なキーキャンセル ID をキャンセルすることにより、セキュア デバッグ認証を取り消すことができます。
5.2. HPSデバッグ証明書
J経由でHPSデバッグアクセスポート(DAP)への許可されたアクセスのみを有効にするTAG インターフェースにはいくつかの手順が必要です。

インテルコーポレーション。 全著作権所有。 Intel、Intelロゴ、およびその他のIntelマークは、IntelCorporationまたはその子会社の商標です。 インテルは、FPGAおよび半導体製品のパフォーマンスをインテルの標準保証に従って現在の仕様に保証しますが、通知なしにいつでも製品およびサービスを変更する権利を留保します。 インテルは、インテルが書面で明示的に同意した場合を除き、本書に記載されている情報、製品、またはサービスの適用または使用から生じる責任または義務を負わないものとします。 インテルのお客様は、公開されている情報を信頼する前、および製品やサービスを注文する前に、最新バージョンのデバイス仕様を入手することをお勧めします。 *他の名前やブランドは他人の所有物として主張される場合があります。

ISO 9001:2015登録

5. 高度な機能 683823 | 2023.05.23
1. Intel Quartus Prime ソフトウェアの Assignments メニューをクリックし、Device > Device and Pin Options Configuration タブを選択します。
2. [構成] タブで、ドロップダウン メニューから [HPS ピン] または [SDM ピン] のいずれかを選択して HPS デバッグ アクセス ポート (DAP) を有効にし、[証明書なしで HPS デバッグを許可する] チェックボックスが選択されていないことを確認します。
図14. HPS DAPのHPSピンまたはSDMピンを指定する

HPS デバッグ アクセス ポート (DAP)
あるいは、Quartus Prime Settings .qsfで以下の割り当てを設定することもできます。 file:
set_global_assignment -name HPS_DAP_SPLIT_MODE “SDM PINS”
3. これらの設定でデザインをコンパイルしてロードします。4. HPSデバッグに署名するための適切な権限を持つ署名チェーンを作成します。
証明書:
quartus_sign –family=agilex –operation=append_key –previous_pem=root_private.pem –previous_qky=root.qky –permission=0x8 –cancel=1 –input_pem=hps_debug_cert_public_key.pem hps_debug_cert_sign_chain.qky
5. デバッグ デザインがロードされているデバイスから署名されていない HPS デバッグ証明書を要求します。
quartus_pgm -c 1 -mjtag -o “e;unsigned_hps_debug.cert;AGFB014R24A”
6. quartus_sign ツールまたはリファレンス実装と HPS デバッグ署名チェーンを使用して、署名されていない HPS デバッグ証明書に署名します。
quartus_sign –family=agilex –operation=sign –qky=hps_debug_cert_sign_chain.qky –pem=hps_debug_cert_private_key.pem 署名されていない_hps_debug.cert 署名された_hps_debug.cert

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 48

フィードバックを送信

5. 高度な機能 683823 | 2023.05.23
7. 署名された HPS デバッグ証明書をデバイスに送り返し、HPS デバッグ アクセス ポート (DAP) へのアクセスを有効にします。
quartus_pgm -c 1 -mjtag -o “p;signed_hps_debug.cert”
HPS デバッグ証明書は、生成された時点からデバイスの次回の電源サイクルまで、または別のタイプまたはバージョンの SDM ファームウェアがロードされるまでのみ有効です。デバイスの電源サイクルを実行する前に、署名済みの HPS デバッグ証明書を生成、署名、プログラムし、すべてのデバッグ操作を実行する必要があります。デバイスの電源サイクルを実行すると、署名済みの HPS デバッグ証明書が無効になる場合があります。
5.3. プラットフォームの証明
参照整合性マニフェスト(.rim)を生成できます。 file プログラミングを使用して file ジェネレーターツール:
quartus_pfg -c signed_encrypted_top.rbf top_rim.rim
設計におけるプラットフォーム認証を確実にするために、以下の手順に従ってください。1. Intel Quartus Prime Pro Programmerを使用して、デバイスを
参照整合性マニフェストを作成した設計。2. プラットフォーム認証検証を使用して、デバイスを登録します。
SDM メールボックス経由で SDM を使用して、リロード時にデバイス ID 証明書とファームウェア証明書を作成します。3. Intel Quartus Prime Pro Programmer を使用して、デザインでデバイスを再構成します。4. プラットフォーム認証検証ツールを使用して SDM にコマンドを発行し、認証デバイス ID、ファームウェア、およびエイリアス証明書を取得します。5. 認証検証ツールを使用して SDM メールボックス コマンドを発行し、認証証拠を取得します。検証ツールは返された証拠を確認します。
SDM メールボックス コマンドを使用して独自の検証サービスを実装することも、Intel プラットフォーム認証検証サービスを使用することもできます。Intel プラットフォーム認証検証サービス ソフトウェア、可用性、およびドキュメントの詳細については、Intel サポートにお問い合わせください。
関連情報 Intel Agilex 7 デバイスファミリーのピン接続ガイドライン
5.4. 物理的な抗Tamper
物理的なアンチTを有効にするamp機能を選択するには、次の手順に従います。1.検出されたtに対する希望する応答を選択します。amperイベント2. 希望するtの設定amper検出方法とパラメータ3. 抗tを含むamp設計ロジックにIPを組み込むことで、アンチTの管理に役立ちます。amper
イベント

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 49

5. 高度な機能 683823 | 2023.05.23
5.4.1.アンチTamper の回答
物理的な反撃を有効にするampアンチtから応答を選択することでamperの応答: 割り当てデバイスのドロップダウンリストデバイスとピンのオプションセキュリティアンチTamperタブ。デフォルトでは、アンチtampER応答は無効です。5つのカテゴリーの抗Tamper 応答が利用可能です。希望する応答を選択すると、1 つ以上の検出方法を有効にするオプションが有効になります。
図15. 利用可能な抗Tamper 応答オプション

Quartus Prime設定.gsfの対応する割り当て file は次のとおりです。
set_global_assignment -name ANTI_TAMPER_RESPONSE「通知デバイス ワイプ デバイス ロックとゼロ化」
アンチTを有効にするとamp応答を高速化するために、利用可能な2つのSDM専用I/Oピンを選択して出力することができます。amp割り当てデバイス デバイスとピン オプション構成構成ピン オプション ウィンドウを使用して、ER イベントの検出と応答ステータスを確認します。

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 50

フィードバックを送信

5. 高度な機能 683823 | 2023.05.23
図16. Tに使用可能なSDM専用I/Oピンamperイベント検出

設定で以下のピン割り当てを行うこともできます file: set_global_assignment -name USE_TAMPER_DETECT SDM_IO15 グローバル割り当ての設定 -名前 ANTI_TAMPER_RESPONSE_FAILED SDM_IO16

5.4.2.アンチTamper検出

周波数、温度、音量を個別に有効にすることができますtagSDMの検出機能。FPGA検出は、Anti-Tamper Lite Intel FPGA IP をデザインに組み込みます。

注記:

SDMの頻度とボリュームtagらamp検出方法は、デバイスによって異なる内部リファレンスと測定ハードウェアに依存します。インテルは、tの動作を特徴付けることを推奨します。amper検出設定。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 51

5. 高度な機能 683823 | 2023.05.23
周波数Tamper検出は構成クロックソースで動作します。周波数tを有効にするにはamp検出するには、割り当てデバイスデバイスとピンオプション一般タブのコンフィギュレーションクロックソースドロップダウンで内部発振器以外のオプションを指定する必要があります。周波数クロックを有効にする前に、内部発振器からコンフィギュレーションCPUを実行チェックボックスが有効になっていることを確認してください。amper検出。図17. SDMを内部発振器に設定する
周波数tを有効にするにはamper検出を有効にするには、周波数tを有効にしますamper検出チェックボックスをオンにして、希望する周​​波数tを選択します。ampドロップダウンメニューから検出範囲を選択します。図18.周波数Tの有効化amper検出

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 52

フィードバックを送信

5. 高度な機能 683823 | 2023.05.23
あるいは、周波数Tを有効にすることもできますamper検出は、Quartus Prime設定.qsfに次の変更を加えることで可能になります。 file:
set_global_assignment -name AUTO_RESTART_CONFIGURATION オフ set_global_assignment -name DEVICE_INITIALIZATION_CLOCK OSC_CLK_1_100MHZ set_global_assignment -name RUN_CONFIG_CPU_FROM_INT_OSC オン set_global_assignment -name ENABLE_FREQUENCY_TAMPER_DETECTION ON set_global_assignment -name FREQUENCY_TAMPER_検出範囲 35
温度tを有効にするにはamp温度検出を有効にするには、温度検出を有効にするを選択します。amper 検出チェックボックスをオンにし、対応するフィールドで目的の温度の上限と下限を選択します。上限と下限には、設計で選択されたデバイスの関連温度範囲がデフォルトで入力されます。
ボリュームを有効にするにはtagらamp検出するには、VCCLボリュームの有効化のいずれかまたは両方を選択します。tagらamper検出またはVCCL_SDMボリュームを有効にするtagらamper検出チェックボックスをオンにして、希望するボリュームを選択しますtagらamper検出トリガーパーセントtag対応するフィールドにeを入力します。
図19. ボリュームの有効化tage Tamper検出

あるいは、Volを有効にすることができますtage Tamper検出は.qsfで次の割り当てを指定して行う file:
set_global_assignment -name ENABLE_TEMPERATURE_TAMPER_DETECTION ON set_global_assignment -name TEMPERATURE_TAMPER_UPPER_BOUND 100 グローバル割り当ての設定 -名前 ENABLE_VCCL_VOLTAGえーとAMPER_DETECTION ON set_global_assignment -name ENABLE_VCCL_SDM_VOLTAGえーとAMPER_検出オン
5.4.3.アンチTamper Lite インテル FPGA IP
アンチTampインテル® Quartus® Prime Pro EditionソフトウェアのIPカタログで利用可能なLite Intel FPGA IPは、設計とSDM間の双方向通信を容易にし、amperイベント。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 53

図20. 抗Tamper Lite インテル FPGA IP

5. 高度な機能 683823 | 2023.05.23

IP は、必要に応じて設計に接続する次の信号を提供します。

表5.

アンチTamper Lite Intel FPGA IP I/O信号

信号名

方向

説明

gpo_sdm_at_event gpi_fpga_at_event

出力入力

SDMが検出し​​たFPGAファブリックロジックへのSDM信号amperイベント。FPGAロジックには、必要なクリーニングを実行し、gpi_fpga_at_response_doneとgpi_fpga_at_zeroization_doneを介してSDMに応答するのに約5msかかります。SDMはtに進みます。ampgpi_fpga_at_response_done がアサートされたとき、または割り当てられた時間内に応答が受信されなかった後に、er 応答アクションを実行します。
FPGA割り込みはSDMに設計したアンチtamper検出回路が検出したamperイベントとSDM tamper 応答がトリガーされるはずです。

gpi_fpga_at_response_done

入力

FPGA ロジックが必要なクリーニングを実行したことを SDM に通知する FPGA 割り込み。

gpi_fpga_at_zeroization_d 1 つ

入力

FPGAロジックが設計データのゼロ化を完了したことをSDMに通知するFPGA信号。この信号はampgpi_fpga_at_response_done がアサートされたときに発生します。

5.4.3.1. リリース情報

IP バージョン スキーム (XYZ) 番号は、ソフトウェア バージョンごとに異なります。次の変更:
· X は IP のメジャー リビジョンを示します。Intel Quartus Prime ソフトウェアを更新する場合は、IP を再生成する必要があります。
· Y は、IP に新しい機能が含まれていることを示します。 IP を再生成して、これらの新機能を含めます。
· Z は、IP に軽微な変更が含まれていることを示します。 IP を再生成して、これらの変更を含めます。

表6.

アンチTamper Lite Intel FPGA IP リリース情報

IPバージョン

アイテム

説明 20.1.0

インテル Quartus Prime バージョン

21.2

発売日

2021.06.21

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 54

フィードバックを送信

5. 高度な機能 683823 | 2023.05.23
5.5. リモート システム アップデートでの設計セキュリティ機能の使用
リモートシステムアップデート(RSU)は、構成の更新を支援するIntel Agilex 7 FPGAの機能です。 fileRSU は、構成ビットストリームの設計内容に依存しないため、認証、ファームウェアの共同署名、ビットストリームの暗号化などの設計セキュリティ機能と互換性があります。
.sof を使用した RSU イメージの構築 Files
秘密鍵をローカルに保存している場合 fileシステムでは、.sofを使用した簡素化されたフローを使用して、設計セキュリティ機能を備えたRSUイメージを生成できます。 filesを入力として指定します。.sofを使用してRSUイメージを生成するには fileリモートシステムアップデートイメージの生成のセクションの指示に従ってください。 Fileプログラミングの使用 File Intel Agilex 7 構成ユーザーガイドのジェネレーター。すべての .sof file 入力時に指定 Fileタブで[プロパティ...]ボタンをクリックし、署名および暗号化ツールの適切な設定とキーを指定します。プログラミング file ジェネレーターツールは、RSUプログラミングを作成しながら、工場とアプリケーションのイメージに自動的に署名して暗号化します。 files.
あるいは、秘密鍵をHSMに保存する場合は、quartus_signツールを使用する必要があり、そのため.rbfを使用する必要があります。 fileこのセクションの残りの部分では、.rbfでRSUイメージを生成するためのフローの変更について詳しく説明します。 filesを入力として使用できます。.rbf形式を暗号化して署名する必要があります。 file入力として選択する前に fileRSUイメージの場合、RSUブート情報は file 暗号化はせず、署名のみにしてください。プログラミング File ジェネレーターは .rbf 形式のプロパティの変更をサポートしていません files.
次の例ampファイルは、リモートシステムアップデートイメージの生成セクションのコマンドに必要な変更を示しています。 Fileプログラミングの使用 File Intel Agilex 7 構成ユーザー ガイドのジェネレーター。
.rbf を使用して初期 RSU イメージを生成する Files: コマンドの変更
.rbf を使用した初期 RSU イメージの生成から Files セクションでは、このドキュメントの前のセクションの指示に従って、ステップ 1 のコマンドを変更し、必要に応じて設計セキュリティ機能を有効にします。
例えばampleでは、署名されたファームウェアを指定します file ファームウェアの共同署名を使用している場合は、Quartus暗号化ツールを使用して各.rbfを暗号化します。 file最後にquartus_signツールを使用して各署名を行います。 file.
ステップ2でファームウェアの共同署名を有効にしている場合は、工場出荷時のイメージからブート.rbfを作成する際に追加のオプションを使用する必要があります。 file:
quartus_pfg -c factory.sof boot.rbf -o rsu_boot=ON -o fw_source=signed_agilex.zip
ブート情報.rbfを作成した後 filequartus_signツールを使用して.rbfに署名します。 fileブート情報.rbfを暗号化してはいけません file.

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 55

5. 高度な機能 683823 | 2023.05.23
アプリケーションイメージの生成: コマンドの変更
設計セキュリティ機能を備えたアプリケーション イメージを生成するには、「アプリケーション イメージの生成」のコマンドを変更して、元のアプリケーション .sof の代わりに、設計セキュリティ機能が有効になっている .rbf (必要に応じて共同署名されたファームウェアを含む) を使用します。 file:
quartus_pfg -c cosigned_fw_signed_encrypted_application.rbf secure_rsu_application.rpd -o mode=ASX4 -o bitswap=ON
工場更新イメージの生成: コマンドの変更
ブート情報.rbfを作成した後 filequartus_signツールを使用して.rbfに署名します。 fileブート情報.rbfを暗号化してはいけません file.
RSUファクトリーアップデートイメージを生成するには、ファクトリーアップデートイメージの生成のコマンドを.rbfを使用するように変更します。 file 設計セキュリティ機能を有効にし、共同署名されたファームウェアの使用を示すオプションを追加します。
quartus_pfg -c cosigned_fw_signed_encrypted_factory.rbf secure_rsu_factory_update.rpd -o mode=ASX4 -o bitswap=ON -o rsu_upgrade=ON -o fw_source=signed_agilex.zip
関連情報 Intel Agilex 7 構成ユーザーガイド
5.6. SDM暗号化サービス
Intel Agilex 7 デバイスの SDM は、FPGA ファブリック ロジックまたは HPS がそれぞれの SDM メールボックス インターフェイスを介して要求できる暗号化サービスを提供します。すべての SDM 暗号化サービスのメールボックス コマンドとデータ形式の詳細については、『Intel FPGA および構造化 ASIC のセキュリティ方法論ユーザー ガイド』の付録 B を参照してください。
SDM 暗号化サービス用の FPGA ファブリック ロジックへの SDM メールボックス インターフェイスにアクセスするには、デザインで Mailbox Client Intel FPGA IP をインスタンス化する必要があります。
HPS から SDM メールボックス インターフェイスにアクセスするための参照コードは、Intel が提供する ATF および Linux コードに含まれています。
関連情報 Mailbox Client Intel FPGA IP ユーザーガイド
5.6.1. ベンダー認定ブート
インテルは、ベンダー認定ブート機能を利用してHPSブートソフトウェアを最初から認証するHPSソフトウェアのリファレンス実装を提供しています。tagブートローダーから Linux カーネルまで。
関連情報 Intel Agilex 7 SoC セキュアブートデモデザイン

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 56

フィードバックを送信

5. 高度な機能 683823 | 2023.05.23
5.6.2. セキュアデータオブジェクトサービス
SDM メールボックスを介してコマンドを送信し、SDOS オブジェクトの暗号化と復号化を実行します。SDOS ルート キーをプロビジョニングした後、SDOS 機能を使用できます。
関連情報 セキュアデータオブジェクトサービスルートキープロビジョニング(30ページ)
5.6.3. SDM暗号化プリミティブサービス
SDM 暗号化プリミティブ サービス操作を開始するには、SDM メールボックスを介してコマンドを送信します。一部の暗号化プリミティブ サービスでは、メールボックス インターフェイスが受け入れ可能な量よりも多くのデータを SDM との間で転送する必要があります。このような場合、コマンドの形式が変更され、メモリ内のデータへのポインタが提供されます。さらに、FPGA ファブリック ロジックから SDM 暗号化プリミティブ サービスを使用するには、Mailbox Client Intel FPGA IP のインスタンス化を変更する必要があります。さらに、Enable Crypto Service パラメーターを 1 に設定し、新しく公開された AXI イニシエーター インターフェイスをデザイン内のメモリに接続する必要があります。
図21. メールボックスクライアントIntel FPGA IPでのSDM暗号化サービスの有効化

5.7. ビットストリームセキュリティ設定 (FM/S10)
FPGA ビットストリーム セキュリティ オプションは、定義された期間内に指定された機能または動作モードを制限するポリシーのコレクションです。
ビットストリーム セキュリティ オプションは、Intel Quartus Prime Pro Edition ソフトウェアで設定したフラグで構成されます。これらのフラグは、構成ビットストリームに自動的にコピーされます。
対応するセキュリティ設定 eFuse を使用することで、デバイスにセキュリティ オプションを永続的に適用できます。
構成ビットストリームまたはデバイス eFuse のセキュリティ設定を使用するには、認証機能を有効にする必要があります。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 57

5. 高度な機能 683823 | 2023.05.23
5.7.1. セキュリティオプションの選択と有効化
セキュリティオプションを選択して有効にするには、次の手順に従ってください。割り当てメニューから、デバイス、デバイスとピンのオプション、セキュリティ、その他のオプション…を選択します。図22. セキュリティオプションの選択と有効化

次に、次の例に示すように、有効にするセキュリティオプションのドロップダウンリストから値を選択します。amp上:
図 23. セキュリティ オプションの値の選択

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 58

フィードバックを送信

5. 高度な機能 683823 | 2023.05.23
以下はQuartus Prime Settings .qsfにおける対応する変更です。 file:
set_global_assignment -name SECU_OPTION_DISABLE_JTAG 「チェックオン」 set_global_assignment -name SECU_OPTION_FORCE_ENCRYPTION_KEY_UPDATE 「スティッキーオン」 set_global_assignment -name SECU_OPTION_FORCE_SDM_CLOCK_TO_INT_OSC ON set_global_assignment -name SECU_OPTION_DISABLE_VIRTUAL_EFUSES ON set_global_assignment -name SECU_OPTION_LOCK_SECURITY_EFUSES ON set_global_assignment -name SECU_OPTION_DISABLE_HPS_DEBUG ON set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_BBRAM ON set_global_assignment -name SECU_OPTION_DISABLE_PUF_WRAPPED_ENCRYPTION_KEY ON

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 59

683823 | 2023.05.23フィードバックを送信

トラブルシューティング

この章では、デバイスのセキュリティ機能を使用する際に発生する可能性のある一般的なエラーと警告メッセージ、およびそれらを解決するための対策について説明します。
6.1. Windows環境でのQuartusコマンドの使用エラー
エラー quartus_pgm: コマンドが見つかりません 説明 このエラーは、WSL を使用して Windows 環境の NIOS II Shell で Quartus コマンドを使用しようとすると表示されます。 解決策 このコマンドは Linux 環境で機能します。Windows ホストの場合は、次のコマンドを使用します: quartus_pgm.exe -h 同様に、quartus_pfg、quartus_sign、quartus_encrypt などの他の Quartus Prime コマンドにも同じ構文を適用します。

インテルコーポレーション。 全著作権所有。 Intel、Intelロゴ、およびその他のIntelマークは、IntelCorporationまたはその子会社の商標です。 インテルは、FPGAおよび半導体製品のパフォーマンスをインテルの標準保証に従って現在の仕様に保証しますが、通知なしにいつでも製品およびサービスを変更する権利を留保します。 インテルは、インテルが書面で明示的に同意した場合を除き、本書に記載されている情報、製品、またはサービスの適用または使用から生じる責任または義務を負わないものとします。 インテルのお客様は、公開されている情報を信頼する前、および製品やサービスを注文する前に、最新バージョンのデバイス仕様を入手することをお勧めします。 *他の名前やブランドは他人の所有物として主張される場合があります。

ISO 9001:2015登録

6. トラブルシューティング 683823 | 2023.05.23

6.2. 秘密鍵警告の生成

警告:

指定されたパスワードは安全ではないと考えられます。Intel では、少なくとも 13 文字のパスワードを使用することを推奨します。OpenSSL 実行可能ファイルを使用してパスワードを変更することをお勧めします。

openssl ec -in -外-aes256

説明
この警告はパスワードの強度に関連しており、次のコマンドを発行して秘密鍵を生成しようとしたときに表示されます。

quartus_sign –family=agilex –operation=make_private_pem –curve=secp3841 ルート.pem

解決策: openssl 実行可能ファイルを使用して、より長く強力なパスワードを指定します。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 61

6. トラブルシューティング 683823 | 2023.05.23
6.3. Quartus プロジェクトへの署名キーの追加エラー
エラー …File ルートキー情報が含まれています…
説明
署名キー.qkyを追加した後 file Quartusプロジェクトに.sofを再アセンブルする必要がある file. 再生成された.sofを追加すると file Quartus Programmerを使用して選択したデバイスに次のエラーメッセージが表示された場合、 file ルートキー情報が含まれています:
追加に失敗しましたfile-path-name>をプログラマーに渡します。 file ルートキー情報(.qky)が含まれています。ただし、プログラマーはビットストリーム署名機能をサポートしていません。プログラミングを使用できます。 File ジェネレータを変換する file 署名されたRaw Binary file (.rbf) を設定用です。
解決
Quartusプログラミングを使用する file ジェネレータを変換する file 署名されたRawバイナリに File 設定用の .rbf。
関連情報 quartus_sign コマンドを使用したコンフィグレーション ビットストリームの署名 (13 ページ)

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 62

フィードバックを送信

6. トラブルシューティング 683823 | 2023.05.23
6.4. Quartus Primeプログラミングの生成 File 失敗しました
エラー
エラー (20353): QKY の公開鍵の X が PEM の秘密鍵と一致しません file.
エラー (20352): Python スクリプト agilex_sign.py を介してビットストリームに署名できませんでした。
エラー: Quartus Prime プログラミング File ジェネレーターは失敗しました。
説明 間違った秘密鍵.pemを使用して構成ビットストリームに署名しようとすると file または.pem file プロジェクトに追加された .qky と一致しない場合、上記の一般的なエラーが表示されます。 解決策 ビットストリームに署名するには、正しい秘密キー .pem を使用していることを確認してください。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 63

6. トラブルシューティング 683823 | 2023.05.23
6.5. 不明な引数エラー
エラー
エラー (23028): 不明な引数「ûc」。有効な引数については、-help を参照してください。
エラー (213008): プログラミング オプション文字列「ûp」が不正です。有効なプログラミング オプションの形式については、–help を参照してください。
説明.pdfからコマンドラインオプションをコピーして貼り付けると、 file Windows NIOS II Shell では、上記のような不明な引数エラーが発生する場合があります。解決策 このような場合は、クリップボードから貼り付けるのではなく、コマンドを手動で入力してください。

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 64

フィードバックを送信

6. トラブルシューティング 683823 | 2023.05.23
6.6. ビットストリーム暗号化オプションが無効になっているエラー
エラー
暗号化を完了できません file ビットストリーム暗号化オプションを無効にしてコンパイルされたため、.sof が設計されました。
説明 ビットストリーム暗号化オプションを無効にしてプロジェクトをコンパイルした後、GUI またはコマンドライン経由でビットストリームを暗号化しようとすると、Quartus は上記のようにコマンドを拒否します。
解決策 GUI またはコマンド ライン経由でビットストリーム暗号化オプションを有効にしてプロジェクトをコンパイルしていることを確認します。このオプションを GUI で有効にするには、このオプションのチェック ボックスをオンにする必要があります。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 65

6. トラブルシューティング 683823 | 2023.05.23
6.7. キーへの正しいパスの指定
エラー
エラー (19516): プログラミングが検出されました File ジェネレータ設定エラー: 'key_ が見つかりませんfile'。 file 予想される場所に配置されているか、設定を更新してください。
エラー (19516): プログラミングが検出されました File ジェネレータ設定エラー: 'key_ が見つかりませんfile'。 file 予想される場所に配置されているか、設定を更新してください。
説明
保存されているキーを使用している場合は、 file システムでは、ビットストリームの暗号化と署名に使用されるキーの正しいパスが指定されていることを確認する必要があります。プログラミング File ジェネレーターは正しいパスを検出できないため、上記のエラー メッセージが表示されます。
解決
Quartus Prime設定.qsfを参照してください。 file キーの正しいパスを見つけます。絶対パスではなく相対パスを使用するようにしてください。

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 66

フィードバックを送信

6. トラブルシューティング 683823 | 2023.05.23
6.8. サポートされていない出力の使用 File タイプ
エラー
quartus_pfg -c design.sof 出力_file.ebf -o ファイナライズ操作=ON -o qek_file=ae.qek -o 署名=ON -o pem_file=sign_private.pem
エラー (19511): サポートされていない出力 file タイプ(ebf)を表示します。サポートされているものを表示するには、「-l」または「–list」オプションを使用します。 file 情報を入力します。
説明 Quartusプログラミングの使用中 File 暗号化され署名された構成ビットストリームを生成するジェネレーターでは、サポートされていない出力の場合、上記のエラーが表示されることがあります。 file タイプが指定されています。解決策 -lまたは–listオプションを使用して、サポートされているタイプの一覧を表示します。 file 種類。

フィードバックを送信

Intel Agilex® 7 デバイス セキュリティ ユーザー ガイド 67

683823 | 2023.05.23フィードバックを送信
7. Intel Agilex 7 デバイス セキュリティ ユーザー ガイド アーカイブ
このユーザー ガイドの最新版および以前のバージョンについては、『Intel Agilex 7 デバイス セキュリティ ユーザー ガイド』を参照してください。IP またはソフトウェア バージョンがリストされていない場合は、以前の IP またはソフトウェア バージョンのユーザー ガイドが適用されます。

インテルコーポレーション。 全著作権所有。 Intel、Intelロゴ、およびその他のIntelマークは、IntelCorporationまたはその子会社の商標です。 インテルは、FPGAおよび半導体製品のパフォーマンスをインテルの標準保証に従って現在の仕様に保証しますが、通知なしにいつでも製品およびサービスを変更する権利を留保します。 インテルは、インテルが書面で明示的に同意した場合を除き、本書に記載されている情報、製品、またはサービスの適用または使用から生じる責任または義務を負わないものとします。 インテルのお客様は、公開されている情報を信頼する前、および製品やサービスを注文する前に、最新バージョンのデバイス仕様を入手することをお勧めします。 *他の名前やブランドは他人の所有物として主張される場合があります。

ISO 9001:2015登録

683823 | 2023.05.23フィードバックを送信

8. Intel Agilex 7 デバイス セキュリティ ユーザー ガイドの改訂履歴

ドキュメントバージョン2023.05.23
2022.11.22 2022.04.04 2022.01.20
2021.11.09

ドキュメント / リソース

Intel Agilex 7 デバイス セキュリティ [pdf] ユーザーマニュアル
Agilex 7 デバイス セキュリティ、Agilex 7、デバイス セキュリティ、セキュリティ

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *