情報セキュリティの種

情報セキュリティに関するギモンをまとめています。

SSL/TLSで通信を暗号化しているのに、なぜ無線LANの暗号化が必要なのか?

冷静に考えればわかることだけど、念のためまとめてゆく。

 

きっかけ

カフェで公衆Wifiを使おうと思ったところ、NTTのサイトが出てきて「WEPなどの暗号化はされていません。ご承知を。」的なメッセージが出てきた。

きっかけは「なんでWEPを例に挙げているんや」という部分だったものの、ふとタイトルの「そういえばなんでSSL/TLSでエンドtoエンドの通信暗号化しているのに、無線LANで通信暗号化せなあかんのや?」と考えた。

 

一言で言うと・・・

すべての通信が、適切にSSL/TLSで暗号化されているとは限らないから。

 

まず、SSL/TLSの通信暗号化について

SSL/TLSはサーバとクライアント間の通信を安全に行うための技術で、大きく3つの目的がある。

  1. 通信を秘匿化(*1)することで、盗聴を防止する
  2. 認証局に認められた証明書を公開することで、なりすましを防止する
  3. 送信・受信時のハッシュ値を比べることで、改ざんを防止する
    (ハッシュも暗号化技術のだけど、1と区別するためにこう表現。)

*1 今回は細かいSSL/TLSの仕様には触れないので"秘匿化"って抽象的に書いたけど、かみ砕けば「他人が読んでもわからないように。私たちだけがわかるようにしようね」ってこと。

 

次に、無線LANの通信暗号化について

無線LANの暗号化はアクセスポイントとクライアント間の通信を安全に行うための技術で、以下のような目的がある。

  1. 無線LANへの接続を認証することで、無線LAN不正利用を防止する(暗号化の技術ではないけど、暗号化とセットで導入されているため記載)
  2. 通信を秘匿化することで 、通信の盗聴を防止する
  3. データの整合性を確認することで改ざんを検知、防止する 

結局、通信を安全に行うっていう目的はSSL/TLS暗号化を同じ。ただしここで注意すべきなのが、この章の1行目。「無線LANの暗号化はアクセスポイントとクライアント間の通信を安全に行うための技術」であるということ。

つまり、アクセスポイントとサーバの間の通信は範囲外になる。

 

結局、何が違うのか?

アクセスポイントの認証の有無と、暗号化のカバーする範囲が違うかと。

やっぱりどちらか一方だけだと、機能が不足するのは事実。

ケース 不足する機能
SSL/TLS暗号のみ アクセスポイントの"認証"は行われない。(認証の不足)
無線LAN暗号のみ サーバとアクセスポイントの間の通信の安全性が保障されない(カバー領域の不足)

ただし、1つ目の認証の不足については、実は大きな問題にならなかったりする。

というのも、公衆LANであれば自由に使うことが目的なので認証はそもそも要件として不要だし、緩和策として最近はWeb認証(http://musenlan.biz/solution/webauth.html)という方法もある。

問題なのは2つ目。アクセスポイント~サーバまでのインターネット空間は何を経由してどんな経路でだれがアクセスしているかもわからない。やっぱりSSL/TLSでエンドtoエンドの暗号化をしないと安全とは言えない。

 

てことで、「あれ、SSL/TLSがあれば無線LANの暗号化って必要?」という疑問に。

 

本論。SSL/TLSで暗号化すれば、無線LANの暗号化は不要なのでは?

結論言ってしまえば、無線LAN暗号は必要。

なぜか。それはすべての通信が適切にSSL/TLS暗号化されているとは限らないから。

 

最近は政府系システムの基準を変更して常時SSLを義務化したり*1Chromeでも全HTTPサイトで警告を出すようになったりして*2、漠然と「もうどんな通信も暗号化されてるんだろうなあ」と思っちゃってる自分がいた。

 

ただ、以下のようにSSL/TLS暗号化されていない通信はいくらでもある。

  • SSL/TLSが最初から実装されていない。
    (例:サーバ管理者の不備であったり、一般的に平文でやり取りするDNS通信)
  • SSL/TLSが実装されているが、適切ではない。
    (例:脆弱性をつかれて、SSL/TLSのバージョンが下げられている。)

特にブラウジング以外、つまりスマホアプリとか、ゲームなどの通信では暗号化が十分に行われていないケースもまだまだある様子。ゲームやアプリだとブラウザのようにSSL/TLSで保護されているかなどが分かりづらい。

 

諸々考えると、やっぱり全通信がSSL/TLSで暗号化される未来は来ないのかもしれない。必ずどこかにスキができる。

そのリスクを見越して、「最低限、アクセスポイントとクライアントの間だけでも暗号化をしておく。」ということが必要なのだと思う

 

結論

 繰り返しになるけど、すべての通信がSSL/TLSで暗号化されているわけではないので、無線LANの暗号化は実施しておくべき。

あとは暗号化とセットで、必要に応じて認証もちゃんとかけるべき。ウォードライビング(車などを使って脆弱なAPを探す)とかの脅威もあるしね。 

 

あとは、必ず安全な暗号化方式を使いましょう。利用する無線LAN暗号の方式によっては、事前共有鍵を持っているユーザであれば、暗号化されていても他人の通信内容を閲覧できる状態になるってじっちゃんが言ってた。

 

あとがき

今回は本当にいろんなサイトを調べた。特に海外のサイトを大量にサーフィンした。。また、一部セキュリティ界隈の重鎮にも話を聞いた。いつか、お礼をしたい。

同じような疑問を持っている人が読んで理解してくれたらうれしい。

 

以上