Bolehkah VPN berbayar membenarkan sesi tanpa akaun anda?
Token yang tidak boleh dipautkan boleh memisahkan semakan kelayakan daripada sesi itu sendiri. Yang penting ialah reka bentuk pengeluaran dan penebusan, bukan label pada skrin log masuk.
Membayar terowong tidak semestinya bermakna menunjukkan identiti bil pada setiap sambungan. Sesuatu reka bentuk boleh menyemak kelayakan sekali, menyerahkan token kriptografi kepada pelanggan, dan membiarkan get laluan menerima token kemudian tanpa melihat akaun di belakangnya. Sama ada ia benar-benar menyembunyikan sesuatu bergantung pada pilihan pengeluaran dan penebusan, jadi anggap ia sebagai latihan spesifikasi empat bahagian, bukan ciri yang anda hidupkan.
Asingkan langkah pembelian daripada langkah sesi
Seni bina Privacy Pass dalam RFC 9576 memberikan perbendaharaan kata: klien, penegas, pengeluar dan asalan. Klien membuktikan sesuatu sifat kepada pengeluar dan menerima token; kemudian ia mengemukakan satu kepada asalan, yang memutuskan sama ada untuk melayaninya. Jika digunakan pada VPN, sifat yang ditegaskan boleh jadi satu unit akses.
Pengebilan masih melihat apa yang diperlukan oleh prosesnya sendiri, dan tiada siapa mendakwa sebaliknya. Matlamat yang lebih sempit ialah penebusan kemudian tidak boleh dipautkan kembali kepada pembelian yang menghasilkan token itu. Itu sifat khusus yang boleh diuji, dan itulah yang wajar ditulis.
Rentetan pembawa yang kelihatan rawak tidak memberikannya. Jika pengeluar menyimpan nilai itu di sebelah rekod pelanggan dan get laluan boleh meminta pemetaan itu, kedua-dua interaksi dipautkan oleh pangkalan data, bukan oleh kriptografi. Pembinaan mesti menjadikan pengeluar tidak mampu menjawab soalan itu, dan penggunaan mesti menghalang pengeluar dan get laluan daripada menggabungkan pandangan mereka.
Tentukan apa yang dibenarkan oleh satu token
«Satu token membeli akses» hampir tidak menjawab apa-apa dari segi operasi. Adakah unit itu satu sambungan, kuota masa, atau isipadu? Bolehkah klien yang kehilangan responsnya meneruskan pemberian yang sama? Apa yang berlaku apabila peranti menyambung semula semasa perubahan rangkaian? Jawapan itu menentukan sama ada reka bentuk itu boleh digunakan, dan setiap satunya mempunyai kesan terhadap privasi.
| 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 |
Pilih satu dengan sengaja dan tulis tingkah laku kegagalan di sebelahnya. Klien yang mencuba semula dengan hak baharu selepas tamat masa menggunakan satu unit lagi, yang serentak menjadi kejutan bil dan isyarat privasi.
Tulis dasar penggunaan semula dan pembatalan
Pembatalan ialah tempat reka bentuk tanpa nama biasanya memungkiri janji mereka sendiri. Membatalkan langganan dan membatalkan token yang telah dikeluarkan ialah operasi berbeza, dan get laluan yang secara senyap membuat carian akaun untuk memutuskan tidak lagi tanpa nama pada ketika itu.
Pilih tempoh luput, had pengeluaran dan kisah pembatalan yang saling sepadan. Kemudian semak rekod get laluan itu sendiri untuk medan yang memasukkan semula pautan yang anda buang.
sudo grep -rIl --include='*.log' -e 'Bearer ' -e 'account_id' /var/log/vpn/
Carian itu menyenaraikan fail log yang mengandungi medan token atau akaun, dan itulah tempat pertama reka bentuk yang teliti bocor dalam amalan. Rekod sesi yang menyimpan nilai token di sebelah pengecam akaun meruntuhkan seluruh pembinaan, dan ia biasanya masuk melalui perubahan nyahpepijat yang tidak disemak semula oleh sesiapa.
Tentukan juga apa yang disimpan get laluan selepas sesi tamat. Tempoh, bait dan titik akhir berguna untuk operasi, dan setiap satunya ialah kepingan teka-teki yang mahukan oleh pemerhati. Kekalkan tempoh penyimpanan pendek dan senarai medan pendek, kemudian semak kedua-duanya apabila perubahan nyahpepijat menambah lajur. Tiada siapa perasan medan log baharu sehingga ia berada di sana selama setahun.
Nyatakan dakwaan, kemudian pemerhatian yang tinggal
Tulis dakwaan privasi dalam satu ayat dengan andaiannya: pihak mana yang mesti tidak mampu memautkan konteks mana, dan apa yang berlaku jika pengeluar dan get laluan membandingkan nota. Reka bentuk yang bertahan dengan ayat itu boleh disemak; yang hanya digambarkan sebagai «pengetahuan sifar» tidak.
Kemudian senaraikan apa yang kekal kelihatan walau apa pun. Alamat sumber, masa sambungan, saiz paket dan fakta mudah bahawa pembelian berlaku tidak lama sebelum satu-satunya sambungan baharu muncul semuanya di luar kriptografi. Seorang pelanggan yang membeli satu unit dan menyambung sekali boleh dipautkan hanya melalui masa, dan tiada reka bentuk token mengubahnya.
Hasil yang jujur ialah pautan yang lebih sempit antara akaun dan penggunaan, bukan sesi yang tidak kelihatan. Ia masih wajar dibina, asalkan dokumentasi menyatakannya dan rekod operasi sepadan dengan dakwaan itu.