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

Принцип работы Privacy Proxy

Privacy Proxy использует набор протоколов MASQUE для создания зашифрованных туннелей между клиентами и серверами назначения. На этой странице объясняется механика протокола и то, как обеспечивается конфиденциальность.

Схема прохождения трафика

┌──────────┐      1. Connect + Auth      ┌──────────┐      4. Connect        ┌─────────────┐
│          │ ──────────────────────────▶ │          │ ────────────────────▶  │             │
│  Client  │      2. CONNECT request     │  Privacy │      (Egress IP)       │ Destination │
│          │ ──────────────────────────▶ │  Proxy   │                        │   Server    │
│          │                             │          │ ◀────────────────────  │             │
│          │      3. 200 OK              │          │      5. Connected      │             │
│          │ ◀────────────────────────── │          │                        │             │
│          │                             │          │                        │             │
│          │  ◀───── 6. Encrypted data tunnel ─────▶  ◀─────────────────────▶│             │
└──────────┘                             └──────────┘                        └─────────────┘

           │◀──── Client IP hidden ────▶│◀──── Cloudflare Egress IP visible ──────────▶│
  1. Клиент устанавливает соединение HTTP/2 или HTTP/3 с Privacy Proxy и передает учетные данные (PSK или токен Privacy Pass) в заголовке Proxy-Authorization заголовок.
  2. Клиент отправляет запрос CONNECT с указанием имени хоста и порта назначения.
  3. Прокси отвечает 200 OK чтобы убедиться, что туннель готов.
  4. Прокси открывает соединение с узлом назначения, используя исходящий IP-адрес, выбранный на основе геолокации клиента.
  5. Клиент отправляет зашифрованные данные через туннель. Прокси пересылает байты без проверки их содержимого.

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

Протоколы MASQUE

MASQUE ↗ (Multiplexed Application Substrate over QUIC Encryption) определяет методы проксирования трафика через HTTP. Privacy Proxy поддерживает два метода MASQUE:

Метод Транспорт Сценарий использования
HTTP CONNECT TCP Обычный трафик HTTPS
CONNECT-UDP UDP Трафик на основе QUIC, приложения реального времени

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

Privacy Proxy принимает соединения по HTTP/2 (TLS поверх TCP) и HTTP/3 (QUIC), выбирая подходящий протокол в зависимости от возможностей клиента.

Подробнее о том, как работают эти протоколы, см. в нашей запись в блоге ↗.

Разделение конфиденциальности

Privacy Proxy создает границу конфиденциальности между личностью пользователя и его действиями:

Информация Кому это известно
Идентификация пользователя (IP-адрес, аккаунт) Сервис аутентификации, прокси первого хопа (при использовании развёртывания с двумя хопами)
Сервер назначения Privacy Proxy, сервер назначения
Запросить содержимое Только клиент и сервер назначения

Прокси аутентифицирует пользователей, чтобы убедиться в наличии у них прав на использование сервиса, но аутентификация выполняется отдельно от проксирования. После аутентификации прокси пересылает трафик, не связывая отдельные запросы с конкретными пользователями.