Canvas フィンガープリントとは?
ページが見えないキャンバスに文字と図形を描き、ピクセルを読み戻してハッシュにします。同じマシンなら毎回同じ、マシンが違えば違うので ID になります。
二台のコンピュータに同じ文字と図形を描かせると、ピクセルがわずかに違います。GPU、ドライバ、フォント、アンチエイリアスが跡を残すからです。サイトはその絵をハッシュにして指紋にします。あなたの指紋と、ブラウザがそれを乱しているかを示します。
53 個のスニファー · 許可は求めない
たぶんの人。ふだんの言葉は、パソコンの時計はで表示。
使っているのはで、ブラウザは。画面は、GPU はで、。
派で、。。入っているフォントからは:。年齢は、。
Referer · document.referrernavigator.languagesIntl.DateTimeFormatIntl …timeZoneIntl …hourCycleIntl.Locale weekInfoIntl.NumberFormatnavigator.keyboardspeechSynthesisprefers-color-schemeprefers-reduced-motioncolor-gamut · dynamic-rangeprefers-contrast · forced-colorsdisplay-modedoNotTrack · GPCnavigator.cookieEnabledpermissions.querypdfViewerEnablednavigator.webdriverbait elementwindow.ethereum · DOM markshistory.lengthcanvas measureTextuserAgentDatauserAgentData.brands…architecture · bitnessscreen · devicePixelRatiorequestAnimationFramescreen.isExtended · screenXinnerWidth · availHeightWebGL RENDERERnavigator.gpu adapter.infoWebGL2 · MAX_TEXTURE_SIZEhardwareConcurrencynavigator.deviceMemorymaxTouchPoints · pointernavigator.getBatterynavigator.connectionWebRTC host candidateenumerateDevicesAudioContext.sampleRatePublicKeyCredentialbluetooth.getAvailabilityMediaSource.isTypeSupportedrequestMediaKeySystemAccessstorage.estimateError.messagecanvas.toDataURLWebGL getParameterOfflineAudioContextfonts → SHA-256SHA-256canvas × 2ページが見えないキャンバスに文字と図形を描き、ピクセルを読み戻してハッシュにします。同じマシンなら毎回同じ、マシンが違えば違うので ID になります。
Canvas・WebGL・音声にランダムなノイズを入れるブラウザを使う:標準で有効な Brave や、resistFingerprinting を有効にした Firefox。「フィンガープリント保護」の行で二回の描画が違ったか分かります。
描画関数を包むことで効くものもあります。ただしそれ自体が見つかることもあり、ブラウザ環境チェックは差し替えられた関数を示します。