スクリーンフィンガープリンティングの仕組み
ブラウザは標準オブジェクトを通じて画面プロパティを公開します。これには、全体の幅と高さ、システムUIを除いた利用可能領域、色深度とピクセル深度、CSSピクセルと物理ピクセルを関係づけるデバイスピクセル比が含まれます。スクリプトは特別な許可なしにこれらの値を直接読み取ります。
高密度ディスプレイとスケーリング設定は特徴的なピクセル比の値を生み、全体と利用可能な画面領域の差は、オペレーティングシステムのUIクロームを露呈することがあります。一部のプラットフォームでは、複数モニターや画面の向きに関する情報がさらなる詳細を追加します。
画面シグナルは中程度に安定していますが、ユーザーが外部モニターを接続したり、スケーリングを調整したり、デバイスを回転させたりすると変わることがあります。このため、固定の識別子として扱うのではなく、より安定したシグナルと組み合わせ、寛容にマッチングします。
不正防止においてスクリーンフィンガープリンティングが重要な理由
スクリーンフィンガープリンティングは、他の点では類似したデバイスを切り分けるのに役立つエントロピーを追加し、偽装環境に典型的な不整合を露呈できます。モバイルデバイスを名乗りながらデスクトップ相当の解像度を報告する構成や、あり得ない画面メトリクスを持つエミュレーターは、フラグを立てやすくなります。Cookieを使わないデバイス認識への、軽量ながら有用な寄与要素です。
TRACIOでの扱い方
TRACIOはディスプレイ特性を130+のシグナルに含め、その特徴性と、名乗ったデバイスタイプに対する一貫性チェックの両方に用います。画面構成は外部モニターやスケーリングで変わりうるため、TRACIOは寛容なマッチングを適用し、日常的な変化で認識が破られないようにします。このシグナルは一意のキーとして機能するのではなく、全体の識別信頼度を支えます。