🍕
Wi-Fiのセキュリティ方式のあれそれ
本記事ではWi-Fiのセキュリティ方式であるWEP、WPA、WPA2、WPA3のそれぞれについて少しだけ詳細に示します。
WEP (Wired Equivalent Privacy)
- 導入時期: 1999年
- 目的: Wi-Fiネットワークのセキュリティを有線ネットワークと同等にする。
- 特徴: RC4を使用してデータを暗号化する。
- 問題点:40ビットの鍵と24ビットの初期化ベクトルを用いた64ビットWEP鍵という短い鍵を用いていました。鍵の長さが短いことも問題ですが特に初期化ベクトルに問題がありました。24ビットという長さは十分でなく、パケットを5000個やり取りすると50%の確率で初期化ベクトルが衝突する可能性がありました。
RC4
暗号化と復号に同じ暗号鍵を用いる共通鍵暗号で、1ビット単位で暗号化・復号が可能なストリーム暗号である。鍵長は40ビットから2048ビットまでの範囲で選択することができる。
暗号化時には、暗号鍵を元に1ビットずつ擬似乱数列を発生させ、平文と1ビットずつXOR(排他的論理和)を取ったものが暗号文となる。復号時には同じ擬似乱数列を生成し、暗号文に対して1ビットずつXORを取れば平文に戻すことができる。
WPA (Wi-Fi Protected Access)
- 導入時期: 2003年
- 目的: WEPの脆弱性の対策をすること。
- 特徴: TKIP(Temporal Key Integrity Protocol)を使用し、鍵の安全性を向上させた。
- 問題点: TKIPがWEPでも使っていたRC4を採用しており、安全性は向上したものの根本的なRC4の脆弱性が残ったままでした。
TKIP
WEPの脆弱性を補強するために開発されたセキュリティプロトコルです。
秘密鍵と初期化ベクトルを関数で混ぜ合わせてからRC4の初期化を行うことで鍵の安全性を向上させています。またTKIPはランダムに任意のサイズのパケットを送り出すブロック方式を採用し、本来とは異なる順番で送信します。それぞれのブロックにデータの順番を示すカウンター情報も含めて暗号化を行うことで安全性を向上させました。さらにMIC(Message Integrity Code) を採用することで完全性を大幅に向上させました。
WPA2 (Wi-Fi Protected Access 2)
- 導入時期: 2004年
- 目的: WPAのセキュリティをさらに強化すること。
- 特徴: 共通鍵暗号方式アルゴリズムのAESを用いたCCMP(Counter mode with CBC-MAC Protocol)を使用し、より強力な暗号化を実現した。
- 問題点: KRACK(Key Reinstallation Attack: WPA2接続開始時の四方向ハンドシェイクを標的とした中間者攻撃)の脆弱性が発見されました。またPMF(Protected Management Frames: 管理フレームへの盗聴、改ざん、「なりすまし」を防ぐ管理フレーム)が、用意されていましたが、これはオプションであり必須ではありませんでした。
CCMP(Counter mode with CBC-MAC Protocol)
データの機密保持のためのカウンターモード(CTR: ブロック暗号を同期型のストリーム暗号として扱うもの)と、認証および完全性の検証のためのCBC-MAC(ブロック暗号からメッセージ認証符号を生成する手法)を組み合わせたCCMモード(認証付き暗号)を利用する暗号化プロトコル。TKIPに比べて遥かに安全。
WPA3 (Wi-Fi Protected Access 3)
- 導入時期: 2018年
- 目的: WPA2のセキュリティをさらに向上させること。
- 特徴:SAEハンドシェイク(鍵交換と認証を同時に行う鍵交換方式で、値の算出に両者のMACアドレスを用いて認証も同時に行うため、攻撃者による割り込みやなりすましがより困難となっている)によってセキュリティを向上させ、Easy connect機能によってQRコードから簡単に接続できるようになった。WPA2との互換性がありWPA2のセキュリティ拡張として提供されている。
WPAのパーソナルモード・エンタープライスモード
- パーソナルモード
主に家などで利用されます。事前共有鍵(PSK)を使って認証を行います。 - エンタープライスモード
主に企業などで利用されます。802.1X認証サーバーにより、端末認証・利用者認証を行います。EAP(Extensible Authentication Protocol)という認証プロトコルを利用します。- EAP-TLS(Transport Layer Security)
クライアントとサーバの双方に電子証明書を用意し認証を行う。 - EAP-TTLS(Tunneled TLS)
サーバ側のみ電子証明書を用意しパスワードによってクライアント認証を行う。 - EAP-PEAP(Protected EAP)
サーバ側のみ電子証明書を用意し電子証明書以外の認証手段でクライアント認証を行う。
- EAP-TLS(Transport Layer Security)
最後に
最後まで読んでくださり、ありがとうございました!
この記事が少しでもあなたの役立てば幸いです!
参考文献
Discussion