X-CUBE-STSE01 программалык пакети

Introduction
This user manual describes how to get started with the X-CUBE-STSE01 software package.
The X-CUBE-STSE01 software package is a software component that provides several demonstration codes, which use the STSAFE-A110 and STSAFE-A120 device features from a host microcontroller.
These demonstration codes utilize the STSELib (Secured Element middleware) built on the STM32Cube software technology to ease portability across different STM32 microcontrollers. In addition, it is MCU-agnostic for portability to other MCUs.
These demonstration codes illustrate the following features:
- Authentication.
- Secured data storage.
- Secured usage counter.
- Жупташтыруу.
- Key establishment.
- Local envelope wrapping.
- Key pair generation.
Жалпы маалымат
- The X-CUBE-STSE01 software package is a reference to integrate the STSAFE-A110 and STSAFE-A120 secure element services into a host MCU’s operating system (OS) and its application.
- It contains the STSAFE-A110 and STSAFE-A120 driver and demonstration codes to be executed on STM32 32-bit microcontrollers based on the Arm® Cortex®-M processor.
- Arm АКШда жана/же башка жерлерде Arm Limitedтин (же анын туундуларынын) катталган соода белгиси.
- The X-CUBE-STSE01 software package is developed in ANSI C. Nevertheless, the platform-independent architecture allows easy portability to a variety of different platforms.
- The table below presents the definition of acronyms that are relevant for a better understanding of this document.
STSAFE-A1x0 коопсуз элементи
STSAFE-A110 жана STSAFE-A120 - бул жергиликтүү же алыскы хостко аутентификация жана маалыматтарды башкаруу кызматтарын көрсөтүүчү коопсуз элементтин ролун аткарган өтө коопсуз чечим. Ал коопсуз микроконтроллерлердин акыркы муундагы коопсуз операциялык тутуму менен толук ачкыч чечимден турат.
The STSAFE-A110 and STSAFE-A120 can be integrated in IoT (Internet of things) devices, smart-home, smart-city and industrial applications, consumer electronics devices, consumables and accessories. Its key features are
- Аутентификация (перифериялык түзүлүштөрдүн, IoT жана USB Type-C® түзмөктөрүнүн).
- Алыскы хост менен коопсуз канал түзүү, анын ичинде транспорттук катмардын коопсуздугу (TLS) кол алышуу.
- Кол коюуну текшерүү кызматы (коопсуз жүктөө жана микропрограмманы жаңыртуу).
- Коопсуз эсептегичтер менен колдонууну көзөмөлдөө.
- Хост колдонмо процессору менен жупташтыруу жана коопсуз канал.
- Жергиликтүү же алыскы хост конверттерин таңуу жана ачуу.
- Чипте ачкыч жуптарын түзүү.
STSecureElement Library (STSELib) сүрөттөмөсү
Бул бөлүмдө STSELib орточу программалык камсыздоо пакетинин мазмуну жана аны колдонуу жолу айтылат.
Жалпы сүрөттөмө
STSELib ортомчу программасы бул программалык камсыздоонун компоненттеринин жыйындысы болуп төмөнкүлөр саналат:
- STSAFE-A110 жана STSAFE-A120 коопсуз элемент түзмөгүн MCU менен байланыштырыңыз.
- эң жалпы STSAFE-A110 жана STSAFE-A120 колдонуу учурларын ишке ашыруу.
- STSELib орто программасы ST программалык пакеттеринин ичинде коопсуз элементтин өзгөчөлүктөрүн кошуу үчүн ортолук программанын компоненти катары толугу менен интеграцияланган.
- STSELib орто программасы орнотулган системаны иштеп чыгуучуга жогорку деңгээлдеги Колдонмо программалоо интерфейсинин функцияларынын толук топтомун камсыз кылат. Бул ортолук программа STMicroelectronics STSAFE-A коопсуз элементтердин үй-бүлөсүнүн жардамы менен түзүлүштү, аксессуарларды жана керектелүүчү брендди коргоону камсыз кылуу үчүн талап кылынган буйруктардын түзүлүшүн жана ырааттуулугун чагылдырат.
- Бул ортомчу программа ар кандай хост MCU/MPU экосистемасына бир же бир нече STSAFE-A үзгүлтүксүз интеграциясына мүмкүндүк берет.
- Колдоого алынган IDE версиялары жөнүндө маалымат алуу үчүн пакеттин түпкү папкасында жеткиликтүү релиз эскертүүлөрүн караңыз.
Архитектура
STSELib орто программасы төмөндөгү сүрөттө көрсөтүлгөндөй үч программалык модулдан турат. Ар бир катмар орнотулган системаны иштеп чыгуучуга системанын абстракциясынын башка деңгээлин камсыз кылат.

Төмөнкү сүрөттө STM32 Nucleo тактасына орнотулган X-NUCLEO-SAFEA1 же X-NUCLEO-ESE01A1 кеңейтүү тактасында иштеген стандарттуу STM32Cube тиркемесинде интеграцияланган STSELib ортомчу программасы көрсөтүлгөн.
Сүрөт 2. X-CUBE-STSE01 колдонмо блок диаграммасы

Мыкты аппараттык жана платформанын көз карандысыздыгын камсыз кылуу үчүн, STSELib орто программасы STM32Cube HAL менен түздөн-түз туташкан эмес, бирок интерфейс аркылуу fileколдонмо деңгээлинде ишке ашырылган
- Колдонмо программалоо интерфейси (API) катмары
Бул программа катмары тутумдук колдонмо үчүн кирүү чекити болуп саналат. Бул STMicroelectronics Secure Elements менен өз ара аракеттенүүгө мүмкүндүк берген жогорку деңгээлдеги функциялардын топтомун камсыз кылат. Api катмары коопсуз элементтерди башкаруу, аутентификация, маалыматтарды сактоо, ачкычтарды башкаруу сыяктуу ар кандай колдонмолор үчүн абстракцияны камсыз кылат. - Кызмат катмары
SERVICE катмары максаттуу коопсуз элемент тарабынан колдоого алынган бардык буйруктарды форматтаган продукт кызматтарынын топтомун камсыз кылат жана API/Колдонмонун жогорку катмарларына жооп берет. Бул катмар түздөн-түз Колдонмодон колдонулушу мүмкүн (өнүккөн колдонуучу үчүн). - Негизги катмар
ST Secure Element үчүн жалпы аныктаманы жана максаттуу коопсуз элемент менен байланышуу функцияларын камтыйт.
Негизги катмар билдирүүлөрдүн рамкасын иштетет, ошондой эле жогорудагы катмарлар үчүн платформанын абстракциясын камсыз кылат.
Папканын структурасы
Төмөнкү сүрөттө X-CUBE-STSE01 папкасынын структурасы көрсөтүлгөн.

Демонстрациялык программалык камсыздоо
Бул бөлүмдө STSELib орто программасына негизделген демонстрациялык программалык камсыздоо сүрөттөлөт.
Аутентификация
This demonstration illustrates the command flow where the STSAFE-A110/STSAFE-A120 is mounted on a device that authenticates to a remote host (IoT device case), the local host being used as a pass-through to the remote server.
The scenario where the STSAFE-A110/STSAFE-A120 is mounted on a peripheral that authenticates to a local host, for exampоюндар, мобилдик аксессуарлар же керектелүүчү материалдар үчүн le, дал ушундай.
Демонстрациялоо максатында, жергиликтүү жана алыскы хосттор бул жерде бир эле түзмөк.
- Extract, parse and verify the STSAFE-A110/ STSAFE-A120’s public certificate stored in the data partition zone 0 of the device in order to get the public key:
- Read the certificate using the STSELib middleware through the STSAFE-A110/STSAFE-A120’s zone 0.
- Parse the certificate using the cryptographic library’s parser.
- Read the CA certificate (available through the code).
- Parse the CA certificate using the cryptographic library’s parser.
- Verify the certificate validity using the CA certificate through the cryptographic library.
- Get the public key from the STSAFE-A110/STSAFE-A120 X.509 certificate.
- Generate and verify the signature over a challenge number:
- Generate a challenge number (random number).
- Hash the challenge.
- Fetch a signature over the hashed challenge using the STSAFE-A110/ STSAFE-A120 private key slot 0 through the STSELib middleware.
- Parse the generated signature using the cryptographic library.
- Verify the generated signature using the STSAFE-A110/STSAFE-A120’s public key through the cryptographic library.
- When this is valid, the host knows that the peripheral or IoT is authentic.
Жупташтыруу (Хост ачкычын камсыздоо)
Бул код мурункуample establishes a pairing between an device and the MCU it is connected to. The pairing allows the exchanges between the device and the MCU to be authenticated (that is, signed and verified). The STSAFE-A110 device becomes usable only in combination with the MCU it is paired with.
The pairing consists of the host MCU sending a host MAC key and a host cipher key to the STSAFE-A110 Both keys are stored to the protected NVM of the STSAFE-A110 and should be stored to the flash memory of the STM32 device.
By default, in this example, the host MCU sends well-known keys to the STSAFE-A110 (see command flow below) that are highly recommended to use for demonstration purposes. The code also allows the generation of random keys.
Moreover, the code example generates a local envelope key when the corresponding slot is not already populated in the STSAFE-A110. When the local envelope slot is populated, the STSAFE-A110 device allows the host MCU to wrap/unwrap a local envelope to securely store a key on the host MCU’s side.
Note: The pairing code example төмөнкү коддун бардыгын аткаруудан мурун ийгиликтүү аткарылышы керек examples.
Буйрук агымы
- Generate the local envelope key in the STSAFE-A110 using the STSELib middleware.
By default, this command is activated
Бул операция STSAFE-A110 конвертинин жергиликтүү ачкыч уячасына мурунтан эле толтурулбаган учурда гана ишке ашат. - Define two 128-bit numbers to use as the host MAC key and the host cipher key.
By default, golden known keys are used. They have the following values:- Host MAC key
0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF - Host Cipher Key 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF
- Host MAC key
- Store the host MAC key and the host cipher key to their respective slot in the STSAFE-A110/STSAFE-A120.
- Store the host MAC key and the host cipher key to the STM32’s flash memory.
Ачкычты түзүү (Симметриялык ачкыч AES-128 CMAC)
Бул демонстрация STSAFE-A110 түзмөгү алыскы сервер менен байланышып турган түзүлүшкө (мисалы, IoT түзмөгү) орнотулган жана аны менен маалымат алмашуу үчүн коопсуз каналды түзүү керек болгон учурду көрсөтөт.
Бул эксample, STM32 түзмөгү алыскы сервердин (алыскы хост) жана STSAFE-A110 түзмөгүнө туташкан жергиликтүү хосттун ролун ойнойт.
Бул колдонуу учурунун максаты STSAFE-A110до статикалык (ECDH) же эфемердик (ECDHE) ачкыч менен эллиптикалык ийри Диффи-Хеллман схемасын колдонуу менен жергиликтүү хост менен алыскы сервердин ортосунда бөлүшүлгөн сырды кантип түзүүнү көрсөтүү.
Бөлүшүлгөн сыр андан ары бир же бир нече жумушчу ачкычтарга алынышы керек (бул жерде көрсөтүлгөн эмес). Бул жумушчу ачкычтар кийин TLS сыяктуу байланыш протоколдорунда колдонулушу мүмкүн, мисалыample жергиликтүү хост менен алыскы сервердин ортосунда алмашкан маалыматтардын купуялуулугун, бүтүндүгүн жана аныктыгын коргоо үчүн.
Буйрук агымы
4-сүрөт. Ачкычты түзүү командаларынын агымы буйруктардын агымын көрсөтөт:
- Алыскы хосттун жеке жана ачык ачкычтары мурунку коддо катуу коддолгонample.
- The local host sends the Generate Keypair command to the STSAFE-A110/STSAFE-A120 to generate the key pair on its ephemeral slot (slot 0xFF).
- The STSAFE-A110 sends back the public key (which corresponds to slot 0xFF) to the STM32 (representing the remote host).
- The STM32 computes the remote host’s secret (using the STSAFE device’s public key and the remote host’s private key).
- The STM32 sends the remote host’s public key to the STSAFE-A110/STSAFE-A120 and asks the STSAFE-A110/STSAFE-A120 to compute the local host’s secret using the API.
- STSAFE-A110/ STSAFE-A120 жергиликтүү хосттун сырын кайра STM32ге жөнөтөт.
- The STM32 compares the two secrets and prints the result. If the secrets are the same, the secret establishment is successful.

Жергиликтүү конверттерди таңуу/ачуу
- This demonstration illustrates the case where the STSAFE-A110/STSAFE-A120 wraps/unwraps the local envelope in order to securely store a secret to any non-volatile memory (NVM).
- Encryption/decryption keys can be securely stored in that manner to additional memory or within the STSAFE-A110/STSAFE-A120’s user data memory.
- The wrapping mechanism is used to protect a secret or plain text. The output of wrapping is an envelope encrypted with an AES key wrap algorithm, and that contains the key or plain text to be protected. Command flow
- The local and remote hosts are the same device here.
- Generate random data assimilated to a local envelope.
- Wrap the local envelope using the STSELib middleware API.
- Store the wrapped envelope.
- Unwrap the wrapped envelope using the STSELIB middleware.
- Compare the unwrapped envelope to the initial local envelope. They should be equal.
Ачкыч жупту түзүү
Бул демонстрация STSAFE-A110/STSAFE-A120 түзмөгү жергиликтүү хостко орнотулган буйрук агымын көрсөтөт. Алыскы хост бул локалдык хосттон 1-слотто ачкыч жуптарын (купуя ачкыч жана ачык ачкыч) жаратууну жана андан кийин түзүлгөн купуя ачкыч менен чакырыкка (кокус сан) кол коюуну суранат.
Алыскы хост андан кийин түзүлгөн ачык ачкыч менен кол тамганы текшере алат.
Бул демонстрация аутентификация демонстрациясына окшош, эки айырмасы бар:
- Аутентификация демонстрациясындагы ачкыч жуптары мурунтан эле түзүлгөн (0 уячасында), ал эми бул эксample, we generate the key pair on slot 1. The STSAFE-A110/STSAFE-A120 device can also generate the key pair on slot 0xFF, but only for key establishment purposes.
- The public key in the Authentication demonstration is extracted from the certificate in zone 0. In this example, the public key is sent back with the STSAFE-A110/STSAFE-A120 response to the Generate Keypair command.
Буйрук агымы
Демонстрациялоо максатында, жергиликтүү жана алыскы хосттор бул жерде бир эле түзмөк.
- The host sends the Generate Keypair command to the STSAFE-A110/STSAFE-A120 which sends back the public key to the host MCU.
- The host generates a challenge (48-byte random number) using the Generate Random API. The STSAFE-A110 sends back the generated random number.
- The host computes the hash of the generated number using the cryptographic library.
- The host asks the STSAFE-A110/STSAFE-A120 to generate a signature of the computed hash using the
Generate Signature API. The STSAFE-A110/ STSAFE-A120 sends back the generated signature. - The host verifies the generated signature with the public key sent by the STSAFE-A110/ STSAFE-A120 in step 1.
- The signature verification result is printed.
Глоссарий
| Аббревиатура | Мааниси |
| AES | Өркүндөтүлгөн шифрлөө стандарты |
| АНСИ | Американын Улуттук Стандарттар Институту |
| API | Колдонмо программалоо интерфейси |
| BSP | Башкармалык колдоо пакети |
| CA | Тастыктоо органы |
| CC | Common Criteria |
| C-MAC | Буйрук кабарынын аутентификация коду |
| ECC | Эллиптикалык ийри криптография |
| ECDH | Elliptic curve Diffie–Hellman |
| ECDHE | Elliptic curve Diffie–Hellman – ephemeral |
| EWARM | IAR Embedded Workbench® for Arm® |
| ХАЛ | Аппараттык абстракция катмары |
| I/O | Киргизүү/чыгаруу |
| IAR Systems® | World leader in software tools and services for embedded systems development. |
| IDE | Интегралдык өнүктүрүү чөйрөсү. Программалык камсыздоону иштеп чыгуу үчүн компьютер программисттерине комплекстүү шарттарды камсыз кылган программалык камсыздоо. |
| IoT | нерселердин интернети |
| I²C | Интер-интегралдык микросхема (IIC) |
| LL | Төмөнкү деңгээлдеги айдоочулар |
| MAC | Билдирүүнүн аутентификация коду |
| MCU | Микроконтроллер бирдиги |
| MDK-ARM | Keil® microcontroller development kit for Arm® |
| MPU | Эстутум коргоо бирдиги |
| NVM | Туруктуу эс тутум |
| OS | Операция системасы |
| SE | Коопсуз элемент |
| SHA | Secure Hash алгоритми |
| SLA | Программалык камсыздоонун лицензиялык келишими |
| ST | STMicroelectronics |
| TLS | Транспорт катмарынын коопсуздугу |
| USB | Универсал сериялык автобус |
Ревизия тарыхы
| Дата | Ревизия | Өзгөрүүлөр |
| 23-июнь-2025 | 1 | Алгачкы чыгаруу. |
МААНИЛҮҮ ЭСКЕРТҮҮ – КЫЛАТ КЫЛЫП ОКУҢУЗ
- STMicroelectronics NV жана анын туунду компаниялары («СТ») ST өнүмдөрүнө жана/же бул документке каалаган убакта эскертүүсүз өзгөртүү, оңдоо, жакшыртуу, өзгөртүү жана жакшыртуу укугун өзүнө калтырат. Сатып алуучулар буйрутмаларды берүүдөн мурун ST продуктулары боюнча акыркы тиешелүү маалыматты алышы керек. ST продуктылары СТтин сатуунун шарттарына ылайык, буйрутманы ырастоо учурундагы жерде сатылат.
- Сатып алуучулар ST өнүмдөрүн тандоо, тандоо жана колдонуу үчүн жалгыз жооп берет жана ST колдонууга жардам берүү же сатып алуучулардын продуктуларынын дизайны үчүн эч кандай жоопкерчилик тартпайт.
- Бул жерде ST тарабынан эч кандай интеллектуалдык менчик укугуна ачык же кыйыр түрдө эч кандай лицензия берилбейт.
- Бул жерде баяндалган маалыматтан башкача жоболор менен СТ продукциясын кайра сатуу СТ тарабынан мындай продукт үчүн берилген кепилдикти жокко чыгарат.
- ST жана ST логотиби ST соода белгилери болуп саналат. ST соода белгилери жөнүндө кошумча маалымат алуу үчүн, караңыз www.st.com/trademarks. Бардык башка өнүм же кызмат аттары тиешелүү ээлеринин менчиги болуп саналат.
- Бул документтеги маалымат бул документтин бардык мурунку версияларында мурда берилген маалыматтын ордун басат жана алмаштырат.
- © 2025 STMicroelectronics – Бардык укуктар корголгон
Документтер / Ресурстар
![]() |
ST X-CUBE-STSE01 программалык пакети [pdf] Колдонуучунун колдонмосу X-CUBE-STSE01 Программалык камсыздоо пакети, Программалык камсыздоо пакети, Программалык камсыздоо |

