セキュリティポリシー

なぜHTTPSの利用を推奨しないか

HTTPS利用の非推奨の概要

r5f.jpの公開情報の閲覧に際し、サーバへの接続にHTTPSを利用することは、 可能ではありますが基本的に推奨しません。 特別な必要に応じて、あるいは何らかの利便性の確保のためにHTTPSを 利用できるように、サーバはHTTPSが利用できるように設定されていますが、 多くの人は暗号化されないHTTPを利用する方が良いでしょう。

理由は単純です。 r5f.jpでは、HTTPSの利用によって確保される通信の機密性, 完全性のいずれも、 必要とされるコンテンツが提供されないからです。

例外として、PGP公開鍵の ダウンロード及びFingerprintの確認にはHTTPよりHTTPSの利用を推奨します。 ただしこの用途には、HTTPSよりも信頼できる、 より適切な方法があるかもしれません。


そもそもHTTPS(TLS)は何のためのものか

HTTPSは、TLSと呼ばれるセキュリティ機能を利用した通信方式です。 この利用によって、通信の機密性と完全性を確保できます。 具体的には、r5f.jpからHTTPSでコンテンツを取得する場合、 アルゴリズムと実装、インフラ及び利用方法に欠陥がない限り、 次のことが保証されます。

  1. 通信の相手が確かにr5f.jpというドメインの持ち主、 あるいは持ち主が認めた代理(以下、正規のサーバ)であること
  2. 自分の送信したメッセージ(コンテンツのリクエスト)が、 改竄されずに正規のサーバに届くこと
  3. 受信したコンテンツは確かに正規のサーバによって送信されたもので、 通信の内容が正規のサーバと自分の間で改竄されていないこと
  4. 送受信したコンテンツが正規のサーバと自分の間で傍受されたとしても、 その内容が暗号化されていて、追加情報なしには復元できないこと

何らかの理由で1番の確認が達成できない場合、サーバとの接続は失敗します。 2,3番についても、達成できないとわかった段階で接続が打ち切られ、 改竄されたデータが届くことはありません。

簡単に言うと、HTTPSは、 通信の相手と内容が本物であることを保証(完全性の確保)し、 かつ通信の内容の傍受を不可能にする(機密性の確保)プロトコルです。

HTTPSを使うことによる不利益

すでに紹介したように、安全な通信を可能にするHTTPSですが、 当然その安全性の確保のためのトレードオフがあります。HTTPSの 利用によって増える主な不利益は次のとおりです。

  1. 通信の開始に時間がかかる
  2. 署名と暗号化のための計算が必要である
  3. プロキシ等によるキャッシュを阻害する

1番については体感的にわかりやすいと思います。HTTPSでは、 通信の開始時にTLSハンドシェイクを必要とするために、 素のHTTP通信と比較して(環境によりますが)数倍余計に時間がかかります。 この影響は通信の遅延が大きいモバイル回線では顕著です。 この遅延を小さくする方法(keep-aliveやより新しいTLS、QUIC等)も ありますが、暗号化をする通信と暗号化をしない通信では、 双方を同程度に最適化した場合は暗号化しないほうが速いのは明らかです。

2番目の問題はユーザには知覚しづらい問題です。 特にクライアントサイドに限って考えれば、 近年のCPUの性能はTLS程度であれば計算負荷が無いものとして扱っても いいのではないかというほどに向上していますから、 これは大きな問題でないようにも見えます。 しかし、大量のリクエストを捌く必要のあるWebサーバにとっては違います。 HTTPSのための計算負荷の増大は、(社会全体で見れば)確実にサーバの コストを増大させていると考えています。 ただし幸いなことに、r5f.jpはさほど人気のあるWebサイトではありません ので、Ablenetの最も安価なプランに収まって、余裕があります。

3番目の問題は、現在のインターネットでは多くの場合無視できます。 しかし、将来のことを考えるならばこの問題は重大です。 現在問題になっていない理由は単純です。 ほとんどのユーザがキャッシュサーバを通さずにWebを利用してるためです。 しかし、キャッシュサーバは不必要な長距離のデータの転送を避けるのに 非常に有用です。 私はHTTPSの利用がキャッシュの普及を妨げる要因になっていると考えています。 不必要なHTTPSの利用は通信路でのキャッシュの普及を阻害し、 インターネットの将来の可能性を狭めることに繋がります。

なぜHTTPSによる完全性の確保が不要か

セキュリティの分野では完全性は、 簡単に言うと、情報が「本物である」性質です。 HTTPSは、Webページが正規のサーバから送られた 本物であることを確認します。

この機能は通常、r5f.jpの利用では不要です。 なぜなら、r5f.jpの情報はそもそも信頼できないからです。 信頼できない情報が本物か偽物かという情報は、 おそらく多くのひとにとっては問題になりません。 もし、私の書くこと(つまりr5f.jpに書いてあること)すべてを真実であると信じ、 鵜呑みにする方が居るならば、直ちにやめてください。r5f.jpで公開している すべてのコンテンツは完全に無保証です。

それでも利便性のために、 ある程度の信頼をしたくなることはあるでしょう。 たとえば、archive.r5f.jpで公開しているソフトウェアを利用したい場合、 更新のたびにソフトウェアに問題がないか検証するのは現実的でなく、 そのため私を(ここで公開するソフトウェアに限って)限定的に信頼することで 手間を削減しようとするのは良い方法かもしれません。 この用途のためにarchive.r5f.jpのソフトウェアには、PGPを利用した方法で 署名が施されています。(そのためHTTPSは不要です)

このような限定的な信頼をするための発行元の確認の用途では、HTTPSは ある程度役に立つことがあるかもしれません。 ただし、その用途には十分な注意を払ってHTTPSを利用してください。 必ず、その利用によって何が保証されるのかを意識してください。

なぜHTTPSによる機密性の確保が不要か

セキュリティの分野では機密性は、 簡単に言うと、情報が「権利のない人に窃取されない」性質です。 HTTPSは、クライアントのリクエストとサーバのレスポンスが、 通信路上で容易には盗聴できないようになっています。

この機能は通常、r5f.jpの公開情報には不要です。 それは公開情報であり、盗聴されても困らないからです。 HTTPSによる機密性の確保が役に立つとすれば、 それは「あなたがr5f.jpのどのコンテンツを閲覧しているか」を 秘密にしたいときです。

もしも、「あなたがr5f.jpのどのコンテンツを閲覧しているか」が 決して他人に知られてはいけない秘密ならば、HTTPSの利用は不適切です。 これを完全に秘密にしたい場合、HTTPSは無力です。 なぜなら、HTTPSを利用することで通信を暗号化しても、 通信の量とタイミングは通信路上のすべての人が把握できるからです。 リクエストに対するレスポンスの大きさから、あなたが何を見ているかは ほとんど推測できるでしょう。 ちなみに、「あなたがr5f.jpと通信していること」それ自体を 隠す機能はHTTPSにはありません。

それでも、なんとなく通信内容を眺めているだけの人に、 あなたの通信を(少し見ただけでは)わからないようにすることはHTTPSでも 可能です。 そのような人に対する対策が必要な場合、HTTPSは有用かもしれません。 ただし、その用途には十分な注意を払ってHTTPSを利用してください。 秘密を知られない必要があるならば、本当に自分の対策が十分か 気をつけるように心がけるべきでしょう。

なぜHTTPSの利用を推奨しないか

ここまで読んでいただければ、なぜ私がHTTPSの利用を推奨しないか わかっていただけると思います。 それは、HTTPSの利用によって得られる利益がほとんど無く、 また、HTTPSの利用には利益だけでなく不利益もあるからです。

現在のインターネットには、深く考えること無く漫然とHTTPSを利用している 人が多いように思います。 深く考えること無くHTTPSに対応していないWebページを悪く言う人もいます。 ひどい例では、平文による通信が可能になっているだけで悪く言う人もいます。 しかし、これは非常に良くない傾向です。 安全だと信じてHTTPSを利用するより、一定の危険を認識してHTTPを使うほうが 遥かに安全だからです。 セキュリティについて深く考察したことのない人に、HTTPSを通じて よく考えてもらうために、r5f.jpではHTTPSの利用を 推奨しないという方針を決めました。 よく考えた人が、考えた結果HTTPSを利用することは止めません。

議論

セキュリティに関する私の考え方は、 多くのインターネット利用者と違っているようです。 私は自分と違う主張を見聞きし、考えるのが好きなので、 私の考えに異議のある方には、ぜひご自分の考えを私に教えてほしいです。

Author: dyknon < dyknon r5f jp >