Cloudflare Research: Two Years In
優れたテクノロジー企業は、革新的な製品を創り、世界に送り出す。象徴的なテクノロジー企業は、世界の本質自体を変えてしまう。

Cloudflareの使命は、より良いインターネットの構築に貢献するという、我々の願いを反映しています。この使命を果たすためには、継続的な製品革新、戦略的な意志決定、インターネットの構造や潜在能力に対する既存の考え方に疑問を投げかける積極的な姿勢など、多面的なアプローチが必要です。2年前、この業界に変化をもたらすため、基礎/応用コンピューター科学を活用する機会を模索する目的で、Cloudflare Researchが設立されました。

より良いインターネットの構築に貢献するために、研究を適用するうえで、Cloudflareが用いるアプローチの羅針盤となる運用原則を5つ、そして、この5つの原則のよい例となる5つの事例研究をご紹介します。本日より数日にわたり、Cloudflare Researchがブログの更新を担当します。最新記事をお見逃しのないよう、ご登録ください。

イノベーションはあらゆる場所から

革新的な企業は、「未来」に特化した一部門を社内に設置するだけでは実現しません。企業は新しい着想が自由に、誰からでもあふれ出す文化があって初めて、「革新的」になるのです。研究とは、隔絶された研究所の壁を超えて、またはその外で成長することが可能になり、社内の業務の末端にまで行き渡り、大規模に世界とつながってこそ、最も効果的になるものです。研究チームとは、3年から5年後の「良いアイデア」を特定し、育成することを専門とするサポート組織であると、Cloudflareは考えます。

Cloudflare Researchでは製品、ETI、エンジニアリングなどの各チーム、そして業界が抱えるビッグクエスチョン、つまり、誰にも解き明かされてこなかった「究極の問い」を常に見極め、それに向き合うために、強力な連携体制の構築を優先しています。Cloudflareの社内では、他のチームに密着することで、問題を学びます。社外では、客員研究員や学術機関の関係者を招いたり、取締役会や委員会の会合に参加したり、オープンスタンダードのデザイン、開発への貢献、年間数十件にも及ぶ技術コンファレンスへの参加、コンファレンスでの文書の公開などに取り組んでいます。

リサーチエンジニアリングでは複数の技術に精通した、真のフルスタック環境が求められます。Cloudflareでは、概念から試作品、そして本番環境でのコーディングまで、「アイデア」を育成します。私たちのチームでは、学術関係者、業界出身者など、その筋のスペシャリストと、複数の研究分野間でアイデアを結び付けることに精通した、ゼネラリストを用います。私たちは製品チームやエンジニアリングチームと緊密に連携を取りながら「完成後プラン」を作り上げていきます。その際に、重要なのがコードの所有者です。また、多くのリサーチインターンも採用しています。リサーチインターンは、新しいアイデアを本番環境のシステムに作り込んだり、最終的に、社内の他のチームにそうしたアイデアを引き渡したりする前に、新しいアイデアを評価し、リスクを減らす役目を担います。

研究にまつわる質問は社内のあらゆる部門から寄せられます。時にはお客様から届くこともあります。私たちの協業的アプローチにより、Cloudflare、さらにはインターネット全体にとって様々な良い結果が生じました。

事例研究1:パスワードのセキュリティ

数年前、Have I Been Pwnedというサービスがありました。これは、ユーザー自身が自分のパスワードの漏えいの有無を確認できるというもので、負荷がかかったときにもサイトが正常に動作するようCloudflareを使用して開始されました。ところが、セットアップにおいて、プライバシーの問題が浮かび上がりました。「Have I Been Pwned」はサービスの性質上、送信されてくるパスワードすべてにアクセスせざるを得なかったため、攻撃者にとって格好の標的となったのです。こうした背景から「プライバシーを守りながら、このようなサービスを提供することは果たして可能か?」という疑問がわいてきました。

ソリューションの核は、研究チームのほとんどの案件と同様に、社外の別の場所で見つかりました。この問題を解決する最初の一歩は、サポートエンジニアリング会社のメンバーから寄せられました。このエンジニアはこの問題をほぼ解決するスマートなソリューションを開発しましたが、この初期調査から、パスワードとはかけ離れたところにアプリケーションを持っていきかねないほど深く、複雑な問題の領域が見えてきたのです。研究チームはこの時点で問題に関わることになり、この研究を深く掘り下げるため、Cornell TechのThomas Ristenpart氏など、専門家に話しを聞くことにしました。

このコラボレーションがきっかけで、私たちは新しいプロトコルを考案し、Protocols for Checking Compromised Credentialsという文書をACM CCS 2019で公開することになりました。この文書により、ある方向性が示されましたが、この研究を進め、人々が利用できるようにしたいという熱意が、プロトタイプの構築に貢献する初の客員研究員を迎えることにつながりました。そして、Cloudflareの別チームが、顧客のパスワード漏えいを検出する機能をCloudflare Web Application Firewallに追加することに関心を持っていることを知り、社内でこの取り組みがさらに確実な一歩へとつながったのです。このチームは結局、プロトタイプの構築、Cloudflareのサービスへの統合にも貢献することとなりました。

こうしたお客様のインサイト、社内での取り組み、外部とのコラボレーションの連携は、強力で独特なカスタマー機能の誕生に結び付いただけでなく、当社のオンライン環境、認証の根本にある、プライバシーを保護するテクノロジーにおいて、最新技術を発展させるのに役立ちました。今週木曜日にはこのテクノロジーに関する注目の発表がありますので、どうぞお見逃しのないよう最新情報をご確認ください。

質問重視のアプローチがより良い製品につながる

Cloudflareの急速に進化するロードマップを支えるために、Researchチームは「疑問を持つことから始める」というアプローチを取っています。疑問点に注目することは、研究の本質そのものといえますが、業界トップクラスの企業にとっては、それが何を意味するか見極めることが重要です。Cloudflareではすでに解決済みの問題にすらも、「究極の問い」を投げかけることをやめません。この10年に起こった、デスクトップからモバイルへのコンピューティング環境の移行、オンプレミスのセキュリティソリューションからクラウドへの変遷などの変化では次のような疑問を持つことが重要です。

  • 現在私たちが構築している製品に、今後、社会や地勢的な力の変化がどう影響するか?
  • 既存システムには、システム制作者たちの同質体験をもとにしたどのような仮定が存在するか?
  • インターネットが機能する仕組みに影響を及ぼす業界でどのような変化が起きているか?
  • 新しく、より安価なハードウェアを活用するにはどのような機会があるか?
  • 増大する需要を満たすために、どのようにスケールするか?
  • 理解すべき新しいコンピューティングパラダイムは存在するか?
  • ユーザーの期待はどのように推移しているか?
  • インターネットを適切な方向へ向かわせるために私たちが作成できるものはあるか?
  • 今後、数年でどのようなセキュリティリスク、またはプライバシーリスクが急増するか?

より広範な疑問に集中し、既存のソリューションの枠を超える答えに積極的に耳を傾けることで、解決策の糸口が見えてきます。この種の見通しは、ビジネスの問題以上のものを解決してくれます。場合によっては、製品とインターネットが大規模に改善されることもあります。こうした疑問は、社内の研究開発部門で交わされることもありますが、研究チームは短期間では容易に答えの出ない問題に注目しました。

事例研究2:SSL/TLS Recommender

Cloudflareがすべてのお客様に対し、SSL認証を無料で、自動的に利用できるようにしたことは、Webの安全確保において大きな一歩となりました。CloudflareのSSLソリューションが市場に出始めたばかりの頃にあった批判のひとつが、いわゆる「マレット」批判です。Cloudflareは「Flexible SSL」と呼ばれるモードを提供しています。これは、ブラウザとCloudflareとの間の接続で暗号化を有効にするものの、Cloudflareとオリジンサイトの間は後方互換性を保つために、暗号化されないようになっています。Flexible SSLは接続の前半部分のみを暗号化し、後半部分は暗号化しないことから、特徴的な髪型をなぞらえ、「マレット」と批判されることになったのです。

オンライン通信のほとんどのリスクは、Cloudflareとオリジンサーバーとの間ではなく、ユーザーとCloudflareとの間(たとえば、ISP、あるいはコーヒーショップ)で起こります。自身のサーバーで暗号化を有効にできなかったお客様の方が、Cloudflareとの間でより良いセキュリティ体制を維持することができたのです。

しかし、ごくまれに、利用者が可能な限り最も安全な設定を活用しなかったばかりに、思いもよらない深刻なセキュリティの問題に直面するケースもありました。そこで、リスクは常にあること、この製品に対する妥当な批評を踏まえたうえで、数百万ものWebサイトのセキュリティ体制を改善するために何ができるか?と問いかけました。

インターネットスキャンと測定に精通したリサーチインターンの力を借りて、高度なスキャン/クローリングツールを構築し、どの程度のものを改善できるか調べました。その結果、多くのことを改善できることが明らかになりました。そこで、スキャン用インフラストラクチャをCloudflareの製品につなげるため、社内の様々なチームと作業を進めました。現在ではすべてのお客様に、SSL/TLS Recommenderというサービスを提供しています。このサービスは、多くのお客様がサイトの安全を確保し、「マレット」を切るのに役立ちました。Webサイトでバックエンド側に暗号化を使用しない根本的な理由は、それが複雑だからです。また、このプロジェクトが、実用的な方法で疑問を投げかけることの好例と考えられる理由は、より良い製品がCloudflareにもたらされるだけでなく、リサーチャーたちが根本的な問題をさらに調べるためのツールを手にすることができたことにあります。

明日の問題を解決するために、今日、ツールを構築する

Cloudflareにおいて、もう一つの研究の重要な目的は、未知の事態に備えることです。社会がどのように変化するか、または変化していくかをもとに、「もし、・・・なら」という仮定のシナリオを作り、問題を見つけ出して解決します。数千件の企業が、私たちのインフラストラクチャを頼りにしてユーザーにサービスを提供したり、企業のビジネスニーズを満たしたりしています。Cloudflareではこうした企業を支えるテクノロジーが、良いときにも、仮に悪いときにも、長く使い続けられるようにすることで、企業のエクスペリエンスを継続的に改善しています。

Cloudflareでは次の方法で常に準備しています。

  1. 将来的なリスクの分野を特定する。
  2. 問題の根本原因を見つける。
  3. 専門知識を積み上げ、同業他社による評価を受けられる場所でその専門知識を評価する。
  4. プロトタイプと大規模な実験で運用経験を積む。
  5. 非常事態に助けを得られる人のネットワークを作る。

Cloudflareでは普段、あまり身近ではない、たとえば、森林管理サービスや公衆衛生部門など、人の目に触れることの少ないグループに求められる戦略的な思考や計画に倣いたいと考えます。火災が発生したとき、または次のウイルス感染症が起こったときに、ただ、その状況を成すがまま受け入れるのではなく、策定された緩和策と、差し迫った難題に立ち向かう間に構築した関係を武器に、革新し、前へ進むことができる、最高の実践の機会にしたいと思います。

事例研究3:IPアドレスのアジリティ

インターネットの差し迫ったリスクとして、IPv4アドレスの枯渇があります。潜在的なIPv4アドレスの数は、40億個ほどで世界人口の数はもちろん、インターネットに接続されたデバイスの数を下回ります。Cloudflareではこの問題について、ネットワークに対するCloudflare独自のアプローチという観点で、さらなる調査を進めました。

Cloudflareのアーキテクチャは、インターネットの様々な側面が互いにどう関係するかという複数の仮定に挑みます。歴史的に、サーバーのIPアドレスひとつは、特定のマシンに対応しています。Cloudflareのエニーキャストアーキテクチャとサーバーのデザインにより、どのサーバーでも顧客サイトにサービスを提供できるようになりました。このアーキテクチャによって、ごくわずかな作業しか伴わない驚くべき方法でサービスがスケールできるようになりました。

IP Bindings Stifle Innovation

このインサイトから、インターネットは潜在的にどのように機能するかという別の根本的な仮説への疑問が生まれました。IPアドレスが1台の特定のサーバーに対応する必要がないのであれば、そこからさらに切り離せるものは何か?IPからホストネームを切り離すこともできるか?おそらく、可能でしょう。また、否定疑問の表現を使うこともあります。もし、これを切り離さなかったとして、会社が失うものは何か?少なくとも、試してみる価値はありました。

私たちは経験的事実に基づいて、この仮説を評価することにしました。ある地域全体で、同一IPから無料サービスを利用するお客様すべてにサービスを提供するという実験を試みました。この実験は、DNSチーム、IPアドレッシングチーム、エッジ負荷分散チームなどを巻き込んだ、部門をまたぐ取り組みになりました。この実験により、1つのIPで数百万件のサービスに対応できることが証明されましたが、同時にいくつかのリスクも浮き彫りになりました。そこから、1本の文書ACM SIGCOMM 2021)が公開され、権威DNSシステムが際限なく柔軟になるよう再設計するためのプロジェクトへと結びついたのです。とりわけ、この柔軟性を手にしたことにより、Cloudflareは潜在的なパブリックポリシーの問題が表面化する前に、これらに対処できました。

さらに遠くへ、共に歩む

インターネットは単に、緩い企業の連合体や高額なデプロイ済みハードウェア群というわけではありません。インターネットとは、グローバルな社会的影響を持つ関係同士が、相互に接続したものなのです。これらの関係とそれらを統べる技術的な基準は、結合体であり、インターネットの持つ重要な、最新の社会的側面の構築を可能にしています。

数百万件にも及ぶインターネットプロパティがCloudflareのネットワークを使用し、そのネットワークは、1秒ごとに数千万件のリクエストに対応しています。私たちが行う決定、リリースする製品は、業界と数十億人もの利用者に著しい影響をもたらします。通常、Cloudflareが制御するのはインターネット接続の片側に過ぎません。数十億人ものユーザーとインターネット接続デバイスに対応するために、Cloudflareは、インターネット技術タスクフォース(IETF)などの技術標準組織により定義された、DNS、BGP、TLS、QUICなどのプロトコルの管理下にあり、そうしたプロトコルをサポートする必要があります。

インターネットの進化するニーズに対応するため、プロトコルは徐々に発展し、新プロトコルは絶えず変化しています。Cloudflareが掲げる、より安全でプライベート、高性能、高可用性を備えたインターネットの構築に貢献するという使命の重要な部分には、こうしたプロトコルの策定、大規模な展開、それらを実装するオープンソースソフトウェアの構築において、リーダーシップを取ることも含まれます。

事例研究4:Oblivious DNS

Cloudflareが2019年に1.1.1.1のリカーシブDNSサービスを開始したとき、再びサービスの中心に据えられたのはプライバシーでした。クエリーがインターネットを移動することから、クエリーの機密性を確保するため、DNS-over-HTTPS(DoH)と呼ばれる新しい暗号化標準とともに、1.1.1.1を提供しました。しかし、DoHを使用してもなお、DNSクエリーはそれを送信するユーザーのIPアドレスに関連付けられます。Cloudflareはプライバシーポリシーを策定し、このデータを保持する時間がごくわずかになるようにするための技術的評価法を作成し、その基準を確認するために主要な監査法人と連携しました。しかし、それでも疑問は残りました。果たして、このプライバシーに配慮が必要な情報を最前線に置く必要なしに、サービスを提供することはできないのか?という疑問です。そこで、Onion Resolverを構築し、Tor(トーア)匿名ネットワークを介して、ユーザーがサービスにアクセスするようにしました。ところが、速度が非常に遅く、使いものにはなりませんでした。納得いくパフォーマンスで、暗号を使用したプライベートDNSサービスを提供することは可能か?これは、未解決の問題として残りました。

ODoHアーキテクチャ

この難問解決の糸口は、複数の情報源を通じて明らかになりました。私たちは、Oblivious DNSと呼ばれる新しいプロキシ技術について記述された学術機関の新しい成果を知りました。また、AppleとFastlyから、同じ問題の解決に取り組む他の業界関係者を見つけました。その結果から生まれた提案をもとに、Oblivious DNSとDoHを組み合わせ、Oblivious DoH(またはODoH)という素晴らしいプロトコルが誕生しました。ODoHが公開され、IETFで大規模に討論されました。DNSは特に標準に依存したプロトコルで、その原因は、システムに含まれる非常に多数のコンポーネントが、別々の組織により運営されていたことにありました。ODoHでは、この複雑な問題に別の当事者も加えることとなり、慎重な相互運用性の基準がより一層重大なものになりました。

研究チームはインターンの助けを借りてODoHの初期の草稿を入手し(チームにおけるこの人物の体験については、明日ご紹介します)、Cloudflare Workersのプロトタイプを構築しました。それにより、パフォーマンスを測定し、大規模なODoH展開の実行可能性を確認しました。そして、のちに、この記事につながります。この記事はPoPETS 2021で公開されています。

これらの実験で得られた結果から、自信をもって本番環境レベルの実装を構築できました。リサーチエンジニアたちは、リゾルバーチームのエンジニアたちと連携し、1.1.1.1のODoHの実装と利用開始にこぎつけました。また、Go、Rust、Cloudflare Workers互換の実装と、ODoH関連のコードをオープンソース化しました。さらに、オープンソースコミュニティと連携し、このプロトコルがdnscryptなどのツールで広く利用できるようにし、ODoHがさらに普及するよう支援しました。ODoHは標準を開発するための、業界全体の取り組みの一例といえます。これについては、近日中に公開される記事で、さらに詳しくご覧いただけます。

大規模環境での理論から実践まで

インターネットテクノロジーについては、毎年、十数か所で、数千件の文書が公開されています。学術研究の着想が、世界の根本的な理解を科学的に変えることはありますが、ユーザーに影響を与えることはまれです。革新はあらゆる場所から起こり、広範なコミュニティ、外部のコミュニティからアイデアを取り入れることは重要です。Cloudflareはそうしたアイデアを活用できる良い位置にいます。

学問の一分野として、先に突破口を見出した人が、後に続く人よりも評価されます。それでも、追従する、ときには後方から追い上げる後続組の力も、私たちは価値あるものと考えます。インターネット環境に着実に改良を加えるのは、こうした後続の人たちだからです。私たちは、机上でアイデアを考えたり、書き出したりするよりも、実際にアイデアを構築し、展開することにより、各段に多くのものを学べることに気づきました。研究所で見つかったごく小さな問題や、仮定に基づいた文書が、インターネットの規模では大きな問題となることがあり、表面上はわずかなインサイトでも、膨大な結果をもたらす可能性もあります。

既存の研究や調査を現実世界で実践するという点で、Cloudflareがインターネットの多様性を活用できる、またとない、独特な位置にいることは、大変貴重です。インターネットを利用するほぼすべてのユーザーが直接的、あるいは間接的にCloudflareを使用している現在、Cloudflareは、理論上のインサイトやソリューションを現実にするために必要な情報を、ユーザーの行動から把握し、それを実現できるのです。

また、従来の方法で解決されてはいるものの、新しいツールでより良い成果が得られる問題に対しても、Cloudflareは十分な規模を持っています。たとえば、IDベースの暗号化のような暗号化ツールや、ゼロ知識証明など、数十年前もから理論展開されてきたものです。これらは最近ごくわずかな本番稼働システムにデプロイされただけですが、現在では従来のインターネットで価値あるツールとして出現し、実際の生活に影響を及ぼしています。

事例研究5:Cryptographic Attestation of Personhood

事例研究4では、深く、本質的な問題について触れました。普段目にすることのない奥深くを覗くことに好奇心が刺激されるのと同様、お客様がすぐに体験するユーザーエクスペリエンスを調べることも重要です。Cloudflareの価値で最も大きな部分を占めるのは、ボットなどからお客様を守ることです。そこでは、CAPTCHA(キャプチャ)というツールが使用されます。キャプチャを好きなユーザーはいません。ユーザーエクスペリエンス全体を見ても、あるサイトにアクセスしようとしたところで操作の手を止められ、低解像度の画像で信号やらトラックやらを選ぶよう強要されるあの仕組みほど人々をイラつかせ、不愉快にするものはほとんどありません。さらに、最も一般的なキャプチャは、多くのコミュニティにとって利用しづらいものです。たとえば、目の不自由な人々、視覚障害を持つ人々は利用できません。Cloudflareのボットチームは、機械学習を用いて(それ自身で問題を解く)、サーバー側でキャプチャを表示する回数を減らすことにより、大きな進歩を成し遂げました。そこで、キャプチャと同等の保護を提供するために、クライアント側で利用しやすくすることは可能かと問いかけることにより、彼らの仕事を補足することにしたのです。

CAPのユーザーワークフロー

この疑問がCryptographic Attestation of Personhood(CAP)という新しい技術開発の発端になりました。人間にしかできな動作を行うことで、Cloudflareに人間であることを証明する代わりに、ユーザーが信頼された物理的ハードウェアを持っていることを証明する仕組みを用いたのです。私たちはこのために、広く浸透したWebAuthnの基準を特定し、数百万のユーザーが自身のハードセキュリティキーや、スマートフォン、ノートPCなどに内蔵された、ハードウェアの生体システムを利用できるようにしました。

このプロジェクトからは興味深く、重大なプライバシーとユーザーエクスペリエンスに関する疑問が複数浮かび上がりました。匿名認証で経験のあるリサーチインターンの助けを借りて、1本の文書SAC 2021で発表しました。この文書により、ゼロ知識暗号化システムが活用、改善され、当社のソリューションにプライバシーのさらなる機能が追加されました。Cloudflareの偏在性はこの新しいアイデアを多くの人々に周知し、そのアイデアがどのように理解されたか、たとえば、ユーザーはこの方法によって、サイトがユーザーの生体情報を収集すると考えるか、といったユーザーの反応を知るのに役立ちました。これらのユーザーエクスペリエンスの疑問については、近日中に文書を公開する予定です(ユーザーリサーチチームと連携)。

これらの調査形態の質問に対する回答の中には驚かされるものも、想定したとおりのものもありましたが、すべてのケースで、質問型のアプローチを取ることが問題の解決に役立ちました。

本ブログの内容

先に述べたとおり、本日より数日にわたり、Cloudflare ResearchがCloudflareブログを担当し、次に示すような複数の発表や、技術的な解説を行います。

  • 発表。当チームの研究についてご覧いただいたり、追加のリソースを確認できるランディングページがお目見えします。
  • 先に挙げたプロジェクトなど、研究資料や基準を技術的に詳しく解説します(さらに多くの内容あり)。
  • 当社プロセスの詳しい情報やコラボレーションする方法。

ぜひお見逃しなく!