第66回:WPAで無線LANはどう変わるのか?
~その1 WEPの弱点とWPAのしくみ~



 WEPからWPAへ。無線LANのセキュリティ機能はひとつのターニングポイントを迎えつつある。WPAとはどのようなもので、どのようなメリットがあるのだろうか? 今回はWEPで指摘されている弱点と、WPAの概要について掘り下げていく。





WEPはもはや安全ではない?

 これまで、無線LANのセキュリティは、主にWEPによって実現されていた。WEPとは、Wired Equivalent Privacyの略で、直訳すると“有線と同等のセキュリティ機能”という意味だ。具体的には、RC4という暗号化アルゴリズムを利用し、無線でやり取りされるデータを暗号化する。無線の通信は、誰にでも傍受される可能性がある電波なので、これを暗号化によって保護しようというのがそのねらいだ。

 しかし、このWEPは、もはや有線と同等のセキュリティを実現するものではないことが知られている。そもそもWEPで採用されているRC4という暗号化アルゴリズムは、それ自体が解読可能なものとなっている。また、WEPの動作自体にも弱点が存在する。代表的なのは「IV(Initialization Vector:初期ベクタ)」の問題だ。

 WEPによる暗号化のしくみを簡単に解説しておこう。WEPでは、送信する平文(暗号化されていないデータ)を鍵を使って暗号化する。実際にWEPを設定したことがあるユーザーならば、アクセスポイントやクライアント側に暗号キーを設定したことがあるだろう。この暗号キー(共通鍵)によってデータが暗号化されるわけだ。


NECアクセステクニカ Aterm WR7600HのWEP設定画面。一般的な無線LAN製品では64bitまたは128bitの暗号キーを設定して、データを暗号化できる

 ただし、WEPによる暗号化では、このようにユーザーが設定した暗号キーがそのまま暗号化に利用されるわけではない。実際には、ユーザーが設定した暗号キーと、データの送信側がパケットごとに生成する「IV」と呼ばれる初期ベクタが組み合わせられ、「拡張鍵」と呼ばれる疑似乱数が作られる。64bitのWEPの場合、ユーザーが入力する暗号キーはASCII文字で5文字相当なので、1byte×5文字=5byte=40bitとなる。現状のWEPではIVは24bit固定なので、合計で64bitの拡張鍵ができあがることになる。この拡張鍵と平文を論理演算することによってデータが暗号化されるわけだ。ちなみに、64bitのWEPが製品によっては40bitと表記されていることがあるが、これはIVを含めるか含めないかの表記の違いだ。


WEPでは、ユーザーが設定した暗号キーとIVを組み合わせて拡張鍵を生成。これによってデータを暗号化する

 このようなしくみで動作するWEPだが、ここでひとつ問題がある。拡張鍵を生成する重要な要素のひとつであるIVが、無線でやり取りされるデータにそのまま平文として格納されている点だ。暗号化されたデータをやり取りする場合、受信側はそれを復号化できなければ意味がない。前述したようにWEPキーはアクセスポイント側とクライアント側の両方にユーザーが設定するため、送信側と受信側ともに知っているが、IVに関しては送信側が生成するため受信側はわからない。このため、IVを送信する必要があるわけだ。これは、暗号を解読するための大きな「ヒント」が与えられているのと同じ事になる。


暗号化されたデータの解読にはIVが必要。これは平文のまま送信される

 もちろん、実際の暗号化に利用される拡張鍵は、単純に暗号キーにIVを足したものではなく、これら2つの値を計算して求められた疑似乱数だ。このため、電波の傍受によって単純にIVだけを入手しても、簡単に暗号化を復号することはできない。しかし、無線LANでやり取りされるパケットを多数収集すると、そこに同じIVで暗号化されたデータが登場する場合がある。また、暗号化に利用されるIVの中には、生成した拡張鍵の中にIVがそのまま登場してしまう「ある種」の弱いIVが存在することが知られている。

 このようなパケットを解析すれば、そこから拡張鍵の元になっている暗号キー(共通鍵)を割り出すことは不可能ではないのだ。これによって、暗号化されたデータが解読されてしまうわけだ。実際にどれくらいの時間で解読できるかは、諸説分かれるところではあるが、数時間パケットをキャプチャし続ければ、WEPによる暗号化は解読できるといわれている。

 無線LANでWEPによる暗号化を設定しないのは論外だが、WEPを設定していたとしても、もはや万全のセキュリティとは言えないわけだ。このようなWEPの弱点は、2001年ころから指摘されていた比較的古くからある問題だ。





WPAの登場

 このような背景から、WEPに代わるセキュリティが求められてきたが、ようやくそれが姿を見せはじめた。無線LAN製品の認証機関であるWi-Fiアライアンスが提唱する「WPA」(Wi-Fi protected access)だ。

 WPAは、単純なひとつの技術によるセキュリティ機能ではなく、いくつかの技術を集めたセキュリティ規格の総称のようなものだ。具体的には、無線LANでユーザー認証を行なうIEEE 802.1x、新しい暗号化方式であるTKIPやAESなどが実装される。無線LANのセキュリティ規格としてはIEEE 802.11iが現在策定中だが、現状のWPAは、これらIEEE 802.11iで検討中の技術をいくつか先取りしたサブセット版という位置付けになっている。さらに、将来的にはIEEE 802.11iをフルサポートしたWPA2も予定されている。

 では、具体的にWPAでどのようなセキュリティ機能が強化されるのだろうか? まずはIEEE 802.1xによるユーザー認証が可能になる点が挙げられる。IEEE 802.1xでは、アクセスポイントに接続しようとするユーザーをRADIUSサーバーで認証できるようになっている。具体的には、クライアントがアクセスポイントに接続しようとするとき、最初の段階では認証プロトコル以外のトラフィックが遮断されている。このため、クライアントは認証プロトコル(LEAP、MD5、TTLS、TLS、PEAP、SRPなどのEAPプロトコル)を使って、自分のIDとパスワードをアクセスポイントに送る。アクセスポイントは、この通信を受け取ると、これをRADIUSサーバーに転送し、そこで認証をかける。認証が完了して、はじめてWEPキーなどの接続に必要な情報がクライアントに渡され、実際の通信が可能になるわけだ。


RADIUSサーバーを利用して認証を行なうIEEE 802.1x。ユーザー認証が可能になると同時に、WEPキーの配送が可能になる

 このようなIEEE 802.1xによって、これまでのESS-IDやWEPによる機器ベースの認証に加え、ユーザー認証が可能になり、WEPキーも安全にやり取りすることが可能となる。しかし、これは主に企業ユーザーやホットスポット向けの機能であり、一般家庭などでは利用されることはほとんどない。なぜなら、認証にRADIUSサーバーが必要だからだ。無線LAN製品によっては、一部の認証プロトコルをアクセスポイント内部に備えることでIEEE 802.1x認証を実現できる場合もあるが、ほとんどの場合は別途RADIUSサーバーが必要になる。なお、IEEE 802.1xを利用した認証はWPAでは「Enterprise Mode」と呼ばれている。

 このため、家庭などではIEEE 802.1xを利用した認証ではなく、「Home Mode」と呼ばれる認証方法が採用されている。これは、Pre-Shared Keyと呼ばれる共通鍵によってクライアントを認証する機能だ。アクセスポイント側とクライアント側に共通の文字列をPre-Shared key(PSK)として登録しておき、これが認証に利用される。


Home Modeでは、アクセスポイントとクライアントの両方にPSKを設定し、これにより認証が可能となる




TKIPとAESを採用

 ただし、IEEE 802.1xやPre-Shared Keyによってユーザー認証が実現されたとしても、依然としてWEPの脆弱性という問題は残る。そこで利用されるのが「TKIP(Temporal Key Integrity Protocol)」と呼ばれる新しい暗号化プロトコルだ。

 TKIPの最大の特徴は、暗号化に利用する暗号キーを動的に更新できる点だ。冒頭でも述べたように、無線LANのパケットを一定時間収集すれば、そこから暗号を解読することは不可能ではない。これは、IVが暗号解読のヒントとして使われてしまうこと、そして暗号キーが固定であることが原因だ。

 よって、TKIPでは、この問題が改善されている。具体的には、暗号化に利用される鍵を一定時間おき、もしくはパケットごとに変更することが可能となっている。これにより、一定時間パケットが収集されたとしても、その都度、別々の鍵が使われているため、暗号を解読することが事実上不可能になる。


一定時間、もしくは一定パケットごとに暗号キーを更新可能。これによりパケットを収集されても、そこから規則性を見いだし、暗号を解読できないようにしている

 また、IVが従来の24bitから倍の48bitへと拡張されているうえ、暗号キーとIVを混合して鍵を作成(フェーズ1)した後、その鍵にさらに別のIVを混合して鍵を作成(フェーズ2)し、この鍵で平文を暗号化するという二重の鍵混合プロセスも採用されている。これによって、暗号解読のヒントとして使われやすい前述した「ある種」の弱いIVが登場しないようにも工夫されている。つまり、TKIPでは、暗号化自体ではなく、暗号化のプロセスを強化することによって、より高い安全性が実現されているわけだ。

 しかしながら、いくら暗号化のプロセスが強化されたとは言っても、TKIPで採用する暗号化のアルゴリズム自体はRC4から変更されていない。このため、暗号化の強度自体は変わらないと言うこともできる。TKIPで拡張されたプロセス自体に何らかの弱点が発見されれば、そこから暗号が解読されてしまう可能性もないとは言えないのだ。

 そこで、WPAでは、もうひとつ新たな暗号化として「AES(Advanced Encryption Standard)」という方式も使えるように規定している。これは、米国政府の次世代標準暗号化方式としても採用が決まっている暗号化アルゴリズムだ。RC4自体はすでに解読されてしまっているが、AESは現段階ではまだ解読の成功例はない。このため、TKIPはあくまでも現状のWEPからの移行を進める一時的な方式であり、次世代の本命はAESを利用したものという見方が強くなっている。





実際の利用状況は?

 このように、WPAの登場によって、無線LANのセキュリティは大幅に向上すると見られている。しかし、実際にWPAを利用するとなると、そこにはいくつかの障壁も存在する。次回は、実機でのWPA設定例などを交えながら、この点について、もう少し詳しく解説していくことにする。


関連情報

2003/8/5 11:12


清水 理史
製品レビューなど幅広く執筆しているが、実際に大手企業でネットワーク管理者をしていたこともあり、Windowsのネットワーク全般が得意ジャンル。最新刊「できるWindows 8.1/7 XPパソコンからの乗り換え&データ移行」ほか多数の著書がある。