前回はPSK(WPAパーソナル)とEAP(WPAエンタープライズ)がなぜ・どう違うのかという話、EAP/802.1X/RADIUSの簡単な紹介、そして無線LANでは片道認証のEAP-MD5では不十分という話を解説しました。今回はいよいよ各種のEAP認証プロトコルについて紹介してゆきます。

EAP-TLS

 オープンスタンダードな双方向認証プロトコルとして最初に提案されたのがEAP-TLSでした。EAP-TLS の仕様はRFC2716(1999) として公開され、現時点での最新版はRFC5216(2008) となっています。

 TLSというのはTransport Security Layerの略ですが、商用Webサイトで使われているHTTPの暗号化プロトコル注1)と同じものです。Webサイトの場合はほとんどが片道認証(ユーザー/ブラウザーがサーバーの正当性を認証するだけ)ですが、EAP-TLSは双方向認証を用いるため、アクセスポイント(AP)側(認証サーバー側)だけでなく子機側(PCなど)にも証明書をインストールする必要があります。

注1)HTTP の暗号化プロトコルはよく SSL(Secure Socket Layer) と呼ばれています。SSLはもともと米Netscape Communications社が自社ブラウザー(Navigator)用に開発した技術で、同社はその仕様を公開しRFCドラフトとして提案したのですが、様々な(主に政治的な)シガラミがあってそのままの名称・仕様では採用されず、仕様を若干変更したうえで名前も「SSL」から「TLS」に変えて採用された、という経緯があります。
EAP-TLSによる双方向認証

 EAP-TLSにおいてもはやEAPはただの「運び屋」で、EAP自身が持っているユーザー名やパスワードなどの情報は原則として使われません(例によってこの「原則として」が曲者ですが)。TLSのトランザクションパケットがブツ切りにされてEAPパケットにカプセリングされて送受信され、認証はTLSの持つ証明書交換によって行われます。

 TLSの認証は前回も解説したX.509 PKIデジタル証明書を採用していますから、非常に強力です。しかし EAP-TLSの欠点は「面倒くさい」の一言に尽きます。なんせ全てのユーザー1人1人に対応するクライアント証明書をいちいちCAから発行して、それを適切にインストールしなければならないのです。ユーザー登録を削除する場合は逆に、その証明書の無効化手続きを行わなければなりません。

 EAP-TLSはWi-Fiエンタープライズ・ロゴ認証でも実装必須とされており、名目上の標準仕様です。しかし実際に使われているかと言われると「うーん?」という微妙なところです。よほどユーザー数が少ない(≒証明書の管理負担が軽い)か、あるいは本格的に証明書の発行・無効化を運用できるCAシステムを備えた高セキュリティ環境の両極端でしか使われていないと思います。