ニュース

Arm、新セキュリティ機能「Arm CCA」詳細公表 ハードウェアにより自動運転システムなどへの侵入防止

2021年6月23日 発表

Armが発表したArm CCAの概要

 ソフトバンクグループ傘下で、NVIDIAへの売却計画が発表されているArmは6月23日6時(米国時間、日本時間:6月23日22時)、同社が導入を計画してきた新しいセキュリティ機能となるArm CCA(アームシーシーエー、Confidential Compute Architecture)を正式に発表した。

 Arm CCAは、従来Armが提供してきたセキュリティ機能となるTrustZoneに加えて提供され、ソフトウエア開発者が提供するアプリケーションソフトウエアをセキュアな環境で実行することが可能になる。それにより、アプリケーション実行時に重要なデータ(例えば個人情報など)を、マルウェアのような悪意を持ったソフトウエアの攻撃からシステムを守ることができるようになる。

 Armは、自動運転車向けにコンテンツ配信を行なう配信事業者のアプリがこのArm CCAに対応すると、プレミアムコンテンツ(著作権で保護されているコンテンツのこと、例えばハリウッドの映画など)の配信をセキュアに行なうことが可能になり、自動運転のソフトウエアを悪意のある侵入者に乗っ取られてしまうなどの脅威を防ぐことができるようになると説明している。

CPUのハードウェアを利用することでメモリアドレス空間を隔離して高いセキュリティ性を実現するArm CCA

Arm CPUのセキュリティ機能進化の歴史

 Armは、これまでのArm CPUのセキュリティ機能の強化として、「TrustZone」(トラストゾーン)、仮想化技術(Virtualization)などを順次導入してきたが、今回導入されたArm CCAはその延長線上にあるさらに進化したセキュリティ技術となる。

 2003年とかなり初期に導入されたセキュリティ技術であるTrustZoneは、CPUが利用するメモリアドレス空間の中に、CPUのハードウェアを利用して保護されたアドレス空間を作成し、CPUが実行しているほかのソフトウエアからTrustZoneの内部で保護されているソフトウエアやデータにアクセスできないようにする仕組みだ。

TrustZoneでの仕組み

 TrustZoneにより保護されたメモリアドレス空間では、独自のメモリ管理の仕組み、OSなどが走っており、TrustZone上で実行しているソフトウエアのデータは、同じシステム上で実行しているほかのソフトウエアからアクセスしたり、コピーしたりということはできないため、高いセキュリティを確保することができている。しかし、TrustZoneの中で走らせるソフトウエアは、ある程度固定された機能として動いており、後から動的にソフトウエアを追加する使い方はあまり考慮されていない仕組みになっている。

Arm CCAの仕組み

 それに対して、今回の導入されたArm CCAはその制約を取り払う仕組みが導入されている。Arm CCAでは新しく「Realm」(レルム)と呼ばれる概念が導入される。Realmとは英語で君主制国家のことで、Arm CCAの仕組みで保護されているメモリアドレス空間を、ほかの保護されていない空間と区別するためにつけられた用語だ。Realmは、Arm CPUという“君主”によって守られている保護された領域、そういう意味でつけられた名前だと考えれば分かりやすいだろう。

 このRealmは、Arm CPU上で動作するHypervisorの上で動作するVM(仮想マシン)になっている。通常Hypervisor上では複数のVM(Virtual Machine)が走っていて、Hypervisorを経由して同じメモリアドレス空間を共有しており、あるVMがほかのVMが利用しているメモリアドレス空間にアクセスするというのは、理論上は不可能ではない。このため、そうしたことを利用して、ユーザーのデータを盗み取ろうとしたり、システムを乗っ取って悪用するマルウェアなどにとってはその隙を狙っているというのが現状だ。

Arm CCAに対応したCPUではRMM(The Realm Management Monitor (RMM))などの追加のハードウェア的な仕組みが導入されている

 そこで、Arm CCAではRealmのVMを、HypervisorやTrustZoneからは独立したメモリアドレス空間に分離し、ほかのVMからRealmのメモリアドレス空間に物理的にアクセスできないように、CPUのハードウェアを利用して制御する。ハードウェアの機能を利用して制御するので、理論上Realmのデータにほかのソフトウエアがアクセスすることは不可能になる。これにより、ソフトウエア開発者がRealmに対応したソフトウエアを作成して提供すると、高いセキュリティ性を確保した状態が実現され、プログラムを追加できるというプログラム性と、ハードウェアを利用して突破するのが難しいという高いセキュリティ性という相反する命題を両立することが可能になる。

ソフトウエア開発に必要な資料などが公開される

 Armは3月に新しい命令セットであるArmv9(アームヴィナイン)を発表したが、その中でArm CCAはArmv9の新機能の1つとして紹介しており、その具体的な内容は公開されていなかったのだが、今回それが明らかになった形となる。

 Armによれば、Arm CCAは今後Armが提供する計画のArmv9のマイナーバージョンアップとなる「Armv9.2」で拡張命令セット(RME:Realm Management Extention)として追加される。Armの顧客となる半導体メーカーがCCAに対応するハードウェアを自社のCPU製品などに追加し、さらにArmv9.2の拡張命令セットに対応することでソフトウエアベンダはArm CCAを利用してセキュアなソフトウエアを開発することが可能になる。

Arm、「Armv9」を発表 理研の「富岳」にも採用されたSVEの第2世代を含む新世代CPU命令セット

https://car.watch.impress.co.jp/docs/news/1315489.html

自動車向けでは自動運転のシステム保護やプレミアムコンテンツの配信サービスなどでの活用に期待

Arm CCAの想定されるアプリケーション

 このArm CCAの具体的な用途としては、自動車のIVIや自動運転システムなどが考慮されているとArmでは説明している。すでに述べたとおりArm CCAでは自動車メーカーが自分で作成するアプリケーションだけでなく、自動車メーカー以外のサードパーティソフトウエアベンダのソフトウエアを搭載した場合も、データを保護した状態で実装することが可能になる。

 例えば、プレミアムコンテンツを提供する配信事業者の配信ソフトウエアがこのArm CCAに対応することで、コンテンツを確実に保護して違法コピーなどから守り、コンテンツ権利者の権利を守りながらセキュアにサービスを提供することが可能になる。

 あるいは、IVIと自動運転のソフトウエアを同じArm CPUを利用して実現しようとしている場合、自動運転のソフトウエアをこのArm CCAで保護することで、仮にIVIが悪意を持った侵入者に乗っ取られたとしても、自動運転のシステムに侵入されることを防ぐことができる。そうしたさまざまな自動車上のアプリケーションや、スマートフォン、タブレットやPCなどの一般的なIT機器、さらにはIoT(Internet of Things)やパブリッククラウドで他のユーザーからのデータの保護などさまざまな用途に利用することができるとArmでは説明している。

今後ソフトウエア開発者などにArm CCA対応を促していく

 Armによれば、Arm CCAは本日より開発に必要な資料などが順次公開され、ソフトウエア開発者はArm CCAを利用したソフトウエア開発を開始することができるようになるという。

 今後、Armの顧客となる半導体メーカーがArm CCAに対応したCPUなどを搭載したSoCが登場する予定だが、通常それまでには2~3年という時間がかかる可能性がある。そこで、それに先だってArm CCAの資料などを公開することで、ソフトウエア開発者に対してArm CCAに対応したソフトウエアの開発を促していきたい意向だ。