Sigurnost TcpIp stacka u autoindustriji

share

O projektu

Cilj ovog projekta je razvijanje, testiranje i održavanje TcpIp stacka za automotive tvrtku koja se bavi razvijanjem softwarea prema AUTOSAR standardu i jedan je od modula iz njihovog složenog sustava komunikacije. Zadatak tima je unaprjeđenje modula za korištenje autentifikacije i enkripcije u svrhu zaštite podataka.

Problem

Činjenica je da na internetu svatko može primiti bilo koji paket. Bez određenih mjera takav sustav sklon je manipulacijama. Primatelj na kojeg nismo računali može primiti poruku, izmijeniti njen sadržaj i proslijediti je drugim primateljima i to na štetu izvornog pošiljatelja/primatelja te za ostvarenje vlastite koristi. Ipak kako bi se to otežalo implementiraju se razne mjere. Klijent koristi Internet Protocol (IP) za komunikaciju i definirana su dva su glavna zahtjeva za sustav. 1. Prvo, primatelj mora primiti identični paket onome od pošiljatelja. 2. Drugo, trećoj stranci koja je primila poruku njen sadržaj treba biti tajna, odnosno samo bi namijenjeni primatelj trebao biti u mogućnosti razumjeti ga. Kao mjera zaštite poruka odabrani su protokoli IPSec i IKE. IKE (Internet Key Exchange) služi za razmjenu tajnih ključeva koji su temelj Ipsec-a i kao takav je neizostavan dio sustava.

 TCPIP stack

Rješenje i tehnologija koja se koristi

Ipsec se dijeli na dva načina rada i dva protokola koja se mogu koristiti. Tunnel  i Transport način rada te AH (Authentication Header) i ESP (Encapsulating Security Payload) protokole. Transport način rada pruža zaštitu podataka iza osnovnih IP polja (eng. IP header), odnosno TCP/UDP sadržaja dok tunnel način rada ide korak dalje te štiti i samo IP polje. To se postiže dodavanjem novog eksternog IP polja. AH (Authentication Header) protokol pruža autentifikaciju izvorne poruke i njen integritet te također pruža mogućnost konfiguracije AntiReplay funkcionalnosti u svrhu odbacivanja zlonamjernih i dupliciranih poruka. ESP (Encapsulating Security Payload), osim što pruža sve što i AH, uz to osigurava i povjerljivost podataka, odnosno enkriptira sadržaj poruke.

OPIS SHEME: IPSec protokoli - nezaštićeni paket (gore), paket zaštićen u transportnom načinu (sredina) i u načinu tunela (dolje)

 Ipsec protokoli

IPSec može raditi u ručnom ili automatskom režimu održavanja ključeva. U prvom slučaju ključ se konfigurira jednom i ostaje nepromijenjen, dok u drugom slučaju imamo odvojenu komunikaciju koja prema potrebi razmjeni tajni ključ s drugom stranom. Ovdje kao nadopuna Ipsec-u u priču dolazi najnovija IKE 2.0 verzija. Prvo i osnovno potrebno je uspostaviti IKE vezu, odnosno osigurati IPSec-u parametre za zaštitu u obliku tzv. child SA-a (child security associationa). Veza se uspostavlja osnovnom razmjenom (initial exchange) koja se sastoji od nekoliko zahtjeva i odgovora, tzv. INIT i AUTH parova poruka. Kada je potrebno obnoviti ključ, a u tijeku je postojeća IKE veza, tada se razmjenjuje nekoliko CREATE_CHILD_SA poruka. Dodatan tip poruka je INFORMATIONAL (obavještavanje o greškama tijekom razmjena poruka ili promjenama u konfiguraciji). IKE poruke su i same zaštićene (autentikacija i enkripcija) te ima mogućnost korištenja ključeva ili certifikata u tu svrhu.

OPIS SHEME: Razmjena IKE poruka, osnovna razmjena (Initial Exchange)  te naknadne poruke nakon postavljanja veze (Create_Child_SA ili Informational)

 Razmjena ike poruka

U svrhu razvoja i testiranja primarno je potrebno poznavanje C jezika, s naglaskom na primjenu u Embedded okruženju. Dodatni alati koji se koriste su Cygwin, Xpath, Python, Jira, Jenkins, Matlab Polyspace, SVN i Enterprise Architect.

Rezultati i ishodi

  • Isporuka pouzdanog, učinkovitog i testiranog sustava klijentu u potpunosti kompatibilnog i modularnog s njihovom postojećom implementacijom i specifičnim zahtjevima.
  • Dodatno osiguranje za buduću suradnju s klijentom i njeno daljnje proširenje.