AH ali ESP? Odločite se glede na to, kaj mora paket zaščititi
AH preverja večji del paketa in ničesar ne šifrira; ESP lahko šifrira in preverja. Izberite glede na polja, ki jih morate zaščititi, nato se dogovorite o načinu.
Dva predloga IPsec lahko navedeta isti algoritem celovitosti, ki temelji na SHA, pa vseeno zahtevata različna zaščitna protokola; AH in ESP nista dva zapisa ene nastavitve preverjanja pristnosti. Najprej preberite protokol, nato njegove algoritme, nato njegov način, in večina nejasnosti izgine. AH preverja paket, vključno s polji glave IP, ki na poti ostanejo nespremenjena, medtem ko ESP preverja in šifrira to, kar zapakira, in zunanjo glavo pusti pri miru. Prav ta razlika odloči o več uvedbah kot katero koli ime zgoščevalne funkcije.
Kaj AH pokriva in ESP ne
AH zagotavlja celovitost, preverjanje izvora podatkov in storitev za zaščito pred ponavljanjem, ki jo sam določi, ter nobene zaupnosti. Njegovo pokritje vključuje podatke višjega sloja in polja glave IP, ki jih njegova pravila štejejo za nespremenljiva, natanko tisti del, ki ga ESP v transportnem načinu pusti zunaj. Ko zahteva pravi, da je treba preveriti samo glavo IP, je AH protokol, ki na to odgovori.
To pokritje je tudi razlog, da je AH v praksi krhek. Spremenljivih polj, kot so TTL, kontrolna vsota glave in nekatere možnosti, ni mogoče preveriti, ker jih usmerjevalniki lahko prepišejo, zato jih protokol pred izračunom preverjanja postavi na nič. Zato vse, kar prepiše naslove, pokvari izračun in ne le politike.
NAT spremeni izbiro v omejitev
Prevod naslovov prepiše vir ali cilj v glavi IP, ki jo je AH pravkar preveril, zato preverjanje celovitosti spodleti na drugem koncu, in spodleti kot protokolna napaka in ne kot berljivo sporočilo. ESP ne preverja zunanje glave, zato ESP s prehodom skozi NAT deluje, AH za NAT pa ne. Tunel, katerega obe strani sta za običajnimi usmerjevalniki, je natanko mesto, kjer se to pojavi najprej. Zato prvo vprašanje ni, kateri protokol je močnejši, ampak ali je med stranema prevajalnik.
Če je, AH odpade, in pogovor se preseli k ESP in njegovi izbiri algoritmov. To je omejitev in ne preference, zato spada na začetek odločitve in ne na konec.
Način pomnoži vprašanje
ESP v transportnem načinu ščiti koristno obremenitev višjega sloja in pusti glavo IP pri miru; v tunelskem načinu zapakira celoten notranji paket, vključno z notranjo glavo IP, in ga zaščiti. AH ima enaka dva načina, zato sta AH ali ESP v resnici štiri kombinacije, preden se izbere kateri koli algoritem.
Algoritmi ESP v kombiniranem načinu nato rešijo celovitost brez drugega protokola. AES-GCM in ChaCha20-Poly1305 preverjata in šifrirata v eni zgradbi, zato dodajanje AH na vrh ne kupi ničesar, stane pa še eno glavo in še eno pogajanje. Arhitektura dovoli AH in ESP skupaj, in praktično vprašanje je ali vaš prehod in vaša izdaja podpirata kombinacijo in ali jo bo kdo pozneje lahko vzdrževal.
Poštena zamenjava za samo AH
Različica ESP samo s celovitostjo ohrani algoritem in se odpove trditvi o šifriranju, namesto da bi jo hlinila, in gre skozi NAT. Če je starejša zasnova uporabljala AH, ker je potrebovala preverjanje brez zaupnosti, je ta različica neposreden prevod, ne pa šifriran tunel s priloženo opombo.
Videti ESP v predlogu tudi ni dokaz šifriranja. Preberite algoritem šifriranja: vnos NULL pomeni samo celovitost, vnos kombiniranega načina pa oboje.
Odločite se s tremi vprašanji
Vprašajte, ali je zaupnost potrebna, ali je na poti prevajalnik in katera polja glave je treba preveriti. Ti trije odgovori kažejo na en protokol in en način, in zapisati jih je manj časa kot pozneje znova brati RFC.
Nato preverite, kaj je bilo sprejeto, in ne, kaj je bilo predlagano. ip xfrm state pokaže protokol, način in algoritme nameščene povezave, in neskladje ne namesti ničesar, kar je čistejša napaka kot tunel, ki se dvigne brez predvidene zaščite.
Napake preverjanja pristnosti, pokritost selektorjev in usmerjevalne napake imejte ločeno od te izbire. Dajejo različne simptome, in kriviti protokol za težavo s selektorjem je zanesljiv način, da preživite dan z menjavo zgoščevalnih funkcij brez razloga.