Arria 10 SoCセキュア・ブート・ユーザーガイド

ID 683060
日付 3/29/2016
Public
ドキュメント目次

1.9.1. 署名付きの第2ステージ・ブートローダ・イメージの作成

以下は、署名付きの第2ステージ・ブートローダ・イメージを作成する手順の一例です。

  1. ブートローダ・イメージ認証に向けて、ユーザ署名鍵の種類を持つセキュア署名鍵を作成する
  2. SoC EDSを使用して、セキュア署名鍵を持つ署名付きのブートローダ・イメージを生成・ビルドする
  3. 署名付きのブートローダ・イメージを使用してセキュア・ブートを実施する

ユーザ署名鍵の種類については「セキュア署名鍵のプログラミング」に記載しています。

  1. 以下のコマンドを使用し、エンベデッド・コマンドシェルからブートローダ・ジェネレータを起動します。
    $ bsp-editor &

    ブートローダ・ジェネレータについての基本的な情報は、Altera SoC Embedded Design Suite User Guideの「Second Stage Bootloader Support Package Generator」を参照してください。

  2. Arria 10 HPSに向けて新たにブートローダ BSPを作成します。
    ブートローダの作成方法については、Altera SoC Embedded Design Suite User Guideの「BSP Generator Graphical User Interface」を参照してください。
    図 11. ブートローダ・ジェネレータを使用した新規の第2ステージ・ブートローダの作成ブートローダ・ジェネレータ・ダイアログボックス
  3. エンベデッド・コマンドシェルで、ディレクトリを新しく作成されたブートローダ・フォルダ(BSPターゲット・ディレクトリ)に変更します。以下はその例です。
    $ cd <SoC EDS installation directory>/examples/hardware/ \
        a10_soc_devkit_ghrd_sb_auth/software/uboot_bsp
  4. 次のmakeコマンドを入力し、鍵のペア・ファイル内に保存される署名鍵のペアを生成します。
    $ make generate-signing-key-pair-file
  5. 次のOpenSSLコマンドを入力し、鍵のペア・ファイルの内容を表示し、それが正しく作成されていることを確認します。
    $ openssl ec –in root_key.pem –noout –text

    この鍵ファイルの内容は以下に類似した内容となります。

    
    read EC key
    Private-Key: (256 bit)
    priv:
    00:85:fa:a0:18:e8:97:72:fd:d4:19:07:c0:d8:09:
    ae:e1:73:e8:80:fa:cf:35:bb:12:24:19:ec:7f:51:
    56:34:f4
    pub:
    04:c1:a7:ba:ed:40:d6:0e:cc:08:97:c4:10:16:ac:
    81:8b:33:73:ce:e2:d7:af:d6:78:ac:ea:48:f7:10:
    b2:80:c4:c4:ef:de:d5:c5:03:76:c5:1c:62:04:72:
    e7:1f:f7:32:aa:4c:a6:83:70:ae:b5:39:25:b1:e6:
    51:0a:3a:74:ba
    ASN1 OID: prime256v1
    $
    
  6. 以下の図で示すように、セキュリティ設定を認証に適用します。
    図 12. ブートローダ・ジェネレータ内のセキュリティ設定
    • メイン・ブートローダ生成設定でenable_bootloader_signingをオンにします。
    • signing_key_typeuserに設定します。
    • signing_key_pair_fileを前の手順で作成したファイルの名称に設定します。
  7. Generate をクリックし、セキュア・ブートローダ・ソースを生成します。
  8. ブートローダ・ジェネレータを閉じます。
  9. コマンド・ラインで、ブートローダ・ソース・フォルダに移動します。
  10. makeコマンドを使用し、ブートローダ・イメージをビルドします。
    $ make
  11. 以下のファイルが存在することを確認し、署名付きのブートローダ・イメージがビルドされたことを確認します。

    u-boot_w_dtb-mkpimage-encrypted-x4.abin

  12. 手順11の署名付きのブートローダ・イメージを適切なフラッシュ・ブート・デバイスのパーティションに格納し、デバイスをリセットします。