特集
Ryzen AIとCore Ultra 200Vに内蔵されているセキュリティプロセッサ「Pluton」はそれまでとは一味違う
2025年1月31日 00:00
Microsoftは30日(米国時間)に、最新のRyzen AIおよびCore Ultra 200Vに内包されている共通のセキュリティプロセッサ「Pluton」のアーキテクチャやその詳細について公開した。
Plutonは、TPMに代わるCPU内蔵型のセキュリティプロセッサとしてMicrosoftが2020年に発表。当時はTPMが主流で、外付けであったのだが、CPUとTPMの通信経路に対して攻撃を行ない、データ盗聴や改ざんを狙う手法が使われ始めた。そこでPlutonではCPU内蔵にすることで、セキュリティ性を高めた。
また、それまでのTPMで更新を行なおうとすると、メーカーごとにファームウェアを適用する必要があったのだが、PlutonはMicrosoftがメンテナンスやアップデートを担い、Windows Updateを介した更新を行なうことでこの課題を解消。デバイスの寿命を延長させる。
今回、Ryzen AIやCore Ultra 200VといったCopilot+ PCに対応できるx86 CPUに内蔵されているPlutonの詳細について公開。新しく設計したRustベースのOSコアにアップデートしたことを明らかにした。
ちなみにRyzen 6000/7000/8000やSnapdragon 8cx Gen 3/XにもPlutonが実装されているが、リリース内で「Ryzen AIおよびCore Ultra 200Vが初めてRustベースになった」としているため、異なる実装であった可能性が高い(アップデート対応が謳われているためRustベースになることも否定はできないが)。
Rust言語で書かれたTock OSの採用
Microsoftは、Copilot+ PCで使用されるPlutonセキュリティプロセッサの設計にあたって、大きなアーキテクチャの転換点を迎えた。それがファームウェアにRust言語を採用することだ。Rust言語はコーディングエラーを早い段階で検出し、タイプセーフかつメモリセーフで高い安全性を実現しているのが特徴。
Plutonのアーキテクチャの転換にあたって、ゼロからのカスタムソリューションも検討したが、最終的にはカーネルがすべてRustで書かれているオープンソースの組み込み向けOS「Tock OS」を採用した。
このTock OSによってファームウェアの共通基盤を形成し、各アーキテクチャのハードウェア向けに、ドライバやハードウェアインターフェイスライブラリ(HIL)を使ってサポートを実装。そしてTPMファームウェアといったユーザー向けの機能はカーネル上のユーザーモードアプリとして実装しているという。
なお、MicrosoftはTock OSコミュニティへの還元として、Pluton向けにx86へTock OSを移植することを発表。また、Intel Partner Security Engine(IPSE)ハードウェアでPlutonをサポートするため、Tock OSにx86をサポートする機能を追加した。今後、Tockへのアップストリームレビューとして、正式な取り込みに向けてプルリクエストを提出している。
Plutonが安全である理由
Microsoftによれば、Plutonの設計において重要なポイントは、CPUやほかのハードウェアから分離させることにあったという。つまり、Pluton“自身”にマイクロコントローラコアを搭載し、“自身”のリードオンリメモリ(ROM)から起動し、“自身”の整合性が検証されたファームウェア専用SRAMにロードすることなどだ。
また、専用の乱数生成器(RNG)、ハッシュ(SHA-2)/対象暗号(AES)/非対称暗号(RSAおよびECC)といった暗号アルゴリズムアクセラレータなどもPluton自身に備わっており、こうした暗号鍵生成や使用などがPlutonのハードウェア境界内で行なわれるようになり、メインCPUからのアクセスや干渉を排除して、性能を高めた。
逆に、PlutonからもCPUコア上で実行されているコードを制御したり割り込んだりすることもなく、ほかのデバイスと同様にIOMMUの制約を受ける。Secured-core PCではカーネルDMA保護を有効にすることで、Plutonを含むシステム上のデバイスを分離でき、暗号化に関するデータを保護し、CPUで動作するコードから独立して情報を処理できるとしている。
Plutonのこうした基本機能に加えて、CPUメーカーが独自のセキュリティ機能を実装しさらなるセキュリティの強化を図ることも可能だとしており、たとえばRyzen 6000は率先してPlutonを実装したが、最近FIPS 140-3認証取得したハードウェアの詳細が公開された。また、Core Ultraシリーズ2では、IPSEの中でPluton機能をサポートしている。一方Snapdragon Xは、Qualcomm Secure Processing Unit(SPU)を介して、独立した高い保証レベルのセキュリティエンクレーブで動作するセキュアアプリとしてPlutonを実装するという。
Plutonの機能も拡張へ
一方Plutonのソフトウェア層だが、Windowsのセキュリティ関連機能に対してはドライバを介してサポートする。Plutonの機能は上位ソフトウェア層やアプリケーションからは抽象化されているため、Plutonが存在すれば自動的に利用される。また、OEMはTPM 2.0と共存させることを選択したり、PlutonをTPM 2.0やほかのTPMとして使うこともできる。
さらに今後、Plutonのソフトウェア機能拡張の第1弾として、PlutonをTPMとして構成していない場合でも、キーストレージプロバイダー(KSP)としてPlutonを利用できる機能を追加。これにより、Windowsおよびアプリケーションは従来通りのAPIを使用してPluton暗号化が利用でき、鍵の管理がより行ないやすくなるという。今後のアップデートにより、Copilot+ PCでPluton KSPと関連機能が有効化される。