Verna pakkar går ikkje ut kryptografisk, så ein pakke som var gyldig for fem minutt sidan er framleis gyldig no, fordi kryptering og integritetsvern ikkje seier noko om når byta vart produserte. Ein åtakar som kan fanga og senda trafikk på nytt, treng ikkje bryta chifferen. Difor ber kvar seriøs tunnelprotokoll sekvenstilstand saman med nøklane sine.

Mekanismen er liten, og feilmodusane er lette å forveksla med pakketap.

Gyldig chiffertekst er ikkje fersk chiffertekst

Autentisering svarar på eitt spørsmål: kom desse byta uendra frå nokon som har nøkkelen. Det svarar ikkje på om det er fyrste gong mottakaren ser dei. Ein gjenavspelt pakke greier den fyrste prøva perfekt, og nettopp difor kan integritetskontroll åleine ikkje stogga ein gjenavspeling, og difor treng protokollen ein annan regel om aksept. Ein mottakar som berre autentiserer, har ingen forsvar mot ein åtakar med eit opptak.

Den regelen er billeg å implementera og billeg å formulera: godta ein gjeven verna pakke éin gong, under ein gjeven nøkkel. Alt anna på dette området følgjer av korleis implementasjonen held greie på den eine gongen.

Å lesa eit gjenavspelingsforkast som ein dekrypteringsfeil sender deg til det heilt gale delsystemet.

Eit sekvensnummer og eit vindauge

IPsec ESP ber eit sekvensnummer, og mottakaren held eit glidande vindauge over nyleg godtekne verdiar, medan ESP-spesifikasjonen skildrar standardvindaugestorleiken og høvet til å utvida det. WireGuard tek ein annan veg med ein teljar per nøkkel og ein eksplisitt kontroll mot han. Ingen av designa føreset at pakkar kjem i rekkjefølgje, fordi ekte nettverk omorganiserer dei. Begge toler omorganisering, og ingen av dei toler gjentaking.

Vindauget er det som gjer den toleransen mogleg. Ein pakke litt bak den høgaste verdien som er sett, kan framleis godtakast om han ikkje er godtatt før; ein langt bak, eller ein der plassen alt er markert, vert forkasta. Auk vindauget, og du toler meir omorganisering på kostnad av meir tilstand per assosiasjon.

Diagnostiske teljarar viser deg kva tilfelle du er i. Gjenavspelingsforkast aukar ein spesifikk teljar i staden for ein generisk feil, og å lesa den teljaren er den fyrste nyttige observasjonen.

nstat -az | grep -i XfrmIn
ip -s xfrm state | head -n 30
wg show wg0 transfer

Tilstand høyrer til nøkkelen, ikkje til verten

Teljartilstand er knytt til ein tryggingsassosiasjon eller ein nøkkelepoke, så ein nøkkelutskifting skapar ein fersk kontekst og sitt eige sekvensrom. Å tøma ein teljar utan å skifta ut nøkkelen, eller å bruka ein assosiasjon på nytt etter ei manuell tilbakestilling, bryt føresetnaden mottakarvindauget er avhengig av. Difor finst protokollstyrt nøkkelutskifting i staden for ein tilbakestillingsknapp operatøren kan sjå.

Når ein tunnel oppfører seg dårleg etter eit manuelt inngrep, spør om inngrepet rørte sekvenstilstanden. Ein konfigurasjon som ser identisk ut kan oppføra seg annleis fordi tilstanden han arva ikkje er tilstanden han ventar.

Diagnostiser årsaka før du slår av noko

Tap, omorganisering, duplisert trafikk og ein implementasjonsfeil viser seg alle som retransmisjonar, og berre éin av dei er eit gjenavspelingsproblem. Å slå av kontrollen for å dempa støy fjernar eigenskapen du var avhengig av, og gjer den opphavlege årsaka vanskelegare å finna, fordi retransmisjonane no ikkje har noka forklaring i det heile.

Samla avgrensa prov: assosiasjons-ID-ar, sekvensnummer og teljarar, utan nyttelasta. Det er nok til å skilja ein duplikat frå ein omorganisert ankomst, og det gjer ikkje diagnosefila di til ei kopi av trafikken til brukaren.

Kva kontrollen ikkje lovar

Gjenavspelingsvern er ein eigenskap ved pakkebehandling inne i éin protokoll. Det betyr ikkje at operatøren ikkje fører loggar, at ein nettside ikkje kan kjenna att ein konto, eller at ei økt er anonym. Det er separate spørsmål om separate system, og eit sterkt anti-gjenavspelingsdesign svarar på ingen av dei.

Vedlikehalden programvare med støtta innstillingar er den praktiske kontrollen ein brukar har. Protokollen handterer pakken; alt anna vert verande ei driftsavgjerd.

Relaterte artiklar