
The Cable Guy の全コラムの一覧と概要をご覧になるには、ここをクリックしてください。
セキュリティで保護された Windows ワイヤレス クライアント アクセスの構成としては、以下を組み合わせた構成が推奨されます。
| • | Windows XP ワイヤレスクライアント Windows XP には、IEEE 802.11 に準拠したネットワーク アクセスのサポートと EAP-TLS (Extensible Authentication Protocol-Transport Level Security) を使った IEEE 802.1x 認証 (証明書ベースの認証方式) のサポートが組み込まれています。 |
| • | Windows 2000 Active Directory ドメイン Active Directory に維持されるコンピュータ アカウント、ユーザー アカウント、ダイヤルイン プロパティ、およびグループをワイヤレス アクセスの管理に使用できます。 |
| • | Windows 2000 のインターネット認証サービス (IAS) IAS は、ワイヤレスを含む、さまざまな種類のネットワーク アクセスに対して認証、許可、およびアカウント管理を実行するリモート認証ダイヤルイン ユーザー サービス (RADIUS) サーバーです。 |
| • | Windows 2000 証明機関 (CA) を使用する公開キー基盤 (PKI) PKI は、EAP-TLS 認証用の証明書を IAS サーバーおよびワイヤレス クライアントに送信するときに使用されます。 |
以上の構成は、ホワイト ペーパー 「Enterprise Deployment of IEEE 802.11 Using Windows XP and Windows 2000 Internet Authentication Service」 (英語) で解説されています。この構成は、既存のソフトウェアやハードウェアを認証インフラストラクチャに有効に利用できることから、中規模から大規模までの組織に適していますが、小規模な組織には適していません。
小規模な組織の場合は、Windows XP Service Pack 1 (SP1)、Windows 2000 Service Pack 4 (SP4) および Windows Server 2003 ファミリに用意されている MS-CHAP v2 (Microsoft Challenge-Handshake Authentication Protocol Version 2) の EAP タイプと保護された EAP (PEAP) の組み合わせ ("PEAP および MS-CHAP v2") を使用すると、セキュリティ保護されたワイヤレス アクセスを実現できます。
| PEAP の概要 | |
| MS-CHAP v2 の概要 | |
| "PEAP および MS-CHAP v2" の動作 | |
| PEAP のファースト リコネクト | |
| Windows での PEAP のサポート | |
| 詳細情報 |
IEEE 802.1x では、ネットワークへのアクセスを許可する前に EAP を使用してネットワーク クライアントを認証します。EAP は、もともとはポイント ツー ポイント プロトコル (PPP) 用に設計されたものですが、任意の認証スキームを作成してネットワーク アクセスの妥当性をチェックすることが可能になっています。アクセスを要求するクライアントと認証を行うサーバーの間では、最初に、どの EAP 認証スキームを使用するかをネゴシエートする必要があります。この EAP 認証スキームは、EAP タイプと呼ばれます。EAP タイプの決定後は、アクセス クライアントと認証サーバー (通常は RADIUS サーバー) の間でオープン エンドの対話を行うことができます。この対話では、認証サーバーが認証情報を要求し、クライアントがそれに応答します。この対話の長さと詳細は、EAP タイプによって異なります。
EAP では、接続の両端 (アクセス クライアントと認証サーバー) で認証プラグイン モジュールを使用することができます。接続の両端に EAP タイプ ライブラリ ファイルをインストールすると、新しい EAP タイプをサポートすることができます。アクセス サーバーを更新しなくても新しい EAP タイプをサポートできることが、EAP を認証に使用することによる利点の 1 つになっています。
EAP は、認証の柔軟性に優れていますが、EAP 対話全体がクリア テキスト (暗号化なし) で送信されるという弱点があります。悪意を持ってメディアにアクセスしたユーザーがパケットを対話に注入したり、認証に成功した接続から EAP メッセージをキャプチャして分析したりする危険性があります。特に、ワイヤレス接続の場合は、組織外から悪意を持ったユーザーがアクセスする可能性があるので、会話が保護されていないことが大きな弱点になります。EAP ネゴシエーションは、IEEE 802.1X 認証プロセス中、ワイヤレス フレームが WEP (Wired Equivalent Privacy) で暗号化される前に実行されます。
このようなセキュリティ上の弱点を解決するのが、EAP タイプの 1 つである PEAP です。PEAP では、最初に、トランスポート レベル セキュリティ (TLS) で暗号化と整合性保護の両方を適用したセキュリティ保護チャネルを作成します。次に、他の EAP タイプによる新しい EAP ネゴシエーションが行われ、クライアントによるネットワーク アクセスが認証されます。パスワード ベースの認証プロトコルは、通常、オフライン辞書攻撃を受けやすいですが、TLS チャネルでは、ネットワーク アクセスが試行されたときに EAP ネゴシエーションと認証が保護されるので、パスワード ベースの認証プロトコルをワイヤレス環境内での認証に使用することが可能です。
MS-CHAP v2 は、パスワード ベースのチャレンジ/レスポンス方式の相互認証プロトコルです。業界標準の MD4 (Message Digest 4) アルゴリズムと DES (Data Encryption Standard) アルゴリズムを使用して、応答を暗号化します。認証サーバーがアクセス クライアントにチャレンジ文字列を送信し、アクセス クライアントも認証サーバーにチャレンジ文字列を送信します。両方のチャレンジに対して正しい応答がなければ、接続は拒否されます。MS-CHAP v2 は、当初、ダイヤルアップ接続と仮想プライベート ネットワーク (VPN) 接続の保護を強化するための PPP 認証プロトコルとして Microsoft により設計されたものですが、Windows XP SP1 および Windows Server 2003 ファミリでは、MS-CHAP v2 が EAP タイプの 1 つとして搭載されています。
MS-CHAP v2 は、以前の PPP ベースのチャレンジ/レスポンス方式の認証プロトコルよりも保護が強化されていますが、それでも、オフライン辞書攻撃に対する脆弱性があります。悪意を持つユーザーが認証成功後の MS-CHAP v2 交換をキャプチャし、正しいパスワードが見つかるまで推定と試行を繰り返すことでパスワードを盗用する危険性があります。そこで、MS-CHAP v2 と PEAP を組み合わせて使用します。これにより、MS-CHAP v2 交換を TLS チャネルの強力なセキュリティで保護することができます。
PEAP 認証では、2 つのパートから成る処理が行われます。第 1 のパートでは、EAP を EAP タイプ PEAP と共に使用して暗号化 TLS チャネルを作成します。第 2 のパートでは、EAP を異なる EAP タイプと共に使用してネットワーク アクセスを認証します。ここでは、認証と承認に RADIUS サーバーを使用しているワイヤレス アクセス ポイント (AP) でワイヤレス クライアントが認証を受ける場合を一例として取り上げながら、PEAP および MS-CHAP v2 の動作について説明します。
PEAP パート 1 : TLS チャネルの作成
PEAP TLS チャネル作成時の処理の流れは、次のようになります。
1. | 論理リンクの作成後、ワイヤレス AP からワイヤレス クライアントに EAP-Request/Identity メッセージが送信されます。 |
2. | ワイヤレス クライアントは、識別情報 (そのワイヤレス クライアントのユーザー名またはコンピュータ名) を格納した EAP-Response/Identity メッセージを返して応答します。 |
3. | ワイヤレス AP は、受け取った EAP-Response/Identity メッセージを RADIUS サーバーに転送します。これ以降、ワイヤレス AP はパススルー デバイスとして機能し、RADIUS サーバーとワイヤレス クライアントの間で論理通信が行われます。 |
4. | RADIUS サーバーからワイヤレス クライアントに EAP-Request/Start PEAP メッセージが送信されます。 |
5. | ワイヤレス クライアントと RADIUS サーバーの間で、一連の TLS メッセージが交換されます。これらのメッセージを通じて、どの暗号スイートを TLS チャネルに使用するかがネゴシエートされ、認証用の証明書チェーンが RADIUS サーバーからワイヤレス クライアントに送信されます。 |
PEAP ネゴシエーションが完了すると、RADIUS サーバー自体がワイヤレス クライアントに認証された状態になります。この時点で、TLS チャネル用の相互暗号化および署名キーが両方のノードの間で既に決定されています (パスワードではなく、公開キー暗号化方式が使用されます)。
PEAP パート 2 : MS-CHAP v2 での認証
PEAP TLS チャネルの作成後は、以下の処理を通じて、ワイヤレス クライアントの資格情報が MS-CHAP v2 で認証されます。
1. | RADIUS サーバーから EAP-Request/Identity メッセージが送信されます。 |
2. | ワイヤレス クライアントは、識別情報 (そのワイヤレス クライアントのユーザー名またはコンピュータ名) を格納した EAP-Response/Identity メッセージを返して応答します。 |
3. | RADIUS サーバーからチャレンジ文字列を含む EAP-Request/EAP-MS-CHAP-V2 Challenge メッセージが送信されます。 |
4. | ワイヤレス クライアントは、RADIUS サーバーのチャレンジ文字列への応答と RADIUS サーバーに対するチャレンジ文字列の両方を格納した EAP-Response/EAP-MS-CHAP-V2 Response メッセージを送信して応答します。 |
5. | RADIUS サーバーは、ワイヤレス クライアントの応答が正しいことを示すと共に、ワイヤレス クライアントからのチャレンジ文字列への応答を格納した EAP-Request/EAP-MS-CHAP-V2 Success メッセージを送信します。 |
6. | ワイヤレス クライアントは、RADIUS サーバーの応答が正しいことを示す EAP-Response/EAP-MS-CHAP-V2 Ack メッセージを送信して応答します。 |
7. | RADIUS サーバーから EAP-Success メッセージが送信されます。 |
こうしてワイヤレス クライアントが RADIUS サーバーからのチャレンジ文字列に応答し、RADIUS サーバーがワイヤレス クライアントからのチャレンジ文字列に応答するという相互認証交換が完了することによって、ワイヤレス クライアントと RADIUS サーバーの両方が正しいパスワードを持っていることが証明されます。上の交換は、PEAP パート 1 で作成した TLS チャネルにより、その全体が暗号化保護されています。
PEAP では、TLS セッションをすばやく再開することも可能です。PEAP パート 2 が成功した場合は、PEAP パート 1 で作成した TLS セッションを RADIUS サーバー上にキャッシュすることができます。成功した PEAP パート 2 認証プロセスによりキャッシュ エントリが既に作成されているので、PEAP パート 1 または PEAP パート 2 を再度実行しなくてもセッションを再開できます。この場合、再認証が試行されると、EAP-Success メッセージが直ちに送信されます。この機能を "ファースト リコネクト (Fast Reconnect)" と呼びます。これにより、ワイヤレス クライアントが複数のワイヤレス AP の間でローミングするときにワイヤレス環境内に生じる接続の遅延が最小化されます。
"PEAP および MS-CHAP v2" は、EAP および IEEE 802.1x のサポート強化の一部として Windows XP Service Pack 1 に含まれています。Windows XP ワイヤレス クライアントで PEAP および MS-CHAP v2 を使用すると、証明書ではなくパスワードを使いながらセキュリティ保護されたワイヤレス アクセスを実現できます。Windows Server 2003 ファミリに用意されている IAS ネットワーク コンポーネントでも PEAP および MS-CHAP v2 がサポートされており、Windows XP Service Pack 1 が稼動しているワイヤレス クライアントを IAS サーバーが認証することが可能です。
PEAP および MS-CHAP v2 では、IAS サーバーについては証明書が必須ですが、ワイヤレス クライアントについては必須ではありません。IAS サーバー上の証明書 (ローカル コンピュータ) ストア内に証明書をインストールしておく必要があります。PKI を展開する代わりに、サード パーティ CA から購入した個別の証明書を IAS サーバーにインストールすることができます。ワイヤレス クライアントが IAS サーバー証明書チェーンの妥当性を確認できるようにするには、IAS サーバー証明書を発行した CA のルート CA 証明書を各ワイヤレス クライアント上にインストールすることが必要です。
Windows XP には、多数のサード パーティ CA のルート CA 証明書が用意されています。用意されているルート CA 証明書のいずれかに対応するサード パーティ CA から IAS サーバー証明書を購入した場合は、それに合わせてワイヤレス クライアントを特に構成する必要はありません。Windows XP に用意されているルート CA 証明書のいずれにも対応しないサード パーティ CA から IAS サーバー証明書を購入した場合は、各ワイヤレス クライアント上にルート CA 証明書をインストールする必要があります。
Windows における PEAP サポートとワイヤレス サポートの詳細については、以下の関連資料を参照してください。
| • | Protected EAP Protocol (PEAP) インターネット ドラフト「draft-josefsson-pppext-eap-tls-eap-0x.txt」 (英語) |
| • | ワイヤレス接続用の IEEE 802.1x 認証 (2002 年 4 月の The Cable Guy コラム) |
| • | IEEE 802.11b ワイヤレス ネットワークの概要 (2002 年 3 月の The Cable Guy コラム) |
| • |
The Cable Guy の全コラムの一覧と概要をご覧になるには、ここをクリックしてください。