Čo vám časová pečiatka handshake vo WireGuarde skutočne hovorí
Čas handshake nie je história prehliadania, ale spája účet s udalosťou. Porovnajte, čo zaznamenáva WireGuard a OpenVPN a čo presnosť skrýva.
Jeden riadok „posledný handshake, pred dvoma minútami“ vyzerá ako dôkaz nepretržitej aktivity a je slabší než to. Označuje poslednú dokončenú výmenu kľúčov pre jedného partnera, ktorá sa deje podľa pevného časovača obnovy kľúčov, kým tečie prevádzka, a končí, keď partner stíchne. Či tento čas spája človeka s čímkoľvek, závisí od identifikátorov uložených vedľa a od hodín oboch systémov. Tu je, ako sa záznam správa v dvoch najbežnejších zostavách a kde sa jeho čítanie zvrtne.
Dva záznamy, dva rôzne významy
WireGuard drží jednu časovú pečiatku handshake na partnera, nahradzovanú pri každej obnove kľúčov, plus počítadlá bajtov v každom smere. OpenVPN zvyčajne zaznamenáva začiatok relácie, odpojenie a všetko, čo pridá nastavená podrobnosť, čo robí jednotkou záznamu reláciu, nie výmenu kľúčov.
Tento rozdiel rozhoduje o tom, čo znamená neprítomnosť:
| Question | WireGuard handshake | OpenVPN session log |
|---|---|---|
| Did the peer send recently? | Strong hint within the rekey window | Not answered by start time alone |
| Did the peer stop? | Weak, because idle peers also stop rekeying | Only if a disconnect was written |
| What was visited? | Nothing | Nothing |
Prečo handshake nie je nepretržité používanie
WireGuard obnovuje kľúče približne každé dve minúty, kým sú dáta, ktoré treba chrániť, a partner, ktorý sa stane nečinným, jednoducho prestane. Zastaraný handshake teda môže znamenať, že notebook spí, používateľ prestal pracovať alebo sieť zahodila pakety, ktoré by spustili ďalšiu výmenu. Časová pečiatka je dolná hranica aktivity, nie sledovač pozornosti.
Opačná chyba je rovnako ľahká. Trvalá prevádzka keepalive udržiava tunel v teple aj na nečinnom zariadení, takže nedávny handshake sa môže objaviť na stroji, ktorého sa hodinu nikto nedotkol. Počítadlá bajtov tu pomáhajú, pretože rozlišujú partnera, ktorý posiela skutočné dáta, od toho, ktorý si vymieňa len keepalive, a tiež hovoria, ktorý smer niesol objem. Nič z toho neprezrádza cieľ, stránku ani dopyt.
Identifikátory cestujú s časovou pečiatkou
Čas bez účtu, verejného kľúča alebo zdrojovej adresy je sirota. Spárujte pečiatku s identitou partnera a pozorovanie sa stane prepojiteľným: verejný kľúč pretrváva naprieč zmenami adries, zatiaľ čo zdrojovú adresu môže zdieľať veľa účastníkov za prekladom adries operátora.
Táto asymetria je to, čo väčšina debát o súkromí prehliada. Adresa vyzerá anonymne, pretože je zdieľaná, a kľúč vyzerá technicky, pretože je dlhý, ale stabilným identifikátorom je kľúč. Zachovanie jedného poľa a zahodenie druhého mení riziko korelácie bez zmeny zdanlivej presnosti.
Samotná korelácia je dokumentovaná obava. Spojenie času pripojenia s prihlasovacou udalosťou poskytovateľa, so žiadosťou o podporu alebo so záznamom o platbe môže spojiť identitu s aktivitou aj vtedy, keď nebol nikdy zapísaný žiadny cieľ, a preto je párovanie dôležitejšie než formátovanie.
Korelácia medzi systémami si vyžaduje starostlivosť o hodiny
Dva systémy hlásiace ten istý okamih sa málokedy zhodnú na sekundu. Jeden môže vo výstupe použiť posun časového pásma, druhý môže bežať na hodinách posunutých o niekoľko sekúnd a virtuálny stroj sa môže po pozastavení rozísť.
Skôr než uzavriete, že sa dve udalosti stali spolu, preveďte obe do rovnakého pásma a skontrolujte posun v surovom zázname, nie v zobrazení. Ak je medzera, ktorú meriate, menšia než pravdepodobné skreslenie, nemáte vôbec žiadne poradie.
Praktické pravidlo je zachovať presnosť, ktorú úloha riešenia problémov potrebuje, a nič viac. Počet relácií za hodinu odpovedá na otázku dostupnosti bez vedenia histórie pre každý účet a agregát možno uchovávať oveľa dlhšie než surové riadky, z ktorých vznikol.
Čítajte záznam pomocou príkazov, nie predstavivosti
Vypíšte polia, o ktorých budete uvažovať, v jednotkách, ktoré nástroj ukladá, a nie v tých, ktoré vykresľuje panel.
Tieto dva riadky ukazujú vek handshake a počítadlá bajtov pre každého partnera WireGuardu a potom rovnaký druh materiálu zo stavového súboru OpenVPN:
wg show all latest-handshakes
wg show wg0 transfer
cat /run/openvpn/server.statusPorovnajte vek s intervalom obnovy kľúčov, kým urobíte záver, a čítajte počítadlá spolu s ním. Partner s nedávnym handshake a takmer žiadnym prenosom si vymieňa keepalive, zatiaľ čo partner so zastaraným handshake a veľkými počítadlami bol zaneprázdnený, kým neprestal. Ani jeden riadok nehovorí, čo sa urobilo, a povedať to otvorene je presnejšie než naznačovať, že pečiatka dokazuje návštevu.