X-CUBE-LOGO

Pacchettu di Software X-CUBE-STSE01

Pacchettu di Software X-CUBE-STSE (4)

Introduzione

Stu manuale d'usu descrive cumu principià cù u pacchettu di software X-CUBE-STSE01.
U pacchettu di software X-CUBE-STSE01 hè un cumpunente di software chì furnisce parechji codici di dimostrazione, chì utilizanu e caratteristiche di i dispositivi STSAFE-A110 è STSAFE-A120 da un microcontrollore host.
Questi codici di dimostrazione utilizanu u STSELib (middleware Secured Element) custruitu nantu à a tecnulugia di u software STM32Cube per facilità a purtabilità trà diversi microcontrollori STM32. Inoltre, hè agnosticu da MCU per a purtabilità à altri MCU.
Questi codici di dimostrazione illustranu e seguenti caratteristiche:

  • Autentificazione.
  • Archiviazione sicura di dati.
  • Contatore d'usu sicuru.
  • Abbinamentu.
  • Stabilimentu chjave.
  • Imballaggio di buste lucale.
  • Generazione di coppie di chjave.

infurmazione generale

  • U pacchettu di software X-CUBE-STSE01 hè una riferenza per integrà i servizii di elementi sicuri STSAFE-A110 è STSAFE-A120 in u sistema operativu (OS) di un MCU host è a so applicazione.
  • Cuntene i driver STSAFE-A110 è STSAFE-A120 è i codici di dimostrazione da eseguisce nantu à i microcontrollori STM32 à 32 bit basati nantu à u processore Arm® Cortex®-M.
  • Arm hè una marca registrata di Arm Limited (o i so filiali) in i Stati Uniti è / o in altrò.
  • U pacchettu di software X-CUBE-STSE01 hè sviluppatu in ANSI C. Eppuru, l'architettura indipendente da a piattaforma permette una facile purtabilità à una varietà di piattaforme diverse.
  • A tavula quì sottu prisenta a definizione di l'acronimi chì sò pertinenti per una megliu capiscitura di stu documentu.

Elementu sicuru STSAFE-A1x0

L'STSAFE-A110 è l'STSAFE-A120 sò suluzioni altamente sicure chì agiscenu cum'è un elementu sicuru chì furnisce servizii d'autentificazione è di gestione di dati à un host lucale o remoto. Si compone di una suluzione cumpleta "chiavi in ​​manu" cù un sistema operativu sicuru chì funziona nantu à l'ultima generazione di microcontrollori sicuri.
L'STSAFE-A110 è l'STSAFE-A120 ponu esse integrati in dispositivi IoT (Internet di e cose), applicazioni di casa intelligente, cità intelligenti è industriali, dispositivi elettronichi di cunsumu, consumabili è accessori. E so caratteristiche principali sò

  • Autentificazione (di periferiche, IoT è dispositivi USB Type-C®).
  • Stabilimentu sicuru di u canale cù un host remoto, cumprese l'handshake di sicurezza di u livellu di trasportu (TLS).
  • Serviziu di verificazione di firma (avvio sicuru è aghjurnamentu di firmware).
  • Monitoraghju di l'usu cù cuntatori sicuri.
  • Accoppiamentu è canale sicuru cù u processore di l'applicazione ospitante.
  • Imballaggio è scartamentu di buste di host lucali o remoti.
  • Generazione di coppie di chjave in chip.

Descrizzione di a biblioteca STSecureElement (STSELib)

Questa sezione detalla u cuntenutu di u pacchettu di software middleware STSELib è u modu per aduprà lu.

Descrizzione generale

U middleware STSELib hè un inseme di cumpunenti software cuncepiti per:

  • interfaccia u dispusitivu di l'elementu sicuru STSAFE-A110 è STSAFE-A120 cù un MCU.
  • implementà i casi d'usu STSAFE-A110 è STSAFE-A120 più generici.
  • U middleware STSELib hè cumpletamente integratu in i pacchetti software ST cum'è un cumpunente middleware per aghjunghje funzioni di elementi sicuri.
  • U middleware STSELib furnisce un inseme cumpletu di funzioni di l'interfaccia di prugrammazione di l'applicazione di altu livellu à u sviluppatore di sistemi embedded. Stu Middleware astrae a custruzzione è a sequenza di i cumandamenti richiesti per assicurà a prutezzione di a marca di dispositivi, accessori è cunsumabili utilizendu a famiglia di elementi sicuri STSAFE-A di STMicroelectronics.
  • Stu middleware permette una integrazione perfetta di unu o più STSAFE-A in diversi ecosistemi MCU/MPU host.
  • Consultate e note di liberazione dispunibili in u cartulare radicale di u pacchettu per infurmazione nantu à e versioni IDE supportate.

Architettura
U middleware STSELib hè cumpostu da trè moduli software cum'è illustratu in a figura quì sottu. Ogni stratu furnisce un livellu differente di astrazione di u sistema à u sviluppatore di u sistema embedded.

Pacchettu di Software X-CUBE-STSE (2)

A figura quì sottu mostra u middleware STSELib integratu in una applicazione standard STM32Cube, chì funziona nantu à una scheda d'espansione X-NUCLEO-SAFEA1 o X-NUCLEO-ESE01A1 muntata nantu à una scheda STM32 Nucleo.

Figura 2. Diagramma à blocchi di l'applicazione X-CUBE-STSE01

Pacchettu di Software X-CUBE-STSE (3)

Per furnisce a megliu indipendenza da hardware è piattaforma, u middleware STSELib ùn hè micca cunnessu direttamente à l'HAL STM32Cube, ma per mezu di l'interfaccia. fileimplementatu à livellu di l'applicazione

  • Stratu di l'interfaccia di prugrammazione di l'applicazione (API)
    Stu stratu di software hè u puntu d'entrata per l'applicazione di u sistema. Fornisce un inseme di funzioni d'altu livellu chì permettenu l'interazzione cù l'elementi sicuri di STMicroelectronics. U stratu Api furnisce l'astrazione per diverse applicazioni cum'è a gestione di l'elementi sicuri, l'autenticazione, l'archiviazione di dati, a gestione di e chjave.
  • Stratu di serviziu
    U stratu SERVIZIU furnisce un inseme di servizii di produttu chì furmattanu tutti i cumandamenti supportati da l'elementu sicuru miratu è riportanu a risposta à l'API / Applicazione di strati superiori. Stu stratu pò esse adupratu direttamente da l'Applicazione (per l'utilizatori avanzati).
  • Stratu centrale
    Cuntene una definizione generica per l'elementu sicuru ST è e funzioni per cumunicà cù l'elementu sicuru di destinazione.
    U stratu core gestisce l'inquadramentu di i missaghji è furnisce ancu l'astrazione di a piattaforma per i strati sopra.

Struttura di cartulare
A figura quì sottu presenta a struttura di cartulare di l'X-CUBE-STSE01.

Pacchettu di Software X-CUBE-STSE (4)

Software di dimostrazione

Questa sezione illustra un software di dimostrazione basatu annantu à u middleware STSELib.

Autentificazione
Questa dimostrazione illustra u flussu di cumandamenti induve u STSAFE-A110/STSAFE-A120 hè muntatu nantu à un dispositivu chì s'autentica à un host remoto (casu di dispositivu IoT), l'host lucale essendu utilizatu cum'è pass-through versu u servitore remoto.
U scenariu induve u STSAFE-A110/STSAFE-A120 hè muntatu nantu à una periferica chì s'autentica à un host lucale, per esempiuample per ghjochi, accessori mobili o consumabili, hè esattamente u listessu.
Per scopi di dimustrazione, l'ospiti lucali è remoti sò u listessu dispusitivu quì.

  1. Estrae, analizà è verificà u certificatu publicu di STSAFE-A110/STSAFE-A120 almacenatu in a zona di partizione di dati 0 di u dispusitivu per ottene a chjave publica:
    • Leghjite u certificatu aduprendu u middleware STSLib attraversu a zona 0 di STSAFE-A110/STSAFE-A120.
    • Analizà u certificatu aduprendu l'analizatore di a biblioteca crittografica.
    • Leghjite u certificatu CA (dispunibule per mezu di u codice).
    • Analizà u certificatu CA aduprendu l'analizatore di a biblioteca crittografica.
    • Verificate a validità di u certificatu aduprendu u certificatu CA per mezu di a biblioteca crittografica.
    • Uttene a chjave publica da u certificatu STSAFE-A110/STSAFE-A120 X.509.
  2. Generà è verificà a firma annantu à un numeru di sfida:
    • Generà un numeru di sfida (numeru aleatoriu).
    • Ripigliate a sfida.
    • Ritruvà una firma annantu à a sfida hashed aduprendu u slot 0 di a chjave privata STSAFE-A110/STSAFE-A120 attraversu u middleware STSELib.
    • Analizà a firma generata aduprendu a biblioteca crittografica.
    • Verificate a firma generata aduprendu a chjave publica di STSAFE-A110/STSAFE-A120 per mezu di a biblioteca crittografica.
    • Quandu questu hè validu, l'ospite sà chì u perifericu o l'IoT hè autenticu.

Accoppiamentu (Provisioning di a Chjave Ospite)
Stu codice example stabilisce un accoppiamentu trà un dispusitivu è u MCU à u quale hè cunnessu. L'accoppiamentu permette di autenticà (vale à dì, firmà è verificà) i scambii trà u dispusitivu è u MCU. U dispusitivu STSAFE-A110 diventa utilizabile solu in cumbinazione cù u MCU cù u quale hè accoppiatu.
L'accoppiamentu consiste in l'MCU host chì manda una chjave MAC host è una chjave cifrata host à u STSAFE-A110. E duie chjave sò almacenate in a NVM prutetta di u STSAFE-A110 è devenu esse almacenate in a memoria flash di u dispusitivu STM32.
Per difettu, in questu exampvale à dì, l'MCU ospitante manda chjave ben cunnisciute à u STSAFE-A110 (vede u flussu di cumanda quì sottu) chì sò assai cunsigliate per aduprà per scopi di dimostrazione. U codice permette ancu a generazione di chjave aleatorie.
Inoltre, u codice example genera una chjave di busta lucale quandu u slot currispundente ùn hè micca digià pupulatu in u STSAFE-A110. Quandu u slot di busta lucale hè pupulatu, u dispusitivu STSAFE-A110 permette à l'MCU host di imballà/sballà una busta lucale per almacenà in modu sicuru una chjave da u latu di l'MCU host.
Nota: U codice di accoppiamentu example deve esse eseguitu bè prima di eseguisce tutti i seguenti codice examples.

Flussu di cumanda

  1. Genera a chjave di l'inviluppu lucale in u STSAFE-A110 aduprendu u middleware STSELib.
    Per difettu, stu cumandamentu hè attivatu
    Questa operazione si faci solu se u slot di chjave di busta locale di STSAFE-A110 ùn hè micca digià populatu.
  2. Definite dui numeri di 128 bit da aduprà cum'è a chjave MAC di l'ospite è a chjave di cifratura di l'ospite.
    Per difettu, e chjave d'oru cunnisciute sò aduprate. Anu i valori seguenti:
    • Chjave MAC di l'ospite
      0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF
    • Chjave di cifratura di l'ospite 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF, 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF
  3. Archivia a chjave MAC di l'ospite è a chjave di cifratura di l'ospite in i so rispettivi slot in u STSAFE-A110/STSAFE-A120.
  4. Archivia a chjave MAC di l'ospite è a chjave di cifratura di l'ospite in a memoria flash di u STM32.

Stabilimentu di chjave (Chjave simmetrica AES-128 CMAC)
Questa dimostrazione illustra u casu induve u dispusitivu STSAFE-A110 hè muntatu nantu à un dispositivu (cum'è un dispositivu IoT), chì cumunicà cù un servitore remotu, è hà bisognu di stabilisce un canale sicuru per scambià dati cun ellu.
In questu example, u dispusitivu STM32 ghjoca u rolu di u servore luntani (ospiti remota) è u òspite lucale chì hè culligatu à u dispusitivu STSAFE-A110.
L'obiettivu di questu casu d'usu hè di mustrà cumu stabilisce un sicretu spartutu trà l'ospite lucale è u servitore remoto utilizendu u schema Diffie-Hellman à curva ellittica cù una chjave statica (ECDH) o effimera (ECDHE) in u STSAFE-A110.
U sicretu spartutu deve esse ulteriormente derivatu à una o più chjave di travagliu (micca illustrata quì). Queste chjavi di travagliu ponu esse aduprate in protokolli di cumunicazione cum'è TLS, per esempiuample per a prutezzione di a cunfidenzialità, l'integrità è l'autenticità di e dati chì sò scambiati trà l'ospite lucale è u servitore remoto.

Flussu di cumanda
A Figura 4. U flussu di cumanda di creazione di chjave illustra u flussu di cumanda:

  • E chjave private è publiche di l'ospite remoto sò codificate in u codice example.
  • L'ospite lucale manda u cumandamentu Generate Keypair à u STSAFE-A110/STSAFE-A120 per generà a coppia di chjave in u so slot effimeru (slot 0xFF).
  • U STSAFE-A110 manda a chjave publica (chì currisponde à u slot 0xFF) à u STM32 (chì rapprisenta l'ospite remoto).
  • U STM32 calcula u sicretu di l'ospite remoto (usendu a chjave publica di u dispusitivu STSAFE è a chjave privata di l'ospite remoto).
  • U STM32 manda a chjave publica di l'ospite remoto à u STSAFE-A110/STSAFE-A120 è dumanda à u STSAFE-A110/STSAFE-A120 di calculà u sicretu di l'ospite lucale aduprendu l'API.
  • U STSAFE-A110/STSAFE-A120 manda u sicretu di l'ospite lucale à u STM32.
  • U STM32 paraguna i dui sicreti è stampa u risultatu. Sè i sicreti sò listessi, a creazione di u sicretu hè riesciuta.

Pacchettu di Software X-CUBE-STSE (1)

Avvolgi / sbulicà i buste lucali

  • Questa dimostrazione illustra u casu induve l'STSAFE-A110/STSAFE-A120 avvolge/sblocca l'involucro lucale per almacenà in modu sicuru un sicretu in qualsiasi memoria non volatile (NVM).
  • E chjave di crittografia/decrittografia ponu esse almacenate in modu sicuru in questu modu in una memoria supplementaria o in a memoria di dati di l'utente di STSAFE-A110/STSAFE-A120.
  • U mecanismu di wrapping hè adupratu per prutege un testu sicretu o chjaru. L'output di u wrapping hè una busta criptata cù un algoritmu di wrapping di chjave AES, è chì cuntene a chjave o u testu chjaru da prutege. Flussu di cumanda
  • L'ospiti lucali è remoti sò u listessu dispusitivu quì.
  1. Generà dati aleatorii assimilati à un inviluppu lucale.
  2. Avvolgi l'involu lucale aduprendu l'API middleware STSELib.
  3. Conservate a busta imballata.
  4.  Scartate a busta imballata aduprendu u middleware STSELIB.
  5.  Paragunate a busta senza imballaggio cù a busta lucale iniziale. Devenu esse uguali.

Generazione di coppia di chjave
Questa dimostrazione illustra u flussu di cumandamenti induve u dispusitivu STSAFE-A110/STSAFE-A120 hè muntatu nantu à un host lucale. Un host remoto dumanda à questu host lucale di generà una coppia di chjave (una chjave privata è una chjave publica) in u slot 1 è dopu di firmà una sfida (numeru aleatoriu) cù a chjave privata generata.
L'ospite remotu hè allora capace di verificà a firma cù a chjave publica generata.
Questa dimostrazione hè simile à a dimostrazione di l'autenticazione cù duie differenze:

  • A coppia di chjave in a dimostrazione di l'autenticazione hè digià generata (in slot 0), mentre chì in questu exampvale à dì, generemu a coppia di chjave in u slot 1. U dispusitivu STSAFE-A110/STSAFE-A120 pò ancu generà a coppia di chjave in u slot 0xFF, ma solu per scopi di creazione di chjave.
  • A chjave publica in a dimostrazione di Autentificazione hè estratta da u certificatu in a zona 0. In questu exampvale à dì, a chjave publica hè mandata in daretu cù a risposta STSAFE-A110/STSAFE-A120 à u cumandamentu Generate Keypair.

Flussu di cumanda
Per scopi di dimustrazione, l'ospiti lucali è remoti sò u listessu dispusitivu quì.

  1. L'ospite manda u cumandamentu Generate Keypair à u STSAFE-A110/STSAFE-A120 chì rinvia a chjave publica à u MCU di l'ospite.
  2. L'ospite genera una sfida (numeru aleatoriu di 48 byte) aduprendu l'API Generate Random. L'STSAFE-A110 manda u numeru aleatoriu generatu.
  3. L'ospite calcula u hash di u numeru generatu aduprendu a biblioteca crittografica.
  4. L'ospite dumanda à u STSAFE-A110/STSAFE-A120 di generà una firma di u hash calculatu aduprendu u
    Genera API di firma. L'STSAFE-A110/STSAFE-A120 manda a firma generata.
  5. L'ospite verifica a firma generata cù a chjave publica mandata da STSAFE-A110/STSAFE-A120 in u passu 1.
  6. U risultatu di a verificazione di a firma hè stampatu.

Glossariu

Abbreviazione Sensu
AES Standard di crittografia avanzata
ANSI Istitutu Naziunale Americanu di Standards
API Interfaccia di prugrammazione di l'applicazione
BSP Pacchettu di supportu di bordu
CA Autorità di Certificazione
CC Criterium cumuni
C-MAC Codice d'autentificazione di u missaghju di cumanda
ECC Criptografia a curva ellittica
ECDH Curva ellittica Diffie-Hellman
ECDHE Curva ellittica Diffie-Hellman - effimera
EWARM Bancu di travagliu integratu IAR® per Arm®
HAL Stratu di astrazione di hardware
I/O Input/output
IAR Systems® Leader mundiale in strumenti software è servizii per u sviluppu di sistemi embedded.
IDE Ambiente di sviluppu integratu. Un'applicazione software chì furnisce facilità cumplete à i prugrammatori di computer per u sviluppu di software.
IoT Internet di e cose
I²C Circuitu interintegratu (IIC)
LL Driver di bassu livellu
MAC Codice d'autentificazione di u missaghju
MCU Unità di microcontroller
MDK-ARM Kit di sviluppu di microcontrollori Keil® per Arm®
MPU Unità di prutezzione di memoria
NVM Memoria non volatile
OS Sistema upirativu
SE Elementu sicuru
SHA Algoritmu di Hash sicuru
SLA Accordu di licenza di software
ST STMicroelectronics
TLS Sicurezza di u Stratu di Trasportu
USB Bus seriale universale

Storia di rivisione

Data Revisione Cambiamenti
23-ghjugnu-2025 1 Liberazione iniziale.

AVVISU IMPORTANTE - LEGGIU ATTENTAMENTE

  • STMicroelectronics NV è e so filiali ("ST") si riservanu u dirittu di fà cambiamenti, correzioni, miglioramenti, mudificazioni è migliure à i prudutti ST è / o à stu documentu in ogni mumentu senza avvisu. I cumpratori anu da ottene l'ultime informazioni pertinenti nantu à i prudutti ST prima di fà ordini. I prudutti ST sò venduti in cunfurmità cù i termini è e cundizioni di vendita di ST in vigore à u mumentu di a ricunniscenza di l'ordine.
  • I cumpratori sò solu rispunsevuli di a scelta, a selezzione è l'usu di i prudutti ST è ST ùn assume micca responsabilità per l'assistenza di l'applicazione o u disignu di i prudutti di l'acquirente.
  • Nisuna licenza, espressa o implicita, à qualsiasi dirittu di pruprietà intellettuale hè cuncessa da ST quì.
  • A rivendita di i prudutti ST cù disposizioni diverse da l'infurmazioni stabilite quì annullerà ogni garanzia accordata da ST per tali pruduttu.
  • ST è u logo ST sò marchi di ST. Per infurmazioni supplementari nantu à i marchi ST, riferite à www.st.com/trademarks. Tutti l'altri prudutti o nomi di serviziu sò a pruprietà di i so rispettivi pruprietarii.
  • L'infurmazioni in stu documentu rimpiazzanu è rimpiazzanu l'infurmazioni furnite prima in qualsiasi versione precedente di stu documentu.
  • © 2025 STMicroelectronics - Tutti i diritti riservati

Documenti / Risorse

Pacchettu di Software ST X-CUBE-STSE01 [pdfManuale d'usu
Pacchettu di Software X-CUBE-STSE01, Pacchettu di Software, Software

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *