非対称キー暗号化 - 2022.1 日本語

Vivado Design Suite ユーザー ガイド: Dynamic Function eXchange (UG909)

Document ID
UG909
Release Date
2022-06-07
Version
2022.1 日本語

Dynamic Function eXchange なしでは不可能な新しいアプリケーションがあります。Dynamic Function eXchange と非対称暗号化を組み合わせると、FPGA コンフィギュレーション ファイルをより確実に保護できるようになります。非対称暗号化の詳細は、ウィキペディアの「公開鍵暗号」トピックを参照してください。

非対称キー暗号化 では、グレーで示された部分の機能を FPGA の物理パッケージ内にインプリメントできます。cleartext の情報および秘密キーが保護されたコンテナーの外に漏洩することはありません。

図 1. 非対称キー暗号化
Page-1 Sheet.8 Sheet.1 Public Key Public Key Sheet.2 Private Key Private Key Sheet.9 f f Sheet.12 Sheet.10 cleartext cleartext Sheet.11 Sheet.13 Sheet.14 ciphertext ciphertext Sheet.15 Sheet.16 f f Sheet.17 Sheet.18 cleartext cleartext Sheet.19 Standard Arrow.490 Standard Arrow.21 Standard Arrow.483 Standard Arrow.23 Standard Arrow.24 Sheet.25 Key Co-generation Key Co-generation Graphic ID: HW - Fig# only X12022 X12022 Sheet.4

このデザインの実際のインプリメンテーションでは、初期 BIT ファイルは暗号化されていないデザインで、機密情報は含まれていません。初期デザインには、公開キーと秘密キーのペアを生成するアルゴリズムと、ホスト、FPGA、および ICAP を接続するインターフェイスのみが含まれます。

初期 BIT ファイルが読み込まれた後、FPGA で公開キーと秘密キーのペアが生成されます。公開キーはホストに送信され、ホストはこれを使用してパーシャル BIT ファイルを暗号化します。暗号化されたパーシャル BIT ファイルは FPGA にダウンロードされ、その FPGA 内で復号化され、ICAP に送信されて、FPGA がパーシャル リコンフィギュレーションされます (非対称キー暗号化)。

図 2. 暗号化されたパーシャル BIT ファイルの読み込み

パーシャル BIT ファイルが FPGA デザインの大部分を占め、スタティック デザインのロジックは FPGA リソースのほんの一部しか使用しない場合があります。

これには、次のような利点があります。

  • 公開キーと秘密キーのペアをいつでも再生成できます。ホストから新しいコンフィギュレーションがダウンロードされたときに、別の公開キーで暗号化できます。パワーオン リセットの後など FPGA が同じパーシャル BIT ファイルでコンフィギュレーションされる場合でも、別の公開キーが使用されます。
  • 秘密キーは SRAM に格納されます。FPGA の電源が切れると、秘密キーも失われます。
  • システムが盗難に遭い、FPGA の電源がオンのままでも、秘密キーは汎用 FPGA プログラマブル ロジックに格納されているので、そのキーを発見するのは非常に困難です。特殊レジスタには格納されません。秘密キーを格納する各レジスタ ビットを、物理的にリモートで無関係の領域に配置できます。