INTEGRITY Документация

Модели развертывания

На этой странице рассказывается, как устроено развертывание Privacy Pass: кто отвечает за каждую из четырех ролей, подробные примеры моделей развертывания, какие модели развертывания подходят для разных потребностей клиентов, а также как Privacy Pass используется в составе других продуктов.


Кто отвечает за каждую роль

Хотя токены Privacy Pass обеспечивают криптографическую защиту за счет слепых подписей и больших наборов анонимности, для гарантий приватности роли также должны быть достаточно разделены между собой. Типичное развертывание Cloudflare устроено следующим образом:

Роль Оператор
Клиент Программное обеспечение конечного пользователя (браузер, приложение или устройство)
Origin Сайт или приложение, к которому пытается получить доступ пользователь; при работе на Cloudflare Edge роль Источника выполняет Cloudflare
Attester Заказчик, хотя эта роль сильнее всего варьируется в зависимости от развертывания
Издатель Cloudflare, который управляет публичным эмитентом, соответствующим RFC 9578

Самое главное: это разделяет информацию о Клиенте так, что ни одна роль не знает всего, это свойство называется неотслеживаемостью. Хотя разные модели развертывания могут менять, кто именно что знает, неотслеживаемость гарантирует, что никто не знает одновременно, кто такой Клиент и куда он направляется. В общем случае информация разделяется следующим образом:

Важно понимать, что невозможность связать выдачу токена с его погашением, которую обеспечивает Privacy Pass, лишь отчасти опирается на разделение ролей. Для реальной приватности множество анонимности (например, группа клиентов, использующих одну и ту же схему развертывания) также должно оставаться большим. Все, что заставляет клиентов видеть разные схемы, дробит их на более мелкие группы и снижает анонимность.

Дополнительные сведения см. в RFC Privacy Pass рекомендации ↗.


Примеры моделей развертывания

Главный структурный вопрос в том, пересекаются ли организации, управляющие Аттестатором, Издателем и Источником, или они полностью разделены. Полностью раздельная модель наиболее безопасна, но объединение определенных сущностей может быть выгодно в зависимости от сценария использования. Среди других возможных моделей: совместная модель Аттестатор-Издатель и совместная модель Издатель-Источник, которые не нарушают гарантии приватности, если дополнительные рекомендации ↗ соблюдаются.

Развёртывание Private Access Token (PAT) от Apple

Apple создала PAT ↗ практически полностью обойти проверки CAPTCHA для пользователей iOS 16 и новее в Safari, в участвующих приложениях и сторонних браузерах. В этом развёртывании Apple использует свою роль поставщика оборудования, чтобы подтверждать подлинность устройства по таким признакам, как действующий Apple ID и проверки целостности устройства, вместо CAPTCHA. Разделение ролей здесь выглядит так:

Роль Оператор
Клиент Программное обеспечение конечного пользователя на iOS
Origin Сайт или приложение, к которому пытается получить доступ пользователь
Attester Apple; подтверждает, что устройство пользователя в порядке
Издатель Cloudflare и Fastly

В этом развертывании используется полностью раздельная модель, при которой все роли выполняют не сговаривающиеся между собой стороны. Раздельная модель идеально подходит Apple, поскольку их работа как поставщика оборудования и инфраструктуры естественно вписывается в роль Аттестатора. Однако клиентам, выступающим в роли Origin, эта модель может быть менее удобна: либо приходится привлекать третью сторону на роль Аттестатора, либо роли нужно распределять между Cloudflare и самим клиентом, чтобы все три роли были задействованы.

Развёртывание с аттестацией атрибутов

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

Роль Оператор
Клиент Программное обеспечение конечного пользователя
Origin Example.com (или Example Application)
Attester Cloudflare; управляет Аттестатором, созданным по спецификациям заказчика
Издатель Cloudflare

В этом развертывании используется совместная модель Аттестатор-Издатель, в которых Cloudflare эксплуатирует и Издателя, и Аттестатора. Если клиент выступает в роли Origin, ему обычно не следует одновременно эксплуатировать и Аттестатора: это создало бы единую сущность Origin-Аттестатор, которой известны и личность пользователя, и адресат запроса, что значительно усложняет обеспечение приватности. Когда Cloudflare эксплуатирует Аттестатора совместно с Издателем, не нужно привлекать полностью новую третью сторону, хотя это и не обязательно. Совместная модель Аттестатор-Издатель полезна и в обратной ситуации, когда клиент сам является поставщиком идентификации (например, корпоративным IdP или SSO-провайдером) и хочет предложить приватную проверку для своих Origin.


Privacy Pass как часть другого продукта

Privacy Pass также используется в существующих продуктах Cloudflare. Самый известный пример: Privacy Proxy, используемого с одним хопом (Microsoft Edge Secure Network ↗) и с двумя хопами (Apple Private Relay ↗) развёртываниях, где Privacy Pass отвечает за первичную аутентификацию между клиентом и прокси (или первым прокси, если хопов два). Если ваш сценарий подходит под уже существующий продукт, это может быть самым простым путём. Архитектуру на уровне прокси см. в Модели развертывания Privacy Proxy.