Semiconductor Portal

» セミコンポータルによる分析 » 技術分析 » 技術分析(デバイス設計& FPD)

SoCチップを攻撃から守る新セキュリティ技術をImaginationが公開

Imagination Technologiesは、SoCなど複雑なシステムLSIをハッカーなどの攻撃から守ることのできるセキュリティの新しいアーキテクチャOmniShieldを公開した。これは、SoCなどCPUコアやGPU、DSP、コーデックなどのさまざまな異なるプロセッサコアを集積した半導体に適用できるセキュリティ技術である。

セキュリティは堅牢にすればするほど使いにくくなる。がんじがらめに堅牢にすれば結局使わなくなる。かといって緩くすればハッカーなどに攻撃されやすい。そこで、壁(Wall)を作って、セキュリティの強い部屋と緩い部屋を用意することがセキュアなシステムの基本となる。それらの部屋間の壁は壊されないように形成する。ARMのTrustZoneというセキュリティシステムは部屋を二つ設けたものだが、これだけでは足りないと考えるユーザーもいる。また、ARMのCPUだけではCPUのセキュリティしか守っていない。

今回、Imaginationが提案するOmniShieldは、SoC内部にいくつかの部屋を作り、その中で頑丈なセキュリティの部屋と緩い部屋を設け、しかもCPUに加え、GPUやDSP、コーデックなど様々なプロセッサを集積した回路に適用できる。CPUだけセキュアにするわけではなく、GPUなどのプロセッサもセキュアにする点が新しい。


図1 SoCを各領域に分け、それらを壁で区切りセキュアに保つ 出典:Imagination Technologies

図1 SoCを各領域に分け、それらを壁で区切りセキュアに保つ 出典:Imagination Technologies


この新しい技術が可能になったのは、マルチスレッド/マルチコア技術と、仮想化技術、それらを管理するハイパーバイザ技術のおかげである。仮想化技術とは、1台のコンピュータシステムなのに、まるで複数台のコンピュータが動作しているように見せかける技術のこと。OS、CPUともまるで別々のモノが動いているように見える。例えば、LinuxとリアルタイムOS(RTOS)、それぞれにCPUが付くといったシステムを構築できる。この概念をSoCに持ってくると、Linux OSとSoC1、RTOSとSoC2、Android OSとSoC3といったシステムLSIが可能になる。マルチコアやシングルコアのマルチスレッド(参考資料1)などの技術を各CPUコアに割り当てる訳だが、それらを振り分け・調整する役割を持つ回路がハイパーバイザである。

今回、Imaginationが開発したOmniShield技術の概要は図1のように、各々のSoCをコンテナ部屋に見立て、それぞれはヘテロなコンテナとなる。図1の例では、SoC全体をOSからアプリケーションまでを一つのコンテナとみなし、いろいろな用途に応じて、それぞれ対応するコンテナである。セキュアなコンテナとセキュアではないコンテナを設け、それぞれ仮想化技術で別々のSoCとして動作させている。例えば、あるコンテナがfacebookやTwitterなどそれほどセキュリティを必要としないアプリまで含めた演算を中心とするSoC1、別のコンテナには個人的なヘルスケアのデータのようにセキュリティを確保したい演算のSoC2、というようにそれぞれ仮想化されたSoCを設け、別々のSoCのように動作させる。これらのコンテナはそれぞれ仮想化技術で作られたバーチャルマシンで動いているともいえる。

コンテナをそれぞれ仮想化技術によって分離することができるため、本当にセキュアにして守りたいコンテナを壁(ウォール)で切り離すことができる。これらのコンテナを制御・管理するのが、信頼性の高いハイパーバイザで、これが仮想化するSoCを振り分ける。CPUは、マルチコアであり、一つのコアで最大4つの異なるスレッドを処理するマルチスレッド方式のプロセッサでもある。このため、コンテナをスケーラブルに拡張できる。ソフトウエア的に最大255のコンテナを設けることができるが、現実にはハードウエアでその数は決まる。


図2 CPUやGPUなどを仮想化し、それらを信頼性の高いハイパーバイザで管理する 出典:Imagination Technologies


このセキュリティシステムOmniShieldをハードウエア的に見ると、ハードウエアで仮想化したCPUとGPU、セキュアなファブリック、信頼性の高いハイパーバイザ、仮想化したコネクティビティとオフロード、そしてカギを握る完全なセキュリティ制御回路であるRoT (Root of Trust)、からなっている(図2)。

このセキュリティ回路のキモであるRoT(図3)は、入力されたイメージを実行する前にセキュアかどうかを認証するための一種の小さなCPUといえる回路だという。システムをセキュアにするための仕掛けであり、信頼性のあるコードしか走らない。


図3 RoTは認証するための小さなCPU 出典:Imagination Technologies

図3 RoTは認証するための小さなCPU 出典:Imagination Technologies


このRoTのキモは、TLB(Translation Lookaside Buffer)のアドレスを二重化したことだ(図4)、と同社セグメントマーケティング部門VPのVolker Politz氏は言う。TLBは仮想化する場合に、物理アドレスと論理アドレスとを対応させた情報を一時的にためておくバッファメモリである。仮想化させた論理アドレスは、CPUだけをアドレッシングするものではなく、小さなSoC全体(コンテナ)をアドレッシングする。TLBを、セキュリティのしっかりしたルートTLBと、システム全体にアドレッシングしてくるゲストTLBに分ける。ゲストTLBからのアドレッシングに対して、RoT回路がそのアドレッシングが大丈夫かどうかを認証し(authenticate)、OKであれば、カギを開けるというモノ。ハイパーバイザはTLBも割り当てている。


図4 TLBを二重化、信頼性の高いTLBアドレッシングを常に持つ 出典:Imagination Technologies

図4 TLBを二重化、信頼性の高いTLBアドレッシングを常に持つ 出典:Imagination Technologies


ImaginationはすでにMIPSのWarrior CPUコアファミリーや(参考資料2)、PowerVRシリーズ7 GPUの全てに対してOmniShield対応済みで、MIPSのMクラスM5150という最小のIoT向けMCUもハードウエアの仮想化を済ませている。さらに、これからも使われるIPコアのOmniShield対応を進めていく。


参考資料
1. マルチコアよりマルチスレッドで性能を上げながらシリコン面積を削減 (2007/11/08)
2. Imagination、マルチスレッド技術を織り込んだMIPS I6400をリリース (2014/09/12)

(2015/09/11)
ご意見・ご感想