Плаціць за тунель не абавязкова значыць паказваць плацежную асобу пры кожным злучэнні. Схема можа адзін раз праверыць права на доступ, выдаць кліенту крыптаграфічныя токены і дазволіць шлюзу пазней прыняць токен, не бачачы акаўнт за ім. Ці сапраўды гэта нешта хавае, залежыць ад рашэнняў пра выпуск і пагашэнне, таму стаўцеся да гэтага як да практыкавання са спецыфікацыі з чатырох раздзелаў, а не як да функцыі, якую ўключаюць.

Аддзяліце крок куплі ад кроку сесіі

Архітэктура 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/

Гэты пошук выводзіць файлы журналаў, што змяшчаюць палі токенаў або акаўнтаў, і гэта першае месца, дзе ўважлівая схема цячэ на практыцы. Запіс сесіі, які захоўвае значэнне токена побач з ідэнтыфікатарам акаўнта, знішчае ўсю канструкцыю, і звычайна ён з'яўляецца праз адладачную змену, да якой ніхто не вяртаўся.

Таксама вызначце, што шлюз захоўвае пасля завяршэння сесіі. Працягласць, байты і канцавы пункт карысныя для эксплуатацыі, і кожнае з іх — кавалак галаваломкі, які назіральнік хацеў бы мець. Трымайце тэрмін захоўвання кароткім, а спіс палёў кароткім, потым пераглядайце абодва, калі адладачная змена дадае слупок. Ніхто не заўважае новае поле журнала, пакуль яно не прастаіць год.

Сфармулюйце сцвярджэнне, а затым назіранні, якія застаюцца

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

Затым пералічыце тое, што застаецца бачным незалежна ад усяго. Адрасы крыніц, час злучэнняў, памеры пакетаў і просты факт, што купля адбылася незадоўга да з'яўлення адзінага новага злучэння, — усё гэта па-за крыптаграфіяй. Адзін кліент, які купіў адну адзінку і падключыўся адзін раз, звязваецца толькі па часе, і ніякая схема токенаў гэтага не зменіць.

Сумленны вынік — больш вузкая сувязь паміж акаўнтам і выкарыстаннем, а не нябачная сесія. Гэта ўсё яшчэ варта будаваць, калі дакументацыя так і кажа, а эксплуатацыйныя запісы адпавядаюць сцвярджэнню.

Падобныя артыкулы