Assicurare la sicurezza e l’autenticità dei firmware è fondamentale nel panorama tecnologico odierno, specialmente considerando l’ampia diffusione di dispositivi elettronici embedded.
I nostri clienti ci chiedono soluzioni affidabili e sicure, e soprattutto negli ultimi anni, è aumentata considerevolmente la sensibilità sul tema della cybersecurity. Ma come facciamo a garantire che il firmware caricato sui nostri prodotti sia autentico?
La firma digitale è un metodo di autenticazione che utilizza un certificato digitale e un sistema di chiavi crittografiche per garantire l’autenticità e l’integrità di un documento informatico, o in questo caso, un firmware in formato binario. Il processo di firma impiega algoritmi di crittografia asimmetrica per creare una firma univoca e associarla al firmware. Un esempio di algoritmo utilizzato è RSA 2048, noto per la sua robustezza e affidabilità.
Il processo inizia con la generazione di una coppia di chiavi, una pubblica e una privata, tramite l’algoritmo RSA. La chiave privata è strettamente custodita, generalmente dal cliente, mentre la chiave pubblica è distribuita ai fornitori e caricata sulle schede elettroniche. Quando si genera il firmware viene calcolata una stringa, definita hash, che riassume e descrive unicamente il codice. L’hash é calcolato utilizzando algoritmi standard come ad esempio SHA-256. Successivamente, l’hash viene firmato digitalmente utilizzando la chiave privata e creando così la firma digitale.
Il software è ora firmato digitalmente e viene quindi distribuito e caricato sulle schede. Il processo di autenticazione avviene ad ogni fase di avvio e di aggiornamento del prodotto. La firma viene verificata utilizzando la chiave pubblica ottenendo lo stesso hash calcolato durante il processo di firma. Se l’hash ottenuto dalla firma corrisponde all’hash del firmware calcolato, possiamo confermare l’autenticità e l’integrità del software.
I prodotti e le soluzioni sviluppate da EMA Global Engineering seguono un processo di Security-by-Design, in cui hardware e software sono progettati per mitigare i security goals definiti insieme al cliente. La cybersecurity in ambito embedded è parte integrante del nostro impegno per offrire prodotti di alta qualità ai nostri clienti.