2014年8月27日水曜日

無線LANのセキュリティ完全解説と、気をつけるべき3つのポイント

MAX87_iphonesq20140531500
photo by pakutaso.com

猫と一緒にガジェットライフ♪ムチャ(@mutoj_rdm821)です。

はてなブックマークのホットエントリを見てたら、こんな記事を見つけました。
はてブのコメントでもいろいろ書かれていますが多くは以下のような感じです。
  • なにをいまさら・・・
  • そもそもセキュリティーは無線LAN区間だけの話では無い
  • 無線区間がどうあれ、上位でSSL(HTTPS、POP3S、SMTPS)を利用していれば問題無い
知っている人には至極当たり前のことなのでしょうが、今や子供やお年寄りまでスマートフォンを所持していて、そういった事情を知らない人が普通に無線LANを使う事は十分あり得る状況です。
そこで、無線LANのセキュリティについてまとめてみました。結論には何がマズいのか、どうすれば安心なのかを述べたいと思います。
※間違っていたらご指摘ください。

2014/08/27 19:30追記。ITmediaでも取りあげられてますね。


【目次】
  1. 前提条件
  2. 無線LANのセキュリティ一覧
  3. セキュリティプロトコルの種類
  4. セキュリティプロトコルの安全度を比較
  5. じゃあWPA2-EAP(AES)なら安全なのか?
  6. 公衆無線LANを使う時に注意すべき3つのポイント
  7. 家庭ではどうすれば良いか
  8. まとめ


前提条件


まずこの記事で言う「無線LAN」は、IEEE802.11で規格化された物を指します。
また、「無線LANのセキュリティ」とは以下の図で示す「無線LAN区間(端末~アクセスポイント間)」に限定されます。
2014-08-27_15h19_17

アクセスポイントを超えた先のインターネット~サーバーまでの通信については無関係です。


無線LANのセキュリティ一覧



セキュリティプロトコル認証方式暗号化方式暗号アルゴリズム暗号化キー安全度
WEPオープンシステムなし
共通鍵WEPRC4WEPキーそのもの
WPAPSKTKIPRC4パスフレーズを元に生成
CCMPAESパスフレーズを元に生成
EAPTKIPRC4EAPの認証情報で生成
CCMPAESEAPの認証情報で生成
WPA2PSKTKIPRC4パスフレーズを元に生成
CCMPAESパスフレーズを元に生成
EAPTKIPRC4EAPの認証情報で生成
CCMPAESEAPの認証情報で生成

なにやら用語がいっぱいあって分かりづらいと思いますが、一番右に安全度を入れました(ざっくりと自分の感覚ですが)。

✕になる組み合わせは脆弱性によりやろうと思えば第三者が通信内容を見ることができます。

△は技術的な裏付けまでは取れていませんが、通信内容を見ることができるかもしれない組み合わせです。

○は現時点では安全な組み合わせです。じゃあ○なら安全かというとそういうわけでもなく、×なら危険かというわけでもないのですが、それは後述します。

それでは、もう少し詳しい解説を加えます。

※無線LANのセキュリティにはSSIDステルスやMACアドレスフィルタリングもありますが、ここでは触れません。


セキュリティプロトコルの種類


区分をどのように名付ければ良いのかいろいろ調べたのですが、「アルゴリズム」だったり「プロトコル」だったりまちまちで、アルゴリズムと言ってしまうと「暗号アルゴリズム」と混同しそうなのでここでは「セキュリティプロトコル」としました。
無線LANのセキュリティプロトコルは以下の3種類があります。

WEP

IEEE802.11規格の一部として用意されたセキュリティプロトコルです。認証方式は全く行わない(→オープンシステム)か、事前に端末・アクセスポイントに設定された共通鍵によって行います。

暗号化方式にも「WEP」と記載していますが、WEP自体その辺があまり区別されていないというか、当時はその辺まで考えなくても十分だったという感じだと思います。

オープンシステムだと全く暗号化していないので、簡単に中身を見る事ができます。
共通鍵で暗号化されている場合も、暗号化方式に問題があり、ある程度パケットを集めると中身を解読できてしまう脆弱性が見つかっています。
従って、WEPを使っている場合は中身は見られているも同然です。

WPA

脆弱性が指摘されたWEPに代わる暗号規格として、IEEE802.11iという物が定められました。そのうち、当時のハードウェアでそのまま実装可能(ファームウェア更新など)なレベルでセキュリティを確保する物としてWPAが作られました。

暗号アルゴリズムはWEPと同じRC4を使いながら、暗号化方式を工夫したTKIP(Temporal Key Integrity Protocol)を使う事でセキュリティを高めました。
また、認証方式として以下の2つが定義されました。

WPA-PSK

PSKとはその名の通り「事前共有鍵」なのでWEPと同じじゃないか!と思われるかもしれませんが、設定したキー(WPAではパスフレーズという)をそのまま暗号化に使うのではなく、もうちょっと複雑なことをして接続の度に固有のキーを生成して暗号化に使います。また、一定時間毎に鍵を更新することもできるようになっています。

WPA-EAP

EAPはIEEE802.1Xで定められた認証方式によって安全な通信を確立した後に端末を認証し、固有の暗号キーを生成して使います。さらにEAPにもいろいろ種類があるのですが、そこまで行くと長くなってしまうのでここでは触れません(完全解説じゃないじゃん>すみません)。

(間違いやすいですが、IEEE802.1Xであり11Xではありません。IEEE802.1は有線無線含めたLAN/MAN全ての標準規格を決めるワーキンググループです。IEEE802.1Xは有線LANの認証にも使われます。Xを小文字で書くこともありますが、任意の1文字と誤認識されないように大文字で書くのが一般的のようです。)

WPA2

その後、IEEE802.11iの必須部分を実装したWPA2が定められました。暗号化方式にはCCMP、暗号アルゴリズムとしてAESを使用します。ただ、CCMPという言葉は無線LAN製品ではあまり出てきません(自分も調べて初めて知りました)。単にAESと書かれることが多いです。
WPA2にも認証方式はPSKとEAPがあります。

WPAとAES、WPA2とTKIPの組み合わせは?

これははっきりと分からないのですが、互換性のためにそれぞれ後になって用意されたようです。
例えば有名なところでは、携帯ゲーム機のPSPはWPA2には対応しておらず、WPAでしか接続できません。その場合でもWPA-PSK(AES)を使った方がセキュリティは高まります。


セキュリティプロトコルの安全度を比較すると

ざっくりですが、
EAP(AES)>PSK(AES)>>>EAP(TKIP)>PSK(TKIP)>>>>>>>>WEP
という感じです。
(EAPは接続するアクセスポイントの正当性を証明書で確認するという側面もあるので単純に比較できるわけでもないのですが・・・。)

TKIPにも脆弱性が指摘されています。
従って、暗号化方式にTKIPを使っているとセキュリティレベルは下がります。

また、PSKは利用者全員が同じパスフレーズを使うため、EAPに比べるとセキュリティレベルは下がります。公衆無線LANは「暗号化されている」と明示されていても単にPSKだったりするので、みんな同じパスフレーズを使っています。検証まではしていませんが、プロトコルの開始時点からパケットを収集していれば、内容を見ることも可能ではないかと・・・。

最近では、携帯各社もWPA2-EAP用アクセスポイント(SSID)と接続用アプリを用意しています。
  • docomo Wi-Fi:0001docomo(EAP-SIM認証にも対応)
  • au Wi-Fi SPOT:au_Wi-Fi2
  • ソフトバンクWi-Fiスポット:0002softbank
しかし、自動で接続されるため、電波状況によってはEAPではないSSIDへ接続してしまう場合もあります。


ではWPA2-EAP(AES)なら安全なのか?


「無線LAN区間だけはな!」
無線LANアクセスポイントから先は、話は全く別です。極端な話、アクセスポイントの間にPC挿して流れるデータを採取すれば傍受できます。
2014-08-27_16h49_52


公衆無線LANを使う時に注意すべき3つのポイント

話は単純です。
  • 公衆無線LANは基本的に「見られている」と心得る
  • 暗号化無しの無線LANだからといって危険というわけではないし、逆もしかり
  • 重要な内容は暗号化せずに送受信しない
3-kinds-of-ace
「この3つだ」(エースコンバットゼロ ©バンダイナムコゲームズ
ブラウザならSSL(TLS:SSLの後継)接続になっていれば(https://~)、通信内容は暗号化されています。これは無線LANよりも上のレイヤ(この辺はOSI参照モデルの話になるのですが割愛)なので、端末から相手のサーバーまでの間全てで暗号化されています。

メールソフトを使ってメールを送受信している方は、POP3s/SMTPs/IMAP4s(→over SSL)での接続になっているか確認しましょう。sの付いていない(SSL接続していない)場合は、公衆無線LANでメールソフトを使うべきではありません。
とはいえ、今や大抵のサービスはSSLに対応しているのでまず大丈夫なのではないかと思いますが、公衆無線LANを利用する場合は頭に入れておいた方が良いです。会社のメールを使う場合は、SSL接続に対応していないかどうかを確認してみてください。

これらを頭に入れておけば、例えばスターバックスの無料公衆無線LANサービスである「at_STARBUCKS_Wi2」は無線区間での暗号化はされていませんが、問題無く使えます。(要ユーザー登録で利用時はブラウザからログインする必要がありますが、その認証時はSSL接続になるため大丈夫です。)

2016/05/14追記

SSLのための証明書は悪意のある第三者でも取得できてしまいます。(ただしドメインは異なる)
URLがhttps~となっていて鍵マークが出ていても、ドメイン名が正しいかどうかは確認しましょう。記事最後にリンクしているEVSSL証明書かどうかも合わせて確認すればより安全です。

普段利用しているサービスでは、不意にユーザー名とパスワードを入力させる画面が出たらまず疑いましょう。偽サイトかもしれません。入力する前にURLをよく確認しましょう。



家庭ではどうすれば良いか

EAPに対応したアクセスポイントは基本的に法人向けで価格も高いです。また認証用のサーバーも立てないといけません。
しかし、家庭内無線LANではパスフレーズを公開する必要は無いわけで、WPA2-PSK(AES)を使っていれば大丈夫です。
とはいえ、あまり短いパスワードや辞書に載っているような単語を用いると、第三者に進入される可能性はあります。ここで「うちのLANに入られても何もないから大丈夫」と言う人がでてくると思いますが、侵入者がどこかのサーバーを攻撃した場合、警察はプロバイダーを通じて接続元を特定します。そうすると侵入された自分が犯人ということになってしまいます。

最近ではGPUパワーで総当たり攻撃でパスフレーズを突き止めるソフトも出現しています。家庭内無線LANとはいえ、きちんとしたパスフレーズを設定しておきましょう。
(よくパスフレーズを忘れて接続できない!という人が出てくるので、そういう人は忘れないようにアクセスポイントに貼っておいてください。外から見られなければ大丈夫です。)

2016/05/15追記

大抵の無線LANアクセスポイントにはセキュリティ設定として「ステルスSSID」と「MACアドレスフィルタリング」がありますが、どちらも素人が勝手に入ってくるのを防ぐ効果はありますが、本格的に侵入しようとする人間には無意味です。
飛んでいる電波を受信してフレームを解析すればSSIDとMACアドレスは分かりますし、MACアドレスは無線LANアダプタの設定で変更できる物があります。


まとめ:常にセキュリティ意識を持つ

無線LANは常に電波を周りに放出しています。無線LAN区間の暗号化無し、SSLも無しで通信しているのは拡声器で叫んでるのと一緒です。

無線LAN区間が暗号化されているとしても、それは外国語で叫んでいるのと同じくらいだと認識しておいた方が良いです。分かる人なら分かってしまいます。

普通にニュース記事やブログを見たりする分には問題ありませんが、重要な情報、特にメールはうかつにメールソフトでやりとりしていると気づかないかもしれません。一度設定を確認してみてください。


有線だからと言って安全というわけではありません。最近では銀行やクレジットカード、オンラインゲームの偽サイトに誘導するフィッシングが多く報告されています。これらはまた別の話です。そこでEV-SSL証明書というのが重要になってくるのですが、SSLとEV-SSL証明書の話はまた別の記事に書きたいと思います。

→書きました!必ず知っておきたいスマホ時代のセキュリティ:SSLの仕組みとEV SSL証明書 | 羽根帽子の太公望

それではみなさまよきガジェットライフを(´∀`)ノ
0 件のコメント :
コメントを投稿

▼こちらの記事もどうぞ

▼ブログを気に入っていただけたらRSS登録をお願いします!
▼ブログランキング参加中!応援よろしくお願いします。

スポンサーリンク