期待のIEEE 802.11i/WPA2

 2004年6月に標準化されたIEEE 802.11iは,WPAとして切り出されたTKIPと新しい暗号方式のAESが採用されている。意図としては,TKIPは既存製品からの移行を簡単にした短期的なソリューションで,将来的にはAESの採用が望まれている。

 IEEE 802.11iではAESの採用とともに,改ざん検出プロトコルのCCMP(Counter mode with CBC-MAC Protocol)*3の実装を義務付けている。CCMPでは,データの暗号化と並行してCBC-MAC方式で電子署名を行う。CBC-MAC方式とは,メッセージの完全性を確認するMIC(Message Integrity Check)を算出する方法だ。


図4●CBC-MACによるMICの計算
最初にパケット番号(PN)に1を加算してからMIC_IVを作成し,データの暗号に用いるのと同じ鍵でAES暗号化する。以降,排他的論理和とAES暗号化を繰り返す。データ部分は16バイトのブロックに区切って計算する。16バイトで割り切れない場合,最後のゼロのパディングを加えて16バイトにして計算する。最終的に求められたCBC-MACの上位8バイトがMICとして利用され,下位8バイトは破棄される
[画像のクリックで拡大表示]

図5●暗号とパフォーマンスの関係を調べた例
各暗号化方式で上り,下りのパフォーマンスを,iperfを使って各5回測定。上位3回の結果の平均値を求めた。今回は,パフォーマンスの限界値を測るのが目的ではなく,同一条件で暗号化方式によるパフォーマンスの差異があるかどうかを検証した。結果は,各機器に性能的な余裕もあり,ほぼ差異は認められなかった
[画像のクリックで拡大表示]

 CBC-MACでは,ヘッダーを含むパケット全体を特定の長さのブロックに区切り,最初のブロックをAESの暗号アルゴリズムで暗号化する。そして次のブロックと排他的論理和を求め算出された値を再度AESで暗号化する。この処理を繰り返し,最後に算出された値の上位8バイトをMICとして使う。CCMPでは,パケット番号を含むヘッダー情報も改ざん検出に利用しているため,同じデータを繰り返し送信しても,MICが異なるように考慮されている。つまり,暗号化されたパケットを盗聴し,送信者になりすまして受信者に再度送ってもパケット番号が合わないため破棄されてしまう(図4)。

 実際に802.11iを利用する場合,2つのモードがある。家庭や小規模オフィスでの利用を考慮したHome Modeと企業利用のEnterprise Modeだ。Home Modeでは,無線クライアントとアクセス・ポイントに事前に鍵を設定しておくPSK(Pre-Shared Key:共有鍵)方式を利用する。また,認証にはIEEE 802.1xを利用しない。この結果,認証サーバーの設置が必要なくなるが,鍵のローテーションも行えず,WEPの脆弱性として指摘した鍵の管理が問題になる。家庭内など鍵の管理方法が問題にならないような環境では,手軽な方法と言える。Enterprise Modeでは,認証にIEEE 802.1xを利用し,鍵もサーバーから配布される。認証サーバーの設置が必須になるが,安全性の上で十分なメリットを得ることができる。

認知されているVPN

 有線ネットワークでは広く普及しているVPNを無線LANで利用することもできる。Windowsが実装しているPPTP, L2TP/IPsec VPNは,無線LANアダプタでも動作するし,各メーカーが出荷しているVPNクライアントも無線LANで利用してほぼ問題がない。しかしながら,企業の社内ネットワークで利用した場合,VPNサーバーへ全トラフィックが集中することになる。VPNサーバーが十分な性能を持っていれば問題ないが,大規模サイトではパフォーマンスなどに問題が出るだろう。

 無線LAN製品の中には,トラフィックの集中化問題を回避するため,アクセス・ポイントや無線LANスイッチ*4でVPNを終端できるVPNサーバー機能を内蔵している製品もある。このような製品を使えば,WEP,TKIPなどの代わりにVPNを利用することができる。ただし,VPN接続のための設定やオペレーション,プール・アドレスの管理なども追加で行わなければならない。

現実的な選択は何か

 安全性から言えばIEEE 802.11i AES/WPA2を推奨したいところだが,現時点では時期尚早と言わざるを得ない。WPA2を利用するには,アクセス・ポイント,無線クライアントのドライバとサプリカント,そして認証サーバーのすべてがWPA2に対応していなければならない。だが,WPA2に完全準拠している製品が少ないというのが現状である。既に各種の無線クライアントを所有する企業では,WPA2を本格導入するには,各メーカーからWPA2対応のファームウエアが提供されるのを待つ必要があるだろう。

 そこで,現実的な選択としては「IEEE 802.1x + IEEE 802.11i TKIP/WPA」という組み合わせをお勧めする。WPA2対応の製品が出揃うまでの中間的なソリューションかもしれないが,今が中間的な時期であり,セキュリティ面でも十分企業の実用レベルに達していると筆者は考える。

パフォーマンスを比較する

 筆者自身も気になるところだったので,WEP,TKIP,AESでの簡単なパフォーマンス比較を実施してみた。結果から言うと,機器性能が良いためにほぼ差がない(図5)。その理由を推察すると,無線クライアントのCPU性能が高いのと,単体での評価のためアクセス・ポイントに負荷がかかっていない点ではないだろうか。

 今回の評価に利用した無線LANスイッチには,暗号専用のアクセラレータが内蔵されていてパフォーマンスを考慮している。ただ一般にはアクセス・ポイントのCPUで15~20台程度の無線クライアントの暗号/復号を実施した場合,そこがボトルネックになる可能性がある。

 次回は無線LANの認証処理について解説する。