インテル® Stratix® 10 デバイス・セキュリティー・ユーザーガイド

ID 683642
日付 9/02/2021
Public
ドキュメント目次

3.3.4. パーシャル・リコンフィグレーション・ビットストリームの暗号化

ビットストリーム暗号化のイネーブルは、パーシャル・リコンフィグレーションを使用する一部のインテルStratix 10 FPGAデザインでできます。

パーシャル・リコンフィグレーション・デザインでは、Hierarchical Partial Reconfiguration (HPR) またはStatic Update Partial Reconfiguration (SUPR) を使用する場合、ビットストリーム暗号化はサポートしません。同じ暗号化キーを使用して、静的領域とすべてのペルソナを暗号化してください。デザインに複数のPR領域が含まれている場合は、すべてのペルソナを暗号化してください。パーシャル・リコンフィグレーション・ビットストリームの暗号化をイネーブルするには、すべてのデザインリビジョンで同じ手順に従います。

パーシャル・リコンフィグレーション・ビットストリームの暗号化をイネーブルするには、Assignments > Device > Device and Pin Options > Securityメニューを選択します。暗号化キーの格納場所を選択します。
図 5. パーシャル・リコンフィグレーション・ビットストリームの暗号化設定

ベースデザインとリビジョンをコンパイルすると、ソフトウェアによって1つの .sof ファイルと1つ以上の .pmsf ファイルが生成され、ペルソナを表します。暗号化された署名付きプログラミング・ファイルを .sof および .pmsf ファイルから作成します。その方法は、パーシャル・リコンフィグレーションをイネーブルしていないデザインの場合と同様です。

次のコマンドを使用して、コンパイル済みのペルソナ .pmsf ファイルを変換し、部分的に暗号化された .rbf ファイルにします。
quartus_pfg -c -o finalize_encryption_later=ON \ 
-o sign_later=ON encryption_enabled_persona1.pmsf persona1.rbf
quartus_encrypt コマンド・ライン・ツールを使用して、ビットストリーム暗号化を確定します。
quartus_encrypt --family=stratix10 \  
--operation=ENCRYPT --key=aes_root.qek persona1.rbf encrypted_persona1.rbf
quartus_sign コマンド・ライン・ツールを使用して、暗号化されたコンフィグレーション・ビットストリーム暗号化を確定します。
quartus_sign --family=stratix10 --operation=SIGN \ 
--qky=design0_sign_chain.qky \ 
--pem=design0_sign_private.pem encrypted_persona1.rbf \ 
signed_encrypted_persona1.rbf 
quartus_sign --family=stratix10 --operation=SIGN \ 
--module=softHSM --module_args="--token_label=s10-token \
--user_pin=s10-token-pin --hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so" \
--qky=design0_sign_chain.qky --pem=design0_sign encrypted_persona1.rbf \
signed_encrypted_persona1.rbf