Компания Google опубликовала черновой вариант спецификации Web Environment Integrity и работает над включением её реализации в кодовую базу Chromium и движка Blink. API Web Environment Integrity позволяет владельцам сайтов удостовериться, что окружение клиента заслуживает доверия, в плане защиты пользовательских данных, соблюдения интеллектуальной собственности и взаимодействия с реальным человеком.
Для подтверждения браузерного окружения, в котором выполняется загружаемый с сайта код, применяется специальный токен, выдаваемый сторонним удостоверителем (attester), который в свою очередь может быть связан цепочкой доверия с механизмами контроля целостности в платформе (например, Google Play). Для получения токена браузер отправляет запрос на сторонний сервер аттестации, который после выполнения определённых проверок подтверждает, что браузерное окружение не модифицировано. Предполагается, что новый API будет востребован в областях, в которых сайту необходимо убедиться, что на другой стороне реальный человек и реальное устройство, а браузер не модифицирован и не поражён вредоносным ПО.
В качестве примеров применения нового API упоминается отсеивание трафика от ботов при показе рекламы; борьба с автоматически рассылаемым спамом и накруткой рейтингов в социальных сетях; выявление манипуляций при просмотре защищённого авторскими правами контента; борьба с читерами и фейковыми клиентами в online-играх; определение создания фиктивных учётных записей ботами; противостояние атакам по подбору паролей; защита от фишинга, реализуемого при помощи вредоносных программ, транслирующих вывод к реальным сайтам.
Представители Mozilla выступили против добавления подобных API в браузеры из-за опасений, что внедрение технологии приведёт к усилению зависимости пользователей от отдельных поставщиков и появлению сайтов, работающих только в отдельных браузерах. В частности API Web Integrity базируется на технологии Play Integrity, уже применяемой в платформе Android для подтверждения того, что запрос произведён из немодифицированного приложения, установленного из каталога Google Play и выполняемого на подлинном Android-устройстве.
Для проверки подлинности в Web Integrity
используются дополнения EME (Encrypted Media Extensions), похожие на те, что применяются в DRM для декодирования медиаконтента, защищённого авторскими правами. В теории EME не привязан к отдельным поставщикам, но на практике распространение получили три проприетарных реализации: Google Widevine (используется в Chrome, Android и Firefox), Microsoft PlayReady (используется в Microsoft Edge и Windows) и Apple FairPlay (используется в Safari и в продуктах Apple).
В ходе обсуждений были высказаны опасения, что новый API может подорвать открытый характер Web, существенно ограничит возможности по использованию альтернативных решений, усложнит продвижение новых браузеров на рынок и привяжет пользователей к верифицированным официально выпущенным браузерам, без использования которых потеряется способность работы с некоторыми крупными web-сайтами и сервисами. Подобное уже происходит в экосистемах Android и iOS, в которых некоторые приложения, такие как Google Wallet, Snapchat и Netflix, используют API Play Integrity и App Attesty для блокировки работы на рутированных устройствах, на которых сняты ограничения производителя и пользователь имеет полный доступ к системе.