В Chromium шум аудио привязан к домену, а не к профилю. Что это значит на практике, как мы это показываем и что потребуется, чтобы закрыть вопрос совсем. Единственный канал, который мы пока не развели.
Детектор прогоняет через Web Audio короткий сигнал и хэширует результат. Железо и драйвер вносят в отрисовку крошечные отклонения, поэтому хэш работает как подпись машины. На двух реальных компьютерах хэши разные, и по ним аккаунты разводятся так же уверенно, как по canvas. В снимке профиля это таблица из 108 констант Web Audio.
Наш движок шумит аудио, но ключует шум доменом: один и тот же сайт получает от всех профилей на машине одинаковый хэш. Между собой профили по аудио не различаются. На соседних каналах такой проблемы нет:
| Канал | Совпадает на одной машине | Причина |
|---|---|---|
| Canvas | нет | ключуется сидом профиля |
| WebGL | нет | карта из набора устройства |
| Аудио | да | шум привязан к домену, а не к персоне |
На двух настоящих машинах хэш аудио различается, а у нас нет. Это единственный настоящий остаток связываемости из всех замеренных поверхностей.
Апстрим движка пометил это как известный пробел origin-invariant. Лечение состоит в переводе ключевания шума с домена на профиль в патче 001-farble-seed-core. Такое изменение требует собственной сборки движка. Объем работы измерен: это правка в одном патче, а не переписывание. До ее выхода строка выше остается правилом работы.
После нее аудио встанет в один ряд с canvas и WebGL, и последний канал связываемости на одной машине закроется.
Как детекторы связывают профили · Согласованность важнее количества