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

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

2.2.2. SDMファームウェアに共同署名する

Secure Device Manager (SDM) ファームウェアへの共同署名は、コンフィグレーション・ビットストリームへの署名とは別に行います。新しい公開鍵エントリーを備えた署名チェーンを作成し、SDMファームウェアに署名するための排他的アクセス許可を持たせます。quartus_sign ツールを使用して、該当するSDMファームウェア・ファイルに署名します。次に、共同署名付きファームウェア・ファイルを提供します。その手順は、この次のセクションで説明しますが、コンフィグレーション・ビットストリームの署名になります。共同署名付きファームウェアが含まれるのは、コンフィグレーション・ビットストリーム・セカンダリー・プログラミング・ファイルが作成されるときです。これは、他のコンフィグレーション・ビットストリーム・セクションに署名する前です。

SDMファームウェア .zip ファイルを <install_dir>/quartus/common/devinfo/programmer/firmware/Stratix10.zip から作業ディレクトリーにコピーします。次のコマンドを使用して、新しい署名チェーンを作成し、SDMファームウェアに署名します。
  1. 新しい署名キーペアを作成します。
    1. 新しい署名キーペアをファイルシステム上に作成します。
      quartus_sign --family=stratix10 --operation=make_private_pem \  
      --curve=secp384r1 firmware1_private.pem 
      quartus_sign --family=stratix10 --operation=make_public_pem \  
      firmware1_private.pem firmware1_public.pem 
    2. 新しい署名キーペアをHSM内に作成します。
      pkcs11-tool --module=/usr/local/lib/softhsm/libsofthsm2.so \
      --token_label s10-token --login --pin s10-token-pin \
      --keypairgen -–mechanism ECDSA-KEY-PAIR-GEN \
      --key-type EC:secp384r1 --usage-sign --label firmware1 --id 1
  2. 新しい公開鍵を含む新しい署名チェーンを作成します。
    quartus_sign --family=stratix10 --operation=append_key \ 
    --previous_pem=root_private.pem --previous_qky=root.qky \ 
    --permission=0x1 --cancel=1 \
    firmware1_public.pem firmware1_sign_chain.qky
    quartus_sign --family=stratix10 --operation=append_key \
    --module=softHSM --module_args="--token_label=s10-token \
    --user_pin=s10-token-pin \
    --hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so" \
    --previous_pem=root --previous_qky=root.qky \
    --permission=1 --cancel=1 firmware1 firmware1_sign_chain.qky
    
  3. ファームウェア .zip ファイルに署名します。このツールでは、.zip ファイルを自動でアンパックし、すべてのファームウェア .cmf ファイルに個別に署名してから .zip ファイルを再構築し、それを次のセクションのツールで使用できるようにします。
    quartus_sign --family=stratix10 --operation=sign \
    --qky=firmware1_sign_chain.qky \  
    --pem=firmware1_private.pem Stratix10.zip signed_Stratix10.zip
    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" --pem=firmware1 \
    --qky=firmware1_sign_chain.qky Stratix10.zip signed_Stratix10.zip