「Windows Server 2008 (R2) からでもはじめたい Windows PKI 」
こんにちは。
Critical response team の昼間を担当しています、松木と申します。
今回は緊急対応でもお問い合わせいただきます証明書、Windows PKI について「Windows でやってみよう PKI シリーズ」 というお題目でお話させていただきます。
PKI とは、IT 用語辞典等を検索しますと、以下のような意味で定義されています。
「PKI とは、公開鍵暗号を用いた技術・製品全般を指す言葉。RSAや楕円曲線暗号などの公開鍵暗号技術、SSLを組みこんだWebサーバ/ブラウザ、S/MIME・PGPなどを使った暗号化電子メール、デジタル証明書を発行する認証局 (CA) 構築サーバなどが含まれる。」
Windows OS では、現在 (2010-03-18)、Windows Server 2003 そして Windows Server 2008 が CA 構築する際の OS としてサポートされています。
どちらを選択されるかはお客様の環境によって様々だと思いますが、以下に Windows 2008 PKI からの新機能について書かれた文書(英語です、すみません。)がありますので、ご一読いただければと。
(一番の目玉はOnline Certificate Status Protocol <OCSP> , ネットワーク デバイスの登録サービス <NDES> がサポートされるようになったことでしょうか。)
「PKI Enhancements in Windows」
https://technet.microsoft.com/en-us/magazine/cc137986.aspx
ここから、最新バージョンの OS であります Windows Server 2008 R2 から追加された証明機関(CA) の新機能について少し書かせていただきたいと思います。
1. Cross-Forest enrollment
フォレスト間での証明書の発行が可能となりました。これにより、マルチフォレスト環境のお客様でも CA を統合管理することが出来るようになりました。つまりは、ユーザーアカウントとリソースアカウントでドメインやフォレストを分けて運用されている環境でも、リソースフォレストに Windows CA を統合構築していただくことが可能となります。
2. Certificate Enrollment Web Service and Policy Service
Web インターフェースから証明書を取得することができます。この機能により、クライアントは CA や Active Directory と同一物理ネットワークにいなくても証明書の取得が可能です。
3. Non-persistent certificates (not stored in the CA database)
証明書テンプレートの設定により、証明書に記載するユーザー固有のデータ等を削除することが出来ます。この機能が追加されたことで多数の証明書を発行するようなCA環境ではパフォーマンスの向上が見込めます。
- 補足情報 (エディション情報)
Windows Server OS には以下のエディションがあります。
「Standard」「Enterprise」「Datacenter」
ちなみに、以下の機能は、「Enterprise」 と 「Datacenter」 エディションのみがサポートしており、Standard エディションはサポートしていない機能となります。
- テンプレートの複製や編集
- 証明書自動発行
- キーのアーカイブ
CA を構築する際には、エンタープライズとスタンドアロンと二種類の CA が選択可能です。要件次第ではありますが、自動で色々設定してくれるのはエンタープライズ CA といえると思います。また、管理者がしっかりと管理できるのが、スタンドアロン CA とも言えます。ちなみに、エンタープライズ CA は構成情報をActive Directory から自動で取得してくれますが、スタンドアロンの場合、要求ファイルを作成しなければならないといった点も比較要件として考えられます。また、失効確認リスト(CRL) や機関情報アクセス (AIA) ポイントといった PKI にとって必要な情報の管理や設計も、CA を構築する際の要注意ポイントとなります。
上記にて機能として、キーのアーカイブについてちょっと触れましたが、外部に証明書の発行を生業とされている CA 会社様の場合、秘密鍵は一切残さないというのがポリシーのようです。つまり、ユーザー情報入力作業と、証明書発行作業を完全に分離し、かつ、秘密鍵は残さないよう設計されているということになります。住基ネットなどは恐らく(すいません、未確認です)秘密鍵は残さないというポリシー設計されていると思います。公的機関から個人の秘密鍵情報が漏洩してしまうととんでもないことになります。
これは、Windows CA の場合でも全く同様で、上記キーのアーカイブ機能を使用すると、Key Recovery Manager という機能によって暗号処理をされて秘密鍵情報が CA データベース内にアーカイブされることになります。つまり、暗号されているとはいえ、秘密鍵の情報は CA データベースに残ることになります。ちょっと考えるだけでも恐いですが、便利な機能でもあります。実際問題、秘密鍵の紛失のお問い合わせはよく耳にしますし、ファイルシステム上削除されてしまった情報を、Windows OS からは復旧させることができません。サードパーティ製品に秘密鍵ファイルがディスク上に残っている場合のみ復旧できるといったアプリケーションもありますが、公開鍵、秘密鍵ともに管理がますます大切になってきています。
- 参考資料
「Key Archival and Management in Windows Server 2003」
https://technet.microsoft.com/en-us/library/cc755395.aspx
「Implementing Key Archival Walkthrough」
https://technet.microsoft.com/en-us/library/cc738977.aspx
「Troubleshooting」
https://technet.microsoft.com/en-us/library/cc787039.aspx
- Editors Note (編集後記)
「Windows でやってみよう PKI シリーズ」 と大げさなタイトルではじめてしまったため、PKI / CA からお話させていただきました。こうはじめて見ると、PKI という分野はあまりに範囲が広く、今後に続きとさせていただきたいと思います。ちなみに、お急ぎのお客様は私よりも専門性の高いエンジニアさんの資料や Blog 等、是非ご参考にされて CA 構築いただければと思います。次はポイントを少し絞って、Windows 標準機能である EFS (暗号化ファイル システム) についてお話したいと思います。
- 補足参考資料
Active Directory 証明書サービス
https://technet.microsoft.com/ja-jp/library/cc770357(WS.10).aspx
Version 3 Certificate Templates
https://technet.microsoft.com/en-us/library/cc730826.aspx
New Certificate Templates
https://technet.microsoft.com/en-us/library/cc730826.aspx
Network Service permissions can be configured on Version 3 Templates
https://technet.microsoft.com/en-us/library/cc725621.aspx
- 免責事項
「コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。」