Může placená VPN autorizovat relace bez vašeho účtu?
Nepropojitelné tokeny dokážou oddělit ověření nároku na přístup od samotné relace. Rozhoduje návrh vydávání a uplatnění, ne označení na přihlašovací obrazovce.
Platit za tunel nemusí znamenat předkládat platební identitu při každém připojení. Návrh může jednou ověřit nárok, předat zákazníkovi kryptografické tokeny a nechat bránu později přijmout token, aniž by viděla účet za ním. Zda to skutečně něco skrývá, závisí na volbách vydávání a uplatnění, takže k tomu přistupujte jako ke cvičení ze specifikace o čtyřech částech, ne jako k funkci, kterou zapnete.
Oddělte krok nákupu od kroku relace
Architektura Privacy Pass v RFC 9576 dává slovník: klient, atestátor, vydavatel a zdroj. Klient vydavateli prokáže nějakou vlastnost a obdrží tokeny; později jeden předloží zdroji, který rozhodne, zda jej obslouží. Při aplikaci na VPN může být atestovanou vlastností jedna jednotka přístupu.
Fakturace stále vidí to, co potřebuje její vlastní proces, a nikdo netvrdí opak. Užším cílem je, aby pozdější uplatnění nešlo spojit s nákupem, který token vytvořil. To je konkrétní a testovatelná vlastnost a právě tu stojí za to zapsat.
Náhodně vypadající nosný řetězec to neposkytuje. Pokud vydavatel ukládá hodnotu vedle záznamu zákazníka a brána si může toto mapování vyžádat, jsou obě interakce propojeny databází, nikoli kryptografií. Konstrukce musí vydavateli znemožnit onu otázku zodpovědět a nasazení musí zabránit tomu, aby vydavatel a brána spojili své pohledy.
Určete, co jeden token autorizuje
„Jeden token kupuje přístup“ operativně neodpovídá téměř na nic. Je jednotkou jedno připojení, časový příděl, nebo objem? Může klient, který ztratil odpověď, pokračovat ve stejném oprávnění? Co se stane, když se zařízení během změny sítě znovu připojí? Tyto odpovědi rozhodují, zda je návrh použitelný, a každá z nich má důsledek pro soukromí.
| Reuse rule | What it buys | What it leaks |
|---|---|---|
| Single use per connection | Strongest unlinkability between sessions | Frequent reissuance, more purchase-to-use timing pairs |
| Bounded time window | Fewer tokens, reconnects work | Activity inside the window is linkable |
| Long-lived grant | Operationally simple | Behaves like an account reference with extra steps |
Vyberte jeden záměrně a vedle něj zapište chování při selhání. Klient, který po vypršení času zkusí znovu s novým nárokem, spotřebuje další jednotku, což je zároveň překvapení na faktuře i signál o soukromí.
Sepište politiku opětovného použití a odvolání
Odvolání je místo, kde anonymní návrhy obvykle porušují svůj vlastní slib. Zrušení předplatného a zneplatnění již vydaných tokenů jsou různé operace a brána, která potichu provede dotaz na účet, aby rozhodla, už v tom okamžiku anonymní není.
Zvolte expiraci, limit vydávání a příběh odvolání, které k sobě pasují. Potom projděte vlastní záznamy brány a hledejte pole, která znovu zavádějí vazbu, kterou jste odstranili.
sudo grep -rIl --include='*.log' -e 'Bearer ' -e 'account_id' /var/log/vpn/
Toto hledání vypíše soubory protokolu obsahující pole tokenů nebo účtů, a to je první místo, kde pečlivý návrh v praxi prosákne. Záznam relace, který ukládá hodnotu tokenu vedle identifikátoru účtu, ničí celou konstrukci a obvykle přichází změnou pro ladění, kterou už nikdo nepřezkoumal.
Také definujte, co brána uchovává po skončení relace. Délka, bajty a koncový bod jsou užitečné pro provoz a každý z nich je dílek skládačky, který by pozorovatel chtěl mít. Udržujte dobu uchování krátkou a seznam polí krátký, a pak obojí zkontrolujte, když změna pro ladění přidá sloupec. Nikdo si nového pole v protokolu nevšimne, dokud tam není rok.
Vyslovte tvrzení a potom pozorování, která zůstávají
Napište tvrzení o soukromí v jedné větě s jeho předpoklady: která strana nesmí být schopna propojit které kontexty a co se stane, když si vydavatel a brána porovnají poznámky. Návrh, který tuto větu přežije, je přezkoumatelný; ten popsaný jen jako „nulové znalosti“ nikoli.
Potom vypište, co zůstává viditelné bez ohledu na vše. Zdrojové adresy, časy připojení, velikosti paketů a prostý fakt, že nákup proběhl krátce předtím, než se objevilo jediné nové připojení, stojí všechny mimo kryptografii. Jediný zákazník, který koupí jednu jednotku a připojí se jednou, je propojitelný pouhým časováním a žádný návrh tokenů to nezmění.
Poctivý výsledek je užší vazba mezi účtem a používáním, ne neviditelná relace. Stále stojí za to ji stavět, pokud to dokumentace říká a provozní záznamy odpovídají tvrzení.