Kaksi IPsec-ehdotusta voivat nimetä saman SHA-pohjaisen eheysalgoritmin ja silti vaatia eri suojausprotokollat; AH ja ESP eivät ole yhden todennusasetuksen kaksi kirjoitusasua. Lue ensin protokolla, sitten sen algoritmit, sitten sen tila, ja suurin osa epäselvyydestä katoaa. AH todentaa paketin, mukaan lukien ne IP-otsakkeen kentät, jotka pysyvät matkalla muuttumattomina, kun taas ESP todentaa ja salaa sen, minkä se kapseloi, ja jättää ulomman otsakkeen rauhaan. Tämä ero ratkaisee useampia käyttöönottoja kuin mikään hashin nimi.

Mikä AH kattaa ja ESP ei

AH tarjoaa eheyden, datan alkuperän todentamisen ja itse määrittelemänsä toistonsuojauspalvelun, eikä lainkaan luottamuksellisuutta. Sen kattavuus sisältää ylemmän kerroksen datan ja ne IP-otsakkeen kentät, joita sen säännöt pitävät muuttumattomina, juuri sen osan, jonka ESP kuljetustilassa jättää ulkopuolelle. Kun vaatimus sanoo, että itse IP-otsake on todennettava, AH on protokolla, joka vastaa siihen.

Tämä kattavuus on myös syy siihen, miksi AH on käytännössä hauras. Muuttuvia kenttiä kuten TTL, otsakkeen tarkistussumma ja eräät valinnat ei voi todentaa, koska reitittimet voivat kirjoittaa ne uudelleen, joten protokolla nollaa ne ennen tarkistuksen laskemista. Kaikki, mikä kirjoittaa osoitteita uudelleen, rikkoo siis laskennan, ei vain käytännön.

NAT muuttaa valinnan rajoitukseksi

Osoitteen kääntö kirjoittaa uudelleen sen IP-otsakkeen lähteen tai kohteen, jonka AH juuri todensi, joten eheystarkistus epäonnistuu kaukopäässä, ja se epäonnistuu protokollavirheenä eikä luettavana viestinä. ESP ei todenta ulompaa otsaketta, siksi ESP NAT:n läpäisyllä toimii ja AH NAT:n takana ei. Tunneli, jonka molemmat päät ovat tavallisten reitittimien takana, on juuri se paikka, jossa tämä näkyy ensin. Ensimmäinen kysymys ei siis ole, kumpi protokolla on vahvempi, vaan onko päiden välissä kääntäjä.

Jos on, AH putoaa pois, ja keskustelu siirtyy ESP:hen ja sen algoritmivalintoihin. Tämä on rajoitus eikä mieltymys, siksi se kuuluu päätöksen alkuun eikä loppuun.

Tila moninkertaistaa kysymyksen

ESP kuljetustilassa suojaa ylemmän kerroksen hyötykuorman ja jättää IP-otsakkeen rauhaan; tunnelitilassa se kapseloi koko sisäisen paketin, mukaan lukien sisäisen IP-otsakkeen, ja suojaa sen. AH:lla on samat kaksi tilaa, joten AH tai ESP on oikeastaan neljä yhdistelmää ennen minkään algoritmin valintaa.

Yhdistetyn tilan ESP-algoritmit ratkaisevat sitten eheyden ilman toista protokollaa. AES-GCM ja ChaCha20-Poly1305 todentavat ja salaavat yhdessä rakenteessa, joten AH:n lisääminen päälle ei osta mitään mutta maksaa yhden otsakkeen ja yhden neuvottelun lisää. Arkkitehtuuri sallii AH:n ja ESP:n yhdessä, ja käytännön kysymys on tukevatko yhdyskäytäväsi ja versiosi yhdistelmää ja voiko joku ylläpitää sitä myöhemmin.

Rehellinen korvaaja pelkälle AH:lle

Vain eheyden ESP-variantti säilyttää algoritmin ja luopuu salausväitteestä sen teeskentelemisen sijaan, ja se läpäisee NAT:n. Jos perinteinen suunnittelu käytti AH:ta, koska tarvittiin todentamista ilman luottamuksellisuutta, tämä variantti on suora käännös, ei salattu tunneli, johon on liitetty huomautus.

ESP:n näkeminen ehdotuksessa ei sekään todista salausta. Lue salausalgoritmi: NULL-merkintä tarkoittaa vain eheyttä ja yhdistetyn tilan merkintä molempia.

Ratkaise kolmella kysymyksellä

Kysy, tarvitaanko luottamuksellisuutta, onko polulla kääntäjä ja mitkä otsakekentät on todennettava. Nämä kolme vastausta osoittavat yhteen protokollaan ja yhteen tilaan, ja niiden kirjoittaminen vie vähemmän aikaa kuin RFC:ien lukeminen uudelleen myöhemmin.

Varmista sitten, mitä hyväksyttiin, älä sitä, mitä ehdotettiin. ip xfrm state näyttää asennetun assosiaation protokollan, tilan ja algoritmit, ja ristiriita ei asenna mitään, mikä on siistimpi epäonnistuminen kuin tunneli, joka nousee ilman aiottua suojausta.

Pidä todennusvirheet, valitsimien kattavuus ja reititysvirheet erillään tästä valinnasta. Ne tuottavat erilaisia oireita, ja protokollan syyttäminen valitsinongelmasta on luotettava tapa viettää päivä hasheja syyttä vaihdellen.

Aiheeseen liittyvät artikkelit