Vai maksas VPN var autorizēt sesijas bez tava konta?
Nesaistāmi marķieri var atdalīt atbilstības pārbaudi no pašas sesijas. Svarīgs ir izsniegšanas un izmantošanas dizains, nevis uzraksts pieteikšanās ekrānā.
Maksāt par tuneli nenozīmē, ka katrā savienojumā jāuzrāda maksājuma identitāte. Dizains var vienreiz pārbaudīt atbilstību, nodot klientam kriptogrāfiskos marķierus un ļaut vārtejai vēlāk pieņemt marķieri, neredzot aiz tā esošo kontu. Vai tas tiešām kaut ko slēpj, ir atkarīgs no izsniegšanas un izmantošanas izvēlēm, tāpēc uztver to kā specifikācijas vingrinājumu ar četrām sadaļām, nevis funkciju, ko ieslēdz.
Atdaliet pirkšanas soli no sesijas soļa
Privacy Pass arhitektūra RFC 9576 sniedz vārdnīcu: klients, apliecinātājs, izsniedzējs un izcelsme. Klients pierāda izsniedzējam kādu īpašību un saņem marķierus; vēlāk vienu uzrāda izcelsmei, kas izlemj, vai to apkalpot. Piemērojot VPN, apliecinātā īpašība varētu būt viena piekļuves vienība.
Norēķini joprojām redz to, kas nepieciešams to pašu procesam, un neviens neapgalvo pretējo. Šaurākais mērķis ir, lai vēlāko izmantošanu nevarētu saistīt ar pirkumu, kas radīja marķieri. Tā ir konkrēta, pārbaudāma īpašība, un tieši to ir vērts pierakstīt.
Šķietami nejauša nesēja virkne to nenodrošina. Ja izsniedzējs glabā vērtību blakus klienta ierakstam un vārteja var pieprasīt šo atbilstību, abas mijiedarbības saista datubāze, nevis kriptogrāfija. Konstrukcijai jāpadara izsniedzējs nespējīgs atbildēt uz šo jautājumu, un izvietojumam jāliedz izsniedzējam un vārtejai apvienot savus skatījumus.
Nosakiet, ko autorizē viens marķieris
«Viens marķieris nopērk piekļuvi» operatīvi neatbild gandrīz ne uz ko. Vai vienība ir viens savienojums, laika kvota vai apjoms? Vai klients, kas pazaudējis atbildi, var turpināt to pašu piešķīrumu? Kas notiek, kad ierīce atkārtoti pievienojas tīkla maiņas laikā? Šīs atbildes nosaka, vai dizains ir lietojams, un katrai no tām ir sekas privātumam.
| 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 |
Izvēlieties vienu apzināti un blakus pierakstiet uzvedību kļūmes gadījumā. Klients, kas pēc laika limita mēģina vēlreiz ar jaunām tiesībām, patērē vēl vienu vienību, kas vienlaikus ir norēķinu pārsteigums un privātuma signāls.
Uzrakstiet atkārtotas izmantošanas un atsaukšanas politiku
Atsaukšana ir vieta, kur anonīmi dizaini parasti pārkāpj savu solījumu. Abonementa atcelšana un jau izsniegtu marķieru anulēšana ir dažādas darbības, un vārteja, kas klusi veic konta meklēšanu, lai izlemtu, tajā brīdī vairs nav anonīma.
Izvēlieties savstarpēji atbilstošu derīguma termiņu, izsniegšanas limitu un atsaukšanas stāstu. Pēc tam pārbaudiet pašas vārtejas ierakstus, meklējot laukus, kas atgriež noņemto saiti.
sudo grep -rIl --include='*.log' -e 'Bearer ' -e 'account_id' /var/log/vpn/
Šī meklēšana uzskaita žurnālfailus ar marķiera vai konta laukiem, un tā ir pirmā vieta, kur rūpīgs dizains praksē noplūst. Sesijas ieraksts, kas glabā marķiera vērtību blakus konta identifikatoram, sagrauj visu konstrukciju, un tas parasti nāk ar atkļūdošanas izmaiņām, ko neviens vairs nav pārskatījis.
Definējiet arī, ko vārteja patur pēc sesijas beigām. Ilgums, baiti un galapunkts ir noderīgi operācijām, un katrs no tiem ir mīklas daļa, ko novērotājs gribētu. Turiet glabāšanas periodu īsu un lauku sarakstu īsu, pēc tam pārskatiet abus, kad atkļūdošanas izmaiņas pievieno kolonnu. Neviens nepamana jaunu žurnāla lauku, kamēr tas tur nav bijis gadu.
Formulējiet apgalvojumu un pēc tam atlikušos novērojumus
Uzrakstiet privātuma apgalvojumu vienā teikumā ar tā pieņēmumiem: kurai pusei jābūt nespējīgai saistīt kurus kontekstus, un kas notiek, ja izsniedzējs un vārteja salīdzina piezīmes. Dizains, kas iztur šo teikumu, ir pārskatāms; tas, kas aprakstīts tikai kā «nulles zināšanas», nav.
Pēc tam uzskaitiet, kas paliek redzams neatkarīgi no visa. Avota adreses, savienojumu laiki, pakešu izmēri un vienkāršais fakts, ka pirkums notika neilgi pirms vienīgā jaunā savienojuma parādīšanās, visi ir ārpus kriptogrāfijas. Viens klients, kas nopērk vienu vienību un piesakās vienreiz, ir saistāms tikai pēc laika, un neviens marķieru dizains to nemaina.
Godīgais rezultāts ir šaurāka saite starp kontu un lietošanu, nevis neredzama sesija. To joprojām ir vērts būvēt, ja vien dokumentācija tā saka un operatīvie ieraksti atbilst apgalvojumam.