Крупнейшие IT-корпорации вводят «DRM для сайтов». Аттестация устройств и токены приватного доступа

в 19:52, , рубрики: api, IT-стандарты, Private Access Tokens, Trusted Windows, Web Environment Integrity, аттестация устройств, Блог компании GlobalSign, блокировка рекламы, браузеры, доверенные устройства, куки, приватность, слежка за пользователями, токены приватного доступа, фингерпринтинг
Крупнейшие IT-корпорации вводят «DRM для сайтов». Аттестация устройств и токены приватного доступа - 1

Компании Google и Apple представили две похожие технологии «для борьбы с онлайн-мошенничеством и другими злоупотреблениями без ущерба для приватности». Инициатива Google называется Web Environment Integrity (WEI). Похожая технология от Apple под названием Private Access Tokens (токены приватного доступа) представлена в прошлом году, а сейчас интегрирована в MacOS 13, iOS 16 и Safari, то есть официально введена в строй.

Суть в том, что Google или Apple выполняют проверку клиентского устройства — и гарантируют серверу его аутентичность. В свою очередь, сервер отдаёт контент только «правильным» посетителям.

Некоторые специалисты считают, что аттестация устройств вредна по своей сути, поскольку вводит ограничения на доступ к контенту и блокирует контроль пользователей над собственными устройствами (например, можно запретить доступ к сайту для пользователей с рутованными телефонами, старыми версиями приложений или блокировщиками рекламы).

Аттестация сайтов формально вводится «для установления доверия между клиентом и сервером» как альтернатива фингерпринтингу и установке сквозных куков. Это доверие устанавливается через гарантии от стороннего «аттестатора», которым в случае WEI выступает Google Play, а с токенами приватного доступа — соответственно, Apple.

WEI от Google

Крупнейшие IT-корпорации вводят «DRM для сайтов». Аттестация устройств и токены приватного доступа - 2Код WEI для Chromium появился на Github в апреле 2023 года, а официально анонсирован в мае. Но он не привлекал особого внимания общественности вплоть до 21 июля, когда был опубликован черновик спецификации Web Environment Integrity (с примечанием «коллекция интересных идей»).

Если вкратце, 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 отвечает на критику со стороны сообщества. По его словам, «эксперимент WEI является частью более масштабной задачи по обеспечению безопасности и открытости интернета, а также по борьбе с межсайтовым отслеживанием и уменьшению зависимости от фингерпринтинга в борьбе с мошенничеством и злоупотреблениями».

Токены приватного доступа от Apple

Пока продолжается дискуссия вокруг WEI, компания Apple де-факто ввела в действие похожую программу Private Access Tokens. Как уже упоминалось, токены приватного доступа были представлены в прошлом году, но сейчас они интегрированы в MacOS 13, iOS 16 и Safari, то есть во все устройства Apple. Разумеется, без поддержки со стороны веб-сайтов ничего не будет работать: нужно ещё убедить разработчиков установить проверку устройств на своих сайтах.

Токены приватного доступа работают по следующему алгоритму:

  1. Браузер делает HTTP-запрос к веб-серверу.
  2. Сервер отклоняет запрос и возвращает ответ HTTP 401 с вызовом PrivateToken:
    HTTP/1.1 401 Unauthorized
    WWW-Authenticate:
    PrivateToken challenge=<base64 challenge data>,
    token-key=<base64 public-key>
  3. Браузер распознаёт это и отправляет аттестатору (например, Apple) часть вызова, а также проверенные данные о вашем устройстве.
  4. Аттестатор проверяет устройство на отсутствие модификаций (зависит от устройства, но в Android и iOS существуют способы проверки) и возвращает эмитенту токена (третья сторона, например, Cloudflare/Fastly) подписанный токен, который доказывает легитимность устройства.
  5. Браузер отправляет повторный запрос с подписанным токеном в заголовке Authorization:
    GET /protected-content HTTP/1.1
    Host: example.com
    Authorization: PrivateToken token=<signed token>

  6. Теперь сервер знает, что клиент был проверен доверенным провайдером (но не более того), и может поступить соответствующим образом.

Крупнейшие IT-корпорации вводят «DRM для сайтов». Аттестация устройств и токены приватного доступа - 3

Кому это нужно

Наверняка многим веб-сайтам эта идея понравится, потому что токены приватного доступа — это более надёжная альтернатива традиционным юзер-агентам. Она позволяет заблокировать ботов, которые впустую тратят ресурсы сервера и публикуют фейковые посты. Капча станет не нужна. Игровые сайты смогут выявлять читеров. Заражённые устройства и ботнеты станут выявляться автоматически. Казалось бы, одни плюсы. Неспроста Cloudfalre начала внедрять токены приватного доступа ещё в прошлом году.

Крупнейшие IT-корпорации вводят «DRM для сайтов». Аттестация устройств и токены приватного доступа - 4

В перспективе таким образом можно не просто отличать людей от ботов, но и узко таргетировать аудиторию по полу, возрасту, уровню дохода и месту проживания и т. д. (см. фильтры для рекламодателей в Facebook), поскольку у «аттестатора» как владельца операционной системы на устройстве есть эта информация.

Иногда бывает так, что задуманные с благой целью инициативы в итоге приносят больше вреда, чем пользы. К сожалению, изначально хорошие намерения вовсе не гарантируют положительный результат. В данном случае логично предположить, что каждая крупная IT-корпорация будет продвигать собственную «систему аттестации», а к упомянутым Apple и Google присоединится и Microsoft (см. Trusted Windows). Всё это может привести к фрагментации экосистемы интернета, доставляя лишние проблемы и разработчикам, и пользователям.

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

Есть мнение, что WEI представляет собой ещё одно препятствие для альтернативных браузеров. С официальной критикой технологии выступила Mozilla и др.

«Я не думаю, что это [токены аттестации] решение проблемы, — говорит Йон фон Течнер, разработчик Opera и Vivaldi. — Настоящее решение в том, чтобы уйти от экономической модели, основанной на слежке за людьми. Мы пытаемся противостоять такой модели, запретить сбор данных, профилирование пользователей и использование их в рекламе. Я действительно не понимаю, почему это остаётся законным. Экономика слежки крайне токсична. Она создаёт значительные проблемы для общества, и отказаться от слежки — по-моему, очевидное решение. Использовать её бессмысленно, есть другие способы рекламы, которые работают не хуже. Но для определённых компаний это большие деньги, и они не хотят отказываться от того, что имеют».

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

Примечание. Идея «доверенных устройств» (“Trusted Computing”) не нова и многократно обсуждалась в прошлые десятилетия. Например, см. статью Ричарда Столлмана от 2005 года по поводу чипов TPM. Сейчас идея удалённой аттестации устройств вернулась в новом виде. В качестве веб-токенов для аттестации также предлагаются технологии PrivacyPass, Trust Token API и UserConfidenceScore.

Автор: GlobalSign_admin

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js