無線LAN 無線LANのセキュリティ その2
目次
初期の無線LANセキュリティの脆弱性
初期の無線LANセキュリティ機能には、下記のような脆弱性があります。
- SSIDの隠蔽
無線LANクライアントは、SSIDがわからなければ無線LANアクセスポイントに
アソシエーションできません。無線LANアクセスポイントはビーコンと呼ぶ
管理用のフレームでSSIDを送信していますが、この送信をとめることでSSID
を知らない無線LANクライアントが無線LANネットワークに接続できなくする
ことができます。つまり、SSIDはユーザ認証を行っていると言えます。しか
し、SSIDはすでにアクセスポイントにアソシエーションしている無線LANク
ライアントのデータを盗聴すれば簡単にわかってしまいます。 - MACアドレスによるフィルタリング
MACアドレスによるフィルタリングもユーザ認証の一種として考えられます。
これはレイヤ2スイッチでのポートセキュリティに相当し、無線LANアクセス
ポイントに登録されているMACアドレスしかアソシエーションできないよう
にします。つまり、MACアドレスによるユーザ認証といえます。しかし、無
線LANアクセスポイントに登録されているMACアドレスを偽装することはそれ
ほど難しくありません。 - スタティックWEP(Wired Equivalent Privacy)
WEPによる暗号化は、平文データと暗号キーでRC4という暗号化アルゴリズム
を用いて暗号化します。スタティックWEPは暗号キーをスタティックに設定
していることに問題があります。実際の暗号キーはスタティックに設定した
WEPキーとIV(Initial Vector)を組み合わせたものですが、周期的に同じ暗
号キーを利用した暗号化になります。そのため、ある程度の時間、暗号化さ
れたデータをキャプチャして解析すると暗号化されたデータや設定されてい
るWEPキーそのものを解析できてしまう危険性があります。
また、スタティックWEPはアクセスポイントにアソシエーションしているす
べての無線LANクライアントで共通したWEPキーを利用します。もしWEPキー
を解析されてしまっていれば、すべての無線LANクライアントのデータを盗
聴されてしまいます。
さらに、スタティックWEPはデータの改ざんの検出メカニズムが強力なもの
ではありません。暗号化されたデータでも特定のデータを改ざんして、
Man-in-the-middle攻撃(中間者攻撃)が行われてしまう危険性があります。
こうした初期の無線LANのセキュリティ機能における脆弱性は、重要なデータ
を扱う企業ネットワークでは致命的で、企業では無線LANを導入することは危
険だとみなされていたこともあります。
そこで、より強固なセキュリティを実現するために、IEEE802.11iの標準化を
はじめました。しかし、IEEE802.11iの標準化にはかなりの時間がかかってし
まうため、簡易版としてWPA(WiFi Protected Access)を策定しています。
WPA
WPAでは、ユーザ認証および暗号化で下記のような機能を採用し、より強固な
セキュリティを提供しています。
- ユーザ認証
→IEEE802.1xによるユーザ認証
→RADIUSサーバを利用した一元的なユーザ認証が可能
→ユーザ名/パスワードによる認証だけでなく、デジタル証明書による認証などのオプションもサポート
→ユーザ認証と同時に暗号キーの生成も可能
→WPA-PSK
RADIUSサーバの運用が難しい環境では、PSK(Pre Shared Key)による認証をサポート - 暗号化
→TKIP(Temporal Key Integrity Protocol)
→暗号アルゴリズム自体はWEPと同じ
→暗号キーをユーザごとにダイナミックに生成する。さらに周期的に暗号キーを変更して暗号化
→MIC(Message Integrity Check)
データの整合性をチェックして改ざんを検出するメカニズム
IEEE802.11i(WPA2)
IEEE802.11iでは、下記のようなセキュリティ機能の強化を行っています。
- ユーザ認証
→IEEE802.1xによるユーザ認証
→RADIUSサーバを利用した一元的なユーザ認証が可能
→ユーザ名/パスワードによる認証だけでなく、デジタル証明書による認証などのオプションもサポート
→ユーザ認証と同時に暗号キーの生成も可能 - 暗号化
→AES(Advanced Encryption Standard)
DES/3DESに取って代わるアメリカ政府で採用される暗号化アルゴリズム
→CCMP(Counter-mode with CBC MAC Protocol)
データの整合性をチェックして改ざんを検出するメカニズム
IEEE802.1xによるユーザ認証
IEEE802.1xの概要を簡単に解説します。IEEE802.1xの認証には、
- サプリカント
- オーセンティケータ
- 認証サーバ(RADIUS)サーバ
の3つの要素が関連します。
サプリカントとは、IEEE802.1xの認証を行うためのクライアントソフトウェア
です。現在のWindowsやMac OSなどのOSでは、サプリカントの機能が備わって
います。Cisco Aironet無線LANクライアントアダプタでは、ADU(Aironet Desktop Utility)
がサプリカントに相当します。
オーセンティケータは、IEEE802.1xに対応した無線LANアクセスポイントやス
イッチのことで、サプリカントからの認証要求を認証サーバへ中継する役割を
持っています。Cisco CatalystスイッチやCisco Aironetアクセスポイントは
IEEE802.1xのオーセンティケータとして設定することができます。
そして、認証サーバによって実際にユーザ認証を行います。認証サーバはRADIUS
サーバです。RADIUSサーバに正規のユーザ名/パスワードの設定をしたり、デ
ジタル証明書をインストールしたりしています。また、オーセンティケータの
IPアドレスの登録や共有キーの設定も認証サーバで行います。
こうした3つの要素の間で使われる認証プロトコルがEAP(Extensible Authentication Protocol)
です。EAPはもともとPPPから派生しています。さらに、EAPには認証するため
にどのような情報を利用するかによって、次のようなさまざまな種類がありま
す。
- EAP-TLS
ユーザおよび認証サーバでデジタル証明書を利用してユーザと認証サーバで
双方向の認証を行う - EAP-FAST
ユーザ名/パスワードによってユーザを認証し、簡易的なデジタル証明書で
あるPACを利用してサーバを認証する - EAP-PEAP
ユーザ名/パスワードによってユーザを認証し、デジタル証明書でサーバを
認証する - EAP-LEAP(Cisco独自)
ユーザ名/パスワードを利用してユーザの認証を行う
上記のEAPタイプは、管理上の負担やどこまで強固な認証を行う必要があるか
によって決定します。
最もシンプルで管理上の負担が少ないEAPはEAP-LEAPです。EAP-LEAPではデジ
タル証明書は必要ありません。ユーザ名/パスワードを認証サーバに設定して
おき、ユーザはそのユーザ名/パスワードを利用してログインします。最もシ
ンプルな分、それほど強固な認証方式ではありません。ユーザ名/パスワード
を利用しているので、パスワードの設定が適切でなければ辞書攻撃ですぐにパ
スワードが破られてしまう危険性があります。
最も強固な認証を行うEAPはEAP-TLSです。認証サーバがユーザを認証するにも、
ユーザが認証サーバを認証するためにもデジタル証明書が必要です。ただし、
ユーザごとに個別のデジタル証明書が必要なので管理上の負担が増えます。