クアルコムの主力製品であるSnapdragon 845システムオンチップには、他の新機能とともに、機密の個人情報を扱うための独立したセキュリティコアが搭載される。
カリフォルニアのチップ設計会社は、水曜日にハワイで行われた技術サミットで、近々発売される845コンポーネントを披露し、このシリコンが2018年のハイエンドAndroidスマートフォン、そしておそらく将来のWindows 10 PCに搭載されると約束した。これは、同社の兄貴分であるSnapdragon 835の後継となるものだ。
以下は、訴訟の標的となりやすい Broadcom 社に追われている Qualcomm 社のスタッフから収集できた情報の概要です。
CPU
845は、韓国の製造大手サムスンが自社の10LPP(Low Power Plus)プロセス技術を用いて製造する、64ビットArmv8互換の10nm FinFETシステムオンチップ(SoC)です。パッケージサイズは10nm FinFET 835とほぼ同じで、30億個以上のトランジスタゲートを搭載しています。
Qualcomm は、845 では 10nm に固執するのではなく、7nm に移行するというアイデアを検討したが、チップ工場 (TSMC、Global Foundries など) が、何百万台ものスマートフォンの注文を満たすのに十分な生産量を増強できないと感じた。
Snapdragon 845は、カスタマイズされたArm Cortex-A75とCortex-A55のCPUコアをそれぞれ4つ搭載しています。調整されたA75は、デバイスの強力な汎用頭脳であり、最大2.8GHzのクロックで動作し、実行中のコードがバッテリー駆動時間を犠牲にしてパフォーマンスの急激な向上を必要とする際に起動します。
改良型A55は、消費電力が少なくパフォーマンスが低いため、効率コアと呼ばれています。ほとんどの時間、アプリケーションとOSのコードを実行し、パワーコアはスリープ状態になります。A55のクロック周波数は最大1.8GHzです。
パフォーマンスコアと効率コアはそれぞれ、64KBのL1命令キャッシュと64KBのL1データキャッシュをプライベートに搭載しています。パフォーマンスコアはそれぞれ256KBのプライベート統合L2キャッシュを、効率コアは128KBを搭載しています。これらはすべて2MBのL3キャッシュを共有し、ArmのDynamIQテクノロジーによって連携します。8つのコンピュートコアはKryo 385としてブランド化されています。
キャッシュを手に
Snapdragon Arm CPUを搭載したWindows 10搭載のラップトップPC:ちょっと覗いてみました
続きを読む
キャッシュについて言えば、興味深いことに、845はメインメモリとシステム全体にわたる3MBのキャッシュを備えています。GPU、CPU、ベクトル演算ユニットなどの内部コンポーネントがRAMにアクセスする際は、まずこのシステム全体のキャッシュを経由します。読み書きするデータがキャッシュ内にある場合は、その場でアクセスされるため、メインRAMにアクセスするよりも高速です。
これは、機械学習タスク中に大量の変数を操作するベクトル演算ユニットなどにとって朗報です。これらのユニットは、メモリに何度もアクセスしてゆっくりと処理する必要なく、高速キャッシュ内で処理できるからです。これは本質的に、CPUコアなど、通常は独自のキャッシュを持たない処理ユニットのための、共有最終レベルキャッシュです。
キャッシュの増加、A75 が同時に 4 つの命令をフェッチしてデコードできること (以前の世代よりも 1 つ多い)、およびその他のさまざまな改良により、845 のパフォーマンスは 835 より向上しています。クアルコムは、新しいチップは特定のタスクで前世代のチップよりも最大 30 パーセント高速であると主張しています。
改良されたA75は、どうやらArm以外のコードをエミュレーションで実行できるように最適化されているようです。Snapdragonファミリーが、Intel/AMD x86プロセッサ向けにエミュレーションを使用して構築されたアプリケーションを実行するArmベースのWindows 10ラップトップ/タブレットコンピューターに搭載される予定であることを考えると、これは非常に便利です。Qualcommはまた、845に内部バスのQoS(Quality of Service)メカニズムをいくつか組み込み、後ほど説明する新しいハードウェア機能に対応するためにページテーブルシステムにいくつかの変更を加えました。
8月に報じたように、QualcommはArm互換のCentriqサーバープロセッサに集中するため、Snapdragon CPU設計チームから多くのエンジニアを異動させました。その結果、Snapdragon 845に搭載されているようなArmの標準Cortexコアのセミカスタム版を開発するための最小限の人員が残されました。Qualcommは、将来的に必要であれば、Arm互換の完全オリジナルKryoコアを開発するチームを立ち上げることも可能だと主張しています。
Kryoチームからエンジニアが異動し、チップセットの他の重要な領域、例えばベクトル演算やグラフィック処理ユニット(GPU)に注力することになったとしても、驚くには当たらない。基本的にCPUコアはコモディティ化されている。ArmはQualcommの要件を満たすCortex-Aコアを製造し、その設計図はカスタマイズされてシステムオンチップ(SoC)パッケージに統合される。これにより、エンジニアはDSPや画像補正機能といった他のプロジェクトに集中できるようになり、こうした要素こそが、QualcommのシリコンをArmコアのライセンスを受けている競合他社と差別化する要因となっている。
隠されたセキュリティエンジン
潜在的な差別化要因の 1 つは、845 に新しく追加されたセキュア プロセッシング ユニット (SPU) です。これは、改良された Arm SC300 です。
独自のCPUコア、組み込みプライベートRAM、ハードウェア乱数ジェネレータ、高速暗号化機能を備え、これらはすべてシステムオンチップ(SoC)ダイ内の専用電源アイランドに搭載されています。QualcommやSoCを搭載したデバイスの製造元から提供されたコードを実行します。
これは、OSやCPUコアのTrustZone領域にさえアクセスできない、安全かつプライベートな方法で、指紋や顔画像などの所有者認証情報を処理できるように設計されています。システムの低レベルにまで侵入したハッカーやマルウェアが、指紋や顔の輪郭といった機密性の高い生体認証データをデバイスから盗み出すのを防ぐことが期待されています。また、アプリやユーザーが必要とする暗号鍵も保護します。
これは、機密データへのあらゆるアクセスを遮断し、指紋などの情報をプライベートに安全に処理することで実現されます。これにより、メインCPU上で実行されるあらゆるコード(OSカーネルやマルウェアを含む)が、情報を検査したり改ざんしたりすることができなくなります。これは、従来のメモリとコードを保護するTrustZone領域とは完全に分離されています。Qualcommは、国家支援のハッカーやコンピュータセキュリティ専門家によってTrustZoneが破られたことを認めています。
TrustZoneはCPUコア内の特別なモードです。通常、カーネルまたは低レベルドライバがパラメータを設定し、TrustZoneへの切り替えをトリガーします。その時点で別のファームウェアコードが起動し、メモリ内のそのファームウェアコードのみがアクセスできるデータに手を加え、その結果に基づいてカーネルモードに戻ります。カーネル、ドライバ、そしてその上で動作するアプリケーションは、TrustZoneコードがアクセスできる暗号鍵や指紋といったプライベートなデータにアクセスできないようにする必要があります。
SPUは物理的に独立したCPUコアで、物理的にプライベートなメモリ、独自の暗号エンジン、そして他のソフトウェアによる改ざんやリプレイ攻撃を防ぐメカニズムを備えています。一見すると、悪意のある人物がワークステーションやサーバー全体を乗っ取るために悪用される可能性のある、Intelの不運なマネジメントエンジンに少し似ているように思われます。
しかし、マネジメントエンジンとは異なり、SPUはシステムオンチップ(SoC)を制御するわけではありません。SPUは、GPUやベクトル演算処理用のDSPといった様々な内部ユニットと、メールボックスのようなインターフェースを介して通信し、データやリクエストを送信し、結果を収集すると言われています。
メインCPU上で動作するソフトウェアは、SPUでこれらのユニットが処理している内容を盗聴できないようにする必要があります。これにより、指紋認証や顔認証アルゴリズムなどのタスクが、専用の演算回路によって秘密裏に実行されることになります。したがって、SPUをリモートから侵害したり、悪意のあるアプリやカーネルレベルのドライバーによってローカルで盗聴したりすることは不可能です。
いつものことながら、バグはつきものです。SPUやそのファームウェアに欠陥があれば、Qualcommのセキュリティに亀裂が生じる可能性があります。かつてTrustZoneはハッキング不可能と言われていましたが、境界チェックを行わないQualcomm開発のコードの実行が許可されました。
845のSPUは、指紋や顔認証だけでなく、虹彩や音声も処理してユーザーを認証し、デバイスやサービスへのログインを可能にすることが期待されています。また、SPUは他の認証・認可方式も実装し、スマートフォンをICチップ付き銀行カード、公共交通機関の決済カード、SIMカードなどの代替として活用できるようになると期待されています。
まあ、それが持ちこたえてくれることを期待しましょう。クアルコムの幹部はSPUの設計についてかなり慎重な姿勢を見せています。そのメカニズムを取り巻く謎が深まるほど、ハッカーが悪用できる情報が少なくなるというのが彼らの考えです。つまり、隠蔽によるセキュリティです。「難読化もその一部です。これについては、できるだけ語らない方が良いのです」と、ある上級スタッフはセキュリティユニットの内部構造について問われた際に述べました。