Оплата тунелю не обов'язково означає, що при кожному підключенні пред'являється платіжна особа. Схема може один раз перевірити право доступу, видати клієнтові криптографічні токени й дозволити шлюзу згодом прийняти токен, не бачачи облікового запису за ним. Чи справді це щось приховує, залежить від рішень про видачу й погашення, тож ставтеся до цього як до вправи зі специфікації з чотирьох розділів, а не як до функції, яку вмикають.

Відокремте крок покупки від кроку сесії

Архітектура Privacy Pass з RFC 9576 дає словник: клієнт, атестатор, емітент і джерело. Клієнт доводить емітентові певну властивість і отримує токени; згодом він пред'являє один із них джерелу, яке вирішує, чи обслуговувати його. У застосуванні до VPN властивістю, що атестується, може бути одна одиниця доступу.

Білінг і далі бачить те, що потрібно його власному процесу, і ніхто не твердить іншого. Вужча мета — щоб пізніше погашення не можна було пов'язати з покупкою, яка породила токен. Це конкретна, перевірювана властивість, і саме її варто записати.

Випадково виглядуваний bearer-рядок цього не дає. Якщо емітент зберігає значення поруч із записом клієнта, а шлюз може запитати це відображення, обидві взаємодії пов'язані базою даних, а не криптографією. Побудова має зробити емітента неспроможним відповісти на це питання, а розгортання — не дати емітентові та шлюзу об'єднати свої погляди.

Вирішіть, що авторизує один токен

«Один токен купує доступ» операційно майже нічого не пояснює. Одиниця — це одне підключення, ліміт часу чи обсяг? Чи може клієнт, який втратив відповідь, відновити той самий дозвіл? Що стається, коли пристрій перепідключається під час зміни мережі? Ці відповіді визначають, чи придатна схема, і кожна з них має наслідок для приватності.

Reuse ruleWhat it buysWhat it leaks
Single use per connectionStrongest unlinkability between sessionsFrequent reissuance, more purchase-to-use timing pairs
Bounded time windowFewer tokens, reconnects workActivity inside the window is linkable
Long-lived grantOperationally simpleBehaves like an account reference with extra steps

Виберіть один варіант свідомо й запишіть поруч поведінку при збої. Клієнт, який після тайм-ауту повторює спробу з новим правом, витрачає ще одну одиницю — це водночас сюрприз у рахунку й сигнал про приватність.

Опишіть політику повторного використання й відкликання

Відкликання — це місце, де анонімні схеми зазвичай порушують власну обіцянку. Скасування підписки й анулювання вже виданих токенів — різні операції, а шлюз, який тихо виконує пошук за обліковим записом, щоб вирішити, у цей момент перестає бути анонімним.

Виберіть термін дії, ліміт видачі й історію відкликання, що поєднуються. Потім перевірте власні записи шлюзу на поля, які повертають зв'язок, який ви прибрали.

sudo grep -rIl --include='*.log' -e 'Bearer ' -e 'account_id' /var/log/vpn/

Цей пошук перелічує лог-файли, що містять поля токена або облікового запису, — перше місце, де охайна схема протікає на практиці. Запис сесії, що зберігає значення токена поруч з ідентифікатором облікового запису, руйнує всю конструкцію, і зазвичай він з'являється через налагоджувальну зміну, до якої ніхто не повертався.

Також визначте, що шлюз зберігає після завершення сесії. Тривалість, байти й кінцева точка корисні для експлуатації, і кожен із них — частинка головоломки, яку спостерігач хотів би мати. Тримайте термін зберігання коротким, а список полів коротким, і переглядайте обидва, коли налагоджувальна зміна додає стовпець. Ніхто не помічає нового поля логу, доки воно не простояло там рік.

Сформулюйте твердження, а потім спостереження, що залишаються

Запишіть твердження про приватність одним реченням разом із припущеннями: яка сторона не повинна мати змоги пов'язати які контексти і що станеться, якщо емітент і шлюз порівняють нотатки. Схема, яка витримує це речення, піддається перевірці; та, що описується лише як «нульове знання», — ні.

Потім перелічіть те, що залишається видимим за будь-яких умов. Вихідні адреси, часи підключень, розміри пакетів і простий факт, що покупка відбулася незадовго до появи єдиного нового підключення, — усе це поза криптографією. Єдиного клієнта, який купив одну одиницю й підключився один раз, можна пов'язати лише за часом, і жодна схема токенів цього не змінить.

Честний результат — вужчий зв'язок між обліковим записом і використанням, а не невидима сесія. Це все одно варто будувати, якщо документація каже про це прямо, а експлуатаційні записи відповідають твердженню.

Схожі статті