The Rank of F

〜渋谷で働く底辺のブログ〜

雑記 : 常時SSL化とインターネットの性善説が死ぬ日

要約

  • もはや「HTTPSだから安全」なんて嘘だよ
  • 常時SSL化(全てHTTPS通信へ)の波が来てるよ
  • 暗号化通信には相応の処理負荷がかかるよ
    • 特に携帯電話とかだとバッテリ持ちとかに影響するよ
    • 「自由でオープンな」性善説のインターネットは死につつあるよ
    • 現状のインターネットを支える技術の多くは性善説に基づいて作られているよ
    • 性悪説で構築されたインターネットは多くの代償を伴うよ
      • なんだか皮肉な話だよね

はじめに

近年,Webサービスの多くでHTTPS(常時SSL)化が進んでいる。

暗号化されていないHTTPS,つまり元々のHTTPでは平文で情報が送受信される。平文で情報を送受信するということは,経路を流れるパケットを覗き見るだけで通信の内容を把握できるということになる。

これはクレジットカード番号などクリティカルな情報を扱うのには危険であり,2000年代頃からはインターネットショッピングサイトやクレジットカード情報を扱うサイトにおいてHTTPSが導入され始めた。

HTTPS通信は公開鍵暗号を元に暗号化して通信を行う。経路上からパケットを覗き見たとしても,通信の内容を把握することは一般的に不可能である。

また,HTTPSにて用いられる「証明書」(電子証明書)にはいくつか種類があり,通信の暗号化に加えそれぞれ以下のレベルの保証が行われる。

DV (Domain Validation)証明書

アクセス先のドメイン(例えばzeri.io)がそのサーバーに紐づくものであることを証明する。現状,Let"s Encrypt等で個人でも費用なしで取得することが可能。

OV (Organization Validation)証明書

アクセス先のドメインがそのサーバーに紐付き,また特定の組織の管理下にあることを証明する。

EV (Extended Validation)証明書

アクセス先のドメインがそのサーバーに紐付き,また特定の基準に従い存在が確認された組織の管理下にあることを証明する。

「証明書」の詳細な説明はWikipedia本業の業者さんにおまかせするとして,ここで重要なのは現時点においてDV証明書はそのサーバーにアクセスするユーザーにとって通信の暗号化が行われる以外に何も保証しないということである。

今や,HTTPSだから安全なんて口が裂けても言えない状況になってしまった。

性善説から性悪説

HTTPというプロトコルが誕生した時,世界のインターネットは今よりもはるかに小さく,ごく限られた人だけがアクセスできるものだった。

利用する人が限られた存在だった当時,平文で情報を送受信することに何ら不都合はなかったし,そもそも現代と比べてハードウェアの性能が低く,暗号化を行うことにメリットがなかった。

しかしインターネットは急速に普及し,当然のことながら悪用しようとする人が現れるようになった。

通信経路上に盗聴機能を持つ機器を仕込むことにより,HTTP通信は中身を覗き見られてしまう。

例えばWebサイトへのログインであるが,HTTPはそもそもステートレスなプロトコルであり,Webサイトは利用者の判別をセッション(サーバーサイド)とセッションCookie(クライアントサイド)を用いて行う。

HTTPであれば,このセッションCookieも平文で送受信されてしまうのである。

このセッションCookieが盗まれると,あたかもその利用者であるかのようになりすましてWebサイトにアクセスされてしまう。(セッションハイジャック)

このような存在から身を守るため,インターネットは「暗号化された安全な通信」を提供しなければなくなった。

その結果生まれたのがSSL/TLS証明書と認証局であり,それを用いた暗号化通信プロトコルHTTPSだった。

「常時SSL化」の波

2000年代,クリティカルな内容(主に金銭の絡むサービス)を含む通信ではHTTPSが使われ始めるようになった。しかし,それ以外の多くのWebサイトではHTTPが主流であった。

HTTPは平文で情報を送受信する。例えば掲示板に何か書き込もうとする時,通信経路上に傍受可能な何かを仕掛けられた場合,何を書き込んだのか一字一句わかってしまうのだ。どのサイトにいつアクセスしたのかも完全に筒抜けになってしまう。

近年,情報技術の発達により皮肉にも通信経路上に盗聴器を仕掛けるのは容易になり,また プライバシーを尊重する流れが少しずつ高まってきた。誰だって自分がどのサイトを見ていたかを知られたくはないだろう。HTTPは次代のニーズに取り残されるようになってしまった。

そんな中,大手Webサービス(Google, Twitter等)は常時SSLという選択肢を選んだ。

これはHTTPによる平文での通信をやめ,全ての通信を暗号化するということだ。確かに当時に比べてハードウェアが持つ計算資源も増え,また暗号化を支援するハードウェアが実装されるようになり,プライバシーの観点からも合理的な選択だった。

常時SSL化の代償と性善説の死

常時SSL化はプライバシー面では良いこと尽くめのように思えるが,相応の代償を伴うものでもある。

通信環境への負荷の増加

暗号化通信を行うことで通信量は増加する。また,暗号化・解読処理が間に挟まることにより必要な計算資源が増え,体感速度にも影響を及ぼすことになる。※1

モバイル端末における処理負荷の増大とそれによるバッテリー消費

モバイル端末(スマートフォンタブレット)はまだまだPCに比べて処理能力に不足がある。このようなデバイスで暗号化通信を行うと,処理負荷の増大及びそれに伴うバッテリー消費量の増加が発生し得る。 特に,小さな通信を何度も繰り返すゲームアプリケーションにおいては深刻な問題になり得る。

パケット解析型ファイアウォールでの対応が困難・高負荷

HTTP時代は平文で情報が送受信されていた。その為企業に導入されるパケット解析型ファイアウォールなどでは通信内容を解析した上で悪質なプログラム・コードが含まれていないかを検出し,遮断する機能を持つものがあった。 しかし,HTTPS通信では通信の内容が暗号化されているため容易にこのような処理を行うことが出来ない。最近のファイアウォールではSSL/TLS通信の復号化機能を備える(善意とは言えもはや中間者攻撃だと思うのだが...)ものもあるが,高価であり,やはり多くの計算資源を消費してしまう。

性善説の死と性悪説の虚しさ

上記のように,性善説から生まれたインターネットは死につつある。幸いにも暗号化・復号化に関わる負荷については,PC・モバイル端末共にハードウェア支援の実装が進んでおり,負荷やバッテリ消費も許容可能なレベルになりつつある。

しかし,暗号化通信が非暗号化通信よりも計算資源を用いるものになることに変わりはない。常時SSL化は確かに安全を実現する手段の一つだが,本当に全ての通信に暗号化は必要なのだろうか。

計算資源を消費するということは,それだけエネルギーを消費するということでもある。性悪説の時代のインターネットが消費する計算資源のうち,一体何%が悪意から身を守る為に費やされているのだろうか。

また,インターネットを支える技術の多くは性善説に基づいて作られているものが多い。もちろんこれらを性悪説で設計しなおそうとする流れもある。

しかし仮に性善説がまだ成り立つのであれば,人間とコンピュータがどれだけ時間的・エネルギー的コストから解放されるのかを考えると,進む道はこれで正しいのかとふと疑問に感じてしまうことがある。

※1 : 常時SSL化と同時にHTTP/2への対応が行われる事も多いが,ここではHTTP/2による圧縮及びHTTPパイプラインの導入による効率化は加味していない。