vProの匠

インテル技術者が語る「vPro」の裏側! 「徹底した検証を行うのがvPro搭載のPC」

CPUを起動させる「制御用486」に、「謎?のMEファームウェア」の秘密、そしてvProの目指すものまで………

インテル vProプラットフォームの技術的基盤のひとつであるCSME(Converged Security and Management Engine)

 ビジネスPC向けプラットフォームとしてインテルが推進する「インテル vPro プラットフォーム」は、リモートからの管理やセキュリティ支援、安定性など、さまざまな機能を提供するものだ。

 弊誌ではこれまで、技術解説やQ&A、活用事例など、さまざまな形で「vProのツボ」を紹介してきたが、その技術は、メーカー各社、そしてもちろんインテルによる日々の開発によって培われたものだ。

 そこで今回は、インテル vPro プラットフォームに関わるインテルの技術者お二人と、そのマネージャーの計3名にインタビュー。vProのコンセプトや、実際の技術要素、エンドユーザーにとってのメリットについて話をお伺いした。

 なお、今回は匿名でのインタビューとなったが、技術者お二人の主な業務は「技術面でPCメーカーをサポートすること」。vProはもちろんのこと、その技術的ポイントであるx86 PCの起動プロセスや、基盤技術である「CSME」の挙動など、興味深いポイントもお伺いできた。

 なお、今回は、かつてインテルでvProを担当、現在は独立してvProの匠として本誌連載に登場している牧真一郎氏にもアドバイザーとして参加いただいた。


vProが目指す「仕事のためのPC」「安全、かつ効率的にPCを使える最新技術の集合体」

――今日はよろしくお願いします。まず、チームの役割を教えてください。

インテル技術者:我々は、インテルジャパンに所属して、日本のお客様、つまりPCを開発しているメーカー様を対象に、PCの開発を支援しています。特にvProにまつわる技術を実装する際の技術的な支援をしています。

 vProのベースとなっているのが「CSME」(Converged Security and Management Engine)、少し前まで「ME」と呼んでいた技術です。

 この技術は主にイスラエルにいるエンジニアが開発していて、そこを含む世界中のエンジニアと日々情報をやりとりしながらお客様(PCメーカー)のサポートをしています。PCメーカー様とはそれぞれ週に1回ぐらい電話会議して、私たち2人で国内のすべてのPCメーカー様をカバーしています。

 また、インテルのCPUは、皆さんご存知のように、だいたい1年に1回新しい製品が出ています。今年は第12世代インテル Core プロセッサーと、第13世代Core プロセッサーとなるRaptor Lakeですね。

 これらの最新CPUを積んだ開発用の専用システムがあり、PCメーカー様にさきがけてBIOSやOSの評価を進め、それを元にPCメーカー様をサポートします。

 テクニカルドキュメントとしては、基本的なものとして、1冊500~600ページぐらいのものが4冊ぐらい用意され、これを元にPCメーカー様の開発が始まります。

 膨大な資料ですが、世代ごとに変わる部分、変わらない部分もあるので、PCメーカー様も把握するのが大変だと思います。そして我々もその理解を支援できるよう、しっかりと把握することから仕事が始まります。

 ちなみに、第12世代は今年(2022年)3月に発表されましたが、足かけ1年ぐらいの時間を開発に使っています。

インテル vPro プラットフォームのこれまでの流れ。長い期間をかけ、さまざまな機能が強化されてきた

――vProとは何を目指すものでしょうか?

インテル技術者:インテルではvProについて「安全に、効率的にPCをご利用いただくための最新技術の集合」と言っています。その要素としては、4つの大きな柱で説明しています。

インテル vPro プラットフォームの4つの柱

 まず1つ目は、当然ですがパフォーマンスです。

 ビジネス環境では、日常的な文書やメール、TeamsやZoomを使ったコミュニケーション、独自のアプリケーション、さらには科学技術計算やCADなどのエンジニアリングまで、さまざまな使い方がされます。そこでパフォーマンスが重要になります。また、vProが使えるプロセッサーはCore i5以上ということでも、パフォーマンスを重視していることがわかります。

 2つ目にセキュリティです。

 毎日のように新しいウイルスや脆弱性が現れる中で、ソフトウェアだけでなく、vProはハードウェアでセキュリティを支援します。OSからもBIOSからも独立したハードウェアのセキュリティ機能がCSMEに入っていて、強固なセキュリティを提供できています。おそらく、私たちインテルの者が頑張っても破れないぐらいです(笑)。

 3つ目はメンテナンス機能です。

 いかなることがあっても、リモートからAMT(Active Management Technology)を使ってシステムをメンテナンスできます。たとえばOSが壊れてもリモートで再インストールできますし、BIOSが壊れてもリカバリーできます。ノートPCを置き忘れてしまったときなどに、リモートでデータを消去する機能もあります。このように、ビジネスで安心して使えるシステムになっています。

 4つ目は安定性です。

 当たり前のことですが、ビジネスにおいては「安定的に仕事ができること」が重要ですし、エンドユーザー様もそこを重要視されていると思います。ですから、vPro搭載PCでは普通のPC以上に「安定性」を重視しています。「vProの機能」ではないので、機能一覧には書かれていませんが、vPro搭載PCは、コンシューマー向けPCよりもさらに高いレベルで安定性の検証を行っています。

 実際、ここが私たちがいちばん苦労するところで、さきほど「PCメーカー様と1年間ぐらいかけて開発する」という話をしましたが、その大部分は検証です。設計時の検証はもちろんのこと、PCを製造する工程でもvPro専用の検証フローを用意しています。


「3倍の検証」をしているvPro搭載PC

――「検証が違う」というのは驚きですが、vPro搭載PCとそうでないPCと、何が違うのでしょうか?

インテル技術者:そうですね、たとえば、コンシューマー向けPCと比べるとテストのカバレッジ(網羅性)がぜんぜん違います。PCメーカー様にテストのガイドを出しているのですが、そのページ数でも3倍ぐらいの違いがあります。

 つまり、PCメーカー様はvPro搭載PCでは、3倍多い項目を検証していて、それがシステムの安定性にも寄与しているわけです。

――vProの検証項目は、インテルがすべて用意しているのでしょうか? それ以外もあるのでしょうか?

インテル技術者:たとえばPCメーカー様が追加で入れている機能のテストなど、PCメーカー様が独自で行っているテストもあります。

 場合によっては、アプリケーションや拡張ハードウェアなど出荷後の使い方によって問題が出ることがあります。すると、「こういう組み合わせで問題が出た」という連絡が来て、その問題を我々で再現し、新しいドライバやファームウェアのアップデートなどで対応します。つまり、「出荷して終わり」ではなく、エンドレスな感じですね。

 ちなみに、皆さんのPCでも、ファームウェアアップデートを行う際に「インテル ME ファームウェア」とか「インテル マネージメントエンジン ファームウェア」というものが時々出てくると思うのですが、これが、vProを含めたマネジメントエンジンである「CSME」のファームウェアです。

 「ME ファームウェア」といわれて「なんだこれ?」と思う方も多いと思うのですが、PCの最初期の起動プロセスや電源管理、暗号化など、vPro以外にもさまざまな制御機能をもっていて、専用CPUで動作します。

 ちなみに、普通のBIOSアップデートでは、途中で電源が切れて壊れてもリカバリーが効くこともあるのですが、CSMEのアップデートが途中で切れるとリカバリーできないので、本当にご注意いただければと思います。

――検証などにおいて日本のPCメーカーならではの部分はありますか?

インテル技術者:日本のPCメーカー様は、安全なシステムや完成度などで、世界の中でもこだわりが強いと感じています。そのため、日本のPCメーカー様は検証でたくさん問題を見つけていただけます。だからこそ完成度の高いものができる。「日本がvProの完成度を上げてくれている」と言って過言ではないと思います。

 また、そうした流れで、PCメーカー様から「こういう機能を入れられないか」という話が出ることもあり、イスラエルやアメリカ本社と話して仕様変更することもあります。たとえばWi-FiによるAMTは、日本のPCメーカー様から「有線LANを積んでいないノートPCでAMTを使いたい」という要望を受けて開発されました。


「x86 CPUを起動させる」のは制御用の486(CSME)がやっている!TPMやHDMIのキー管理も

――先ほどのお話をお伺いすると、CSMEが1つのポイントだと思うのですが、これは具体的にどういうものかを教えてください。

インテル技術者:まず、第12世代インテル Core プロセッサーの実物としてCore i5とCore i7の2つを持ってきたので見てください。それぞれに2つのチップが載っていますが、大きいほうがCPU、小さいほうがPCH(Peripheral Controller Hub)です。ちなみにCPUの大きい方がCore i7になります。

 CSMEはこのPCHに入っているエンベデッドプロセッサーで、中身はほぼ486に近いプロセッサーが入っています。CSMEはCPUやその上のOSから独立した独自の環境で動いていて、セキュリティやマネジメントの機能を提供しています。

第12世代インテル Core プロセッサー。写真左下がCore i7で右上がCore i5になる。それぞれに載っている小さいほうのチップがPCHで、この中に「制御用の486 CPU」であるCSMEが入っている

CSMEのドキュメントの抜粋。メモリ管理機能を備えた486ベースのCPUであることなどが書かれている。

 PCを起動すると、CPUより前にまずCSMEが動きます。

 CSMEは、CPUから見えない独立したフラッシュメモリから専用のファームウェアを読み込んでブートします。ここで、クロックやパワー、メモリなどを初期化します。そして、その初期化がうまくいったら、はじめてメインのCPUを動かします。

 メインのCPUが起動したら、まずBIOSを読みにいき、OSのブートプロセスが進行、そしてOSが起動する、という流れになります。

 このように、CSMEは、起動時、非常に重要な役割を担っています。

 ですので、ネットワークなどすべてのI/Oにアクセスできますし、そのためのドライバなどもCSMEのファームウェアの中に持っています。そのため、vProでは、OSやBIOSが壊れてもAMTでリモートアクセスして修復できる、というわけです。

 USBやグラフィックスにもアクセスできるので、設定のためのMEBx(ME BIOS Extension)が動作できるのもそういうわけです。

CSMEのブロックダイアグラム

――vProではないとCSMEが入っていないのではと思いますが、その場合はどうなるのでしょうか?

インテル技術者:実は、vPro以外の、コンシューマー向けや組込み製品でも、CSMEはすべて入っています。ただし、CSMEファームウェアのイメージが違っていて、コンシューマー向けはだいぶ容量が小さく、機能も限定されたものになっています。

 初期化やセキュリティの一部機能は共通ですが、マネジメント機能の部分が大きく違います。コンシューマー向けに比べてvProのCSMEファームウェアのバイナリーサイズは、だいたい2倍くらいの大きさです。

 ちなみに、PCが起動した後も、CSMEの役割は多数あります。

 例えば、パワーコントロールの役割がそうですし、TPMなどのセキュリティキー管理も重要です。また、HDMIの暗号化のキーなどもCSMEが管理しています。

 vPro搭載PCであれば、外部から到着したシステムへのリクエストをCSMEが処理するのか、メインCPUが処理するのかを判定し、必要であればAMTの処理に引き渡すことも行っています。


問題が起きたときは組み合わせを切り分けながら原因を追求

――CSMEファームウェアのイメージは、ハードウェアごとに違うのでしょうか、それとも共通のものでしょうか?

インテル技術者:CPUの世代ごとの違いが主で、それが同じであればほぼ同じイメージを使っています。

――それがPCメーカーのハードウェアと組み合わせると問題が生じることがあるということですが、どういう問題が生じるのでしょうか?

インテル技術者:そうですね、例えば、PCメーカー様が独自のパワーコントロールをするために独自のエンベデッドコントローラーを搭載される場合があります。こうした場合、動作タイミングの繊細な違いで、CSMEの動作と齟齬をきたしてしまい、思ったような動作にならない場合があります。

 こうした場合は、動作内容をお伺いして、個別対応することになるのですが、こうした場合、先ほどのマニュアルを熟読していることが重要になったりします(笑)。

 また、ちょっと前にSPI ROMとエンベデッドコントローラのインターフェースが大きく変わったことがあって、そのときはけっこう大変でした。インターフェイスが変わってしまったので、問題の切り分けがぐっと難しくなりました。特にSPIの問題があると、通信ができないのでまったく動かない。

 そこでわれわれが問題解決のお手伝いをしたのですが、CSMEのデバッグ用ログ取得機能や、PCHのデバッグポートなどから情報を吸い出してデバッグしていった記憶があります。

 ほかにも、Windowsのモダンスタンバイが登場したときには、動作が大きく変わりましたね。

――ファームウェアではなくハードウェアに問題があることもありうるのでしょうか?

インテル技術者:あります。我々はソフトウェア担当なので、ハードウェアが問題なら、そちらの担当が対応します。ほかにも、BIOS担当やネットワーク担当など、いくつかの担当に分かれています。

 ちなみにCSMEは柔軟性が高いので、CSMEが原因ではない問題でも、CSMEを使って解決することもあります。

――なるほど………ほかに「対応が難しい設計上の問題」というのがあったりしますでしょうか?

インテル技術者:そうですね……「AMTで、有線LANからならつながるが、Wi-Fiからではつながらない」ということも時々あります。

 先ほど触れたように、CSME用のWi-Fiと有線LANのドライバがファームウェア内にあるのですが、これに不備があるとそうした問題が発生したりします。実際にはドライバというよりマイクロドライバというようなものですが。

 たとえば通常PCに1つだけのWi-Fiを、OSとCSMEの両方が使います。そのため、OS側のドライバとうまくハンドオーバーして使うとか、あるいはCSMEが受けてOSに上げるとか、いろいろな仕様があります。それをちゃんと実装しているかの問題です。こうしたことも網羅的に検証する必要があります。

――PCメーカーとはどのように協力しているのでしょうか?

インテル技術者:運命共同体というか一蓮托生というか、同じ船に乘っている関係ですね。定例会議も行っていますし、緊急連絡が入るのは日常です。直らないときには、デバッガを持って行ってデバッグするというのも、けっこう頻繁にやっていました。

 開発の段階ごとに見ると、まずは「ブートするところ」まで持っていきます(つまり、最初は「ブートしないこと」があるわけです)。

 それが終わると次の段階として、機器などいろいろなシステムとの組み合わせなどを評価して、システムとして成りたつようにします。

 最終段階は、リリースに向けてSPI ROM(BIOS)イメージフリーズして評価します。そして最終的には量産用システムを完成させます。ここまで足並みをそろえて開発していきます。

――PCメーカー側はどのような体制でしょうか?

インテル技術者:PCメーカー様もインテルと同じく、ハードウェアやBIOSなど、担当に分かれています。CSMEはBIOS担当が扱うことが多いですね。


vPro搭載PCは「製造工程」も検証している、セキュリティのため

――ちなみに牧さんのときと仕事のやりかたや苦労点は変わっていますか? 同じですか?

牧氏:昔と変わらないなと率直に思います。ハマるところは一緒なので。

 たとえば、OSからCSMEへ、CSMEからOSへのトランジションがうまくいかなくて接続ができないというのは、よくトラブっているところです。あとは電源まわりで、ACアダプターを挿して電源を供給してもCSMEが立ち上がらなかったり、やたらと時間が掛かってしまったりという問題がありました。

インテル技術者:電源ソース、つまりACアダプター(AC電源)を使った時とバッテリー(DC電源)を使った時の振る舞いの違いがきっかけになるトラブルは、今もあります(苦笑)。

――ほかに苦労している話などがあれば教えてください。

インテル技術者:量産も大変です。CSMEにはセキュリティをハードウェアで支援する機能があります。そのためには、セキュリティキーを製造時にその場所にきちんと格納しないと、最初から信用できなくなってしまいます。

 書き込むのが工場なので、誰でもできてしまったりキーが流出したりすると大問題です。そのため、われわれのチームで製造ツールまで見ています。

 同じ理由で、量産するときにはファームウェアを改竄されないようにロックをかけます。これをいつロックするかのタイミングも難しい部分です。バグ修正のためにアンロックすることになると手間がかかるので、できるだけロックさせる前でデバッグを終わらせる必要があります。

――ロックは機種ごとに手間がかかるのでしょうか?

インテル技術者:いや、個体ごとに、1台1台ロックします。ただし決めてしまえばフローで作業できます。

 また、CSMEの機能ごとに「いるかいらないか」を選べるので、ファームウェアの内容も変わってきます。そのため、工場のほうでも構成を理解して対応しないといけません。

 vPro搭載PCをラインアップされるPCメーカー様が限られるのは、こうした理由があったりします。


AMTを使わなくても信頼性でvProが選ばれるコンシューマー機は「100回の検証でクリア」でも、vPro機では1000回必要な場合も……

――最後に、仕事でのこだわりを教えてください。

インテル技術者:先ほども話しましたが、日本のPCメーカー様は品質に厳しく、仕様にないものを求めることもあります。そうしたものを海外に持って行きたいと思っています。

 あと、量産のところでは、「生産フローでどうすればコストダウンできるか」にチャレンジしています。

 1つのラインで1機種ぶんのイメージを扱っているのを、3機種ぶん一緒に扱えるようにすると、コストダウンになります。そのために、1個のイメージで機能が違う3機種に対応する。カスタマイズには時間がかかるので、それが短時間になると、PCメーカー様も導入しやすくなりますし、エンドユーザーさんへのサービスも向上することになります。

――「vPro対応したビジネス向けPC」と「コンシューマー向けPC」はどんな違いがあるのでしょうか? 機能としてはAMTがありますが、そのほか検証によって違いが出ることもあるのでしょうか?

インテル技術者:ドライバやOSなどすべての組み合わせを検証しているというのはあります。また、スタンバイに入れてまた戻すのを繰り返すといったサイクルテストで、コンシューマーは100回でいいが、vProは1000回繰り返す、というような検証の徹底ぶりの違いもあります。

 ただしそのぶん開発に時間がかかるので、コンシューマー版が出てからvPro版が出るまで数カ月といったことも多くなります。

――企業でそのようなニーズがあるのでしょうか?

インテル技術者:おかげさまで、vProのシステムは安定していると評価されていいます。そのため、必ずしもAMTを使わなくてもvProを選ぶエンドユーザー様もいます。たとえば金融系などです。

――たとえば同じシリーズのPCでもvPro版とvProではない版がある場合があります。この場合でもvProのほうがよく検証されていて、安定性に自信をもっているわけでしょうか。

インテル技術者:はい。安心してお使いいただけます。違いがないようですが、長期的には違ってきます。

――最後に一言お願いします。

インテル技術者:CSMEは技術的に面白いですね。CSMEがわかればPCの起動シーケンスがわかります。いちばん楽しいテクノロジーだと思っています。辛いところでもありますが(笑)。

 また、このチームはハードウェアからSDK、工場まで、全部を見ているので、楽しんでいます。こういうのはなかなかないかなと思います。

 vProやCSMEは、かれこれ20年以上インテルが開発して育てている技術です。私が個人的にPCを買うときにもvProを気にしています。安心しておすすめできます。

――ありがとうございました。


匠への質問、募集中!

 ……さて、今回はインテルの技術者に「vProの深いところ」をお伺いしたが、やはり、vProは非常に多機能かつ奥深い。これまでの記事や活用事例を見て、「これはどうやるんだろう?」あるいは「できると思うのに、何故かうまくいかない」と思うことも多いと思う。

 当連載は、そうした疑問を随時、匠にお伺いし、みなさまの疑問解消に役立てていきたい。疑問点がもしあれば、是非、以下のフォームから質問を送ってみてほしい。

【追記】今期のvPro導入困りごとアンケートの受け付けは終了しました。

アンケート回答にあたっての注意事項・同意事項

・いただきました質問につきまして、質問者やその企業を特定できないよう編集の上、匠の回答とあわせて誌面掲載させていただく可能性がございます。

・いただきました質問に対する回答は、原則として今後展開する記事内にて行わせていただきます。また、すべての質問への回答を約束するものではございません。

・氏名やメールアドレスのご記入は任意となりますが、ご記入いただければ、追加で伺いたいことなどがある場合、編集部よりご連絡させていただき、より正確な回答ができるよう務めさせていただきます。

・回答いただきました個人情報(名前/メールアドレス)は、追加の質問など編集部からの連絡のみ使用します。そのほかの目的で使用することはなく、対象者以外の個人情報は、企画終了後、速やかに消去します。

個人情報の保護について
http://www.impress.co.jp/privacy_policy/

【匠の部屋】vPro導入困りごとアンケート

相談したいお悩みの種類でもっとも近いものをお選びください。

あなたの社内でのポジションとしてもっとも適したものをお選びください。

対象となるPCの台数規模についてお選びください。

匠に質問したい内容の概要をご記入ください(全角100文字まで)

匠に質問したい具体的な内容をご記入ください(全角500文字まで)

氏名(任意)

かな(任意)

メールアドレス(推奨)

確認のために、もう一度入力してください。

上記の「応募にあたっての注意事項・同意事項」をご確認の上、同意いただける場合にはマークを付けてください
同意する