フリーwi-fiは危険?
HTTPS普及後に本当に警戒すべきリスクとは
目次
カフェや駅、空港などで使える「フリーWi-Fi」。便利な反面、なんとなく「セキュリティが心配…」と感じて、使うのをためらったことはありませんか?
ただ、HTTPSやTLSがWeb全体に行き渡ったことで、フリーWi-Fiを取り巻く脅威の中身は大きく変わっています。今回は、HTTP時代になぜ危険だったのか、HTTPSでどう解決されたのか、そして今も残るリスクは何かを整理します。
かつてのフリーWi-Fiがなぜ危険だったのか
2010年代前半までは、多くのWebサイトがHTTP通信を使っていました。HTTPは通信内容を暗号化しないため、ログインフォームからIDとパスワードを送信すると、その内容はほぼそのままの文字でネットワーク上を流れます。同じWi-Fiに悪意のある人がいれば、通信を読み取る専用ツールを使うだけで、その中身を見られてしまう状態でした。
危険だったのはパスワード送信時だけではありません。ログイン状態を保つセッションCookie(サイトにログインしたままにしておくための情報)もHTTP通信で送られていたため、これを盗まれると、パスワードを知らなくてもなりすましログインが可能でした。
TLS 1.3による暗号化が盗聴をほぼ無力化した
現在のWebでは、HTTPS(URLが「https://」で始まる通信)が標準になっています。中核を担うTLS(Transport Layer Security)は、大きく次の3つを実現します。
- 機密性:ID、パスワード、Cookieなどの通信内容を第三者に読めなくする
- 完全性:通信途中でデータが改ざんされていないかを確認できるようにする
- 認証:接続先が本物のサーバーであることを証明する
HTTPS通信の冒頭では「TLSハンドシェイク」が行われ、ブラウザとサーバーが証明書を検証しあったうえで共通の鍵を生成し、以降の通信をその鍵で暗号化します。
TLS 1.3ではECDHE(通信のたびに一時的な鍵を作る仕組み)が使われ、通信ごとに新しい鍵が生成されます。そのため同じフリーWi-Fi上に悪意のある人がいて通信を傍受できても、見えるのは意味の読み取れない暗号化データだけです。しかもセッションごとに鍵が変わるため、あとから解析して中身を割り出すことも現実的ではありません。「同じWi-Fiにいる誰かにパスワードを覗き見される」という、かつての典型的な脅威は、HTTPSの普及によっておおむね解消されたと言えます。
HTTPSでも隠せない情報とVPNの役割
とはいえHTTPSは通信の中身を守るだけで、次のような情報までは隠しきれません。
- 接続先のIPアドレス
- DNSへの問い合わせ内容(どのドメインにアクセスしようとしたか)
- 通信量やタイミング
つまり中身は読めなくても、「どこに」「いつ」「どれくらい」アクセスしたかは外部から推測されうるということです。ここで意味を持つのがVPNです。HTTPSが守るのは通信の中身、VPNが主に守るのは「どこに接続しているか」という部分です。VPNを使えば、Wi-Fi運営者からはVPNサーバーにしか接続していないように見え、その先のアクセス先は隠されます。逆に言えば、HTTPSで保護された一般的なWebサービスを使うだけなら、VPNなしで即危険というわけではありません。「VPNさえ使えば安全」と単純化しないことが大切です。
いま最も警戒すべきは「Evil Twin」
今のフリーWi-Fiで本当に注意すべきなのが「Evil Twin」です。これは正規のアクセスポイントになりすました偽のWi-Fiで、攻撃者は正規Wi-Fiと同じ名前、あるいはよく似た名前のアクセスポイントを近くに設置します。利用者はそれを本物だと信じて接続し、表示された偽のログイン画面にIDやパスワードを入力してしまうかもしれません。
Evil Twinは、偽の入口へ利用者を誘導して情報を入力させるフィッシング攻撃の一種です。厄介なのは、HTTPSはあくまで「通信相手との経路」を守る仕組みだという点です。利用者自身が偽サイトを本物だと誤認して情報を入力してしまえば、HTTPSによる保護は意味をなしません。自社サイトがどれだけHTTPS化されていても、利用者が別の偽サイトに情報を入力してしまえば防ぎようがない、という点は押さえておく必要があります。
パスキーがEvil Twinを無力化する仕組み
この問題に有効な対策の一つが「パスキー」です。FIDO2/WebAuthnという規格をベースにした認証方式で、秘密鍵をユーザーのデバイス側に保持し、サーバーには対応する公開鍵だけを登録します。ログイン時はサーバーからの確認用データにデバイス内の秘密鍵で署名し、サーバー側が公開鍵で検証する仕組みのため、パスワードのように「入力して送信する秘密情報」自体が存在しません。
パスキーの大きな特徴は、認証情報がドメイン(サイトのアドレス)に紐づいている点です。あるサイトで登録したパスキーは、原則としてそのサイトでしか使えません。そのため攻撃者が本物によく似た偽のドメインでフィッシングサイトを作っても、ブラウザやOSはそれを別サイトとして扱い、本物用のパスキーは呼び出されません。
パスワードは、利用者が偽サイトだと気づかずに入力してしまえばそのまま漏洩します。しかしパスキーは、ブラウザやデバイス側が接続先を自動で確認する仕組みのため、偽サイト上では認証プロセスそのものが成立しません。人間の注意力に頼らず、仕組みの側で自動的にフィッシングを防いでくれる認証方式であり、Evil Twinのような攻撃に非常に有効です。自社サービスの認証方式を検討する際にも、押さえておきたいポイントと言えるでしょう。
まとめ
かつてフリーWi-Fi最大の脅威は通信の盗聴でしたが、HTTPSとTLSの普及によりそのリスクは大幅に低下しました。今のWebセキュリティでは、「どのネットワークから接続するか」よりも「どうやって本人確認をするか」という認証の観点が重要になりつつあります。フリーWi-Fi自体を過度に恐れる必要は薄れてきた一方、利用者の認証情報を守るには、パスキーのような新しい技術への対応が求められています。