ここに乱入(?)してきたのがArmである。Armは2017年10月に開催された「Arm TechCon 2017」の折に「PSA(Platform Security Architecture)」を発表している※6)。PSAが提供するものはこちらの記事※7)を、PSAの昨今の実装状況はこちらの記事※8)をご覧いただくのが早いが、2018年5月のDipesh Patel(ディペッシュ・パテル)氏の講演のプレゼンテーションの中に、クラウドプロバイダーとしてAzureの名前があるのはなかなか興味深い。
※6)関連記事:IoTデバイスのセキュリティを強化する基盤を策定
※7)関連記事:Armのベストプラクティスを集積、「PSA」はIoTセキュリティの共通基盤となるか
※8)関連記事:Armが考えるIoTの3つの課題とは、「Mbed」で可能性を広げていく
さて、Azure SphereというかSoprisの要求する機能は、必ずしもPSAとは完全に合致していなかったようだ。もしくは、Azure Sphereの要件とPSAの要件をすり合わせるには時間が足りなかったというべきか。
その代わりとしてArmは、「Arm SDK-700」を2018年4月に発表している※9)。こちらの製品ページ※10)を見ていただくと分かるが、機能として「TrustZone」ベースのセキュリティIPを組み込んだり、複数プロセス間の標準的な通信用APIを提供したりする他、「PSAの原則に基づいて構築されている」(PSAそのものに準拠している、ではない)あたりが面白い。これをベースにMediaTekがAzure Sphere用、として提供したものが「MT3620」※11)である。
※9)関連記事:「Azure Sphere」対応のセキュアなSoC開発を支援するIoTソリューション
※10)関連リンク:Arm SDK-700 System Design Kit
※11)関連リンク:MT3620
さて、このMT3620はかなりのお化けSoCである。まず、Soprisで利用されたMT7687Fのブロック図はこんな感じ(図2)で、まぁWi-Fi統合のハイエンド向け「Cortex-M4F」搭載MCUという感じだ。SRAMが352KBと大きいのは、Wi-Fiを利用する関係でプロトコルスタックを載せる必要があるからだろう。それ以外はまぁ妥当な構成である。
対するMT3620は、アプリケーションプロセッサとして動作周波数500MHzの「Cortex-A7」、I/OサブシステムにCortex-M4F×2(動作周波数は不明)、さらにAzure Sphereのセキュリティ機能をつかさどる「Pluton Security subsystem」にCortex-M4F(こちらも動作周波数不明)が搭載され、それとは別にI/Oと、デュアルフラッシュコントローラー/シリアルフラッシュ、ファイアウオール、メールボックスなどが搭載されている(図3)。厳密に言えばWi-Fiサブシステムには「N9 core」(おそらくは「AndesCore N9」※12)のことだろう)も搭載されるが、こちらは純粋にWi-Fiサブシステムの制御だけなので、アプリケーションからは見えないことになると思われる。
※12)関連リンク:AndesCore N9
2018年4月のMicrosoftの発表ではこんな感じ(図4)で紹介されていたが、SRAMは各コアで独立して持つ(おまけにTCMまでふんだんに装備されているあたり、Cortex-M4Fコアはかなり高速に動作するものと思われる)形で、フラッシュのみ共有になるようだ。容量は8MB×2と説明されており、おそらくはセキュアフララッシュであろう。チップとの接続はQSPIで、これもSiP(System in Package)の形でパッケージ内に搭載されている模様だ。この8MBの内部はパーティション分けされて、それぞれのプロセッサ用のコードとかデータとかが格納される形になると思われる。デュアル構成なのはOTA(Over-the-Air)アップデートへの対応であろう。ちなみにWi-FiはIEEE 802.11a/b/g/nに対応(さすがにacは無理だったようだ)とされる。
Copyright © ITmedia, Inc. All Rights Reserved.