Softwarový balíček X-CUBE-STSE01

Zavedení
Tato uživatelská příručka popisuje, jak začít pracovat se softwarovým balíčkem X-CUBE-STSE01.
Softwarový balíček X-CUBE-STSE01 je softwarová komponenta, která poskytuje několik demonstračních kódů využívajících funkce zařízení STSAFE-A110 a STSAFE-A120 z hostitelského mikrokontroléru.
Tyto demonstrační kódy využívají middleware STSELib (Secured Element) postavený na softwarové technologii STM32Cube pro usnadnění přenositelnosti mezi různými mikrokontroléry STM32. Navíc je nezávislý na MCU, pokud jde o přenositelnost na jiné MCU.
Tyto demonstrační kódy ilustrují následující funkce:
- Ověřování.
- Zabezpečené úložiště dat.
- Zabezpečené počítadlo použití.
- Párování.
- Klíčové zařízení.
- Místní balení obálek.
- Generování párů klíčů.
Obecné informace
- Softwarový balíček X-CUBE-STSE01 je referencí pro integraci služeb zabezpečených prvků STSAFE-A110 a STSAFE-A120 do operačního systému (OS) hostitelského mikrokontroléru a jeho aplikace.
- Obsahuje ovladače STSAFE-A110 a STSAFE-A120 a demonstrační kódy, které lze spustit na 32bitových mikrokontrolérech STM32 založených na procesoru Arm® Cortex®-M.
- Arm je registrovaná ochranná známka společnosti Arm Limited (nebo jejích dceřiných společností) v USA a/nebo jinde.
- Softwarový balíček X-CUBE-STSE01 je vyvinut v jazyce ANSI C. Nicméně platformně nezávislá architektura umožňuje snadnou přenositelnost na řadu různých platforem.
- Níže uvedená tabulka uvádí definice zkratek, které jsou relevantní pro lepší pochopení tohoto dokumentu.
Bezpečnostní prvek STSAFE-A1x0
STSAFE-A110 a STSAFE-A120 jsou vysoce zabezpečená řešení, která slouží jako bezpečnostní prvek poskytující služby ověřování a správy dat lokálnímu nebo vzdálenému hostiteli. Skládá se z kompletního řešení na klíč s bezpečným operačním systémem běžícím na nejnovější generaci zabezpečených mikrokontrolérů.
STSAFE-A110 a STSAFE-A120 lze integrovat do zařízení IoT (internet věcí), aplikací pro chytré domácnosti, chytrá města a průmyslové aplikace, spotřební elektroniky, spotřebního materiálu a příslušenství. Jejich klíčové vlastnosti jsou:
- Ověřování (periferních zařízení, zařízení IoT a zařízení s rozhraním USB Type-C®).
- Bezpečné navázání kanálu se vzdáleným hostitelem včetně navázání spojení pomocí TLS (Transport Layer Security).
- Služba ověřování podpisu (zabezpečené spuštění a aktualizace firmwaru).
- Monitorování používání pomocí zabezpečených čítačů.
- Párování a zabezpečený kanál s procesorem hostitelské aplikace.
- Balení a rozbalování obálek lokálního nebo vzdáleného hostitele.
- Generování párů klíčů na čipu.
Popis knihovny STSecureElement (STSELib)
Tato část podrobně popisuje obsah softwarového balíku middleware STSELib a způsob jeho použití.
Obecný popis
Middleware STSELib je sada softwarových komponent určených k:
- propojuje zařízení zabezpečených prvků STSAFE-A110 a STSAFE-A120 s mikrokontrolérem (MCU).
- implementovat nejobecnější případy užití STSAFE-A110 a STSAFE-A120.
- Middleware STSElib je plně integrován do softwarových balíčků ST jako middleware komponenta pro přidání funkcí zabezpečených prvků.
- Middleware STSELib poskytuje vývojářům vestavěných systémů kompletní sadu funkcí aplikačního programovacího rozhraní na vysoké úrovni. Tento middleware abstrahuje sestavení a sekvenci příkazů potřebných k zajištění ochrany zařízení, příslušenství a spotřebního materiálu pomocí rodiny zabezpečených prvků STMicroelectronics STSAFE-A.
- Tento middleware umožňuje bezproblémovou integraci jednoho nebo více STSAFE-A v ekosystémech různých hostitelských MCU/MPU.
- Informace o podporovaných verzích IDE najdete v poznámkách k vydání v kořenové složce balíčku.
Architektura
Middleware STSELib se skládá ze tří softwarových modulů, jak je znázorněno na obrázku níže. Každá vrstva poskytuje vývojáři vestavěných systémů jinou úroveň abstrakce systému.

Obrázek níže ukazuje middleware STSELib integrovaný ve standardní aplikaci STM32Cube, běžící na rozšiřující desce X-NUCLEO-SAFEA1 nebo X-NUCLEO-ESE01A1 namontované na desce STM32 Nucleo.
Obrázek 2. Blokové schéma aplikace X-CUBE-STSE01

Pro zajištění co nejlepší hardwarové a platformové nezávislosti není middleware STSELib přímo připojen k HAL STM32Cube, ale prostřednictvím rozhraní. fileimplementováno na úrovni aplikace
- Vrstva rozhraní pro programování aplikací (API)
Tato softwarová vrstva je vstupním bodem pro systémovou aplikaci. Poskytuje sadu funkcí na vysoké úrovni, které umožňují interakci se zabezpečením prvků STMicroelectronics. Vrstva API poskytuje abstrakci pro různé aplikace, jako je správa zabezpečení prvků, ověřování, ukládání dat a správa klíčů. - Servisní vrstva
Vrstva SERVICE poskytuje sadu produktových služeb, které formátují všechny příkazy podporované cílovým zabezpečeným prvkem a hlásí odpověď vyšším vrstvám API/aplikacím. Tuto vrstvu lze použít přímo z aplikace (pro pokročilé uživatele). - Jádrová vrstva
Obsahuje obecnou definici zabezpečeného prvku ST a funkce pro komunikaci s cílovým zabezpečeným prvkem.
Jádrová vrstva se stará o rámování zpráv a zároveň poskytuje abstrakci platformy pro výše uvedené vrstvy.
Struktura složek
Obrázek níže znázorňuje strukturu složek zařízení X-CUBE-STSE01.

Demonstrační software
Tato část ilustruje demonstrační software založený na middlewaru STSELib.
Autentizace
Tato ukázka ilustruje tok příkazů, kde je zařízení STSAFE-A110/STSAFE-A120 připojeno k zařízení, které se ověřuje u vzdáleného hostitele (v případě zařízení IoT), přičemž lokální hostitel se používá jako průchozí spojení ke vzdálenému serveru.
Scénář, kdy je zařízení STSAFE-A110/STSAFE-A120 připojeno k perifernímu zařízení, které se ověřuje na lokálním hostiteli, napříkladample pro hry, mobilní příslušenství nebo spotřební materiál, je úplně stejný.
Pro demonstrační účely jsou zde lokální a vzdálený hostitel stejné zařízení.
- Extrahujte, analyzujte a ověřte veřejný certifikát zařízení STSAFE-A110/STSAFE-A120 uložený v zóně 0 datového oddílu zařízení, abyste získali veřejný klíč:
- Přečtěte certifikát pomocí middlewaru STSELib prostřednictvím zóny 0 zařízení STSAFE-A110/STSAFE-A120.
- Analyzujte certifikát pomocí analyzátoru kryptografické knihovny.
- Přečtěte si certifikát CA (k dispozici prostřednictvím kódu).
- Analyzujte certifikát CA pomocí analyzátoru kryptografické knihovny.
- Ověřte platnost certifikátu pomocí certifikátu CA prostřednictvím kryptografické knihovny.
- Získejte veřejný klíč z certifikátu STSAFE-A110/STSAFE-A120 X.509.
- Vygenerujte a ověřte podpis pomocí čísla výzvy:
- Vygenerujte číslo výzvy (náhodné číslo).
- Vyřešte výzvu.
- Načtěte podpis přes hašovanou výzvu pomocí slotu 0 soukromého klíče STSAFE-A110/STSAFE-A120 prostřednictvím middlewaru STSELib.
- Analyzujte vygenerovaný podpis pomocí kryptografické knihovny.
- Ověřte vygenerovaný podpis pomocí veřejného klíče STSAFE-A110/STSAFE-A120 prostřednictvím kryptografické knihovny.
- Pokud je toto platné, hostitel ví, že periferní zařízení nebo IoT je autentické.
Párování (zřizování klíče hostitele)
Tento kód exampProgram le navazuje párování mezi zařízením a MCU, ke kterému je připojeno. Párování umožňuje ověření (tj. podepsání a ověření) komunikace mezi zařízením a MCU. Zařízení STSAFE-A110 je použitelné pouze v kombinaci s MCU, ke kterému je spárováno.
Párování spočívá v tom, že hostitelská MCU odešle hostitelský MAC klíč a hostitelský šifrovací klíč do STSAFE-A110. Oba klíče jsou uloženy v chráněné NVM STSAFE-A110 a měly by být uloženy ve flash paměti zařízení STM32.
Ve výchozím nastavení v tomto exampTj. hostitelská MCU odesílá do STSAFE-A110 známé klíče (viz níže uvedený postup příkazů), které se důrazně doporučují k použití pro demonstrační účely. Kód také umožňuje generování náhodných klíčů.
Navíc kód exampProgram le generuje lokální klíč obálky, pokud odpovídající slot není v zařízení STSAFE-A110 již obsazen. Když je slot lokální obálky obsazen, zařízení STSAFE-A110 umožňuje hostitelské jednotce MCU zabalit/rozbalit lokální obálku pro bezpečné uložení klíče na straně hostitelské MCU.
Poznámka: Párovací kód např.ampsoubor musí být úspěšně proveden před provedením všech následujících kódů, napřamples.
Tok příkazů
- Vygenerujte lokální klíč obálky v STSAFE-A110 pomocí middlewaru STSELib.
Ve výchozím nastavení je tento příkaz aktivován
K této operaci dojde pouze v případě, že slot místního klíče obálky STSAFE-A110 již není obsazen. - Definujte dvě 128bitová čísla, která se použijí jako MAC klíč hostitele a šifrovací klíč hostitele.
Ve výchozím nastavení se používají zlaté známé klíče. Mají následující hodnoty:- MAC klíč hostitele
0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF - Šifrovací klíč hostitele 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF, 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF
- MAC klíč hostitele
- Uložte klíč MAC hostitele a šifrovací klíč hostitele do příslušných slotů v STSAFE-A110/STSAFE-A120.
- Uložte MAC klíč hostitele a šifrovací klíč hostitele do flash paměti STM32.
Vytvoření klíče (symetrický klíč AES-128 CMAC)
Tato ukázka ilustruje případ, kdy je zařízení STSAFE-A110 namontováno na zařízení (jako je zařízení IoT), které komunikuje se vzdáleným serverem a potřebuje vytvořit zabezpečený kanál pro výměnu dat s ním.
V tomto exampZařízení STM32 hraje roli jak vzdáleného serveru (vzdáleného hostitele), tak místního hostitele, který je připojen k zařízení STSAFE-A110.
Cílem tohoto případu použití je ukázat, jak vytvořit sdílený tajný klíč mezi lokálním hostitelem a vzdáleným serverem pomocí eliptického schématu Diffie-Hellman se statickým (ECDH) nebo efemérním (ECDHE) klíčem v STSAFE-A110.
Sdílené tajemství by mělo být dále odvozeno od jednoho nebo více pracovních klíčů (zde není znázorněno). Tyto pracovní klíče pak mohou být použity v komunikačních protokolech, jako je TLS, napřample pro ochranu důvěrnosti, integrity a pravosti dat, která jsou vyměňována mezi místním hostitelem a vzdáleným serverem.
Tok příkazů
Obrázek 4. Postup příkazu pro nastavení klíče ilustruje postup příkazu:
- Soukromé a veřejné klíče vzdáleného hostitele jsou pevně zakódovány v kódu, např.ample.
- Lokální hostitel odešle příkaz Generate Keypair do STSAFE-A110/STSAFE-A120, aby vygeneroval pár klíčů na svém efemérním slotu (slot 0xFF).
- STSAFE-A110 odešle zpět veřejný klíč (který odpovídá slotu 0xFF) do STM32 (reprezentujícího vzdáleného hostitele).
- STM32 vypočítá tajný klíč vzdáleného hostitele (pomocí veřejného klíče zařízení STSAFE a soukromého klíče vzdáleného hostitele).
- STM32 odešle veřejný klíč vzdáleného hostitele do STSAFE-A110/STSAFE-A120 a požádá STSAFE-A110/STSAFE-A120 o výpočet tajného klíče lokálního hostitele pomocí API.
- STSAFE-A110/STSAFE-A120 odesílá zpět tajný kód lokálního hostitele do STM32.
- STM32 porovná dva tajné kódy a vypíše výsledek. Pokud jsou tajné kódy stejné, je vytvoření tajného kódu úspěšné.

Zabalte/rozbalte místní obálky
- Tato ukázka ilustruje případ, kdy STSAFE-A110/STSAFE-A120 zabalí/rozbalí lokální obálku, aby bezpečně uložil tajný kód do jakékoli energeticky nezávislé paměti (NVM).
- Šifrovací/dešifrovací klíče lze tímto způsobem bezpečně uložit do další paměti nebo do paměti uživatelských dat STSAFE-A110/STSAFE-A120.
- Mechanismus obalování se používá k ochraně tajného nebo prostého textu. Výstupem obalování je obálka zašifrovaná algoritmem AES s klíčem, která obsahuje klíč nebo prostý text, který má být chráněn. Tok příkazu
- Lokální a vzdálený hostitel je zde stejné zařízení.
- Generujte náhodná data asimilovaná do lokální obálky.
- Zabalte lokální obálku pomocí middlewarového API STSELib.
- Zabalenou obálku uložte.
- Rozbalte zabalenou obálku pomocí middlewaru STSELIB.
- Porovnejte rozbalenou obálku s původní lokální obálkou. Měly by být stejné.
Generování páru klíčů
Tato ukázka ilustruje tok příkazů, kde je zařízení STSAFE-A110/STSAFE-A120 připojeno k lokálnímu hostiteli. Vzdálený hostitel požádá tento lokální hostitel o vygenerování páru klíčů (soukromý klíč a veřejný klíč) na slotu 1 a poté o podepsání výzvy (náhodné číslo) vygenerovaným soukromým klíčem.
Vzdálený hostitel je pak schopen ověřit podpis pomocí vygenerovaného veřejného klíče.
Tato ukázka je podobná ukázce ověření se dvěma rozdíly:
- Pár klíčů v ukázce Authentication je již vygenerován (na slotu 0), zatímco v tomto příkladuampTj. vygenerujeme pár klíčů na slotu 1. Zařízení STSAFE-A110/STSAFE-A120 může také vygenerovat pár klíčů na slotu 0xFF, ale pouze pro účely stanovení klíče.
- Veřejný klíč v demonstraci ověřování je extrahován z certifikátu v zóně 0. V tomto příkladuamptj. veřejný klíč je odeslán zpět s odpovědí STSAFE-A110/STSAFE-A120 na příkaz Generate Keypair.
Tok příkazů
Pro demonstrační účely jsou zde lokální a vzdálený hostitel stejné zařízení.
- Hostitel odešle příkaz Generate Keypair do STSAFE-A110/STSAFE-A120, který odešle zpět veřejný klíč do hostitelské MCU.
- Hostitel generuje výzvu (48bajtové náhodné číslo) pomocí rozhraní Generate Random API. STSAFE-A110 odesílá zpět vygenerované náhodné číslo.
- Hostitel vypočítá hash vygenerovaného čísla pomocí kryptografické knihovny.
- Hostitel požádá STSAFE-A110/STSAFE-A120 o vygenerování podpisu vypočítaného hashe pomocí
Rozhraní API pro generování podpisu. STSAFE-A110/STSAFE-A120 odešle zpět vygenerovaný podpis. - Hostitel ověří vygenerovaný podpis s veřejným klíčem odeslaným zařízením STSAFE-A110/STSAFE-A120 v kroku 1.
- Výsledek ověření podpisu se vytiskne.
Glosář
| Zkratka | Význam |
| AES | Pokročilý standard šifrování |
| ANSI | Americký národní normalizační institut |
| API | Aplikační programovací rozhraní |
| BSP | Balíček podpory desky |
| CA | Certifikační autorita |
| CC | Společná kritéria |
| C-MAC | Ověřovací kód příkazové zprávy |
| ECC | Kryptografie eliptické křivky |
| ECDH | Eliptická křivka Diffie-Hellman |
| ECDHE | Eliptická křivka Diffie-Hellman – efemérní |
| EWARM | IAR Embedded Workbench® pro Arm® |
| HAL | Vrstva abstrakce hardwaru |
| I/O | Vstup/výstup |
| IAR Systems® | Světový lídr v oblasti softwarových nástrojů a služeb pro vývoj vestavěných systémů. |
| IDE | Integrované vývojové prostředí. Softwarová aplikace, která poskytuje počítačovým programátorům komplexní zázemí pro vývoj softwaru. |
| IoT | Internet věcí |
| I²C | Propojený integrovaný obvod (IIC) |
| LL | Nízkoúrovňové ovladače |
| MAC | Ověřovací kód zprávy |
| MCU | Jednotka mikrokontroléru |
| MDK-ARM | Vývojová sada pro mikrokontroléry Keil® pro Arm® |
| MPU | Jednotka ochrany paměti |
| NVM | Energeticky nezávislá paměť |
| OS | Operační systém |
| SE | Bezpečnostní prvek |
| SHA | Bezpečný hašovací algoritmus |
| SLA | Licenční smlouva na software |
| ST | STMicroelectronics |
| TLS | Zabezpečení transportní vrstvy |
| USB | Univerzální sériová sběrnice |
Historie revizí
| Datum | Revize | Změny |
| 23. června 2025 | 1 | Počáteční vydání. |
DŮLEŽITÉ UPOZORNĚNÍ – ČTĚTE POZORNĚ
- STMicroelectronics NV a její dceřiné společnosti (“ST”) si vyhrazují právo provádět změny, opravy, vylepšení, úpravy a vylepšení produktů ST a/nebo tohoto dokumentu kdykoli bez upozornění. Kupující by měli před zadáním objednávky získat nejnovější relevantní informace o produktech ST. Produkty ST jsou prodávány v souladu s prodejními podmínkami ST platnými v době potvrzení objednávky.
- Kupující jsou výhradně odpovědní za výběr, výběr a použití produktů ST a ST nepřebírá žádnou odpovědnost za pomoc s aplikací nebo design produktů kupujících.
- Společnost ST zde neuděluje žádnou výslovnou ani předpokládanou licenci k právu duševního vlastnictví.
- Další prodej produktů ST s ustanoveními odlišnými od informací uvedených v tomto dokumentu ruší jakoukoli záruku poskytnutou společností ST na takový produkt.
- ST a logo ST jsou ochranné známky společnosti ST. Další informace o ochranných známkách ST viz www.st.com/trademarks. Všechny ostatní názvy produktů nebo služeb jsou majetkem jejich příslušných vlastníků.
- Informace v tomto dokumentu nahrazují a nahrazují informace dříve uvedené v předchozích verzích tohoto dokumentu.
- © 2025 STMicroelectronics – Všechna práva vyhrazena
Dokumenty / zdroje
![]() |
Softwarový balíček ST X-CUBE-STSE01 [pdfUživatelská příručka Softwarový balíček X-CUBE-STSE01, Softwarový balíček, Software |

