|  | 

Segger emBoot Secure

Panoramica

emBoot-Secure è la soluzione di SEGGER conforme al Cyber Resilience Act (CRA) per aggiornamenti firmware sicuri e verificabili su dispositivi embedded. Questo approccio end-to-end protegge i dispositivi da modifiche non autorizzate del firmware, furto di proprietà intellettuale e clonazione. Garantisce che venga installato solo firmware autentico e approvato dal produttore, utilizzando un’architettura crittografica a chiave pubblica che mantiene la chiave privata sempre protetta.

Nel contesto del Cyber Resilience Act (CRA) dell’UE, la possibilità di effettuare aggiornamenti sicuri è un requisito fondamentale per i moderni sistemi embedded. emBoot-Secure fornisce una base robusta per soddisfare queste richieste normative, proteggendo i dispositivi durante l’intero ciclo di vita, dalla produzione all’operatività a lungo termine sul campo.

Caratteristiche principali

  • Autenticità del firmware tramite firme digitali: Tutti gli aggiornamenti sono firmati digitalmente con moderni algoritmi crittografici. I dispositivi verificano la firma prima dell’installazione, garantendo l’integrità del firmware e rilevando manipolazioni.
  • Pacchetti di aggiornamento protetti, compressi e cifrati: I pacchetti vengono compressi per ridurre le dimensioni del trasferimento e crittografati per impedirne l’ispezione o il reverse engineering durante la distribuzione.
  • Integrazione fluida nei workflow di produzione: emBoot-Secure si integra nei processi di build esistenti. Il Signature Server funge da componente hardware dedicato per la firma, custodendo la chiave privata senza interrompere i flussi di sviluppo.

Casi d’uso

Aggiornamenti firmware sicuri per dispositivi consumer

emBoot-Secure utilizza algoritmi crittograficamente sicuri anziché semplici checksum. Il bootloader verifica l’integrità del firmware prima dell’esecuzione e non avvia software modificato. Opzionalmente, è possibile installare automaticamente un firmware di ripristino (recovery) se viene rilevata una manipolazione.

Aggiornamenti firmware sicuri in ambienti industriali

Ideale per dispositivi con connettività limitata o assente. Gli aggiornamenti possono essere distribuiti tramite metodi che richiedono accesso fisico, come chiavi USB o schede SD, garantendo che solo il firmware autenticato venga installato nel rispetto delle rigorose politiche di sicurezza industriali.


Come funziona emBoot-Secure

1. Generazione delle chiavi

Viene creata una coppia di chiavi pubblica-privata durante la configurazione iniziale.

  • SEGGER Signature Server (consigliato): La chiave privata viene generata e conservata nel server. Non abbandona mai questo ambiente protetto.
  • SEGGER KeyGen: La coppia di chiavi viene generata su un PC locale. La chiave privata può essere successivamente importata nel Signature Server o conservata in una cassaforte fisica (es. in banca).

2. Firma e creazione del pacchetto (Firmware Packager)

Il Firmware Packager prepara l’aggiornamento in un unico passaggio controllato: calcola l’hash crittografico del firmware e lo invia al Signature Server, che genera la firma digitale. Il Packager crea quindi il file finale, opzionalmente comprimendolo e cifrandolo.

3. Trasferimento del firmware

Il pacchetto viene consegnato al dispositivo tramite qualsiasi canale (Wi-Fi, Bluetooth, Ethernet, USB, SD card o CAN). L’applicazione lo memorizza nella memoria non volatile fino al riavvio successivo.

4. Processo di aggiornamento

Il bootloader emBoot-Secure gestisce l’intero processo al riavvio:

  • Se è presente un aggiornamento: Il bootloader lo decifra, lo decomprime, verifica firma e versione, quindi procede all’installazione.
  • Se non è presente un aggiornamento: Il bootloader verifica la firma del firmware esistente prima di avviarlo o ripristina un’immagine di recovery se necessario.

Algoritmi supportati

FunzioneAlgoritmi
FirmaRSA fino a 8192 bit, ECDSA fino a 521 bit (secp521r1)
HashSHA 1/256/384/512
CifraturaAES-128 .. 256
CompressioneSMASH-2, LZMA

Articoli simili

  •  |  | 

    Segger embOS

    Panoramica embOS è una famiglia di sistemi operativi in tempo reale (RTOS) progettata come base per lo sviluppo di applicazioni embedded. Giunto al suo quarto decennio di utilizzo e perfezionamento continuo, embOS offre l’affidabilità e le prestazioni che sostengono il firmware di ogni SEGGER Flasher, J-Link e J-Trace. Distribuito in miliardi di dispositivi in un’ampia…

  •  | 

    Segger Flasher ATE (gang)

    A differenza della programmazione di singoli dispositivi, la programmazione gang è un metodo altamente efficiente utilizzato nella produzione elettronica per programmare più dispositivi simultaneamente. Questo approccio è particolarmente vantaggioso in contesti in cui grandi quantità di microcontrollori o altri dispositivi programmabili devono essere configurati in modo rapido e accurato. Riducendo significativamente il tempo totale di…

  •  |  | 

    Segger emFloat

    Sviluppato e perfezionato per oltre due decenni, emFloat è un componente altamente ottimizzato di emRun (la libreria runtime C di SEGGER) ed è parte integrante di SEGGER Embedded Studio. Progettato per essere “plug-and-play”, emFloat può sostituire la libreria a virgola mobile predefinita, offrendo prestazioni superiori con meno codice. Estremamente veloce e compatto, garantisce prestazioni simili…

  •  |  | 

    Segger emRun++

    emRun++ è una libreria standard C++ completa, utilizzabile con qualsiasi toolchain. È stata specificamente ottimizzata per sistemi e applicazioni embedded. In quanto linguaggio di programmazione moderno, il C++ sta diventando sempre più importante nel settore embedded, offrendo agli sviluppatori opzioni sempre più vaste. Con questo obiettivo, emRun++ viene costantemente aggiornata per soddisfare i più moderni…

  •  |  | 

    Segger emMQTT

    Panoramica Il Message Queuing Telemetry Transport (MQTT) è un protocollo di trasporto messaggi di tipo publish/subscribe (pubblica/iscriviti) progettato per funzionare sopra il protocollo TCP/IP. È semplice, leggero e aperto. Queste caratteristiche lo rendono ideale per molteplici situazioni, inclusi gli ambienti con risorse limitate come la comunicazione Machine to Machine (M2M) e i contesti Internet of…

  •  | 

    Segger Flasher

    La programmazione a singola unità consiste nel caricamento del software su un unico microcontrollore o processore dedicato all’interno di un sistema più ampio. La famiglia di programmatori Flasher di SEGGER per unità singole include i modelli Flasher Pro, Pro XL, Compact e Portable PLUS. Questi strumenti universali per la programmazione in-system (ISP) offrono una programmazione…