さまざまな場所やモノ、人などの情報を集め、新たな価値の創出を目指すIoT。さまざまな企業がさまざまなソリューションを発表し、徐々に市場が形成されつつあり、各種センサデバイスなどを搭載したエッジノードの機器も増えつつある。
しかし、組み込み技術として考えた場合、従来ネットワークに接続してこなかった分野が多く、セキュリティに対する意識はIT業界に比べて低いところもあるのが現状だ。また、PCのようなリッチOSやハイパフォーマンスのプロセッサが常に使えるわけではなく、そうした分野で用いられているセキュリティソフトをそのまま組込機器に適用する、というわけにもいかない、という実情もある。
そうしたIoT機器ををいかにセキュアな状況に保つか、という手法の1つとして、ハイパーバイザの活用が挙げられる。いわゆる仮想化であり、すでに各組み込みOSベンダなどもOSとハイパーバイザをセットで提供するなどの取り組みを進めてきているが、例えば2つのOSを活用しようと思えば、従来であれば双方のソースコードを知る必要があり、実現に対する課題が多い。そうした中、国産IoT機器向けハイパーバイザ「FOXvisor」の開発を手がけるSELTECHが4月22日、同ハイパーバイザを用いたスターターキットの発売に先駆け、組込機器ベンダ向けキックオフミーティングを開催し、開発の背景や、スターターキットのターゲット層などの紹介を行った。
FOXvisorはフットプリント32KB、CPU使用効率1%以下の動作を実現したベアメタル型のハイパーバイザで、OSのソースコードを開示しないでも活用が可能という特徴がある(共有ドライバーなどの開発の際には一部必要だという)。そのため、基本的にはどのようなOS、ハードウェアでも適用可能と考えられるが、それだとあまりにも分野が広くなりすぎて、受託開発でしか対応が困難であった。そこで、対象を組み込みLinuxアプリ開発経験者に絞り、RTOSであるμITRONを意識せずに学習ができるトレーニングコンテンツを新たに開発。スターターキット「FOX-IKUSADACHI」もそうした経緯から生まれた1つとなっている。
スターターキットの構成は、NXP Semiconductors(旧Freescale Semiconductor)の「i.MX6 SABRE for Automotive Infotainmen(AI)」を開発基板として用い、リッチOSにLinux(i.MX6対応BSP)、セキュアOSとしてμITRON「μC3」(イーフォース製)をそれぞれ活用する。セキュアな環境の構築イメージとしては、ARMプロセッサ内に用意された「TrustZone」により、プロセスやハードウェアリソースをハードウェアレベルでセキュアに分離し、そこへのアクセスは「μC3」側のみ可能とする。Linuxのみでもできそうな気もするが、その点について同社では、各種のセキュアな認証を行うためのデバイスドライバーを管理するOSが(Linuxとは)別個に必要、ということでRTOSとの組み合わせとなったとする。
LinuxとRTOSのデータのやり取りはハイパーバイザを経由して行われ、メモリデータに関しては、メモリ領域内に共有領域を用意し、そこを用いることで可能とした。
FOXvisorを中心としたシステムのイメージ。i.MX6を用いたスターターキットの場合、ARMプロセッサのTrustZoneにセキュア資源を格納。それを実行可能なのはセキュアOS(μC3)のみで、ノーマルOS(Linux)からはアクセスすることができない |
なお、i.MX6はARM Cortex-A9(Cortex-A7モデルやCortex-M4とのデュアルコアモデルもある)だが、ARMのTrustZoneそのものはARMv8-MおよびARMv8-Aに対応しているため、ARMv8-Mに対応した各種のCortex-Mコアマイコン上でも同様のハイパーバイザを用いたセキュア環境の実現も可能だ。そのため同社でも引き続き、ゲストOSを提供してくれるパートナー企業の募集を継続して行っていくとしており、トレーニング内容のブラッシュアップなども含め、IoTの進展に伴って必要とされる組込機器のセキュリティ性の向上に向けた取り組みを進めていくとしている。