プライバシーを保護したプロダクト分析手法

はじめに

Braveは、オンラインでの行動を逐次監視する現状のウェブ世界に対抗するプライバシー保護機能を提供し、最高のウェブ体験をユーザに届けることを目的にしています。ブラウザとして必須の機能を備えながら、信頼性を最大化するため、私たちはコミュニティからのフィードバックを重要視しています。一方、より多くの人に最高のウェブ体験を届けるためには、フィードバックだけでは十分ではない場合あります。フィードバックをする時間がない方もいらっしゃるので、プロダクト開発する上で必要な情報が得られないことがよくあります。

 

例えば、Braveのチュートリアルを最後まで見てもらえているか?もっと短くした方が良いか?Brave RewardsやSync(同期)機能は使われているか?Syncはいくつのデバイスで使われているか?まだ重要なアップデートをダウンロードしていないユーザ数はどのくらいいるか?など

 

 

ごく一般的なソフトウェア企業では、このような質問には何十社ものサードパーティ製の分析サービスが答えてくれます。しかし、このようなサービスを導入した場合、Braveのユーザがサードパーティによって個人識別され、トラッキングされてしまうことになります。場合によっては、ユーザの行動データは、サードパーティにしかメリットがない広告・トラッカーのエコシステムに集積されることもあります。このような状況は、Braveが掲げているユーザのプライバシー保護の観点から許容されるものではありません。

 

私たちはプライバシーを完全に保護しながらプロダクト分析を行うことで、Braveを最高のプロダクトにする上で最も効率的であると考えています。ユーザの要望をよりプロダクト設計に取り入れていくためには、さまざまな機能がどのように使用されているのかという情報をユーザから提供してもらい、プロダクト分析を行う必要があります。こちらを実現するための実装はBraveのその他の昨日と同様オープンソースとして公開され、第三者による監査や検証可能になっています。

 

設計原理

私たちが最も重視しているのはプライバシーです。個人識別やトラッキングに使用される可能性がある情報は決して収集しません。これは私たちは多くの企業が採用する方法とは全く異なるアプローチでプロダクト分析を行う必要があることを意味します。これを実現する方法として私たちはプライバシーを保護しながら分析を可能にする手法「Privacy-Preserving Product Analytics(略称:P3A)」を開発しました。このプロジェクトは、プライバシー保護の観点から見ると、業界標準やGDPRの要求のかなり先を行くものです。そのメカニズムは次のようになります。

  • P3Aは個人情報を一切収集しません。例えば、個人を特定する情報や、重要な個人情報(ブラウザ閲覧履歴、検索ワード等)はいかなる情報も収集しません。
  • 時折プロダクト機能の使用状況に関するシンプルなレポートが、個人特定されない形でレポートが送信されます。これはイメージとしては、Braveが設定した「質問項目」への「回答」をまとめたものです。
  • すべての「質問項目」(収集される測定項目)は、人間に解読可能な形式で公開されます。現在の質問項目はこちらで確認できます。 
  • P3Aは、 設定メニューの「プライバシーとセキュリティ」セクションからいつでも無効にできます。
  • すべてのP3A機能のコードはオープンソースです(Braveの他のすべてのコードと同様。ただし、フラウド対策のサーバサイドのコードは除く)。そのため、ユーザは、約束した特定の項目のみを共有していることを常時チェックできます。

 

P3Aの仕組み

P3Aは2つのフェーズに分けて開発されます。第1フェーズでは、1回の処理で1つの質問項目に対して1つの回答を送信するシンプルなプロトコルを使用します。第2フェーズでは暗黙シャッフル方式とセキュアなエンクレーブ(oblivious shuffling and secure enclaves)などの技術を採用し、第1フェーズ同様の高いプライバシー保護基準の元で、複雑な質問項目への回答が得られるようにする予定です。P3Aの目的はBraveが、収集した情報を用いてどのような分析を実施したとしても、特定のデータを特定のユーザに紐付けることができなくすることにあります。

 

第1フェーズ

P3Aの第1フェーズでは、18項目の質問に対する「回答」を選択肢から収集します。これにより、ユーザが開いているタブの数や、Brave Rewardsを有効にしているユーザ割合といった利用状況を得ることができるようになります。

実際の質問例は例えば以下のようなものです。

質問: 開いているタブ数

回答:

  1. 0~1個
  2. 2~5個
  3. 6~10個
  4. 11~50個
  5. 50個以上

 

ブラウザを開いた際、ランダムなタイミングでブラウザが開いているタブの数を集計し、選択肢から該当する選択肢から選びます。回答を選択肢から選ぶこともプライバシーを守ることにつながります。ユーザがどの回答を選んでも、送られるのは少ない選択肢の中から選ばれた項目だけで、詳細な数値は共有されません。これにより、デバイスからユニークな回答を収集し、デバイスの特定が可能になることを防ぐことができます。

 

おおよそ1時間に1回、エンコーダが回答を準備します。実際の回答は「Question: 7, Answer: 3」というようなものです。この回答が実際に送られる時間には、0~5分のランダムな遅延を加えられます。回答には次のようなBraveのバージョン情報が関連付けられます。

  • OS/プラットフォーム
  • 配信チャネル(Nightly/Dev/Beta/Release)
  • ブラウザがインストールされた週(インストール後90日以内である場合のみ送信)
  • 国(週のインストール数が6000を下回る国ではこの項目は削除)
  • リファラルコード。このコードでは、ユーザがBraveをダウンロードした際のダウンロード元リンクのカテゴリが(大枠で)識別されます。この情報は、インストール後90日以内である場合のみ、かつプライバシーへの影響がなく、間違いなくこの情報が重要な意味を持つ紹介者にのみ送信されます。リファラルコードの詳細についてはこちらを参照ください。

 

このように関連付けられた情報(つまり、回答とバージョン情報)はBraveのコンテンツ配信ネットワーク(CDN)に送信され、Fastlyで処理されます。Fastly CDNの入り口に回答が到着すると、IPアドレスと正確な時間情報が除去されます。

 

このシステムは、Braveが特定の応答をその他の応答と関連付けることができないように設計されており、Brave側には特定ユーザの「回答」に結びつける十分な情報がないことになります。その代り、各応答は、独立したデータポイントとなります。

 

第2フェーズ

第1フェーズでは、プライバシーを保護の基準を守りながら、使用状況についての有用なインサイトを獲得することが可能になります。第一フェーズではユーザの回答はそれぞれ独立したデータとなる単純でわかりやすい設計です。この設計では、インストールを完了したユーザ数や、ブックマークをインストールしたユーザ数などを測定できますが、インストールを完了したユーザのうち、どれくらいのユーザがブックマークをインストールしたのかはわかりません。第2フェーズでは、個々のユーザを特定することなく、このような関連し合う質問項目に対する回答を得ることができます。

 

私たちはPROCHLOの設計をベースにしたプロトコルを策定しました。この方法では、関連し合う回答をIntel SGXのセキュアなエンクレーブに送信します。セキュアなエンクレーブを使用するということは、実際の回答の中身はBrave側からは見ることができないことを意味します。エンクレーブで実行されるソフトウェアでは、個々の回答を結合してバッチにし、サイズが小さすぎることにより特異または固有になるバッチはすべてフィルタリングで排除します。セキュアなエンクレーブの制限により、このバッチ処理は暗黙シャッフル方式がベースとなります。この方式は、暗号化テクノロジーの一種で、同一マシン上で実行される他のソフトウェアでは(例:Brave)どのインプットとどのアウトプットが関連付けられるのかを判別することができません。

 

このプロトコルの策定は順調に進んでおり、今後2~3か月のうちにレビューステータスに入る予定です。このフェーズは第1フェーズより複雑ですが、私たちは完遂していく所存です。リリース日が近づいてきましたら、このテクノロジーをさらに詳しく精査し、当然のことながら、GitHubでソースコードも公開します。

リリーススケジュール

次に示すスケジュールは仮のものであり、開発プロセスにおいて余儀なく変更される場合があります。

  • 2019年8月 – P3A実装の第1フェーズがデスクトップ版ブラウザのNightlyチャネルにリリースされました。例のごとく、P3Aをより良いものに改善していくため、私たちはアーリーアダプターであるユーザからのフィードバックを強く望んでいます。
  • 2019年9月 – P3Aの第1フェーズがBeta版になります。第2フェーズがNightlyに統合されます。
  • 2019年10月 – P3Aの第1フェーズが一般リリースされます。第2フェーズがBeta版になります。
  • 2019年10月~11月 – P3Aの第1フェーズが一般リリースされます。
  • 2019年11月以降 – プロダクトの継続的改善の一環として、徐々に新しい測定値を収集し始めます。収集したすべての測定値はここで常に確認することができます。これらの測定値については、Githubのissuesにラベル「feature/new_metric」で公開され、一般コメントが可能になります。

データの保管

ログレベルの記録はBrave側のサーバから7日以内に自動的に削除されます。このようなログレベルの記録にはIPアドレスや正確な時間情報が含まれないことに注意してください。Braveでは、完全に匿名のサマリデータは無期限に保管する予定です。

プライバシーポリシー

Braveのプライバシーポリシーは次のリンクで確認できます。

/privacy/

最後に

私たちが普段使っているソフトウェア、そして主要なブラウザの多くは、プロダクト分析や使用状況のデータ収集を行っています。どの機能の反響が多いのか、使い心地がよいソフトウェアを作るために重要なのはどのタスクか…という良い目的のためのデータ収集です。

 

データ収集は正しい目的のために行われるべきだと知っているからこそ、私たちは分析機能の設計にかなりの注意を払ってきました。ブラウザの中には、検索ワードやサイトの閲覧履歴だけではなく、相当な量の測定値を収集しているものがあります。

 

商用目的での分析をするプロダクトの中で、Braveが提供するプライバシー機能の水準に近い機能を提供するプロダクトは今のところありません。既存のシステムを使うのではなく、自分たちでこのようなシステムを作り上げるには多大な時間を要しますが、私たちはその価値があると信じており、このブログの読者もその考えに同意してくれることを願っています。

Related articles

Braveで新しいWebを体験する準備はできましたか?

Braveはプライバシーとパフォーマンスを重視するWebのパイオニアからなるチームによって開発されています。Braveを利用しWebの再構築に協力していただけませんか?