IPSec
IPSec Internetprotokoll biztonsága Hálózati réteg internetprotokolljához kapcsolódik (IPv4, IPv6) Tűzfal, router Célja: Hitelesség ( adateredet hitelesítése, adatintegritás biztosítása ) Titkosság Kulcsmenedzsment
Biztonsági protokollok I. Authentication Header (AH) Feladata a hitelesítés Encapsulation Security Payload (ESP) Feladata a hitelesítés és/vagy a titkosítás Két eset: hitelesítéssel vagy hitelesítés nélkül Mind az AH, mind az ESP a hozzáférés menedzsment eszköze, mely az alkalmazott kulcscsere protokollokon alapszik Mind az AH, mind az ESP védettséget biztosít a visszajátszásos támadással szemben
Biztonsági protokollok II. Security Associations (SA) biztosítja az AH és ESP működéséhez szükséges paramétereket Internet Key Exchange (IKE), The Internet Security Association and Key Management Protocol (ISAKMP), Oakley protokoll egyirányú kapcsolat: küldő - > fogadó ha kétirányú kapcsolatra van igény, akkor két SA szükséges
Működési módok Transport és Tunnel mód AH és ESP is támogatja mindkét módot Transport mód: end-to-end kommunikáció két host között (pl. kliens-szerver, vagy két munkaállomás) Tunnel mód: kommunikáció két network között
Transport mód
Transport mód A kapcsolat résztvevői kizárólag a végpontok ESP esetén: Az IP payload kerül titkosításra és talán hitelesítésre, az IP fejléc nem AH esetén: Az IP payload kerül hitelesítésre, valamint az IP fejléc bizonyos részei Forgalomelemzés jellegű támadásokal szemben érzékeny Néhány bájtot ad hozzá minden csomaghoz
Tunnel mód
Tunnel mód A két végpont egy IPSec átjáró (pl. tűzfal vagy router) A tűzfal mögött levő munkaállomások nem feltétlenül ismerik az IPSec A munkaállomások legenerálják a nyílt csomagokat, majd az IPSec átjárók által létrehozott tunnel-en keresztül biztonságosan eljuttatják a fogadó félnek.
Tunnel mód Az egész IP csomag védelmét biztosítja AH vagy ESP mezők hozzáadódnak az IP csomaghoz -> külső IP csomag IP payload adatsora lesz, melyhez elkészül egy új, külső IP fejléc A belső fejléc és payload rejtett a transzfer során A külső fejlécben teljesen más küldő és fogadó cím szerepel Védett a forgalomelemzéssel szemben
Tunnel mód ESP esetén: titkosítja és talán hitelesíti az egész IP csomagot, a fejlécet is beleértve AH esetén: hitelesíti az egész IP csomagot, és a külső fejléc bizonyos részeit
Működési módok Transport mód Tunnel mód AH IP payload, IP fejléc és IPv6 kiegészítő fejléc bizonyos részeinek hitelesítése Egész belső IP csomag, IP és IPv6 fejléc bizonyos részeinek hitelesítése ESP IP payload és az ESP fejlécet követő IPv6 kiegészítő fejléce kerül titkosításra Egész belső csomag titkosításra kerül ESP hitelesítéssel IP payload és az ESP fejlécet követő IPv6 kiegészítő fejléce kerül titkosításra , IP payload hitelesítése, de az IP fejléc nincs hitelesítve Titkosítja és hitelesíti az egész belső IP csomagot
Authentication Header Hitelesítés : Adatintegritás Felhasználó vagy alkalmazás hitelesítése Véd a megszemélyesítéses támadással (spoofing attack) szemben Véd a visszajátszásos támadással (replay attack) szemben A hitelesítés MAC-en alapul
Authentication Header
Authentication Header Next Header (8 bit): a következő fejléc típusa Payload length (8 bit): AH hossza Reserved (16 bit): későbbi felhasználásra SPI (32 bit): SA azonosítója Sequence Number (32 bit): monoton növekvő sorozatszám (véd a visszajátszásos támadással szemben) Authentication data (változó): csomaghoz tartozó Integrity Check Value (ICV) vagy MAC
AH - Message Authentication Code HMAC (K,m) = H((K ⊕ opad) ∥ H((K ⊕ ipad) ∥ m)) opad: outer padding (0x5c5c5c…5c5c konstans) ipad: inner padding (0x363636…3636 konstans) Pl: HMAC-MD5-96, HMAC-SHA-1-96 Az első 96 bitje szükséges a hash értékeknek
Encapsulation Security Payload
Encapsulation Security Payload Security Parameter Index (32 bit): SA azonosítója Sequence Number (32 bits): monoton növekvő sorozatszám Payload Data (változó): titkosított adat Padding: kitöltés Pad length: a kitöltés hossza Next Header: a payload első fejléce Authentication Data (változó) : Integrity Check Value az ESP csomagra vonatkozóan az Authentication Data kivételével.
Encapsulation Security Payload – Titkosítás, Hitelesítés Payload Data, Padding, Pad Length, Next Header mezők kerülnek titkosításra Ha szükséges kezdeti vektor, akkor az vagy nyíltan a Payload Data első néhány bitje, vagy része a titkosított üzenetnek. Titkosítási algoritmusok: Three-key triple DES RC5 IDEA Three-key triple IDEA CAST Blowfish HMAC-MD5-96, HMAC-SHA-1-96
Kulcscsere protokollok Titkos kulcsok cseréje (4 kulcsra van szükség) Internet Key Exchange (IKE) két fő része: Oakley Key Determination Protocol (Diffie-Hellman alapú) Internet Security Association and Key Management Protocol (ISAKMP) (keretrendszert biztosít, eljárások és csomagformátumok definiálása)
Oakley protokoll Cookie-k használata (clogging attack ellen) Clogging attack (Terheléses támadás): Támadó sok kulcsot kér . Az áldozat a kulcsok legenerálásával foglalkozik. Véletlenek (cookie-k) kicserélése, mint első üzenetek, a másik fél jóváhagyja. A kulcscsere elején újra jóváhagyja. Így legfeljebb a cookie elfogadását lehet kérni, nem a lassú Diffie-Hellman számítást.
Oakley protokoll Cookie-k generálása: A cookie függ a résztvevőktől. Cél: A támadó ne tudjon olyan cookie-t generálni, melyet a másik elfogad. A küldő felhasznál egy titkos értéket. Javasolt módszer: Küldő és fogadó fél IP címének, UDP portok és lokális titkos értékek Hash értéke Nonce-k használata (replay attack ellen) Megjelennek a válaszüzenetekben titkosítva
Oakley protokoll Hitelesítés (Man-in-the middle ellen) Digitális aláírások: Nonce-k és azonosítók hash értékének aláírása Szimmetrikus titkosítás: előre kicserélt titkos kulccsal titkosítja a kicserélt paramétereket
Oakley protokoll példa