насколько уникален отпечаток WebGL - PullRequest
0 голосов
/ 29 апреля 2020

Недавно я исследовал какой-то уникальный идентификатор для браузера и обнаружил https://panopticlick.eff.org/, который понимает, что есть «Ха sh отпечатка WebGL», но я не знаю, на что повлияет ключ значение, которое я протестировал, используя экран с 2-разным разрешением (тот же P C), чтобы запустить и обновить младшую версию браузера, и оно возвращает мне то же значение для ключа.

Кто-нибудь может помочь мне понять, как Ха sh WebGL отпечатков пальцев генерируется?

Ответы [ 2 ]

2 голосов
/ 29 апреля 2020

Кто-нибудь может помочь мне понять, как генерируется Ha sh отпечатка WebGL?

Отпечаток WebGl ha sh создается путем рендеринга шаблона (или низкое высокое энтропийное изображение (изображение, которое плохо сжимается)), а затем создается ха sh из полученных визуализированных пикселей.

это изображение отображается в буфере кадров с фиксированным размером, так изменение разрешения экрана не повлияет на результирующее значение ha sh.

. Вершинные и (особенно) фрагментные шейдеры будут записаны так, чтобы преувеличивать известные различия в обработке GPU. Что это будет, будет зависеть от кода отпечатка пальца.

Поскольку WebGL не позволяет предварительно скомпилированные шейдеры, таким образом, с небольшими усилиями вы можете получить доступ к исходному коду шейдеров, шагая по коду, пока не найдете вызов контекста webGL shaderSource. Ха sh генерируется JavaScript и снова будет зависеть от предпочтительного метода отпечатка пальца.

1 голос
/ 29 апреля 2020

Значение ha sh для WebGL обычно задается c для графического процессора, поэтому у NVidia 2080 GTX будет другой отпечаток, чем у Nvidia GeForce GT 750M или Intel Iris Pro et c ... Изменение экрана разрешение не повлияет на отпечаток WebGL, но оно повлияет на отпечаток вашего пальца в какой-то другой части panopticlick

Он сгенерирован хорошо, вы можете посмотреть на код , но в целом вы запрашиваете все функции WebGL ( вот так ). Они будут несколько отличаться от графического процессора.

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

panpoticlick преувеличивает. Например, у меня есть iPhone 11. Отпечаток пальца Panopticlick утверждает, что мой телефон уникален для 200k. Единственная особенность iphone 11 - это часовой пояс и языковые настройки, в противном случае все iPhone 11 имеют одинаковый отпечаток пальца.

Я нахожусь в стандартном часовом поясе Pacifi c. В стандартном часовом поясе Pacifi c проживает не менее 55 миллионов человек. Быть уникальным для 1 из 200k означало бы, что в общей сложности 275 iPhone 11 во всех Калифорнии, Орегоне и штате Вашингтон установлено на Engli sh. Мы знаем, что это неправда. В этих трех штатах есть десятки тысяч iPhone 11, может быть, сотни тысяч.

Дело в том, что Panopticlick действительно не получает достаточно трафика c, чтобы узнать, означает ли отпечаток пальца что-либо, и с тех пор никто не посещает каждый отпечаток пальца, кажется, выглядит уникальным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...