• 検索結果がありません。

3 MAX 10 FPGA コンフィグレーション・デザインのガイドライン

3.8 AES 暗号化

この項では、デザイン・セキュリティー向けのAES 暗号化の適用に関するガイドラインについて詳しく説 明します。 MAX 10 デバイスにデザイン・セキュリティーを適用するために、大きく分けて2 段階の手順 があります。1 つめは

.ekp

(Encryption Key Programming)ファイルの生成であり、2 つ目はデバイ スへの

.ekp

ファイルのプログラミングです。

.ekp

ファイルは、プログラミングに使用するハードウェアもしくはシステムに応じて異なる形式を有し

ます。 Quartus Prime ソフトウェアがサポートする3 つのファイル形式を以下に示します。

.jbc

(JAM Byte Code)ファイル

.jam

(JAM Standard Test and Programming Language (STAPL) Format)ファイル

.svf

(Serial Vector Format)ファイル

.ekp

ファイルタイプのみ Quartus Prime ソフトウェアから自動的に生成されます。

.jbc

.jam

、お よび

.svf

ファイルがキーのプログラミングに必要であれば、 Quartus Prime ソフトウェアを使用し てこれらのファイルを生成する必要があります。

注意: Intelは、

.ekp

ファイルを秘密にしておくように推奨します。

3.8.2 .ekp ファイルからの.jam/.jbc/.svf ファイルの生成

.ekp

ファイルから

.jam

/

.jbc

/

.svf

を生成するには以下のステップを実行します。

1. Tools メニューでProgrammer をクリックし、Programmer ダイアログボックスを開きま す。

2. Mode リストで、プログラミング・モードとしてJTAG を選択します。

3. Hardware Setup をクリックし、Hardware Setup ダイアログボックスを開きます。

4. currently selected hardware list リストでプログラミング・ハードウェアとして USBBlaster を選択し、Done をクリックします。

5. Add File をクリックし、Select Programmer File ダイアログボックスを開きます。

6. File name フィールドに

<filename>.ekp

と入力しOpen をクリックします。

7. 追加した.ekp ファイルを選択しProgram/Configure をクリックします。

8. File メニューでCreate/Update にカーソルを合わせ、Create JAM, SVF, or ISC File をクリックします。Create JAM, SVF, or ISC File ダイアログボックスが表示されます。

9. File format フィールドで

.ekp

ファイルに必要なファイル形式を選択します。

.jam

(JEDEC STAPL Format)

.jbc

(Jam STAPL Byte Code)

.svf

(Serial Vector Format)

10. File name フィールドにファイル名を入力し、あるいはbrowse をクリックしてファイルを探し、

選択します。

11. OK をクリックし、

.jam

.jbc

、または

.svf

ファイルを生成します。

3.8.3 .ekp ファイルと暗号化された POF ファイルのプログラミング

暗号化された

.pof

ファイルおよび

.ekp

ファイルをプログラミングする2 つの手法があります。

.ekp

および

.pof

ファイルを個別にプログラミングする

注意:

Allow encrypted POF only

のオプションが無効にされた際のみ、.ekp と

.pof

ファイルを個別にプログラミングすることができます。

.ekp

.pof

に統合し、両方をまとめてプログラミングする

3.8.3.1 .ekp ファイルと暗号化された.pof ファイルを個別にプログラミングする

Quartus Prime ソフトウェアを使用して

.ekp

と暗号化された

.pof

を個別にプログラミングするに は、以下のステップを実行します。

1. Quartus Prime プログラマーのMode リストで、プログラミング・モードとしてJTAG を選択し ます。

2. Hardware Setup をクリックし、Hardware Setup ダイアログボックスを開きます。

3. Currently selected hardware リストでプログラミング・ハードウェアとしてUSBBlaster を選択し、Done をクリックします。

4. Add File をクリックし、Select Programmer File ダイアログボックスを開きます。

5. File name フィールドに

<filename>.ekp

と入力しOpen をクリックします。

6. 追加した

.ekp

ファイルを選択しProgram/Configure をクリックします。

7. Start をクリックしてキーをプログラムします。

注意: Quartus Prime ソフトウェアはメッセージウィンドウでキー・プログラミング動作の成功ま たは失敗についての情報を提供します。

.ekp

がプログラミングされると、これとは別

.pof

をプログラミングできます。

.ekp

によってプログラミングされた内部フラッシュに

セキュリティー・キーを保持するには、続けて以下のステップを実行します。

8. 選択したデバイスにプログラミングする

.pof

を選択します。

9. CFM およびUFM のために更新する必要がある機能ブロックのみを子レベルでチェックします。プ

ログラマーGUI を使用する際には、動作を親レベルでチェックしないでください。

10.すべての設定をセットした後で、Start をクリックしてプログラミングを開始します。

3.8.3.2 .ekp を.POF に統合しプログラミングする

Quartus Prime ソフトウェアを使用して

.ekp

.pof

に統合し、両方をまとめてプログラミングす るには、以下のステップを実行します。

1. Quartus Prime プログラマーのMode リストで、プログラミング・モードとしてJTAG を選択し ます。

2. Hardware Setup をクリックし、Hardware Setup ダイアログボックスを開きます。

3. Currently selected hardware リストでプログラミング・ハードウェアとしてUSBBlaster を選択し、Done をクリックします。

4. 左側のペインのAuto Detect ボタンをクリックします。

5. デバイスにプログラミングする

.pof

を選択します。

6.

<yourpoffile.pof>

を選択して右クリック し、Add EKP File を選択して、

.ekp

ファイ ルを

.pof

ファイルに統合します。

.ekp

.pof

に統合されたら、統合された

.pof

を新しい

.pof

として保存できます。新しく保 存されたファイルは

.ekp

の情報と統合されたオリジナル

.pof

を有します。

7. Program/Configure カラムで

<yourpoffile.pof>

を選択します。

8. すべての設定をセットした後で、Start をクリックしてプログラミングを開始します。

3.8.4 内部コンフィグレーションでの暗号化

内部コンフィグレーション時に、FPGAは格納しているキーで

.pof

を復号化し、復号データをコンフィ グレーションに使用します。コンフィグレーション中にロードされるコンフィグレーション・イメージも暗 号化設定とConfigure device from CFM0 only 設定に影響されます。

表 30. 暗号化設定、暗号化キーとCONFIG_SEL ピン設定に基づくコンフィグレーション・イメージ

以下の表にConfigure device from CFM0 only が無効にされている際のシナリオを示します。キーX とキーY はデバイスお よびコンフィグレーション・イメージに含まれているセキュリティー・キーです。

コンフィグレー ション・イメー

ジモード

CFM0(イメージ0)

暗号化キー CFM1(イメージ1)

暗号化キー デバイスに格納

されたキー Allow encrypted

POF only

CONFIG_SE

L ピン パワーアップ後にロー ドされるデザイン

シングル 非暗号化 使用不可 キーなし 無効 0 イメージ0

シングル 非暗号化 使用不可 キーなし 無効 1 イメージ0

シングル 非暗号化 使用不可 キーX 無効 0 イメージ0

シングル 非暗号化 使用不可 キーX 無効 1 イメージ0

シングル 非暗号化 使用不可 キーX 有効 0 コンフィグレーション

不成功

シングル 非暗号化 使用不可 キーX 有効 1 コンフィグレーション

不成功

シングル キーX 使用不可 キーなし 有効 0 コンフィグレーション

不成功

シングル キーX 使用不可 キーなし 有効 1 コンフィグレーション

不成功

シングル キーX 使用不可 キーX 有効 0 イメージ0

シングル キーX 使用不可 キーX 有効 1 イメージ0

シングル キーX 使用不可 キーY 有効 0 コンフィグレーション

不成功

シングル キーX 使用不可 キーY 有効 1 コンフィグレーション

不成功

デュアル 非暗号化 非暗号化 キーなし 無効 0 イメージ0

デュアル 非暗号化 非暗号化 キーなし 無効 1 イメージ1

デュアル キーX 非暗号化 キーなし 無効 0 イメージ1 (11)

デュアル キーX 非暗号化 キーなし 無効 1 イメージ1

デュアル キーX 非暗号化 キーX 無効 0 イメージ0

デュアル キーX 非暗号化 キーX 無効 1 イメージ1

continued...

(11) イメージ0 でのコンフィグレーションが失敗すると、デバイスは自動的にイメージ1 をロードします。

コンフィグレー ション・イメー

ジモード

CFM0(イメージ0)

暗号化キー CFM1(イメージ1)

暗号化キー デバイスに格納 されたキー

Allow encrypted

POF only

CONFIG_SE

L ピン パワーアップ後にロー ドされるデザイン

デュアル キーX 非暗号化 キーX 有効 0 イメージ0

デュアル キーX 非暗号化 キーX 有効 1 イメージ0

デュアル キーX 非暗号化 キーY 有効 0 コンフィグレーション

不成功

デュアル キーX 非暗号化 キーY 有効 1 コンフィグレーション

不成功

デュアル キーX キーX キーなし 有効 0 コンフィグレーション

不成功

デュアル キーX キーX キーなし 有効 1 コンフィグレーション

不成功

デュアル キーX キーX キーX 有効 0 イメージ0

デュアル キーX キーX キーX 有効 1 イメージ1

デュアル キーX キーY キーX 有効 0 イメージ0

デュアル キーX キーY キーX 有効 1 イメージ0 (12)

デュアル キーY キーY キーY 有効 0 イメージ0

デュアル キーY キーY キーY 有効 1 イメージ1

デュアル キーX キーY キーY 有効 0 イメージ1(11)

デュアル キーX キーY キーY 有効 1 イメージ1

表 31. 暗号化設定と暗号化キーに基づくコンフィグレーション・イメージ

以下の表にConfigure device from CFM0 only が有効にされている際のシナリオを示します。

CFM0(イメージ0)暗号化キー デバイスに格納されたキー Allow encrypted POF

only パワーアップ後にロードされるデザイ

非暗号化 キーなし 無効 イメージ0

非暗号化 キーX 無効 イメージ0

非暗号化 キーY 無効 イメージ0

非暗号化 キーなし 有効 コンフィグレーション不成功

非暗号化 キーX 有効 コンフィグレーション不成功

非暗号化 キーY 有効 コンフィグレーション不成功

キーX キーなし 無効 コンフィグレーション不成功

キーX キーX 無効 イメージ0

キーX キーY 無効 コンフィグレーション不成功

キーX キーなし 有効 コンフィグレーション不成功

キーX キーX 有効 イメージ0

キーX キーY 有効 コンフィグレーション不成功

continued...

(12) イメージ1 でのコンフィグレーションが失敗すると、デバイスは自動的にイメージ0 をロードします。