Categoria: Firmware

  • 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
  • Segger emFile

    Panoramica
    emFile è un file system che consente alle applicazioni e ai sistemi embedded di archiviare dati in modo sicuro e affidabile su ogni tipo di dispositivo di memoria. Essendo indipendente rispetto all’hardware, può essere eseguito su qualsiasi target a 16, 32 o 64 bit per il quale sia disponibile un compilatore; inoltre, è supportata la maggior parte dei target a 8 bit.

    Sono disponibili driver pronti all’uso per flash NAND e NOR, schede SD, SDHC, SDXC e MMC, dispositivi di archiviazione e.MMC e chiavette USB. emFile include il supporto per i file system exFAT, FAT12, 16 e 32, oltre a BigFat e al sistema proprietario EFS (Embedded File System) di SEGGER, progettato specificamente per soddisfare i requisiti delle moderne applicazioni embedded.

    Caratteristiche principali
    La libreria emFile è il risultato di quasi trent’anni di sviluppo continuo. Distribuita su centinaia di milioni di dispositivi in tutto il mondo, offre funzionalità avanzate su cui gli sviluppatori possono fare pieno affidamento:

    Protezione Fail-safe: emFile è un sistema robusto che rende quasi impossibile la corruzione del file system. I dati godono della massima protezione in caso di interruzione imprevista dell’alimentazione o guasto del dispositivo.

    Sicurezza dei dati: Supporta la crittografia per i singoli file o per l’intero dispositivo di memoria. È essenziale per proteggere le informazioni su memorie NAND, NOR e schede SD/MMC.

    Flessibilità di archiviazione: Lo strato di astrazione di emFile trasforma operazioni complesse in accessi alla memoria semplici e affidabili. Supporta configurazioni RAID 1 e RAID 5 direttamente sul livello di storage.

    Casi d’uso e Struttura Software
    emFile è organizzato in 5 livelli (API, File-system, Storage, Device e Hardware) ed è progettato pensando alla sicurezza. Tutte le operazioni di accesso sono atomiche, garantendo la coerenza dei dati anche in caso di interruzioni per guasto.

    Componenti avanzati
    Journaling: Un componente aggiuntivo che registra tutte le modifiche prima che vengano confermate nel file system principale, garantendo la coerenza dei dati scritti di recente.

    RAID 1 e 5: Massima integrità dei dati tramite mirroring (RAID 1) o distribuzione con parità (RAID 5) per proteggere il sistema da difetti fisici dei dispositivi di memoria.

    Driver Flash ottimizzati: Include driver specifici per NAND (SLC e universali) e NOR (mappatura a blocchi o a settori) per una gestione efficiente della vita dei supporti flash.

    Funzionalità aggiuntive
    exFAT®: Implementazione specializzata di Microsoft exFAT ottimizzata per sistemi embedded.

    BigFAT: Consente l’archiviazione di file di dimensioni pari o superiori a 4 GB su unità formattate FAT, mantenendo la piena compatibilità con lo standard.

    Image Creator per la produzione

    Strumenti (Storage Image Creator FAT, NAND/NOR Image Creator) per convertire la struttura dei file del PC in un file binario pronto per la scrittura di massa tramite programmatori come la serie SEGGER Flasher, riducendo errori e passaggi ripetitivi in produzione.

    Prestazioni e Risorse
    Benchmark: emFile include codice di benchmark per misurare le prestazioni effettive sui target degli utenti (velocità di lettura/scrittura).

    Utilizzo risorse: Progettato specificamente per dispositivi con risorse limitate; le funzionalità possono essere incluse o escluse dalla compilazione per adattare il sistema ai requisiti di memoria e design.

    Licenze
    Modello Commerciale: Disponibile tramite pagamento unico (una tantum), royalty-free e senza abbonamenti. La licenza include sei mesi di aggiornamenti e supporto prioritario.

    Friendly License (SFL): emFile è disponibile gratuitamente per scopi non commerciali, di valutazione e didattici. In questa modalità, il prodotto è completamente funzionale e privo di limitazioni tecniche.