本動画(6分31秒)では、インテル® Agilex™ FPGA の「セキュリティ」編をご紹介します。
動画の概要
インテル® Agilex™ FPGA のセキュリティ
Intel® Agilex™ デバイスは、新しく革新的なセキュリティ機能を数多く搭載しています。
これらの機能は、セキュア・デバイス・マネージャー (SDM) によって管理されます。
SDM の管理下において、 コンフィグレーション・データを オンチップ・コンフィグレーション・ネットワーク経由で FPGA 内部に展開します。
SDM によって提供されるセキュリティ・サービス
SDM によって提供されるセキュリティ・サービスには、次のものがあります。
インテル® Agilex™ FPGA のセキュリティ
インテル® Agilex™ FPGA のセキュリティ機能の中から代表的な Authentication(認証)と Encryption(暗号化)の2つのセキュリティについてご紹介します。
これらの2つのセキュリティ機能により、リモート攻撃と物理攻撃の両方から機密データ、知的財産、およびデバイス自体を保護します。
Authentication(認証)
Authentication(認証)は、 外部から FPGA の動作を変えるなどの、なりすまし被害を防ぐ機能です。
認証キーと署名チェーンを作成してデバイスのファームウェアおよびコンフィグレーション・ビットストリームの整合性検証を常時実行し、
Agilex FPGA デバイスに破損や悪意のある攻撃などの予期しない変更を伴うコンフィグレーション・ビットストリームがロードされないように、信頼できるソースからのものであることを保証します。
この機能では、コンフィグレーション・ビットストリーム自体の暗号化はおこないません。
そして、暗号キーは変更が可能な Virtual eFuse と 変更が不可能な Physical eFuse の2種類の eFuse を使うことができます。
Encryption(暗号化)
Encryption(暗号化)は、コンフィグレーション・ビットストリームが第三者に流用されることを低減させる機能です。
所有者の IP や デザイン などのデザイン・データの機密情報が保護され、知的財産の盗難の脅威が軽減されます。
コンフィグレーション・ビットストリーム自体を AES の暗号キーで暗号化しますので、コンフィグレーション・ビットストリームを他で使用しても、この暗号キーがなければ FPGA は動作しません。
暗号キーは変更が可能な Virtual eFuse と 変更が不可能な Physical eFuseとBattery-Backup RAM(BBRAM)を使うことができます。
認証・暗号キーの種類
暗号キーを格納する方法としては、Virtual eFuse、Physical eFuse と BBRAM(Battery Backup RAM)の3種類があります。
Virtual eFuse は認証と暗号に対応し、後から暗号キーを変えることができます。
Physical eFuse も認証と暗号の両方に対応しますが、FPGA デバイス内部の eFuse を切断して物理的に暗号キーを書き込みますので、セキュリティのレベルは高くなりますが、後から暗号キーを変えることはできません。
Physical eFuse の書き込み方法は、JTAG を使って書き込む以外に、弊社のプログラミング・センターにて専用のプログラマーを使用して書き込みことも可能です。
JTAG の場合は安定した電源確保が必須となりますが、専用のプログラマーを使うと安定して暗号キーを書き込むことができます。
また、BBRAM はバッテリーによるバックアップが必要な方法で、認証はできず暗号のみに対応します。
バッテリーのバックアップが無くなると暗号キーは自動で消去され、再度バッテリーでバックアップしてから、新しい暗号キーを書き込むことができます。
参考資料
インテル® Agilex™ FPGA に対しては多数のドキュメントが用意されています。
より詳しい内容を知りたい方はこれらのリンク先の資料をご参照ください。