無線LANにまつわるセキュリティの課題を再確認しよう:サイバーセキュリティ・ピックアップ(1/3 ページ)
これから技術を学ぶ新人エンジニアの皆さまへ――私と一緒に、もう一度サイバーセキュリティの基礎を学んでいきませんか? 知ってるつもりの知識を再度見直す新連載のスタートです。
皆さん、こんにちは、久山真宏と申します。
今回から始まる連載「サイバーセキュリティ・ピックアップ」では、私が気になった技術を学んでいく過程で調べたことを、誰もが分かるようにまとめたものを記事として公開していきます。おそらく、新人エンジニアはいろいろなことを調べ、自分の知識にしていかなくてはなりませんし、ある程度シニアになったエンジニアですら、間違って覚えてしまっている基礎知識があるかもしれません。そこで、私と一緒にもう一度、基礎から見直してみるのはいかがでしょうか。
検索エンジンにキーワードを入れただけでは出てこないようなものや、よく勘違いして覚えているようなことを、この記事で紹介できればと思っています。第1回は皆さんもよく使っているであろう、無線LANを活用した「公衆無線LAN」における盗聴問題について紹介します。
無線LANセキュリティのいま、そしてこれから
2020年の東京五輪開催が決まったことで、多くの旅行者が日本にやってくると予想されます。いまはスマートフォンが当たり前の時代ですので、海外からの旅行者も簡単に公衆無線LANが利用できるようにするための整備を、総務省が主体となって進めています。
しかし、無線LANは電波で通信を行うため、有線LANとは違い、電波を受信できる環境があれば、誰でも盗聴が可能になるといった問題が発生します。
そこで今回の記事では、公衆無線LANを利用する際に発生するセキュリティ上の問題に焦点を当てて説明します。また、説明の都合上、単に無線通信を用いたLANシステムのことを「無線LAN」、無線LANを多数の人に提供するサービスのことを「公衆無線LAN」と定義して説明します。
そもそも「公衆無線LAN」とは?
まずは、公衆無線LANをおさらいしておきましょう。公衆無線LANとは、 外出先や旅行先などで、無線LANを用いて端末をインターネットに接続できるサービスのことを言います。有料のものから無料のものまで、幅広く提供されています。
誰もが利用できる半面、公衆無線LANを利用する場合は、通信内容の盗聴を始め、セキュリティ上の問題に注意が必要です。よく無線LANでも暗号化されていれば安心だと考えられていますが、公衆無線LANにおいても同じことが言えるのでしょうか?
無線LANのセキュリティ
無線LANのセキュリティを考えてみましょう。公衆無線LANでは、LAN内を誰が利用しているか分からないこともあり、盗聴や改ざん、そして情報窃盗など問題を抱えています。
例えば、無線LANの識別子(SSID)が「ABC_○○WIFI」の公衆無線LANがあった場合、それと同一のSSIDでアクセスポイント(AP)を構築することで、利用者に気付かれずに公衆無線LANになりすましたAPへ不正にアクセスさせることができます。その後、クライアントが持つ情報を抜き取り、相手になりすまして犯罪を行うといったこともできてしまうでしょう。
実際に、公衆無線LANサービスである「FON」の自動接続をオンにしていると、FONが提供しているAPにつながります。FONになりすました悪意のあるAPがあったとすると、意図せずにつながってしまい、FONの利用に必要となるIDやパスワードが抜き取れてしまうといった手口があるのです。
他にも、通信内容を差し替えて偽のデータを送りつけることで情報窃盗が可能な中間者攻撃、アプリケーションのキャッシュに不正なコードを仕込むアプリケーションキャッシュポイゾニングなど、公衆無線LANをきっかけとする手口は挙げればきりがありません。
この中でも問題なのは、アプリケーションキャッシュポイゾニングでしょう。この攻撃を受けてしまうと、その後に安全なネットワークに移動してもキャッシュ内に不正なコードが残っているため、被害が継続する可能性があります。例えば、遠隔操作を行えるコードが仕組まれた場合、たとえ公衆無線LANの使用を止めてもその機器は知らない間に第三者に操られることになります。遠隔操作ウイルス事件では、四人もの誤認逮捕があったことが報じられましたが、自分自身の無用心で事件に巻き込まれることがあることを留意しなくてはいけません。もし、過去に公衆無線LANへ接続したことのある場合、遠隔操作によって不正アクセスの踏み台に使われていないか確認をされることも重要です。
無線LANの盗聴対策「暗号化」の基礎
では、特に通信内容をのぞかれてしまう「無線LANの盗聴問題」にフォーカスして考えてみましょう。
無線LANの盗聴対策に用いられるのが「暗号」です。無線LANのセキュリティを高める手法として、以下のような方式があります。いくつかは聞いたことがあるのではないでしょうか。
- WEP
- WPA
- WPA2-PSK(WPA2パーソナル)
- WPA2エンタープライズ
- ……他
この中でも、「WEP」は暗号の解読手法が公開され危険であることが知られています。そこで、無線LANを用いる場合は、WEPよりも強固な暗号方式である「AES」で暗号化された無線LANを利用すれば安全である、という解説記事も多くあります。
この「AES」は、無線LANの規格でいうところの「WPA2-PSK-AES」方式のことを指しており、強固なセキュリティが実現されていると考えられています。しかし、実際にはWPA2-PSK-AESを利用しても万全ではなく、一定の条件下では簡単に暗号を解読することができてしまいます。というのも、無線LANをクライアントが利用するにはパスコードと呼ばれるパスワードを入力しますが、公衆無線LANにおいては全てのクライアントが同一のパスワードを利用するためです。これは、言い換えると、暗号に用いる鍵を全ての人が共有していることになるため、パスワードを知っている人であれば、誰もが暗号を解読することが可能になるということです。
「WPA2-PSK」:あらかじめキーをシェアする方式を理解する
WPA-PSKやWPA2-PSKを用いてクライアントとAP間の接続確立について大まかな流れを簡単に説明します。まず、事前に利用者へAPを利用するためのパスワードを共有しておきます。そのパスワードからマスターキー(PMK)を生成します。このPMKは「事前共有鍵」ともいわれます。
次に、「4-way handshake」でMACアドレスと乱数を交換してテンポラリキー(PTK)を生成します。このPTKを用いてgroup-key handshakeを行い、実際にデータのやり取りを行う暗号通信に用いるためのグループキー(GTK)を交換します。
実際の通信はクライアントごとに異なるGTKを用います。さらに、このGTKは定期的に変更されるため、解読が困難になっています。しかし、この時に用いられるパスワードは利用者間で同一のパスワードを用いるため、パスワードを知っている人が一連の流れを最初からすべて盗聴していた場合、4-way handshakeでやり取りされる情報からPTKを生成することでgroup-key handshakeを解読することができ、それにより得られたGTKで暗号通信が解読可能となってしまいます。
公衆無線LANでの暗号化は無意味なのか
公衆無線LANでWPA/WPA2を用いた暗号化を実施したとしても、利用者はパスワードを知らなければ利用ができません。つまり、事前に知り得ることのできるパスワードからPMKを生成し、他者の通信のやり取りを盗聴することで他者の暗号通信を解読することが可能になってしまいます。
この弱点は、パスワードを事前に共有しなくてはならないことに起因しています。そこで、安全にパスワードをやりとりする方法や、通信自体を別の方法で暗号化するなどの手法が考えられます。順に紹介していきましょう。
Copyright © ITmedia, Inc. All Rights Reserved.