11
15
2024
SafariのAdvanced Tracking and Fingerprinting Protection問題
Advanced Tracking and Fingerprinting Protection で問題発生
Mac OSやIOSではAppleのSafariがデフォルトのWEBブラウザとして組み込まれており、ここ数年の間にWEBブラウザのユーザプライバシー保護機能が一段と可溶化されてきている.ユーザのプライバシー保護という観点からはこれらの動きは歓迎すべきことではあるが、プライバシー保護機能が一部のWEBアプリケーションの動作の障害になっているようだ.
私のWEBサイトで利用しているWeb Mapエンジンの “Mapbox GL” は WebGLの機能を活用した先進的なWEBマップシステムで、某G Mapsに取って代わる有力な選択肢なのだが、最近、Mac OSのSafariブラウザ上で、”Mapbox GL”のhillshading(地形に応じた陰影処理を施す機能)や 3D terrain (3次元的に立体表示する機能)表示で問題が発生するようになった.
現象としては陰影表示の一部に変な影が現れるようになったり、3次元表示が全く機能しなくなってしまった.この現象はFirefoxやBrave、Edgeなどの他のブラウザでは発生していないので、どうやらSafari固有の現象のようだ.
どうやらユーザプライバシー保護に関しては先進的な取り組みを続けているSafariの新しい機能がこの問題を引き起きしているのではないかと考え、同じような現象が報告されていないか色々と調べてみたところ、Safari 17から機能が付け加えられた、”Advanced Tracking and Fingerprinting Protection ” という機能が WebGLのレンダリング機能に影響を及ぼしているのが原因のようだ.
Mapbox GL上での問題については、“Workaround unexpected terrain spikes in browsers with fingerprint protection enabled #12997” で今回の同様な事例が報告されている.
ネット上には “Fingerprinting” 手法について色々と解説されているが、今回の問題はどうやら “Canvas Fingerprinting” という手法が問題となっているようだ.
・ ”What is Canvas Fingerprinting?” (https://www.adspower.com/blog/what-is-canvas-fingerprinting)
Safari 17での”Fingerprinting” については、“Apple Safari 17 and Google Privacy Sandbox: Changes to browser fingerprinting” という記事に簡単な経緯が載っている.この記事はWEB広告業界側からの視点で書かれた記事だが、”Fingerprinting”による方法で 何と99.5% の精度でユーザを識別できると言っている.サードパーティークッキーを排除したところで、ユーザプライバシー保護には何の役にもたっていないようだ.
広告業界側の開発者にとっては、”Fingerprinting” によるユーザ追跡を排除しようとする動きは受け入れ難いのは勿論のことだが、そうではない一般的なWEBアプリ開発者にとっては、この両者の仁義なき戦いの犠牲者かもしれない.一般のWEBアプリ開発者側の視点で書かれた記事も見受けられる.“Why I disabled advanced tracking and fingerprinting protection in Safari” Jeff Johnson
Fingerprintingによるユーザ追跡は鬱陶しいが、セキュリティー的な面ではユーザが使っているPCが以前ログインした際のマシンと同じかどうかを判別することも可能なので、同じマシンであった場合は認証手続きを簡略化したり場合によっては多要素認証をスキップするなどの手段としても利用可能だろう.
Safari 18 の設定ダイアログにある “Advanced Tracking and Fingerprinting Protection “の設定
WEBの世界では最近のユーザプライバシー保護の流れから、クッキーによるユーザ追跡が困難な状況になったため別なユーザトラッキングの仕組みを導入せざる負えない状況になり、ユーザトラッキングの一手法として、Fingerprinting(指紋)によるユーザ識別が盛んに使われるようになっているようだ.
あの手この手でユーザ情報を搾取しようとするWEB広告業界とユーザ保護を重視しようとするWEBブラウザメーカー側や広告ブロッカー開発企業との終わりの無い戦いがエスカレートする一方だ.勿論、WEB広告が本業のGのブラウザはユーザ保護に積極的に取り組むはずも無く、レガシーなサードパーティークッキーも排除せずに、相変わらず広告企業側に歩み寄っている.
WEBアプリ側で今回問題となっている “Advanced Tracking and Fingerprinting Protection” 機能のON/OFFを検出し、それに応じた対策が取れれば良いのだが、直ぐには難しそうなのでとりあえず今回は “Hillshading” の方法を、Mapbox GL 固有の”Hillshading”機能と国土地理院が提供している陰影ラスタータイルを用いてレイヤーを追加する方法を選択できるように “gpamap2” プラグインのコードを修正して対処することにした.
国土地理院の陰影処理画像は単純なラスターイメージタイルなので、レイヤーの透明度を変更しているだけなので地図レイヤーの上に表示されてしまっているようだ.レイヤーの上下関係を上手く調整できればもう少しクリアな陰影処理が可能になるとは思うが、Mapbox GLのレイヤーの順序を変えることはかなり難しそうで、レイヤーのハンドリングに関するAPIが見当たらないのが、Mapbox GLのちょっと残念なところだ.
折角HTML5でブラウザーの違いによる泥縄的な取り繕いをしなくても済むようになったのに、またしてもブラウザーの機能の違いで悩まされるようになるのはいい加減勘弁して欲しい.
今後のITやインターネットを取り巻く環境がどのように変化していくのかは不明だが、オレンジ爺さんやその取り巻き達のような自分の利益のことしか眼中にない質の悪い連中が政治やIT業界を牛耳るようになることは確実なので、どんどん状況が悪くなっていくことは間違いないだろう.暫くは暗黒の時代が続きそうだ.
Zoom Level: Bearing(Heading): Pitch: Grid Interval: