Viena eilutė „paskutinis rankos paspaudimas, prieš dvi minutes“ atrodo kaip nuolatinio aktyvumo įrodymas ir yra silpnesnė už tai. Ji žymi paskutinį užbaigtą raktų mainą vienam partneriui, kuris vyksta pagal fiksuotą raktų atnaujinimo laikmatį, kol teka srautas, ir sustoja, kai partneris nutyla. Ar tas laikas susieja žmogų su kuo nors, priklauso nuo šalia saugomų identifikatorių ir abiejų sistemų laikrodžių. Štai kaip įrašas elgiasi dviejuose dažniausiuose rinkiniuose ir kur jo skaitymas klysta.

Du įrašai, dvi skirtingos reikšmės

WireGuard laiko vieną rankos paspaudimo laiko žymą vienam partneriui, kuri pakeičiama kiekvieną kartą atnaujinant raktus, be to, baitų skaitiklius kiekviena kryptimi. OpenVPN paprastai įrašo sesijos pradžią, atsijungimą ir visa, ką prideda sukonfigūruotas išsamumas, todėl įrašo vienetas yra sesija, o ne raktų mainai.

Šis skirtumas nulemia, ką reiškia nebuvimas:

QuestionWireGuard handshakeOpenVPN session log
Did the peer send recently?Strong hint within the rekey windowNot answered by start time alone
Did the peer stop?Weak, because idle peers also stop rekeyingOnly if a disconnect was written
What was visited?NothingNothing

Kodėl rankos paspaudimas nėra nuolatinis naudojimas

WireGuard atnaujina raktus maždaug kas dvi minutes, kol yra duomenų, kuriuos reikia apsaugoti, o neveiklus partneris tiesiog sustoja. Todėl pasenęs rankos paspaudimas gali reikšti, kad nešiojamasis kompiuteris miega, vartotojas nustojo dirbti arba tinklas numetė paketus, kurie būtų pradėję kitą mainą. Laiko žyma yra apatinė aktyvumo riba, o ne dėmesio sekiklis.

Priešinga klaida taip pat lengva. Nuolatinis keepalive srautas palaiko tunelį šiltą neveikliame įrenginyje, todėl neseniai atliktas rankos paspaudimas gali pasirodyti mašinoje, kurios niekas nelietė valandą. Baitų skaitikliai čia padeda, nes jie atskiria partnerį, siunčiantį tikrus duomenis, nuo to, kuris keičiasi tik keepalive pranešimais, ir taip pat nurodo, kuri kryptis nešė apimtį. Niekas iš to neatskleidžia paskirties vietos, puslapio ar užklausos.

Identifikatoriai keliauja kartu su laiko žyma

Laikas be paskyros, viešojo rakto ar šaltinio adreso yra našlaitis. Susiekite laiko žymą su partnerio tapatybe ir stebėjimas tampa susiejamas: viešasis raktas išlieka keičiantis adresams, o šaltinio adresą gali dalytis daug abonentų už operatoriaus adresų vertimo.

Ši asimetrija yra tai, ką praleidžia dauguma privatumo diskusijų. Adresas atrodo anoniminis, nes yra bendras, o raktas atrodo techninis, nes yra ilgas, tačiau stabilus identifikatorius yra raktas. Vieno lauko išsaugojimas ir kito atsisakymas keičia koreliacijos riziką, nekeisdamas tariamo tikslumo.

Pati koreliacija yra dokumentuotas susirūpinimas. Prisijungimo laiko sujungimas su tiekėjo prisijungimo įvykiu, palaikymo bilietu ar mokėjimo įrašu gali susieti tapatybę su aktyvumu net tada, kai paskirties vieta niekada nebuvo užrašyta, todėl susiejimas svarbesnis už formatavimą.

Tarp sistemų koreliacijai reikia laikrodžių priežiūros

Dvi sistemos, pranešančios apie tą patį momentą, retai sutaria iki sekundės. Viena gali taikyti laiko juostos poslinkį savo išvestyje, kita gali veikti laikrodžiu, kuris kelias sekundes neteisingas, o virtualioji mašina gali nukrypti po sustabdymo.

Prieš darydami išvadą, kad du įvykiai įvyko kartu, konvertuokite abu į tą pačią juostą ir patikrinkite poslinkį neapdorotame įraše, o ne rodinyje. Jei matuojamas tarpas mažesnis už tikėtiną nuokrypį, tvarkos apskritai neturite.

Praktinė taisyklė yra išsaugoti tikslumą, kurio reikia trikčių šalinimo užduočiai, ir ne daugiau. Sesijų skaičius per valandą atsako į prieinamumo klausimą nelaikant istorijos pagal paskyrą, o suvestinė gali būti saugoma daug ilgiau nei neapdorotos eilutės, iš kurių ji gauta.

Skaitykite įrašą komandomis, o ne vaizduote

Išspausdinkite laukus, apie kuriuos ketinate samprotauti, vienetais, kuriuos saugo įrankis, o ne tais, kuriuos rodo ataskaitų skydelis.

Šios dvi eilutės rodo rankos paspaudimo amžių ir baitų skaitiklius kiekvienam WireGuard partneriui, tada tokią pačią medžiagą iš OpenVPN būsenos failo:

wg show all latest-handshakes
wg show wg0 transfer
cat /run/openvpn/server.status

Palyginkite amžių su raktų atnaujinimo intervalu prieš darydami išvadą, ir skaitykite skaitiklius kartu su juo. Partneris su neseniai atliktu rankos paspaudimu ir beveik jokiu perdavimu keičiasi keepalive pranešimais, o partneris su pasenusiu rankos paspaudimu ir dideliais skaitikliais buvo užimtas, kol sustojo. Nė viena eilutė nesako, kas buvo padaryta, ir pasakyti tai atvirai yra tiksliau nei užsiminti, kad laiko žyma įrodo apsilankymą.

Susiję straipsniai