INTEGRITY Dokumentace

Protokol Privacy Pass

Privacy Pass rozděluje odpovědnost mezi čtyři role, takže žádná jednotlivá strana nezná vše o identitě a aktivitě uživatele. Tato stránka vysvětluje tok informací v rámci protokolu. Informace o tom, kdo jednotlivé role provozuje, a o vlastnostech soukromí, které tento návrh zajišťuje, najdete na Modely nasazení.


Přehled rolí

Role Odpovědnost
Klient Žádá o přístup, provádí protokoly vydávání a uplatňování tokenů.
Origin Vydává výzvy k tokenům a ověřuje uplatněné tokeny.
Ověřovatel Provádí proces atestace specifický pro dané nasazení a tím ověřuje klienta.
Vydavatel Podepisuje zaslepené požadavky na tokeny pro atestované klienty. Vydavatelé Cloudflare používají veřejně ověřitelný Blind RSA (typ tokenu 2).

Interakce protokolu

Podle definice v RFC 9576 probíhá tok napříč dvěma protokoly: vydávání (získání tokenu) a uplatnění (jeho použitím pro přístup).

   ┌────────┐            ┌────────┐         ┌──────────┐         ┌────────┐
   │ Origin │            │ Client │         │ Attester │         │ Issuer │
   └────────┘            └────────┘         └──────────┘         └────────┘
       │                     │                   │                   │
       │<───── Request ──────│                   │                   │
       │                     │                   │                   │
       │── TokenChallenge ──>│                   │                   │
       │                     │                   │                   │
       │                     │<== Attestation ==>│                   │
       │                     │                                       │
       │                     │─── TokenRequest+Attestation Proof ───>│
       │                     │                                       │[Verifies Attestation]
       │                     │<──────────── TokenResponse ───────────│
       │                     │[Finalises Token]
       │<── Request+Token ───│
       │                     │
       │────── 200 OK ──────>│

Počáteční požadavek

  1. Klient odešle požadavek na Origin.
  2. Origin odpovídá token challenge. Pokud Klient nemá žádný token k uplatnění, zahájí protokol vydávání s vydavatelem, kterému Origin důvěřuje.

Protokol vydávání

  1. Protokol vydávání tokenu začíná tím, že Client dokončí pro dané nasazení specifický proces atestace. Tento krok je záměrně otevřený, aby si různé případy použití mohly definovat vlastní atestaci.
  2. Jakmile Atestátor ověří Klienta, Klient odešle zaslepená žádost o token, tedy žádost o podepsání maskované verze tokenu, která zabraňuje propojení finalizované verze s původní žádostí, Issuerovi spolu s důkazem atestace.
  3. Issuer zkontroluje ověření, podepíše zaslepený token a vrátí ho. Klient finalizuje k obnovení tokenu Privacy Pass a dokončí tak protokol vydávání.

Protokol uplatnění

  1. Interakce končí protokol uplatnění, kde Klient odešle token spolu se svým původním požadavkem zpět Originu.
  2. Origin ověří podpis a odpoví 200 OK, čímž udělí přístup.

Podívejte se na to v kódu

Chcete-li si celý průběh vydání a uplatnění tokenu spustit na vlastním počítači bez nutnosti cokoli nastavovat na straně Cloudflare, podívejte se na lokální příklad v Začínáme.