SoCチップを撃から守る新セキュリティ\術をImaginationがo開
Imagination Technologiesは、SoCなど複雑なシステムLSIをハッカーなどの撃から守ることのできるセキュリティの新しいアーキテクチャOmniShieldをo開した。これは、SoCなどCPUコアやGPU、DSP、コーデックなどのさまざまな異なるプロセッサコアを集積した半導に適できるセキュリティ\術である。
セキュリティは牢にすればするほど使いにくくなる。がんじがらめに牢にすればT局使わなくなる。かといって緩くすればハッカーなどに撃されやすい。そこで、壁(Wall)を作って、セキュリティの咾隹阿抜砲隹阿鮹Tすることがセキュアなシステムの基本となる。それらの隹梓屬諒匹蕨sされないように形成する。ARMのTrustZoneというセキュリティシステムは隹阿鯑鵑沈澆韻燭發里世、これだけではBりないと考えるユーザーもいる。また、ARMのCPUだけではCPUのセキュリティしか守っていない。
今v、Imaginationが提案するOmniShieldは、SoC内陲砲いつかの隹阿鮑遒蝓△修涼罎粘莨罎淵札ュリティの隹阿抜砲隹阿鮴澆院△靴もCPUに加え、GPUやDSP、コーデックなど様々なプロセッサを集積したv路に適できる。CPUだけセキュアにするわけではなく、GPUなどのプロセッサもセキュアにする点が新しい。
図1 SoCをQ覦茲吠け、それらを壁で区切りセキュアに保つ 出Z:Imagination Technologies
この新しい\術が可Δ砲覆辰燭里蓮▲泪襯船好譽奪/マルチコア\術と、仮[化\術、それらを管理するハイパーバイザ\術のおかげである。仮[化\術とは、1のコンピュータシステムなのに、まるで複数のコンピュータが動作しているように見せかける\術のこと。OS、CPUともまるで別々のモノが動いているように見える。例えば、LinuxとリアルタイムOS(RTOS)、それぞれにCPUがくといったシステムを構築できる。この念をSoCにeってくると、Linux OSとSoC1、RTOSとSoC2、Android OSとSoC3といったシステムLSIが可Δ砲覆襦マルチコアやシングルコアのマルチスレッド(参考@料1)などの\術をQCPUコアに割り当てるlだが、それらを振り分け・調Dする役割をeつv路がハイパーバイザである。
今v、Imaginationが開発したOmniShield\術の要は図1のように、Q々のSoCをコンテナ隹阿妨立て、それぞれはヘテロなコンテナとなる。図1の例では、SoCをOSからアプリケーションまでをkつのコンテナとみなし、いろいろなに応じて、それぞれ官するコンテナである。セキュアなコンテナとセキュアではないコンテナを設け、それぞれ仮[化\術で別々のSoCとして動作させている。例えば、あるコンテナがfacebookやTwitterなどそれほどセキュリティを要としないアプリまで含めた演Qを中心とするSoC1、別のコンテナには個人的なヘルスケアのデータのようにセキュリティを確保したい演QのSoC2、というようにそれぞれ仮[化されたSoCを設け、別々のSoCのように動作させる。これらのコンテナはそれぞれ仮[化\術で作られたバーチャルマシンで動いているともいえる。
コンテナをそれぞれ仮[化\術によって分`することができるため、本当にセキュアにして守りたいコンテナを壁(ウォール)で切り`すことができる。これらのコンテナをU(ku┛)御・管理するのが、信頼性の高いハイパーバイザで、これが仮[化するSoCを振り分ける。CPUは、マルチコアであり、kつのコアで最j(lu┛)4つの異なるスレッドを処理するマルチスレッド(sh┫)式のプロセッサでもある。このため、コンテナをスケーラブルに拡張できる。ソフトウエア的に最j(lu┛)255のコンテナを設けることができるが、現実にはハードウエアでその数はまる。
このセキュリティシステムOmniShieldをハードウエア的に見ると、ハードウエアで仮[化したCPUとGPU、セキュアなファブリック、信頼性の高いハイパーバイザ、仮[化したコネクティビティとオフロード、そしてカギを曚覺井なセキュリティU(ku┛)御v路であるRoT (Root of Trust)、からなっている(図2)。
このセキュリティv路のキモであるRoT(図3)は、入されたイメージを実行するiにセキュアかどうかを認証するためのk|の小さなCPUといえるv路だという。システムをセキュアにするための仕Xけであり、信頼性のあるコードしか走らない。
図3 RoTは認証するための小さなCPU 出Z:Imagination Technologies
このRoTのキモは、TLB(Translation Lookaside Buffer)のアドレスを二_化したことだ(図4)、と同社セグメントマーケティング靆VPのVolker Politzは言う。TLBは仮[化する場合に、駘アドレスとb理アドレスとを官させた情報をk時的にためておくバッファメモリである。仮[化させたb理アドレスは、CPUだけをアドレッシングするものではなく、小さなSoC(コンテナ)をアドレッシングする。TLBを、セキュリティのしっかりしたルートTLBと、システムにアドレッシングしてくるゲストTLBに分ける。ゲストTLBからのアドレッシングに瓦靴董RoTv路がそのアドレッシングがj(lu┛)丈夫かどうかを認証し(authenticate)、OKであれば、カギを開けるというモノ。ハイパーバイザはTLBも割り当てている。
図4 TLBを二_化、信頼性の高いTLBアドレッシングを常にeつ 出Z:Imagination Technologies
ImaginationはすでにMIPSのWarrior CPUコアファミリーや(参考@料2)、PowerVRシリーズ7 GPUのてに瓦靴OmniShield官済みで、MIPSのMクラスM5150という最小のIoT向けMCUもハードウエアの仮[化を済ませている。さらに、これからも使われるIPコアのOmniShield官を進めていく。
参考@料
1. マルチコアよりマルチスレッドで性Δ屬欧覆らシリコンC積を削(f┫) (2007/11/08)
2. Imagination、マルチスレッド\術をEり込んだMIPS I6400をリリース (2014/09/12)