Suojatut paketit eivät vanhene kryptografisesti, joten paketti, joka oli kelvollinen viisi minuuttia sitten, on kelvollinen myös nyt, koska salaus ja eheyden suojaus eivät kerro mitään siitä, milloin tavut tuotettiin. Hyökkääjän, joka pystyy kaappaamaan ja lähettämään liikennettä uudelleen, ei tarvitse murtaa salakirjoitusta. Siksi jokainen vakava tunneliprotokolla kantaa järjestystilaa avaintensa rinnalla.

Mekanismi on pieni, ja sen vikatilat sekoittuvat helposti pakettien häviämiseen.

Kelvollinen salakirjoitus ei ole tuoretta salakirjoitusta

Todennus vastaa yhteen kysymykseen: tulivatko nämä tavut muuttumattomina avaimen haltijalta. Se ei vastaa, näkeekö vastaanottaja ne ensimmäistä kertaa. Uudelleenlähetetty paketti läpäisee ensimmäisen testin täydellisesti, ja juuri siksi pelkkä eheyden tarkistus ei voi pysäyttää uudelleenlähetystä ja siksi protokolla tarvitsee toisen säännön hyväksymisestä. Vastaanottajalla, joka vain todentaa, ei ole puolustusta tallenteen omaavaa hyökkääjää vastaan.

Sääntö on halpa toteuttaa ja halpa ilmaista: hyväksy tietty suojattu paketti kerran, tietyn avaimen alla. Kaikki muu tällä alueella seuraa siitä, miten toteutus seuraa tuota yhtä kertaa.

Uudelleenlähetyksen hylkäyksen lukeminen salauksen purun virheeksi lähettää sinut täysin väärään osajärjestelmään.

Järjestysnumero ja ikkuna

IPsec ESP kantaa järjestysnumeroa ja vastaanottaja pitää liukuvaa ikkunaa äskettäin hyväksytyistä arvoista, ja ESP-määrittely kuvaa ikkunan oletuskoon ja mahdollisuuden laajentaa sitä. WireGuard kulkee toista reittiä: laskuri avainta kohden ja selkeä tarkistus sitä vastaan. Kumpikaan suunnittelu ei oleta, että paketit saapuvat järjestyksessä, koska todelliset verkot järjestävät ne uudelleen. Molemmat sietävät uudelleenjärjestelyä, eikä kumpikaan siedä toistoa.

Ikkuna tekee sietokyvyn mahdolliseksi. Paketti, joka on hieman korkeimman nähdyn arvon takana, voidaan yhä hyväksyä, jos sitä ei ole hyväksytty aiemmin; kaukana takana oleva tai sellainen, jonka paikka on jo merkitty, hylätään. Suurenna ikkunaa, niin sietät enemmän uudelleenjärjestelyä useamman tilan kustannuksella assosiaatiota kohden.

Diagnostiikkalaskurit näyttävät, missä tapauksessa olet. Uudelleenlähetyksen hylkäykset kasvattavat tiettyä laskuria eivätkä yleistä virhettä, ja tuon laskurin lukeminen on ensimmäinen hyödyllinen havainto.

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

Tila kuuluu avaimelle, ei isännälle

Laskurin tila on sidottu tietoturva-assosiaatioon tai avainkauteen, joten avaimen vaihto luo tuoreen kontekstin ja oman järjestysavaruutensa. Laskurin tyhjentäminen vaihtamatta avainta tai assosiaation uudelleenkäyttö manuaalisen nollauksen jälkeen rikkoo oletuksen, josta vastaanottajan ikkuna riippuu. Siksi on olemassa protokollan ohjaama avaimenvaihto eikä operaattorille näkyvää nollauspainiketta.

Kun tunneli käyttäytyy huonosti manuaalisen toimenpiteen jälkeen, kysy, koskiko toimenpide järjestystilaa. Samalta näyttävä kokoonpano voi käyttäytyä eri tavalla, koska peritty tila ei ole se tila, jota se odottaa.

Diagnosoi syy ennen kuin poistat mitään käytöstä

Häviö, uudelleenjärjestely, kahdennettu liikenne ja toteutusvirhe näkyvät kaikki uudelleenlähetyksinä, ja vain yksi niistä on uudelleenlähetyksen ongelma. Tarkistuksen poistaminen käytöstä kohinan vaientamiseksi poistaa ominaisuuden, johon luotit, ja vaikeuttaa alkuperäisen syyn löytämistä, koska nyt uudelleenlähetyksillä ei ole lainkaan selitystä.

Kerää rajattua näyttöä: assosiaatiotunnisteet, järjestysnumerot ja laskurit, hyötykuormat pois lukien. Se riittää erottamaan kopion uudelleenjärjestellystä saapumisesta, eikä tee diagnostiikkatiedostostasi kopiota käyttäjän liikenteestä.

Mitä tarkistus ei lupaa

Uudelleenlähetyksen suojaus on yhden protokollan sisäisen pakettikäsittelyn ominaisuus. Se ei tarkoita, ettei operaattori pidä lokeja, ettei verkkosivusto voi tunnistaa tiliä tai että istunto on anonyymi. Ne ovat erillisiä kysymyksiä erillisistä järjestelmistä, eikä vahva uudelleenlähetyksen vastainen suunnittelu vastaa yhteenkään niistä.

Ylläpidetty ohjelmisto tuetuilla asetuksilla on käytännön valvonta, joka käyttäjällä on. Protokolla hoitaa paketin; kaikki muu jää operatiiviseksi päätökseksi.

Aiheeseen liittyvät artikkelit