Kuinka monta tarkistussummaa VPN-paketissa on? Se riippuu
Määrä riippuu IP-versioista, kuljetetusta protokollasta ja suojausmuodosta. Otsikon tarkistussummat, ylemmän kerroksen tarkistussummat ja eheystunnisteet eroavat.
Väite, että VPN-paketti kuljettaa täsmälleen kaksi tarkistussummaa, kuulostaa siistiltä ja on riittävän usein väärä, jotta se kannattaa purkaa. Määrä riippuu siitä, mitkä IP-versiot esiintyvät, mitä kuljetusprotokollaa kuljetetaan ja mitä suojausmuotoa tunneli käyttää. Otsikon tarkistussumma, ylemmän kerroksen tarkistussumma ja kryptografinen eheystunniste ovat kolme mekanismia, joilla on kolme laajuutta. Niiden laskeminen alkaa merkitsemällä, mitä kukin kattaa.
Tarkista, mitkä IP-versiot todella ovat johdolla
IPv4-otsikot kuljettavat 16-bittisen otsikon tarkistussumman, eivätkä IPv6-otsikot kuljeta mitään sellaista. Tämä yksi tosiasia muuttaa määrän jokaisella tunnelilla, koska IPv4:n kääriminen IPv6:n sisään ja IPv6:n kääriminen IPv4:n sisään tuottavat eri asiakirjat. Tunneli voi kuljettaa molempia perheitä yhtä aikaa, jolloin toinen suunta voi sisältää kentän, jota toisessa ei ole. Selvitä versiot ennen kuin lasket mitään.
Kirjoita asettelu otsikkoluettelona eikä kuvana. Järjestys on tärkeä kaappausta lukiessa, ja tarkistussummakentän olemassaolo tai puuttuminen on ensimmäinen merkittävä asia.
outer IPv6 | ESP | inner IPv6 | UDP | application data
outer IPv4 | ESP | inner IPv4 | TCP | application data
Ensimmäisellä rivillä ei ole IP-otsikon tarkistussummaa missään sen IP-otsikoissa, kun taas toisella on kaksi, kun molemmat otsikot ovat IPv4. Sama tunnelitekniikka, eri määrä, eikä kumpikaan rivi ole täydellinen johdon muoto.
Tarkista, mitä kukin tarkistussumma kattaa
Kattavuus on se osa, jonka ihmiset ohittavat, ja juuri se tekee määrästä mielekkään. IPv4-otsikon tarkistussumma suojaa otsikkoa eikä mitään muuta, joten se ei kerro mitään sen takana olevasta hyötykuormasta. IPv6:n yli kulkeva UDP-tarkistussumma kattaa näennäisotsikon sekä UDP-otsikon ja hyötykuorman, mikä tarkoittaa, että se ulottuu kuljetettavaan pakettiin, kun datagrammi tunneloidaan. TCP:llä on oma tarkistussummansa, jolla on samankaltainen riippuvuus näennäisotsikosta. Nämä ovat kolme eri laajuutta, vaikka kaikkia kolmea kutsutaan tarkistussummaksi.
RFC 791 määrittelee IPv4-otsikon tarkistuksen ja sen uudelleenlaskennan joka hypyssä, ja RFC 8200 määrittelee ylemmän kerroksen käsittelyn IPv6:n yli, mukaan lukien näennäisotsikon. Kumpikaan asiakirja ei sano, että VPN-paketissa on kiinteä määrä tarkistussummia, koska kumpikaan ei kuvaa tunnelia.
tshark -r capture.pcap -Y "ip.proto == 50" -V | grep -i checksum
Tarkista eheyssuojaus erikseen
ESP:n eheys on kryptografinen suojaus, jolla on oma kattavuutensa ja algoritmista riippuva esitystapansa. Se ei ole IP- tai UDP-tarkistussumma toisella nimellä, ja sen pituus vaihtelee valitun rakenteen mukaan. Eheystarkistus kattaa paketista määritellyn osan, joka tilasta riippuen voi sisältää ESP-otsikon ja osan hyötykuormasta. Sen laskeminen tunnetun levyiseksi tarkistussummakentäksi on kohta, jossa useimmat näistä selityksistä hajoavat.
Lue valittu rakenne ennen tavujen laskemista ja kuvaile tulos eheyssuojaukseksi eikä toisella nimellä varustetuksi tarkistussummaksi. Dekooderi nimeää kentän puolestasi, jos kysyt siltä.
tshark -r capture.pcap -Y esp -V | grep -iE "integrity|icv"
Tarkista havaintopiste ennen laskemista
Kaappaus sisärajapinnalla ja kaappaus johdolla voivat näyttää täysin eri kerrokset. Sisärajapinnalla tunneli on jo purettu, joten näet kuljetettavan paketin etkä yhtään ulkoisista otsikoista. Johdolla näet ulkoiset otsikot ja salatun hyötykuorman, jota et voi lukea. Kumpikaan näkymä ei ole väärä, eivätkä ne ole näkymiä samasta objektista. Ilmoita, missä kaappaus otettiin, ennen kuin esität mitään määrää.
sudo tcpdump -ni eth0 -vv -c 5 esp
sudo tcpdump -ni tun0 -vv -c 5
Ensimmäinen komento näyttää ulkoisen paketin eheysperällään ja toinen näyttää kuljetettavan paketin omalla kuljetuksen tarkistussummallaan. Molempien kaappausten lukujen laskeminen yhteen ei laske mitään kahteen kertaan, mutta selittää saman paketin kahdesti.
Vertaa määrää todelliseen kaappaukseen
Pura yksi paketti kokonaan ja merkitse jokainen kenttä, jonka dekooderi nimeää tarkistussummaksi tai eheysarvoksi. Vertaa sitten jokaista merkintää kirjoittamaasi asetteluun ja poista ne, jotka kuuluvat kerrokseen, jota et itse asiassa laske. Määrä, joka selviää tästä harjoituksesta, on puolustettavissa, ja muistista lainattu määrä ei ole.
Toista vastaussuunnalle, koska molempia perheitä kuljettava tunneli voi vaihdella suunnittain ja virroittain. Ilmoita sitten määrä yhdessä sen laajuuden kanssa, esimerkiksi kolme tarkistussummaa tälle sisäiselle paketille tässä havaintopisteessä, eikä VPN-pakettien yleisenä ominaisuutena.
tshark -r capture.pcap -T fields -e ip.checksum -e udp.checksum -e tcp.checksum