AN 556: インテルFPGAにおけるデザイン・セキュリティー機能の使用

ID 683269
日付 11/12/2019
Public
ドキュメント目次

インテル® Quartus® Prime開発ソフトウェアを使用したシングルデバイス .ekpファイルの生成およびコンフィグレーション・ファイルの暗号化

シングルデバイス.ekpファイルを生成し、コンフィグレーション・ファイルを暗号化するには、次の手順に従います。
  1. デザイン・セキュリティー機能をイネーブルするには、インテル FPGA技術サポートからライセンスファイルを入手してください。
  2. インテル® Quartus® Prime開発ソフトウェアを起動します。
  3. ToolsメニューのLicense Setupをクリックします。OptionsダイアログボックスにLicense Setupオプションが表示されます。
  4. License fileフィールドに、ライセンスファイルの位置およびファイル名を入力するか、あるいはライセンスファイルを探して選択します。
  5. OKをクリックします。
  6. 次のいずれかのオプションを使用してデザインをコンパイルします。
    1. Processingメニューで、Start Compilationをクリックします。
    2. Processing メニューで、Startにカーソルを合わせ、Start Assemblerをクリックします。
    暗号化されていないSRAM Object File (.sof) が生成されます。
  7. FileメニューのConvert Programming Filesをクリックします。Convert Programming Filesダイアログボックスが表示されます。
    1. Convert Programming Filesダイアログボックスで、プログラミング・ファイル・タイプをProgramming file typeの一覧から選択します。
    2. 該当する場合、適切なコンフィグレーション・デバイスをConfiguration deviceの一覧から選択します。
    3. Modeの一覧からモードを選択します。
    4. ファイル名をFile nameフィールドに入力するか、あるいはファイルを探して選択します。
    5. Input files to convertセクションの下のSOF Dataをクリックします。
    6. Add Fileをクリックし、Select Input Fileダイアログボックスを開きます。
    7. 暗号化されていないSOFファイルを探して、Openをクリックします。
    8. Input files to convertセクションの下のSOFファイル名をクリックします。フィールドが強調表示されます。
    9. Propertiesをクリックすると、SOF Files Properties: Bitstream Encryptionダイアログボックスが表示されます。
    10. SOF Files Properties: Bitstream Encryptionダイアログボックスで、Generate encrypted bitstreamをオンにします。
    11. Generate key programming fileをオンにし、.ekp のファイルパスとファイル名をテキストエリアに入力するか、あるいは <filename>.ekp を探して選択します。
    12. 20nm FPGAのみの追加手順: Enable volatile security key checkボックスをオンにし、.sof ファイルを揮発性セキュリティー・キーで暗号化するか、オフにして不揮発性セキュリティー・キーを使用します。
    13. 20nm FPGAのみの追加手順: Generate encryption lock fileをオンにし、.qlk ファイルパスとファイル名を挿入するか、目的の <filename>.qlk を探します。
    14. .keyファイルまたはAddボタンを使用して、プルダウンリストにキーを追加します。AddボタンとEditボタンをクリックすると、Key Entryダイアログボックスが表示されます。Deleteボタンをクリックすると、現在選択されているキーがプルダウンリストから削除されます。
      注: 40nm FPGAでは、2つの256ビットキーを入力する必要があります。暗号化は、2つの256ビットキーの組み合わせから派生しています。28nmおよび20nm FPGAでは、単一の256ビットキーを入力する必要があります。最終的な暗号化キーは、一方向関数を使用して派生します。
      .keyファイルオプションを使用すると、1つまたは2つのキーファイルを、対応するドロップダウンボックスで指定できます。異なるファイルをKey 1フィールドとKey 2フィールドに使用することも、1つの.keyファイルを両方のフィールドに使用することもできます。
      .keyファイルはプレーン・テキスト・ファイルで、その各行はキーを表しています。ただし、「#」から始まる行の場合は除きます。「#」記号は、コメントを示すために使用されます。それぞれの有効キーの行には、次のフォーマットが含まれています。 <key identity><white space><256-bit hexadecimal key>
      # This is an example key file
      key1 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF
      key2 ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789
      キーIDは英数字からなる名前で、キーの識別のために使用されます (キーファイルのエントリーに類似しています) 。またこのキーは、Show entered keysボタンがオフになっているときにテキスト表示されます。このキーが完全なキーと一緒に表示されるのは、Show entered keysがオンになっているときです。
      プルダウンリストのキーは、.keyファイルに保存できます。対応するSaveボタンをクリックしてキーを保存し、標準のFileダイアログボックスを表示してください。プルダウンリスト内のすべてのキーは、選択または作成された .keyファイルに保存されます。
      Key Entry Methodを選択して、オンスクリーン・キーパッドまたはキーボードで暗号化キーを入力してください。
      オンスクリーン・キーパッドを使用すると、キーパッドを使用したキーの入力ができます。キーを選択し、オンスクリーン・キーパッドをクリックして値を入力します 。オプションで、キーを入力時に表示することもできます。このオプションを使用すると、キーを確認する必要がありません。
      オンスクリーン・キーパッドの使用中は、キーボードでキーを入力しようとすると、ポップアップが表示され、入力したキーは無視されます。あるいは、キーボードから暗号化キーを入力することもできます。
      1. デザイン・セキュリティー機能の免責事項をお読みください。デザイン・セキュリティー機能の免責事項に同意・承認する場合は、acknowledgment ボックスをオンにしてください。
      2. OKをクリックします。
    15. 20nm FPGAのみの追加手順: Security Optionsの下の、Disable external partial reconfigurationの一覧からレベルを選択します。
    16. 20nm FPGAのみの追加手順: Security Optionsの下の、Disable key-related JTAG instructionsの一覧からレベルを選択します。
    17. 20nm FPGAのみの追加手順: Security Optionsの下の、Disable other extended JTAG instructionsの一覧からレベルを選択します。
  8. Convert Programming Filesダイアログボックスで、OKをクリックします。 <filename>.ekpが、暗号化されたコンフィグレーション・ファイルと同じプロジェクト・ディレクトリーに生成されます。
  9. ToolsメニューでProgrammerをクリックし、Programmerダイアログボックスを開きます。
  10. Modeの一覧で、プログラミング・モードにJTAGを選択します。
  11. Hardware Setupをクリックし、Hardware Setupダイアログボックスを開きます。
    1. 現在選択されているハードウェアの一覧から、Intel FPGA Ethernet Cableをプログラミング・ハードウェアとして選択します。
    2. Doneをクリックします。
  12. Add File をクリックし、Select Programmer File ダイアログボックスを開きます。
    1. <filename>.ekp をタイプしてFile nameフィールドに入力します。
    2. Openをクリックします。
  13. 追加した.ekpファイルを強調表示して、Program/Configureをクリックします。
  14. Fileメニューで、Create/Updateにカーソルを合わせ、Create JAM, SVF, or ISC Fileをクリックします。Create JAM, SVF, or ISC Fileダイアログボックスが表示されます。
  15. File formatフィールドの.ekpファイルに対して、必要なファイル形式 (JEDEC STAPL Format [.jam]) を選択します。
  16. ファイル名をFile nameフィールドに入力するか、もしくはファイルを探して選択します。
  17. OKをクリックして.jamファイルを生成します。
  18. ToolsメニューでProgrammer Optionsをクリックし、Programmer Optionsダイアログボックスを開きます。
    注: 不揮発性の安全なデザイン機能の場合は、Configure volatile design security keyをオフにして、.ekpファイルの不揮発性.svfファイルを生成してください。
  19. OKをクリックします。
  20. 15 から17 を繰り返して、.ekpファイルの.svfファイルを生成します。Create JAM, SVF, or ISC Fileダイアログボックスのデフォルト設定を使用し、.ekpファイル.svfファイルを生成します。