AH ili ESP? Odlučite prema tome što paket mora zaštititi
AH provjerava veći dio paketa i ništa ne šifrira; ESP može šifrirati i provjeravati. Odaberite prema poljima koja morate zaštititi, pa se dogovorite o načinu rada.
Dva IPsec prijedloga mogu navesti isti algoritam integriteta zasnovan na SHA, a ipak tražiti različite protokole zaštite; AH i ESP nisu dva pravopisa jedne postavke autentifikacije. Prvo pročitajte protokol, zatim njegove algoritme, zatim njegov način rada, i većina nejasnoća nestaje. AH provjerava paket, uključujući polja IP zaglavlja koja ostaju nepromijenjena na putu, dok ESP provjerava i šifrira ono što inkapsulira i ostavlja vanjsko zaglavlje na miru. Ta razlika odlučuje o više implementacija nego bilo koje ime hasha.
Što AH pokriva, a ESP ne
AH pruža integritet, autentifikaciju podrijetla podataka i uslugu zaštite od ponavljanja koju sam definira, i nikakvu povjerljivost. Njegov obuhvat uključuje podatke gornjeg sloja i polja IP zaglavlja koja njegova pravila smatraju nepromjenjivima, točno ono što ESP u transportnom načinu ostavlja izvan. Kad zahtjev kaže da se samo IP zaglavlje mora autentificirati, AH je protokol koji na to odgovara.
Taj obuhvat je i razlog zašto je AH krhak u praksi. Promjenjiva polja poput TTL-a, kontrolne sume zaglavlja i nekih opcija ne mogu se autentificirati jer ih usmjerivači mogu prepisati, pa ih protokol nulira prije izračuna provjere. Zato sve što prepisuje adrese kvari izračun, a ne samo politiku.
NAT pretvara izbor u ograničenje
Prevođenje adresa prepisuje izvor ili odredište u IP zaglavlju koje je AH upravo autentificirao, pa provjera integriteta pada na udaljenoj strani, i pada kao greška protokola, a ne kao poruka koju možete pročitati. ESP ne autentificira vanjsko zaglavlje, zato ESP s prolaskom kroz NAT radi, a AH iza NAT-a ne. Tunel čije su obje strane iza običnih usmjerivača upravo je mjesto gdje se to prvo pojavi. Zato prvo pitanje nije koji je protokol jači, nego postoji li prevoditelj između strana.
Ako postoji, AH ispada, a razgovor prelazi na ESP i njegov izbor algoritama. To je ograničenje, a ne sklonost, zato mu je mjesto na vrhu odluke, a ne na kraju.
Način rada umnožava pitanje
ESP u transportnom načinu štiti teret gornjeg sloja i ne dira IP zaglavlje; u tunelskom načinu inkapsulira cijeli unutarnji paket, uključujući unutarnje IP zaglavlje, i štiti ga. AH ima ista dva načina, pa je AH ili ESP zapravo četiri kombinacije prije nego što se odabere bilo koji algoritam.
Algoritmi ESP u kombiniranom načinu zatim rješavaju integritet bez drugog protokola. AES-GCM i ChaCha20-Poly1305 autentificiraju i šifriraju u jednoj konstrukciji, pa dodavanje AH-a odozgo ne kupuje ništa, ali košta još jedno zaglavlje i još jedno pregovaranje. Arhitektura dopušta AH i ESP zajedno, a praktično pitanje je podržavaju li vaš pristupnik i vaše izdanje tu kombinaciju i može li je netko poslije održavati.
Iskrena zamjena za samo AH
Varijanta ESP samo s integritetom zadržava algoritam i odriče se tvrdnje o šifriranju umjesto da je glumi, i prolazi kroz NAT. Ako je naslijeđeni dizajn koristio AH jer je trebala autentifikacija bez povjerljivosti, ta je varijanta izravan prijevod, a ne šifrirani tunel s priloženom napomenom.
Vidjeti ESP u prijedlogu također nije dokaz šifriranja. Pročitajte algoritam šifriranja: unos NULL znači samo integritet, a unos kombiniranog načina znači oboje.
Odlučite u tri pitanja
Pitajte je li povjerljivost potrebna, postoji li prevoditelj na putu i koja se polja zaglavlja moraju autentificirati. Ta tri odgovora pokazuju na jedan protokol i jedan način, a zapisati ih traje manje vremena nego kasnije ponovno čitati RFC-ove.
Zatim provjerite što je prihvaćeno, a ne što je predloženo. ip xfrm state pokazuje protokol, način i algoritme instalirane asocijacije, a neusklađenost ne instalira ništa, što je čišći neuspjeh od tunela koji se podigne bez zaštite koju ste namjeravali.
Držite neuspjehe autentifikacije, pokrivenost selektora i pogreške usmjeravanja odvojeno od ovog izbora. Oni daju različite simptome, a kriviti protokol za problem selektora pouzdan je način da provedete dan mijenjajući hasheve bez razloga.