BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース HTTPを強化する

HTTPを強化する

原文(投稿日:2014/01/05)へのリンク

以前、HTTPbis Working Groupで行われているHTTP 2.0の策定作業についてレポートしたが、最近、Working Group議長のMark Nottingham氏がそのプロトコルのセキュリティ要件に関するグループの取り組みについて、個人的見解を投稿した。

最近、インターネットプロトコル界隈で一番ホットな話題のひとつは、Edward Snowden氏によって世界に知れ渡ったpervasive monitoring攻撃に対して、Webのプロトコル、HTTP/2の最新バージョンが暗号化使用について何かを要求したり、推奨したり、言及するかどうかです。

Mark氏はこれまでの簡単な経緯について、特に、SPDYとセキュリティに関して次のように述べた。

Mike (Belshe)氏とRoberto (Peon)氏がSPDYを我々のところへ持ってきたとき(「Snowden氏」がその名を知られるずっと前のこと)、すでにSPDYの実装は暗号化にTLSを使うことを必須としていました。これは実用的な理由(中間にいるものがそれを知っていないと、HTTPの新バージョンを導入するのは本当に難しい)と高尚な理由のためでした。

セキュリティを必要としない場合のユースケースのため、また、それを必須とすることには異論があるため ...

[...] 仕様我々の憲章も、暗号化および非暗号化コネクション上でHTTP/2を使えるという暗黙の了解という問題について何も言及しておらず、実装が何をサポートすべきかを決めていました。

Snowden氏の登場とXKeyscoreの暴露により、IETFでは大きな方針転換があった。BerlinのWorking Groupミーティングでは臨時セッションが開かれ、「もっと暗号化を使うことでHTTPのセキュリティを改善する」という強いコンセンサスが生まれた。IETFではその後もさらに議論が重ねられた。

TLSをもっと使うこと(それにより、pervasive monitoringなどの攻撃に対して防御すること)が共通のゴールだということは非常にはっきりしていましたが、そのための手段はいろいろとあって、このゴールをどのように実現するのが最善か、何が適切なトレードオフなのかについて、多くの議論と反対が繰り返されました。

Mark氏は、ChromeとFirefoxの開発者からは、TLSによって保護される場合に限りHTTP/2をサポートするという強力な支持があることを語った。彼の考えが前進するための最善の方法であることを説明するため、他のブラウザ開発者やセキュリティ専門家とも話した。

[...] 通常のWebブラウジングのケースにおいて、ブラウザとの幅広い相互運用を求めるなら、HTTP/2サーバはTLSを使用する必要があります。— Mike氏とRoberto氏がSPDYでやったのと同じようにです。でも重要なことは、必ずしもプロトコル仕様自体がTLSの使用を要求する必要はないということです。

Mark氏は自分の提案の背景、もっとセキュリティを必要としているグループもあれば、HTTP/2の使用すべてに暗号化を必須とするのはIETFにふさわしくないと考えている人たちもいることについて話を続ける。こうした状況では、IETFが決定に至るのは難しい。特に、こうした問題には、Mark氏の言葉で言うところの「政治」がつきものだ。

政治的な判断というのは、政府を攻撃者と疑っているからではなく、HTTPがプロキシベンダー、ネットワークオペレータ、企業のファイアウォールなど、たくさんの既存のステークホルダで使われているプロトコルだからです。HTTP/2で暗号化を必須とするということは、これらのステークホルダの権利が奪われるということです。

しかしながら、IETFとWorking GroupがHTTP/2プロトコルに柔軟性と明確さがあることを保証することで、さまざまな選択肢のメリット、デメリットについて必要な議論を促すことができると考えている。

たとえば、現在のHTTPの設計では、暗号化を使うかどうかの判断は、完全にサーバ任せです。ユーザがやれるのは、URLが“HTTP”か“HTTPS”かを見て(あるいは鍵のアイコンを見て)、続行するかどうかを決めることだけです。もっと調和のとれたWebとは、クライアントもこの決定に入力を与えられることでしょう、サーバが暗号化をサポートするよう人参をぶらさげて — FirefoxとChromeがやっているように、暗号化されたときだけHTTP/2をサポートするなど。

この場合、判断は標準ではなく、むしろブラウザベンダーによってなされることになる。次は何か? 別のHTTPbis Working GroupミーティングがZurichで開かれ、Mark氏は重要な問題を解決する提案を求めている。

多くのブラウザ実装者は、「オープン」なインターネット上のトラフィックのため、HTTP/2 over TLSだけを実装すると意思表明しています。彼らはhttps:// URIのためだけにHTTP/2を実装することによって、それを実現することができます。新しいプロトコルを使いたいサイトは、http:// URIをリダイレクトする、できればそのアップグレードにHSTSを使う必要があります。これもまた、必ずしも要求として(つまり、MUSTやMUST NOTを使って)仕様化する必要はありません。こうしたブラウザで新しいプロトコルを使いたいサイトは、先ほどのパターンを実装することになるでしょう。ただし、相互運用を促進するため、ガイドラインや骨組みとなる要件が必要になるかもしれません。このissueは具体的な提案を集めるためです。

つまり、HTTP/2標準がTLSを必須としなくても、ブラウザ実装がTLSを必須とするかもしれないということだ。だがMark氏が指摘するように、後からHTTP/2でTLSを必須にするブラウザ実装は、企業のプロキシがトラフィックなどを調べられるようにという圧力を感じるかもしれない。もしそうなったときには、標準の相互運用性を保った協調のとれたやり方で扱われることが重要だ。最後にMark氏は、決定はまだなされておらず、別の結果になる時間が残されていることを覚えておくよう述べている。そして、Working Groupは常にこの議論に関する他人からの意見を聞くことに関心を持っている。最終的にIETF Working Groupでなされる決定は、今後多くの人に影響を与えることになるだろう。

この記事に星をつける

おすすめ度
スタイル

BT