Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
The natural way for browsers to implement such feature is to draw on the host operating system and hardware. Using the GPU for 3D graphics (and even for 2D graphics compositing) provides substantial performance improvements, as well as battery savings on mobile devices. And using the operating system's font-rendering code for text means that browsers automatically display text in a way that is optimized for the display and consistent with the user's expectations.
мобильные устройства мало совместимы с таким методом— на 70 миллионах айфонов одинаковые шрифты, браузер и GPU.
abc123. Пришел пользователь на другой сайт — мы опять его попросили картинку нарисовать. Хеш картинки получился такой же — abc123. Значит и пользователь — тот же.This is a simple Proof-of-Concept that Browser Fingerprinting is possible without any of User-Agent identifiers.
The method is based on the fact that the same HTML5 Canvas element can produce exceptional pixels on a different web browsers, depending on the system on which it was executed.
This happens for several reasons: at the image format level — web browsers uses different image processing engines, export options, compression level, final images may got different hashes even if they are pixel-perfect; at the pixmap level — operating systems use different algorithms and settings for anti-aliasing and sub-pixel rendering. We don't know all the reasons, but we have already collected more than a thousand unique signatures.

Статья неточно переведена, я не использовал сторонние наработки (ссылка ведет на мой же проект).
Что касается почему разные отпечатки получаются, рисование специального изображения это только первая часть. Главное — это перевод PNG в бинарную форму, а затем в base64. За это в современных браузерах почти всегда отвечает GPU. Вот разница в графических процессорах и реализации PNG декодирования и выдает разные base64 строки на выходе.
Canvas fingerprinting только один из множества источников, который добавляет несколько байт к энтропии. Основная часть это плагины и возможности браузера. Совокупный отпечаток строится, используя все возможности.
Этот способ (получивший название «canvas fingerprint») весьма сложно, если вообще возможно, заблокировать стандартными методами, типа блокированием куков либо установкой AddBlock или сходных плагинов.
В июне разработчики Tor Project даже добавили в свой браузер функцию уведомления пользователя о том, что какой-либо сайт пытается использовать описанный метод идентификации.Функция блокировки получения яваскриптом содержимого canvas была предложена ещё в ноябре 2012 года. За июнь 2014 года никаких упоминаний о canvas в блоге Tor Project не нашел.
canvas.siteprompt=Этот веб-сайт (% S) пытался получить доступ к данным изображения на холсте. Поскольку данные холсте изображение может быть использовано для получения информации о вашем компьютере, пустые данные изображения были возвращены на этот раз.
Набор шрифтов и методы сглаживания немного отличается на разных машинах
Исследователи из Принстона обнаружили «теневой» инструмент идентификации пользователей в плагине AddThis