Googleの悪夢のような「Web Integrity API」、Web向けDRMゲートキーパー論争
(arstechnica.com)- Google社員4人が作成した Web Environment Integrity API は、Webサイトが訪問者のブラウザ実行環境を信頼できるか確認できるようにする提案で、Chrome向けのテスト用プロトタイプも進行中
- 中核的な用途は、ボットや改変環境をふるい落とす 環境証明 であり、広告表示集計、ソーシャルネットワークのボット遮断、知的財産保護、Webゲームのチート防止、金融取引のセキュリティに活用できる
- 提案は Apple App Attest と Android の Play Integrity API に着想を得ており、Ars Technica はこれを、root化デバイスでアプリへのアクセスが塞がれる仕組みがWebへ持ち込まれる流れだと見ている
- Webサーバーがコンテンツ提供前に証明を要求すると、ブラウザは第三者の証明サーバーでテストを受け、署名付きの IntegrityToken を受け取って提出する形で動作する
- 文書はフィンガープリンティング、拡張機能の妨害、ベンダー排除を目的としていないとしているが、GitHub Issue や Hacker News、Louis Rossmann を通じて強い反発が広がっている
Web Environment Integrity API が目指すこと
- Web Environment Integrity API proposal は、Webサイトがユーザーの クライアント環境 を信頼できるか確認できるようにするWeb標準の提案
- explainer は Google社員4人が作成しており、そのうち少なくとも1人は Chrome の Privacy Sandbox チーム所属
- 前提として、Webサイトはユーザー環境を信頼できなければ、ユーザーデータや知的財産を保護できず、実際に人が使っているかも判断できないという考え方がある
- 主なユースケースは次のとおり
- 広告主向けの 広告表示 集計精度の向上
- ソーシャルネットワークの ボット 遮断
- 知的財産権の執行
- Webゲームのチート防止
- 金融取引のセキュリティ強化
Play Integrity がWebへ持ち込まれる際の懸念
- 提案文書は、Apple の App Attest や Android の Play Integrity API のような既存のネイティブな証明シグナルに着想を得たと説明している
- Play Integrity は以前の SafetyNet であり、アプリがデバイスのroot化有無を確認できる Android API
- root化は、ユーザーが購入したデバイスを完全に制御する方法だが、root化されたデバイスが Android Integrity API でフラグ付けされると、一部アプリは実行を拒否する可能性がある
- 銀行アプリ、Google Wallet、オンラインゲーム、Snapchat、Netflix のような一部メディアアプリへのアクセスが塞がれる場合がある
- rootアクセスはゲームのチートや銀行データのフィッシングに使われ得る一方、デバイスのカスタマイズ、プリインストールアプリの削除、バックアップ体制の構築にも利用される
- Ars Technica の批判は、Google がこうした アクセス制御構造 をWebにも導入しようとしている点に向けられている
提案されている証明フロー
- Webページ上のトランザクション中、Webサーバーはデータ提供前に、ユーザーが environment attestation テストを通過することを要求できる
- このときブラウザは 第三者の証明サーバー に接続し、何らかの形式のテストを実行する
- テストに合格すると、ブラウザは環境が改変されておらず、アンロックしようとしているコンテンツを指していることを示す署名付き IntegrityToken を受け取る
- ユーザーはこのトークンをWebサーバーへ再提出し、Webサーバーがその証明会社を信頼していれば、コンテンツへのアクセスが開放される
- この構造自体は一般的な API のように見えるが、現実のWebでは、Webサイトが Google、ブラウザが Chrome、証明サーバーも Google になり得るという懸念が残る
文書が線引きした点と残る論争
- 提案作成者は、この API が人を一意に フィンガープリント追跡 する用途に使われるべきではないと考えている
- 同時に、物理デバイス単位でレート制限をかけられる何らかの指標は必要だとも述べている
- 「non-goals」項目では、プラグインや拡張機能を含む ブラウザ機能 を妨害しないとしている
- Ars Technica はこれを、広告ブロッカーを殺すつもりはないという婉曲表現だと解釈している
- 提案の目標には、よりよい広告サポートが含まれる
- Chrome にはすでに、拡張 API の動作を変更してWebページ内容を改変する能力を弱める Manifest V3 計画がある
- 提案は、他ベンダーを排除しないことも目標に掲げている
公開された反発と Chrome プロトタイプ
- Google はこのアイデアを公に大きく宣伝しておらず、文書も公式 Google リポジトリではなく、社員個人の GitHub アカウントに置かれている
- 確認できる最も早い提案は 2022年4月
- 週末に更新された仕様が公開された後、Hacker News やデバイス修理系 YouTuber の Louis Rossmann を通じて拡散した
- GitHub Issue では強い反発が続いている
- Issue #134 は、このアイデアを「完全に非倫理的で、オープンなWebに反する」と批判している
- Issue #113 は、「これが提案されたこと自体信じられない」と反応している
- Issue #127 は、「自分たちが悪役だと考えたことはあるのか?」と書いている
- API はまだ 提案 段階だが、Google は 2023年5月に Chromium blink-dev に intent to prototype を投稿し、Chrome 内でテスト実装を進めている
- 機能開発の追跡ページは chromestatus.com にある
1件のコメント
Hacker Newsの意見
Googleが、すべてのユーザーが嫌がることをしても誰にも止められないのなら、企業分割はかなり説得力を持ってくる
Googleの市場支配力は大きくなりすぎているように見える
「manifest v3」と言ってもぽかんとした反応で、広告や広告ブロッカーの話をしても大半は関心がなく、そもそも広告ブロッカーを使っていない人もいる
HNのような場所は本当にバブルの中にある。大半の人はプライバシーを、自分ではほとんど制御できない抽象的なものとして見ており、概ね受け入れている
「子どもを守らなければならない」といった名目で政府がプライバシーを弱めることも、個人情報を引き換えに無料サービスを得るという名目で企業がプライバシーを弱めることも、受け入れる人がいる
悲しい現実だ。人々が本当にこうした問題に強い関心を持っているなら、なぜ変化が少ないのか理解しにくかっただろうが、十分な代替手段である Firefox があってもほとんど使われていないのを見れば、驚くことではない。大半は気にしていないのだ
たとえばAppleがユーザーに不利なハードウェア変更をすると、主要なAndroidメーカーは数か月以内に追随する[0]。その次の選択肢は、別の苦痛をもたらす中国系のニッチなスマホメーカーくらいだ
今はGoogleとほぼ完全に縁を切った状態だ。携帯電話の要件のせいでGoogle Play Servicesのない端末を使うことになり、Googleが支配的でない国に住んでいる。たまにYouTubeが残るくらいだ。以前のGoogle PhotosのアーカイブをPhotosから書き出せたらいいのだが、Takeoutのエクスポートはずっとエラーになっている
[0]: Googleで働いていた頃、大きな社内エンジニアリング向けメーリングリストで誰かが「Pixelからヘッドホンジャックを外したのはAppleのせいか?」と真正面から尋ねたところ、製品チームの返答は結局「そうだ」と言っているに等しい曖昧な言い回しだった
正確には「質の悪い広告業者を除く全員」にとって悪い
EMEと違って Web Integrity API にはサードパーティーサービスが必要で、維持費だけでなく、この検査を破ろうとするハッカーとの軍拡競争に対応し続ける開発費も必要になる
きちんと機能する証明産業であれば、複数の証明サーバーが価格競争をしながらユーザーを検証し、ネットワークは効率的かつ堅牢になるはずだが、現実になるとは思えない。まともな証明には、対応するブラウザごとに非常に複雑な技術が必要で、意味のあるブラウザ開発をしつつ証明サーバーも運営したいと思う企業は、実質的に1社しかない
独占された証明産業では、Googleがインターネット上のすべてのDRM保護メディアに対する単一障害点になる。Googleがダウンすれば、Netflix、Hulu、HBOなども認可されたChromeのバージョンを検証できず、一緒にダウンすることになる。さらにGoogleは手数料やポリシーを一方的に変更できるため、他社に対して莫大なテコを持つことになり、企業には自らをそんな立場に置かないようにする動機がある
メディア業界全体が、インターネットメディアの唯一のサポート対象ブラウザとしてGoogle Chromeを受け入れ、Googleにこうした市場支配力とテコを与えるなら、機能はするかもしれない。しかし、世界中の主要な規制当局をすべて回避できると信じるのは難しいし、市場支配に意味のある抜け穴があれば、この計画は機能しない
しかもGoogleは、Microsoft、Apple、Amazonのような他の巨大企業を引き合いに出して、独占的行為ではないと弁護できる。1月の訴訟で広告事業の分割を防ぐためにそうしたように
さらに、多くのユーザーが気にしていないという点も問題だ。利便性が大きすぎるし、Googleのような企業だけでなくWalmartのような他の巨大企業も、世論を変えるのがあまりに簡単だ
「Webの向こう側にいる人をよりよく理解すること」がプロジェクトの目標だと言いながら、紹介文ではこのデータが広告表示回数の集計、ソーシャルネットワークのボット遮断、知的財産権の行使、Webゲームのチート防止に有用だと述べている
ふざけるなGoogle。ブラウザの目的は私にWebページを見せることであって、私について知ることではない
WEI提案の用途は、説明文書(https://github.com/RupertBenWiser/Web-Environment-Integrity/)を見るだけでもかなり明確だ。
Googleは「クライアントコードが実行される環境の重要な事実を証明するトークンを要求できる」。
Googleは「証明者が返した判定を信頼するかどうかを最終決定する」。
Googleが「デバイスの真正性、ソフトウェアスタック、そしてデバイストラフィックの誠実な表現を評価」できるようになる。
原文の「ウェブサイト」と「ウェブサーバー」は、意図を明確にするために「Google」と置き換えて読んでいる。
Googleはなぜブラウザにこんな能力を欲しがるのか。何をしようとしているのか。次の段階は何か。
Googleのマーケティング幹部なら「広告でさらに稼げるよう、ウェブブラウザをロックダウンしなければならない」と言うだろう。
「広告ブロッカーは止めなければならない。新しいWEI APIは、広告ブロッカーが動作しておらず、広告が表示されており、DRMが侵害されていないことを保証するだろう」。
「広告詐欺も防ぎたい。WEIによって広告クリックが正当であり、人々が実際に広告を見ていることを保証できる。ChromebookやAndroidスマートフォンのようにOSを支配できないなら、暗号学的確実性によってウェブブラウザを支配しなければならない」。
第1段階は、ブラウザに Web Environment Integrity を採用・実装させること。
第2段階は、すべてのGoogleウェブサイトでWeb Environment Integrityの使用を必須にし、そうでなければアクセスを拒否すること。
第3段階は、Google広告を配信するすべてのウェブサイトでWeb Environment Integrityの使用を必須にすること。
第4段階は、利益!
Web Environment Integrityは、ウェブのさらなる DRM化とエンシティフィケーション の始まりだ。
心配はいらない。彼らは抵抗するユーザーのことまで考えてくれている。
「ユーザーは、作成・維持にコストのかかるウェブサイトを訪れるのを好むが、直接支払わずにそうしたい、あるいはそうする必要がある場合が多い。こうしたウェブサイトは広告によって資金調達されるが、広告主が費用を負担できるのは、広告を見るのがボットではなく人間である場合だけだ。したがって、人間のユーザーが自分は人間だとウェブサイトに証明する必要が生じ、ときにはチャレンジやログインのような作業を通じて行われる」。
表現上はニュースサイトが料金を払わないユーザーを締め出せるようにする話のようだが、Internet Archive、他のウェブページアーカイブ、Readerモードなども標的になる。
blink-devの議論では、この部分が目についた。
「我々が下せる決定は、最終的にはプライバシーをめぐるより大きな社会的議論(規制など)の影響を受けることになる。なぜなら、完全なプライバシーは犯罪者に完全な免責を意味するからだ」。
自分のデバイスが政府や企業の代わりに自分を監視できないようにすることは、「犯罪者に完全な免責を与える」ことを意味しない。
証明の話はひとまず置くとして、現代的なセキュア領域ベースのデバイス暗号化と、それに付随する自己破壊的なパスコード入力制限を考えると、侵入されたら中身を自動的に破壊できる非常に優れた金庫を設計することにたとえられる。では、そんな金庫が売られるたびに、政府は必ず自分たちの鍵を持つべきなのだろうか?
議論があるとすれば、権利を尊重されたい人々と、それをしたくない企業の間だけだ。それを「議論」であるかのように装うのは、ロビイストのために自分たちの立場を物語化しようとする見え透いた試みにすぎない。
「完全なプライバシー」も藁人形論法だ。プライバシーがまったくない状態と完全なプライバシーの間の妥協点が、「Googleがユーザーの意思に反してデータを収集すること」である必要はない。
あの問題の多い人物の人間嫌悪はさておき、この引用は「でも犯罪者が!」という主張がしばしば使われるわりに、ほとんど正当化されないことを思い出させてくれる。
数日考えて、ようやく気づいたが、これは一般的な ウェブスクレイピング 全体を抜け道なしで塞ぐ仕組みだ。
Nitter、Teddit、Invidious、youtube-dlのようなプロジェクトの「敵対的互換性」はすべて消え去る。archive.org、archive.phのようなアーカイブサイトも、証明を要求するサイトによってブロックされうる。
出版業界が海賊版を恐れるあまりKindleに「救済」されたように、ビジネスモデルを見いだせない報道機関も、Googleが自分たちを救ってくれることを期待して群がるだろう。
荒れた状況になりそうだ。
もちろん、そうなれば金銭的インセンティブのあるスクレイピングサービスは動き続け、ユーザーエージェントの自由を望む正直な個人だけが損をする。他の多くのDRMとまったく同じだ。
まだ気に入らない点もあるし、使っている拡張機能のかなりの部分がChromium専用だが、もはや選択肢がないように感じる。
この問題にもっと注目が集まるのはよいことだ。ユーザーエージェント差別、つまり「最新のChromeでなければ失せろ」という類いの行為は違法であるべきだ。
自分の利用がサービスに過負荷をかけるようなものでない限り、どんなハードウェアやソフトウェアを使うかを制限されるべきではない。
アクセシビリティや相互運用性を意図的に妨げるほかの障害も同様だ。Googleだけが実装でき、変更にも追随できるほど複雑で頻繁に変わる「標準」を作り、実際の有用性とは無関係に、すべてのサイトが事実上Chrome専用になるよう宣伝することは防がなければならない。
この件の責任者を全員見つけ出して、言論の自由を行使することを勧める。政治家に対して効果があるのだから、こういう別種の悪党にも効果があるはずだ。
改めて、Stallmanは非常に先見の明があった: https://www.gnu.org/philosophy/right-to-read.html
昔サイトが嫌がらせでIEをブロックしていたのと、概念的に何が違うのか?
ソフトウェアのユーザーエージェント文字列は、サーバーに文脈を与えるためにブラウザが付ける識別子にすぎず、保護レイヤーではない。
Googleには自社ソフトウェアの利用を望む形で制限する権利があり、私たちは単に使わなければよい。
開かれたインターネットに対する基本権はなく、誰もそれを私たちに負ってはいない。インターネットがずっと開かれていて、商業化も弱かった時代に戻ってほしいとは思うが、法的規制でそんな日が来ることはないだろう。
あまりに多くのレベルで間違っていて、どこから始めればいいのかも分からない。
まず、こうした「提案」が嫌いだ。実際には「うちの主力製品にはすでに実装してあり、ユーザーには親切に強制するし、選択肢があるなら使わなくてもよい」という態度だからだ。
次に「ロボットではなく、ブラウザが承認されていない方法で修正または改変されていないことを保証する」という部分だ。私はChromium系ではないオープンソースブラウザ、つまりFirefoxを使っていて、望むように改造して再コンパイルできる。望めばlinks、elinks、lynx、dilloも使えるし、実際に使っている。お前たちは何様で、私のコンピューターで私が使うソフトウェアを指図するのか?
これは90年代のDRMの波の再来だ。オープンなソフトウェア、オープンなプラットフォーム、オープンなプロトコルへの継続的な攻撃だ。
腹が立つし、悲しくもある。
今では、あらゆる「信頼された」実行環境やTPMのような背信的コンピューティングがあり、避けることもできず、他人の公開鍵がシリコンに埋め込まれている。
GitHub issue[0]をロックした提案の作成者はHNにもコメントしたが、ここでは今のところ沈黙している: https://news.ycombinator.com/item?id=36825097
[0] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
GooglerのRupertBenWiser[3]とyoavweiss[4]は、ただGoogleの方針に従っているだけだ。特にyoavweissが、コメントすら読まずに元のissueを強制的に閉じ、それを「スパム」[5]であるかのように見せかけようとしたのは本当に不快だ。
両ユーザーとも非常に悪意ある振る舞いをしており、エンジニアリングの倫理規範をきちんと守っていないと思う。
GitHubリポジトリをロックする行動だけを見ても、自分たちでも分かっていることがうかがえる。
GoogleとGooglerたちがどれほど堕落したかと思うと非常に憂鬱だ。かつては革新、成長、技術創造の拠点だった場所が、今では広告、市場支配的地位の濫用によってブラウザ戦争の後半でChromeにばかげた優位を与えること、そして同じことの繰り返しでしかない。
もうGoogleに対して反トラスト措置を取るべき時なのかもしれない。まだでないならFirefoxに移ってChromeの使用をやめるべきだ。Mozillaはこの提案と、それを押し進めるエンジニアたちに反対している[6]。
[1] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
[2] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
[3] https://github.com/RupertBenWiser
[4] https://github.com/yoavweiss
[5] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
[6] https://github.com/mozilla/standards-positions/issues/852#is...
昔の冗談みたいに「ヤギを一度でも…」
ユーザーの立場からすると、この「証明」には何の価値もない
ブラウザでは、自分が望むことは何でもできるべきだ。たとえば広告を除去したり、canvas や webgl へのアクセスをブロックできるべきであり、サイト側はそれを知ることができてはならない
しかもこの証明は、追加のブラウザフィンガープリント信号を提供する可能性が高く、それは望ましくない
自分のデバイスが依然として自分の管理下にあるかを制御・検証したいことはあり得るし、毎週データセンターに直接入って確認しなくて済むならなお良い。概念そのものが悪いわけではない
ただしこの概念は、広告ブロッカーを防ぎ、Brave のようなブラウザが Chrome のふりをしながら拡張機能なしで広告をブロックするのを阻止しようとしているように見える
ユーザーにとって前向きな用途として思いつくのは、セルフホスト型ソフトウェアくらいしかない。中間者攻撃やブラウザを改変するマルウェアの検知に使えるかもしれない。実際には「Firefox 禁止、Linux 禁止、広告ブロッカー禁止」になるだろう
そうなれば、キーロガー、悪意あるブラウザ拡張、セッションハイジャックのようなものを排除できる
もちろん実際には、コンテンツをロックし、スキップできない広告をユーザーに強制するために使われるだろう
しかし、プライベートネットワークでこうしたことを行うソフトウェアはすでに存在する。こうした機能がオープンなWebに入り込む余地はまったくないと強く思う
この提案はユーザー敵対的であり、Web の未来にとって非常に危険になり得る
今 Chrome を使っているか? 言いたくはないが、あなたも問題の一部だ。別のものに切り替えればいい
極端な反Google志向というわけではない。Gmail も使うし、検索エンジンとして Google も使っている。だが、Firefoxは良いブラウザで、日常用ブラウザとして使っている。Edge、Brave、Safari、DDG ブラウザも選択肢だ
今日切り替えて、Google のてこを弱めることを始めるべきだ
Google が Chrome に押し込む変更の大半を防がないため、依然として Google のインターネット支配に大きく寄与している
本当に Web プラットフォームに対する Google の支配を揺るがしたいなら、実質的な選択肢は Firefox と Safari だけだ