O PROJEKTU

Sigurnost je ključna tema u različitim sektorima, a u automobilskoj industriji dobiva poseban značaj zbog utjecaja na sigurnost putnika, drugih sudionika u prometu i samih vozila. U ovom kontekstu, naš klijent, vodeća kompanija u razvoju softverskih rješenja za autoindustriju, integrira funkcionalnosti koje su visoko zahtijevane u tom sektoru. Konkretno, implementira Media Access Control Security (MACsec) i MACsec Key Agreement (MKA) protokole u AUTOSAR stog kako bi osigurali sigurnu komunikacijsku vezu. Ova tehnologija omogućava enkripciju podataka na Ethernet paketima, što osigurava povjerljivost, integritet i autentifikaciju podataka na MAC razini.

Time se osigurava da čak i neovlašteni fizički pristup vozilu više nije dovoljan za promjenu parametara u autu, pružajući krajnjem korisniku visoku razinu zaštite. Osim toga, primjenom sigurnosti na MAC razini, mogu se zaštititi i protokoli koji nisu bazirani na IP-u te oni koji koriste multicast, čime se dodatno poboljšava integritet i sigurnost komunikacije u vozilu.

PROBLEM

U okviru AUTOSAR standarda, postoji podrška za nekoliko protokola namijenjenih uspostavi sigurnih komunikacijskih veza putem Ethernet-a, što uključuje IPsec, TLS i SecOC. Iako ovi protokoli osiguravaju vitalne aspekte sigurnosti poput povjerljivosti, integriteta i autentifikacije podataka, njihova primjena na višim slojevima mreže može stvoriti izazove u smislu potrošnje resursa i vremena potrebnog za pregovore prilikom uspostave sigurne veze, posebno s dodatkom novih čvorova.

Zadatak našeg tima je implementacija MACsec i MKA protokola u skladu s AUTOSAR standardima. Poseban naglasak stavljen je na MKA razmjenu ključeva, što je ključni aspekt u osiguravanju sigurne komunikacije. Također, dodatni zahtjev je da se inicijalizacija sigurne komunikacijske veze izvrši unutar 30 ms, suprotno standardnom vremenu od 2 sekunde prema IEEE standardima.

IZVEDBA PROJEKTA

U implementaciji MKA protokola, ključni koraci uključuju pronalaženje partnera unutar iste komunikacijske zajednice (CA) te izbor servera ključeva među komunikacijskim partnerima. Nakon toga, odabrani ključni server određuje parametre kriptografske zaštite (cipher suite). Prema IEEE 802.1X specifikaciji, implementacija sustava mora podržavati minimalno sljedeća 4 algoritma: GCM-AES-128, GCM-AES-256, GCM-AES-XPN-128, GCM-AES-XPN-256.

Glavni zadatak servera ključeva je generiranje i distribucija SAK ključa (Secure Association Key) koji se instalira u MACsec hardver svakog partnera komunikacijske zajednice, te služi krajnjoj zaštiti podataka na samom linku. Server ključeva periodički generira i distribuira novi SAK ključ (re-keying), čime se znatno povećava sigurnost cijelog sustava. Treba napomenuti da MKA protokol omogućava prelazak na novi ključ bez gubitaka Ethernet paketa. MKA poruke (MKPDU) nisu kriptirane, ali osiguravaju integritet podataka s pomoću ICV-a koji se nalazi na kraju svake poruke.

 Protocol-Version

Završetak MKA inicijalizacije događa se kada svi komunikacijski partneri imaju instaliran SAK u MAC hardveru, omogućujući sigurnu ethernet komunikaciju.

 Struktura-Ethernet-projekta

U procesu razvoja MKA modula, odlučili smo podijeliti modul u više jedinica kako bismo olakšali razvoj i održavanje sustava. Razdvajanjem modula na manje jedinice omogućuje se paralelno komuniciranje s mrežnim partnerima i generacija kriptografskih ključeva. Također, kripto jedinica MKA modula djeluje asinkrono kako kripto operacije ne bi usporavale ostale funkcionalnosti MKA protokola te bi se postigla brza razmjena poruka unutar zadanih 30 ms.

U razvoju ovog projekta koristili smo širok spektar tehnologija i alata kako bismo ispunili stroge zahtjeve klijenta i AUTOSAR platforme. Osim programskog jezika C, koristili smo i alate kao što su MISRA, HIS, Git, Enterprise Architect, Astree, Jira i Jenkins kako bismo osigurali kvalitetu i učinkovitost u svakom koraku razvoja.

 

Softverski inženjeri Igor Banović, Robert Ćulibrk i Darko Tominac prilikom predstavljanja projekta na MeetUPu u WESPA, Zagreb

 Banovic-Culibrk-i-Tominac-na-predstavjanju

TIM

Projekt razvoja sustava trajao je 2 godine, te je u cijelosti izveden od strane šest softverskih inženjera iz Globallogic Croatia, Maria Bosnara, Ivana Vugera, Matije Vučine, Darka Tominca, Roberta Ćulibrka i Igora Banovića. Unutar tima obavljene su sve razvojne faze projekta od definiranja arhitekture i dizajna, kodiranja i testiranja, do podrške krajnjim kupcima u integraciju sustava u automobile.

 

Softverski inženjeri Mario Bosnar i Ivan Vuger

 Mario-Bosnar-i-Ivan-Vuger

                      Opisani projekt ti zvuči izazovno? Želiš se pridružiti našem timu?
                      Provjeri trenutačno otvorena radna mjesta na stranici Karijere

  • URL copied!