端的に言えば内部構造をちゃんと整理して、3つのレイヤー(mbed OS Core/mbed OS Drivers/mbed OS μVisor)に分けたという表現もできそうだが、それ以上に多くの変更がある。幾つか挙げるならば(1)「新たにSecurity μVisorが追加された」、(2)「mbed TLSが標準の通信方式となった」、(3)「mbed Clientが公式に追加された」という3点が主な変更点である。
まずセキュリティ関連の(1)と(2)であるが、ARMは2015年2月にIoTセキュリティ企業のOffsparkを買収している(プレスリリース)。既にOffsparkのサイトには何もないが、同社が提供していた「PolarSSL」というSSL/TLSライブラリが、そのままmbed TLSという形で提供されるようになると思われる。
一方のSecurity μVisorだが、これはセキュリティアイソレーションを行うためのものとなっている。このあたりは、基調講演でIoTの価値はセキュリティ性にあると力説したことへの対応というか、さすがにセキュリティなしというワケにはいかなかったということなのだろう。
ちなみにこのμVisor、ARMv8-Mで搭載されるTrustZoneには直接的には無関係だそうだ。μVisorは既存のARMv6-M/ARMv7-MベースのMCUで動作するように設計されており、一方のTrustZoneはまだ実際にはシリコンが存在しない状態だから、対応のしようがない。
これに関してARMのNandan Nayampally氏(VP, Marketing, CPU Group)は「将来的には(ARMv8-Mの)TrustZoneとμVisorがうまく連携できるような形でリリースする『かもしれない』」そうだが、この際のニュアンスはハイパーバイザーがTrustZoneに対応というよりもむしろ、TrustZoneがμVisorに対応するという感じであった。いずれにせよこのあたりはまだ細かくは決まっていないそうだ。
そのSecurity μVisorの説明がこちら(Photo03)だが、要するにセキュアな部分を完全に分離し、アプリケーションレイヤーから見えなくする形で実装される。TrustZoneと異なるのはこれがハードウェアではなくソフトウェアベースで行われる事なので、TrustZoneがμVisorにあわせるというのは、このμVisorのAPIに近い形の機能をTrustZoneで提供するということかもしれない。
(3)のmbed Clientはこちらで以前説明した通りなので繰り返さない。その他の部分では、Lifecycle Securityなるものが追加されているが、これは「ある製品を購入、運用後にいずれは廃棄するが、こうした折々の際にさまざまな情報漏出が発生する事を防ぐ」ための仕組みである。ちなみに水色はARMが、紫色の部分はパートナーが提供する部分で、実線が現在(もしくは近い将来にリリースされると思いたい、v3.0 Release版で)実装されているもの、破線はまだ未実装の部分だ。タスクスケジューリングが今はイベントベースのものだけなのが、今後はエナジーベースやタスクベースのものも予定されている、というのはなかなか興味深い。
Copyright © ITmedia, Inc. All Rights Reserved.