オーディオフィンガープリンティングの仕組み
スクリプトはオーディオ処理グラフを構築し、通常はオシレーターで波形を生成し、それをコンプレッサーやアナライザーといったノードを通して流します。重要なのは、この音声が通常オフラインコンテキストで処理される点で、そのため音は再生されません。目的は音を出すことではなく、結果として得られるサンプル値を計算することにあります。
スクリプトは処理後のサンプルを読み戻し、コンパクトなハッシュまたは要約統計量にまとめます。この計算はブラウザのオーディオスタックとデバイスの浮動小数点実装を経由するため、わずかな変動が積み重なり、1つのデバイスでは一貫し、デバイス間では異なる値になります。
オーディオフィンガープリントは中程度に安定しており、グラフィックスベースのシグナルとは独立した次元を追加するため、全体のフィンガープリントを強化します。他のレンダリングプローブと同様に、オーディオ出力にノイズを注入するプライバシーツールによって擾乱される可能性があり、その擾乱自体も検知できます。
不正防止においてオーディオフィンガープリンティングが重要な理由
オーディオフィンガープリンティングは、canvasやWebGLのシグナルを補完する独立したエントロピーを追加し、組み合わせたデバイスプロファイルを説得力ある形で偽装しにくくします。不正防止においては、偽装ツールが1種類のシグナルを無効化しつつ他は手つかずのまま残すことがあるため、この多様性が重要になります。オーディオを相互照合することで、一貫性のない、あるいは操作された環境を露呈させるのに役立ちます。また、ユーザーに見える影響なくバックグラウンドで静かに動作します。
TRACIOでの扱い方
TRACIOはオーディオスタックの挙動を、多数のデバイスシグナルの1つとして取り込むことができ、グラフィックスベースのプローブと直交している点が評価されます。観測された安定性に応じて重み付けされ、単独の識別子としてではなく、他のシグナルを裏づけるために使われます。オーディオ出力に意図的なノイズ注入の兆候が見られる場合、TRACIOはその不整合を環境評価に組み込みます。