Waarom enkripsie alleen nie ’n herspeelde pakket keer nie
’n Ou pakket hou ’n geldige verifikasie-etiket, so integriteit bewys nooit varsheid nie. Volgorde-toestand en ’n ontvangervenster doen daardie werk.
Beskermde pakkette verval nie kriptografies nie, so een wat vyf minute gelede geldig was, is nou nog geldig, want enkripsie en integriteitsbeskerming sê niks oor wanneer die grepe geskep is nie. ’n Aanvaller wat verkeer kan vasvang en weer stuur, hoef nie die syfer te breek nie. Daarom dra elke ernstige tonnelprotokol volgorde-toestand saam met sy sleutels.
Die meganisme is klein, en ’n mens verwar sy faalmodusse maklik met pakketverlies.
Geldige syferteks is nie vars syferteks nie
Verifikasie beantwoord een vraag: het hierdie grepe onveranderd van iemand met die sleutel gekom. Dit antwoord nie of dit die eerste keer is wat die ontvanger hulle sien nie. ’n Herspeelde pakket slaag die eerste toets volkome, en juis daarom kan integriteitskontrole alleen nie ’n herhaling keer nie, en daarom het die protokol ’n tweede reël oor aanvaarding nodig. ’n Ontvanger wat net verifieer, het geen verweer teen ’n aanvaller met ’n opname nie.
Daardie reël is goedkoop om te implementeer en goedkoop om te stel: aanvaar ’n gegewe beskermde pakket een keer, onder ’n gegewe sleutel. Alles anders in hierdie area volg uit hoe die implementering daardie een keer byhou.
Om ’n herspeling-weglating as ’n ontsyferingsfout te lees, stuur jou na die heeltemal verkeerde substelsel.
’n Volgordenommer en ’n venster
IPsec ESP dra ’n volgordenommer en die ontvanger hou ’n skuifvenster van onlangs aanvaarde waardes, terwyl die ESP-spesifikasie die verstekvenstergrootte en die opsie om dit te verleng beskryf. WireGuard volg ’n ander roete met ’n teller per sleutel en ’n eksplisiete kontrole daarteen. Nie een ontwerp neem aan dat pakkette in volgorde aankom nie, want werklike netwerke herrangskik hulle. Albei duld herrangskikking, en nie een duld herhaling nie.
Die venster is wat daardie verdraagsaamheid moontlik maak. ’n Pakket effens agter die hoogste waarde gesien, kan steeds aanvaar word as dit nie vantevore aanvaar is nie; een ver agter, of een wie se plek al gemerk is, word laat val. Vergroot die venster en jy duld meer herrangskikking teen die koste van meer toestand per assosiasie.
Diagnostiese tellers wys jou in watter geval jy is. Herspeling-weglatings verhoog ’n spesifieke teller eerder as ’n generiese fout, en om daardie teller te lees is die eerste nuttige waarneming.
nstat -az | grep -i XfrmIn
ip -s xfrm state | head -n 30
wg show wg0 transfer
Toestand hoort by die sleutel, nie by die gasheer nie
Teller-toestand is gebind aan ’n sekuriteitsassosiasie of ’n sleuteltydperk, so ’n hersluteling skep ’n vars konteks en sy eie volgorderuimte. Om ’n teller skoon te maak sonder om die sleutel te vervang, of om ’n assosiasie na ’n handmatige terugstelling te hergebruik, breek die aanname waarop die ontvanger se venster staatmaak. Daarom bestaan protokolgedrewe hersluteling eerder as ’n operateur-sigbare terugstelknoppie.
Wanneer ’n tonnel ná ’n handmatige ingryping wangedra, vra of die ingryping volgorde-toestand geraak het. ’n Konfigurasie wat identies lyk, kan anders optree omdat die toestand wat dit geërf het, nie die toestand is wat dit verwag nie.
Diagnoseer die oorsaak voordat jy iets uitskakel
Verlies, herrangskikking, gedupliseerde verkeer en ’n implementeringsfout kom almal as hertransmissies na vore, en net een daarvan is ’n herspelingsprobleem. Om die kontrole uit te skakel om geraas stil te maak, verwyder die eienskap waarop jy staatgemaak het en maak die oorspronklike oorsaak moeiliker om te vind, want nou het die hertransmissies glad geen verklaring nie.
Vang begrensde bewyse: assosiasie-identifiseerders, volgordenommers en tellers, met loonvragte uitgesluit. Dit is genoeg om ’n duplikaat van ’n herrangskikte aankoms te onderskei, en dit verander nie jou diagnostiese lêer in ’n kopie van die gebruiker se verkeer nie.
Wat die kontrole nie belowe nie
Herspelingsbeskerming is ’n eienskap van pakketverwerking binne een protokol. Dit beteken nie dat die operateur geen logboeke hou nie, dat ’n webwerf nie ’n rekening kan herken nie, of dat ’n sessie anoniem is nie. Dit is afsonderlike vrae oor afsonderlike stelsels, en ’n sterk teen-herspelingsontwerp beantwoord nie een van hulle nie.
Onderhoude sagteware met ondersteunde instellings is die praktiese beheer wat ’n gebruiker het. Die protokol hanteer die pakket; alles anders bly ’n operasionele besluit.