Morfiade
Русский
Попробовать

Canvas-отпечаток

Canvas-отпечаток (canvas fingerprinting) — способ узнать компьютер по тому, как он рисует. Сайт просит браузер нарисовать невидимую картинку с текстом и фигурами, забирает результат и считает от него контрольную сумму.

Картинка одна и та же, а сумма у разных машин разная: рисованием занимается видеокарта, и мельчайшие отличия в ней, в драйвере, в наборе шрифтов и в сглаживании дают на выходе разные пиксели. Разница человеку не видна — а числу видна.

Тот же приём работает и с WebGL (трёхмерная графика, плюс название видеокарты открытым текстом) и с AudioContext (обработка звука вместо картинки).

Почему это сильная примета

Canvas-сумма не хранится ни в каком файле — её нельзя стереть, как куки. Она вычисляется заново при каждом заходе и остаётся одинаковой, пока вы не сменили компьютер, видеокарту или драйвер.

Поэтому два аккаунта, открытые с одной машины, по canvas выглядят одним человеком, даже если всё остальное разное.

Чем опасна неаккуратная подмена

Подменяют обычно шумом: к результату добавляют едва заметные отклонения, чтобы сумма менялась. Здесь легко сделать хуже, чем было, и вот три способа:

Правило то же, что и для всего отпечатка: согласованность важнее уникальности. Устойчивый и обычный отпечаток лучше неповторимого.

Как проверить

Проверка отпечатка показывает вашу canvas-сумму и делает два чтения подряд — чтобы было видно, держится значение или прыгает.