Može li plaćeni VPN autorizirati sesije bez tvog 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 zaslonu za prijavu.
Plaćanje tunela ne mora značiti da se identitet platitelja mora pokazati 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 iza njega. Skriva li to doista nešto, ovisi o odlukama o izdavanju i iskorištavanju, pa to tretirajte kao vježbu specifikacije s četiri dijela, a ne kao značajku koju uključujete.
Odvojite korak kupnje od koraka sesije
Arhitektura Privacy Pass u RFC 9576 daje rječnik: klijent, atestator, izdavatelj i izvor. Klijent dokazuje neko svojstvo izdavatelju 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 traži njezin vlastiti proces i nitko ne tvrdi suprotno. Uži je cilj da se kasnije iskorištavanje ne može povezati s kupnjom koja je proizvela token. To je konkretno svojstvo koje se može testirati i upravo ga vrijedi zapisati.
Niz koji izgleda slučajno to ne pruža. Ako izdavatelj čuva vrijednost uz zapis korisnika, a gateway može zatražiti to mapiranje, dvije su interakcije povezane bazom podataka, a ne kriptografijom. Konstrukcija mora učiniti izdavatelja nesposobnim odgovoriti na to pitanje, a implementacija mora spriječiti izdavatelja i gateway da spoje svoje uvide.
Odredite što jedan token autorizira
«Jedan token kupuje pristup» operativno ne odgovara gotovo ni na što. Je li jedinica jedna veza, vremenski limit ili obujam? Može li klijent koji je izgubio odgovor nastaviti isti grant? Što se događa kada se uređaj ponovno poveže tijekom promjene mreže? Ti odgovori odlučuju je li dizajn upotrebljiv, a svaki od njih ima posljedicu za 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 pokraj njega zapišite ponašanje pri neuspjehu. Klijent koji nakon isteka vremena pokuša ponovno s novim pravom troši još jednu jedinicu, što je istodobno 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ć izdanih tokena različite su operacije, a gateway koji tiho obavi pretragu računa da bi odlučio u tom trenutku više nije anoniman.
Odaberite rok valjanosti, ograničenje izdavanja i priču o opozivu koje se međusobno uklapaju. Zatim pregledajte vlastite zapise gatewaya na polja koja ponovno uvode vezu koju ste uklonili.
sudo grep -rIl --include='*.log' -e 'Bearer ' -e 'account_id' /var/log/vpn/
Ta pretraga ispisuje datoteke zapisa 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 pogrešaka koju nitko nije ponovno pregledao.
Također definirajte što gateway čuva nakon završetka sesije. Trajanje, bajtovi i krajnja točka korisni su za operacije i svaki od njih dio je slagalice koji bi promatrač želio imati. Držite razdoblje čuvanja kratkim i popis polja kratkim, pa pregledajte oboje kada izmjena za otklanjanje pogrešaka doda stupac. Nitko ne primijeti novo polje u zapisu dok ne prođe godina.
Navedite tvrdnju, a zatim zapažanja koja ostaju
Napišite tvrdnju o privatnosti u jednoj rečenici s njezinim pretpostavkama: koja strana mora biti nesposobna povezati koje kontekste i što se događa ako izdavatelj i gateway usporede bilješke. Dizajn koji preživi tu rečenicu može se pregledati; onaj opisan samo kao «nulto znanje» ne može.
Zatim navedite što ostaje vidljivo bez obzira na sve. Izvorne adrese, vremena veza, veličine paketa i prosta činjenica da se kupnja 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.