Én linje som sier «siste håndtrykk, for to minutter siden» ser ut som bevis på vedvarende aktivitet og er svakere enn det. Den markerer den siste fullførte nøkkelutvekslingen for én peer, som skjer på en fast nøkkelrotasjons-timer mens trafikken flyter og stopper når peeren blir stille. Om det tidspunktet knytter en person til noe, avhenger av identifikatorene som er lagret ved siden av, og av klokkene i begge systemene. Her er hvordan oppføringen oppfører seg i de to vanligste stakkene, og hvor lesingen av den går galt.

To oppføringer, to forskjellige betydninger

WireGuard holder ett håndtrykks-tidsstempel per peer, erstattet ved hver nøkkelrotasjon, pluss byttetellere i hver retning. OpenVPN registrerer vanligvis en øktsstart, en frakobling og alt den konfigurerte detaljgraden legger til, noe som gjør enheten i oppføringen til en økt snarere enn en nøkkelutveksling.

Den forskjellen avgjør hva et fravær betyr:

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

Hvorfor et håndtrykk ikke er vedvarende bruk

WireGuard roterer nøkler omtrent hvert annet minutt så lenge det er data å beskytte, og en peer som blir inaktiv slutter rett og slett. Et utdatert håndtrykk kan derfor bety at laptopen sover, at brukeren sluttet å jobbe, eller at nettverket droppet pakkene som ville utløst neste utveksling. Tidsstemplet er en nedre grense for aktivitet, ikke en sporer av oppmerksomhet.

Den motsatte feilen er like lett. Vedvarende keepalive-trafikk holder tunnelen varm på en inaktiv enhet, så et nylig håndtrykk kan dukke opp på en maskin ingen har rørt på en time. Byttetellere hjelper her, fordi de skiller en peer som sender ekte data fra en som bare utveksler keepalives, og de forteller også hvilken retning som bar volumet. Ingenting av dette avslører en destinasjon, en side eller en spørring.

Identifikatorer reiser med tidsstemplet

Et tidspunkt uten konto, offentlig nøkkel eller kildeadresse er et hittebarn. Par tidsstemplet med peerens identitet, og observasjonen blir sammenkjedbar: en offentlig nøkkel består på tvers av adresseendringer, mens en kildeadresse kan deles av mange abonnenter bak leverandørens adresseoversettelse.

Den asymmetrien er det de fleste personvernsdiskusjoner overser. Adressen ser anonym ut fordi den deles, og nøkkelen ser teknisk ut fordi den er lang, men nøkkelen er den stabile identifikatoren. Å beholde ett felt og droppe det andre endrer korrelasjonsrisikoen uten å endre den tilsynelatende presisjonen.

Korrelasjonen selv er den dokumenterte bekymringen. Å knytte et tilkoblingstidspunkt til en leverandørs innloggingshendelse, en støttebillett eller en betalingsoppføring kan forbinde en identitet med aktivitet selv når ingen destinasjon noen gang er skrevet ned, og derfor betyr parringen mer enn formateringen.

Korrelasjon på tvers av systemer krever klokkeomhu

To systemer som rapporterer samme øyeblikk er sjelden enige til sekundet. Det ene kan bruke en tidssoneforskyvning i utdataene, det andre kan gå på en klokke som er flere sekunder feil, og en virtuell maskin kan drifte etter en suspendering.

Før du konkluderer med at to hendelser skjedde samtidig, konverter begge til samme sone og sjekk forskyvningen i den rå oppføringen i stedet for i visningen. Hvis gapet du måler er mindre enn den sannsynlige skjevheten, har du ingen rekkefølge i det hele tatt.

Den praktiske regelen er å beholde presisjonen feilsøkingsoppgaven trenger og ikke mer. Et antall økter per time svarer på et tilgjengelighetsspørsmål uten å føre historikk per konto, og et aggregat kan oppbevares mye lenger enn de rå radene det kom fra.

Les oppføringen med kommandoer, ikke fantasi

Skriv ut feltene du skal resonnere om, i enhetene verktøyet lagrer og ikke de et dashbord viser.

Disse to linjene viser håndtrykkets alder og byttetellere for hver WireGuard-peer, og deretter samme slags materiale fra en OpenVPN-statusfil:

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

Sammenlign alderen med nøkkelrotasjonsintervallet før du trekker en konklusjon, og les tellerne sammen med den. En peer med nylig håndtrykk og nesten ingen overføring utveksler keepalives, mens en peer med utdatert håndtrykk og store tellere var opptatt til den stoppet. Ingen av linjene sier hva som ble gjort, og å si det rett ut er mer nøyaktig enn å antyde at tidsstemplet beviser et besøk.

Relaterte artikler