- PVSM.RU - https://www.pvsm.ru -
Компании Google и Apple представили две похожие технологии «для борьбы с онлайн-мошенничеством и другими злоупотреблениями без ущерба для приватности». Инициатива Google называется Web Environment Integrity [1] (WEI). Похожая технология от Apple под названием Private Access Tokens [2] (токены приватного доступа) представлена в прошлом году, а сейчас интегрирована в MacOS 13, iOS 16 и Safari, то есть официально введена в строй.
Суть в том, что Google или Apple выполняют проверку клиентского устройства — и гарантируют серверу его аутентичность. В свою очередь, сервер отдаёт контент только «правильным» посетителям.
Некоторые специалисты считают [3], что аттестация устройств вредна по своей сути, поскольку вводит ограничения на доступ к контенту и блокирует контроль пользователей над собственными устройствами (например, можно запретить доступ к сайту для пользователей с рутованными телефонами, старыми версиями приложений или блокировщиками рекламы).
Аттестация сайтов формально вводится «для установления доверия между клиентом и сервером» как альтернатива фингерпринтингу и установке сквозных куков. Это доверие устанавливается через гарантии от стороннего «аттестатора», которым в случае WEI выступает Google Play, а с токенами приватного доступа — соответственно, Apple.
Код WEI [4] для Chromium появился на Github в апреле 2023 года, а официально анонсирован в мае [5]. Но он не привлекал особого внимания общественности вплоть до 21 июля, когда был опубликован черновик спецификации Web Environment Integrity [1] (с примечанием «коллекция интересных идей»).
Если вкратце, WEI предлагается в качестве API для «передачи сигналов доверия с низкой энтропией в веб-среде». Этот API основан на том, что пользовательские агенты имеют доступ к аттестатору и могут передать серверу гарантии своей аутентичности («целостности среды» в терминологии документа).
Пример запроса на аттестацию целостности среды:
// getEnvironmentIntegrity ожидает «привязки к содержимому» запроса.
// Такая привязка защищает от использования этой информации
// для другого запроса. Перед отправкой аттестуемому содержимое
// contentBinding будет конкатенировано с доменным именем и хэшировано.
const contentBinding = "/someRequestPath?requestID=xxxx" +
"Любые другие данные, необходимые для соответствующего этому запросу contentBinding...";
const attestation = await navigator.getEnvironmentIntegrity(contentBinding);
console.log(attestation.encode());
"полезная нагрузка аттестации в кодировке base-64 и подпись общим размером примерно 500 байт"
const response = await fetch(`/someRequest?requestID=xxxx&attested=${attestation.encode()}`);
Аттестационный токен возвращается в виде ArrayBuffer
, сериализованного с помощью CBOR (RFC 8949) и подписанного с помощью COSE (RFC 9052).
На втором этапе веб-сервер проверяет достоверность аттестуемой информации с использованием открытого ключа аттестатора. Затем на основе полученной информации принимаются решения:
// Этот код не является частью Web Environment Integrity API, а лишь примером,
// как можно проверить целостность среды со стороны сервера
function isAttested(attestation, contentBinding) {
if (!isAttesterTrustedByMe(attestation)) {
return false;
}
// Открытый ключ аттестатора запрашивается у него напрямую.
const attestersPublicKey = getAttestersPublicKey(attestation);
// Валидация токена с помощью открытого ключа аттестатора.
// Привязка к содержимому и защиту от повторного воспроизведения.
if (!isTokenRecentEnoughAndValid(attestersPublicKey, attestation)) {
return false;
}
// Проверить хэш contentBinding
// Принять решения на основе attestation.payload
// ...
}
Автор технологии Web Environment Integrity, программист Google Бен Уайзер (Ben Wiser) в комментарии на Github [6] отвечает на критику со стороны сообщества. По его словам, «эксперимент WEI является частью более масштабной задачи по обеспечению безопасности и открытости интернета, а также по борьбе с межсайтовым отслеживанием и уменьшению зависимости от фингерпринтинга в борьбе с мошенничеством и злоупотреблениями».
Пока продолжается дискуссия вокруг WEI, компания Apple де-факто ввела в действие похожую программу Private Access Tokens [2]. Как уже упоминалось, токены приватного доступа были представлены в прошлом году, но сейчас они интегрированы в MacOS 13, iOS 16 и Safari, то есть во все устройства Apple. Разумеется, без поддержки со стороны веб-сайтов ничего не будет работать: нужно ещё убедить разработчиков установить проверку устройств на своих сайтах.
Токены приватного доступа работают по следующему алгоритму:
PrivateToken
:
HTTP/1.1 401 Unauthorized
WWW-Authenticate:
PrivateToken challenge=<base64 challenge data>,
token-key=<base64 public-key>
Authorization
:
GET /protected-content HTTP/1.1
Host: example.com
Authorization: PrivateToken token=<signed token>
Наверняка многим веб-сайтам эта идея понравится, потому что токены приватного доступа — это более надёжная альтернатива традиционным юзер-агентам. Она позволяет заблокировать ботов, которые впустую тратят ресурсы сервера и публикуют фейковые посты. Капча станет не нужна. Игровые сайты смогут выявлять читеров. Заражённые устройства и ботнеты станут выявляться автоматически. Казалось бы, одни плюсы. Неспроста Cloudfalre начала внедрять токены приватного доступа [7] ещё в прошлом году.
В перспективе таким образом можно не просто отличать людей от ботов, но и узко таргетировать аудиторию по полу, возрасту, уровню дохода и месту проживания и т. д. (см. фильтры для рекламодателей в Facebook), поскольку у «аттестатора» как владельца операционной системы на устройстве есть эта информация.
Иногда бывает так, что задуманные с благой целью инициативы в итоге приносят больше вреда, чем пользы. К сожалению, изначально хорошие намерения вовсе не гарантируют положительный результат. В данном случае логично предположить, что каждая крупная IT-корпорация будет продвигать собственную «систему аттестации», а к упомянутым Apple и Google присоединится и Microsoft (см. Trusted Windows [8]). Всё это может привести к фрагментации экосистемы интернета, доставляя лишние проблемы и разработчикам, и пользователям.
В случае принятия этот стандарт, который сравнивают с DRM [9], по своей сути может вступить в противоречие с открытой архитектурой свободного интернета, а также с базовым правом граждан на анонимный и безопасный доступ к контенту. Поэтому новые инициативы воспринимаются сообществом с некоторой опаской [10].
Есть мнение, что WEI представляет собой ещё одно препятствие для альтернативных браузеров. С официальной критикой технологии выступила [11] Mozilla и др.
«Я не думаю, что это [токены аттестации] решение проблемы, — говорит [12] Йон фон Течнер, разработчик Opera и Vivaldi. — Настоящее решение в том, чтобы уйти от экономической модели, основанной на слежке за людьми. Мы пытаемся противостоять такой модели, запретить сбор данных, профилирование пользователей и использование их в рекламе. Я действительно не понимаю, почему это остаётся законным. Экономика слежки крайне токсична. Она создаёт значительные проблемы для общества, и отказаться от слежки — по-моему, очевидное решение. Использовать её бессмысленно, есть другие способы рекламы, которые работают не хуже. Но для определённых компаний это большие деньги, и они не хотят отказываться от того, что имеют».
Есть подозрение, что корпорации вводят аттестацию устройств вовсе не для того, чтобы защитить приватность пользователей, а скорее для расширения своего влияния в интернете как единственного и уникального владельца пользовательских профилей. То есть в конечном итоге всё сводится к тому, кто будет контролировать информацию, критически важную для электронной коммерции и рекламного рынка.
Примечание. Идея «доверенных устройств» (“Trusted Computing”) не нова и многократно обсуждалась [13] в прошлые десятилетия. Например, см. статью Ричарда Столлмана от 2005 года [14] по поводу чипов TPM. Сейчас идея удалённой аттестации устройств вернулась в новом виде. В качестве веб-токенов для аттестации также предлагаются технологии PrivacyPass [15], Trust Token API [16] и UserConfidenceScore [17].
Автор: GlobalSign_admin
Источник [18]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/privatnost/386592
Ссылки в тексте:
[1] Web Environment Integrity: https://rupertbenwiser.github.io/Web-Environment-Integrity/
[2] Private Access Tokens: https://developer.apple.com/news/?id=huqjyh7k
[3] считают: https://httptoolkit.com/blog/apple-private-access-tokens-attestation/
[4] Код WEI: https://bugs.chromium.org/p/chromium/issues/detail?id=1439945
[5] в мае: https://groups.google.com/a/chromium.org/g/blink-dev/c/Ux5h_kGO22g
[6] комментарии на Github: https://github.com/RupertBenWiser/Web-Environment-Integrity/issues/28#issuecomment-1651129388
[7] начала внедрять токены приватного доступа: https://blog.cloudflare.com/eliminating-captchas-on-iphones-and-macs-using-new-standard/
[8] Trusted Windows: https://en.wikipedia.org/wiki/Next-Generation_Secure_Computing_Base
[9] сравнивают с DRM: https://github.com/RupertBenWiser/Web-Environment-Integrity/issues/108
[10] с некоторой опаской: https://news.ycombinator.com/item?id=36817662
[11] выступила: https://github.com/mozilla/standards-positions/issues/852#issuecomment-1648820747
[12] говорит: https://www.theregister.com/2023/07/27/google_web_environment_integrity/
[13] многократно обсуждалась: https://gabrielsieben.tech/2022/07/29/remote-assertion-is-coming-back-how-much-freedom-will-it-take/
[14] статью Ричарда Столлмана от 2005 года: https://www.gnu.org/philosophy/can-you-trust.en.html
[15] PrivacyPass: https://privacypass.github.io/
[16] Trust Token API: https://github.com/WICG/trust-token-api#non-web-sources-of-tokens
[17] UserConfidenceScore: https://github.com/w3c/webpayments/wiki/UserConfidenceScore
[18] Источник: https://habr.com/ru/companies/globalsign/articles/754250/?utm_source=habrahabr&utm_medium=rss&utm_campaign=754250
Нажмите здесь для печати.