IoT機器の「Root of Trust」(RoT)の実装と、セキュアな「Device Lifecycle Management」(DLM)の必要性(前編)
近年、ランサムウェアに代表されるサイバー攻撃が急増し、ネットワークに接続されている機器を守るためには、強固なセキュリティ機能の実装が求められている。たとえばIoTエンドポイントにおいて、自律したセキュリティ機能を持っていれば、たとえ安全でないネットワーク環境であっても、悪意ある攻撃を防げるだろう。そこでハードウェアのセキュリティを担保するために重要になるのが「Root of Trust(以下、RoT)」の概念である。ルネサス エレクトロニクス(以下、ルネサス)は、組み込みプロセッサを中心に半導体デバイスを提供するグローバルベンダーだが、国際的なセキュリティ標準規格「FIPS140-2」(本誌連載などを参照のこと)をベースにしたRoTをいち早く実装している。そこで本稿では、同社のセキュアハードウェアの仕組みと、製品ライフサイクル全体でデバイスを守るIARの管理ツールについて、前・後編で紹介しよう。
MPUのセキュリティに必須となる「Root Of Trust」(RoT)とは何か?
まずRoTとはどのような概念であろうか? 日本語にすると「信頼の起点」となり、「動作の起点を信頼できるハードウェアで守ること」を意味するものだ。ルネサスでは、このRoTの概念を、エンドポイントン端末のMPUに具体的に実装することで、悪意ある攻撃からハードウェアを効果的に守れると考えている。
特にルネサスでは、データ・ソフトウェアの不正書き換えや改ざんの防止、それらのためのメンテンンスや運用、定期的なアップデートなどに重点を置いている。ハードウェアでは情報(資産)をしっかりと守り、暗号通信に重要な鍵をむき出しにせず、簡単にコピーできない状態にしている。
RoTを実現する三位一体のハードウェアセキュリティ技術とは?
現在、ハードウェアのセキュリティ標準規格モデルとしては、アメリカ国立標準技術研究所(NIST:National Institute of Standards and Technology)が定めた規格「FIPS140-2」がデファクトとして使われている。これは暗号モジュールに関するセキュリティ要件を規定したもので、暗号境界でセキュアな領域と、そうでない領域を切り分け、秘密鍵などの「CSP」(Critical Security Parameter)をセキュア領域内のみで扱う規格だ。もしCSPが暗号領域を超えてセキュアでない領域に出るときは、CSPをラッピング(暗号化)することで漏洩を防ぎ、強固なセキュリティを実現させることが可能だ。
ルネサスも、このFIPS140-2をベースにした独自のRoTでハードウェアセキュリティ技術を実現している。以下、そのRoT技術について簡単に説明する。RoTを実現するために、ルネサスが自社MPUに対して実装している技術は大きく3つの要素が挙げられる。 まず1つ目は、独自の「Trusted IP」(以下、TSIP)と呼ばれるIPで、秘密情報である「鍵データ」を漏洩から守る技術。2つ目は、「認証プログラム」を改ざんから守る「メモリ保護」。この2つはハードウェアによるものである。残りの3つ目はソフトウェアによるもので、前出のTSIPを利用してユーザープログラムの改ざんを検証する「セキュアブート」と、検証後にファームウェアを更新する「セキュアF/Wアップデート」だ。
これら3つの要素技術の関係は、まず鍵情報を強固なTrusted IPで守り、プログラムの改ざん・書き換え防止のセキュアブートで暗号化に鍵を使用する。さらにセキュアブート自体の書き換えを不可にするために、メモリ保護技術が使われるということだ。このように三位一体の管径により、強固で安全なRoTを実現しているわけだ。 ルネサスのRXマイコンでは、セキュリティ認証のFIPS140-2 CMVP level 3(ICカードなどで取得されるレベル)を汎用マイコンで初めて取得しており、前出で触れたTSIPの堅牢製を証明しているのだ。
TSIPを利用したユーザー事例~プログラムの改ざん防止と更新/鍵管理
具体的にルネサスのTSIPを利用したユーザー事例についても紹介しよう。
あるユーザーは製品を市場投入後に、メンテナンスのためにプログラムやデータを更新したかったが、納入先によってはネットワーク環境がないこともあり、オペレータが現地に直接出向いて作業を行う必要があった。しかし重要なノウハウがオペレータや悪意ある内部関係者などから漏洩してまうリスクを懸念していた。
そこで、オペレータに対して暗号化した鍵/プログラムを渡し、TSIP内で暗号化されたプログラムを、工場内でオペレータが復号化して書き込み、プログラム更新時にはTSIP内部でプログラムの正当性をチェックして更新を行うようにした。これにより、たとえ工場内での作業時にプログラムが盗まれても解読できず、更新時に改ざんされたプログラムを書き込まれるリスクもなくなった。
これらの一連のサンプルプログラムは、ルネサスで用意しているため、ユーザー側は重要なプログラムやデータの外部流出を容易に防止できるだろう。これ以外にも、ハードウェア暗号による高速化、鍵の秘匿化によるセキュリティ強化、機器のコピー防止、クラウドへのセキュアコネクトなど、さまざまなユースケースもあり、ユーザーの要望に合った多様な提案が可能だ。
RoTセキュリティをワンパッケージで実現するRXソリューション
ここまで紹介したように、TSIPで提供されるソフトウェア(モジュール)は、暗号機能関連や通信プロトコル(TLS:Transport Layer Security)関連機能を含むTSIPドライバ、セキュアプートおよびセキュアFWアップデートのサンプルソフトによってRoTを構築でき、ユーザーの重要な資産を脅威から守ることが可能だ(メモリ保護機能に関してはドライバには含まれず、ユーザー側で設定する機能になる)。 これらは「TSIP Module FIT」としてワンパッケージで提供され、セキュリティ導入の障壁になるような開発難度の高いソフトウェアが整備済である。また利用時にはNDAも不要で利用できる。スタータキットを購入すれば、いつでもすぐにルネサスのWebサイトからダウンロードして手元で評価が可能だ。
続いてルネサスのMCUのセキュリティ機能のラインナップについても紹介しておこう。 まずRXマイコンだが、TSIP搭載品のほかに共通鍵のみサポートするTSIPーLite搭載品、アクセス管理などの機能がない単体の暗号モジュール搭載品(TSIPなし)も用意している。単体の暗号モジュール搭載品は、暗号通信をハードウェアで高速化したいところから始めるような場合に適しているだろう。
一方、Armコアを搭載したRAマイコンでは、RXマイコンのTSIPと同等機能(アクセス管理、鍵管理機能など)の「SCE」(Secure Crypto Engine)というセキュリティIPを搭載した製品を用意。具体的にはミドルからハイエンドのRA4/RA6の11機種で対応中だ。
セキュリティソリューションで実現するライフサイクル管理の必要性
最後に、セキュアなライフサイクルの必要性についても触れておこう。セキュリティ対策はデバイス(MPU)の設計から、工場納入、オペレーション、アップデート、破棄までの一連の流れの中で考慮しなければならない。各プロセスにおいて、さまざまな脅威が潜んでいるからだ。IoT機器や、それを取り巻く環境も日々進化しているため、5年後10年後には現状のセキュリティ機能も役に立たなくなっている可能性がある。 そこでユーザーの製品ライフサイクル全体を通して、セキュリティシステムを構築する「Device Lifecycle Management」(DLM)が重要なポイントになる。具体的には設計工程でセキュリティを作り込み、量産時に工場でマイコンへの鍵を安全に書き、製造工程でファームウェアの盗難・複製の脅威から守る。さらに出荷後に安全な環境でファームウェアの更新を行う、あるいは破棄する場合には秘匿情報のゼロ化(消去)を実施するという流れだ。
ただし鍵の取り扱いなど、高度なセキュリティ機能が内包されているために、かなり複雑で分かりにくいことも否めない。そこでルネサスでは、ツールの使い方も含めて動画で解説も行っているので利用するとよいだろう。 セキュアなライフサイクル管理については、ルネサスだけでなく、パートナーのソリューションも重要になるところだ。そこでTSIPを用いたセキュアなサプライチェーン・ソリューションとして、次の後編ではIARのツール群について解説する予定だ。