User's Manual
Security Key Management Tool

ユーザーズマニュアル

本資料に記載の全ての情報は本資料発行時点のものであり、ルネサス エレクトロニクスは、
予告なしに、本資料に記載した製品または仕様を変更することがあります。
ルネサス エレクトロニクスのホームページなどにより公開される最新情報をご確認ください。

www.renesas.com

Rev.1.07 2024.08

ご注意書き1.

本資料に記載された回路、ソフトウェアおよびこれらに関連する情報は、半導体製品の動作例、応用例を説明するものです。回路、ソフトウェアおよ
びこれらに関連する情報を使用する場合、お客様の責任において、お客様の機器・システムを設計ください。これらの使用に起因して生じた損害（お客様または第三者いずれに生じた損害も含みます。以下同じです。）に関し、当社は、一切その責任を負いません。

2.

当社製品または本資料に記載された製品デ－タ、図、表、プログラム、アルゴリズム、応用回路例等の情報の使用に起因して発生した第三者の特許権、著作権その他の知的財産権に対する侵害またはこれらに関する紛争について、当社は、何らの保証を行うものではなく、また責任を負うものではありません。

3.

当社は、本資料に基づき当社または第三者の特許権、著作権その他の知的財産権を何ら許諾するものではありません。

4.

当社製品を組み込んだ製品の輸出入、製造、販売、利用、配布その他の行為を行うにあたり、第三者保有の技術の利用に関するライセンスが必要となる場合、当該ライセンス取得の判断および取得はお客様の責任において行ってください。

5.

当社製品を、全部または一部を問わず、改造、改変、複製、リバースエンジニアリング、その他、不適切に使用しないでください。かかる改造、改変、複製、リバースエンジニアリング等により生じた損害に関し、当社は、一切その責任を負いません。

6.

当社は、当社製品の品質水準を「標準水準」および「高品質水準」に分類しており、各品質水準は、以下に示す用途に製品が使用されることを意図しております。
標準水準：

コンピュータ、OA 機器、通信機器、計測機器、AV 機器、家電、工作機械、パーソナル機器、産業用ロボット等

高品質水準： 輸送機器（自動車、電車、船舶等）、交通制御（信号）、大規模通信機器、金融端末基幹システム、各種安全制御装置等
当社製品は、データシート等により高信頼性、Harsh environment 向け製品と定義しているものを除き、直接生命・身体に危害を及ぼす可能性のある機器・システム（生命維持装置、人体に埋め込み使用するもの等）、もしくは多大な物的損害を発生させるおそれのある機器・システム（宇宙機器と、海底中継器、原子力制御システム、航空機制御システム、プラント基幹システム、軍事機器等）に使用されることを意図しておらず、これらの用途に使用することは想定していません。たとえ、当社が想定していない用途に当社製品を使用したことにより損害が生じても、当社は一切その責任を負いません。
7.

あらゆる半導体製品は、外部攻撃からの安全性を 100％保証されているわけではありません。当社ハードウェア／ソフトウェア製品にはセキュリティ対策が組み込まれているものもありますが、これによって、当社は、セキュリティ脆弱性または侵害（当社製品または当社製品が使用されているシス
テムに対する不正アクセス・不正使用を含みますが、これに限りません。）から生じる責任を負うものではありません。当社は、当社製品または当社製品が使用されたあらゆるシステムが、不正な改変、攻撃、ウイルス、干渉、ハッキング、データの破壊または窃盗その他の不正な侵入行為（「脆弱性問題」といいます。）によって影響を受けないことを保証しません。当社は、脆弱性問題に起因しまたはこれに関連して生じた損害について、一切責任を負いません。また、法令において認められる限りにおいて、本資料および当社ハードウェア／ソフトウェア製品について、商品性および特定目
的との合致に関する保証ならびに第三者の権利を侵害しないことの保証を含め、明示または黙示のいかなる保証も行いません。

8.

当社製品をご使用の際は、最新の製品情報（データシート、ユーザーズマニュアル、アプリケーションノート、信頼性ハンドブックに記載の「半導体デバイスの使用上の一般的な注意事項」等）をご確認の上、当社が指定する最大定格、動作電源電圧範囲、放熱特性、実装条件その他指定条件の範囲内でご使用ください。指定条件の範囲を超えて当社製品をご使用された場合の故障、誤動作の不具合および事故につきましては、当社は、一切その責任を負いません。

9.

当社は、当社製品の品質および信頼性の向上に努めていますが、半導体製品はある確率で故障が発生したり、使用条件によっては誤動作したりする場
合があります。また、当社製品は、データシート等において高信頼性、Harsh environment 向け製品と定義しているものを除き、耐放射線設計を行っておりません。仮に当社製品の故障または誤動作が生じた場合であっても、人身事故、火災事故その他社会的損害等を生じさせないよう、お客様の責任において、冗長設計、延焼対策設計、誤動作防止設計等の安全設計およびエージング処理等、お客様の機器・システムとしての出荷保証を行ってください。特に、マイコンソフトウェアは、単独での検証は困難なため、お客様の機器・システムとしての安全検証をお客様の責任で行ってください。

10. 当社製品の環境適合性等の詳細につきましては、製品個別に必ず当社営業窓口までお問合せください。ご使用に際しては、特定の物質の含有・使用を規制する RoHS 指令等、適用される環境関連法令を十分調査のうえ、かかる法令に適合するようご使用ください。かかる法令を遵守しないことにより生じた損害に関して、当社は、一切その責任を負いません。
11. 当社製品および技術を国内外の法令および規則により製造・使用・販売を禁止されている機器・システムに使用することはできません。当社製品および技術を輸出、販売または移転等する場合は、「外国為替及び外国貿易法」その他日本国および適用される外国の輸出管理関連法規を遵守し、それらの定めるところに従い必要な手続きを行ってください。
12. お客様が当社製品を第三者に転売等される場合には、事前に当該第三者に対して、本ご注意書き記載の諸条件を通知する責任を負うものといたします。
13. 本資料の全部または一部を当社の文書による事前の承諾を得ることなく転載または複製することを禁じます。
14. 本資料に記載されている内容または当社製品についてご不明な点がございましたら、当社の営業担当者までお問合せください。
注 1. 本資料において使用されている「当社」とは、ルネサス エレクトロニクス株式会社およびルネサス エレクトロニクス株式会社が直接的、間接的に支配する会社をいいます。
注 2. 本資料において使用されている「当社製品」とは、注１において定義された当社の開発、製造製品をいいます。
(Rev.5.0-1

2020.10)

本社所在地

お問合せ窓口〒135-0061 東京都江東区豊洲 3-2-24（豊洲フォレシア）弊社の製品や技術、ドキュメントの最新情報、最寄の営業お問合せ窓

www.renesas.com

口に関する情報などは、弊社ウェブサイトをご覧ください。
www.renesas.com/contact/

商標についてルネサスおよびルネサスロゴはルネサス エレクトロニクス株式会社の商標です。すべての商標および登録商標は、それぞれの所有者に帰属します。

© 2024 Renesas Electronics Corporation. All rights reserved.

製品ご使用上の注意事項
ここでは、マイコン製品全体に適用する「使用上の注意事項」について説明します。個別の使用上の注意事項については、本ドキュメントおよびテクニカ
ルアップデートを参照してください。
1.

静電気対策
CMOS 製品の取り扱いの際は静電気防止を心がけてください。CMOS 製品は強い静電気によってゲート絶縁破壊を生じることがあります。運搬や保存の際には、当社が出荷梱包に使用している導電性のトレーやマガジンケース、導電性の緩衝材、金属ケースなどを利用し、組み立て工程にはアースを施してください。プラスチック板上に放置したり、端子を触ったりしないでください。また、CMOS 製品を実装したボードについても同様の扱いをしてください。

2.

電源投入時の処置
電源投入時は、製品の状態は不定です。電源投入時には、LSI の内部回路の状態は不確定であり、レジスタの設定や各端子の状態は不定です。外部リ
セット端子でリセットする製品の場合、電源投入からリセットが有効になるまでの期間、端子の状態は保証できません。同様に、内蔵パワーオンリセ
ット機能を使用してリセットする製品の場合、電源投入からリセットのかかる一定電圧に達するまでの期間、端子の状態は保証できません。

3.

電源オフ時における入力信号
当該製品の電源がオフ状態のときに、入力信号や入出力プルアップ電源を入れないでください。入力信号や入出力プルアップ電源からの電流注入により、誤動作を引き起こしたり、異常電流が流れ内部素子を劣化させたりする場合があります。資料中に「電源オフ時における入力信号」についての記載のある製品は、その内容を守ってください。

4.

未使用端子の処理
未使用端子は、「未使用端子の処理」に従って処理してください。CMOS 製品の入力端子のインピーダンスは、一般に、ハイインピーダンスとなっています。未使用端子を開放状態で動作させると、誘導現象により、LSI 周辺のノイズが印加され、LSI 内部で貫通電流が流れたり、入力信号と認識されて誤動作を起こす恐れがあります。

5.

クロックについてリセット時は、クロックが安定した後、リセットを解除してください。プログラム実行中のクロック切り替え時は、切り替え先クロックが安定した後に切り替えてください。リセット時、外部発振子（または外部発振回路）を用いたクロックで動作を開始するシステムでは、クロックが十分安定した
後、リセットを解除してください。また、プログラムの途中で外部発振子（または外部発振回路）を用いたクロックに切り替える場合は、切り替え先のクロックが十分安定してから切り替えてください。

6.

入力端子の印加波形
入力ノイズや反射波による波形歪みは誤動作の原因になりますので注意してください。CMOS 製品の入力がノイズなどに起因して、VIL（Max.）から
VIH（Min.）までの領域にとどまるような場合は、誤動作を引き起こす恐れがあります。入力レベルが固定の場合はもちろん、VIL（Max.）から VIH（Min.）までの領域を通過する遷移期間中にチャタリングノイズなどが入らないように使用してください。

7.

リザーブアドレス（予約領域）のアクセス禁止
リザーブアドレス（予約領域）のアクセスを禁止します。アドレス領域には、将来の拡張機能用に割り付けられている リザーブアドレス（予約領域）があります。これらのアドレスをアクセスしたときの動作については、保証できませんので、アクセスしないようにしてください。

8.

製品間の相違について
型名の異なる製品に変更する場合は、製品型名ごとにシステム評価試験を実施してください。同じグループのマイコンでも型名が違うと、フラッシュ
メモリ、レイアウトパターンの相違などにより、電気的特性の範囲で、特性値、動作マージン、ノイズ耐量、ノイズ幅射量などが異なる場合があります。型名が違う製品に変更する場合は、個々の製品ごとにシステム評価試験を実施してください。

このマニュアルの使い方
1.

目的と対象者

このマニュアルは、Security Key Management Tool の機能をユーザに理解していただくためのマニュアルです。ルネサスエレクトロニクス製マイコンに内蔵されるセキュリティ IP である Security Cryptographic
Engine, Trusted Secure IP を使用したシステムを設計開発するユーザを対象にしています。このマニュアルを使用するには、マイクロコントローラと Windows、Linux および macOS に関する基本的な知識が必要です。
ご使用するマイクロコントローラのマニュアルを十分確認の上、本ソフトウェアを使用してください。

2.

凡例• 注：本文中に付けた”注”の説明• 数の表記：10 進数 … xxxx
16 進数 … 0xXXXX または xxxxH• ““：任意の文字、画面内の項目を示します。

• []：メニュー名、タブ名、ダイアログ名をしまします。

3.

用語の説明
略語／略称

説明

CLI

Command Line Interface

DLM Key

Device Lifecycle Management 用鍵 一部の MCU/MPU でサポート

DLM 鍵
DOTF

外部フラッシュ ROM などに書き込まれた暗号化されたイメージをリード、実行するときに、直接復号する機能。
MCU/MPUによってはDecryption On-The-Fly(DOTF)もしくはOn-The-Fly Decryption(OTFD)と呼ぶ。本ドキュメント内ではDOTFと記載。

Encrypted KUK

UFPKでラップされたKUK

Encrypted User Key

UFPK もしくは KUK でラップされた User Key

FSBLFirst Stage Bootloader
Second Stage Bootloader もしくは OEM_BL の正当性検証を行うためのプログラム

GUI
HRK

Graphic User Interface
Hardware Root Key
MCU ファミリもしくは MCU ごとに決まる鍵データ

HUK

Hardware Unique Key
デバイス毎に設定されている固有の鍵データ

KUK

Key Update Key
User Key をアップデートするための鍵

OEM Bootloader

デバイス起動後に実行され、アプリケーションプログラムの正当性検証するためのプログラム

OEM_BL
PEM

x509 ASN.1の鍵をBase64でエンコードしたファイル。
本ツールでは Openssl コマンド genrsa もしくは、ecparam -genkey コマンドで生成された鍵の読み込みをサポートしています。

Renesas key file

ルネサス鍵ファイル
RFPで使用する鍵フォーマット

フォーマットは付録を参照してください。

Renesas Key Wrap

UFPK をデバイス固有鍵でラップして W-UFPK を生成するサービス

servicehttps://dlm.renesas.com/keywrap/

RFP

Renesas Flash Programmer

https://www.renesas.com/rfp
RSIP

Renesas Secure IP
RA、RX、RZ ファミリなどに実装されているセキュリティ IP

RSU

Renesas Secure Update
RX ファミリ Firmware Update FIT(R01AN5824)で定義されている更新するプログラムイメージ
ファイルフォーマット。

SCE

Secure Cryptographic Engine
RA ファミリ、Synergy Platform に実装されているセキュリティ IP

SFP

Secure Factory Programming
ルネサス製 MCU のブートファームウェアが持つ、暗号化されたイメージを復号しながら、デバ
イスに書き込む機能

略語／略称TSIP

説明
Trusted Secure IP
RX、RZ ファミリに実装されているセキュリティ IP

UFPK

User Factory Programming Key
User Key と DLM Key をラップする際に使用する鍵

User Key

ユーザアプリケーションで使用する暗号鍵

ユーザ鍵

AES 鍵や RSA 公開鍵、RSA 秘密鍵など

W-UFPK

Renesas Key Wrapping サービスでラップされた UFPK

Wrapped User Key

User Key を RSIP、SCE もしくは TSIP で使用するため、Encrypted User Key を RSIP、SCE も
しくは TSIP でラップし直した User Key目次
1.

ルネサス鍵管理システム ............................................................................................................................... 9
1.1

Root of Trustの概要 .............................................................................................................................. 9

1.2

Renesas セキュリティIPと関連する鍵の概要 .................................................................................... 9

1.3

Renesas セキュリティIP を活用したセキュアな鍵のインジェクション ........................................ 12

1.3.1

鍵のラッピングの利点 ............................................................................................................... 12

1.3.2

HUK を使用した鍵のラッピングの利点 .................................................................................... 13

1.4

ラップされた鍵のインジェクション手順の概要 ............................................................................... 13

1.4.1

セキュアな鍵のインジェクションの手順 .................................................................................. 13

1.4.2

セキュアな鍵のアップデートの手順 ......................................................................................... 16

1.5

2.

Renesas セキュリティ機能 .............................................................................................................. 19

1.5.1

First Stage Bootloader ............................................................................................................... 19

1.5.2

Decryption On-The-Fly/On-The-Fly Decryption ......................................................................... 22

1.5.3

Secure Factory Programming .................................................................................................... 23

概要.............................................................................................................................................................. 24
2.1

特長 .................................................................................................................................................... 24

2.1.1

セキュアな鍵のインジェクション/アップデート ...................................................................... 24

2.1.2

Security Key Management Tool がサポートするセキュア機能 ................................................. 26

2.2

3.

動作環境 ............................................................................................................................................. 27

2.2.1

ハードウェア環境 ...................................................................................................................... 27

2.2.2

ソフトウェア環境 ...................................................................................................................... 27

GUI 機能説明 .............................................................................................................................................. 28
3.1

メインウィンドウ............................................................................................................................... 28

3.2

メニューバー ...................................................................................................................................... 30

3.2.1[ファイル]メニュー .................................................................................................................... 30

3.2.2[表示]メニュー ............................................................................................................................ 30

3.2.3[ヘルプ]メニュー ........................................................................................................................ 30

3.3[概要]タブ ........................................................................................................................................... 31

3.4[UFPK生成]タブ ................................................................................................................................. 32

3.5[KUK生成]タブ .................................................................................................................................... 34

3.6[鍵のラッピング]タブ ......................................................................................................................... 35

3.6.1[鍵の種類] タブ .......................................................................................................................... 37

3.6.2[鍵データ] タブ .......................................................................................................................... 40

3.6.2.1[鍵の種類]タブでDLM/KUK/AES/TDES/ARC4/ECC private選択時 ...........................................40

3.6.2.2[鍵の種類]タブでRSA公開鍵選択時 ...........................................................................................41

3.6.2.3[鍵の種類]タブでRSA秘密鍵選択時 ...........................................................................................423.6.2.4[鍵の種類]タブでECC public選択時 ...........................................................................................43

3.6.2.5[鍵の種類]タブでOEM Root public選択時 ..................................................................................44

3.6.3

ラッピング鍵 .............................................................................................................................. 45

3.6.4

IV ................................................................................................................................................ 46

3.6.5

出力 ............................................................................................................................................ 47

3.7
3.7.1

出力イメージ .............................................................................................................................. 51

3.7.2

ファームウェアイメージ/セキュアブートイメージ ................................................................... 51

3.7.3[暗号化アドレス範囲]タブ ......................................................................................................... 52

3.7.4[Image Encryption Key]タブ ....................................................................................................... 52

3.7.5[IV]タブ ....................................................................................................................................... 53

3.7.6[RSU ヘッダ]タブ ....................................................................................................................... 54

3.7.7

出力 ............................................................................................................................................ 55

3.8[FSBL]タブ ......................................................................................................................................... 56

3.8.1

プログラム検証方法 ................................................................................................................... 58

3.8.2[証明書]タブ ............................................................................................................................... 59

3.8.3[OEM_BL 検証ルート鍵]タブ ..................................................................................................... 60

3.8.4[OEM_BL 検証鍵]タブ ................................................................................................................ 61

3.9[DOTF/OTFD]タブ.............................................................................................................................. 63

3.9.1

暗号化範囲 ................................................................................................................................. 64

3.9.2

転送先アドレス .......................................................................................................................... 65

3.9.3

イメージ暗号化鍵 ...................................................................................................................... 66

3.9.4

IV ................................................................................................................................................ 66

3.9.5

出力イメージアドレスとコンテンツ ......................................................................................... 67

3.10

4.

[TSIP Update]タブ.............................................................................................................................. 49[SFP]タブ ........................................................................................................................................... 68

3.10.1[ファームウェアイメージ]タブ .................................................................................................. 70

3.10.2[イメージ暗号化鍵]タブ ............................................................................................................. 71

3.10.3[Nonce]タブ ................................................................................................................................ 72

3.10.4[AL2_KEY]タブ .......................................................................................................................... 73

3.10.5[AL1_KEY]タブ .......................................................................................................................... 74

CLI 機能説明 ................................................................................................................................................ 75
4.1

コマンドライン構文 ........................................................................................................................... 75

4.2

コマンド ............................................................................................................................................. 75

4.3

genufpkコマンド オプション ........................................................................................................... 77

4.4

genkukコマンド オプション ............................................................................................................ 78

4.5

genkeyコマンド オプション ............................................................................................................. 79

4.5.1

mcu オプション ........................................................................................................................ 814.5.2

keytype オプション .................................................................................................................. 82

4.5.3

key オプション ......................................................................................................................... 85

4.5.3.1

Hexデータ直接入力....................................................................................................................85

4.5.3.2

ファイル入力 ..............................................................................................................................90

4.5.3.3

keyオプションの省略 ................................................................................................................92
filetype オプション ................................................................................................................... 93

4.5.4
4.5.4.1

filetypeオプション rfp指定時 ...................................................................................................93

4.5.4.2

filetypeオプション csource指定時 ..........................................................................................93

4.5.4.3

filetypeオプション bin指定時 ..................................................................................................96

4.5.4.4

filetypeオプション mot指定時 .................................................................................................97

4.5.5

fileadd オプション .................................................................................................................. 101

4.5.6

bswap オプション .................................................................................................................. 101

4.5.7

keyfileoutput オプション ....................................................................................................... 102
enctsipコマンド オプション .......................................................................................................... 103

4.6
4.6.1

mode オプション .................................................................................................................... 104

4.6.2

ver オプション ........................................................................................................................ 107

4.6.3

imgflg オプション................................................................................................................... 109

4.6.4

filetype オプション ................................................................................................................. 109
gencertコマンド オプション .......................................................................................................... 110

4.7
4.7.1

mode オプション .................................................................................................................... 113

4.7.2

OEM_BL の署名もしくは CRC 演算対象領域 ......................................................................... 114

4.7.2.1

oembl_sizeオプション指定時 .................................................................................................114

4.7.2.2

cfsizeオプションのみ指定時 ...................................................................................................115

encdotfコマンド オプション .......................................................................................................... 116

4.8
4.8.1

keytype オプション ................................................................................................................ 118

4.8.2

enckey オプション ................................................................................................................. 118
encsfpコマンド オプション ........................................................................................................... 119

4.9
4.9.1

mcu オプション ...................................................................................................................... 122

4.9.2

trn オプション ......................................................................................................................... 122

4.9.3

prg オプション........................................................................................................................ 123

4.10
5.

calcresponseコマンド オプション ................................................................................................ 124

操作手順 .................................................................................................................................................... 125
5.1Standalone版 .................................................................................................................................... 125

5.1.1

Windows 版 .............................................................................................................................. 125

5.1.1.1

GUI版 .......................................................................................................................................126

5.1.1.2

CLI版 ........................................................................................................................................127

5.1.2

Linux 版 .................................................................................................................................... 128

5.1.2.1

GUI版 .......................................................................................................................................128

5.1.2.2

CLI 版 ......................................................................................................................................129

5.1.35.1.3.1

GUI版 .......................................................................................................................................130

5.1.3.2

CLI 版 ......................................................................................................................................131

5.2

6.

e2studio plugin版 .............................................................................................................................. 132

5.2.1

インストール方法 .................................................................................................................... 132

5.2.2

アンインストール方法 ............................................................................................................. 137

使用例 ........................................................................................................................................................ 139
6.1

Example 1 – RXファミリ TSIPのAES 128の鍵のインジェクション手順 ...................................... 139

6.1.1

GUI 版の Security Key Management Tool を使用する場合 ..................................................... 139

6.1.2

CLI 版の Security Key Management Tool を使用する場合 ...................................................... 143

6.2

Example 2 – RAファミリ SCE9 Protected Mode Key-Update Keyのインジェクション ............... 144

6.2.1

GUI 版の Security Key Management Tool を使用する場合 ..................................................... 144

6.2.2

CLI 版の Security Key Management Tool を使用する場合 ...................................................... 149

6.3

Example 3 – RAファミリ SCE9 Protected Mode RSA 2048公開鍵のアップデート ..................... 151

6.3.1

GUI 版の Security Key Management Tool を使用する場合 ..................................................... 151

6.3.2

CLI 版の Security Key Management Tool を使用する場合 ...................................................... 154

6.4

Example 4 – RXファミリ TSIP Secure Update時の使用方法 ........................................................ 155

6.4.1

GUI 版の Security Key Management Tool を使用する場合 ..................................................... 155

6.4.2

CLI 版の Security Key Management Tool を使用する場合 ...................................................... 158

6.5

Example 5 – RAファミリ FSBL 鍵証明書 / コード証明書の生成時の使用方法 ........................... 159

6.5.1

GUI 版の Security Key Management Tool を使用する場合 ..................................................... 159

6.5.2

CLI 版の Security Key Management Tool を使用する場合 ...................................................... 163

6.6

Example 6 – RAファミリ DOTF使用時のプログラム暗号化方法 .................................................. 164

6.6.1

GUI 版の Security Key Management Tool を使用する場合 ..................................................... 164

6.6.2

CLI 版の Security Key Management Tool を使用する場合 ...................................................... 167

6.7

7.

macOS 版 ................................................................................................................................. 130

Example 7 – RAファミリ Secure Factory Programming機能使用時のプログラム暗号化方法 ...... 168

6.7.1

GUI 版の Security Key Management Tool を使用する場合 ..................................................... 169

6.7.2

CLI 版の Security Key Management Tool を使用する場合 ...................................................... 174

注意事項 .................................................................................................................................................... 175
7.1

Windows環境使用時のディスプレイ設定 ........................................................................................ 175

7.2

Linux版 e2studio plugin使用時の注意事項 ....................................................................................... 176

7.3

macOS版 e2studio plugin使用時の注意事項 ................................................................................... 176

7.4

macOS版の制限事項 ........................................................................................................................ 176

8.

付録............................................................................................................................................................ 178

図表目次
図 1.1

Secure Crypto Engineの概要 .............................................................................................................9

図 1.2

RX Trusted Secure IPの概要 ............................................................................................................10

図 1.3

暗号化とラッピングの違い ................................................................................................................12

図 1.4
図 1.5

HUKを使用した鍵のラッピング ........................................................................................................13
DLMサーバーを使用したUFPKのラッピング ...................................................................................14

図 1.6

UFPKを使用したユーザ鍵のラッピング ...........................................................................................14

図 1.7

シリアルプログラミングインタフェースを使用したユーザ鍵のインジェクション.........................15

図 1.8
図 1.9

UFPKを使用したKUKのラッピング ..................................................................................................16
KUKのインジェクション ...................................................................................................................17

図 1.10KUKを使用した新しいユーザ鍵のラップ..........................................................................................17

図 1.11

ユーザ鍵のアップデート....................................................................................................................18

図 1.12
図 1.13

セキュアなシステムのChain of Trust ...............................................................................................19
OEM_BL工場書き込み時のAuthenticity Check...............................................................................20

図 1.14

デバイス起動時のFSBL動作 ..............................................................................................................21

図 1.15
図 1.16

DOTF実装MCU/MPUの内部システムバス例 .....................................................................................22
Secure Factory Programming機能実装MPU/MPUのシステム例 ...................................................23

図 3.1

スタンドアロン版 メインウィンドウ................................................................................................28

図 3.2

e2studio プラグイン版 メインウィンドウ .......................................................................................29

図 3.3
図 3.4

[概要]タブ...........................................................................................................................................31[UFPK生成]タブ .................................................................................................................................32

図 3.5[KUK生成]タブ ...................................................................................................................................34

図 3.6[鍵のラッピング]タブ ........................................................................................................................35

図 3.7
図 3.8

[鍵の種類]タブ ...................................................................................................................................37
DLM / KUK / AES / TDES / ARC4 / ECC private鍵を選択時の[鍵データ]タブ ...............................40

図 3.9

RSA公開鍵を選択時の[鍵データ]タブ...............................................................................................41

図 3.10

RSA秘密鍵を選択時の[鍵データ]タブ...............................................................................................42

図 3.11
図 3.12

ECC公開鍵を選択時の[鍵データ]タブ...............................................................................................43
OEM Root publicを選択時の[鍵データ]タブ ....................................................................................44

図 3.13

ラッピング鍵 ......................................................................................................................................45

図 3.14

IV ........................................................................................................................................................46

図 3.15
図 3.16

出力 ....................................................................................................................................................47[TSIP Update]タブ.............................................................................................................................49

図 3.17

出力イメージ ......................................................................................................................................51

図 3.18

ファームウェアイメージ/セキュアブートイメージ...........................................................................51

図 3.19図 3.20[暗号化アドレス範囲]タブ .................................................................................................................52[Image Encryption Key]タブ ............................................................................................................52

図 3.21[IV]タブ ..............................................................................................................................................53

図 3.22
図 3.23[RSUヘッダ]タブ ...............................................................................................................................54
出力 ....................................................................................................................................................55

図 3.24[FSBL]タブ ........................................................................................................................................56

図 3.25

プログラム検証方法 ...........................................................................................................................58

図 3.26
図 3.27[証明書]タブ .......................................................................................................................................59[OEM_BL検証ルート鍵]タブ .............................................................................................................60

図 3.28[OEM_BL検証鍵]タブ ........................................................................................................................61

図 3.29[DOTF/OTFD]タブ .............................................................................................................................63

図 3.30

暗号化範囲 .........................................................................................................................................64

図 3.31

転送先アドレス ..................................................................................................................................65

図 3.32

イメージ暗号化鍵 ..............................................................................................................................66

図 3.33
図 3.34

IV ........................................................................................................................................................66
出力イメージアドレスとコンテンツ .................................................................................................67

図 3.35 [SFP]タブ ..............................................................................................................................................68
図 3.36[ファームウェアイメージ]タブ ..........................................................................................................70

図 3.37
図 3.38[イメージ暗号化鍵]タブ .....................................................................................................................71[Nonce]タブ .......................................................................................................................................72

図 3.39[AL2_KEY]タブ..................................................................................................................................73

図 3.40[AL1_KEY]タブ..................................................................................................................................74

図 4.1
図 4.2

AES 128bit鍵ファイルを生成する例.................................................................................................91
RSA 2048 公開鍵ファイルを生成する例 ..........................................................................................92

図 4.3

modeオプション factory指定時のファイル生成イメージ .............................................................105

図 4.4

modeオプション updateかつ filetypeオプションrsu指定時のファイル生成イメージ ...............106

図 4.5
図 4.6

modeオプション updateかつ filetypeオプションmot指定時のファイル生成イメージ ..............106
oembl_sizeオプション指定時の署名、CRC演算対象 ....................................................................114

図 4.7

cfsizeオプションのみ指定時の署名、CRC演算対象 ......................................................................115

図 5.1
図 5.2

Security Key Management Tool – 起動時のダイアログ ..............................................................126
コマンドプロンプトによるSecurity Key Management Tool - CLI実行例 ....................................127

図 5.3

Security Key Management Tool – 起動時ダイアログ ..................................................................128

図 5.4

LinuxターミナルソフトによるSecurity Key Management Tool - CLI実行例 ..............................129

図 5.5
図 5.6

Security Key Management Tool – 起動時ダイアログ ..................................................................130
macOSターミナルソフトによるSecurity Key Management Tool - CLI実行例 ...........................131

図 5.7

e2studioのメニュー [ヘルプ(H)]→[新規ソフトウェアのインストール…] .....................................132

図 5.8

e2studio [インストール]ダイアログ ................................................................................................133

図 5.9
図 5.10e2studio [リポジトリーを追加]ダイアログ ..................................................................................133
e2studio [インストール]ダイアログ - Security Key Management Toolの指定 ...........................134

図 5.11e2studio[インストール]ダイアログ - インストール詳細 ...........................................................134

図 5.12e studio[インストール]ダイアログ – ライセンスをビュー .......................................................135

図 5.13
図 5.14e studioe2studio[信頼する]ダイアログ.....................................................................................................135
Security Key Management Tool プラグイン ..............................................................136

図 5.15e2studio[e2studioについて]ダイアログ ......................................................................................137

図 5.16e2studio[e2studioのインストール詳細]ダイアログ ....................................................................137

図 5.17図 6.1

e2studio [アンインストール]ダイアログ ......................................................................................138[概要]タブ.........................................................................................................................................139

図 6.2[UFPK生成]タブ 指定値でUFPKを生成する場合の例 ....................................................................140

図 6.3[UFPK生成]タブ 実行結果 ..............................................................................................................140

図 6.4
図 6.5

[鍵のラッピング] - [鍵の種類]タブ AES128 鍵ファイル Motorola Hex出力設定例 ....................141[鍵のラッピング] - [鍵のデータ]タブ AES128 鍵ファイル Motorola Hex出力設定例 ................141

図 6.6[鍵のラッピング]タブ 実行結果 ......................................................................................................142

図 6.7
図 6.8

genufpkコマンド実行結果 ..............................................................................................................143
genkeyコマンド実行例....................................................................................................................143

図 6.9[概要]タブ.........................................................................................................................................144

図 6.10[UFPK生成]タブ UFPK生成設定例 .................................................................................................145

図 6.11[UFPK生成]タブ 実行結果 ..............................................................................................................145

22

図 6.12[KUK生成]タブ KUKファイル生成設定例 ......................................................................................146

図 6.13[KUK生成]タブ 実行結果 ................................................................................................................146

図 6.14[鍵のラッピング] – [鍵の種類]タブ KUKファイルをRFPファイルで出力する設定例 ...................147

図 6.15
図 6.16[鍵のラッピング] – [鍵データ]タブ KUKファイルをRFPファイルで出力する設定例 ...................147[鍵のラッピング]タブ 実行結果 ......................................................................................................148

図 6.17

genufpk コマンド実行結果.............................................................................................................149

図 6.18genkuk コマンド実行結果 ..............................................................................................................149

図 6.19
図 6.20genkeyコマンド実行例....................................................................................................................150[概要]タブ.........................................................................................................................................151

図 6.21[鍵のラッピング] – [鍵の種類]タブ RSA 2048公開鍵Cソースファイル生成例 .............................152

図 6.22[鍵のラッピング] – [鍵データ]タブ RSA 2048公開鍵Cソースファイル生成例 .............................152

図 6.23
図 6.24[鍵のラッピング]タブ 実行結果 ....................................................................................................153
genkeyコマンド実行例....................................................................................................................154

図 6.25[概要]タブ.........................................................................................................................................155

図 6.26[TSIP Update] – [暗号化アドレス範囲]タブ 他の設定例 ...............................................................156

図 6.27
図 6.28[TSIP Update] – [Image Encryption Key]タブ 設定例 .................................................................156[TSIP Update] – [IV]タブ 設定例 ....................................................................................................157

図 6.29[TSIP Update] – [RSUヘッダ]タブ 設定例 .....................................................................................157

図 6.30
図 6.31[TSIP Update]タブ 実行結果 ........................................................................................................157
enctsipコマンド実行例 ...................................................................................................................158

図 6.32[概要]タブ.........................................................................................................................................159

図 6.33[FSBL] – [証明書]タブ 他の設定例 .................................................................................................160

図 6.34
図 6.35[FSBL] – [OEM_BL検証ルート鍵]タブ 設定例 ..............................................................................161[FSBL] – [OEM_BL検証鍵]タブ 設定例 .........................................................................................161

図 6.36[FSBL]タブ 実行結果 ......................................................................................................................162

図 6.37

gencertコマンド実行例 ...................................................................................................................163

図 6.38
図 6.39[概要]タブ.........................................................................................................................................164[DOTF/OTFD]タブ – Plaintext Image、暗号化範囲、実行アドレスの設定例 ..............................165

図 6.40[DOTF/OTFD]タブ – Image Encryption Key、IV 設定例 ............................................................165

図 6.41[DOTF/OTFD]タブ – 暗号化イメージ 出力イメージのアドレスとコンテンツ 設定例 ................166

図 6.42
図 6.43[DOTF/OTFD]タブ 実行結果 .........................................................................................................166
encdotfコマンド実行例 ...................................................................................................................167

図 6.44[概要]タブ.........................................................................................................................................169

図 6.45[SFP] – [ファームウェアイメージ]タブ 他の設定例 ......................................................................170

図 6.46
図 6.47[SFP] – [イメージ暗号化鍵]タブ 設定例.........................................................................................171[SFP] – [Nonce]タブ 設定例...........................................................................................................172

図 6.48[SFP] – [AL2_KEY]タブ 設定例 .....................................................................................................172

図 6.49[SFP]タブ 実行結果 ........................................................................................................................173

図 6.50
図 7.1

encsfpコマンド実行例 ....................................................................................................................174
SecurityKeyManagementTool.exeのプロパティ 「高DPIスケールの上書き」設定 ...................175

図 8.1

Secure Factory Programmingファイルフォーマット ..................................................................182

図 8.2

TLV format ......................................................................................................................................184

Security Key Management Tool1.

ルネサス鍵管理システム

1.1

Root of Trust の概要

１．ルネサス鍵管理システム

Root of Trust は、重要なセキュリティ機能を実装する信頼性の高いハードウェア、ファームウェア、およびソフトウェアによって形成されるコンポーネントです（参照 https://csrc.nist.gov/projects/hardware-rootsof-trust）。通常の IoT システムの Root of Trust は、デバイスのハードウェアに根ざした識別情報と暗号鍵で構成されます。IoT ネットワーク内にデバイスが存在するためには、ユニークで不変かつ複製できない識別情報を使用する必要があります。
多くのセキュリティシステムで提供されるサービスの一部であるセキュアブートは、アプリケーションの認証に公開鍵暗号を使用します。セキュアブートに使用する暗号鍵はシステムの Root of Trust の一部です。
また、デバイス秘密鍵やデバイス証明書で構成されるデバイス識別情報もシステムの Root of Trust の一部です。
上記の Root of Trust の説明から、暗号鍵の漏洩は安全なシステムを危険な状態にする可能性があることがわかります。暗号鍵を安全に保管し、改ざんや複製ができないようにすることが重要です。暗号鍵の保護を実現する際には、暗号境界内でのみ鍵へのアクセスを許可する必要があります。
ルネサスの鍵管理システムを使うことで、このような暗号鍵の保護を実現することができます。

1.2

図 1.1

Renesas セキュリティ IP と関連する鍵の概要

Secure Crypto Engine の概要

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 9 of 189

Security Key Management Tool

１．ルネサス鍵管理システム

MCU

CPU

TSIP

フラッシュメモリ

安全領域
Wrapped Key
暗号鍵
暗号化
エンジン

HUK

Unique ID
図 1.2

RX Trusted Secure IP の概要

Renesas のセキュリティ IP である Secure Crypto Engine(SCE)、Trusted Secure IP(TSIP)ならびに RSIPExxx セキュリティエンジン (RSIP)は、MCU 内で、他の IP とは独立したサブシステムになっています。暗号エンジンは、対称暗号化アルゴリズムと非対称暗号化アルゴリズムの両方のハードウェアアクセラレータ
および、さまざまなハッシュとメッセージ認証コードにも使用可能です。また、暗号化操作のエントロピー
ソースを提供する True Random Number Generator（TRNG）も含まれています。RSIP、SCE ならびに
TSIP は、アクセスマネジメント回路によって保護されています。アクセスマネジメント回路は、不正な外部アクセスを検出した場合に暗号エンジンを停止します。
サポートしている暗号アルゴリズム、セキュアな鍵のインジェクション、およびセキュアな鍵のアップデー
トは、MCU / MPU によって異なります。 詳細は、各 MCU/MPU の Web ページから確認してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 10 of 189

Security Key Management Tool

１．ルネサス鍵管理システム

表 1-1 MCU/MPU 関連サイト
MCU/MPU

CategoryURL

RA Family

MCU driver

https://www.renesas.com/eu/en/software-tool/flexible-softwarepackage-fsp

RX Family

Application

https://www.renesas.com/eu/en/document/apn/installing-and-Project

updating-secure-keys-ra-family

MCU drivers

https://www.renesas.com/software-tool/trusted-secure-ip-driverand example
project
RZ/T2M, RZ/T2ME,

Security

https://www.renesas.com/software-tool/rz-mpu-security-

RZ/T2L, RZ/N2L

Packagepackage-rtos-bare-metal

Synergy Platform

MCU driver

https://www.renesas.com/eu/en/products/microcontrollersmicroprocessors/renesas-synergy-platform-mcus/renesassynergy-software-package

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 11 of 189

Security Key Management Tool

1.3

１．ルネサス鍵管理システム

Renesas セキュリティ IP を活用したセキュアな鍵のインジェクション

セキュアな鍵のインジェクションとアップデートは、暗号エンジンによるラップされた鍵のサポートと組
み合わせて、平文鍵を使用する場合に発生する多くの脆弱性に対処できます。
• 平文鍵をフラッシュ ROM に格納しません。プログラムが漏洩した場合でも、機密性の高い鍵情報を保護します。
• 平文鍵を RAM に格納しません。システム上で悪意のあるコードが実行された場合でも、機密性の高い鍵
情報を保護します。
• 鍵はコードフラッシュ、データフラッシュに安全に保存でき、また外部メモリにも格納することもできるため、制限なく鍵を安全に保管することが可能です。
さらに、以下で説明するように、Renesas の鍵のラッピング技術を使用することで、デバイスの不正な複製から保護することが可能になります。

1.3.1

図 1.3

鍵のラッピングの利点

暗号化とラッピングの違い

安全な資産の保管のために、ラッピングと暗号化の違いを説明します。
データが暗号化されて別の受信者に送信されるときに、その受信者が同じ鍵を持っている場合、その受信者はデータを復号できます。これにより、機密情報が交換されます。しかし、暗号化されたデータの送信に問題があった場合はどうでしょうか？ 受信者が無意識のうちに破損した情報を受信した場合、復号アルゴリ
ズムは元のデータが破損していることを示すことなく、そのデータはガベージデータとなってしまいます。
ラッピングでは、整合性チェックのために暗号化された出力にメッセージ認証コードを追加することで、この問題を解決します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 12 of 189

Security Key Management Tool

1.3.2

図 1.4

１．ルネサス鍵管理システム

HUK を使用した鍵のラッピングの利点

HUK を使用した鍵のラッピング

Hardware Unique Key(HUK)を使用して保存された鍵をラップすることで、もう一つの保護機能であるクローン保護機能が追加されます。
ラップされた鍵が他の MCU に転送またはコピーされた場合、その MCU の HUK はラップを解除することもコピーされた鍵を使用することもできません。たとえ MCU の全コンテンツが他のデバイスにコピーされたとしても、その鍵を使用したり、鍵そのものを取り出したりすることはできません。

1.4

ラップされた鍵のインジェクション手順の概要

ラップされた鍵のインジェクション手順について説明します。 Security Key Management Tool を使用してラップされた鍵を生成します。サポートしている鍵の種類については、MCU/MPU によって異なります。表1-1MCU/MPU 関連サイトを参考に各デバイスのアプリケーションノートやドライバを参照してください。

1.4.1

セキュアな鍵のインジェクションの手順

セキュアな鍵のインジェクションは、アプリケーション鍵が、プロビジョニングプロセス中に平文鍵が露出しないようにすることを言います。このプロセスの詳細な方法は、MCU/MPU に依存します。デバイスによっては、プログラミングインタフェースを介してセキュアな鍵のインジェクションをサポートしているものもありますし、デバイス上で実行されるファームウェアを使用してセキュアな鍵のインジェクションをサポートしているものもあります。Security Key Management Tool を使用した鍵の準備手順は、平文鍵情報を扱うため、セキュアな環境で実行してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 13 of 189

Security Key Management Tool

１．ルネサス鍵管理システム

セキュアな鍵のインジェクションは、以下の 3 つステップで実施します。
1. セキュアな鍵のインジェクションの最初のステップは、Renesas Device Lifecycle Management（DLM）Server で、Hardware Root Key（HRK）を使用して任意の User Factory Programing Key（UFPK）をラップします。 UFPK は、ユーザが選択した 256 ビットの値です。 同じ UFPK で、任意の数のキーをインジェクションできます。
Security Key Management Tool を使用して、DLM サーバーファイルフォーマットの UFPK ファイルを出力します。Security Key Management Tool GUI バージョンの場合は[UFPK 生成]タブを使用します。
[UFPK 生成]タブの使用方法は 3.4[UFPK 生成]タブを参照してください。

図 1.5

DLM サーバーを使用した UFPK のラッピング

2. 次は、ユーザ鍵を UFPK でラップします。Security Key Management Tool は、生データまたはバイナ
リ鍵ファイルで指定されたユーザ鍵をラップし、選択したデバイスによるセキュアな鍵のインジェク
ションに使用できるファイルを生成することができます。すべての出力ファイルタイプが、すべてのデバイスファミリーでサポートされているわけではありません。例えば、Renesas RA ファミリ
SCE9 Protected Mode はプログラミングインタフェース経由でのみセキュアな鍵のインジェクション
をサポートしているため、Renesas key file を生成する必要があります。

図 1.6

UFPK を使用したユーザ鍵のラッピング

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 14 of 189

Security Key Management Tool

１．ルネサス鍵管理システム

3. 最後に、ユーザ鍵は、選択したデバイスがサポートするインジェクションプロセスに応じて、シリア
ルプログラミングインタフェースまたはデバイス上で実行されるファームウェアのいずれかを介してインジェクションされます。このプロセスへの入力には、ラップされた UFPK（W-UFPK）と、前のステップで準備されたラップされたユーザ鍵の両方が含まれます。

図 1.7

シリアルプログラミングインタフェースを使用したユーザ鍵のインジェクション

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 15 of 189

Security Key Management Tool

1.4.2

１．ルネサス鍵管理システム

セキュアな鍵のアップデートの手順

フィールドでのセキュアな鍵のインジェクションを行うためには、プロダクションプログラミング/プロビ
ジョニング中に 1 つ以上の鍵アップデートのための鍵：Key Update Key（KUK）をインジェクションする必要があります。フィールドにおいて新しい鍵のインジェクションは通常、古い鍵を置き換えるために行われるため（鍵のローテーションまたは鍵の再生成）、このプロセスは「鍵のアップデート：Key Update」とも呼ばれます。
KUK は、他のユーザ鍵と同様に、コードフラッシュまたはデータフラッシュ（MCU で使用可能な場合）のいずれかに保存できます。 KUK は、新しい鍵をインジェクション/ラップできる唯一のメカニズムである
ため、工場出荷書き込み時に複数の KUK をインジェクションすることを強くお勧めします。これにより、
KUK をローテーションまたは消去することができ、インフラのセキュリティポリシーを準拠したり、鍵の露
出によるセキュリティ侵害に対応したりできます。
工場出荷時にプログラミングインタフェースを無効にした後は、追加の KUK をインジェクションできないことに注意してください。プログラミングインタフェースが搭載された製品がフィールドに投入されると、新しい鍵は既存の KUK を介してのみインジェクションできます。
KUK は、生産時に任意のコードまたはデータフラッシュに保存することができます。新しいユーザ鍵をインジェクションするために各デバイスで用意されている暗号ドライバの鍵アップデート用 API はこのデータを使用して、フィールドで新しい鍵をインジェクションできます
鍵のアップデートには、3 つのステップがあります。
1. 最初のステップは、1.4.1 セキュアな鍵のインジェクションの手順 に記載されているように、KUK を生成し、インジェクションすることです。KUK は Key Type “KUK”としてインジェクションする必要がありま
す。

図 1.8

UFPK を使用した KUK のラッピング

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 16 of 189

Security Key Management Tool

図 1.9

１．ルネサス鍵管理システム

KUK のインジェクション

2. 2 番目のステップは、KUK を使用して新しいユーザ鍵を KUK でラップします。

図 1.10KUK を使用した新しいユーザ鍵のラップ

3．最後のステップは、各デバイスドライバとすでにインジェクションされた KUK を使用して、新しいユー
ザ鍵をインジェクションすることです。新しい鍵のインジェクション API とその使用方法は、各 MCU/MPUのデバイスドライバのマニュアルをご参照ください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 17 of 189

Security Key Management Tool

図 1.11

１．ルネサス鍵管理システム

ユーザ鍵のアップデート

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 18 of 189

Security Key Management Tool

1.5

１．ルネサス鍵管理システム

Renesas セキュリティ機能

Renesas 製品では、鍵のインジェクションならびにアップデート以外に、Renesas セキュリティ IP を活用した様々なセキュリティ機能を提供しています。Security Key Management Tool では、そのセキュリティ機能を使用するための機能をサポートしています。サポートしている機能については、MCU/MPU によって異なります。表 1-1MCU/MPU 関連サイトを参考に各デバイスのアプリケーションノートやドライバを参照
してください。

1.5.1

First Stage Bootloader

セキュアなシステムでは、実行するアプリケーションプログラムの不正な書き換えが発生していないことを確認するため、アプリケーションプログラムの正当性検証を Bootloader が実施後、アプリケーションプロ
グラムが実行される必要があります。さらに、この Bootloader 自身の正当性を保証する必要があり、Bootloader は書き換えできないメモリに配置するか、書き換えできないメモリに配置した別の Bootloader
で、正当性検証をする必要があります。

Secure Boot

Secure Update

First Stage
Bootloader

Second Stage
Bootloader

Authenticity Check

Secure Update
Program
Authenticity Check

Authenticity CheckNEW
Application
ProgramApplication
Program
Programming

Chain of Trust
図 1.12

セキュアなシステムの Chain of Trust

Renesas の一部の MCU 製品では、デバイス内の Mask ROM もしくは OTP(One Time Programmable)
ROM 領域に First Stage Bootloader(FSBL)を搭載しています。OEM_BL 検証ルート公開鍵は、製造時のプロ
グラミング中にデバイスに登録されます。FSBL は OEM_BL 検証ルート公開鍵を使用して、Second Stage
Bootloader の公開鍵を使った検証を行います。
次の図は、OEM_BL 検証ルート公開鍵と秘密鍵(OEM_ROOT_PK および OEM_ROOT_SK)、OEM_BL 検証公開鍵と秘密鍵(OEM_BL_PK および OEM_BL_SK）、OEM(セカンド・ステージ）Bootloader (OEM_BL)を使用した、初期生産プログラミングと通常のアプリケーション実行の両方におけるセキュア・ブート・プ
ロセスのフローを示しています。
R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 19 of 189

Security Key Management Tool

１．ルネサス鍵管理システム

Security Key Management Tool は、この検証時に使用する鍵証明書(Key Certificate)ならびにコード証明書(Code Certificate)を生成します。詳細は、MCU/MPU のアプリケーションノート及びドライバをご参照ください。

Factory

Security Manager

DeviceInternal Protected Area

OEM_ROOT_PK
Wrapped OEM_ROOT_PK

Hash of OEM_ROOT_PK

Key Certificate
OEM_ROOT_SK Generate
Key Certificate
signature

Flash ROM

OEM_BL_PK
Code Certificate

Authenticity Check
Key/Code Certificate

OEM_BL_SK

Generate and Write
Code Certificate and
OEM_BL HMAC

Generate
Code Certificate and
OEMBL signature

MAC value data

Authenticity Check
OEM_BL

OEM_BL

図 1.13

OEM_BL

Code Certificate

OEM_BL

OEM_BL 工場書き込み時の Authenticity Check

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 20 of 189

Security Key Management Tool

１．ルネサス鍵管理システム

Device Boot
DeviceInternal Protected Area
Hash of OEM_ROOT_PK

Flash ROM

MAC value data

Code Certificate

CompareMAC

OEM_BL
Mask ROM

FSBL
図 1.14

Calculate MAC

デバイス起動時の FSBL 動作

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 21 of 189

Security Key Management Tool

1.5.2

１．ルネサス鍵管理システム

Decryption On-The-Fly/On-The-Fly Decryption

外部メモリに格納するアプリケーションプログラムや機密データを秘匿するためには、暗号化したアプリ
ケーションプログラムを外部メモリに格納する必要があります。Decryption On-The-Fly もしくは On-The-Fly
Decryption 機能(以降 DOTF)は、外部 ROM に格納された暗号化されたアプリケーションプログラムを
eXecute in Place で実行する際に On-the-Fly で復号します。

DeviceCPU
Bus
Matrix

Decryption
On The Fly

SPI IP

External
MemoryOther IP

図 1.15

DOTF 実装 MCU/MPU の内部システムバス例

Security Key Management Tool は、Renesas DOTF 機能で使用するアプリケーション情報（実行可能コー
ドまたは機密データ）の生成に対応しています。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 22 of 189

Security Key Management Tool

1.5.3

１．ルネサス鍵管理システム

Secure Factory Programming

Secure Factory Programming 機能は、暗号化したアプリケーションプログラムを書き込む機能です。工場
書き込み時に工場からアプリケーションプログラムファイルが漏洩した場合でも、ファイルのプログラムも
しくはデータの漏洩を防ぐことができます。

Factory

Security Manager

DeviceSecure IP

W-UFPKHUKInternal Protected Area
Wrapped DLM Key
Wrapped DLM Key

UFPKFlash ROM
Key Wrap Service

DLM Key

Encryption Key

Application
program

図 1.16

Application
programApplication
programApplication
ProgramSecure Factory Programming 機能実装 MPU/MPU のシステム例

Security Key Management Tool では、Secure Factory Programming 機能を実現するため以下の機能をサポートします。
・ユーザアプリケーションプログラムの暗号化・暗号化に使用した鍵のラッピング
・同時に注入可能なデバイスライフサイクルの鍵のラッピング
・First Stage Bootloader の設定
・最終 DLM ステートへの遷移
特定のデバイスでサポートされている機能のリストや、内部メモリのみのプログラミングをサポートするなど、Secure Factory Programming の制限事項については、MCU/MPU のマニュアルを参照してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 23 of 189

Security Key Management Tool

2.

２．概要

概要

Security key Management Tool は、アプリケーションや DLM（Device Lifecycle Management）の鍵を、セ
キュアにインジェクションもしくはアップデートを行うためのツールです。
本ツールは 3 つのバージョンを用意しています。
・コマンドライン版– Windows のコマンドプロンプトや Linux のターミナルソフトから、単一コマンドを実行したり、バッチ処理で複数コマンドを実行したりすることが可能です。キーマネージャーやグループ開発をサポートするためのツールです。

・スタンドアロン GUI 版 – ファームウェア開発者を支援するために設計された直感的な GUI ツールです。サードパーティ製 IDE で開発する場合に便利です。
・e2studio

プラグイン版 – Renesas 製 IDE e2studio で使用可能な GUI インターフェースツールで、ファームウェア開発者の開発をサポートします。

2.1

特長

Security Key Management Tool でサポートしている機能と MCU/MPU を以下に示します。:

2.1.1

セキュアな鍵のインジェクション/アップデート

セキュアな鍵のインジェクション、アップデートに関連する以下の機能をサポートしています。
サポートしている MCU/MPU は表 2-1 を参照ください。
① UFPK 生成と Renesas Key Wrap Service へ送付可能なフォーマットのファイル生成② セキュアな鍵のインジェクションのための UFPK を使った DLM Key のラッピング(DLM Key は一部の MCU/MPU でのみサポートされています)③ セキュアな鍵のインジェクションションのための UFPK を使ったユーザ鍵のラッピング④ セキュアな鍵のアップデートのための KUK を使ったユーザ鍵のラッピング

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 24 of 189

Security Key Management Tool

２．概要

表 2-1 MCU/MPU ファミリ 鍵のインジェクション/アップデート サポート機能
サポート機能ファミリ①
RA Family
RSIP-E51A Security Function
and Protected Mode
RSIP-E51A Compatibility Mode
SCE9 Security Function andProtected Mode
SCE9 Compatibility Mode
SCE7
SCE5_BSCE5
RX Family
TSIP
TSIP-Lite
RSIP-E11A
RZ Family
RZ/T2M
RZ/T2MERZ/T2LRZ/N2LTSIP
Renesas Synergy Platform
SCE7
SCE5

②

③

④

✓

✓

✓

✓

✓
✓

✓

✓
✓

✓
✓

✓
✓
✓
✓

✓
-

✓
✓
✓
✓

✓
✓
✓
✓

✓
✓
✓

-

✓
✓
✓

✓
✓
✓

✓
✓
✓
✓
✓

-

✓
✓
✓
✓
✓

✓
✓
✓
✓
✓

✓
✓

-

✓
✓

✓
✓

以下のファイルフォーマットの出力をサポート(Renesas key file はすべての MCU/MPU でサポートされていません):•

Renesas key file•

C source file•

Binary data•

Motorola hex file

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 25 of 189

Security Key Management Tool

2.1.2

２．概要

Security Key Management Tool がサポートするセキュア機能

Security Key Management Tool では、セキュアな鍵のインジェクション、アップデート以外に、デバイスが持つ以下の機能で使用するデータを生成することが可能です。
サポートしている MCU/MPU は表 2-2 を参照ください。
① FSBL のための鍵証明書ならびにコード証明書の生成② DOTF で使用可能なユーザプログラム/データ暗号化③ Secure Factory Programming 機能で使用可能なファイル生成④ TSIP を使用したセキュアアップデートで使用可能なファイル生成
表 2-2 MCU/MPU ファミリ セキュアな機能のサポート
ファミリ

サポート機能①

RA Family
RSIP-E51A Security Function
and Protected Mode
RSIP-E51A Compatibility Mode
SCE9 Security Function andProtected Mode
SCE9 Compatibility Mode
SCE7
SCE5_BSCE5
RX Family
TSIP
TSIP-Lite
RSIP-E11A
RZ Family
RZ/T2M
RZ/T2MERZ/T2LRZ/N2LTSIP
Renesas Synergy Platform
SCE7
SCE5

R20UT5349JJ0107
Aug.30.24

Rev.1.07

②

③

④

✓

✓

✓

-

-

✓
-

-

-

-

-

-

-

-

-

-

✓
✓
✓

-

✓
-

-

-

-

-

-

-

Page 26 of 189

Security Key Management Tool

2.2

動作環境

2.2.1
(1)

２．概要

ハードウェア環境

ホスト PC• プロセッサ：1GHz 以上

• メインメモリ：1G バイト以上• ディスプレイ設定：解像度 1366 × 768 以上
表示スケール 100%(推奨)
注 : 解像度ならびに表示スケールが上記以外の場合、すべてのオプションが表示できない場合があります。

2.2.2
(1)

ソフトウェア環境

対応 OS• Windows 10 (64bit 版)• Linux (Ubuntu 20.04 LTS、Ubuntu 22.04 LTS)
• macOS 14 Sonoma (Apple Silicon のみ対応)(2)e2studio plugin 版 e2studio 動作確認バージョン• e2studio 2024-07

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 27 of 189

Security Key Management Tool

3.

３．GUI 機能説明

GUI 機能説明

この章では、Security Key Management Tool GUI の画面構成と機能について解説します。
Standalone 版と e2studio plugin 版は同じ GUI の構成です。説明は Standalone 版で行います。

3.1

メインウィンドウ

起動後のメインウィンドウは次のような構成です。

(1)
(2)

(5)

図 3.1

スタンドアロン版 メインウィンドウR20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 28 of 189

Security Key Management Tool

３．GUI 機能説明

(2)

(4)

(3)
(5)

図 3.2

e2studio プラグイン版 メインウィンドウ

No

Item

Description(1)

メニューバー

スタンドアロン版のみの機能。
詳細は 3.2.1[ファイル]メニュー を参照してください。

(2)

タブウィンドウ

各タブは、セキュアな鍵のインジェクションおよびアップデート
プロセスの一部として使用されるファイルを生成するためのインタフェースを提供します。

(3)ステータスクリア

ステータスウィンドウに表示している実行結果をクリアします。
スタンドアロン版はメニューの 表示 > ステータスクリア で実
施します。

(4)

Security Key Management ToolのUser’s Manualやヘルプ

Renesasの鍵管理システムを理解するのに有益なサイト情報を表示します。
スタンドアロン版はメニューの ヘルプ > Security KeyManagement Toolについて… で表示します。
(5)

ステータスウィンドウR20UT5349JJ0107
Aug.30.24

Rev.1.07

各タブで実行した結果を表示します。

Page 29 of 189

Security Key Management Tool

3.2

３．GUI 機能説明

メニューバー

スタンドアロン版のみの機能になります。

3.2.1[ファイル]メニュー

設定の保存に関する処理メニューを選択することができます。
•[設定を保存する…]

XML ファイル形式のファイルに、各タブで設定した入出力ファイル情報を保存します。
鍵情報は保存しません。
•[設定を読み込む…][設定を保存する…]で保存した設定ファイルを読み込んで、各タブに反映します。
e2studio plugin 版の場合、[Apply and Close]ボタンを押すことで各タブの設定情報を e2studio のプロジェ
クトに保存します。

3.2.2[表示]メニュー

GUI の表示に関するメニューです。
•[ステータスクリア]

ステータスウィンドウの実行結果をクリアします。

3.2.3
•

[ヘルプ]メニュー[Security Key Management Tool について]
Security Key Management ToolのUser’s Manualや Renesasの鍵管理システムを理解するのに有益なサイト情報を表示します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 30 of 189

Security Key Management Tool

3.3

３．GUI 機能説明[概要]タブこのタブでは、使用するターゲットMCU/MPUと暗号エンジンを選択します。他のタブで操作する前に、必ずターゲットデバイスを選択してください。他のタブの機能は、このタブでのデバイス選択によって決まり
ます。

(1)

図 3.3

[概要]タブ

No

項目

説明

(1)

MCU/MPUと暗号エンジン

使用するターゲットMCU/MPUと暗号エンジンの選択してください。
設定を保存すると、MCU/MPUと暗号エンジン情報が保存されます。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 31 of 189

Security Key Management Tool

3.4

３．GUI 機能説明

[UFPK 生成]タブ

このタブでは、User Factory Programming Key (UFPK) ファイルをバイナリ*.keyファイルとして生成します。このファイルをRenesas Key Wrap Serviceに送信して、ラップされたUFPK（W-UFPK）を取得する必要があります。 UFPKファイルは、セキュアな鍵のインジェクション用の鍵を準備するのに使用します。

(1)
(2)
(3)

(4)

図 3.4

[UFPK 生成]タブ

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 32 of 189

Security Key Management Tool

３．GUI 機能説明

No

項目

説明

(1)

入力するUFPKのUFPK値に(2)の入力値を使用するか、ツール内の乱数生成機能を使用するか選

フォーマット

択します。
乱数生成機能を使用する を選択時：
ツール内の乱数生成機能を使用してUFPKを生成します。【注】指定値を使用する を選択時：
UFPKファイルを生成するときに、(2)に入力された値を使用します。

(2)

指定値を使用す(1)で指定値を使用する選択時に、テキストボックスに入力された値をUFPK値るとして、UFPKファイルを生成します。
データはヘキサデータでビックエンディアンの順序で入力してください。

(3)

出力ファイル

出力するUFPKファイルのパスとファイル名とパスを設定します。

(.key)

出力ファイルの拡張子は*.keyと設定してください。
設定を保存すると、出力ファイルパスが保存されます。

(4)

UFPKファイルを

UFPKファイルを生成します。

生成する[概要]タブでMCUと暗号エンジンを選択すると有効になります。

注 :ツール内で生成するランダム値は十分な乱数性を保証するものではありません。

このタブで生成したUFPKファイルをRenesas Key Wrap Service(https://dlm.renesas.com/keywrap)に送信
し、W-UFPKを生成します。Renesas Key Wrap Service については、Renesas Key Wrap ServiceのFAQもしくは、各MCU/MPUのアプリケーションノートもしくはドライバ、サンプルプロジェクト (表1-1MCU/MPU関連サイト) をご参照ください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 33 of 189

Security Key Management Tool

3.5

３．GUI 機能説明

[KUK 生成]タブ

このタブでは、Key-Update Key (KUK) ファイルをバイナリ*.keyファイルとして生成します。このファイ
ルは、KUKのセキュアな鍵のインジェクションだけでなく、セキュアな鍵のアップデートのために他の鍵を準備するためにも使用されます。

(1)

(2)

(3)
(4)
図 3.5

[KUK 生成]タブ

No

項目

説明

(1)

入力するKUKのKUK値に(2)の入力値を使用するか、ツール内の乱数生成機能を使用するか選

フォーマット

択します。
乱数生成機能を使用する を選択時：
ツール内の乱数生成機能を使用してKUKを生成します。【注】指定値を使用する を選択時：
KUKファイルを生成するときに、(2)に入力された値を使用します。

(2)

指定値を使用す(1)で指定値を使用する選択時に、テキストボックスに入力された値をKUK値るとして、KUKファイルを生成します。
データはヘキサデータでビックエンディアンの順序で入力してください。

(3)

出力ファイル

出力するKUKファイルのパスとファイル名とパスを設定します。

(.key)

出力ファイルの拡張子は.keyと設定してください。
設定を保存すると、出力ファイルパスが保存されます。

(4)

KUKファイルを

KUKファイルを生成します。

生成する
注 :ツール内で生成するランダム値は十分な乱数性を保証するものではありません。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 34 of 189

Security Key Management Tool

3.6

３．GUI 機能説明

[鍵のラッピング]タブ

このタブで、ユーザ鍵もしくはDLM鍵を暗号化し、セキュアな鍵のインジェクションやアップデートに必要なファイルを生成します。

(1)

(2)

(3)

(4)

(5)
図 3.6

[鍵のラッピング]タブ

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 35 of 189

Security Key Management Tool

３．GUI 機能説明

No

項目

説明

(1)

[鍵の種類][鍵の種類]タブで暗号化するユーザ鍵の種類を選択後、[鍵データ]タブで鍵[鍵データ]

データを入力します。

タブ[鍵の種類]タブの詳細は3.6.1 [鍵の種類] タブを参照してください[鍵データ]タブの詳細は3.6.2 [鍵データ] タブを参照してください。

(2)

ラッピング鍵

暗号化時に使用する鍵の設定をします。
設定の詳細は3.6.3 ラッピング鍵参照してください。
設定したUFPK/W-UFPKファイルもしくはKUKファイルパスは設定保存で保存されます。

(3)

IV

暗号化時に使用するInitial Vector(IV)の設定をします。
設定の詳細は3.6.4 IVを参照してください。

(4)

出力するEncrypted User Keyファイルの設定をします。

出力設定の詳細は3.6.5 出力を参照してください。
設定したフォーマット、ファイルパス、アドレス、key name は設定保存で保存されます。
(5)

ファイルを生成する

R20UT5349JJ0107
Aug.30.24

Rev.1.07(3)で指定したフォーマットのEncrypted User Keyファイルを生成します。

Page 36 of 189

Security Key Management Tool

3.6.1

３．GUI 機能説明

[鍵の種類] タブ

このタブで、セキュアな鍵のインジェクションまたはアップデートのための鍵の種類を指定します。 すべての鍵の種類とオプションが、すべてのデバイスファミリーでサポートされているわけではないことをご注意ください。

(1)

図 3.7[鍵の種類]タブ

No

項目

説明

(1)

鍵の種類と鍵長暗号化する鍵のアルゴリズムならびに鍵長を選択します。

選択
鍵の種類と鍵長は以下が選択可能です。サポートしている鍵の種類と鍵長はMCU/MPUによって異なります。どの鍵並びに鍵長をサポートしているかは、各MCU/MPUのアプリケーションノートならびにドライバのマニュアル(表 1-1MCU/MPU関連サイト)をご参照ください。
表 3-1 DLM 選択時の表示項目
選択項目

説明

DLM-SSD

DLMのSSDステートの認証鍵

DLM-NSECSDDLMのNSECSDステートの認証鍵

DLM-RMA-REQ

DLMのRMA-REQステートの認証鍵

AL2_KEYDLM 認証レベルAL2遷移用の鍵

AL1_KEYDLM 認証レベルAL1遷移用の鍵

RMA_KEYDLM RMA_REQステート認証用の鍵

表 3-2 AES 選択時の表示項目
選択項目

説明

128 bits

AES-128bitの鍵

192 bits

AES-192bitの鍵

256 bits

AES-256bitの鍵

128 bits, XTS

AES-128bit XTSの鍵

256 bits, XTS

AES-256bit XTSの鍵

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 37 of 189

Security Key Management Tool

３．GUI 機能説明

表 3-3 RSA 選択時の表示項目
選択項目

説明

1024 bits, public

RSA 1024bitの公開鍵1024 bits, private

RSA 1024bitの秘密鍵

2048 bits, public

RSA 2048bitの公開鍵

2048 bits, private

RSA 2048bitの秘密鍵

3072 bits, public

RSA 3072bitの公開鍵3072 bits, private

RSA 3072bitの秘密鍵

4096 bits, public

RSA 4096bitの公開鍵4096 bits, private

RSA 4096bitの秘密鍵

RSA-2048-public-TLS

TLS API用のRSA 2048bitの公開鍵

表 3-4 ECC 選択時の表示項目
選択項目

説明

secp192r1, public

ECC NIST P-192の公開鍵

secp192r1, private

ECC NIST P-192の秘密鍵

secp224r1, public

ECC NIST P-224の公開鍵

secp224r1, private

ECC NIST P-224の秘密鍵

secp256r1, public

ECC NIST P-256の公開鍵

secp256r1, private

ECC NIST P-256の秘密鍵

secp384r1, public

ECC NIST P-384の公開鍵

secp384r1, private

ECC NIST P-384の秘密鍵

secp521r1, public

ECC NIST P-521の公開鍵

secp521r1, private

ECC NIST P-521の秘密鍵

brainpool P256, public

ECC brainpoolP256r1の公開鍵

brainpool P256, private

ECC brainpoolP256r1の秘密鍵

brainpool P384, public

ECC brainpoolP384r1の公開鍵

brainpool P384, private

ECC brainpoolP384r1の秘密鍵

brainpool P512, public

ECC brainpoolP512r1の公開鍵

brainpool P512, private

ECC brainpoolP512r1の秘密鍵

secp256k1, public

ECC Koblitz curve secp256k1の公開鍵

secp256k1, private

ECC Koblitz curve secp256k1の秘密鍵

Ed25519, public

EdDSA Ed25519の公開鍵

Ed25519, private

EdDSA Ed25519の秘密鍵

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 38 of 189

Security Key Management Tool

３．GUI 機能説明

表 3-5 HMAC 選択時の表示項目
選択項目

説明

SHA1-HMAC

HMAC-SHA1の鍵

SHA224-HMAC

HMAC-SHA224の鍵

SHA256-HMAC

HMAC-SHA256の鍵

SHA384-HMAC

HMAC-SHA384の鍵

SHA512-HMAC

HMAC-SHA512の鍵

SHA512/224-HMAC

HMAC-SHA512-224の鍵

SHA512/256-HMAC

HMAC-SHA512-256の鍵

各鍵の設定例は6.使用例をご参照ください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 39 of 189

Security Key Management Tool

3.6.2

３．GUI 機能説明

[鍵データ] タブ

暗号化される鍵データを入力する[鍵データ]タブの説明をします。
[鍵データ]タブで、セキュアな鍵のインジェクションやアップデートのために用意する平文の鍵データを指定します。 このタブの表示は、[鍵の種類]タブで指定した鍵の種類に依存します。

3.6.2.1[鍵の種類]タブで DLM/KUK/AES/TDES/ARC4/ECC private 選択時

(2)

(1)

(3)
(4)
図 3.8

DLM / KUK / AES / TDES / ARC4 / ECC private 鍵を選択時の[鍵データ]タブ

No

項目

説明

(1)

入力値の選択暗号化する鍵のデータを選択「ファイル」選択時：(2)に鍵ファイルを入力します。
「平文データ」選択時：(3)に鍵の平文データを入力します。
「乱数を使用」選択時：(4)に生成された鍵の出力ファイル名を指定します。

(2)(1)で「ファイル」を選択時、暗号化する鍵ファイルを設定します。

ファイル

鍵ファイルは表 4-53keyオプション ファイル入力のフォーマットの鍵を指定可
能です。
(3)

(1)で「平文データ」を選択した場合、平文の鍵データを16進数で入力します。

平文データ

データサイズは、[鍵の種類]タブで指定した鍵の種類に依存します。
(4)

出力ファイル(1)で「乱数を使用」を選択した場合、ツール内で鍵データを生成します。ツー
ル内で生成した平文鍵データの出力ファイルを指定します。
出力する平文鍵ファイルは、テキストファイルもしくはバイナリファイルを指定可能です。
ECC privateの鍵生成時は、公開鍵も同時に生成し、指定したファイル名に公開
鍵は_public、秘密鍵は_privateを付けたファイルを出力します。
ECC private鍵は本機能をサポートしていない鍵の種類があります。サポートしているアルゴリズムは表 3-6 鍵生成をサポートしているECC private鍵をご参照ください。
注：本ツールで生成される乱数値はランダム性を保証しません。本ツールで生成した
鍵は試作もしくはテスト目的でのみ使用してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 40 of 189

Security Key Management Tool

３．GUI 機能説明

表 3-6 鍵生成をサポートしている ECC private 鍵の種類
鍵の種類/鍵長
secp256r1, secp384r1, secp521r1
brainpool P256, brainpool P384, brainpool P512 【注】注: macOS 版では、brainpool の鍵生成は非サポートです。

3.6.2.2[鍵の種類]タブで RSA 公開鍵選択時

(2)

(1)

(3)
(4)

図 3.9

RSA 公開鍵を選択時の[鍵データ]タブ

No

項目

説明

(1)

入力値の選択暗号化する鍵のデータを選択「ファイル」選択時：(2)に鍵ファイルを入力します。
「平文データ」選択時：(3),(4)に鍵の平文データを入力します。

(2)

ファイル

暗号化する鍵ファイルを設定します。
鍵ファイルはバイナリファイルで、拡張子が*.keyのファイルが指定可能です。

(3)

Modulus(n)(1)で「平文データ」選択時、RSA modulus nの平文データを16進数で入力し
ます。

(4)

Exponent (e)(1)で「平文データ」選択時、RSA exponent eの平文データを16進数で入力します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 41 of 189

Security Key Management Tool

3.6.2.3

３．GUI 機能説明

[鍵の種類]タブで RSA 秘密鍵選択時

(1)

(2)
(3)
(4)
(5)

図 3.10

RSA 秘密鍵を選択時の[鍵データ]タブ

No

項目

説明

(1)

入力値の選択暗号化する鍵のデータを選択「ファイル」選択時：(2)に鍵ファイルを入力します。
「平文データ」選択時：(3),(4)に鍵の平文データを入力します。
「乱数を使用」選択時：(5)にツール内で生成する鍵の出力ファイル名を指定し
ます。

(2)

ファイル

暗号化する鍵ファイルを設定します。
鍵ファイルはバイナリファイルで、拡張子が*.keyのファイルが指定可能です。

(3)

Modulus(n)(1)で「平文データ」選択時、RSA modulus nの平文データを16進数で入力しま
す。

(4)
(5)

Decryption(1)で「平文データ」選択時、RSA decryption exponent dの平文データを16進数

Exponent (d)で入力します。

出力ファイル(1)でRandomを選択した場合、ツール内で鍵データを生成します。ツール内で生成した平文鍵データの出力ファイルを指定します。
出力する平文鍵ファイルは、テキストファイルもしくはバイナリファイルを指定可能です。
鍵生成時は、公開鍵も同時に生成し、指定したファイル名に公開鍵は_public、
秘密鍵は_privateを付けたファイルを出力します。
注：本ツールで生成される乱数値はランダム性を保証しません。本ツールで生成した
鍵は試作もしくはテスト目的でのみ使用してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 42 of 189

Security Key Management Tool

3.6.2.4

３．GUI 機能説明

[鍵の種類]タブで ECC public 選択時
(2)

(1)

(3)
(4)

図 3.11

ECC 公開鍵を選択時の[鍵データ]タブ

No

項目

説明

(1)

入力値の選択暗号化する鍵のデータを選択「ファイル」選択時：(2)に鍵ファイルを入力します。
「平文データ」選択時：(3),(4)にQx、Qyにヘキサデータを入力します。

(2)

ファイル

暗号化する鍵ファイルを設定します。
鍵ファイルはバイナリファイルで、拡張子が*.keyのファイルが指定可能です。

(3)

Qx

(1)で「平文データ」選択時、ECC 公開鍵のQxの平文データを16進数で入力しま
す。

(4)

Qy

(1)で「平文データ」選択時、ECC 公開鍵のQyの平文データを16進数で入力します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 43 of 189

Security Key Management Tool

3.6.2.5

３．GUI 機能説明

[鍵の種類]タブで OEM Root public 選択時

(1)

(2)
(3)
(4)
(5)

図 3.12

OEM Root public を選択時の[鍵データ]タブ

No

項目

説明

(1)

入力値の選択暗号化する鍵のデータを選択「ファイル」選択時：(2)に鍵ファイルを入力します。
「平文データ」選択時：(3),(4)にQx、Qyにヘキサデータを入力します。
「乱数を使用」選択時：(5)に生成された鍵の出力ファイル名を指定します。

(2)

ファイル

暗号化する鍵ファイルを設定します。
鍵ファイルはバイナリファイルで、拡張子が*.keyのファイルが指定可能です。

(3)

Qx

(1)で「平文データ」選択時、ECC 公開鍵のQxの平文データを16進数で入力しま
す。

(4)

Qy

(1)で「平文データ」選択時、ECC 公開鍵のQyの平文データを16進数で入力します。

(5)

出力ファイル(1)で「乱数を使用」を選択した場合、ツール内で鍵データを生成します。ツール内で生成した平文鍵データの出力ファイルを指定します。
出力する平文鍵ファイルは、テキストファイルもしくはバイナリファイルを指定可
能です。
注：本ツールで生成される乱数値はランダム性を保証しません。本ツールで生成した鍵は試作もしくはテスト目的でのみ使用してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 44 of 189

Security Key Management Tool

3.6.3

３．GUI 機能説明

ラッピング鍵

セキュアな鍵のインジェクションで新しい鍵をデバイスにセットする場合、UFPKでラップされ、W-UFPKを用意する必要があります。セキュアな鍵のアップデートで新しい鍵をインジェクションする場合、KUKでラップする必要があります。

(2)

(1)

(3)
(4)
図 3.13

ラッピング鍵

No

項目

説明

(1)

Wrapping KeyのWrappingする鍵の選択

種類「UFPK」選択時：(2)にUFPKファイル、(3) W-UFPKファイルを選択「KUK」選択時：(4) KUKファイルを選択(2)

UFPK ファイル(1)で「UFPK」選択時に、[UFPK生成]タブで生成したUFPKファイルを入力し
ます。

(3)
(4)

W-UFPK ファイ(1)で「UFPK」選択時に、[UFPK生成]タブで生成したUFPKファイルをル

Renesas Key WrapサービスでラップしたW-UFPKファイルを入力します。

KUK ファイル

(1)で「KUK」選択時に、[KUK生成]タブで生成したKUKファイルを入力します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 45 of 189

Security Key Management Tool

3.6.4

３．GUI 機能説明

IV

Wrapping keyでUFPKもしくはKUKどちらを選択した場合も、Initial Vector(IV)が必要です。IVは指定することも、ツールで生成することも可能です。

(1)

(2)

図 3.14

IV

No

項目

説明

(1)

IVのフォーマッ

鍵をラッピングする時に使用するInitial Vector値を選択

ト「乱数生成機能を使用する」選択時：ツールの乱数生成機能からIVを生成します。
「指定値を使用する」選択時：(2)に入力されたヘキサデータを使用します。

(2)

指定値を使用す(1) で“指定値を使用する”を選択時、ここに入力された値を暗号化時にInitial

る

Vectorとして使用します。16進数、ビッグエンディアンフォーマットで入力してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 46 of 189

Security Key Management Tool

3.6.5

３．GUI 機能説明

出力

このセクションでは、セキュアな鍵のインジェクションまたはアップデートのために生成する出力ファイルの種類を指定します。すべてのオプションが、すべてのMCU/MPUファミリに対応しているわけではないことに注意してください。例えば、RAファミリのSCE9 Protected Modeの鍵のインジェクションはデバイスプ
ログラマ経由でのみサポートされており、RFP出力フォーマットのみがサポートされています。

(1)

(2)

(3)

(4)
(6)

(5)
図 3.15

出力

No

項目

説明

(1)

フォーマット

出力するファイルフォーマットの選択選択できるフォーマットは表 3-7を参照してください。

(2)

ファイル

出力するファイル名とパスを設定します。
非対称秘密鍵を指定し、鍵ペアの生成する場合、出力される暗号化鍵のファイル
名に秘密鍵ファイルには"_private "、公開鍵ファイルには”_public”が付加されます。

(3)

エンディアン(1)で”Motorola Hex”もしくは”Binary”選択時に有効になります。
出力するデータのデータ並びを決定します。詳細は4.5.6.bswap オプションを参照ください。

(4)

データを追加す(1)で”C Source”、”Motorola Hex”もしくは”Binary”選択時に有効になります。

る

出力するファイル名がすでにあるファイル名の場合、そのファイルの後ろに鍵の暗号化情報を付加します。詳細は4.5.5.fileadd オプションを参照ください

(5)

アドレス

(1)で”Motorola Hex”選択時に有効になります。
Motorola Hexファイルに設定するアドレスを入力してください。

(6)

Key name(1)で”C Source”を選択時に有効になります。Cソースファイルやヘッダファイルで定義されている構造体、変数、データサイズ値の<keyname>部分を指定します。<keyname>の使い方の詳細は、4.5.4.2 filetypeオプション csource指定時を参照してください。

表 3-7 選択可能なフォーマット
選択項目

内容

C source

Cソースファイルとヘッダを出力します。

Binary

バイナリデータを出力します。

Motorola Hex

モトローラヘキサファイルを出力します。

RFP

Renesas Key Fileフォーマットの鍵データを出力します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 47 of 189

Security Key Management Tool

３．GUI 機能説明

表 3-8 エンディアン選択項目
選択項目

内容

Littleモトローラヘキサファイルもしくはバイナリデータを、”Big”選択時に出力するデータを4バイトスワップしたデータを出力します。

Big

モトローラヘキサファイルもしくはバイナリデータを、表 4-60、表 4-61のフォーマットに従い、データをバイト並びで出力します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 48 of 189

Security Key Management Tool

3.7

３．GUI 機能説明

[TSIP Update]タブ

このタブで、TSIPのSecure Updateソリューションのユーザプログラムの暗号化を行います。

(1)
(2)
(3)

(4)
(5)
図 3.16[TSIP Update]タブR20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 49 of 189

Security Key Management Tool

３．GUI 機能説明

No

項目

説明

(1)

出力イメージ

出力するデータタイプの選択と入力するファイルを指定します。
「Factory Programming」 : 工場書き込み時のイメージ作成の動作
ファームウェアイメージとセキュアブートイメージを指定してください。
「Secure Update」: ファームアップデート時のイメージ作成

ファームウェアイメージを指定してください。
詳細は3.7.1 出力を参照してください。
(2)

ファームウェアイメ

「ファームウェアイメージ」には暗号化するプログラムのmotファイルをージ/

入力します。

セキュアブートイメ「セキュアブートイメージ」には、出力データで「Factoryージ

Programming」選択時に、暗号化したファームアップデートイメージにつけるセキュアブートプログラムのmotファイルを入力します。

(3)

設定タブ

暗号化ならびに出力データに関する設定を行います。
各タブの設定については、
3.7.3 [暗号化アドレス範囲]タブ
3.7.4 [Image Encryption Key]タブ
3.7.5 [IV]タブ
3.7.6 [RSUヘッダ]タブ
をご参照ください。

(4)

出力出力するファイルの設定をします。
設定の詳細は3.7.7 出力を参照してください。

(5)

ファイルを生成する

R20UT5349JJ0107
Aug.30.24

Rev.1.07(4)で指定したフォーマットのファイルを生成します。

Page 50 of 189

Security Key Management Tool

3.7.1

３．GUI 機能説明

出力イメージ

このタブで出力するデータのフォーマットを指定します。

(1)
図 3.17

出力イメージ

No

項目

説明

(1)

出力イメージ

本タブで作成するファイルのタイプを選択します。

表 3-9 出力イメージの表示項目
選択項目

説明

Factory

工場書き込みを想定し、セキュアブートで指定したファイルに、ファームウェアイ

Programming

メージを暗号化したデータを合わせたmotファイルを生成します。
セキュアブート部分は暗号化されません。書き込みの際は、セキュアな環境下で書き込むことを推奨します。

Secure Update

ファームアップデートを想定し、ファームウェアイメージに入力されたmotファイ
ルの指定エリアを暗号化したmotファイルもしくはRSUヘッダを付属したバイナリ
ファイルを生成します。

3.7.2

ファームウェアイメージ/セキュアブートイメージ

暗号化するファームウェアイメージならびに、暗号化したデータにつけるセキュアブートイメージを指定
します。

(1)
(2)
図 3.18

ファームウェアイメージ/セキュアブートイメージ

No

項目

説明

(1)

ファームウェア

暗号化するプログラムのmotファイルを指定します。

イメージ

指定したmotファイル内の「暗号化アドレス範囲」で指定した範囲のデータをTSIP Firm Updateソリューション用の暗号化を行います。暗号式はTSIPのApplication Noteを参照してください。

(2)

セキュアブート

出力データで”Factory Programming”指定時に、暗号化したファームウェアイメー

イメージ

ジと合わせるセキュアブートイメージを指定します。
セキュアブートイメージは暗号化されません。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 51 of 189

Security Key Management Tool

3.7.3

３．GUI 機能説明

[暗号化アドレス範囲]タブ

ファームウェアイメージの暗号化する範囲を指定します。

(1)
(2)

図 3.19[暗号化アドレス範囲]タブ

No

項目

説明

(1)

暗号化開始アドファームウェアイメージで指定したmotファイル内の暗号化する範囲を指定しま

レス/暗号化終了

す。暗号化する範囲の上限は8MBです。

アドレス
(2)

暗号化イメージ

出力ファイルにMOTを指定時に、暗号化したファームウェアイメージを出力する

出力アドレス

アドレスを指定します。

3.7.4[Image Encryption Key]タブ

ファームウェアイメージを暗号化するときに使用する鍵データを指定します。

(1)
(2)

(3)
[Image Encryption Key]タブ

図 3.20
No

項目

説明

(1)

Key Encryption

暗号化する鍵(Image Encryption Key)を暗号化する鍵を指定します。16進数、ビッKey

グエンディアンフォーマットで入力してください。

Image

ファームウェアイメージを暗号化する鍵値を選択

Encryption Key「乱数生成機能を使用する」選択時：ツールの乱数生成機能から鍵を生成しまのフォーマットす。

(2)「指定値を使用する」選択時：(3)に入力されたヘキサデータを使用します。
(3)

指定値を使用す(2) で“指定値を使用する”を選択時、ここに入力された値を暗号化する鍵として使る用します。16進数、ビッグエンディアンフォーマットで入力してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 52 of 189

Security Key Management Tool

3.7.5

３．GUI 機能説明

[IV]タブ(1)(2)

図 3.21[IV]タブ

No

項目

説明

(1)

IVのフォーマッ

ファームウェアイメージを暗号化時に使用するInitial Vector値を選択

ト「乱数生成機能を使用する」選択時：ツールの乱数生成機能からIVを生成します。
「指定値を使用する」選択時：(2)に入力されたヘキサデータを使用します。

(2)

指定値を使用す(1) で“指定値を使用する”を選択時、ここに入力された値をファームウェアイメ

るージの暗号化時にInitial Vectorとして使用します。16進数、ビッグエンディア
ンフォーマットで入力してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 53 of 189

Security Key Management Tool

3.7.6

３．GUI 機能説明

[RSU ヘッダ]タブ

このセクションでは、RSUヘッダの出力するファイルフォーマットを指定します。

(1)

図 3.22(2)[RSU ヘッダ]タブ

No

項目

説明

(1)

イメージフラグ

RSUヘッダのImage Flagsに設定する値を選択します。
(2)で”2”を選択した場合、イメージフラグは指定不要のため、指定できません。
選択できる値は 表 3-10 を参照してください。

(2)

RSUヘッダVer

暗号化したファームウェアイメージにつけるRSUヘッダのバージョンを指定します。Versionは1もしくは2を指定可能です。
RSUヘッダVerについては、4.6.2 ver オプションを参照してください。

表 3-10 RSU ヘッダ イメージフラグ
選択項目
BLANK
TESTINGINSTALLINGVALIDINVALID
END_OF_LIFER20UT5349JJ0107
Aug.30.24

説明
ファームアップイメージがない。
ファームアップイメージがアップデート中、検証中。
ファームアップイメージが初期イメージをインストール中であり、検証中。
ファームアップイメージが有効。
ファームアップイメージが無効。
ファームアップイメージは End of Life。

Rev.1.07

Page 54 of 189

Security Key Management Tool

3.7.7

３．GUI 機能説明

出力

このセクションでは、出力するファイルフォーマットを指定します。

(1)

(2)

図 3.23

出力

No
(1)

項目
フォーマット

(2)

ファイル

説明
出力するファイルフォーマットの選択選択できるフォーマットは表 3-11 を参照してください。
出力するファイル名とパスを設定します。

表 3-11 選択可能なフォーマット
選択項目
バイナリ
モトローラヘキサR20UT5349JJ0107
Aug.30.24

内容
RSU ファイルヘッダを付けたバイナリデータを出力します。
RSU は、出力データで”Secure Update”指定時のみ指定可能。
モトローラヘキサファイルを出力します。

Rev.1.07

Page 55 of 189

Security Key Management Tool

3.8

３．GUI 機能説明

[FSBL]タブ

このタブで、First Stage Bootloader(FSBL)機能を搭載したルネサスデバイスで使用可能な鍵証明書とコード証明書の生成を行います。

(1)
(2)

(3)

(4)

(5)
図 3.24[FSBL]タブ

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 56 of 189

Security Key Management Tool

３．GUI 機能説明

No

項目

説明

(1)

OEM Bootloaderイメージ

FSBLが検証対象とするOEM_BLのモトローラヘキサファイルを指定
します。

(2)

プログラム検証方法「Signature」: ECDSA署名を使用したコード証明書と鍵証明書を生成
します。
「CRC」

: CRCを使用した簡易的な検証を行うためのコード証明書のみを作成します。
詳細は3.8.1 プログラム検証方法を参照してください。
(3)

イメージバージョン

プログラム検証方法で”Signature”選択時に、コード証明書に記載する
OEM Bootloaderのバージョンを指定します。

(4)

[証明書]

[証明書]タブ：OEM_BL情報と鍵証明書とコード証明書の出力ファイ[OEM_BL検証ルート鍵]

ル名を指定します。

[OEM_BL検証鍵][OEM_BL検証ルート鍵]タブと[OEM_BL検証鍵]タブ：

タブ

プログラム検証方法で「Signature」選択時に、鍵情報を入力します。
[証明書]タブの詳細は3.8.2 [証明書]タブを参照してください[OEM_BL検証ルート鍵]タブの詳細は3.8.3 [OEM_BL検証ルート鍵]タブを参照してください。
[OEM_BL検証鍵]タブの詳細は3.8.4 [OEM_BL検証鍵]タブを参照して
ください。

(5)

ファイルを生成する

R20UT5349JJ0107
Aug.30.24

Rev.1.07(4)で指定した鍵証明書ならびにコード証明書を生成します。

Page 57 of 189

Security Key Management Tool

3.8.1

３．GUI 機能説明

プログラム検証方法

OEM Bootloaderの検証方法を指定します。

(1)(2)
図 3.25

プログラム検証方法

No

項目

説明

(1)

Signature

OEM_BLの署名をするための鍵(OEM_BL検証鍵)と、OEM_BL検証鍵を証明する
鍵(OEM_BL検証ルート鍵)を使用して、鍵証明書とコード証明書を生成します。
「Signature」を選択時は、[OEM_BL検証ルート鍵]タブからOEM_BL検証ルート
鍵、[OEM_BL検証鍵]タブからOEM_BL検証鍵の入力が必要です。
証明書のChain Of Trust構造は、FSBL機能を実装するデバイスのUser Manualをご参照ください。

(2)

CRC

OEM_BLのCRC値を計算し、コード証明書のみを生成します。【注】注：「CRC」を指定してコード証明書を生成した場合、Signer ID にダミー値として CRC 値を出力します。FSBL 動作モードで”CRC + report measurement”選択し、OEM_BL 検証鍵を用いた measurement reportを出力したい場合は、「Signature」を選んでコード証明書を生成してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 58 of 189

Security Key Management Tool

3.8.2

３．GUI 機能説明

[証明書]タブOEM Bootloaderの情報ならびに、鍵証明書とコード証明書のファイル名を指定します。

(1)
(2)
(3)

(4)

(5)
(6)
図 3.26[証明書]タブ

No

項目

説明

(1)

コードフラッシュ

OEM_BLの開始アドレスを指定します。

開始アドレス(2)(3)

デバイスコードフ

使用するデバイスのコードフラッシュのサイズを指定してください。

ラッシュサイズ

該当サイズがない場合は、近いサイズを指定してください。

OEM Bootloaderサ

OEM_BLサイズの算出方法を設定します。

イズ「自動計算」 選択時: OEM_BLイメージで入力されたmotファイルとデバイス
コードフラッシュサイズからOEM_BLのサイズを算出します。
OEM_BLのサイズ算出方法は4.7.2 OEM_BLの署名もしくはCRC演算対象領域
を参照してください。
「サイズ入力」 選択時 : (4)に入力された値がOEM_BLサイズになります。

(4)
(5)

OEM Bootloaderサ(3)で「サイズ入力」を選択時、OEM_BLのサイズを入力します。

イズ

サイズは16の倍数になるサイズ-1の値を入力してください。

鍵証明書

鍵証明書の出力ファイル名を指定します。
プログラム検証方法で「Signature」を選択時に入力してください。

(6)

コード証明書R20UT5349JJ0107
Aug.30.24

Rev.1.07

コード証明書の出力ファイル名を指定します。

Page 59 of 189

Security Key Management Tool

3.8.3

３．GUI 機能説明

[OEM_BL 検証ルート鍵]タブ

プログラム検証方法で「Signature」選択時に、OEM_BL検証ルート鍵を入力します。

(2)

(1)

(3)
(4)

(5)
(6)
(7)

図 3.27[OEM_BL 検証ルート鍵]タブ

No

項目

(1)

OEM_BL 検証ル

OEM_BL検証ルート秘密鍵の入力方法を選択

ート秘密鍵「ファイル」選択時：(2)に鍵ファイルを入力します。

入力方法選択「平文データ」選択時：(3)に鍵の平文データを入力します。

ファイル

OEM_BL検証ルート秘密鍵の鍵ファイルを設定します。

(2)

説明

鍵ファイルは公開鍵情報を含むPEMファイル、テキストファイルで拡張子が*.txtのファイル、もしくはバイナリファイルで、拡張子が*.keyのファイルが指定可能です。
PEMファイルを指定時は、OEM_BL検証ルート公開鍵の入力は不要です。
(3)(1)で「平文データ」を選択した場合、平文の鍵データを16進数で入力します。

平文データ

OEM_BL検証ルート秘密鍵がsecp256r1の場合は、秘密鍵のサイズ、32バイトのデータを入力してください。
(4)

(5)

OEM_BL検証ル

OEM_BL検証ルート公開鍵の入力方法を選択

ート公開鍵「ファイル」選択時：(5)に鍵ファイルを入力します。

入力方法選択「平文データ」選択時：(6)、(7)に鍵の平文データを入力します。

ファイル

OEM_BL検証ルート公開鍵の鍵ファイルを設定します。
鍵ファイルは、テキストファイルで拡張子が*.txtのファイルもしくは、バイナ
リファイルで拡張子が*.keyのファイルが指定可能です。

(6)

Qx

(4)で「平文データ」を選択した場合、OEM_BL検証ルート公開鍵Qxの平文鍵デー
タを16進数で入力します。

(7)

Qy

(4)で「平文データ」を選択した場合、OEM_BL検証ルート公開鍵Qyの平文鍵デー
タを16進数で入力します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 60 of 189

Security Key Management Tool

3.8.4

３．GUI 機能説明

[OEM_BL 検証鍵]タブ

プログラム検証方法で「Signature」選択時に、OEM Bootloader Keyを入力します。

(2)

(1)

(3)
(4)
(5)

(6)
(7)
(8)

図 3.28[OEM_BL 検証鍵]タブ

No

項目

説明

(1)

OEM_BL検証秘

OEM_BL検証秘密鍵の入力方法を選択

密鍵「ファイル」選択時：(2)に鍵ファイルを入力します。

入力方法選択「平文データ」選択時：(3)に鍵の平文データを入力します。
「乱数を使用」選択時：(4)に生成された鍵の出力ファイル名を指定します。

(2)

OEM_BL検証秘密鍵の鍵ファイルを設定します。

ファイル

鍵ファイルは公開鍵情報を含むPEMファイル、テキストファイルで拡張子が*.txtのファイル、もしくは、バイナリファイルで、拡張子が*.keyのファイルが指定可能です。
PEMファイルを指定時は、OEM_BL検証公開鍵の入力は不要です。
(3)(1)で「平文データ」を選択した場合、平文の鍵データを16進数で入力します。

平文データ

OEM_BL検証秘密鍵がsecp256r1の場合は、秘密鍵のサイズ、32バイトのデータを入力してください。
(4)

出力ファイル(1)で「乱数を使用」を選択した場合、ツール内で鍵データを生成します。ツール内で生成した平文鍵データの出力ファイルを指定します。
出力する平文鍵ファイルは、テキストファイルもしくはバイナリファイルを指定可能です。
公開鍵も同時に生成し、指定したファイル名に公開鍵は_public、秘密鍵は_privateを付けたファイルを出力します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 61 of 189

Security Key Management Tool

３．GUI 機能説明

No

項目

説明

(5)

OEM_BL検証公

OEM_BL検証公開鍵の入力方法を選択

開鍵「ファイル」選択時：(6)に鍵ファイルを入力します。

入力方法選択「平文データ」選択時：(7)と(8)に鍵の平文データを入力します。

ファイル

OEM_BL検証公開鍵の鍵ファイルを設定します。

(6)

鍵ファイルは、バイナリファイルで拡張子が.keyのファイル、もしくはテキストファイルで拡張子が*.txtのファイルが指定可能です。
(7)Qx(5)で「平文データ」を選択した場合、OEM_BL公開鍵Qxの平文鍵データを16進数で入力します。

(8)Qy(5)で「平文データ」を選択した場合、OEM_BL公開鍵Qyの平文鍵データを16進数で入力します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 62 of 189

Security Key Management Tool

3.9

３．GUI 機能説明

[DOTF/OTFD]タブ

このタブは、DOTF機能を搭載したルネサスデバイスで使用可能な暗号化データユーザ(実行可能なバイナリ
データまたはアプリケーションデータ)を暗号化するために使用します。

(1)
(2)

(3)

(4)

(5)
(6)
(7)
(8)
図 3.29[DOTF/OTFD]タブ

No

項目

説明

(1)

平文イメージ

暗号化するイメージを含むモトローラヘキサファイルを指定します。

(2)

暗号化範囲

(1)で指定されたファイル内の暗号化する範囲を指定します。
詳細は3.9.1 暗号化範囲を参照してください。

(3)

転送先アドレス

実際にデータを配置するもしくは実行をするアドレスを指定します。
詳細は3.9.2 転送先アドレスを参照してください。

(4)

イメージ暗号化鍵

暗号化で使用する鍵を指定します。
詳細は3.9.3 イメージ暗号化鍵を参照してください。

(5)

IV

暗号化で使用するnonce値を指定します。
詳細は3.9.4 IVを参照してください。

(6)

暗号化イメージ

暗号化されたデータの出力ファイル名を指定します。

(7)

出力イメージのアド

出力するファイルのオプションを指定します。

レスとコンテンツ

詳細は3.9.5 出力イメージアドレスとコンテンツを参照してください。

暗号化イメージファ(6)で指定した暗号化イメージファイルを生成します。

(8)

イル生成
R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 63 of 189

Security Key Management Tool

3.9.1

３．GUI 機能説明

暗号化範囲

入力された平文イメージファイル内で暗号化する範囲を指定します。

(1)(2)
図 3.30

暗号化範囲

No

項目

説明

(1)

暗号化範囲選択「全データ暗号化」選択時：平文イメージで入力されたファイルの全データを暗号化します。(*注1)「暗号化アドレス」選択時：平文イメージで入力されたファイル内で(2)で指定された範囲を暗号化します。(*注2)

(2)

暗号化範囲

「暗号化開始アドレス」：暗号化を開始するアドレスを指定します。
「暗号化終了アドレス」：暗号化を終了するアドレスを指定します。
開始アドレスは16バイトアラインアドレス、終了アドレスは16バイトアラインア
ドレス-1のアドレスを入力してください。

注1 : 入力ファイルの開始アドレス、終了アドレスが16バイトアラインを取れていない場合、もしくは
入力イメージ内にデータがないエリアがある場合、暗号化を実施する範囲内にデータがない箇所は、00のデータでデータを補完します。
注2 : 指定されたエリア内に入力されたイメージのデータがないエリアがある場合、00のデータでデータを補完します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 64 of 189

Security Key Management Tool

3.9.2

３．GUI 機能説明

転送先アドレス(1)

図 3.31(2)

転送先アドレス

No

項目

説明

(1)

転送先アドレス「平文イメージと同じ」選択時：平文イメージで入力されたアドレスを転送先ア

選択

ドレスとして指定します。
「アドレス指定」選択時：指定されたアドレスを転送先アドレスとして指定します(2)

転送先アドレス(1)で「アドレス指定」を選択時に、暗号化するプログラムが転送されるアドレスを指定します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 65 of 189

Security Key Management Tool

3.9.3

３．GUI 機能説明

イメージ暗号化鍵

ファームウェアイメージを暗号化するときに使用する鍵データを指定します。

(1)

(3)

(2)

(4)

図 3.32

イメージ暗号化鍵

No

項目

説明

(1)

鍵長指定

暗号化で使用する鍵長を指定します。
「AES128」、「AES192」、「AES256」から指定可能です。

(2)

鍵のフォーマット

イメージ暗号化鍵の入力方法を選択「ファイル」選択時：(3)に鍵ファイルを入力します。
「平文データ」選択時：(4)に鍵の平文データを入力します。

(3)(2)で「ファイル」を選択時、イメージ暗号化鍵の鍵ファイルを設定します。バファイル

イナリファイルで、拡張子が*.key、もしくはテキストファイルで、拡張子が*.txtのファイルが指定可能です。

(4)(2)で「平文データ」を選択した場合、平文の鍵データを16進数で入力します。

平文データ(1)で選択した鍵長に合わせたサイズの鍵データを入力してください。

3.9.4

IV

ファームウェアイメージを暗号化するときに使用するIV(Counter値)を指定します。

(1)
図 3.33

(2)
IV

No

項目

説明

(1)

IVのフォーマッ

ファームウェアイメージを暗号化するときに使用するInitial Vector値を選択

ト「乱数生成機能を使用する」選択時：ツールの乱数生成機能からIVを生成します。
「指定値を使用」選択時：(2)に入力されたヘキサデータを使用します。

(2)

指定値を使用(1) で「指定値を使用」を選択時、ここに入力された値の上位100bitを暗号化時にInitial Vectorとして使用します。16進数、ビッグエンディアンフォーマットで入力
してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 66 of 189

Security Key Management Tool

3.9.5

３．GUI 機能説明

出力イメージアドレスとコンテンツ

(2)

(1)
図 3.34

出力イメージアドレスとコンテンツ

No

項目

説明

(1)

アドレスの指定

出力するイメージファイルのアドレスを指定します。
「入力ファイルのアドレスを使用」選択時：出力ファイルの開始アドレスは入力されたファイルと同じアドレスを設定します。
「開始アドレス 0」選択時：出力ファイルの開始アドレスは0番地に設定します。

(2)

暗号化したデー(1) で「入力ファイルのアドレスと同じ」を選択時、本機能を選択可能です。

タ以外の領域

チェックボックスにチェックを入れた場合、入力ファイルで、暗号化対象範囲に、平文データ

外のデータを平文データのまま、出力ファイルに含めることができます。

を含める

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 67 of 189

Security Key Management Tool

3.10

３．GUI 機能説明

[SFP]タブ

このタブでは、Secure Factory Programming機能で書き込むためのプログラムとパラメータ情報を暗号化して、ファイル出力します。

(1)

(2)
(3)
(4)
図 3.35 [SFP]タブR20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 68 of 189

Security Key Management Tool

３．GUI 機能説明

No

項目

説明

(1)

[ファームウェアイメ

Secure Factory Programmingファイル生成に使用する各種データを入力し

ージ]

ます。

[イメージ暗号化鍵][ファームウェアイメージ]タブの詳細は3.10.1 [ファームウェアイメージ]タ[Nonce]ブを参照してください。

[AL2_KEY][イメージ暗号化鍵]タブの詳細は3.10.2[イメージ暗号化鍵]タブを参照して[AL1_KEY]

ください。

タブ

[Nonce]タブの詳細は3.10.3 [Nonce]タブを参照してください。
[AL2_KEY] タブの詳細は3.10.4 [AL2_KEY]タブを参照してください。
[AL1_KEY] タブの詳細は3.10.5 [AL1_KEY]タブを参照してください。

(2)
(3)

最終 DLM/AL ステ

DLM遷移先情報を指定します。

ート

選択可能な設定の詳細は表 3-12を参照してください。

セキュアプログラミ

Secure Factory Programmingファイルの出力パスと名前を指定します。

ングファイル(4)

セキュアプログラミ(1)~(3)で指定した情報でSecure Factory Programming ファイルを生成しングファイル生成ます。

表 3-12 最終DLM/ALステート
選択項目

説明

OEM PL0 with AL2_KEY

PL0への転送かつAL2鍵書き込み
AL1_KEYタブは使用不可になります。

LCK_BOOTLCK_BOOT
AL2_KEY, AL1_KEYタブは使用不可になります。

注: Secure Factory Programming 機能をサポートする MCU/MPU で、すべてのオプションをサポートしているわけではありません。どのオプションをサポートしているかは、MCU/MPU の Hardware User
Manual をご参照ください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 69 of 189

Security Key Management Tool

3.10.1

３．GUI 機能説明

[ファームウェアイメージ]タブ

暗号化するファイルを指定します。

(1)

図 3.36[ファームウェアイメージ]タブ

No

項目

説明

(1)

平文イメージ

暗号化するユーザプログラムを指定します。
参照ボタンでファイルを選択し、追加ボタンで一覧にファイルを追加します。一覧の削除ボタンで追加したファイルを削除できます。
最大3ファイルまで指定可能です。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 70 of 189

Security Key Management Tool

3.10.2

３．GUI 機能説明

[イメージ暗号化鍵]タブ

ファームウェアイメージの暗号化で使用する鍵ならびに、その鍵の暗号化で使用するIV、UFPK、W-UFPKを指定します。

(2)
(3)

(1)

(4)
(5)

(6)

(7)
(8)
図 3.37[イメージ暗号化鍵]タブ

No

項目

説明

(1)

鍵データ

ユーザプログラム、パラメータ情報の暗号化で使用するAES128bit鍵データを指定します。
「ファイル」を選択時 : (2)で鍵ファイルを指定します。
「平文データ」を選択時 : (3)で入力したヘキサデータを鍵として使用します。
「乱数を使用」を選択時 : 鍵データを自動生成します。(4)で自動生成する鍵
データのファイル名と出力パスを設定します。

(2)
(3)

鍵データ

(1)で「ファイル」を選択時、AES128bit鍵データファイルを指定します。

ファイル

バイナリ(*.key)、もしくはテキストファイル(*.txt)の指定が可能です。

鍵データ(1)で「平文データ」を選択時、AES128bit鍵をヘキサデータで入力します。

平文データ
(4)
(5)

鍵データ

(1)で「乱数生成機能を使用する」を選択時、自動生成する鍵データのファイ

乱数を使用

ル名と出力パスを設定します。

IV

鍵データを暗号化する時の初期化ベクタを選択します。
「乱数生成機能を使用する」選択時：ツールの乱数からIVを生成します。
「指定値を使用する」選択時：(6)に入力されたヘキサデータを使用します。

(6)

IV

(5)で「指定値を使用する」選択時、ここに入力された値を鍵データ暗号化時

指定値を使用するに初期化ベクタとして使用します。

(7)

UFPK File

暗号化に使用するUFPKファイルを選択します。

(8)

W-UFPK File

W-UFPKファイルを選択します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 71 of 189

Security Key Management Tool

3.10.3

３．GUI 機能説明

[Nonce]タブ

パラメータ情報やユーザプログラムの暗号化に使用する初期化ベクタ値を指定します。

(1)

(2)

(3)

(4)

図 3.38[Nonce]タブ

No

項目

説明

(1)

IV(プログラミングパ

パラメータ情報の暗号化に使用する初期化ベクタを選択します。

ラメータ)「乱数生成機能を使用する」選択時：ツールの乱数からIVを生成します。
「指定値を使用する」選択時：(2)に入力されたヘキサデータを使用します。

(2)

IV(プログラミングパ(1)で「指定値を使用する」選択時、ここに入力された値を、パラメータ情報

ラメータ)を暗号化する時の初期化ベクタとして使用します。

指定値を使用する(3)

IV(ファームウェアイ

ユーザプログラムの暗号化に使用する初期化ベクタを選択します。

メージ)「乱数生成機能を使用する」選択時：ツールの乱数からIVを生成します。
「指定値を使用する」選択時：(4)に入力されたヘキサデータを使用します。

(4)

IV(ファームウェアイ(3)で「指定値を使用する」選択時、ここに入力された値を、ユーザプログラ

メージ)

ムを暗号化する時の初期化ベクタとして使用します。

指定値を使用する

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 72 of 189

Security Key Management Tool

3.10.4

３．GUI 機能説明

[AL2_KEY]タブ

AL2_KEYで暗号化するときに使用する鍵データを指定します。

(2)
(1)

(3)
(4)

(5)

(6)

図 3.39[AL2_KEY]タブ

No

項目

説明

(1)

鍵データ

AL2_KEYの暗号化で使用するAES128bit鍵データを指定します。
「ファイル」を選択時 : (2)で鍵ファイルを指定します。
「平文データ」を選択時 : (3)で入力したヘキサデータを鍵として使用します。
「乱数を使用」を選択時 : 鍵データを自動生成します。(4)で自動生成する鍵
データのファイル名と出力パスを設定します。

(2)
(3)

鍵データ

(1)で「ファイル」を選択時、AES128bit鍵データファイルを指定します。

ファイル

バイナリ(*.key)、もしくはテキストファイル(*.txt)の指定が可能です。

鍵データ(1)で「平文データ」を選択時、AES128bit鍵をヘキサデータで入力します。

平文データ
(4)
(5)

鍵データ

(1)で「乱数を使用」を選択時、自動生成する鍵データのファイル名と出力パ乱数を使用

スを設定します。

IV

AL2_KEYの暗号化に使用する初期化ベクタを選択します。
「乱数生成機能を使用する」選択時：ツールの乱数からIVを生成「指定値を使用する」選択時：(6)に入力されたヘキサデータを使用

(6)

IV

(5)で「指定値を使用する」選択時、ここに入力された値をAL2_KEYを暗号化

指定値を使用するする時の初期化ベクタとして使用します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 73 of 189

Security Key Management Tool

3.10.5

３．GUI 機能説明

[AL1_KEY]タブ

AL1_KEY で暗号化するときに使用する鍵データを指定します。
注: この機能は、すべての MCU/MPU でサポートされていません。サポートしている機能のリストは、
MCU/MPU の Hardware User Manual をご参照ください。

(2)
(3)

(1)

(4)
(5)
(6)
図 3.40[AL1_KEY]タブ

No

項目

説明

(1)

鍵データ

AL1_KEYの暗号化で使用するAES128bit鍵データを指定します。
「ファイル」を選択時 : (2)で鍵ファイルを指定します。
「平文データ」を選択時 : (3)で入力したヘキサデータを鍵として使用します。
「乱数を使用」を選択時 : 鍵データを自動生成します。(4)で自動生成する
鍵データのファイル名と出力パスを設定します。

(2)

鍵データ

(1)で「ファイル」を選択時、AES128bit鍵データファイルを指定します。

ファイル

ファイル入力の場合、バイナリ(*.key)、もしくはテキストファイル(*.txt)の指定が可能です。

(3)
(4)
(5)

鍵データ

(1)で「平文データ」を選択時、AES128bit鍵をヘキサデータで入力しま

平文データ

す。

鍵データ

(1)で「乱数を使用」を選択時、自動生成する鍵データのファイル名と出力乱数を使用

パスを設定します。

IV

AL1_KEYの暗号化に使用する初期化ベクタを選択します。
「乱数生成機能を使用する」選択時：ツールの乱数からIVを生成「指定値を使用する」選択時：(6)に入力されたヘキサデータを使用

(6)

IV

(5)で「指定値を使用する」選択時、ここに入力された値を、AL1_KEYを暗指定値を使用する

号化する時の初期化ベクタとして使用します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 74 of 189

Security Key Management Tool

4.

CLI 機能説明

4.1

コマンドライン構文

４．CLI 機能説明

skmt.exe [command] [options..] 【注】注：コマンド、オプション、パラメータの大文字小文字の区別はしません。
表 4-1 コマンドライン構文
項目

説明

skmt.exe

実行ファイル名

command"/" または"-"から始まるコマンドです。

option…

"/" または"-"から始まるオプションです。
・必要に応じてパラメータを指定してください。
・ファイル名は絶対パスと相対パスに対応しています。

4.2

コマンド

以下表にコマンドを示します。
表 4-2 コマンド一覧
コマンド

説明

genufpk

UFPKファイルを生成します。
成功時にはコンソールに生成したUFPKを表示します。

genkukKUKファイルを生成します。
成功時にはコンソールにKUKを表示します。

genkey

ユーザ鍵およびDLM鍵を暗号化して、ファイル出力します。
成功時にはコンソールにW-UFPK, IVおよびEncrypted key(MACを含む)を表示します。

gencertFirst Stage Bootloader(FSBL)機能を搭載したルネサスデバイスで使用可能な鍵証明書とコード証明書の生成を行います。

encdotf

DOTF機能を搭載したルネサスデバイスで使用可能なユーザプログラムの暗号化を行います。

encsfpSecure Factory Programming(SFP)機能を搭載したルネサスデバイスで使用可能なユーザプログラムの暗号化を行います。

enctsip

TSIPを使用したセキュアアップデート、ファクトリープログラミングで使用するプログラムの暗号化を行います。

calcresponse

Challenge & Response 認証のレスポンス値を計算してコンソールに出
力します。

H

R20UT5349JJ0107
Aug.30.24

ヘルプ

Rev.1.07

Page 75 of 189

Security Key Management Tool

４．CLI 機能説明

本ツールは、複数のファイルタイプに対応しています。ファイル名の拡張子で目的のファイル形式を指定します(表 4-3参照)。絶対パスと相対パスの両方に対応しています。
表 4-3 ファイルの種類と拡張子
ファイルの種類

拡張子

説明

バイナリ鍵データ*.key

本ツールから出力されるUFPKや暗号鍵データなどのバイナリ
データファイル

Renesas key file*.rkey

RFPがユーザ鍵もしくはDLM鍵のセキュアな鍵のインジェク
ションに使用するファイル(一部のMCU/MPUのみサポート)

モトローラヘキサファイル*.mot,

モトローラヘキサファイル*.bin

バイナリデータファイル*.txt

Ascii文字で書かれるファイル*.srec
バイナリデータ
Cソース、ヘッダファイル
テキストファイル
PEMファイル
RSUファイル

Cソース、ヘッダファイル*.pemx509 ASN.1キーをBase64でエンコードしたファイル。

*.rsu

Secure Factory*.sfp

Programming file

R20UT5349JJ0107
Aug.30.24*.c, *.hRev.1.07

TSIP Firmware Updateで使用されるイメージファイル。
Secure Factory Programming機能で使用されるイメージファイル。

Page 76 of 189

Security Key Management Tool

４．CLI 機能説明

genufpk コマンド オプション

4.3

表 4-4 genufpk オプション
オプション

パラメータ

説明

ufpk

Hex data

UFPKで使用する、32バイトのバイナリデータを指定します。
本オプションは省略可能です。本オプション省略した場合、ツール内で生成したランダム値をUFPKとして使用します。【注】outputFile Path

出力ファイル名を指定します。
本オプションは省略可能です。本オプションを省略した場合、実行結果をコンソールに出力します。

nooverwriteなし

本オプションは省略可能です。本オプション指定時、出力ファイルが存在する場合、エラーになります。

注 :ツール内で生成するランダム値は十分な乱数性を保証するものではありません。

ufpkオプション使用時の使用例：> skmt.exe /genufpk/ufpk "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff"/output "D:¥example¥ufpk.key"
ufpkオプション省略時の使用例：> skmt.exe /genufpk /output "D:¥example¥ufpk.key"

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 77 of 189

Security Key Management Tool

４．CLI 機能説明

genkuk コマンド オプション

4.4

表 4-5 genkuk オプション
オプション

パラメータ

説明

kuk

Hex data

KUKで使用する、32バイトのバイナリデータを指定します。
本オプションは省略可能です。本オプション省略した場合、ツール内で生成したランダム値をKUKとして使用します。【注】outputFile Path

出力ファイル名を指定します。
本オプションは省略可能です。本オプションを省略した場合、実行結果をコンソールに出力します。

nooverwriteなし

本オプションは省略可能です。本オプション指定時、出力ファイルが存在する
場合、エラーになります。

注 :ツール内で生成するランダム値は十分な乱数性を保証するものではありません。

ufpkオプション使用時の使用例：> skmt.exe /genkuk "ffeeddccbbaa99887766554433221100ffeeddccbbaa99887766554433221100"/output "D:¥example¥kuk.key"
ufpkオプション省略時の使用例：> skmt.exe /genkuk /output "D:¥example¥kuk.key"

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 78 of 189

Security Key Management Tool

4.5

４．CLI 機能説明

genkey コマンド オプション

genkeyコマンドでは、以下のオプションが使用可能です。データ入力は16進データまたはバイナリファイ
ルで指定します。ファイルを指定する場合、ファイルパスの先頭に"file="をつけてください。
表 4-6 genkey オプション (1)
オプション

パラメータ

説明

iv

Hex data /ユーザ鍵もしくはDLM鍵の暗号化時に使用するInitialization Vector (IV)です(16File Pathバイト)。
本オプションは省略可能です。本オプション省略した場合、ツール内で生成したランダム値をIVとして使用します。【注】ufpk

File Path

ユーザ鍵もしくはDLM鍵の暗号化時に使用するUFPK値が書かれたファイルを指定します。
kukオプション指定時に、ufpkオプションは指定不可です。

wufpk

File Path

Renesas Key Wrap サービスでラップされたUFPKを指定します。
kukオプション指定時に、wufpkオプションは指定不可です。

kuk
mcu

Hex data /セキュアな鍵のアップデート時に使用するKUKを指定します。

File Path

ufpkオプション指定時に、kukオプションは指定不可です。

ASCII

使用するMCU/MPUを指定します。4.5.1 mcu オプションに記載したASCII文字を指定します。

keytype
key

ASCII /

4.5.2 keytype オプションに記載したASCII文字もしくは1バイトのHexデータ

Hex dataを指定します。

Hex data /DLM鍵データもしくはユーザ鍵データを指定します。

File Path

入力する鍵データのフォーマットは4.5.3.1Hexデータ直接入力を参照してくだ
さい。
本オプションは省略可能です。本オプションを省略時は、ツール内で生成した鍵データを使用します。ただし、公開鍵暗号の場合は生成できない鍵が存在します。詳細は 4.5.3.3 keyオプションの省略 を参照してください。

filetype

ASCII

出力するファイルの種類を指定します。4.5.4 filetype オプションを参照してください。
本オプションは省略可能です。本オプションを省略かつoutputオプション指定時は*.binファイルで出力します。
本オプションとoutputオプションを省略時はコンソールに出力します。

注: ツール内で生成するランダム値は十分な乱数性を保証するものではありません。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 79 of 189

Security Key Management Tool

４．CLI 機能説明

表 4-7 genkey オプション (2)
オプション

パラメータ

説明

address

Hex data

鍵をインジェクションするアドレスを指定します。filetypeで”mot”を指定時に設定が必要です。

fileadd

filetypeで、”csource”、”bin”、”mot”を指定時に設定が可能です。本オプショ-

ン指定時、出力ファイルが存在する場合、出力ファイルにデータを付加しま
す。
bswap

ASCII

filetypeで、”bin”、”mot”を指定時に設定が可能です。本オプション指定時、出力データをスワップします。

keynameASCII

filetypeで”csource”を指定時に設定が可能です。Cソースもしくはヘッダファ
イルで定義している、構造体名、変数名、定義値名を指定することが可能です。

keyfileoutput

File Path

本オプションは省略可能です。keyオプションを省略時、ツール内で生成した鍵データの出力パスを指定します。

outputFile Path

出力ファイル名を指定します。
本オプションは省略可能です。本オプションを省略した場合、実行結果をコンソールに出力します。

nooverwriteなし

本オプションは省略可能です。本オプション指定時、出力ファイルが存在する
場合、エラーになります。

注: ツール内で生成するランダム値は十分な乱数性を保証するものではありません。

ufpk使用例：> skmt.exe /genkey /ufpk file="D:¥example¥ufpk.key" /wufpk file="D:¥example¥ufpk_enc.key"/mcu "RA-SCE9" /keytype "AES-128" /key "000102030405060708090A0B0C0D0E0F"/filetype "rfp" /output "D:¥example¥aes128.key"
kuk使用例：> skmt.exe /genkey /kuk file="D:¥example¥kuk.key" /mcu "RA-SCE9" /keytype "AES-128" /key
"000102030405060708090A0B0C0D0E0F" /filetype "csource" /output "D:¥example¥aes128.c"

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 80 of 189

Security Key Management Tool

4.5.1

４．CLI 機能説明

mcu オプション

mcuオプションは、ASCII文字でMCU/MPUの種類と暗号エンジンを指定します。
表 4-8 mcu オプション
ASCII

説明

RA-RSIP-E51A

RA Family RSIP-E51A セキュリティ機能もしくはProtected Mode使用時に指定

RA-RSIP-E51A-CM

RA Family RSIP-E51A Compatibility Mode使用時に指定

RA-SCE9

RAファミリ SCE9 セキュリティ機能もしくはProtected Mode使用時に指定

RA-SCE9-CM

RAファミリ SCE9 Compatibility Mode使用時に指定

RA-SCE7

RAファミリ SCE7使用時に指定

RA-SCE5_B

RAファミリ SCE5_B使用時に指定

RA-SCE5

RAファミリ SCE5使用時に指定

RX-TSIP

RXファミリ TSIP使用時に指定

RX-TSIPLite

RXファミリ TSIP-Lite使用時に指定

RX-RSIP-E11A

RXファミリ RSIP-E11A使用時に指定

RZ-RSIP-T2M

RZファミリ RZ/T2M RSIP使用時に指定

RZ-RSIP-T2ME

RZファミリ RZ/T2ME RSIP使用時に指定

RZ-RSIP-T2L

RZファミリ RZ/T2L RSIP使用時に指定

RZ-RSIP-N2L

RZファミリ RZ/N2L RSIP使用時に指定

RZ-TSIPRZファミリ TSIP使用時に指定

Synergy-SCE7

Synergy Platform SCE7使用時に指定

Synergy-SCE5

Synergy Platform SCE5使用時に指定

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 81 of 189

Security Key Management Tool

4.5.2

４．CLI 機能説明

keytype オプション

keytypeオプションは、セキュアな鍵のインジェクションまたはアップデートを行う鍵の種類を指定します。 このオプションでは、ASCII値または16進数のいずれかを使用できます。 可読性を高めるためにASCII
を推奨します。
すべてのMCU/MPUがすべての鍵の種類をサポートしておりません。ご使用になるMPU/MCUのドライバやアプリケーションノートでご使用可能な暗号アルゴリズムをご確認ください。
表 4-9 DLM 遷移のための認証鍵
ASCIIkeytype value

説明

DLM-SSD

0x01

DLMのSSDステートの認証鍵

DLM-NSECSD

0x02

DLMのNSECSDステートの認証鍵

DLM-RMA-REQ

0x03

DLMのRMA-REQステートの認証鍵

DLM-AL20x01

DLM 認証レベルAL2遷移用の鍵(AL2_Key)DLM-AL1

0x02

DLM 認証レベルAL1遷移用の鍵(AL1_Key)DLM-RMA

0x03

DLM RMA_REQステート認証用の鍵(RMA_Key)

ASCII

keytype value

説明

AES-128

0x05

AES-128bitの鍵

AES-192

0x06

AES-192bitの鍵

AES-256

0x07

AES-256bitの鍵

AES-128XTS

0x08

AES-128bit XTSの鍵

AES-256XTS

0x09

AES-256bit XTSの鍵

表 4-10 ユーザ鍵 AES

表 4-11 ユーザ鍵 RSA
ASCII

keytype value

説明

RSA-1024-public

0x0A

RSA 1024bitの公開鍵

RSA-1024-private

0x0B

RSA 1024bitの秘密鍵

RSA-2048-public

0x0C

RSA 2048bitの公開鍵

RSA-2048-private

0x0D

RSA 2048bitの秘密鍵

RSA-3072-public

0x0E

RSA 3072bitの公開鍵

RSA-3072-private

0x0F

RSA 3072bitの秘密鍵

RSA-4096-public

0x10

RSA 4096bitの公開鍵

RSA-4096-private

0x11

RSA 4096bitの秘密鍵

RSA-2048-public-TLS

0xfe

TLS API用のRSA 2048bitの公開鍵

注 1 : keytype value による指定はできません。ASCII で指定してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 82 of 189

Security Key Management Tool

４．CLI 機能説明

表 4-12 ユーザ鍵 ECC
ASCII

keytype value

説明

secp192r1-public

0x12

ECC NIST P-192(secp192r1)の公開鍵

secp192r1-private

0x13

ECC NIST P-192(secp192r1)の秘密鍵

secp224r1-public

0x14

ECC NIST P-224(secp224r1)の公開鍵

secp224r1-private

0x15

ECC NIST P-224(secp224r1)の秘密鍵

secp256r1-public

0x16

ECC NIST P-256(secp256r1)の公開鍵

secp256r1-private

0x17

ECC NIST P-256(secp256r1)の秘密鍵

secp384r1-public

0x18

ECC NIST P-384(secp384r1)の公開鍵

secp384r1-private

0x19

ECC NIST P-384(secp384r1)の秘密鍵

secp521r1-public

0x24

ECC NIST P-521(secp521r1)の公開鍵

secp521r1-private

0x25

ECC NIST P-521 (secp521r1)の秘密鍵

brainpoolP256r1-public

0x1C

ECC brainpoolP256r1の公開鍵

brainpoolP256r1-private

0x1D

ECC brainpoolP256r1の秘密鍵

brainpoolP384r1-public

0x1E

ECC brainpoolP384r1の公開鍵

brainpoolP384r1-private

0x1F

ECC brainpoolP384r1の秘密鍵

brainpoolP512r1-public

0x20

ECC brainpoolP512r1の公開鍵

brainpoolP512r1-private

0x21

ECC brainpoolP512r1の秘密鍵

secp256k1-public

0x22

ECC Koblitz curve secp256k1の公開鍵

secp256k1-private

0x23

ECC Koblitz curve secp256k1の秘密鍵

Ed25519-public

0x26

EdDSA Ed25519 の公開鍵

Ed25519-private

0x27

EdDSA Ed25519 の秘密鍵

表 4-13 ユーザ鍵 SHA-HMAC
ASCII

keytype value

説明

HMAC-SHA1

0x00【注】HMAC-SHA1の鍵

HMAC-SHA224

0x1A

HMAC-SHA224の鍵

HMAC-SHA256

0x1B

HMAC-SHA256の鍵

HMAC-SHA384

0x28

HMAC-SHA384の鍵

HMAC-SHA512

0x29

HMAC-SHA512の鍵

HMAC-SHA512-224

0x2aHMAC-SHA512-224の鍵

HMAC-SHA512-256

0x2bHMAC-SHA512-256の鍵

注 : keytype value による指定はできません。Ascii で指定してください。

表 4-14 ユーザ鍵 ARC4
ASCII

keytype value

説明

ARC4

0x00【注】

ARC4 の鍵

注 : keytype value による指定はできません。Ascii で指定してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 83 of 189

Security Key Management Tool

４．CLI 機能説明

表 4-15 ユーザ鍵 DES
ASCII

keytype value

説明

TDES

0x00【注】

Triple DESの鍵

注 : keytype value による指定はできません。Ascii で指定してください。

表 4-16 OEM Root 公開鍵
ASCII

Keytype value

説明

OEM_ROOT_PK

0xFD

FSBL使用時にデバイスに注入しておくOEM Root 公開鍵

ASCII

Keytype value

説明

key-update-key

0xFF

Key Update Key

表 4-17 Key Update Key

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 84 of 189

Security Key Management Tool

4.5.3

４．CLI 機能説明

key オプション

keyオプションは、セキュアな鍵のインジェクションやアップデートのために、必要な平文のDLM鍵またはユーザ鍵を指定するために使用します。 平文は、16進数のデータを直接入力するか、バイナリの*.key ファイルで指定できます。 鍵の種類によっては、ツールで生成することもできます。

4.5.3.1

Hex データ直接入力

平文鍵を16進データで直接入力する場合は、以下の表のように、指定されたkeytypeオプションに応じた
必要バイト数を入力する必要があります。
表 4-18 DLM-SSD, DLM-NSECSD, DLM-RMA-REQ, DLM-AL2, DLM-AL1, DLM-RMA
Byte

Data

0-15

DLM key data

表 4-19 AES-128
Byte

Data

0-15

AES-128bit key data

表 4-20 AES-192
Byte

Data

0-23

AES-192bit key data

表 4-21 AES-256
Byte

Data

0-31

AES-256bit key data

表 4-22 AES-128XTS
Byte

Data

0-15

AES-128bit key1

16-31

AES-128bit key2

表 4-23 AES-256XTS
Byte

Data

0-31

AES-256bit key1

32-63

AES-256bit key2

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 85 of 189

Security Key Management Tool

４．CLI 機能説明

表 4-24 RSA-1024-public
Byte

Data

0-127

RSA 1024bit Modulus n128-131

RSA 1024bit Exponent e

表 4-25 RSA-1024-private
Byte

Data

0-127

RSA 1024bit Modulus n128-255

RSA 1024bit Decryption Exponent d

表 4-26 RSA-2048-public / RSA-2048-public-TLS
Byte

Data

0-255

RSA 2048bit Modulus n

256-259

RSA 2048bit Exponent e

表 4-27 RSA-2048-private
Byte

Data

0-255

RSA 2048bit Modulus n

256-511

RSA 2048bit Decryption Exponent d

表 4-28 RSA-3072-public
Byte

Data

0-383

RSA 3072bit Modulus n384-387

RSA 3072bit Exponent e

表 4-29 RSA-3072-private
Byte

Data

0-383

RSA 3072bit Modulus n384-767

RSA 3072bit Decryption Exponent d

表 4-30 RSA-4096-public
Byte

Data

0-511

RSA 4096bit Modulus n

512-515

RSA 4096bit Exponent e

表 4-31 RSA-4096-private
Byte

Data

0-511

RSA 4096bit Modulus n

512-1023

RSA 4096bit Decryption Exponent d

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 86 of 189

Security Key Management Tool

４．CLI 機能説明

表 4-32 secp192r1-public
Byte

Data

0-23

ECC Public key Qx

24-47

ECC Public key Qy

表 4-33 secp192r1-private
Byte

Data

0-23

ECC Private key d

表 4-34 secp224r1-public
Byte

Data

0-27

ECC Public key Qx

28-55

ECC Public key Qy

表 4-35 secp224r1-private
Byte

Data

0-27

ECC Public key d

表 4-36 secp256r1-public / brainpoolP256r1-public / secp256k1-public / OEM_ROOT_PK
Byte

Data

0-31

ECC Public key Qx

32-63

ECC Public key Qy

表 4-37 secp256r1-private / brainpoolP256r1-private / secp256k1-private / Ed25519-private
Byte

Data

0-31

ECC Private key d

表 4-38 secp384r1-public / brainpoolP384r1-public
Byte

Data

0-47

ECC Public key Qx

48-95

ECC Public key Qy

表 4-39 secp384r1-private / brainpoolP384r1-private
Byte

Data

0-47

ECC Private d

表 4-40 brainpoolP512r1-public
Byte

Data

0-63

ECC Public key Qx

64-127

ECC Public key Qy

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 87 of 189

Security Key Management Tool

４．CLI 機能説明

表 4-41 brainpoolP512r1-private
Byte

Data

0-63

ECC Private key d

表 4-42 secp521r1-public
Byte

Data

0-65

0 Padding(7bit) || ECC Public key Qx【注】66-1310 Padding(7bit) || ECC Public key Qy【注】注： || はビット連結を表します
表 4-43 secp521r1-private
Byte

Data

0-65

0 Padding(7bit) || ECC Private key d【注】

注： || はビット連結を表します
表 4-44 Ed25519-public
Byte

Data

0-31

sign(1bit) || ECC Public key Qy(255bit) 【注】

注： || はビット連結を表します
表 4-45 HMAC-SHA1
Byte

Data

0-19

HMAC-SHA1 key

表 4-46 HMAC-SHA224
Byte

Data

0-27

HMAC-SHA224 key

表 4-47 HMAC-SHA256
Byte

Data

0-31

HMAC-SHA256 key

表 4-48 HMAC-SHA384
Byte

Data

0-47

HMAC-SHA384 key

表 4-49 HMAC-SHA512 / HMAC-SHA512-224 / HMAC-SHA512-256
Byte

Data

0-63

HMAC-SHA512 / 512-224 / 512-256 key

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 88 of 189

Security Key Management Tool

４．CLI 機能説明

表 4-50 ARC4
Byte

Data

0-255

ARC4 key

表 4-51 TDES
Byte

Data

0-7

56bit DES key with odd parity 1 【注】8-15

56bit DES key with odd parity 2 【注】16-23

56bit DES key with odd parity 3 【注】注： 鍵データ 7bit 毎に奇数パリティをつけてください。
例 DES key data = 0x00000000000000 → 0x0101010101010101
DES key data = 0xFFFFFFFFFFFFFF → 0xFEFEFEFEFEFEFEFE

表 4-52 key-update-key
Byte

Data

0-31

Key update key

使用例：> skmt.exe /genkey /ufpk file="D:¥example¥ufpk.key" /wufpk file="D:¥example¥ufpk_enc.key"/mcu "RA-SCE9" /keytype "AES-128" /key "000102030405060708090A0B0C0D0E0F"/filetype "rfp" /output "D:¥example¥aes128.rkey"

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 89 of 189

Security Key Management Tool

4.5.3.2

４．CLI 機能説明

ファイル入力keyオプションでは、以下のファイルフォーマットのファイル入力をサポートしています。
表 4-53 key オプション ファイル入力
ファイル

拡張子

フォーマット

バイナリ

*.key

4.5.3.1Hexデータ直接入力 で示すフォーマットのバイナリデータフ
ァイル

テキスト

*.txt

4.5.3.1Hexデータ直接入力 で示すフォーマットのバイトデータを16
進Ascii文字でテキストデータファイル

PEM

*.pem

OpenSSLで生成された非対称鍵のPEMファイルフォーマットの鍵フ
ァイルを読み込み可能です。
表 4-54 PEMファイルサポート 非対称鍵PEMファイルサポート 非対
称鍵 で示すkeytypeの非対称鍵のみ指定可能

表 4-54 PEM ファイルサポート 非対称鍵
Algorithm

keytype

RSA

RSA-1024-private, RSA-1024-public, RSA-2048-private, RSA-2048-public,
RSA-3072-private, RSA-3072-public, RSA-4096-private, RSA-4096-public
RSA-2048-public-TLS

ECC

secp256r1-private, secp256r1-public, secp384r1-private, secp384r1-public,
secp521r1-private, secp521r1-public
brainpoolP256r1-private, brainpoolP256r1-public, brainpoolP384r1-private,
brainpoolP384r1-public, brainpoolP512r1-private, brainpoolP512r1-public,
OEM_ROOT_PK 【注】注: macOS 版では、brainpool カーブの PEM ファイル入力は非サポートです。
バイナリファイル使用例：> skmt.exe /genkey /ufpk file="D:¥example¥ufpk.key" /wufpk file="D:¥example¥ufpk_enc.key"/mcu "RA-SCE9" /keytype "AES-128" /key file="D:¥example¥aes128.key" /filetype "rfp"/output "D:¥example¥aes128.rkey"
テキストファイル使用例：> skmt.exe /genkey /ufpk file="D:¥example¥ufpk.key" /wufpk file="D:¥example¥ufpk_enc.key"/mcu "RA-SCE9" /keytype "AES-128" /key file="D:¥example¥aes128.txt" /filetype "rfp"/output "D:¥example¥aes128.rkey"
PEMファイル使用例：> skmt.exe /genkey /ufpk file="D:¥example¥ufpk.key" /wufpk file="D:¥example¥ufpk_enc.key"/mcu "RA-SCE9" /keytype "RSA-2048-private" /key file="D:¥example¥rsa2048.pem"/filetype "rfp" /output "D:¥example¥rsa2048private.rkey"

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 90 of 189

Security Key Management Tool

(1)

４．CLI 機能説明

バイナリファイルの生成方法
手動で鍵ファイルを作成する場合、ヘキサエディタもしくはバイナリエディタを使用して作成します。
データはビッグエンディアンの並びでデータ作成してください。
以下に例を示します。

-

AES 128bit の鍵ファイルを生成する例 :AES 128bit 鍵データ 00112233445566778899AABBCCDDEEFF の場合

図 4.1
-

AES 128bit 鍵ファイルを生成する例

RSA 2048bit 公開鍵ファイルを生成する例:
Modulusbad47a84c1782e4dbdd913f2a261fc8b
65838412c6e45a2068ed6d7f16e9cdf4
462b39119563cafb74b9cbf25cfd544b
dae23bff0ebe7f6441042b7e109b9a8a
faa056821ef8efaab219d21d67634847
85622d918d395a2a31f2ece8385a8131
e5ff143314a82e21afd713bae817cc0e
e3514d4839007ccb55d68409c97a18ab
62fa6f9f89b3f94a2777c47d6136775a
56a9a0127f682470bef831fbec4bcd7b
5095a7823fd70745d37d1bf72b63c4b1
b4a3d0581e74bf9ade93cc4614861755
3931a79d92e9e488ef47223ee6f6c061
884b13c9065b591139de13c1ea292749
1ed00fb793cd68f463f5f64baa53916b
46c818ab99706557a1c2d50d232577d1

Exponent 10001

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 91 of 189

Security Key Management Tool

図 4.2

４．CLI 機能説明

RSA 2048 公開鍵ファイルを生成する例

4.5.3.3

key オプションの省略

コマンドラインから key オプションが省略され、指定された keytype が対称型アルゴリズムまたは以下の表で指定された非対称型アルゴリズムの場合、ツールは乱数を使用して鍵を生成します。
非対称鍵の場合は、鍵ペアが生成されます。秘密鍵と公開鍵が同時に生成され、指定されたファイル名には、公開鍵の場合は _public、秘密鍵の場合は _private が付加されます。このオプションは、下表に示す非対称鍵タイプのオプションに対応しています。
keyオプションを省略する場合、keyfileoutputオプションを使用して、平文鍵の入った鍵ファイルを作成
してください。
本ツールが生成する乱数値の具体的なランダム性は保証されません。本ツールで生成した鍵は、プロトタ
イピングやテスト目的でのみ使用してください。
表 4-55 非対称鍵生成サポート keytype
Algorithm

keytype

RSA

RSA-1024-private, RSA-2048-private, RSA-3072-private, RSA-4096-private

ECC

secp256r1-private, secp384r1-private, secp521r1-private,
brainpoolP256r1-private, brainpoolP384r1-private, brainpoolP512r1-private 【注】OEM_ROOT_PK

注: macOS 版では、brainpool カーブの鍵生成は非サポートです。
R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 92 of 189

Security Key Management Tool

４．CLI 機能説明

filetype オプション

4.5.4

filetypeオプションでは出力ファイル形式をASCII文字で指定します。
省略時はバイナリデータを出力します。
指定したfiletypeとファイル名の拡張子が一致しない場合、エラーになります。
表 4-56 filetype option
ASCII

拡張子

説明

rfp

*.rkeyRenesas Flash Programmer(RFP)で読み込めるファイルを出力します。

*.cCソースファイルとヘッダファイルを出力します。

csource

Renesas Key Fileフォーマットの鍵データを出力します。
keynameオプションを使用することで構造体名、変数名、定義値名を変更可能で
す。

bin

*.bin

mot

バイナリデータファイルを出力します。

*.mot

4.5.4.1

バイナリデータをモトローラヘキサフォーマットにして出力します。
addressオプションで、16進数8桁(32ビット)の開始アドレスを指定してください。

filetype オプション rfp 指定時

Renesas Flash Programmerに設定するRenesas Key Fileフォーマットの鍵データを出力します。
rfpファイル出力例：> skmt.exe /genkey /ufpk file="D:¥example¥ufpk.key" /wufpk file="D:¥example¥ufpk_enc.key"/mcu "RA-SCE9" /keytype "AES-128" /key file="D:¥example¥aes128.key" /filetype "rfp"/output "D:¥example¥abc.rkey"

4.5.4.2

filetype オプション csource 指定時

Cソースファイルとヘッダファイルを出力します。
keynameオプションを使用すると、構造体名、グローバル変数名、バイトサイズ定義の一部として、指定した<keyname>が使用されます。keynameオプションを使用しない場合、デフォルトのテキストが使用されます。これらのオプションは次の表に示すとおりです。
表 4-57 keyname option
keyname設定時

keyname省略時

構造体名<keyname>_t

encrypted_user_key_data_t

グローバル変数名

g_<keyname>g_encrypted_user_key_data

encrypted_user_keyバイトサイ<keyname>_SIZE 【注】ENCRYPTED_KEY_BYTE_SIZE

ズ定義値
注 : keyname オプションで指定した Ascii を大文字で、設定します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 93 of 189

Security Key Management Tool

４．CLI 機能説明

出力するCソース構造体は以下になります。
表 4-58 ufpk オプション指定時の c ソースファイルの構造体
name

型

説明

g_<keyname><keyname>_t-

uint32_t

keytype値を使用するセキュリテ

keytypeィエンジンの場合、keytype
value、keytype値を使用しない
セキュリティエンジンの場合0を出力します。
shared_key_number

uint32_t0を出力します。mcuオプション
が”RX-TSIP”もしくは”RXTSIPLite”の場合は使用しません。

wufpk[32]uint8_t

wufpkオプションで指定された値を出力します。

initial_vector[16]uint8_t

ユーザ鍵もしくはDLM鍵の暗号化で使用したInitial Vectorを出力します。

encrypted_user_key

uint8_t[<KEYNAME>_SIZE]

ユーザ鍵もしくはDLM鍵の暗号化した結果を出力します。
<KEY_NAME>_SIZEは
Encrypted User Keyのサイズになります。Encrypted User Key
サイズは 表 4-62-表 4-71 を参照してください。

crc[4]

uint8_t

keytypeからencrypted_user_keyのCRC-32値を出力します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 94 of 189

Security Key Management Tool

４．CLI 機能説明

表 4-59 kuk オプション指定時の c ソースファイルの構造体
name

型

説明

g_<keyname><keyname>_t-

uint32_t

keytype値を使用するセキュリテ

keytypeィエンジンの場合、keytype
value、keytype値を使用しない
セキュリティエンジンの場合0を出力します。
shared_key_number

uint32_t0を出力します。mcuオプション
が”RX-TSIP”もしくは”RXTSIPLite”の場合は使用しません。

initial_vector[16]uint8_t

ユーザ鍵もしくはDLM鍵の暗号化で使用したInitial Vectorを出力します。

encrypted_user_key

uint8_t[<KEYNAME>_SIZE]

ユーザ鍵もしくはDLM鍵の暗号化した結果を出力します。
<KEYNAME>_SIZEはEncrypted
User Keyのサイズになります。
Encrypted User Keyサイズは 表
4-62-表 4-71 を参照してください。

crc[4]

uint8_t

keytypeからencrypted_user_keyのCRC-32値を出力します。

cソースファイル出力例：> skmt.exe /genkey /ufpk file="D:¥example¥ufpk.key" /wufpk file="D:¥example¥ufpk_enc.key"/mcu "RX-TSIP" /keytype "AES-128" /key file="D:¥example¥aes128.key" /filetype "csource"/keyname "aes128" /output "D:¥example"¥abc.c"

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 95 of 189

Security Key Management Tool

4.5.4.3

４．CLI 機能説明

filetype オプション bin 指定時

バイナリデータのファイルを出力します。
出力するバイナリデータのデータ配列は以下になります。
表 4-60 ufpk オプション指定時のバイナリデータ
Byte

Data

0

keytypekeytype値を使用するセキュリティエンジンの場合、keytype value、
keytype値を使用しないセキュリティエンジンの場合0を出力します。

1-3

Reserved (0 padding)4

shared_key number0を出力します。mcuオプションが”RX-TSIP”もしくは”RX-TSIPLite”の場
合は使用しません。

5-7

Reserved (0 padding)

8 - 39wufpk
wufpkオプションで指定された値を出力します。

40 - 55

initial_vector
ユーザ鍵およびDLM鍵の暗号化で使用したInitial Vectorを出力します

56 - (56+N-1)

encrypted_user_key【注】

ユーザ鍵およびDLM鍵を暗号化した結果を出力します。

(56+N) - 56+N +3

crc

【注】

keytypeからencrypted_user_keyのCRC-32値を出力します。

注： 「N」は、encrypted user key サイズです。 表 4-62 - 表 4-71 を参照してください。

表 4-61 kuk オプション指定時のバイナリデータ
Byte

Data

0

keytypekeytype値を使用するセキュリティエンジンの場合、keytype value、
keytype値を使用しないセキュリティエンジンの場合0を出力します。

1-3

Reserved (0 padding)4

shared_key number0を出力します。mcuオプションが”RX-TSIP”もしくは”RX-TSIPLite”の場
合は使用しません。

5-7

Reserved (0 padding)

8 - 23

initial_vector
ユーザ鍵およびDLM鍵の暗号化で使用したInitial Vectorを出力します

24 - (24+N-1)

encrypted_user_key【注】

ユーザ鍵およびDLM鍵を暗号化した結果を出力します。

(24+N) - 24+N +3

crc

【注】

keytypeからencrypted_user_keyのCRC-32値を出力します。

注： 「N」は、encrypted user key サイズです。 表 4-62 - 表 4-71 を参照してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 96 of 189

Security Key Management Tool

４．CLI 機能説明

binaryファイル出力例：> skmt.exe /genkey /ufpk file="D:¥example¥ufpk.key" /wufpk file="D:¥example¥ufpk_enc.key"/mcu " RX-TSIP" /keytype "AES-128" /key file="D:¥example¥aes128.key" /filetype "bin"/output "D:¥example¥abc.bin"

4.5.4.4

filetype オプション mot 指定時

このオプションは、モトローラHexフォーマットファイルを出力します。ファイルのフォーマットは、表
4-60 ufpkオプション指定時のバイナリデータおよび表 4-61 kukオプション指定時のバイナリデータに規定されています。 データのアドレスは、addressオプションを使用して、16進数8桁（32ビット）の開始アドレスを指定する必要があります。
motファイル出力例：> skmt.exe /genkey /ufpk file="D:¥example¥ufpk.key" /wufpk file="D:¥example¥ufpk_enc.key"/mcu " RX-TSIP" /keytype "AES-128" /key file="D:¥example¥aes128.key" /filetype "mot"/address "FFF00000" /output "D:¥example¥abc.mot"

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 97 of 189

Security Key Management Tool

４．CLI 機能説明

以下に、keytypeオプション毎のencrypted_user_key sizeを示します。
表 4-62 encrypted_user_key size DLM Key
keytype オプション

Byte size

DLM-SSD32

DLM-NSECSD

32

DLM-RMA-REQ

32

DLM-AL2

32

DLM-AL1

32

DLM-RMA32

表 4-63 encrypted_user_key size AES Key
keytype オプション

Byte size

AES-128

32

AES-192

48

AES-256

48

AES-128XTS48

AES-256XTS

80

表 4-64 encrypted_user_key size RSA Key
keytype オプション

Byte size

RSA-1024-public160

RSA-1024-private

272

RSA-2048-public

288

RSA-2048-private

528

RSA-3072-public

416

RSA-3072-private

784

RSA-4096-public544

RSA-4096-private

1040

RSA 2048bit public key for TLS

288

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 98 of 189

Security Key Management Tool

４．CLI 機能説明

表 4-65 encrypted_user_key size ECC Key
keytype オプション

Byte size

secp192r1-public

80

secp192r1-private

48

secp224r1-public

80

secp224r1-private

48

secp256r1-public

80

secp256r1-private

48

secp384r1-public

112

secp384r1-private

64

secp521r1-public132

secp521r1-private

66

brainpoolP256r1-public

80

brainpoolP256r1-private

48

brainpoolP384r1-public

112

brainpoolP384r1-private

64

brainpoolP512r1-public

144

brainpoolP512r1-private

80

secp256k1-public

80

secp256k1-private

48

表 4-66 encrypted_user_key size Ed25519 Key
keytype オプション

Byte size

Ed25519-public

48

Ed25519-private

48

表 4-67 encrypted_user_key size HMAC-SHA Key
keytype オプション

Byte size

HMAC-SHA1

48

HMAC-SHA224

48

HMAC-SHA256

48

HMAC-SHA384

64

HMAC-SHA512

80

HMAC-SHA512-224

80

HMAC-SHA512-25680

表 4-68 encrypted_user_key size ARC4 Key
keytype オプション

Byte size

ARC4

272

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 99 of 189

Security Key Management Tool

４．CLI 機能説明

表 4-69 encrypted_user_key size TDES Key
keytype オプション

Byte size

TDES

48

表 4-70 encrypted_user_key size OEM_ROOT_PK Key
keytype オプション

Byte size

OEM_ROOT_PK80

表 4-71 encrypted_user_key size Key Update Key
keytype オプション

Byte size

key-update-key

48

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 100 of 189

Security Key Management Tool

４．CLI 機能説明

fileadd オプション

4.5.5

fileaddオプションは、filetypeオプションに”csource”、”bin”または”mot”を指定時に設定可能です。
出力ファイルと同一ファイル名がある場合に、上書きではなく、既存のデータに生成したencrypted key情報を付加します。
注意：filetype オプションで”csource”を指定時に、すでにあるデータと新規に追加するデータで、同じ定義値が定義されているかの確認を行いません。keyname オプションを使用して、同じ定義値にならないようにしてください。

fileadd設定例：> skmt.exe /genkey /ufpk file="D:¥example¥ufpk.key" /wufpk file="D:¥example¥ufpk_enc.key"/mcu "RX-TSIP" /keytype "AES-128" /key file="D:¥example¥aes128.key" /filetype "csource"/fileadd /keyname "aes128" /output "D:¥example¥abc.c"

bswap オプション

4.5.6

bswapオプションは、ASCII文字で出力するデータのデータ並びを指定します。省略時は”32-big”の動作になります。
表 4-72 bswap オプション
ASCII

説明

32-big

表 4-60、表 4-61の各データをビッグエンディアンデータ並びで、ファイルに出力します。

32-little

表 4-60、表 4-61の各データを4バイトスワップしたデータ並びで、ファイルに出力します。

bswap設定例：> skmt.exe /genkey /ufpk file="D:¥example¥ufpk.key" /wufpk file="D:¥example¥ufpk_enc.key"/mcu "RX-TSIP" /keytype "AES-128" /key file="D:¥example¥aes128.key" /filetype "csource"/bswap "32-little" /keyname "aes128" /output "D:¥example¥abc.c"

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 101 of 189

Security Key Management Tool

４．CLI 機能説明

keyfileoutput オプション

4.5.7

コマンドラインから key オプションを省略した場合、ツールはランダムな鍵を生成します。 このオプシ
ョンは、生成された鍵をバイナリもしくはテキストファイルに保存するために使用します。 指定するファイルの拡張子がバイナリデータの場合*.key、テキストファイルの場合*.txtを指定します。
このツールで生成できるのは、対称鍵と一部の非対称鍵ペアのみです。
非対称鍵ペアの生成は以下のkeytypeオプションをサポートしています。
表 4-73 非対称鍵生成サポート keytype
Algorithm

keytype

RSA

RSA-1024-private, RSA-2048-private, RSA-3072-private, RSA-4096-private

ECC

secp256r1-private, secp384r1-private, secp521r1-private,
brainpoolP256r1-private, brainpoolP384r1-private, brainpoolP512r1-private,
OEM_ROOT_PK

本ツールで生成される乱数値の具体的な乱数量は保証されません。本ツールで生成した鍵は、プロトタイ
ピングおよびテスト目的でのみ使用してください。
非対称鍵ペアを生成し、/keyfileoutputを指定した場合、秘密鍵のファイル名には"_private"、公開鍵のファイル名には"_public"が付加されます。例えば、"/keyfileoutput abc.key /output abc.rkey "を指定すると、以下のファイルが生成されます。
- abc_private.key 平文の秘密鍵が格納されています。

- abc_public.key 平文の公開鍵が格納されている。

- abc_private.rkey 秘密鍵をインジェクションするための暗号化された鍵のファイル- abc_public.rkey 公開鍵をインジェクションするための暗号化された鍵のファイル
対称鍵暗号ファイル出力例 :> skmt.exe /genkey /ufpk file="D:¥example¥ufpk.key" /wufpk file="D:¥example¥ufpk_enc.key"/mcu "RA-SCE9" /keytype "AES-128" /filetype "rfp" /keyfileoutput "D:¥example¥aes.key"/output "D:¥example¥abc.rkey"
非対称鍵暗号ファイル出力例 :> skmt.exe /genkey /ufpk file="D:¥example¥ufpk.key" /wufpk file="D:¥example¥ufpk_enc.key"/mcu "RX-TSIP" /keytype "RSA-1024-private" /filetype "bin"/keyfileoutput "D:¥example¥rsa1024.key" /output "D:¥example¥rsa1024_private.bin"

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 102 of 189

Security Key Management Tool

4.6

４．CLI 機能説明

enctsip コマンド オプション

enctsipコマンドでは、以下のオプションが使用可能です。データ入力は16進データまたはバイナリファイ
ルで指定します。
表 4-74 enctsip オプション
オプション

パラメータ

説明

mode

ASCII

出力するファイルのデータフォーマットを指定します。
詳細は4.6.1 mode オプションを参照してください。

ver

Decimal

出力するファイルに添付するRSUヘッダのバージョンを指定します。

data

バージョンは1もしくは2が指定可能です。
本オプションは省略可能です。省略時は2を指定します。
詳細は4.6.2 ver オプションを参照してください。

prg

File Path

暗号化するmotファイルを指定します。

prg_sbFile Path

modeオプションでfactory指定時に、暗号化するmotファイルと合わせるセキュアブートプログラムのmotファイルを指定します。

enckeyHex data

prgオプションで指定したmotファイルのデータを暗号化するSession Keyを暗号化するための鍵を指定します。(16バイト)

session_key

Hex data

prgオプションで指定したmotファイルのデータを暗号化するSession Keyを指定します。(32バイト)
本オプションは省略可能です。本オプションを省略した場合、ツール内で生成したランダム値を鍵データとして使用します。【注】iv_fw

Hex data

prgオプションで指定したmotファイルのデータを暗号化時に使用する
Initialization Vector (IV)です(16バイト)。
本オプションは省略可能です。本オプションを省略した場合、ツール内で生成したランダム値をIVとして使用します。【注】startaddr

Hex data

prgオプションで指定したmotファイル内で、暗号化する領域の開始アドレスを指定します。アドレスは16バイトアラインを取る必要があります。
endaddrHex data

prgオプションで指定したmotファイル内で、暗号化する領域の終了アドレスを指定します。開始アドレスと終了アドレスで指定される暗号化領域のサイ
ズは16バイトアラインを取る必要があり、上限は8MBです。
destaddr

Hex data

filetypeオプションで”mot”を指定時に、暗号化したユーザプログラムの出力するアドレスを指定します。

imgflgfiletype

ASCII /

RSUヘッダのImage Flagsに入力する値を指定します。

Hex data

詳細は4.6.3 imgflg オプションを参照してください。

ASCII

出力するファイルの種類を指定します。
詳細は4.6.4 filetype オプションを参照してください。

outputFile Path

出力ファイル名を指定します。

nooverwriteなし

本オプションは省略可能です。本オプション指定時、出力ファイルが存在する
場合、エラーになります。

注: ツール内で生成するランダム値は十分な乱数性を保証するものではありません。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 103 of 189

Security Key Management Tool

４．CLI 機能説明

mode factory設定時の使用例：> skmt.exe /enctsip /mode "factory" /ver "1" /prg "D:¥example¥userprog.mot"/prg_sb "D:¥example¥secureboot.mot" /enckey "0123456789ABCDEF0123456789ABCDEF"/startaddr "FFF80300" /endaddr "FFFEFFFF" /destaddr "FFF00300"/filetype "mot" /output "D:¥example¥factory.mot"
mode update設定時の使用例：> skmt.exe /enctsip /mode "update" /ver "1" /prg "D:¥example¥userprog.mot"/enckey "0123456789ABCDEF0123456789ABCDEF"/startaddr "FFF80300" /endaddr "FFFEFFFF" /filetype "rsu" /output "D:¥example¥update.rsu"

4.6.1

mode オプション

modeオプションは、ASCII文字で出力するデータのフォーマットを指定します。
表 4-75 mode オプション
ASCII

説明

factory

工場書き込みを想定し、prg_sbで指定したセキュアブートプログラムと暗号化したプログラムにRSUを付加したmotファイルを出力します。
ファイルのイメージは図 4.3modeオプション factory指定時のファイル生成イメージを参照してください。

update市場でのFirmware Updateを想定し、暗号化したプログラムにRSUを付加したバイナ
リファイルもしくはmotファイルを出力します。
ファイルのイメージは図 4.4modeオプション updateかつ filetypeオプションrsu指定時のファイル生成イメージ もしくは 図 4.5modeオプション updateかつ filetype
オプションmot指定時のファイル生成イメージを参照してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 104 of 189

Security Key Management Tool

４．CLI 機能説明

オプションで以下の値を指定時の例
startaddr 0xFFF8_0300
endaddr 0xFFFE_FFFF
destaddr 0xFFF0_0300

prg(motファイルイメージ)
OFS
Data FlashRSU Header
0xFFF8_0300
Code Flash

Encrypted Code Flashdata

encrypt

0xFFFE_FFFF

prg_sb

生成ファイル(motファイルイメージ)(motファイルイメージ)

OFS

OFS

Data Flash

Data Flash
0xFFF0_0000

0xFFF0_0000
0xFFF7_FFFF
0xFFFF_0000
0xFFFF_FFFF

図 4.3

0xFFF0_0300
Code Flash 1

0xFFF7_FFFF

Code Flash 0

RSU Header
Encrypted Code Flashdata
Code Flash 0

mode オプション factory 指定時のファイル生成イメージ

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 105 of 189

Security Key Management Tool

４．CLI 機能説明

オプションで以下の値を指定時の例
startaddr 0xFFF8_0300
endaddr 0xFFFE_FFFF

prg(motファイルイメージ)
OFS

生成ファイル

Data FlashRSU Header+Ecrypted Code Flashdataのバイナリファイル
RSU Header

0xFFF8_0300
Code Flash

Encrypted Code Flashdata

encrypt

0xFFFE_FFFF

図 4.4

mode オプション update かつ filetype オプション rsu 指定時のファイル生成イメージ

オプションで以下の値を指定時の例
startaddr 0xFFF8_0300
endaddr 0xFFFE_FFFF
destaddr 0xFFF0_0300

prg(motファイルイメージ)
OFS

生成ファイル(motファイルイメージ)

Data Flash
0xFFF0_0000
0xFFF8_0300
Code Flashencrypt

RSU Header

0xFFF0_0300

Encrypted Code Flashdata

0xFFF7_FFFF

RSU Header
Encrypted Code Flashdata

0xFFFE_FFFF

図 4.5

mode オプション update かつ filetype オプション mot 指定時のファイル生成イメージ

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 106 of 189

Security Key Management Tool

4.6.2

４．CLI 機能説明ver オプション

verオプションは、出力するファイルに付加するRSUヘッダのバージョンを指定します。
表 4-76 RSU ヘッダ V1
offset0x00000x00070x00080x00280x002C
0x012C0x01300x01340x01380x013C
0x01B8Component

HeaderContents name

LengthMagic CodeImage Flags
Firmware Verification Type
Signature size
Signature
Dataflash Flag
Dataflash Start Address
Dataflash End Address
Image Size
Reserved
Format Type *1

7
1
32
4
256
4
4
4
4
124
4

0x01BC
0x01CCIV *1
SessionKey0 *1

16
160x01DC

SessionKey1 *1

160x01EC

暗号化されたユーザプログ
ラム+MAC のワードサイズ

4

Signature

Option*10x01F00x02000x02040x02080x020C

Descriptor

MAC *1
Sequence Number
Start Address
End Address
Execution Address

16
4
4
4
4

Note

“Renesas”
imgflg オプションで指定された値
ASCII “mac-aes128-cmac-with-tsip”
使用していません(0x00)。
使用していません(0x00)。
使用していません(0x00)。
使用していません(0x00)。
使用していません(0x00)。
使用していません(0x00)。
All 0x00
出力するファイルフォーマット
ASCII で”rsu”(0x72, 0x73, 0x75, 0x00) もしくは“mot”(0x6D, 0x6F, 0x74, 0x00)
ユーザプログラム暗号化時に使用した IV
ユーザプログラム暗号化時に使用した鍵を enckey
で暗号化した鍵
ユーザプログラム暗号化時に使用した鍵をenckey で暗号化した鍵暗号化されたユーザプログラム+ユーザプログラ
ム暗号化時に生成された MAC の合計ワードサイズ
ユーザプログラム暗号化時に生成された MAC
常に 1
ユーザプログラム領域の開始アドレス
ユーザプログラム領域の終了アドレス
ユーザプログラム実行開始アドレス格納アドレス(固定値 0xFFFEFFFC)
使用していません(0x00)。
暗号化されたユーザプログラム
対応していません。

0x0210Hardware ID
40x0214
Reserved(0x00)
236
0x0300Application BinaryN
0x0300Dataflash BinaryM+N【*1】: RX Firmware Update FIT V.1.x で定義される *.rsu ファイルフォーマットから TSIP 用に変更した
パラメータです。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 107 of 189

Security Key Management Tool

４．CLI 機能説明

表 4-77 RSU ヘッダ V2
offset0x00000x00070x00080x00280x002C
0x006C
0x01B8Component

HeaderContents name

LengthMagic CodeReserved
Firmware Verification Type
Signature size
Signature
Reserved(0x00)
Format Type *1

7
1
32
4
64
332
4

0x01BC
0x01CCIV *1
SessionKey0 *1

16
160x01DC

SessionKey1 *1

160x01EC

暗号化されたユーザプログ
ラム+MAC のワードサイズ

4

Signature

Option*10x01F00x0200Descriptor

0x02040x02080x020C
0x0210・・・

MAC *1
プログラムデータ件数

16
4

開始アドレス[0]データサイズ[0]開始アドレス[1]データサイズ[1]
・
・
・

4
4
4
4
・
・
・

Note

“RELFWV2”
使用していません(0x00)。
ASCII “mac-aes128-cmac-with-tsip”
使用していません(0x00)。
使用していません(0x00)。
出力するファイルフォーマット
ASCII で”rsu”(0x72, 0x73, 0x75, 0x00) もしくは“mot”(0x6D, 0x6F, 0x74, 0x00)
ユーザプログラム暗号化時に使用した IV
ユーザプログラム暗号化時に使用した鍵を prog
user key で暗号化した鍵
ユーザプログラム暗号化時に使用した鍵を prog
user key で暗号化した鍵暗号化されたユーザプログラム+ユーザプログラ
ム暗号化時に生成された MAC の合計ワードサイズ
プログラム暗号化時に生成された MAC
ユーザプログラムのデータ数(最大 31 件 本バージ
ョンでは 1 つのみ)
ユーザプログラム領域の開始アドレス 1 件目
ユーザプログラム領域のデータサイズ 1 件目
ユーザプログラム領域の開始アドレス 2 件目
ユーザプログラム領域のデータサイズ 2 件目
ユーザプログラム領域の開始アドレス 3-29 件目
ユーザプログラム領域のデータサイズ 3-29 件目

0x02F4
4
開始アドレス[30]ユーザプログラム領域の開始アドレス 30 件目
0x02F84
データサイズ[30]ユーザプログラム領域のデータサイズ 30 件目
0x02FC
Reserved(0x00)
40x0300Application BinaryN
暗号化されたユーザプログラム
0x0300Dataflash BinaryM
対応していません。
+N【*1】: RX Firmware Update FIT V.2.x で定義される *.rsu ファイルフォーマットから TSIP 用に変更した
パラメータです。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 108 of 189

Security Key Management Tool

４．CLI 機能説明

imgflg オプション

4.6.3

imgflgオプションは、出力するファイルに付加するRSUヘッダのImage Flagsフィールドに書き込む値を指定します。このオプションでは、ASCII値または16進数のいずれかを使用できます。
表 4-78 imgflg オプション
ASCII
blank
testing
Installingvalidinvalid
end_of_life

4.6.4

値
0xFF
0xFE
0xFC
0xF8
0xF0
0xE0

説明
イメージは書かれていません。
イメージをアップデート中 検証実施中
初期イメージのインストール中
アプリケーションが有効
アプリケーションが無効
アプリケーションが End Of Life

filetype オプション

filetypeオプションでは出力ファイル形式をASCII文字で指定します。
指定したfiletypeとファイル名の拡張子が一致しない場合、エラーになります。
表 4-79 filetype option
ASCII
mot
rsu

拡張子
*.mot
*.rsu

R20UT5349JJ0107
Aug.30.24

説明
モトローラヘキサフォーマットのファイルを出力します。
暗号化したユーザプログラムに RSU ヘッダを付加したバイナリデータを出力します。
mode オプションを update 指定時のみ指定可能です。

Rev.1.07

Page 109 of 189

Security Key Management Tool

4.7

４．CLI 機能説明

gencert コマンド オプション

gencertコマンドでは、以下のオプションが使用可能です。データ入力は16進データまたはファイルで指定します。ファイルを指定する場合、ファイルパスの先頭に"file="をつけてください。
表 4-80 gencert オプション(1)
オプション

パラメータ

説明

mode

ASCII

“signature” : ECDSA署名を使用したコード証明書と鍵証明書を生
成します。
“CRC”

: CRCを使用した簡易的な検証を行うためのコード証明書のみを作成します。
詳細は4.7.1 mode オプションを参照してください。
loadaddr

Hex data

OEM Bootloaderの開始アドレスを指定します。

cfsizeHex data

使用するデバイスのコードフラッシュのサイズを指定します。
oembl_size省略時は、loadaddrからcfsizeの範囲内にあるデータを署名対象にします。
署名対象領域については4.7.2 OEM_BLの署名もしくはCRC演算対
象領域をご参照ください。

oembl_size

Hex data

OEM_BLのサイズを指定します。サイズは16バイトアラインサイズを指定してください。
署名対象領域については、4.7.2 OEM_BLの署名もしくはCRC演算
対象領域をご参照ください。

ver

Decimal

本オプションはmodeが”signature”の場合のみ必要です。

data

コード証明書に記載するOEM_BLのバージョンを指定します。
1～4,294,967,295が指定可能です。
実際に使用できるバージョンは、MCU/MPUの仕様に依存しています。MCU/MPUのHardware User's Manualもしくはアプリケーショ
ンノートをご参照ください。

oembl

File Path

FSBLが検証対象とするOEM_BLのモトローラヘキサファイルを指定します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 110 of 189

Security Key Management Tool

４．CLI 機能説明

表 4-81 gencert オプション(2)
オプション

パラメータ

説明

oembl_private

Hex data /本オプションはmodeが”signature”の場合に必要です。

File Path

OEM_BL検証秘密鍵を指定します。
HEXデータ指定の場合、32バイトHEXデータを入力します。
ファイル入力の場合、OEM_BL検証秘密鍵のバイナリ(*.key)、もしくはテキストファイル(*.txt)、もしくは公開鍵データが含まれるPEMファイル(*.pem)の指定が可能です。
本オプションを省略した場合、ツール内部でOEM_BLのsecp256r1の鍵ペアを生成します。【注】oembl_public

Hex data /本オプションはmodeが”signature”の場合に必要です。

File Path

OEM_BL検証公開鍵を指定します。
HEXデータ指定の場合、64バイトHEXデータを入力します。
ファイル入力の場合、Qx、Qyの鍵データのバイナリ(*.key)、もしくはテキストファイル(*.txt)の指定が可能です。
oembl_privateでPEMファイル入力時は省略可能です。

oemroot_private

Hex data /本オプションはmodeが”signature”の場合に必要です。

File Path

OEM_BL検証ルート秘密鍵を指定します。
HEXデータ指定の場合、32バイトHEXデータを入力します。
ファイル入力の場合、OEM_BL検証ルート秘密鍵のバイナリ(*.key)、もしくはテキストファイル(*.txt)、もしくは公開鍵データが含まれるPEMファイル(*.pem)の指定が可能です。

oemroot_public

Hex data /本オプションはmodeが”signature”の場合に必要です。

File Path

OEM_BL検証ルート公開鍵を指定します。
HEXデータ指定の場合、64バイトHEXデータを入力します。
ファイル入力の場合、Qx、Qyの鍵データのバイナリ(*.key)、もしくはテキストファイル(*.txt)の指定が可能です。
oemroot_privateでPEMファイル入力時は省略可能です。

output_codecert

File Path

コード証明書の出力ファイル名を指定します。

output_keycert

File Path

本オプションはmodeが”signature”の場合に必要です。
鍵証明書の出力ファイル名を指定します。

keyfileoutput

File Pathmodeが”signature”の場合かつ、oembl_privateオプション省略時に、ツール内で生成、使用したsecp256r1の鍵ペアのファイルを出力します。出力ファイル名を指定してください。

注: ツール内で生成するランダム値は十分な乱数性を保証するものではありません。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 111 of 189

Security Key Management Tool

４．CLI 機能説明

mode CRC設定時の使用例：> skmt.exe /gencert /mode "CRC" /loadaddr "02000000" /oembl_size "1000"/oembl "D:¥example¥user.mot" /output_codecert "D:¥example¥ccert.bin"mode signature設定時の使用例：> skmt.exe /gencert /mode "signature" /loadaddr "02000000" /cfsize "200000" /ver "1"/oembl "D:¥example¥user.mot" /oembl_private file="D:¥example¥is_ec256_priv.pem"/oemroot_private file="D:¥example¥ms_ec256_priv.pem"/output_codecert "D:¥example¥ccert.bin" /output_keycert " D:¥example¥kcert.bin"

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 112 of 189

Security Key Management Tool

4.7.1

４．CLI 機能説明

mode オプション

modeオプションは、ASCII文字で出力する証明書の種類を指定します。
表 4-82 mode オプション
ASCII

説明

signature

OEM_BLに署名する鍵(OEM_BL検証鍵)と、OEM_BL検証鍵を署名する鍵(OEM_BL
検証ルート鍵)を使用して、鍵証明書とコード証明書を生成します。
oemroot_private、oemroot_publicオプションでOEM_BL検証ルート鍵ペア、
oembl_private、oembl_publicオプションでOEM_BL検証鍵ペアを指定してください。
証明書のChain Of Trustの構造は、FSBL機能を実装するデバイスのUser Manualをご参照ください。

CRC

OEM BootloaderのCRC値を計算し、コード証明書のみを生成します。【注】注：”CRC”を指定してコード証明書を生成した場合、Signer ID にダミー値として CRC 値を出力します。
FSBL 動作モードで”CRC + report measurement”選択し、OEM_BL 検証鍵を使用した measurement report を出力したい場合は、”signature”を選んでコード証明書を生成してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 113 of 189

Security Key Management Tool

4.7.2

４．CLI 機能説明

OEM_BL の署名もしくは CRC 演算対象領域

OEM_BLの署名もしくはCRC演算対象は、oemblオプションで指定されたmotファイルとoembl_sizeオプ
ションとcfsizeオプションで指定したエリアから抽出したイメージ部分になります。

oembl_size オプション指定時

4.7.2.1

loadaddrオプションで指定されたアドレスからoembl_size分のイメージを署名もしくはCRC演算対象にします。入力されたmotファイルにoembl_size指定分のデータがない領域は0xFFでデータを埋めます。
例として、loadaddr “02000000”、oembl_size “4000”を指定時に以下の3例を図示します。
例1:入力されたmotファイルのイメージが0x02002FFFまでしかない
例2:入力されたmotのイメージが0x02004FFFまである
例3:入力されたmotのイメージ内0x02002000から0x02002FFFまでデータが存在しない/loadaddr “0x02000000”/oemblsize “4000”
指定時
例1
0x02003FFF
ALL 0xFF
OEM_BL
署名、CRC演算対象

0x02001FFF
OEM_BL Data 1

OEM_BL Data1

0x02000000

0x02004FFF
0x02004000

OEM_BL Data2

OEM_BL Data2'

OEM_BL
署名、CRC演算対象

0x02000000

例30x02004FFF
0x02004000

OEM_BL Data4

0x02003000

OEM_BL Data4'
ALL 0xFF

0x02001FFF
OEM_BL Data3

OEM_BL
署名、CRC演算対象

OEM_BL Data3

0x02000000

図 4.6oembl_size オプション指定時の署名、CRC 演算対象

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 114 of 189

Security Key Management Tool

４．CLI 機能説明

cfsize オプションのみ指定時

4.7.2.2

oembl_sizeオプションの指定を省略した場合、oemblオプションで指定されたmotファイル内の、loadaddrオプションで指定されたアドレスからcfsizeで指定されたエリアにあるデータを署名、CRC演算対象とします。
例として、loadaddr “02000000”、oembl_size “10000”を指定時に以下の4例を図示します。
例1:入力されたmotファイルのイメージが0x02001FF8までしかない
例2:入力されたmotのイメージが0x020014FFFまである
例3:入力されたmotのイメージ内0x02010000以降にもデータが存在している
例4:入力されたmotのイメージ内0x02010000までにデータが存在しないエリアがある/loadaddr “02000000” /cfsize “10000" 指定時
例10x02001FFF

FF FF FF FF FF FF FF FF

0x02001FF8
OEM_BL Data 1

OEM_BL Data1

OEM_BL
署名、CRC演算対象

0x02000000

例20x02014FFF
0x0200FFFF
OEM_BL Data2

OEM_BL Data2'

OEM_BL
署名、CRC演算対象

0x02000000

例3
OEM_BL Data4
0x02014000
0x0200FFFF

0x02001FFF
OEM_BL Data3

OEM_BL Data3

OEM_BL
署名、CRC演算対象

0x02000000

例40x02014FFF
0x02010000

OEM_BL Data4

0x02003000

OEM_BL Data4'
ALL 0xFF

0x02001FFF
OEM_BL Data3

図 4.7

OEM_BL
署名、CRC演算対象

OEM_BL Data3

cfsize オプションのみ指定時の署名、CRC 演算対象

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 115 of 189

Security Key Management Tool

4.8

４．CLI 機能説明

encdotf コマンド オプション

encdotfコマンドでは、以下のオプションが使用可能です。データ入力は16進データまたはmotファイルで指定します。ファイルを指定する場合、ファイルパスの先頭に”file=”をつけます。
表 4-83 encdotf オプション
オプション

パラメータ

説明

keytype

ASCII

使用するAES暗号鍵のbit長を指定します。
詳細は表 4-84を参照してください。

enckeyHex data/

keytypeオプションで指定したbit長の鍵データ、または鍵ファイルを指File Path

定します。
詳細は4.8.2enckey オプションを参照してください。

nonce

Hex data

暗号化で使用するnonceデータを指定します。データサイズは16byteです。入力されたデータの上位100bitをnonceとして使用します。
本オプションは省略可能です。本オプションを省略した場合、ツール内で生成したランダム値(*注1)をnonceとして使用します。

startaddr

Hex data

暗号化の開始アドレスを指定します。アドレスサイズは32bitです。
本オプションは省略可能です。本オプションを省略した場合、ファイル全体を暗号化します。(*注2)
16バイト境界のアドレスを指定してください。

endaddrHex data

暗号化の終了アドレスを指定します。アドレスサイズは32bitです。
本オプションは省略可能です。本オプションを省略した場合、ファイル全体を暗号化します。(*注2)
startaddrオプションからendaddrオプションで指定したエリアのサイズが16バイト単位になるようにアドレスを指定してください。

prg

File Path

暗号化するファイルを指定します。

outputFile Path

出力ファイル名を指定します。

motaddr0なし

本オプション指定時、出力するmotファイルのアドレスの開始アドレス
を0にします。
本オプション指定時は、incplainオプションおよびdestaddrオプション
は指定できません。

incplainなし

startaddrオプションならびにendaddrオプション指定時に、暗号化対象以外のデータを出力ファイルにつけて、ファイル出力します。
本オプション指定時は、motaddr0オプションは指定できません。

destaddr

Hex data

暗号化するデータの転送先アドレスを指定します。
転送先アドレスは、暗号化時のカウンタ下位28bitに使用します。
本オプションは省略可能です。本オプションを省略した場合、暗号化範
囲の先頭アドレスを転送先アドレスとします。
本オプション指定時は、motaddr0オプションは指定できません。

注 1 : ツール内で生成するランダム値は十分な乱数性を保証するものではありません。
注 2 : /staraddr と/endaddr オプションを省略した場合、ファイル全体を暗号化します。データがないエリアならびに、開始アドレス、終了アドレスが 16 バイトアラインを取れていない場合、0x00 でデータを補完します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 116 of 189

Security Key Management Tool

４．CLI 機能説明

暗号化範囲指定例：> skmt.exe /encdotf /keytype "AES-128" /enckey "000102030405060708090A0B0C0D0E0F"/nonce "00112233445566778890000000" /startaddr "80000000" /endaddr "80000FFF"/prg "D:¥work¥program.srec" /incplain /output "D:¥work¥dotf_program.srec"
暗号化範囲を指定しない例：> skmt.exe /encdotf /keytype "AES-128" /enckey "000102030405060708090A0B0C0D0E0F"/nonce "00112233445566778890000000" /prg "D:¥work¥program.srec"/output "D:¥work¥dotf_program.srec"

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 117 of 189

Security Key Management Tool

４．CLI 機能説明

keytype オプション

4.8.1

keytypeオプションは、暗号化で使用する鍵の鍵長を、ASCIIで指定します。
表 4-84 暗号化のための鍵長
ASCII

説明

AES-128

鍵長128bitのAES鍵を設定します。

AES-192

鍵長192bitのAES鍵を設定します。

AES-256

鍵長256bitのAES鍵を設定します。

4.8.2

enckey オプション

enckeyオプションは、ヘキサデータやファイルを指定します。
keytype オプションで指定された ASCII 文字に従い、以下のフォーマットのデータまたはバイナリファイ
ル、テキストファイルを渡します。データ入力またはテキストファイル入力の場合は、1 バイトを 16 進
ASCII 文字列で表現します。
表 4-85

AES-128

Bytes

Data

0-15

AES-128bit key data

表 4-86

AES-192

Bytes

Data

0-23

AES-192bit key data

表 4-87

AES-256

Bytes

Data

0-31

AES-256bit key data

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 118 of 189

Security Key Management Tool

4.9

４．CLI 機能説明

encsfp コマンド オプション

encsfpコマンドでは、以下のオプションが使用可能です。データ入力は16進データまたはバイナリファイ
ルで指定します。ファイルを指定する場合、ファイルパスの先頭に”file=”をつけてください。
注: 本バージョンの macOS 版では、本コマンドをサポートしていません。

表 4-88 encsfp オプション(1)
オプション

パラメータ

説明

mcu

ASCII

Secure Factory ProgrammingをサポートするMCUマップ情報を指定します。
4.9.1mcu オプションに記載したASCII文字で指定します。

enckeyHex data /ユーザプログラム、パラメータ情報の暗号化で使用するAES128bit鍵データ

File Path

を指定します。HEXデータ指定の場合、16バイトHEXデータを入力します。
ファイル入力の場合、バイナリ(*.key)、もしくはテキストファイル(*.txt)の指定が可能です。
本オプションは省略可能です。本オプションを省略した場合、ツール内で生成したランダム値(*注)をenckeyとして使用します

nonce_prm

Hex data

パラメータ情報の暗号化で使用するnonceデータを指定します。データサイズは12byteです。
本オプションは省略可能です。本オプションを省略した場合、ツール内で生成したランダム値(*注)をnonce_prmとして使用します

nonce_prg

Hex data

ユーザプログラムの暗号化で使用するnonceデータを指定します。データサ
イズは12byteです。
本オプションは省略可能です。本オプションを省略した場合、ツール内で生成したランダム値(*注)をnonce_prgとして使用します

trn
prg

ASCII /

DLM遷移先情報を指定します。

Hex data

4.9.2 trn オプションに記載したASCII文字で指定します。

File Path

暗号化するユーザプログラム(motファイル)を指定します。
ユーザプログラムは最大３つまで指定することができます。
詳細は4.9.3 prg オプションを参照してください。

al2keyHex data /AL2_KEYを指定します。HEXデータ指定の場合、16バイトHEXデータを入力

File Path

します。ファイル入力の場合、バイナリ(*.key)、もしくはテキストファイル(*.txt)の指定が可能です。
trnオプションでOEM_PL0_AL2を指定した場合は入力が必要です。
本オプションは省略可能です。trnオプションでOEM_PL0_AL2を指定時に本オプションを省略した場合、ツール内で生成したランダム値(*注)をal2keyとして使用しますR20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 119 of 189

Security Key Management Tool

４．CLI 機能説明

表 4-89 encsfp オプション(2)
オプション

パラメータ

説明

ufpk

Hex data /enckey, al2keyの暗号化時に使用するUFPK値、またはgenufpkコマンドで生File Path

成されるUFPKファイルを指定します。データサイズは32byteです。

File Path

Renesas Key Wrapping serviceでラップしたUFPK値が書かれたW-UFPKファ

wufpk

イルを指定します。
iv_enckey

Hex data

enckeyの暗号化時に使用するIV値を指定します。データサイズは16byteです。
本オプションは省略可能です。本オプションを省略した場合、ツール内で生成したランダム値(*注)をIVとして使用します

iv_al2key

Hex data

trnオプションでOEM_PL0_AL2指定時、al2keyの暗号化時に使用するIV値を指定します。データサイズは16byteです。
本オプションは省略可能です。本オプションを省略した場合、ツール内で生成したランダム値(*注)をIVとして使用します

outputFile Path

出力ファイル名(sfpファイル)を指定します。
sfpファイルのフォーマットは 付録 Secure Factory Programming File
Formatをご参照ください。

output_al2key

File PathtrnオプションでOEM_PL0_AL2を指定しal2keyオプションを省略した場合、鍵として使用したツール内で生成したランダム値(*注)を鍵ファイル(keyファイル)として出力します。

output_enckey

File Pathenckeyオプションを省略した場合、鍵として使用したツール内で生成したランダム値(*注)を鍵ファイル(keyファイル)として出力します。

注: ツール内で生成するランダム値は十分な乱数性を保証するものではありません。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 120 of 189

Security Key Management Tool

４．CLI 機能説明

trnオプションでOEM_PL0_AL2指定例：> skmt /encsfp /mcu "RA8x1" /enckey "000102030405060708090a0b0c0d0e0f"/nonce_prg "111111111111222222222222" /nonce_prm "333333333333444444444444"/trn "OEM_PL0_AL2" /prg "D:¥work¥program.mot"/al2key "77777777777777778888888888888888"/ufpk file="ufpk.key" /wufpk "ufpk.key_enc.key"/iv_enckey "9999999999999999aaaaaaaaaaaaaaaa"/iv_al2key "ddddddddddddddddeeeeeeeeeeeeeeee"/output " D:¥work¥ program.sfp"
enckeyならびにal2_keyオプション省略例：> skmt /encsfp /mcu "RA8x1" /trn "OEM_PL0_AL2" /prg "D:¥work¥program.mot"/ufpk file="ufpk.key" /wufpk "ufpk.key_enc.key"/output "D:¥work¥program.sfp"/output_enckey "D:¥work¥enckey.key" /output_al2key "D:¥work¥al2key.key"

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 121 of 189

Security Key Management Tool

４．CLI 機能説明

mcu オプション

4.9.1

mcuオプションは、ASCII文字でMCU情報を指定します。
表 4-90 MCU 情報の指定
ASCII

説明

RA8x1

RA8x1のマップ情報を指定します。

trn オプション

4.9.2

trnオプションは、ASCII文字でDLM遷移情報を指定します。
表 4-91 DLM 遷移と入力する認証鍵
ASCII

説明

OEM_PL0_AL2
LCK_BOOTDLM OEM PL0 に転送かつ AL2 鍵を書き込みます。
DLM LCK_BOOT に転送します。

trnオプションで OEM_PL0_AL2指定例：> skmt /encsfp /mcu "RA8x1" /enckey "000102030405060708090a0b0c0d0e0f"/nonce_prg "111111111111222222222222" /nonce_prm "333333333333444444444444"/trn "OEM_PL0_AL2" /prg "D:¥work¥program.mot"/al2key "77777777777777778888888888888888"/ufpk file="ufpk.key" /wufpk "ufpk.key_enc.key"/iv_enckey "9999999999999999aaaaaaaaaaaaaaaa"/iv_al2key "ddddddddddddddddeeeeeeeeeeeeeeee"/output " D:¥work¥ program.sfp"
trnオプションで LCK_BOOT指定例：> skmt /encsfp /mcu "RA8x1" /enckey "101112131415161718191a1b1c1d1e1f"/nonce_prg "111111111111222222222222" /nonce_prm "333333333333444444444444"/trn "LCK_BOOT" /prg "D:¥work¥program.mot"/ufpk file="ufpk.key" /wufpk "ufpk.key_enc.key"/iv_enckey "9999999999999999aaaaaaaaaaaaaaaa" /output " D:¥work¥ program.sfp"

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 122 of 189

Security Key Management Tool

4.9.3

４．CLI 機能説明

prg オプション

prgオプションは、Secure Factory Programming機能で暗号化するユーザプログラムを指定します。
prgオプションは、最大３つまで指定することができます。
prgオプション 3ファイル指定例：> skmt /encsfp /mcu "RA8x1" /enckey "101112131415161718191a1b1c1d1e1f"/nonce_prg "111111111111222222222222" /nonce_prm "333333333333444444444444"/trn "LCK_BOOT"/prg "D:¥work¥program1.mot" "D:¥work¥program2.mot" "D:¥work¥program3.mot"/ufpk file="ufpk.key" /wufpk "ufpk.key_enc.key"/iv_enckey "9999999999999999aaaaaaaaaaaaaaaa" /output " D:¥work¥ program.sfp"

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 123 of 189

Security Key Management Tool

4.10

４．CLI 機能説明

calcresponse コマンド オプション

表 4-92 calcresponse オプション
オプション

パラメータ

説明

challenge

Hex data

チャレンジ値を指定します。（通常はデバイスのユニークIDを指定）
データサイズは16バイト。

key

Hex data

DLM鍵データを指定します。データサイズは16バイト。

algorithm

Name

計算アルゴリズムを指定します。以下が選択可能です。
HMAC-SHA256
AES-128-CMAC

calcresponseオプション使用時の使用例：> skmt.exe /calcresponse /challenge "ABCDEFGHIJKLMNOPQRSTUVWXYZ012345"/key "000102030405060708090A0B0C0D0E0F" /algorithm HMAC-SHA256

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 124 of 189

Security Key Management Tool

5.

操作手順

5.1

Standalone 版

5.1.1

５．操作手順

Windows 版

インストーラ SecurityKeyManagementTool_installer_vXXX.exe を実行し、任意のフォルダへインストール
してください。
【注意】
書き込み権限があるなるべく浅い階層で「日本語名」や「スペース」が入っていない
フォルダにインストールしてください。
深い階層やフォルダの名前が長い場合に、起動できない場合があります。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 125 of 189

Security Key Management Tool

5.1.1.1

５．操作手順

GUI 版

インストールフォルダ内のSecurityKeyManagementTool.exeが実行ファイルです。

図 5.1

Security Key Management Tool – 起動時のダイアログ

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 126 of 189

Security Key Management Tool

5.1.1.2

５．操作手順

CLI 版

インストールしたフォルダ内のCLIフォルダに格納されている以下ファイルが、CLI版の一式になります。CLI版だけで使用される場合、下記ファイルとフォルダ(Bold文字)一式を任意のフォルダに置いて使用してください。
• skmt.exe• device• address
コマンドプロンプトからskmt.exeコマンドを入力してください。

図 5.2

コマンドプロンプトによる Security Key Management Tool - CLI 実行例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 127 of 189

Security Key Management Tool

5.1.2

Linux 版

5.1.2.1

GUI 版

５．操作手順Linux版の解凍したフォルダ内のSecurityKeyManagementToolが実行ファイルです。
解凍時、実行権限を維持するためtar xvzfp xxxxx.tar.gzコマンドで解凍してください。

図 5.3

Security Key Management Tool – 起動時ダイアログ

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 128 of 189

Security Key Management Tool

5.1.2.2

５．操作手順

CLI 版

ダウンロードしたLinux版のパッケージを任意のフォルダに解凍してください。CLIフォルダに入っている以
下ファイル一式を任意のフォルダに置いてください。
• skmt• device• address
ターミナルソフトからskmtコマンドを入力してください。

図 5.4

Linux ターミナルソフトによる Security Key Management Tool - CLI 実行例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 129 of 189

Security Key Management Tool

5.1.3

５．操作手順macOS 版

ダウンロードしたパッケージを任意のフォルダで解凍してください。
解凍後のファイル構成は以下のようになっています。
SecurityKeyManagementTool.app.zip ：GUI 版
skmt-cli.zip

5.1.3.1： CLI 版

GUI 版

解凍したフォルダ内のSecurityKeyManagementTool.app.zipを任意のフォルダで解凍してください。
SecurityKeyManagementTool.appが実行ファイルです。

図 5.5

Security Key Management Tool – 起動時ダイアログ

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 130 of 189

Security Key Management Tool

5.1.3.2

５．操作手順

CLI 版

解凍したフォルダ内の、SKMT_CLI.zipを任意のフォルダに解凍してください。フォルダに入っている以下ファイル一式を任意のフォルダに置いてください。
• skmt• device• address
ターミナルソフトからskmtコマンドを入力してください。

図 5.6

macOS ターミナルソフトによる Security Key Management Tool - CLI 実行例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 131 of 189

Security Key Management Tool

5.2

５．操作手順e2studio plugin 版

Windows 版、Linux 版、macOS 版は、同じ手順でインストール、アンインストールを行います。
以下手順でインストールならびにアンインストールを行ってください。

5.2.1

インストール方法

1. Renesas WebサイトからダウンロードしたSecurityKeyManagementTool_Plugin_vXXX_Windows.zip、SecurityKeyManagementTool_Plugin_vXXX_mac.zipもしくはSecurityKeyManagementTool_Plugin_vXXX_Linux.zipを、任意のフォルダに置いてください。
2. e2studioを起動します。
3. e2studioのメニュー [ヘルプ(H)]→[新規ソフトウェアのインストール…]メニューを選択し、[インストー
ル]ダイアログを開きます。

図 5.7

e2studio のメニュー [ヘルプ(H)]→[新規ソフトウェアのインストール…]

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 132 of 189

Security Key Management Tool
4.

５．操作手順[インストール]ダイアログの[追加]ボタンを押して、[リポジトリーを追加]ダイアログを開きます。
「必要なソフトウェアを見つけるために、インストール中に更新サイトすべてに接続」のチェックを入れたままだと、インストールに時間かがかかりますので、チェックは外してください。

図 5.8
5.

e2studio [インストール]ダイアログ[リポジトリーを追加]ダイアログの”アーカイブ”ボタンを押して、1で用意したSecurityKeyManagementTool_Plugin_vXXX_Window/Linux/mac.zipを指定後、”追加”ボタンを押しま
す。

図 5.9

e2studio [リポジトリーを追加]ダイアログ

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 133 of 189

Security Key Management Tool

５．操作手順

6. [インストール]ダイアログに、「Renesas Solution Toolkit」が追加されますので、チェックボックスにチェックを入れて、”次へ”ボタンを押します。
“必要なソフトウェアを見つけるために、インストール中に更新サイト全てに接続”のチェックをつけたままの場合、インストールに時間がかかる場合があります。チェックを外すことをお勧めします。

図 5.107.

e2studio [インストール]ダイアログ - Security Key Management Tool の指定[インストール]ダイアログが表示されるので、「Security Key Management Tool」がインストールされることを確認して、”終了”ボタンを押してください。

図 5.11e2studio [インストール]ダイアログ - インストール詳細

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 134 of 189

Security Key Management Tool

５．操作手順8. 続いて[ライセンスをレビュー]画面が表示されます。プラグイン版をダウンロード時に提示されたライセンス条項のURLが表示されます。”使用条件の条項に同意します(A)”を選択し、”終了”ボタンを押してください。

図 5.12e2studio [インストール]ダイアログ – ライセンスをビュー

9. 信頼する証明書の選択ダイアログが表示された場合、表示された証明書をチェックした後、”Trust
Selected”ボタンを押して、インストールを継続してください。

図 5.13e2studio [信頼する]ダイアログ

10. e2studioの再起動を促されるので、e2studioを再起動します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 135 of 189

Security Key Management Tool

５．操作手順11. インストールが完了したら、プロジェクトの[プロパティ]ダイアログに、Security Key Management
Toolが追加されます。

図 5.14e2studio Security Key Management Tool プラグイン

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 136 of 189

Security Key Management Tool

5.2.2

５．操作手順

アンインストール方法

1. e2studioのメニュー [ヘルプ(H)]→[e2studioについて]を選択し、[e2studioについて]ダイアログを表示します。
2.

[e2studioについて]ダイアログの”インストール詳細”ボタンを押します。

図 5.153.

e2studio [e2studio について]ダイアログ[e2studioのインストール詳細]ダイアログの[インストールされたソフトウェア]タブ→Security KeyManagement Toolを選択し、”アンインストール(U)…”ボタンを押します。

図 5.16e2studio [e2studio のインストール詳細]ダイアログ

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 137 of 189

Security Key Management Tool
4.

５．操作手順[アンインストール]ダイアログが表示されるので、Security Key Management Toolを選択して、”終了”ボタンを押してください。

図 5.17

e2studio [アンインストール]ダイアログ

5. e2studioの再起動を促されるので、e2studioを再起動してください。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 138 of 189

Security Key Management Tool

６．使用例

6.

使用例

6.1

Example 1 – RX ファミリ TSIP の AES 128 の鍵のインジェクション手順

RX ファミリの TSIP は、MCU 上で実行されるファームウェアを介したセキュアな鍵のインジェクション
をサポートしています。必要なドライバは、表 1-1 MCU/MPU 関連サイトの TSIP を参照してください。
生産工程では、多くの場合、同じ鍵を持つデバイス群をプログラムする必要があります。鍵のインジェク
ション情報はプロビジョニングコードに埋め込むことができますが、異なる鍵を持つ複数のグループがある
場合、鍵情報をプロビジョニングコードから分離することが望ましい場合があります。次の手順で Motorola
Hex ファイルを作成し、プロビジョニングコードと一緒にプログラムすることで、1 つまたは複数の鍵をセ
キュアにインジェクションすることができます。この例では、AES128 鍵をインジェクションについて説明
します。

6.1.1

GUI 版の Security Key Management Tool を使用する場合

1. MCU/MPU と暗号エンジンの選択[概要]タブで MCU/MPU と暗号エンジンを選択します。

図 6.1[概要]タブR20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 139 of 189

Security Key Management Tool

６．使用例

2. UFPK を生成[UFPK 生成] タブに UFPK 値を設定して、拡張子*.key というファイル名で、UFPK ファイルを生成します。この例では ufpk.key というファイル名を使用しています。

図 6.2[UFPK 生成]タブ 指定値で UFPK を生成する場合の例“UFPK ファイルを生成する”ボタンを押すと UFPK ファイルが生成されます。正常にファイルが生成された場合、以下のような実行結果が出力されます。

図 6.3[UFPK 生成]タブ 実行結果

3. W-UFPK の取得
2 で生成した ufpk.key ファイルを Renesas Key Wrap service(https://dlm.renesas.com/keywrap)に送付して W-UFPK を取得します。

詳細な取得情報は、Renesas Key Wrap Service の FAQ もしくはアプリケーションノートをご参照く
ださい。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 140 of 189

Security Key Management Tool

６．使用例

4. AES128 鍵ファイルを Motorola Hex ファイルで生成[鍵のラッピング]タブで AES 128 鍵ファイルを生成します。
[鍵の種類]タブで”AES128”を選択後、[鍵データ]タブで AES128 の鍵データを入力してください。
“Wrapping key”には、手順 2 で生成した UFPK ファイルと手順 3 で取得した W-UFPK ファイルを設定してください。この例では簡略化のため IV は”乱数生成機能を使用する”を選択します。
フォーマットに”モトローラヘキサ”を選択し、アドレスに FFFF0000 を入力します。
エンディアンは”Little”を指定します。

図 6.4[鍵のラッピング] - [鍵の種類]タブ AES128 鍵ファイル Motorola Hex 出力設定例

図 6.5[鍵のラッピング] - [鍵のデータ]タブ AES128 鍵ファイル Motorola Hex 出力設定例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 141 of 189

Security Key Management Tool６．使用例

正常に終了すると以下のように表示されます。

図 6.6[鍵のラッピング]タブ 実行結果

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 142 of 189

Security Key Management Tool

6.1.2

６．使用例

CLI 版の Security Key Management Tool を使用する場合

1. UFKP の生成
ターミナルソフトで以下のコマンドを実行します。
> skmt.exe /genufpk/ufpk "ec6b8fa5c0d5da5142ccaf3a31aebeae2346cfe7ef644b9b6b70523cba0f5c5c"/output "C:¥work¥ufpk.key"

図 6.7

genufpk コマンド実行結果

2. W-UFPK の取得
1 で生成した ufpk.key ファイルを Renesas Key Wrap service(https://dlm.renesas.com/keywrap)に送付して W-UFPK を取得します。

詳細な取得情報は、Renesas Key Wrap Service の FAQ もしくはアプリケーションノートをご参照く
ださい。
3. AES128 鍵ファイルを Motorola Hex ファイルで生成
以下の genkey コマンドをターミナルソフトで実行します。
> skmt.exe /genkey /ufpk file="c:¥work¥ufpk.key" /wufpk file="C:¥work¥ufpk.key_enc.key"/mcu "RX-TSIP" /keytype "AES-128" /key "000102030405060708090A0B0C0D0E0F"/filetype "mot" /address "FFFF0000" /output "C:¥work¥aes128.mot"
UFPK ファイルは手順 1、W-UFPK ファイルは手順 2 で生成したものを使用します。

図 6.8

genkey コマンド実行例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 143 of 189

Security Key Management Tool

6.2

６．使用例

Example 2 – RA ファミリ SCE9 Protected Mode Key-Update Key のインジェクションSCE9 搭載の RA ファミリ MCU は、プログラミングインタフェース経由でのセキュアな鍵のインジェクシ
ョンをサポートしています。Renesas Flash Programmer はこの機能をサポートしています。
プログラミングインタフェースを使用して鍵をセキュアにインジェクションする利点は、MCU に特別なプ
ロビジョニングコードが必要ないことです。鍵とアプリケーションコードは、同じプログラミングプロセスの一部としてインジェクションすることができます。この例では、KUK を 1 つインジェクションすることで、現場での鍵のアップデートを可能にします。

6.2.1

GUI 版の Security Key Management Tool を使用する場合

1. MCU/MPU と暗号エンジンの選択[概要]タブで MCU/MPU と暗号エンジンを選択します。

図 6.9[概要]タブR20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 144 of 189

Security Key Management Tool

６．使用例

2. UFPK の生成[UFPK 生成]タブで UFPK 値をセットして、拡張子*.key というファイル名の UFPK ファイルを生成します。この例では ufpk.key というファイル名を使用します。

図 6.10[UFPK 生成]タブ UFPK 生成設定例“UFPK ファイルを生成する”ボタンを押すと UFPK ファイルが生成されます。
正常終了すると以下の表示がされます。

図 6.11[UFPK 生成]タブ 実行結果

3. W-UFPK 取得
2 で生成した ufpk.key ファイルを Renesas Key Wrap service(https://dlm.renesas.com/keywrap)に送付して W-UFPK を取得します。

詳細な取得情報は、Renesas Key Wrap Service の FAQ もしくはアプリケーションノートをご参照く
ださい。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 145 of 189

Security Key Management Tool

６．使用例

4. KUK の生成[KUK 生成]タブでツールを使って KUK 用のランダム値を生成するか、256bit の KUK を入力する
か選択します。出力ファイル名は拡張子*.key という名前で設定します。この例では kuk.key というファイル名を使用します。

図 6.12[KUK 生成]タブ KUK ファイル生成設定例“KUK ファイルを生成する”ボタンを押すと KUK ファイルが生成されます。正常終了すると以下のように表示されます。

図 6.13[KUK 生成]タブ 実行結果

5. RFP ファイルフォーマットの KUK ファイルの生成[鍵のラッピング] タブの [鍵の種類] タブで KUK を選択します。[鍵のデータ]タブで、前のステップで生成した KUK ファイル名(この例では kuk.key)を入力します。[鍵のラッピング]は "UFPK "を選択し、手順 2 で生成した UFPK ファイルと手順 3 で取得した W-UFPK ファイルを選択します。この例では簡略化のため、IV は”乱数生成機能を使用する”を選択します。“出力”パネルで、フォーマットとして「RFP」を選択し、拡張子が*.rkey のファイル名を入力します。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 146 of 189

Security Key Management Tool

６．使用例

図 6.14[鍵のラッピング] – [鍵の種類]タブ KUK ファイルを RFP ファイルで出力する設定例

図 6.15[鍵のラッピング] – [鍵データ]タブ KUK ファイルを RFP ファイルで出力する設定例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 147 of 189

Security Key Management Tool

６．使用例

正常終了すると以下のように出力されます。

図 6.16[鍵のラッピング]タブ 実行結果

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 148 of 189

Security Key Management Tool

6.2.2

６．使用例

CLI 版の Security Key Management Tool を使用する場合

1. UFKP の生成
ターミナルソフトで genufpk コマンドを実行します。
> skmt.exe /genufpk/ufpk "ec6b8fa5c0d5da5142ccaf3a31aebeae2346cfe7ef644b9b6b70523cba0f5c5c"/output "C:¥work¥ufpk.key"

図 6.17

genufpk コマンド実行結果

2. W-UFPK の取得
手順 1 で生成した ufpk.key ファイルを Renesas Key Wrap service(https://dlm.renesas.com/keywrap)に送って、W-UFPK ファイルを受け取ります。

詳細は、Renesas Key Wrap Service の FAQ もしくはアプリケーションノートを参照してください。
3. KUK の生成
ターミナルソフトで genkuk コマンドを実行します。
> skmt.exe /genkuk /output "C:¥work¥kuk.key"/kuk "d0aec19726cbc0e2fb403866b9b465a6c0d05b7a60362d5f435f9a3e98c79084"

図 6.18genkuk コマンド実行結果

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 149 of 189

Security Key Management Tool

６．使用例

4. RFP ファイルフォーマットの KUK ファイルの生成
ターミナルソフトで genkey コマンドを実行します。
> skmt.exe /genkey /ufpk file="c:¥work¥ufpk.key" /wufpk file="C:¥work¥ufpk.key_enc.key"/mcu "RA-SCE9" /keytype "key-update-key" /key file="C:¥work¥kuk.key" /filetype "rfp"/output "C:¥work¥kuk.rkey"
手順 1 で生成した UFPK ファイル、手順 2 で受け取った W-UFPK ファイルを使用します。

図 6.19genkey コマンド実行例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 150 of 189

Security Key Management Tool

6.3

６．使用例

Example 3 – RA ファミリ SCE9 Protected Mode RSA 2048 公開鍵のアップデート

鍵は、事前にインジェクションされた KUK を使用してフィールドでアップデートすることができます。
必要なドライバは、表 1-1 MCU/MPU 関連サイトの各デバイスのサポートドライバをご確認ください。
市場での鍵のアップデートは、さまざまな方法で行うことができます。1 つの方法は、ファームウェア・
アップデートの一部として KUK でラップされた鍵を含めることです。これを行う簡単な方法は、C ソースフ
ァイルとしてデータを埋め込むことです。 ここでは、前章で作成されインジェクションされた KUK を使って、RSA 2048 公開鍵のアップデート例を示します。

6.3.1

GUI 版の Security Key Management Tool を使用する場合

1. MCU/MPU と暗号エンジンの選択[概要]タブで MCU/MPU と暗号エンジンを選択します。

図 6.20[概要]タブR20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 151 of 189

Security Key Management Tool

６．使用例

2. C ソースファイルの RSA 2048 公開鍵ファイルの生成[鍵のラッピング]タブを使用して RSA 2048 公開鍵ファイルを C ソースファイルとして生成します。
[鍵の種類]タブで”RSA”と”2048 bits public”を選択し、[鍵データ] タブで RSA 2048 公開鍵データを入力します。
“鍵のラッピング”に 6.2.Example 2 – RA ファミリ SCE9 Protected Mode Key-Update Key のインジェクション で作成した KUK ファイルを設定します。簡略化のため、この例では IV に”乱数生成機能を使用する”を選択します。”出力”のフォーマットに”C ソース”を選択し、拡張子*.c のファイル名を指定します。

図 6.21[鍵のラッピング] – [鍵の種類]タブ RSA 2048 公開鍵 C ソースファイル生成例

図 6.22[鍵のラッピング] – [鍵データ]タブ RSA 2048 公開鍵 C ソースファイル生成例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 152 of 189

Security Key Management Tool

６．使用例

正常終了すると以下のように出力されます。

図 6.23[鍵のラッピング]タブ

R20UT5349JJ0107
Aug.30.24

Rev.1.07

実行結果

Page 153 of 189

Security Key Management Tool

6.3.2

６．使用例

CLI 版の Security Key Management Tool を使用する場合

1. C ソースファイルの RSA 2048 公開鍵ファイルの生成
ターミナルソフトで genkey コマンドを実行します。
> skmt.exe /genkey /kuk file="C:¥work¥kuk.key" /mcu "RA-SCE9" /keytype "RSA-2048-public"/key "bad47a84c1782e4dbdd913f2a261fc8b65838412c6e45a2068ed6d7f16e9cdf4
462b39119563cafb74b9cbf25cfd544bdae23bff0ebe7f6441042b7e109b9a8a
faa056821ef8efaab219d21d6763484785622d918d395a2a31f2ece8385a8131
e5ff143314a82e21afd713bae817cc0ee3514d4839007ccb55d68409c97a18ab
62fa6f9f89b3f94a2777c47d6136775a56a9a0127f682470bef831fbec4bcd7b
5095a7823fd70745d37d1bf72b63c4b1b4a3d0581e74bf9ade93cc4614861755
3931a79d92e9e488ef47223ee6f6c061884b13c9065b591139de13c1ea292749
1ed00fb793cd68f463f5f64baa53916b46c818ab99706557a1c2d50d232577d1
00010001"/filetype "csource" /output "C:¥work¥rsa2048public.c"/keyname "rsa2048public"
KUK ファイルは 6.2.Example 2 – RA ファミリ SCE9 Protected Mode Key-Update Key のインジェクシ
ョンで生成したファイルを使用します。

図 6.24genkey コマンド実行例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 154 of 189

Security Key Management Tool

6.4

６．使用例

Example 4 – RX ファミリ TSIP Secure Update 時の使用方法

TSIP を使用したセキュアなファームウェアアップデートソリューションで、ユーザプログラムを暗号化して、ターゲットデバイスに送信し、デバイス内でユーザプログラムを復号して更新することが可能です。必要なドライバならびにサンプルを使用した活用方法は、表 1-1 MCU/MPU 関連サイトの RX TSIP の資料をご確認ください。

6.4.1

GUI 版の Security Key Management Tool を使用する場合

1. MCU/MPU と暗号エンジンの選択[概要]タブで MCU/MPU と暗号エンジンを選択します。

図 6.25[概要]タブR20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 155 of 189

Security Key Management Tool

６．使用例

2. ファームウェアイメージファイルの生成[TSIP Update]タブを使用して RSU ヘッダを付けたファームウェアイメージを生成します。
“出力イメージ”で”Secure Update”を選択し、”ファームウェアイメージ”に暗号化する
ファームウェアの mot ファイルを設定します。
[暗号化アドレス範囲]タブに暗号化するアドレス範囲を設定します。
[Image Encryption Key]タブ“Session Key Encryption Key”に、Secure Boot プログラムに設定している暗号化する鍵を暗号化する鍵を設定します。簡略化のため、この例では”Image Encryption
Session Key”に”乱数生成機能を使用する”を選択します。
[IV]タブでは、簡略化のため、この例では”乱数生成機能を使用する”を選択します。
[RSU ヘッダ]タブでは”イメージフラグ”に TESTING、”RSU ヘッダ Ver”に 1 を設定します。
”出力”のフォーマットに”バイナリ”を選択し、拡張子*.rsu のファイル名を指定します。

図 6.26[TSIP Update] – [暗号化アドレス範囲]タブ 他の設定例

図 6.27[TSIP Update] – [Image Encryption Key]タブ 設定例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 156 of 189

Security Key Management Tool

６．使用例

図 6.28[TSIP Update] – [IV]タブ 設定例

図 6.29[TSIP Update] – [RSU ヘッダ]タブ 設定例

正常終了すると以下のように出力されます。

図 6.30[TSIP Update]タブR20UT5349JJ0107
Aug.30.24

Rev.1.07

実行結果

Page 157 of 189

Security Key Management Tool

6.4.2

６．使用例

CLI 版の Security Key Management Tool を使用する場合

1. ターミナルソフトで enctsip コマンドを実行します。
> skmt.exe /enctsip /mode "update" /ver "1" /prg "C:¥work¥RXSecureUpdate¥user_program.mot"/enckey "0123456789abcdef0123456789abcdef"/startaddr "FFE00300" /endaddr "FFFEFFFF" /imgflg "testing" /filetype "bin"/output "C:¥work¥RXSecureUpdate¥userprog.rsu"

図 6.31enctsip コマンド実行例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 158 of 189

Security Key Management Tool

6.5

６．使用例

Example 5 – RA ファミリ FSBL 鍵証明書 / コード証明書の生成時の使用方法

First Stage Bootloader(FSBL)機能を搭載したルネサスデバイスで使用可能な鍵証明書とコード証明書の生成を行います。鍵証明書とコード証明書は OEM_BL を Renesas Flash Programmer を使用してデバイスに書き込む際に、鍵証明書とコード証明書の正当性検証で使用します。
必要なツールやサンプルを使用した活用方法は、表 1-1 MCU/MPU 関連サイトの資料をご確認ください。

6.5.1

GUI 版の Security Key Management Tool を使用する場合

1. MCU/MPU と暗号エンジンの選択[概要]タブで MCU/MPU と暗号エンジンを選択します。

図 6.32[概要]タブR20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 159 of 189

Security Key Management Tool

６．使用例

2. 鍵証明書とコード証明書の生成[FSBL]タブを使用して鍵証明書とコード証明書を生成します。
この例ではプログラム検証方法で“Signature”の場合の手順を説明します。
“OEM Bootloader イメージ”で署名対象となる OEM_BL の mot ファイルを指定します。
“プログラム検証方法”で”Signature”を選択します。
“イメージバージョン”に 1 を設定します。
[証明書]タブの設定を行います。
“コードフラッシュ開始アドレス(hex)”に OEM Bootloader の開始アドレスを設定します。この例では02000000 を設定します。
“デバイスコードフラッシュ”で使用するデバイスのコードフラッシュのサイズを選択します。この例では“2MB”を選択します。
“OEM Bootloader サイズ”で“自動計算”を選択します。
“鍵証明書”で鍵証明書のファイル名を指定します。
“コード証明書”でコード証明書のファイル名を指定します。

図 6.33[FSBL] – [証明書]タブ 他の設定例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 160 of 189

Security Key Management Tool

６．使用例

[OEM_BL 検証ルート鍵]タブの設定を行います。
“OEM_BL 検証ルート秘密鍵”で“ファイル”を選択し OEM_BL 検証ルート鍵の公開鍵を含んだ PEM フ
ァイルを指定します。“OEM_BL 検証ルート秘密鍵”で PEM ファイルを指定したため、“OEM_BL 検証
ルート公開鍵”の指定は不要です。

図 6.34[FSBL] – [OEM_BL 検証ルート鍵]タブ 設定例[OEM_BL 検証鍵]タブの設定を行います。
“OEM_BL 検証秘密鍵”で“ファイル”を選択し OEM_BL 検証鍵の公開鍵を含んだ PEM ファイルを指定します。“OEM_BL 検証秘密鍵”で PEM ファイルを指定したため、“OEM_BL 検証公開鍵”の指定は不要です。

図 6.35[FSBL] – [OEM_BL 検証鍵]タブ 設定例“ファイルを生成する”ボタンを押すと鍵証明書とコード証明書が生成されます。正常にファイルが生成された場合、以下のような実行結果が出力されます。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 161 of 189

Security Key Management Tool

図 6.36

６．使用例[FSBL]タブ 実行結果

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 162 of 189

Security Key Management Tool

6.5.2

６．使用例

CLI 版の Security Key Management Tool を使用する場合

1. ターミナルソフトで gencert コマンドを実行します。
> skmt.exe /gencert /mode "signature" /loadaddr "02000000" /cfsize "200000" /ver "1"/oembl "userprog.mot" /oembl_private file="is_ec256_priv.pem"/oemroot_private file="ms_ec256_priv.pem"/output_codecert "ccert.bin" /output_keycert "kcert.bin"

図 6.37

gencert コマンド実行例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 163 of 189

Security Key Management Tool

6.6

６．使用例

Example 6 – RA ファミリ DOTF 使用時のプログラム暗号化方法

DOTF機能を搭載したルネサスデバイスで使用可能なユーザアプリケーションの暗号化を行います。
必要なドライバやサンプルを使用した活用方法は、表 1-1 MCU/MPU 関連サイトの資料をご確認くださ
い。

6.6.1

GUI 版の Security Key Management Tool を使用する場合

1. MCU/MPU と暗号エンジンの選択[概要]タブで MCU/MPU と暗号エンジンを選択します。

図 6.38[概要]タブR20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 164 of 189

Security Key Management Tool

６．使用例

2. ファームウェアイメージの設定[DOTF/OTFD]タブを使用して、ファームウェアイメージの暗号化を行います。
“平文イメージ”で暗号化するファームウェアの mot ファイルを設定します。
“暗号化するイメージのアドレス範囲”に平文イメージで入力された暗号化範囲を指定します。
“転送先アドレス”は暗号化するアドレスと、配置されるアドレスが異なる場合に設定をします。
この例では、暗号化範囲は 90000000 から 90000FFF、”転送先アドレス”は”平文イメージと同じ”を設定します。

図 6.39[DOTF/OTFD]タブ – Plaintext Image、暗号化範囲、実行アドレスの設定例

3. 暗号化鍵と IV の設定“イメージ暗号化鍵”に暗号化で使用する鍵を設定します。この例では AES128 の鍵を使用します。
“IV”に平文イメージの暗号化で使用する nonce を設定します。この例では簡略化のため、IV は”乱数生
成機能を使用する”を選択します。

図 6.40[DOTF/OTFD]タブ – Image Encryption Key、IV 設定例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 165 of 189

Security Key Management Tool

６．使用例

4. 出力ファイルの設定“暗号化イメージ”に出力するファイル名を指定します。
“出力イメージのアドレスとコンテンツ”で、出力するモトローラヘキサのアドレスと、暗号化しなかった平文データを含めるかを指定します。
“入力ファイルのアドレスを使用”にチェックを入れ、”暗号化したデータ以外の領域に、平文データを含める”にチェックを入れます。

図 6.41[DOTF/OTFD]タブ – 暗号化イメージ 出力イメージのアドレスとコンテンツ 設定例

正常終了すると以下のように出力されます。

図 6.42[DOTF/OTFD]タブ 実行結果

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 166 of 189

Security Key Management Tool

6.6.2

６．使用例

CLI 版の Security Key Management Tool を使用する場合

1. ターミナルソフトで encdotf コマンドを実行します。
> skmt.exe /encdotf /keytype "AES-128" /enckey "000102030405060708090A0B0C0D0E0F"/startaddr "90000000" /endaddr "90000FFF" /incplain/prg "C:\work\dotf\userprog.srec" /output "C:\work\dotf\dotf_userprog.srec"

図 6.43

encdotf コマンド実行例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 167 of 189

Security Key Management Tool

6.7

６．使用例

Example 7 – RA ファミリ Secure Factory Programming 機能使用時のプログラム暗号化方法

Secure Factory Programming 機能で使用するための Secure Factory Programming ファイル(*.sfp)を出力します。
注：Secure Factory Programming ファイルには以下表の機能を含めることができません。これらの機能は、別な方法でデバイスに入力する必要があります。
表 6-1 Secure Production Programming に追加が必要なファイル
項目

必要な場合

入力方法

ユーザ鍵の注入

アプリケーションがセキュアに注入さGUI の [鍵のラッピング]タブ（3.6 [鍵のラれた鍵を必要とする場合

ッピング]タブ）または genkey CLI コマンド（4.5 genkeyコマンド オプション）を使用して、必要な*.rkeyファイルをすべて生成する。鍵の注入に使用するUFPKは、
Secure Factory Programmingに使用する
UFPKと同じである必要はありません。

鍵証明書

署名認証付きFSBLを使用する場合

GUIの[FSBL]タブ（3.8 [FSBL]タブ）またはgencert CLIコマンド（4.7 gencertコマン
ド オプション）を使用して、必要なバイナ
リ鍵証明書ファイルを生成する。

コード証明書

署名認証付きもしくはCRC検証によるGUIの[FSBL]タブ（3.8 [FSBL]タブ）また

FSBLを使用する場合

はgencert CLIコマンド（4.7 gencertコマン
ド オプション）を使用して、必要なバイナ
リコード証明書ファイルを生成する。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 168 of 189

Security Key Management Tool

6.7.1

６．使用例

GUI 版の Security Key Management Tool を使用する場合

1. MCU/MPU と暗号エンジンの選択[概要]タブで MCU/MPU と暗号エンジンを選択します。

図 6.44[概要]タブR20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 169 of 189

Security Key Management Tool

６．使用例

2. ファームウェアイメージファイルの生成[SFP]タブを使用して Secure Factory Programming ファイル(*.sfp)を生成します。
[ファームウェアイメージ]タブ“平文イメージ”で暗号化するユーザプログラムを指定します。ファイルを選択して追加ボタンで追加します。
“最終 DLM/AL ステート”でファームウェアイメージ書き込み後の遷移先 DLM/AL ステートを選択します。この例では“OEM PL0 with AL2_KEY”を選択します。
“セキュアプログラミングファイル”で出力ファイル名を指定します。

図 6.45[SFP] – [ファームウェアイメージ]タブ 他の設定例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 170 of 189

Security Key Management Tool

６．使用例

3. [イメージ暗号化鍵]タブの設定を行います。
“鍵データ(AES-128)”でユーザプログラムおよびパラメータ情報の暗号化に使用する AES128bit 鍵デー
タを指定します。
“IV”は簡略化のため、この例では”乱数生成機能を使用する”を選択します。
“UFPK ファイル”に UFPK ファイル、“W-UFPK ファイル”に W-UFPK ファイルを指定します。
UFPK ファイルおよび W-UFPK ファイルの生成方法は 6.1Example 1 – RX ファミリ TSIP の AES 128の鍵のインジェクション手順の手順 1~3 を参照してください。

図 6.46[SFP] – [イメージ暗号化鍵]タブ 設定例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 171 of 189

Security Key Management Tool

６．使用例

4. [Nonce]タブの設定を行います。
“IV (プログラミングパラメータ)”および“IV (ファームウェアイメージ)”は簡略化のため、この例では“乱数生成機能を使用する”を選択します。

図 6.47[SFP] – [Nonce]タブ 設定例

5. [AL2_KEY]タブの設定を行います。
“鍵データ”で AL2_KEY として使用する AES128bit 鍵データを指定します。
“IV”は簡略化のため、この例では”乱数生成機能を使用する”を選択します。

図 6.48[SFP] – [AL2_KEY]タブ 設定例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 172 of 189

Security Key Management Tool

６．使用例

“セキュアプログラミングファイル生成”ボタンを押すと Secure Factory Programming ファイルが生成されます。正常にファイルが生成された場合、以下のような実行結果が出力されます。

図 6.49[SFP]タブ 実行結果

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 173 of 189

Security Key Management Tool

6.7.2

６．使用例

CLI 版の Security Key Management Tool を使用する場合

1. ターミナルソフトで encsfp コマンドを実行します。
>skmt /encsfp /mcu "RA8x1" /enckey "000102030405060708090a0b0c0d0e0f"/trn "OEM_PL0_AL2" /prg "C:¥work¥sfp¥userprog.srec"/al2key "77777777777777778888888888888888"/ufpk file="C:¥work¥sfp¥ufpk.key" /wufpk "C:¥work¥sfp¥ufpk.key_enc.key"/output "C:¥work¥sfp¥sfp_userprog.sfp"

図 6.50encsfp コマンド実行例

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 174 of 189

Security Key Management Tool

７．注意事項

7.

注意事項

7.1

Windows 環境使用時のディスプレイ設定

Windows 環 境 で 、 ス タ ン ド ア ロ ン 版 も し く は e 2 studio プ ラ グ イ ン 版 の GUI で 、 デ ィ ス プ レ イ 設 定 を推奨の設定以外の設定にした場合に、ダイアログ全体が表示できない場合があります。
ただし、以下の方法で表示が改善される場合があります。
1.

実行ファイルを右クリックします。
ス タ ン ド ア ロ ン 版 の 場 合 、 SecurityKeyManagementTool.exe
e 2 studio プ ラ グ イ ン 版 の 場 合 、 e2studio.exe* e2studio.exe は 、 e 2 studio イ ン ス ト ー ル し た フ ォ ル ダ 内 eclipse フ ォ ル ダ に あ り ま す 。

2.

プロパティ→互換性タブ「 高 DPI 設 定 の 変 更 」 ボ タ ン を 押 し て く だ さ い 。

3.

「 高 DPI ス ケ ー ル 設 定 の 上 書 き 」「 高 い DPI ス ケ ー ル の 動 作 を 上 書 き し ま す 。 」 に チ ェ ッ ク を 入 れ て
拡大縮小の実行元：「システム」

図 7.1を選んでください。

SecurityKeyManagementTool.exe のプロパティ 「高 DPI スケールの上書き」設定

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 175 of 189

Security Key Management Tool

7.2

７．注意事項Linux 版 e2studio plugin 使用時の注意事項

Linux 環 境 で 、 e 2 studio プ ラ グ イ ン 版 を 使 用 さ れ る 場 合 、 イ ン ス ト ー ル 後 に コ マ ン ド ラ イ ン 実 行 フ ァ
イルに実行権限を設定する必要があります。
e 2 studio に プ ラ グ イ ン 版 の Security Key Management Tool を イ ン ス ト ー ル 後 、 e 2 studio イ ン ス ト ー ル
フォルダの以下のファイルに実行権を付与してください。
/eclipse/plugins/com.renesas.apltool.skmt_X.X.X.XXXXXXXXXXXX/cli/skmt

7.3

macOS 版 e2studio plugin 使用時の注意事項

macOS 環 境 で 、 e 2 studio プ ラ グ イ ン 版 を 使 用 さ れ る 場 合 、 イ ン ス ト ー ル 後 に コ マ ン ド ラ イ ン 実 行 フ ァ
イルに実行権限を設定する必要があります。
e 2 studio に プ ラ グ イ ン 版 の Security Key Management Tool を イ ン ス ト ー ル 後 、 e 2 studio イ ン ス ト ー ル
フォルダの以下のファイルに実行権を付与してください。

/eclipse/plugins/com.renesas.apltool.skmt_X.X.X.XXXXXXXXXXXX/cli/skmt

7.4

macOS 版の制限事項

macOS 版 は コ マ ン ド ラ イ ン 版 、 ス タ ン ド ア ロ ン 版 、 e 2 studio プ ラ グ イ ン 版 の 以 下 の 機 能 に 制 限 が あ ります。

表 7-1 コマンドライン版制限事項
コマンド

オプション

制限事項

genkey以下特定の/keytype オプション指定時使用できません。

に、/key オプションを省略して鍵生成“Error: For BRAINPOOLPxxxR1-PRIVATE,を行う。

key option cannot be omitted when using MAC”brainpoolP256r1-private”

OS”というエラーが返ります。

”brainpoolP384r1-private””brainpoolP512r1-private”
以下特定の/keytype オプション指定時使用できません。

に、/key オプションで PEM ファイル入“Error: For BRAINPOOLPxxxR1-

力を行う。

PRIVATE/PUBLIC, PEM file cannot be”brainpoolP256r1-public”、specified when using MAC OS.”というエラー”brainpoolP256r1-private”、が返ります。

”brainpoolP384r1-public”、”brainpoolP384r1-private”、”brainpoolP512r1-public”、”brainpoolP512r1-private”、
encsfp-encsfp コマンドは使用できません。
“Error: For MAC OS, encsfp command is notsupported.”というエラーが返ります。

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 176 of 189

Security Key Management Tool

７．注意事項

表 7-2 スタンドアロン版、e2studio plugin 版制限事項
タブ

操作

制限事項

鍵のラッピン[KeyType]タブで、以下の鍵種を選択

鍵生成機能を使用できません。

グ時、[KeyData]タブで”Random”を選択しGenerate file ボタンを押すとて鍵生成を行う。

“Error: For BRAINPOOLPxxxR1-PRIVATE,”brainpoolP256r1-private”

key option cannot be omitted when using MAC”brainpoolP384r1-private”

OS”というエラーが返ります。

”brainpoolP512r1-private”[KeyType]タブで、以下の鍵種を選択

PEM ファイルを扱えません。

時、[KeyData]タブで”File”を選択して入Generate file ボタンを押すと力に PEM ファイルを使用する。

“Error: For BRAINPOOLPxxxR1-”brainpoolP256r1-public”、

PRIVATE/PUBLIC, PEM file cannot be”brainpoolP256r1-private”、

specified when using MAC OS.”というエラー”brainpoolP384r1-public”、が返ります。

”brainpoolP384r1-private”、”brainpoolP512r1-public”、”brainpoolP512r1-private”、
SFP

R20UT5349JJ0107
Aug.30.24

Generate file ボタンが有効になりませSecure Factory Programming 機能用のファイん。

ルを生成できません。

Rev.1.07

Page 177 of 189

Security Key Management Tool

8.
A.

８．付録

付録
.NET

本ソフトウェアは.NET Foundationのオープンソースソフトウェア.NETを使用しています。
.NET のライセンスは以下をご参照ください。
.NET License :https://github.com/dotnet/runtime/blob/main/LICENSE.TXT.NET Foundation :https://dotnetfoundation.org/

B.

Inno Setup

本ソフトウェアのwindows版のインストーラはInno Setupを使用して作成しています。
Inno Setup のライセンスは以下をご参照ください。
Inno Setup License :https://jrsoftware.org/files/is/license.txt
Inno Setup :https://jrsoftware.org/isinfo.php

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 178 of 189

Security Key Management Tool

C.

８．付録

Renesas File Key Format

1) テキストフォーマット
表 8-1 Renesas File Key Format テキストフォーマット
Item

Specification

文字列

ASCII
(Unicode や multi-byte character は使用できません)

空白文字

TAB(0x09) / Space(0x20)

1 行の最大バイト長

80 bytes

改行コード

CRLF(0x0D,0x0A) / CR(0x0D) / LF(0x0A)

Base64Chars = Alpha / Digit / "+" / "/"Pad = "="
Line length = 64 chars (最終行は除く)

2) ファイルのデータ構造
ファイルのデータは以下の 3 要素から構成されます。
<Header><Base64Lines><Footer><Header> と <Footer> 固定文字列です。
Header = "-----BEGIN RENESAS KEY-----"
Footer = "-----END RENESAS KEY-----"<Base64Lines> は 4)で示される鍵データのバイナリデータを Base64 変換した文字列です。フッター後の空欄、改行は無視します。

3) ファイルの拡張子".rkey"R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 179 of 189

Security Key Management Tool

８．付録

4) 鍵データ
鍵データは以下の構造とサイズになります。データは big-endian 並びです。
表 8-2 Renesas File Key Format 鍵データ構造
Name

Type

Size

Magic code

Char[4]

4 Bytes"REK1"

Suite Version

Integer

4 Bytes

データフォーマットバージョン 1

Reserved

Byte[7]

7 Bytes0

Key Type

Byte

1 Bytes[DLM 鍵]Integer

4 Bytes0[ユーザ鍵]
Keytype 値(Keytype 値は 4.5.2keytype オプションを参照)"Encrypted Key" ( = N bytes)のサイズ

Byte[36]

36 Bytes

Encrypted Key Size

W-UFPK

Description

Renesas DLM サーバーから送付される W-UFPK ファ
イルの値
最初の4バイトはshared key number
残りの 32 バイトが WUFPK 値

Initial Vector

Byte[16]

16 Bytes

ユーザ鍵をラップするときに使用した初期化ベクタ

Encrypted Key

Byte[N]N Bytes

UFPK でラップしたユーザ鍵と MAC 値

Data CRC

Byte[4]

4 Bytes

データの CRC-32 演算値
初期値 = 0xFFFFFFFF
Magic number = 0x04C11DB7

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 180 of 189

Security Key Management Tool

８．付録

5) Encrypted Key 計算式
ユーザ鍵をUFPKもしくはKUKでラップするときの暗号化とMAC生成は以下の式で行います。
・ RAファミリ、RXファミリ、Synergy PlatformのEncrypted Key計算式
uint32_t i = 0;
uint32_t n= User key byte size;
uint8_t IV[16];// Initial Vector(128bit)
uint8_t CBCKey[16]= UFPK[0:15] or KUK[0:15]; // CBCKEY in either UFPK or KUK
uint8_t CBCMACKey[16] = UFPK[16:31] or KUK[16:31]; // CBCMACKEY in either UFPK or KUK
uint8_t User_Key[n];// Plain text User key
uint8_t MAC[16] = {0};uint32_t encrypted_key[n];// Encrypted Key
for (i = 0; i < n; i += 16){
MAC[0:15]=
AES128-Enc(CBCMACkey[0: 15], xor_16byte(User_Key[i: i+15], MAC[0: 15]));encrypted_key[i: i+15] =AES128-Enc(CBCkey[0: 15],
xor_16byte(User_Key [i: i+15], IV[0: 15]));
IV[0: 15]
= encrypted_key [i: i+15];}
encrypted_key[i: +15] = AES128-Enc(CBCkey[0: 15], xor_16byte(MAC[0: 15], IV[0: 15]));* : AES128-Enc()は、AES ECBモード 鍵長128bitの暗号化を示します。

第一引数：暗号化時に使用する鍵 第二引数：暗号化する平文データ
・ RZ/T2M2, RZ/T2ME, RZ/T2L, RZ/N2L, RZ-TSIPのEncrypted Key計算式
uint32_t n= User key byte size;
uint8_t IV[16];// Initial Vector(128bit)
uint8_t CBCKey[16]= UFPK[0:15] or KUK[0:15]; // CBCKEY in either UFPK or KUK
uint8_t CMACKey[16]= UFPK[16:31] or KUK[16:31]; // CMACKEY in either UFPK or KUK
uint8_t User_Key[n];// Plain text User key
uint8_t MAC[16] = {0};uint32_t encrypted_key[n];// Encrypted Key
MAC[0:15]= AES128-CMAC(CMACkey[0: 15], IV[0: 15], User_Key[0: n-1]); *1
encrypted_key[0: n-1] = AES128-CBC(CBCkey[0: 15], IV[0: 15], User_Key[0: n-1]); *2
encrypted_key[n: n+15] = MAC[0:15];*1 : AES128-CMAC()は、鍵長128bitのAES CMAC生成演算を示します。
第一引数：暗号化鍵、第二引数：Initial Vector 第三引数：平文データ*2 : AES128-CBC()は、鍵長128bitのAES CBC暗号化演算を示します。
第一引数：暗号化鍵、第二引数：Initial Vector 第三引数：平文データ

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 181 of 189

Security Key Management Tool

８．付録

D Secure Factory Programming File Format
1) ファイルフォーマット
固有情報を格納する『Headerフィールド』、TLVフィールドのサイズを格納する『TLV Lengthフィールド』、暗号化データを格納する『TLV(Type-Length-Value)フィールド』で構成されるバイナリファイルです。図 8.1Secure Factory Programmingファイルフォーマットにフォーマットイメージを示します。データ
はBig-Endianの並びでデータを配置します。

Header(268byte)

Header Field

TLV length(4byte)

TLV Length Field

TLV1(variable length)
TLV2(variable length)
TLV
LengthTLV3(variable length)

TLV Field

・・・
TLV N(variable length)

図 8.1

Secure Factory Programming ファイルフォーマット

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 182 of 189

Security Key Management Tool

８．付録a) Headerフィールド
Header フィールドは、固有情報を格納する 268byte のフィールドです。
表 8-3 Secure Factory Programming File Format Header フィールド
Field

Size
[byte]

Description

Magic

4

固有のマジックナンバーで”sfpr”の ASCII コードを符号無し 4byte 整数で表した”0x73667072”を設定する

Version

4

W-UFPK

36

Initialization Vector used for

16

ENKY

32

Nonce used for encrypting
parameters

12

フォーマットバージョン
上位 2byte がメジャーバージョン、下位 2byte がマイナーバージョンを表す
V.1.00 では”0x00010000”を設定する。現在は V.1.00
Renesas DLM サーバーから送付される W-UFPK ファイルの値
最初の 4 バイトは shared key number
残りの 32 バイトが WUFPK 値
ユーザプログラムならびにパラメータの暗号化に使用した鍵をラップするときに使用した初期化ベクタ
パラメータ値ならびにユーザプログラムを暗号化するときに使用した
鍵を UFPK で暗号化したデータ
パラメータを暗号化するときに使用した Nonce データ

Encrypted Parameter
MAC for Encrypted Parameter1616

パラメータ値を Encryption key で暗号化したデータ
パラメータ値を Encryption key で暗号化したときに生成される MAC 値

Reserved
Encrypted AL2 Key Enable3
1

Initial Vector used for encrypting
AL2 Key16

0xFF
Initialization Vector for used encrypted AL2 Key フィールドとEncrypted AL2 Key with MAC フィールドの有効無効フラグ
0：無効
それ以外：有効AL2 Key 暗号化時に使用した Initialization Vector 値

Encrypted AL2 KeyReserved

32
52

Nonce used for encrypting user data
MAC for encrypted user data

12
16

encrypting ENKY

R20UT5349JJ0107
Aug.30.24

Rev.1.07

AL2 Key を UFPK で暗号化したデータ＋MAC 値
0xFF
ユーザプログラムを暗号化するとき使用した Nonce 値
ユーザプログラムを暗号化するときに生成された MAC 値

Page 183 of 189

Security Key Management Tool

８．付録b) TLV Lengthフィールド
TLV LengthはTLVフィールドのサイズを記述するフィールドです。
表 8-4 Secure Factory Programming File Format TLV Length フィールド
Field

Size [byte]

TLV Length4

Description
TLVフィールドの合計バイトサイズc) TLV フィールド
TLVは、以下のいずれかの値をType-Length-Value形式で設定するフィールドです。


Encrypted User Program(暗号化されたプログラム)

TLVのフォーマットを図 8.2TLV formatに示す。

32bit
8bit

8bit

8bit

8bit

Type & Length (4byte)
Value (variable length)

図 8.2

TLV format

表 8-5 Secure Factory Programming TLV Format
Field

Size [byte]

Description

Type & Length

4

Valueの種別及びword(32bit)サイズ

Value

可変長

タイプ毎のデータ
サイズはLengthで指定された値の4倍となる(Lengthはwordサイズ指定のため)

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 184 of 189

Security Key Management Tool

８．付録

A) Type&Length フィールドの詳細
Type&Lengthフィールドは32ビットのビットフィールドで定義します。
表 8-6 Secure Factory Programming TLV Format Type&Length フィールド
Field

Bit Field

Size(bit)

Bit position

Description

Type

Class

4

31:28

Valueの分類
bit 31280000: Encrypted User Data

※他は予約
Length<Class unique>

4

27:24

Class毎のフィールド(詳細は別途記載)

word size

24

23:0

Valueのwordサイズ(1word = 4byte)[値]0～16,777,215

B) Class 毎の Unique フィールド
Class毎のClass uniqueフィールドの値について説明します。
表 8-7 Secure Factory Programming TLV Format
Bit Field
Size (bit)Bit position
Use type

4

27:24

Class フィールドが『Encrypted User Data』の場合
Description
利用タイプ[value]bit 27240000: Encrypted User Data

※他は予約

2) ファイルの拡張子".sfp"

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 185 of 189

Security Key Management Tool

８．付録

E 鍵証明書 / コード証明書
1) 鍵証明書ファイルフォーマット
以下データ構造のバイナリファイルです。
詳細はFSBL機能をサポートしているデバイスのUser Manualをご参照ください。
表 8-8 鍵証明書 データフォーマット
Field
HeaderSize [byte]

Description

Magic

4

0x6B657963

Manifest
Version4

0x00010000

Flags

4

Reserved (0x00000000)

20

Reserved (ALL 0)
鍵証明書の TLV フィールドのデータバイト長Reserved
TLV Length

40x000000AC
TLV ECC PUBKEY

TLV KEYHASHTLV EXPECTED_SIG

R20UT5349JJ0107
Aug.30.24

Type&Length

4

Value

64

Type&Length

4

Value

32

Type&Length

4

Value

64

Rev.1.070x00088010/gencert /oemroot_public オプションで指定した OEM_BL 検証ルート公開鍵
0x10144008/gencert /oembl_public オプションで指定した OEM BL 検証公開
鍵の SHA2-256 HASH 値
0x20088410
署名値

Page 186 of 189

Security Key Management Tool

８．付録

2) mode “signature”で生成されるコード証明書ファイルフォーマット
以下データ構造のバイナリファイルです。
詳細はFSBL機能をサポートしているデバイスのUser Manualをご参照ください。
表 8-9 mode “signature”の場合のコード証明書 データフォーマット
Field
HeaderSize [byte]

Description

Magic

4

0x636F6463

Manifest
Version4

0x00010000

Flags

4

Load Addr

40x00000000/gencert /loadaddr オプションで指定した OEM BL 開始アドレス

Dest Addr

4/gencert /loadaddr オプションで指定した OEM BL 開始アドレス

Image size

4/gencert /oembl_size オプションで指定した OEM BL サイズ/oembl_size 省略時は、/cfsize オプションと/oembl で入力された OEM BL ファイルから計算した OEM BL サイズ

Image version

4/gencert /ver オプションで指定したバージョン情報

4Reserved (ALL 0)
コード証明書の TLV フィールドのデータバイト長

Build number
TLV Length

40x000000AC
TLV ECC PUBKEYTLV EXPECTED_CRC
TLV SIGNER_ID
TLV EXPECTED_SIG

R20UT5349JJ0107
Aug.30.24

Type&Length

4

Value

64

Type&Length

4

Value

4

Type&Length

4

Value

32

Type&Length

4

Value

64

Rev.1.070x00088010
OEM_BL 検証ルート公開鍵
0x40000001
OEM BL の CRC32 値
0x10144008
OEM BL 検証公開鍵の SHA2-256 HASH 値
0x25088410
署名値

Page 187 of 189

Security Key Management Tool

８．付録

3) mode “crc”で生成されるコード証明書ファイルフォーマット
以下データ構造のバイナリファイルです。
詳細はFSBL機能をサポートしているデバイスのUser Manualをご参照ください。
表 8-10 mode “crc”の場合のコード証明書データフォーマット
Field
HeaderSize [byte]

Description

Magic

4

0x636F6463

Manifest
Version4

0x00010000

Flags

4

Load Addr

40x00000000/gencert /loadaddr オプションで指定した OEM BL 開始アドレス

Dest Addr

4/gencert /loadaddr オプションで指定した OEM BL 開始アドレス

Image size

4/gencert /oembl_size オプションで指定した OEM BL サイズ/oembl_size 省略時は、/cfsize オプションと/oembl で入力された OEM BL ファイルから計算した OEM BL サイズ

Image version

4

0

Build number

4

Reserved (ALL 0)
コード証明書の TLV フィールドのデータバイト長

TLV Length

40x000000AC
TLV EXPECTED_CRC
TLV SIGNER_ID

Type&Length

4

Value

4

Type&Length

4

Value

32

0x40000001
OEM BL の CRC32 値
0x10144008
OEM BL の CRC32 値で FILL します。

4) CRC32の計算式
コード証明書のTLV EXPECTED_CRCの計算値は以下になります。
- CRC32 (x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1)
多項式 ：0xEDB88320(Bit revesed)
シフト方向 ：右シフト
入力ビット反転：なし
出力ビット反転：あり
初期値 ：0xFFFFFFFF

R20UT5349JJ0107
Aug.30.24

Rev.1.07

Page 188 of 189

Security Key Management Tool

８．付録

F TSIP Update1) ユーザプログラムの暗号化式
ユーザプログラムの暗号化とMAC生成は以下の式で行います。
uint32_t i = 0;
uint32_t n= User program byte size;
uint8_t IV[16]= IV[0:15];
uint8_t IEkey[16]= Image Encryption Key[0:15];
uint8_t IEMACKey[16] = Image Encryption Key[16:31];
uint8_t KEKey[16]= Key Encryption Key[0:15];
uint8_t User_Program[n];uint8_t MAC[16] = {0};uint32_t encrypted_user_program[n];// Initial Vector(128bit)// Encrypted user programfor (i = 0; i < (n-16); i += 16){
MAC[0:15]=
AES128-Enc(IEMACkey[0: 15], xor_16byte(User_Program[i: i+15], MAC[0: 15]));encrypted_user_program[i: i+15] =AES128-Enc(IEkey[0: 15],
xor_16byte(User_Program[i: i+15], IV[0: 15]));
IV[0: 15]
= encrypted_user_program[i: i+15];}
encrypted_user_program[i: i+15]= AES128-Enc(IEkey[0: 15], xor_16byte(MAC[0: 15], IV[0: 15]));
SessionKey0[0:15] = AES128-Enc(KEkey[0: 15], IEKey[0: 15]);
SessionKey1[0:15] = AES128-Enc(KEkey[0: 15], IEMACKey[0: 15]);* : AES128-Enc()は、AES ECBモード 鍵長128bitの暗号化 を示します。
第一引数：暗号化時に使用した鍵

R20UT5349JJ0107
Aug.30.24

Rev.1.07

第二引数：平文データ

Page 189 of 189

Security Key Management Tool ユーザーズマニュアル

改訂記録
Rev.

発行日

改訂内容
ページ

ポイント

1.00

Dec.28.21

－

初版発行

1.01

Mar.31.22－

3 GUI 機能説明追記
5 GUI 説明追記
6 GUI 操作方法追記

1.02

Jun.30.22－

4.5.1 mcu オプション RA-SCE5_B 追加
4.5.3.2 ファイル入力 pem ファイル 追加
5.2.1 Linux 版 GUI 使用時の使用方法 変更

1.03

Dec.29.22－

5.2 e2studio plugin 版 説明追記
付録 Renesas Key File Format 追記

1.04

Sep.29.23－

3.7 [TSIP UPDATE]タブ 追加
4.5.1 mcu オプション RE-TSIPLite 削除
4.6 enctsip コマンド オプション 追加
4.7 calcresponse コマンド オプション 追加

1.05

Dec.22.23－

1.5 セキュリティ機能追加

3.8 [FSBL]タブ 追加
3.9 [DOTF]タブ 追加
3.10 [SFP]タブ 追加
4.7 gencert コマンド オプション 追加
4.8 encdotf コマンド オプション 追加
4.9 encsfp コマンド オプション 追加
6.5 FSBL 鍵証明書/コード証明書生成方法 追加
6.6 Decryption On-The-Fly の使用方法 追加
6.7 Secure Factory Programming の使用方法 追加
1.06

Mar.29.24

P.26

2.2.2 e2studio 動作確認バージョン 2024-01

変更

P.50

3.7.3 暗号化する範囲の上限は 8MB 追記

P.52

3.7.6 RSU ヘッダ Ver 2 を指定可能 変更

P.88

4.5.3.2 pem ファイルサポート非対称鍵に RSA-2048-public-TLS 追加

P.100

4.6 ver オプション 2 追加
省略時は 2 に変更
endaddr オプション 暗号化領域のサイズの上限は 8MB 追記

P.104

4.6.2 ver オプション RSU ヘッダ V1Sequence Number は常に 1 修正
Execution Address 固定値 0xFFFEFFFC 追記
RSU ヘッダ V2 追加

P.107

4.7 ver オプション 1～4,294,967,295 で指定可能

Rev.

発行日

改訂内容
ページ

1.07

Aug.30.24

P.5
P.11
P.25
P.26
P.34
P.40
P.47
P.49
P.63
P.69
P.74
P.78
P.81
P.88
P.90
P.92
P.101
P.119
～121
P.122
P.127
P.130
~131
P.176
P.176
～177
P.178
～179
P.187

ポイント
用語 Encrypted KUK 追加
1.2 表 1-1 RZ/T2M, RZ/T2ME, RZ/T2L, RZ/N2L 追加
2.1.1 表 2-1 RX RSIP-E11A RZ/T2M, RZ/T2ME, RZ/T2L, RZ/N2L 追加
2.1.2 表 2-2 RX RSIP-E11A RZ/T2M, RZ/T2ME, RZ/T2L, RZ/N2L 追加
2.2.2 対応 OS Ubuntu 22.04 LTS, macOS14 追加
e2studio 動作確認バージョン 2024-07 更新
3.6.2 表 3-6 macOS 時の注意事項 追記
3.6.5 表 3-8 追加
3.7 TSIP UPDATE → TSIP Update タブ名変更
3.9 DOTF → DOTF/OTFD タブ名変更
3.10 表 3-12 “OEM PL0 with AL2_KEY and AL1_KEY” 削除
注意事項追記3.10.5 注意事項 追記
4.5 genkey オプション
fileadd オプション、bswap オプション追加
4.5.1 表 4-8 RX RSIP-E11A RZ/T2M, RZ/T2ME, RZ/T2L, RZ/N2L 追加
4.5.3.1 表 4-44 Qx → Qy 修正
4.5.3.2 表 4-54 macOS 時の注意事項 追記
4.5.3.3 表 4-55 macOS 時の注意事項 追記
4.5.5 fileadd オプション 追加
4.5.6 bswap オプション 追加
4.9 al1_key オプション削除
4.9.2 表 4-91 OEM_PL0_AL2_1 削除
5.1.1.2 CLI 版のファイル構成変更 DLL ファイル削除
5.1.3 macOS 版 追加
7.3 macOS 版 e2studio plugin 使用時の注意事項 追記
7.4 macOS 版 注意事項 追記
Appendix
Renesas File Key Format
ユーザ鍵 暗号化式追記
TSIP Update
ユーザプログラム暗号化式追加

Security Key Management Tool ユーザーズマニュアル

発行年月

2024年8月30日

Rev.1.07

発行

ルネサス エレクトロニクス株式会社〒135-0061 東京都江東区豊洲3-2-24（豊洲フォレシア）Security Key Management Tool

R20UT5349JJ0107