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 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

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.

Povezani članci