2009年9月22日火曜日

Windows展開サービス(WDS)を使ってWindows Server 2008をPXE bootインストールする

前々からやりたかったWindows Server 2008のネットワークインストールをやってみた。Windows系でPXEブートインストールするには、Windows Server 2008に標準で付属する「Windows 展開サービス(以下、WDS)」を使う。セットアップは簡単なので省略。とりあえずハマった点などをメモ。
  • WDSを実行するサーバーは、ドメインのメンバーサーバーか、ドメインコントローラーになる必要がある。ドメインコントローラーになる場合は、ADDS, DNS, DHCPをセットアップする必要がある(面倒だ!!)
  • 用意するイメージは2つ。標準で用意されているのは以下の2つ。
    インストールイメージ:Windowsのインストールディスクの\sources\install.wim。Windowsのインストーラーのイメージ。
    ブートイメージ:Windowsのインストールディスクの\source\boot.wim。Windows PEのイメージ。
  • Windows PEにドライバを組み込んだり、インストールを完全に自動化する場合は、Windows Advanced Installation Kit (AIK)を使う。MSからダウンロード可能。
  • PXE bootでセットアップしたマシンは自動的にドメインのメンバになる。(余計なお世話だ!)

実際にPXE bootでインストールする手順は以下の通り。
  1. インストール対象のマシン(以下クライアント)がPXE BootのDHCPシーケンスでIPアドレスを入手。
  2. クライアントがWDSを実行するマシンから、TFTPでpxeboot.comをダウンロード
    (その後、タイミング良くF12キーを入力しないと先に進まないので注意!!)
  3. クライアントがWDSを実行するマシンから、Windows PE(下記、boot.wim)をダウンロード&起動
  4. クライアントで、WDSの動作するサーバーのユーザー名&パスワードを入力。これはCIFSでインストールイメージをマウントするため。
  5. あとは、普通のインストールと同じ。

WDSは他にも色々なオプションがあって便利と言えば便利なんだが、ADDSの環境が必須になる点やセットアップしたOSがドメインに参加してしまう点(AIKでカスタマイズすれば回避できるかも)などは不便を感じた。単なるCD-ROMの代替として考えているならば、ちょっとお勧めできないかも。

参考URL:

2009年9月19日土曜日

HSMと秘密分散技術 (Secret Sharing Scheme)

仕事で使っているnCipherのHSMには、OCS (Operator Card Set) protected keyという、ICカードを使用した認証を行なわないと鍵を使用出来ないようにする機能がある。前々から実装に使われている理論が気になっていたので軽く調査してみた。

まずは、簡単にOCS protected keyの説明。OCS protected keyは鍵を使用する際にICカードによる認証を強制する機能だ。nCipherのHSMではOCS protected keyを作成するときに、K of Nというパラメーターを指定する。Kは認証時に必要なICカードの数を表しており、NはICカードの総数を示している。

例えば、あるOCS保護鍵を作成したときに2 of 3のパラメーターを指定したとする。この場合、その鍵を使用する際は3枚(N=3のため)のうち最低2枚のICカードによる認証をパスする必要がある(K=2のため)。カードが1枚しか無い場合は鍵を使用する事ができない。実際の用途としては、「ある書類にデジタル署名を行なうには、担当者2名による承認が必要。予備カードが1枚必要」といった用途に使用できる。

で、実際にどのような理論を用いているのか調べてみると、どうやら「秘密分散技術」 (Secret Sharing Scheme: SSSと略される)というジャンルの技術を使っているらしいことが解った。ちなみに、この分野のブレイクスルーは1979年にShamir大先生(RSAの"S"の人ね)とBlakleyと言う人が別々の論文を発表したことによって起こったそうな。Shamirは多項式補完に基づいており、Blakleyはベクトル空間に基づいているらしい。nCipherのHSMが実際にどんなアルゴリズムを使っているかは解らないが、振る舞いから推測するに、「(k, n)しきい値法」に属するアルゴリズムを使っているのは間違いなさそうだ。

理論の中身もチェックしてみたが、サッパリ解らなかった(ガロア理論とか初等整数論とか出て来ちゃってさ...orz)。でも、情報理論的安全性が確認されているらしいので安心して使っていいとのこと。

やっぱり暗号関連は真面目に勉強して行くと初等整数論にぶつかるなぁ。なんとかしないと思いつつも、手を出しにくい分野だよ。

2009年9月9日水曜日

Globalsignの「パブリックルート署名サービス」がウハウハな件

体調を崩していたので久しぶりの更新。最近はダルくてダルくてBlogどころではなかった。今は完全復活です。

さて、今回もPKIネタ。9月1日よりグローバルサインが「パブリックルート 署名サービス」というサービスを開始した。このサービスは、グローバルサインのCAが、一般の会社の社内などに設置してあるプライベートCAのCA証明書に署名を打ってくれるサービスだ。米国ではずいぶん前から提供されていたので、やっと日本でも使えると考えるとウハウハしてしまう。

で、このサービスの何が嬉しいのかというと、「自前プライベートCAがマイクロソフトのルート証明書更新プログラムでCA証明書が配布されているCAの下位CAになる事ができる」という点に尽きる。グローバルサインのルート証明書はIEの信頼できるルート証明期間の一覧に始めから入っているので、このサービスを使用したCAが発行した証明書は世界中のどのWindowsマシンでも自動的に信頼できる証明書として取り扱ってもらえる。しかも、特に発行できる証明書の制限は無さそうなので、自前のCAで個人向けの証明書やコードサイニング証明書などもバンバン発行できる。これはウハウハするでしょう。用途広すぎ。

1点だけ気になるのが、このサービスをやる事によってグローバルサインのルートCAが、WebTrust for CAの認定とMSのルート証明書の配布要件に抵触してしまい、ルート証明書の配布が行なわれなくなってしまうのではないかということ。米国ではずいぶん前から提供しているので問題はないとは思うのだが、、、うーん微妙にグレーゾーンな気がする。

たぶん下位のCAには、CP/CPSの要件やHSM (Hardware Security Module)を使った鍵の管理の義務、監査を受ける義務、サーバーの設置場所に関する要件などのそれなりのヘビーな内容が求められる可能性はある。まぁ、得られる利点を考えると納得はできるのだが、お手軽にパブリックCAを構築できるサービスであるとは言えなさそうだ。

これ、あまりにも便利すぎるので自社でも真面目に検討してみることにする。残る問題は価格だよな。課金体制がよくわからないので、実はものすごーーーく高かったりするオチがあるかもしれない。