შეუძლია ფასიან VPN-ს სესიების ავტორიზაცია თქვენი ანგარიშის გარეშე?
დაუკავშირებელი ტოკენები შეიძლება გამოყოს ვარგისიანობის შემოწმება თავად სესიისგან. მთავარია გაცემისა და გამოყენების დიზაინი და არა შესვლის ეკრანის ეტიკეტი.
გვირაბისთვის გადახდა სულაც არ ნიშნავს, რომ ყოველ კავშირზე უნდა წარმოადგინოთ გადახდის იდენტობა. დიზაინს შეუძლია ერთხელ შეამოწმოს ვარგისიანობა, გადასცეს კლიენტს კრიპტოგრაფიული ტოკენები და საშუალება მისცეს კარიბჭეს მოგვიანებით მიიღოს ტოკენი, მის უკან არსებული ანგარიშის დანახვის გარეშე. ნამდვილად მალავს თუ არა ეს რამეს, დამოკიდებულია გაცემისა და გამოყენების არჩევანზე, ამიტომ მიუდექით როგორც ოთხსექციიანი სპეციფიკაციის ვარჯიშს და არა როგორც ფუნქციას, რომელსაც ჩართავთ.
გამოყავით შესყიდვის საფეხური სესიის საფეხურისგან
RFC 9576-ში Privacy Pass არქიტექტურა გვაძლევს ლექსიკას: კლიენტი, დამამტკიცებელი, გამომცემი და საწყისი. კლიენტი უმტკიცებს გამომცემს რაიმე თვისებას და იღებს ტოკენებს; მოგვიანებით ერთს წარუდგენს საწყისს, რომელიც წყვეტს, მოემსახუროს თუ არა. VPN-ზე გამოყენებისას დამტკიცებული თვისება შეიძლება იყოს წვდომის ერთი ერთეული.
ბილინგი მაინც ხედავს იმას, რაც მის საკუთარ პროცესს სჭირდება და ამის საწინააღმდეგოს არავინ ამტკიცებს. უფრო ვიწრო მიზანია, რომ შემდგომი გამოყენება ვერ დაუკავშირდეს იმ შესყიდვას, რომელმაც ტოკენი შექმნა. ეს კონკრეტული, შესამოწმებელი თვისებაა და სწორედ ის ღირს ჩაწერად.
შემთხვევითი შთაბეჭდილების მატარებელი სტრიქონი ამას არ იძლევა. თუ გამომცემი მნიშვნელობას ინახავს მომხმარებლის ჩანაწერის გვერდით და კარიბჭეს შეუძლია მოითხოვოს ეს შესაბამისობა, ორი ურთიერთქმედება დაკავშირებულია მონაცემთა ბაზით და არა კრიპტოგრაფიით. კონსტრუქციამ გამომცემი უნდა გახადოს უუნარო უპასუხოს ამ კითხვას, ხოლო განლაგებამ უნდა შეუშალოს ხელი გამომცემსა და კარიბჭეს შეხედულებების გაერთიანებაში.
განსაზღვრეთ, რას ავტორიზებს ერთი ტოკენი
«ერთი ტოკენი ყიდულობს წვდომას» ოპერაციულად თითქმის არაფერს პასუხობს. ერთეული ერთი კავშირია, დროის კვოტა თუ მოცულობა? შეუძლია პასუხი დაკარგულ კლიენტს განაგრძოს იგივე ნებართვა? რა ხდება, როცა მოწყობილობა ხელახლა უკავშირდება ქსელის შეცვლისას? ეს პასუხები წყვეტს, გამოსადეგია თუ არა დიზაინი და თითოეულ მათგანს აქვს შედეგი კონფიდენციალურობისთვის.
| 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 |
აირჩიეთ ერთი განზრახ და ჩაწერეთ გვერდით მარცხის ქცევა. კლიენტი, რომელიც დროის გასვლის შემდეგ ახალი უფლებით ხელახლა ცდილობს, ხარჯავს კიდევ ერთ ერთეულს, რაც ერთდროულად ბილინგის სიურპრიზიცაა და კონფიდენციალურობის სიგნალიც.
დაწერეთ ხელახალი გამოყენებისა და გაუქმების პოლიტიკა
გაუქმება არის ის ადგილი, სადაც ანონიმური დიზაინები ჩვეულებრივ არღვევენ საკუთარ დაპირებას. გამოწერის გაუქმება და უკვე გაცემული ტოკენების ბათილობა სხვადასხვა ოპერაციაა და კარიბჭე, რომელიც გადაწყვეტილებისთვის ჩუმად აკეთებს ანგარიშის ძიებას, ამ მომენტში უკვე არ არის ანონიმური.
აირჩიეთ ერთმანეთთან შესაბამისი ვადა, გაცემის ზღვარი და გაუქმების ისტორია. შემდეგ გადახედეთ კარიბჭის საკუთარ ჩანაწერებს იმ ველებისთვის, რომლებიც თქვენ მიერ მოშორებულ კავშირს უბრუნებს.
sudo grep -rIl --include='*.log' -e 'Bearer ' -e 'account_id' /var/log/vpn/
ეს ძიება ჩამოთვლის ტოკენის ან ანგარიშის ველების შემცველ ჟურნალის ფაილებს და ეს არის პირველი ადგილი, სადაც ფრთხილი დიზაინი პრაქტიკაში ჟონავს. სესიის ჩანაწერი, რომელიც ტოკენის მნიშვნელობას ანგარიშის იდენტიფიკატორის გვერდით ინახავს, ანადგურებს მთელ კონსტრუქციას და ის ჩვეულებრივ მოდის გამართვის ცვლილებით, რომელიც არავის გადაუხედავს.
ასევე განსაზღვრეთ, რას ინახავს კარიბჭე სესიის დასრულების შემდეგ. ხანგრძლივობა, ბაიტები და ბოლო წერტილი გამოსადეგია ოპერაციებისთვის და თითოეული მათგანი თავსატეხის ნაწილია, რომელიც დამკვირვებელს სურდება ჰქონდეს. შენახვის ვადა მოკლე და ველების სია მოკლე შეინარჩუნეთ, შემდეგ ორივე გადახედეთ, როცა გამართვის ცვლილება სვეტს დაამატებს. ახალ ჟურნალის ველს ვერავინ ამჩნევს, სანამ ის იქ ერთი წელი არ იქნება.
ჩამოაყალიბეთ მტკიცება, შემდეგ კი დარჩენილი დაკვირვებები
დაწერეთ კონფიდენციალურობის მტკიცება ერთ წინადადებაში მისი დაშვებებით: რომელ მხარეს უნდა არ შეეძლოს რომელი კონტექსტების დაკავშირება და რა მოხდება, თუ გამომცემი და კარიბჭე შენიშვნებს შეადარებენ. დიზაინი, რომელიც ამ წინადადებას გადაურჩება, განსახილველია; ის, რომელიც მხოლოდ «ნულოვან ცოდნად» აღიწერება, არა.
შემდეგ ჩამოთვალეთ, რა რჩება ხილული ყველაფრის მიუხედავად. წყაროს მისამართები, კავშირის დრო, პაკეტის ზომები და უბრალო ფაქტი, რომ შესყიდვა მოხდა ცოტა ხნით ადრე, ვიდრე გამოჩნდა ერთადერთი ახალი კავშირი, ყველა კრიპტოგრაფიის გარეთაა. ერთი კლიენტი, რომელიც ერთ ერთეულს ყიდულობს და ერთხელ უკავშირდება, დასაკავშირებელია მხოლოდ დროით და არც ერთი ტოკენის დიზაინი ამას არ ცვლის.
პატიოსანი შედეგია უფრო ვიწრო კავშირი ანგარიშსა და გამოყენებას შორის და არა უხილავი სესია. მისი აშენება მაინც ღირს, სანამ დოკუმენტაცია ამას ამბობს და ოპერაციული ჩანაწერები მტკიცებას შეესაბამება.