Плащането за тунел не трябва непременно да означава показване на платежната самоличност при всяка връзка. Една схема може да провери правото веднъж, да даде на клиента криптографски токени и да остави шлюза по-късно да приеме токен, без да вижда акаунта зад него. Дали това наистина крие нещо зависи от решенията за издаване и осребряване, затова го третирайте като упражнение по спецификация с четири раздела, а не като функция, която се включва.

Отделете стъпката на покупката от стъпката на сесията

Архитектурата Privacy Pass в RFC 9576 дава речника: клиент, атестатор, издател и източник. Клиентът доказва някакво свойство на издателя и получава токени; по-късно представя един на източника, който решава дали да го обслужи. Приложено към VPN, атестираното свойство може да бъде една единица достъп.

Фактурирането все още вижда каквото изисква собственият му процес и никой не твърди друго. По-тясната цел е по-късното осребряване да не може да бъде свързано с покупката, създала токена. Това е конкретно, проверимо свойство и точно него си струва да бъде записано.

Случайно изглеждащ низ за носене не го осигурява. Ако издателят съхранява стойността до запис на клиент и шлюзът може да поиска това съответствие, двете взаимодействия се свързват чрез база данни, а не чрез криптография. Конструкцията трябва да направи издателя неспособен да отговори на този въпрос, а разгръщането — да попречи на издателя и шлюза да съберат гледните си точки.

Определете какво разрешава един токен

«Един токен купува достъп» не отговаря почти на нищо в оперативен план. Единицата една връзка ли е, времеви лимит или обем? Може ли клиент, загубил отговора си, да продължи същото разрешение? Какво се случва, когато устройство се свърже отново при смяна на мрежата? Тези отговори решават дали схемата е използваема и всеки от тях има последица за поверителността.

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/

Тази проверка изброява файлове с журнали, съдържащи полета за токени или акаунти, и това е първото място, където внимателна схема изтича на практика. Запис на сесия, който пази стойността на токена до идентификатор на акаунт, проваля цялата конструкция и обикновено идва чрез промяна за отстраняване на грешки, към която никой не се е връщал.

Определете също какво пази шлюзът след края на сесията. Продължителност, байтове и крайна точка са полезни за операции и всяко от тях е част от пъзела, която наблюдател би искал да има. Дръжте срока на съхранение кратък и списъка с полета кратък, после преглеждайте и двете, когато промяна за отстраняване на грешки добави колона. Никой не забелязва ново поле в журнала, докато не измине година.

Формулирайте твърдението, а после наблюденията, които остават

Напишете твърдението за поверителност в едно изречение с неговите допускания: коя страна трябва да е неспособна да свърже кои контексти и какво става, ако издателят и шлюзът сравнят бележките си. Схема, която издържа това изречение, подлежи на преглед; описаната само като «нулево знание» — не.

После избройте какво остава видимо независимо от всичко. Адреси на източника, времена на връзките, размери на пакетите и простият факт, че покупка е станала малко преди единствената нова връзка да се появи, са извън криптографията. Един клиент, купил една единица и свързал се веднъж, е свързваем само по време и никаква схема с токени не променя това.

Честният резултат е по-тясна връзка между акаунт и използване, а не невидима сесия. Това все още си струва да се изгради, стига документацията да го казва и оперативните записи да отговарят на твърдението.

Подобни статии