脆弱性と対策-無線LAN
認証
脆弱性 | リスク | 対策 |
---|---|---|
通信パケットに暗号化されないSSIDが含まれる | SSIDでのユーザー認証の無効化 | IEEE802.1Xなどによる認証の強化 |
APからのビーコン信号にSSIDが含まれる | SSIDでのユーザー認証の無効化 | IEEE802.1Xなどによる認証の強化/ビーコン信号の停止(ステルス機能) |
MACアドレスは詐称可能 | MACアドレスでの認証の無効化 | IEEE802.1Xなどによる認証の強化 |
IEEE802.1X
LANでユーザーを認証する仕組みの規格。無線LANアクセスポイントでのユーザー認証でよく使われるらしい。EAPと呼ばれる認証プロトコルを使用し、「サプリカント」「オーセンティケータ」「認証サーバー」が連携して認証を行う。
- サプリカント
- 認証クライアント。オーセンティケータとやりとりし、認証を行う。
- オーセンティケータ
- 認証を行う装置。LANスイッチや無線LANアクセス・ポイントがこれにあたる。認証結果に応じてパソコンからのフレームを通したり遮断したりする機能を持つ。
- 認証サーバー
- オーセンティケータからのリクエストに応じてユーザー/機器の認証を行うサーバー。RADIUSサーバーが良く使われる。
認証方式は利用シーンに応じて以下のいずれかを選択できる。
名前 | 概要 | クライアント認証 | サーバー認証 | WEPキーの自動生成 | 接続者識別名の秘匿 |
---|---|---|---|---|---|
EAP-MD5 | チャレンジ-レスポンス方式によるパスワード認証。サーバー認証ができないのが弱点。 | ユーザーID/パスワード | なし | × | × |
EAP-TLS | クライアント/サーバーの認証双方にデジタル証明書を利用。CAが必要でメンドウなのが弱点。 | デジタル証明書 | デジタル証明書 | ○ | × |
EAP-TTLS | サーバーのみデジタル証明書で認証。 | ユーザーID/パスワード | デジタル証明書 | ○ | ○ |
PEAP | サーバーのみデジタル証明書で認証。EAP-TTLSとだいたい同じ。 | ユーザーID/パスワード | デジタル証明書 | ○ | ○ |
暗号化
WEPはあるが脆弱性だらけ。
WEP(Wired Equivalent Privacy)
- WEPキー
- クライアントとアクセスポイントで共有されるキー。事前に設定しておく、固定の値。40,104bitのいずれかを選択でき、長いほどマシ。
- IV (初期化ベクタ)
- 24bitの乱数。通信のたびに生成。送信データにも添付される。
- ICV (Integrity Check Value、一貫性検査値)
- 送信データのCRC値。完全性チェックで使う。
暗号化の手順は次のとおり。
- WEPキーからバイト列を生成。
- WEPキーとIVを足す。
- 2で作った文字列を疑似乱数作成機にかけて、キーストーリームを生成。
- 暗号化前の本文をCRCしてICVを生成
- 3のキーストーリームを使って、RC4で本文とICVを暗号。
- 暗号化済み本文+IVを送付。
- WEPキー(事前に設定)と通信データに含まれるIVを足す。
- 7を疑似乱数作成機にかけて、キーストーリームを生成。
- 暗号化データをXORにかけて復号。
そして、次にあげる弱点がある。
- 大量の通信を収集されると、通信データの推測が可能。
- WEPキーが固定&&IVのバイト数が十分でないため、大量の通信を行うと重複する場合がある。このとき、片方の元データが推測できれば、もう片方のデータも復号できる!!
暗号済みメッセージ1 = 元データ1 XOR キーストリーム 暗号済みメッセージ2 = 元データ2 XOR キーストリーム E1 XOR E2 = ( M1 XOR K) XOR (M2 XOR K) = (M1 XOR M2) XOR K XOR K = (M1 XOR M2) XOR 0 = M1 XOR M2