暗号化および認証 - 2023.2 日本語

Bootgen ユーザー ガイド (UG1283)

Document ID
UG1283
Release Date
2023-10-18
Version
2023.2 日本語

AMD 7 シリーズ FPGA は、内蔵型で PL ベースの HMAC (Hash-based Message Authentication Code)、および Cipher Block Chaining (CBC) モードの Advanced Encryption Standard (AES) モジュールを使用します。UltraScale 以降のデバイスでは、AES-256/Galois Counter Mode (GCM) が使用され、HMAC は不要です。

暗号化の例

暗号化されたビットストリームを作成するには、aeskeyfile 属性を使用して BIF で AES キー ファイルを指定します。encryption=aes 属性は、BIF ファイルにリストされている暗号化の必要なビットストリームに対して指定する必要があります。

bootgen -arch fpga -image secure.bif -w -o securetop.bit

BIF ファイルは次のようになります。

the_ROM_image:
{
	[aeskeyfile] encrypt.nky
	[encryption=aes] top.bit
}

認証の例

次に、FPGA ビットストリームを認証するための Bootgen コマンドを示します。

bootgen -arch fpga -image all.bif -o rsa.bit -w on -log error

BIF ファイルは次のとおりです。

the_ROM_image:
{
	[sskfile] rsaPrivKeyInfo.pem
	[authentication=rsa] plain.bit
}

ファミリ キー/難読化キー

難読化キーの暗号化を使用するには、AMD サポートに登録し、ターゲット デバイス ファミリのファミリ キー ファイルをリクエストする必要があります。このファイルが格納されている場所へのパスは、難読化キーの暗号化を実行する前に bif オプションとして渡しておく必要があります。ファミリ キーを入手するには、secure.solutions@xilinx.com までお問い合わせください。

image:
{
	[aeskeyfile] key_file.nky
	[familykey] familyKey.cfg
	[encryption=aes] top.bit
}
次の図に、サンプルの aeskey ファイルを示します。
図 1. AES キーのサンプル