ST Microelectronics STM32 Signing Tool Software

Вовед

Софтверот на алатката за потпишување STM32 (наречен STM32-SignTool во овој документ) е интегриран во STM32CubeProgrammer (STM32CubeProg). STM32-SignTool е клучна алатка која гарантира безбедна платформа и обезбедува потпишување на бинарни слики со помош на клучеви ECC генерирани од софтверот STM32-KeyGen (видете во упатството за корисникот опис на софтверот за генерирање клучеви STM32 (UM2542) за повеќе детали). Потпишаните бинарни слики се користат за време на безбедната секвенца за подигање STM32 што поддржува доверлив ланец за подигање. Оваа акција обезбедува проверка на автентикација и интегритет на вчитаните слики. STM32-SignTool генерира бинарна слика file, јавен клуч file, и приватен клуч file. Бинарната слика file ги содржи бинарните податоци што треба да се програмираат за уредот. Јавниот клуч file го содржи јавниот клуч ECC во PEM формат, генериран со STM32-KeyGen. Приватниот клуч file содржи шифриран ECC приватен клуч во PEM формат, генериран со STM32-KeyGen. Потпишан бинарен file може да се генерира и од веќе потпишан file со серијата file режим. Во овој случај, следните параметри не се задолжителни: влезната точка на сликата, адресата за вчитување на сликата и параметрите на верзијата на сликата. Овој документ се однесува на производите наведени во табелата подолу.

Табела 1. Применливи производи

Тип на производ Број на дел или серија на производи
Микроконтролер Серија STM32N6
Микропроцесор Серии STM32MP1 и STM32MP2

Во следните делови, STM32 се однесува на производите наведени во горната табела, освен ако не е поинаку наведено.

Инсталирајте STM32-SignTool

Оваа алатка е инсталирана со пакетот STM32CubeProgrammer (STM32CubeProg). За повеќе информации за процедурата за поставување, погледнете во делот 1.2 од упатството за корисникот опис на софтверот STM32CubeProgrammer (UM2237). Овој софтвер поддржува производи STM32 базирани на процесорот Arm® Cortex®.

Забелешка: Arm е регистрирана трговска марка на Arm Limited (или нејзините подружници) во САД и/или на друго место.

Интерфејс на командната линија STM32-SignTool

Следните делови опишуваат како да се користи STM32-SignTool од командната линија.

Наредби

Достапните команди се наведени подолу:

  • –бинарна-слика(-bin), –влез(-во)
    • Опис: бинарна слика file патека (продолжување .bin)
    • Синтакса: 1 -bin /home/User/binaryFile.бин
    • Синтакса: 2 -во /дома/Корисник/бинаренFile.бин
  • –слика-верзија (-iv)
    • Опис: ја внесува верзијата на сликата на потпишаната слика file
    • Синтакса: -iv
  • -приватен клуч (-prvk)
    • Опис: приватен клуч file патека (продолжение .pem)
    • Синтакса: -првкfile_пат>
    • Example: -prvk ../privateKey.pem
  • –јавен клуч -пабк
    • Опис: јавен клуч file патеки
    • Синтакса: -pubkFile_Пат{1..8}>
      • За заглавие v1: користете само една клучна патека за производите STM32MP15xx
      • За заглавие v2 и повеќе: користете осум клучни патеки за други
  • -лозинка (-pwd)
    • Опис: лозинка на приватниот клуч (оваа лозинка мора да содржи најмалку четири знаци)
    • Exampле: -пвд азерти
    • • –оптоварување-адреса (-la)
    • Опис: адреса за вчитување на сликата
    • Exampле: -ла
  • – влезна точка (-еп)
    • Опис: влезна точка на сликата
    • Example: -еп
  • -опција-знамиња (-од)
    • Опис: ознаки за опцијата за слика (стандардна вредност = 0)
    • Example: -од
  • -алгоритам (-a)
    • Опис: одредува еден од prime256v1 (вредност 1, стандардна) или brainpoolP256t1 (вредност 2)
    • Example: -а <2>
  • – излез (-o)
    • Опис: излез file патека. Овој параметар е опционален. Ако не е одредено, излезот file се генерира на истиот извор file патека (на прampле, бинарната слика file е C:\BinaryFile.бин). Потпишаниот бинарен file е C:\BinaryFile_Потпишан.bin.
    • Синтакса: -оFile_Пат>
  • -тип (-t)
    • Опис: бинарен тип. Можни вредности се ssbl, fsbl, teeh, teed, teex и copro
    • Синтакса: -т
  • – тивко (-s)
    • Опис: не се прикажува порака за замена на постоечки излез file
  • –помош (-h и -?)
    • Опис: покажува помош
  • -верзија (-v)
    • Опис: ја прикажува верзијата на алатката
  • –enc-dc (-encdc)
    • Опис: константа на деривација на шифрирање за шифрирање FSBL [заглавие v2]
    • Синтакса: -encdc
  • -enc-клуч (-enck)
    • Опис: ОЕМ тајна file за шифрирање FSBL [заглавие v2]
    • Синтакса: -енк
  • -дамп-заглавие (-дамп)
    • Опис: анализирајте и исфрлете го заглавието на сликата
    • Синтакса: -dumpFile_Пат>
  • –заглавие-верзија (-hv)
    • Опис: верзија на заглавие за потпишување, можни вредности: 1, 2, 2.1, 2.2 и 2.3
    • Example за STM32MP15xx: -hv 2
    • Example за STM32MP25xx: -hv 2.2
    • Example за STM32N6xxx: -hv 2.3
  • -без клучеви (-nk)
    • Опис: додавање празно заглавие без опции за клучеви
    • Забелешка: треба да се оневозможи опцијата за автентикација со командата за знаменца на опции

Examples за STM32-SignTool

Следниве прampЛес покажува како да се користи STM32-SignTool:

Examp1

-bin /home/User/BinaryFile.bin –pubk /home/user/publicKey.pem –prvk /home/user/privateKey.pem –iv 5 –pwd azerty –la 0x20000000 –ep 0x08000000 Стандардниот алгоритам (prime256v1 вредност) е избран и опцијата 0 fladeg). Потпишаниот излез бинарен file (БинарнаFile_Signed.bin) се креира во папката /home/user/

Examp2

-bin /home/User/Folder1/BinaryFile.bin –pubk /home/user/publicKey.pem –prvk /home/user/privateKey.pem –iv 5 –pwd azerty –s –la 0x20000000 –ep 0x08000000 –a 2 –o /home/user/Folder2/FedoldFile.bin Алгоритмот BrainpoolP256t1 е избран во овој случај. Дури и ако Folder2 и Folder3 не постојат, тие се креирани. Со командата –s, дури и ако a file постои со истото наведено име, автоматски се заменува без никаква порака.

Examp3

Потпишете бинарен file користејќи заглавие верзија 2 која вклучува осум јавни клучеви за протокот на автентикација.

./STM32_SigningTool_CLI.exe -bin /home/user/input.bin -pubk publicKey00.pem publicKey01.pem publicKey02.pem publicKey03.pem publicKey04.pem publicKey05.pem publicKey06.pem publicKey07.pem publicKey00. -t fsbl -iv 0x00000000 -la 0x20000000 -ep 0x08000000 -од 0x80000001 -o /home/user/output.stm32

Examp4

Потпишете бинарен file користејќи заглавие верзија 2 која вклучува осум јавни клучеви за автентикација плус проток на шифрирање.

. 32x00 -pwd azerty -la 01x02 -ep 03x04 -t fsbl -од 05x06 -encdc 07x00f0e -enck /home/user/OEM_SECRET.binost.

Examp5

Потврдете ја добиената слика со парсирање на излезот file и проверете го секое поле за заглавие. ./STM32_SigningTool_CLI.exe -dump /home/user/output.stm32

Examp6

Додадете заглавие без потпишување и без распоредување клучеви. STM32_SigningTool_CLI.exe -in input.bin -nk -од 0x0 -iv 1 -hv 2.2 -o излез.stm32

Самостоен режим

Кога се извршува STM32-SignTool во самостоен режим, прво мора да се внесе апсолутна патека. Потоа двапати се бара лозинка за потврда, како што е прикажано на сликата подолу.

Слика 1. STM32-SignTool во самостоен режим

Следните чекори се следните:

  • Изберете еден од двата алгоритми.
  • Внесете ја верзијата на сликата, влезната точка на сликата и адресата за вчитување на сликата.
  • Внесете ја вредноста на знамето на опцијата.

Друг излез file патеката може да се одреди доколку е потребно, или притиснете enter за да продолжите со постоечката.

PKCS#11 решение
Потпишаните бинарни слики се користат за време на безбедната секвенца за подигање STM32 што поддржува доверлив ланец за подигање.
Оваа акција обезбедува проверка на автентикација и интегритет на вчитаните слики.
Класичната команда за потпишување бара сите јавни и приватни клучеви да бидат обезбедени како влез fileс. Овие се
директно достапно од секое лице на кое му е дозволено да ја извршува услугата за потпишување. На крајот на краиштата, ова може да се разгледа
да биде безбедносно протекување. Постојат неколку решенија за заштита на клучевите од какви било обиди да се украдат клучните податоци. Во овој
контекст, усвоено е решението PKCS#11.
PKCS#11 API може да се користи за ракување и складирање на криптографски клучеви. Овој интерфејс одредува како да
комуницираат со криптографски уреди како што се HSM (хардверски безбедносни модули) и паметни картички. На
Целта на овие уреди е да генерираат криптографски клучеви и да потпишат информации без да се открие приватен клуч
материјал за надворешниот свет.
Софтверските апликации можат да го повикаат API за да ги користат овие објекти за:
• Генерирање симетрични/асиметрични копчиња
• Енкрипција и дешифрирање
• Пресметување и верификација на дигиталниот потпис
PKCS #11 им претставува на апликациите заедничко, логично view на уредот кој се нарекува криптографски токен и тоа
доделува ID на слот на секој токен. Апликацијата го идентификува токенот до кој сака да пристапи со наведување на
соодветна ID на слот.
STM32SigningTool се користи за управување со клучните објекти складирани на паметните картички и слична безбедност PKCS#11
токени каде чувствителните приватни клучеви никогаш не го напуштаат уредот.
STM32SigningTool го користи интерфејсот PKCS#11 за манипулирање и потпишување влезни бинарни датотеки базирани на ECDSA
јавни/приватни клучеви. Овие клучеви се чуваат во безбедносни токени (хардвер или софтвер).

Дополнителни PKCS#11 команди

  • – модул (-m)
    • Опис: наведете PKCS#11 модул/пат на библиотека за вчитување (dll, така)
    • Синтакса:-м
    • • –клуч-индекс (-ki)
  • – клуч-индекс (-ки)
    • Опис: список на индекси на користени клучеви во хексадецимален формат
      • Користете еден индекс за заглавие v1 и осум индекси за заглавие v2 (одделени со празно место)
    • Синтакса: -ки
  • -индекс на слот (-si)
    • Опис: наведете го индексот на слотот што ќе се користи (стандардно 0x0)
    • Синтакса:-си
  • – слот – идентификатор (-sid)
    • Опис: наведете го идентификаторот на слотот што ќе се користи (опционално, во децимален или хексадецимален формат)
    • Синтакса:-сид
      • Ако опцијата –slot-identifier се користи истовремено со –slot-index, алатката проверува дали оваа конфигурација се совпаѓа со истиот слот. Идентификаторот го одразува индексот што беше споменат; во спротивно, се појавува грешка.
      • Можно е да се користи –slot-identifier без да се спомене –slot-index. Алатката систематски го пребарува индексот на слотовите.
  • –Индекс на активен клуч (-аки)
    • Опис: наведете го вистинскиот индекс на активниот клуч (стандардно 0)
    • Синтакса: -aki < hexValue >

PKH/PKTH file генерација

По обработката на операцијата за потпишување, алатката систематски го генерира PKH files да се користи по за OTP осигурувач.

  • PKH file именуван како pkcsHashPublicKey0x{active_key_index}.bin за заглавие v1
  • PKTH file со име pkcsPublicKeysHashHashes.bin за заглавие v2

Exampлес

Алатката може да потпише влез files и за заглавието v1 и за заглавието v2, со минимална разлика во командната линија.

  • Заглавие v1
    -bin влез.bin -iv - pwd -ла -еп -т -од -
    -клуч-индекс -аки 0 –модул – слот-индекс -o излез.stm32
  • Заглавие v2
    -bin влез.bin -iv - pwd -ла -еп -т -од – -клуч-индекс -аки - модул – слот-индекс -o излез.stm0

Грешка на командната линија или неможноста на алатката да ги идентификува клучните објекти што се совпаѓаат, предизвикува да се прикаже порака за грешка. Ова укажува на изворот на проблемот. SigningTool може да користи само претходно конфигурирани HSM и не е дизајнирана да управува или создава нови безбедносни објекти. Затоа, неопходно е да се инсталира бесплатен софтвер за да се постави соодветна средина. Потоа може да се генерираат копчињата и да се добијат информации за објектите.

Опција за идентификатор на слот:

  • -bin input.bin –тип fsbl -hv 1 –key-index 0x40 -aki 0 ​​–module softhsm2.dll –лозинка prg-dev -ep 0x2ffe4000 -s -si 0 -sid 0x51a53ad8 -la 0x2ffc2500 -0 -iv излез.stm0

Грешка прamples:

  • Неважечки индекс на слот

Слика 2. HSM TOKEN_NOT_RECOGNIZED
Непознат клучен објект што се споменува во командата –key-index

Слика 3. HSM OBJECT_HANDLE_INVALID

Алатката ги третира предметите последователно. Ако не може да ги идентификува соодветните клучни објекти при првиот обид, операцијата за потпишување го запира процесот. Потоа се прикажува порака за грешка за да се покаже изворот на проблемот.

Историја на ревизии

Табела 2. Историја на ревизија на документ

Датум Верзија Промени
14-февруари 2019 година 1 Почетно ослободување.
 

 

26-ноември-2021

 

 

2

Ажурирано:

• Дел 2.1: Наредби

• Дел 2.2: Прamples за STM32-SignTool

• Додадено е Дел 2.4: PKCS#11 решение

27-јуни-2022 3 Ажуриран дел 2.1: Команди
 

 

 

26-јуни-2024

 

 

 

4

Заменет во целиот документ:

• серија STM32MP1 од серија STM32MPx

• STM32MP1-SignTool од STM32MP-SignTool

• STM32MP1-KeyGen од STM32MP-KeyGen

Ажурирани –public-key –pubk и додадени –header-version (-hv) и –no-keys (-nk) во Дел 2.1: Команди.

Додадено е „Прample 6“ во Дел 2.2: Прamples за STM32-SignTool.

 

 

 

14-ноември-2024

 

 

 

5

Додадено:

• Серијата STM32N6 на применливите производи Заменета во целиот документ:

• STM32MP од STM32

Ажурирано:

• Дел 2.1: Наредби

 

06-мар-2025

 

6

Ажурирано:

• Дел 2.4.1: Дополнителни PKCS#11 команди

• Дел 2.4.3: Прampлес

ВАЖНО НАПОМЕНА – ПРОЧИТАЈТЕ ВНИМАТЕЛНО

STMicroelectronics NV и нејзините подружници („ST“) го задржуваат правото да прават промени, корекции, подобрувања, модификации и подобрувања на STproducts и/или на овој документ во секое време без претходна најава. Купувачите треба да ги добијат најновите релевантни информации за производите на ST пред да направат нарачки. Производите на ST се продаваат во согласност со одредбите и условите за продажба на ST кои се на сила во моментот на потврдата на нарачката. Набавувачите се единствено одговорни за изборот, изборот и употребата на производите на ST и ST не презема никаква одговорност за помош при апликација или дизајнирање на производите на купувачите. Ниту една лиценца, експлицитна или имплицитна, за кое било право на интелектуална сопственост не е дадена од страна на ST овде. Препродажбата на производите на ST со одредби различни од информациите наведени овде ќе ја поништи секоја гаранција дадена од ST за таков производ. ST и логото ST се заштитни знаци на ST. За дополнителни информации за ST заштитните знаци, погледнете на www.st.com/trademarks. Сите други имиња на производи или услуги се сопственост на нивните соодветни сопственици. Информациите во овој документ ги заменуваат и заменуваат информациите претходно доставени во која било претходна верзија на овој документ.

© 2025 STMicroelectronics – Сите права се задржани

Најчесто поставувани прашања

  • П: Што да направам ако наидам на грешки додека користам STM32-SignTool?
    • О: Проверете ја синтаксата на командата, проверете дали сите потребни параметри се правилно обезбедени и погледнете го упатството за корисникот за совети за решавање проблеми.
  • П: Може ли да користам STM32-SignTool на различни оперативни системи?
    • О: STM32-SignTool е дизајниран да работи на одредени оперативни системи. Погледнете во спецификациите на софтверот за детали за компатибилноста.

Документи / ресурси

ST Microelectronics STM32 Signing Tool Software [pdf] Упатство за користење
STM32N6 серија, STM32MP1, STM32MP2 серија, STM32 Signing Tool Software, STM32, Signing Tool Software, Tool Software, Software

Референци

Оставете коментар

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени *