INTEGRITY Dokumentace

Ověřování

Privacy Proxy vyžaduje, aby se klienti před přeposíláním provozu ověřili. Tato stránka popisuje podporované metody ověřování a kdy je použít.

Metody ověřování

Privacy Proxy podporuje tři metody ověřování:

Metoda Případ použití Úroveň soukromí
Pre-shared key (PSK) Ověření konceptu, testování Nižší
Tokeny Privacy Pass Klient na server Vysoká
mTLS Server na server Vyšší

Pre-shared key (PSK)

Předsdílené klíče poskytují jednoduchý způsob ověřování během vývoje a testování konceptu. Cloudflare poskytuje tajný klíč, který klienti zahrnují do každého požadavku.

Jak to funguje

Zahrňte PSK do Proxy-Authorization hlavičku:

CONNECT example.com:443 HTTP/2
Host: example.com
Proxy-Authorization: Preshared <YOUR_PSK>

Proxy klíč ověří a spojení povolí, pokud se shoduje.

Omezení

Ověřování PSK má omezení, kvůli kterým se nehodí pro produkční prostředí.

PSK používejte pouze pro testování. Pro produkční nasazení použijte Tokeny Privacy Pass.


Tokeny Privacy Pass

Privacy Pass ↗ je protokol, který klientům umožňuje autentizovat se, aniž by odhalili svou identitu. Tokeny jsou kryptograficky nespojitelné, takže proxy nemůže propojit různé požadavky od stejného uživatele.

Jak to funguje

Privacy Pass využívá třístrannou architekturu:

Vydávání tokenu

┌──────────┐    1. Attestation request   ┌──────────┐
│          │ ──────────────────────────▶ │          │
│  Client  │                             │ Attester │
│          │ ◀────────────────────────── │          │
└──────────┘    2. Attestation OK        └──────────┘
     │
     │ 3. Blinded token request
     ▼
┌──────────┐    4. Forward request       ┌──────────┐
│          │ ──────────────────────────▶ │          │
│ Attester │                             │  Issuer  │
│          │ ◀────────────────────────── │          │
└──────────┘    5. Signed blinded token  └──────────┘
     │
     │ 6. Return to Client
     ▼
┌──────────┐
│  Client  │  (unblinds and stores token)
└──────────┘

Klient posílá žádost o token přes ověřovatele, aby byla zachována nepropojitelnost. Díky tomu nemůže vydavatel spojit žádosti o tokeny s konkrétními atestačními událostmi ani identitou klienta.

Uplatnění tokenu

┌──────────┐    1. Present token         ┌──────────┐
│          │ ──────────────────────────▶ │          │
│  Client  │                             │  Privacy │
│          │ ◀────────────────────────── │  Proxy   │
└──────────┘    2. Connection OK         └──────────┘

Privacy Proxy ověří token pomocí veřejného klíče vydavatele. Proxy se tak dozví jen to, že je token platný, nikoli komu byl vydán.

Proces vydávání tokenu:

  1. Klient prokáže svou identitu ověřovateli (například přihlášením k účtu).
  2. Ověřovatel potvrdí, že klient je platný.
  3. Klient vygeneruje zaslepené tokeny a odešle je vydavateli.
  4. Vydavatel zaslepené tokeny podepíše a vrátí je.
  5. Klient tokeny odslepí a uloží je.

Při odesílání požadavku:

  1. Klient uvede token v Proxy-Authorization hlavička.
  2. Proxy ověří podpis tokenu pomocí veřejného klíče vydavatele.
  3. Proxy spojení povolí, pokud je token platný.

Protože jsou tokeny při vydávání zaslepeny, vydavatel nedokáže propojit token s konkrétní žádostí o vydání. Proxy vidí pouze to, že je token platný, nikoli komu byl vydán.

Token format

Tokeny Privacy Pass jsou zahrnuty v Proxy-Authorization hlavičku pomocí PrivateToken schéma:

CONNECT example.com:443 HTTP/2
Host: example.com
Proxy-Authorization: PrivateToken token=<base64-encoded-token>

Nastavte Privacy Pass

Pro produkční nasazení používající Privacy Pass:

  1. Vyberte vydavatele. Vydavatele tokenů může provozovat Cloudflare, nebo se můžete integrovat s vydavatelem třetí strany.
  2. Nakonfigurujte atestaci, která určuje, jak klienti prokazují svou identitu před obdržením tokenů.
  3. Distribuujte konfiguraci vydavatele. Klienti potřebují veřejný klíč vydavatele a endpoint, aby mohli žádat o tokeny.

Kontaktujte nás ↗ ke konfiguraci Privacy Pass pro vaše nasazení.


Mutual TLS (mTLS)

Ověřování Mutual TLS (mTLS) ↗ zajišťuje, že provoz je v obou směrech zabezpečený a důvěryhodný. Klient předloží proxy certifikát a proxy jej před povolením připojení ověří.

Jak to funguje

Klient během handshake TLS předloží klientský certifikát TLS. Proxy certifikát ověří oproti nakonfigurované certifikační autoritě (CA) a spojení povolí, pokud je certifikát důvěryhodný.

Omezení

Pro každého klienta nebo každou službu musíte zajistit a spravovat certifikáty. mTLS je určeno pro komunikaci mezi servery, nikoli pro ověřování jednotlivých uživatelů. Proxy server dokáže klienta identifikovat podle jeho certifikátu, což ve srovnání s Privacy Pass snižuje míru soukromí.

Použijte mTLS u integrací mezi servery, kde jsou obě strany důvěryhodnými službami.


Autentizace v nasazeních s dvojitým skokem

V nasazení se dvěma skoky, k autentizaci dochází na dvou úrovních:

Uživatel k Proxy A

Proxy A (kterou provozujete vy) ověřuje uživatele. Mezi běžné metody patří:

Proxy A do Proxy B

Proxy B se vůči Proxy A ověřuje pomocí TLS. V závislosti na konfiguraci může použít: