Može li plaćeni VPN autorizovati sesije bez vašeg računa?
Tokeni koji se ne mogu povezati mogu odvojiti provjeru prava pristupa od same sesije. Važno je kako su osmišljeni izdavanje i iskorištavanje, a ne oznaka na ekranu za prijavu.
Plaćanje tunela ne mora značiti da identitet platitelja mora biti predstavljen pri svakoj vezi. Dizajn može jednom provjeriti pravo pristupa, predati korisniku kriptografske tokene i pustiti gateway da kasnije prihvati token bez uvida u račun koji stoji iza njega. Da li to zaista nešto skriva zavisi od odluka o izdavanju i iskorištavanju, pa to tretirajte kao vježbu specifikacije s četiri dijela, a ne kao funkciju koju uključujete.
Odvojite korak kupovine od koraka sesije
Arhitektura Privacy Pass u RFC 9576 daje rječnik: klijent, atestator, izdavalac i izvor. Klijent dokazuje neko svojstvo izdavaocu i prima tokene; kasnije jedan predstavlja izvoru, koji odlučuje hoće li ga poslužiti. Primijenjeno na VPN, svojstvo koje se atestira može biti jedna jedinica pristupa.
Naplata i dalje vidi ono što njen vlastiti proces traži i nitko ne tvrdi suprotno. Uži cilj je da se kasnije iskorištavanje ne može povezati s kupovinom koja je proizvela token. To je konkretno svojstvo koje se može testirati i upravo ga vrijedi zapisati.
Niska koja izgleda slučajno to ne pruža. Ako izdavalac čuva vrijednost uz zapis korisnika, a gateway može zatražiti to mapiranje, dvije interakcije su povezane bazom podataka, a ne kriptografijom. Konstrukcija mora učiniti izdavaoca nesposobnim da odgovori na to pitanje, a implementacija mora spriječiti izdavaoca i gateway da spoje svoje uvide.
Odredite šta jedan token autorizuje
«Jedan token kupuje pristup» operativno ne odgovara gotovo ni na šta. Je li jedinica jedna veza, vremenski limit ili obim? Može li klijent koji je izgubio odgovor nastaviti isti grant? Šta se dešava kada se uređaj ponovo poveže tokom promjene mreže? Ti odgovori odlučuju je li dizajn upotrebljiv, a svaki od njih ima posljedicu po privatnost.
| 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 |
Odaberite jedan namjerno i pored njega zapišite ponašanje pri neuspjehu. Klijent koji nakon isteka vremena pokuša ponovo s novim pravom troši još jednu jedinicu, što je istovremeno iznenađenje na računu i signal o privatnosti.
Zapišite politiku ponovne upotrebe i opoziva
Opoziv je mjesto gdje anonimni dizajni obično prekrše vlastito obećanje. Otkazivanje pretplate i poništavanje već izdatih tokena su različite operacije, a gateway koji tiho izvrši pretragu računa da bi odlučio u tom trenutku više nije anoniman.
Odaberite rok trajanja, limit izdavanja i priču o opozivu koji se međusobno uklapaju. Zatim pregledajte vlastite zapise gatewaya na polja koja ponovo uvode vezu koju ste uklonili.
sudo grep -rIl --include='*.log' -e 'Bearer ' -e 'account_id' /var/log/vpn/
Ta pretraga izlistava log datoteke koje sadrže polja tokena ili računa, a to je prvo mjesto gdje pažljiv dizajn u praksi procuri. Zapis sesije koji čuva vrijednost tokena uz identifikator računa ruši cijelu konstrukciju i obično dolazi kroz izmjenu za otklanjanje grešaka koju nitko nije ponovo pregledao.
Takođe definišite šta gateway čuva nakon završetka sesije. Trajanje, bajtovi i krajnja tačka korisni su za operacije i svaki od njih je dio slagalice koji bi posmatrač želio imati. Držite period čuvanja kratkim i listu polja kratkom, pa pregledajte oboje kada izmjena za otklanjanje grešaka doda kolonu. Nitko ne primijeti novo polje u logu dok ne prođe godina.
Navedite tvrdnju, a zatim zapažanja koja ostaju
Napišite tvrdnju o privatnosti u jednoj rečenici s njenim pretpostavkama: koja strana mora biti nesposobna povezati koje kontekste i šta se dešava ako izdavalac i gateway uporede bilješke. Dizajn koji preživi tu rečenicu može se pregledati; onaj opisan samo kao «nulto znanje» ne može.
Zatim navedite šta ostaje vidljivo bez obzira na sve. Izvorne adrese, vremena veza, veličine paketa i prosta činjenica da se kupovina dogodila nedugo prije nego što se pojavila jedina nova veza sve su izvan kriptografije. Jedan korisnik koji kupi jednu jedinicu i poveže se jednom može se povezati samo po vremenu i nijedan dizajn tokena to ne mijenja.
Iskren rezultat je uža veza između računa i korištenja, a ne nevidljiva sesija. To se ipak vrijedi graditi, dokle god dokumentacija to kaže i operativni zapisi odgovaraju tvrdnji.