見出し画像

インテル® EMAでクライアントPCの管理を行う(Admin Control Mode編2)

 前回、市販の証明書を利用してクライアントPCのAMTをAdmin Control Modeにプロビジョニングする手順を紹介しました。ただ、必ずしも証明書が購入出来るとは限りません。購入にあたっては証明書ベンダーからのドメイン名の実在性認証などが必要になりますが、実際に使用中のドメインサフィックスが.localなど企業のドメイン名とは関係無い名称を使ってしまっていたり、そう多くない台数のために年間数万円の証明書を購入するのは費用対効果的には疑問があるという場合もあるはずです。
 そこで今回は、より手間は掛かるものの、そこを「自分で何とかする」方法について前回との差分の形で紹介します。Admin Control Modeにプロビジョニングするためには、CSMEのファームウェアに登録されている証明書のハッシュ値を持つプロビジョニング用証明書(以後vPro証明書)を用意し、この証明書をプロビジョニングの際にEMAサーバーから送付させる事が必要です。「自分で何とかする」にはこの要件さえ満たせば良いわけで、
・vPro証明書を自分で作成し、EMAサーバーに登録する
・作成したvPro証明書に連なるルート証明書のハッシュ値(拇印)をCSMEのファームウェアに登録する

を行う事で要件を満たす事はできます。

 なお、あくまでも市販の証明書を利用するのが一番手間が掛からず確実です。購入可能なのであれば導入時や将来の追加導入、PCの入れ替え時の作業工数的にも証明書を購入した方がずっと楽です。

手順について

 では実際の手順について触れて行きたいと思います。作業内容は以下のような感じです。
1.証明機関(CA)の構築
2.CSRの作成&証明書の発行
3.証明書をEMAサーバーに登録できるようにする
4.ルート証明書のハッシュ値を計算し、CSMEに登録する

認証機関(CA)の構築

 ドメイン環境に証明機関を追加します。既に構築されている場合はそちらを使って下さい。ただし、AMT 15.0(第11世代のCoreプロセッサーのプラットフォーム)以降ではセキュリティ強化の一環として、使用する証明書の署名アルゴリズムおよびハッシュ・アルゴリズムにSHA-1が使用できなくなっています。キー長は2048bit以上じゃないと使用できません。ルート証明書にもその要件が求められていて、既存のルート証明書が要件を満たせない(SHA-1が使用されていたりキー長が2048bit未満になっている)場合は、ルート証明書を作成し直すか追加で別の証明機関を立ててルート証明書を作成するかを行う必要があります。
ここでは第11回の構築編で用意した「箱庭環境」にサーバーを1台追加し、Enterprise CAを構築しています。

サーバー3を追加

CSRの作成&証明書の発行

 早速vPro証明書を作成します。vPro証明書には
拡張キー使用法のOIDにSSL証明書にあるサーバー認証に加えてAMT固有のOID (2.16.840.1.113741.1.2.3) が追加されている。
 または
サブジェクトのOUの値が Intel(R) Client Setup Certificate と指定されている。
という要件がありますが、前者を行うには証明書テンプレートの作成や登録などの作業が必要になるため、今回はOS標準で用意されているWebサーバー証明書のテンプレートを使用できる後者で作成します。

テキストエディターでCSR(証明書署名要求)作成のためのinfファイルを以下のように作成します。Subjectの項目のOU以外の部分は自分の環境に合わせて下さい。

infファイル

infファイルを作成したらコマンドラインでcertreq.exeを使用して以下のコマンドを順番に実行します。
1. certreq -new  [infファイル] [reqファイル(要求ファイル)]
生成されたreqファイルはテキスト形式でこのようになっています。

生成されたreqファイル

2. certreq -submit [reqファイル] [cerファイル(証明書)]
コマンドを実行すると証明機関を選択するダイアログが表示されるので選択して[OK]を押します。証明機関から証明書が発行されます。

証明機関の選択画面

3. certreq -accept [cerファイル]
発行された証明書を一度インポートします。

コマンド実行の例

証明書をEMAサーバーに登録できるようにする

 インポートした証明書を秘密鍵ごとpfxファイルとしてエクスポートします。コンピューター証明書の管理画面(certlm.msc)を起動し、個人ストアの証明書一覧にインポートした証明書があるはずです。証明書を選択し、右クリックで[全てのタスク]→[エクスポート]と進み実行します。

エクスポート画面
「はい、秘密キーをエクスポートします」を選択します

次の画面ではPKCS#12(.PFX)としてエクスポートする方しか選択出来ないようになっていますのでそのまま進みます。

PKCS#12形式でエクスポート

秘密鍵を保護するためのパスワードを設定します。このパスワードはEMAサーバーに証明書を登録する際に使用します。

パスワードの設定

最後にファイル名とパスを指定して証明書を保存します。

ファイル名を指定

EMAのコンソールを開いて前回と同じように証明書を登録します。エクスポート時に設定したパスワードをここで使用します。

証明書ファイルの指定とパスワードの入力

登録するとこのようにvPro証明書とルート証明書の両方が表示されます。中間CA証明書が存在する場合はそれも表示されます。

アップロードされた証明書一覧

あとは前回と同じようにEndpoint Group設定のIntel® AMT autosetupの所でこの証明書を使用したTLS-PKIを設定すればEMAサーバー側の設定は完了です。

Intel® AMT autosetupの設定画面

ルート証明書のハッシュ値を計算し、CSMEに登録する

クライアントPC側ではルート証明書のハッシュ値をCSMEに登録します。前回の「無線LAN経由のプロビジョニングの場合」の部分で使用したUSBFile.exeを今回も使用して、ルート証明書のハッシュ値を含んだsetup.binを作成し、各クライアントPCに読み込ませます。ただ、CSMEのファームウェアにはSHA-2で計算したハッシュ値を組み込むのですが、USBFile.exeは機能が古いままなのでSHA-1でしか計算できません。SHA-2で計算するにはOpenSSLのライブラリを利用する必要があります。下記のサイト等でWindows向けのOpenSSLモジュール(32bit版の方です)を取得してインストールします。

インストールしたモジュールの中からlibcrypto-3.dllをUSBFile.exeと同じフォルダーにコピーし、libcrypto.dllとリネームします。

OpenSSLがインストールされたフォルダー

次にルート証明書を用意します。EMAのコンソールの証明書の所にあるルート証明書をダウンロードします。

EMAの証明書一覧の画面

コマンドプロンプトで以下を実行します。ついでに前回のドメインサフィックスの指定も併せて行います。太字の部分が前回との差分です。
USBFile.exe -create setup.bin [MEBxの初期パスワード(admin)] [MEBxに設定するパスワード] -v 4 -scramble -amt -hash [ルート証明書ファイル] [フレンドリ名] sha256 -dns [ドメインサフィックス]
例:USBFile.exe -create setup.bin admin P@ssw0rd -v 4 -scramble -amt -hash vpro-amt-CA-CA.cer vpro-amt-CA-CA sha256 -dns vpro-amt.com
同じフォルダーに setup.bin というファイルが作成されます。
USBFile.exe -view setup.bin で内容の確認ができます。

USBFile.exeの実行画面

前回同様にsetup.binファイルを入れたUSBメモリーを各クライアントPCに挿したまま起動させ読み込ませます。これでルート証明書のハッシュ値がCSMEに登録され、自前の証明書を使ってAdmin Control Modeへプロビジョニングする事ができます。

MEBxの証明書一覧に追加された(フレンドリ名が名称になっている)

さて次回は

しばらくEMAの話題が続いたのでEMAについては今回で一区切りとし、次回からはIntel vPro® Technology Module for Windows* PowerShellについてでも書いてみようと思います。


みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!

【お知らせ】こちらでもvProに関する情報を発信中です!