- 公開日:2025年09月18日
- | 更新日:2025年09月29日
RL78/G13とRL78/G23のセキュリティ機能における差分について
- ライター:Kakky
- マイコン
はじめに
近年、システムの「IoT化」や「複雑化」が急速に進む中で、比較的小型のマイクロコンピュータ(以後MCU)にも高度な対応が求められるようになってきました。特にエンドポイントに搭載されるMCUは、ネットワーク経由でのファームウェア更新、個別パラメータの保持・更新、センサーデータの送信など、従来以上に多機能かつ柔軟な運用が必要とされています。
さらに、システムの複雑化に伴い、他社とのソフトウェア開発連携も増加しています。独自IPや他社IPが絡むデバイスへの対応、単一企業向けのプログラムデータ提供など、セキュリティや柔軟性の両立が課題となっています。
こうした背景の中、RL78シリーズの中でも特にRL78/G13とRL78/G23は、限られたリソースの中でこれらの要求にどう応えるかという観点で注目されています。本記事では、両者の差分機能に焦点を当てて各種セキュリティ機能について解説します。
RL78/G13とRL78/G23のセキュリティ機能差分
まずはじめに両社の機能差分について表にまとめます。
表 1 セキュリティ機能差分
機能 | RL78/G13 |
RL78/G23 |
⓵ハードウェアによる暗号アクセラレータ | ― | ― |
②オンチップ・デバッグ許可/禁止設定 | ○ | ○ |
③オンチップ・デバッグ・セキュリティID認証 | ○ | ○ |
④プログラマ・オンチップ・デバッガ接続禁止 | ― | ○ |
⑤プログラマ接続ID認証 | ― | ○ |
⑥書き込み禁止 | ○ | ○ |
⑦ブロック消去禁止 | ○ | ○ |
⑧ブート領域書き換え禁止 | ○ | ○ |
⑨フラッシュ・シールド・ウインドウ | ○ | ○ |
⑩フラッシュ・リード・プロテクション | ― | ○ |
⑪ユニークID | ― | ○ |
⑫真正乱数発生回路(TRNG) | ― | ○ |
各機能のポイント解説
① ハードウェアによる暗号アクセラレータ機能
この機能は、マイコンの内部に公開鍵暗号方式や共通鍵暗号方式、またはハッシュなどの暗号演算に対応した専用のハードウェアです。ソフトウェア実装に比べて処理速度が大幅に向上し、CPUの負荷も低減できます。
RL78/G13とRL78/G23のどちらもこの機能を搭載しておりませんが、ソフトウェアライブラリとしてルネサス社から提供されております。
下記のリンクからアプリケーションノートをご参考いただけます。
https://www.renesas.com/ja/software-tool/crypto-library
② オンチップ・デバッグ許可/禁止設定
オンチップ・デバッグ許可・禁止設定は、耐タンパ性の向上を目的とした機能です。オンチップ・デバッグ・オプション選択バイトにて禁止が設定されている場合、オンチップ・デバッガが起動しません。この機能により、デバッグインターフェースを悪用したソフトウェアの漏洩と改ざんを防止することができます。
この機能はRL78/G13およびRL78/G23の両方に搭載されています。
③ オンチップ・デバッグ・セキュリティID認証
オンチップ・デバッグ・セキュリティID認証は、耐タンパ性の向上を目的とした機能です。デバッグモード起動中にセキュリティID認証が必須となり、3回の認証失敗でデバイスが破壊され、以降のアクセスには正しいIDの再入力が求められます。また、ユーザープログラム領域へのアクセスも制限されます。この機能により、デバッグインターフェースを悪用したソフトウェアの漏洩と改ざんを防止することができます。
この機能はRL78/G13およびRL78/G23の両方に搭載されています。
④ プログラマ・オンチップ・デバッガ接続禁止
プログラマ・オンチップ・デバッガ接続禁止機能は、耐タンパ性の向上を目的とした機能です。設定することで、書き込み、消去、ブランクチェック、ベリファイ、チェックサム、セキュリティ設定、オンチップ・デバッグが不可になります。この機能により、デバッグインターフェースまたはプログラマインターフェースを悪用したソフトウェアの漏洩と改ざんを防止することができます。
また設定後は、プログラマやデバッガでの通信が一切できなくなるので、本機能を使用する場合は、デバッグ作業が終了し量産する際に設定していただくことを推奨します。
この機能はRL78/G23のみに搭載されています。
⑤ プログラマ接続ID認証
プログラマ接続ID認証は、耐タンパ性の向上を目的とした機能です。設定することで、デバイス内部にあるIDとプログラマGUI上で入力したIDとが一致しないとプログラマ接続ができなくなる機能です。本IDは、オンチップ・デバッグ・セキュリティID認証用の10byteのIDと同じIDを使用します。
この機能はRL78/G23のみに搭載されています。
⑥ 書き込み禁止
書き込み禁止機能は、耐タンパ性の向上を目的とした機能です。設定するとコード・フラッシュ・メモリ内の全ブロックに対しての書き込みコマンドの実行を禁止にします。ただしこの機能は外部プログラマによる書き込みを禁止するのみで、MCUによるセルフプログラミング時での書き込みは可能です。また消去は禁止しません。
この機能はRL78/G13およびRL78/G23の両方に搭載されています。
⑦ ブロック消去禁止
ブロック消去禁止機能は、耐タンパ性の向上を目的とした機能です。設定するとコード・フラッシュ・メモリ内のブロック消去を禁止にします。ただしこの機能は外部プログラマによるシリアル・プログラミング時の消去を禁止するのみで、MCUによるセルフ・プログラミング時での消去は可能です。また書き込みは禁止しません。
この機能はRL78/G13およびRL78/G23の両方に搭載されています。
⑧ ブート領域書き換え禁止
ブート領域書き換え禁止機能は、耐タンパ性の向上を目的とした機能です。設定するとコード・フラッシュ・メモリ内のブート領域(00000H-03FFFH)に対して、ブロック消去コマンド、書き込みコマンドの実行を禁止します。この機能は外部プログラマによるシリアル・プログラミング時とMCUによるセルフ・プログラミング時の両方に適用されます。
この機能はRL78/G23に搭載されています。
またRL78/G13では、“ブートクラスタ0の書き換え禁止”と異なる名前で提供されています。ブート領域(00000H-00FFFH)に対して上記と同様のコマンド実行を禁止し、同様にシリアル・プログラミング時とセルフ・プログラミング時を問いません。
⑨ フラッシュ・シールド・ウインドウ
フラッシュ・シールド・ウインドウ機能は、耐タンパ性の向上を目的とした機能です。設定すると、ユーザーが設定した領域の書き込みおよび消去を、セルフ・ プログラミング時のみ禁止にするセキュリティ機能です。ただし、対象の領域はコードフラッシュのみでデータフラッシュは対応していません。
この機能はRL78/G13およびRL78/G23の両方に搭載されています。
⑩ フラッシュ・リード・プロテクション
フラッシュ・リード・プロテクションは、ソフトIPの保護を目的とした機能です。設定すると、指定した内部ROM領域を、CPU、DTC*、SMS**から読み出すことが不可能になり、CPUによる命令フェッチのみを許可する機能です。ただしこの領域のベリファイは可能です。
この機能により、独自技術のソフトウェアが書かれたデバイスを共同アプリケーション開発者へ提供し、そのデバイスにてデバッグが行われても、ソフトウエアを第三者から隠すことができます。
この機能はRL78/G23のみに搭載されています。
下記のリンクからアプリケーションノートをご参考いただけます。
https://www.renesas.com/ja/document/apn/rl78g23-third-party-program-protection
*DTC: Data Transfer controllerの略でデータを転送する機能です。
** SMS : Snooze mode sequencerの略でCPUから独立して簡単な処理を実行できるシーケンサです。
⑪ ユニークID
ユニークIDは、コピー品の防止を目的とした機能です。ユニークIDは製造する際に格納される製品個々で異なる固有のIDで、出荷されたRL78/G23に同じユニークIDは存在しません。ユーザープログラムの中にこのユニークIDの一致を検証する実装を施すことで、プログラムが不正にコピーされた場合でも、異なるRL78/G23で動作することを防ぐことができます。
この機能はRL78/G23のみに搭載されています。
下記のリンクからアプリケーションノートをご参考いただけます。
https://www.renesas.com/en/document/apn/rl78g23-unique-id-read-driver?language=ja
サンプルコードはこちら
https://www.renesas.com/ja/document/scd/rl78g23-unique-id-read-driver-rev101?language=ja&r=1496636
⑫ 真性乱数発生回路(TRNG)
真性乱数発生回路は暗号処理の要素として必要不可欠な乱数を生成する機能です。この機能を利用することで暗号鍵生成のためのシード値や暗号鍵の一部として利用可能な32bitのランダムな値を読みだすことができます。
この機能はRL78/G23のみに搭載されています。
下記のリンクからアプリケーションノートをご参考いただけます。
まとめ
本記事では、RL78/G13とRL78/G23の差分に焦点を当てながら、それぞれのセキュリティ機能について解説しました。