ST Microelectronics STM32 Signing Tool Software

Úvod

Softvér podpisového nástroja STM32 (v tomto dokumente nazývaný STM32-SignTool) je integrovaný v STM32CubeProgrammer (STM32CubeProg). STM32-SignTool je kľúčový nástroj, ktorý zaručuje bezpečnú platformu a zabezpečuje podpisovanie binárnych obrazov pomocou kľúčov ECC generovaných softvérom STM32-KeyGen (ďalšie podrobnosti nájdete v používateľskej príručke s popisom softvéru generátora kľúčov STM32 (UM2542). Podpísané binárne obrazy sa používajú počas sekvencie bezpečného zavádzania STM32, ktorá podporuje dôveryhodný reťazec zavádzania. Táto akcia zabezpečuje overenie a kontrolu integrity načítaných obrázkov. STM32-SignTool generuje binárny obraz file, verejný kľúč filea súkromný kľúč file. Binárny obraz file obsahuje binárne dáta, ktoré sa majú naprogramovať pre zariadenie. Verejný kľúč file obsahuje verejný kľúč ECC vo formáte PEM, vygenerovaný pomocou STM32-KeyGen. Súkromný kľúč file obsahuje zašifrovaný súkromný kľúč ECC vo formáte PEM vygenerovaný pomocou STM32-KeyGen. Podpísaná binárna sústava file možno vygenerovať aj z už podpísaného file s dávkou file režim. V tomto prípade nie sú povinné nasledujúce parametre: vstupný bod obrázka, adresa načítania obrázka a parametre verzie obrázka. Tento dokument sa vzťahuje na produkty uvedené v tabuľke nižšie.

Tabuľka 1. Použiteľné produkty

Typ produktu Číslo dielu alebo produktová séria
mikroradič Séria STM32N6
Mikroprocesor Séria STM32MP1 a STM32MP2

V nasledujúcich častiach sa STM32 vzťahuje na produkty uvedené vo vyššie uvedenej tabuľke, pokiaľ nie je uvedené inak.

Nainštalujte STM32-SignTool

Tento nástroj sa inštaluje s balíkom STM32CubeProgrammer (STM32CubeProg). Viac informácií o postupe nastavenia nájdete v časti 1.2 používateľskej príručky s popisom softvéru STM32CubeProgrammer (UM2237). Tento softvér podporuje produkty STM32 založené na procesore Arm® Cortex®.

Poznámka: Arm je registrovaná ochranná známka spoločnosti Arm Limited (alebo jej dcérskych spoločností) v USA a/alebo inde.

Rozhranie príkazového riadka STM32-SignTool

Nasledujúce časti popisujú, ako používať STM32-SignTool z príkazového riadka.

Príkazy

Dostupné príkazy sú uvedené nižšie:

  • –binary-image(-bin), –input(-in)
    • Popis: binárny obrázok file cesta (prípona .bin)
    • Syntax: 1 -bin /home/Používateľ/binárnyFile.bin
    • Syntax: 2 -in /home/User/binaryFile.bin
  • –verzia obrázka (-iv)
    • Popis: zadá obrazovú verziu podpísaného obrázka file
    • Syntax: -iv
  • –súkromný kľúč (-prvk)
    • Popis: súkromný kľúč file cesta (prípona .pem)
    • Syntax: -prvkfile_cesta>
    • Example: -prvk ../privateKey.pem
  • –verejný-kľúč -pubk
    • Popis: verejný kľúč file cesty
    • Syntax: -pubkFile_Cesta{1..8}>
      • Pre hlavičku v1: použite iba jednu kľúčovú cestu pre produkty STM32MP15xx
      • Pre hlavičku v2 a vyššie: pre ostatné použite osem kľúčových ciest
  • -heslo (-pwd)
    • Popis: heslo súkromného kľúča (toto heslo musí obsahovať aspoň štyri znaky)
    • Example: -pwd azerty
    • • –načítacia-adresa (-la)
    • Popis: adresa načítania obrázka
    • Example: -la
  • –vstupný bod (-ep)
    • Popis: vstupný bod obrázka
    • Example: -ep
  • –príznaky-opcie (-of)
    • Popis: príznaky možností obrázka (predvolená hodnota = 0)
    • Example: -of
  • –algoritmus (-a)
    • Popis: určuje jednu z možností prime256v1 (hodnota 1, predvolená hodnota) alebo brainpoolP256t1 (hodnota 2)
    • Example: -a <2>
  • -výstup (-o)
    • Popis: výstup file cesta. Tento parameter je voliteľný. Ak nie je uvedené, výstup file je generovaný z toho istého zdroja file cesta (naprample, binárny obraz file je C:\BinaryFile.bin). Podpísaná binárna sústava file je C:\BinaryFile_Signed.bin.
    • Syntax: -oFile_Cesta>
  • -typ (-t)
    • Popis: binárny typ. Možné hodnoty sú ssbl, fsbl, teeh, teed, teex a copro
    • Syntax: -t
  • -tichý (-s)
    • Popis: nezobrazuje sa žiadna správa o nahradení existujúceho výstupu file
  • -pomoc (-h a -?)
    • Popis: zobrazuje pomoc
  • -verzia (-v)
    • Popis: zobrazuje verziu nástroja
  • –enc-dc (-encdc)
    • Popis: konštanta odvodzovania šifrovania pre šifrovanie FSBL [hlavička v2]
    • Syntax: -encdc
  • –enc-key (-enck)
    • Popis: Tajomstvo OEM file pre šifrovanie FSBL [header v2]
    • Syntax: -enck
  • –dump-header (–dump)
    • Popis: analyzovať a vypísať hlavičku obrázka
    • Syntax: -dumpFile_Cesta>
  • –header-version (-hv)
    • Popis: verzia podpisovej hlavičky, možné hodnoty: 1, 2, 2.1, 2.2 a 2.3
    • Example pre STM32MP15xx: -hv 2
    • Example pre STM32MP25xx: -hv 2.2
    • Example pre STM32N6xxx: -hv 2.3
  • – bez kľúčov (-nk)
    • Popis: pridanie prázdnej hlavičky bez kľúčových možností
    • Upozornenie: je potrebné vypnúť možnosť overovania pomocou príkazu option flags

Exampsúbory pre STM32-SignTool

Nasledujúce exampsúbory ukazujú, ako používať STM32-SignTool:

Example 1

-bin /home/User/BinaryFile.bin –pubk /home/user/publicKey.pem –prvk /home/user/privateKey.pem –iv 5 –pwd azerty –la 0x20000000 –ep 0x08000000 Je vybraný predvolený algoritmus (prime256v1) a hodnota príznaku možnosti je 0 (predvolená hodnota). Výstupný binárny súbor so znamienkom file (BinárneFile_Signed.bin) sa vytvorí v priečinku /home/user/

Example 2

-bin /home/Používateľ/Priečinok1/BinárnyFile.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/Folder3/podpísanéFile.bin V tomto prípade sa vyberie algoritmus BrainpoolP256t1. Aj keď priečinky Priečinok2 a Priečinok3 neexistujú, vytvoria sa. Príkazom –s, aj keď file existuje s rovnakým zadaným názvom, automaticky sa nahradí bez akejkoľvek správy.

Example 3

Podpíšte binárne číslo file pomocou hlavičky verzie 2, ktorá obsahuje osem verejných kľúčov pre tok autentifikácie.

./STM32_SigningTool_CLI.exe -bin /home/user/input.bin -pubk publicKey00.pem publicKey01.pem publicKey02.pem publicKey03.pem publicKey04.pem publicKey05.pem publicKeypemp06.p privateKey07.pem -pwd azerty -t fsbl -iv 00x0 -la 00000000x0 -ep 20000000x0 -of 08000000x0 -o /home/user/output.stm80000001

Example 4

Podpíšte binárne číslo file pomocou hlavičky verzie 2, ktorá obsahuje osem verejných kľúčov na autentifikáciu plus tok šifrovania.

./STM32_SigningTool_CLI.exe -bin /home/user/input.bin -pubk publicKey00.pem publicKey01.pem publicKey02.pem publicKey03.pem publicKey04.pem publicKey05.pem publicKeypemp06.p privateKey07.pem -iv 00x0 -pwd azerty -la 00000000x0 -ep 20000000x0 -t fsbl -of 08000000x0 -encdc 00000003x0f25205e -enck /OEMo_home -/us /home/user/output.stm0

Example 5

Overte výsledný obrázok analýzou výstupu file a skontrolujte každé pole hlavičky. ./STM32_SigningTool_CLI.exe -dump /home/user/output.stm32

Example 6

Pridať hlavičku bez podpisovania a bez nasadenia kľúčov. STM32_SigningTool_CLI.exe -in input.bin -nk -of 0x0 -iv 1 -hv 2.2 -o output.stm32

Samostatný režim

Pri spustení STM32-SignTool v samostatnom režime je potrebné najprv zadať absolútnu cestu. Potom sa na potvrdenie dvakrát požaduje heslo, ako je znázornené na obrázku nižšie.

Obrázok 1. STM32-SignTool v samostatnom režime

Ďalšie kroky sú nasledovné:

  • Vyberte jeden z dvoch algoritmov.
  • Zadajte verziu obrázka, vstupný bod obrázka a adresu načítania obrázka.
  • Zadajte hodnotu príznaku možnosti.

Ďalší výstup file V prípade potreby je možné zadať cestu alebo stlačením klávesu Enter pokračovať v existujúcej.

PKCS#11 riešenie
Podpísané binárne obrazy sa používajú počas zabezpečenej bootovacej sekvencie STM32, ktorá podporuje dôveryhodný bootovací reťazec.
Táto akcia zabezpečuje overenie autentifikácie a kontrolu integrity načítaných obrázkov.
Klasický príkaz na podpis vyžaduje, aby sa ako vstup poskytli všetky verejné a súkromné ​​kľúče files. Toto sú
priamo prístupné akejkoľvek osobe, ktorá je oprávnená vykonávať službu podpisovania. V konečnom dôsledku sa to môže považovať za
ako bezpečnostný únik. Existuje niekoľko riešení na ochranu kľúčov pred akýmkoľvek pokusom o krádež kľúčových údajov. V tomto
V tomto kontexte bolo prijaté riešenie PKCS#11.
Rozhranie API PKCS#11 sa dá použiť na spracovanie a ukladanie kryptografických kľúčov. Toto rozhranie určuje, ako
komunikovať s kryptografickými zariadeniami, ako sú HSM (hardvérové ​​bezpečnostné moduly) a inteligentné karty.
Účelom týchto zariadení je generovať kryptografické kľúče a podpisovať informácie bez odhalenia súkromného kľúča.
materiál pre vonkajší svet.
Softvérové ​​aplikácie môžu volať API na použitie týchto objektov na:
• Generovanie symetrických/asymetrických kľúčov
• Šifrovanie a dešifrovanie
• Výpočet a overenie digitálneho podpisu
PKCS #11 predstavuje pre aplikácie bežné, logické view zariadenia, ktoré sa nazýva kryptografický token a
priradí každému tokenu ID slotu. Aplikácia identifikuje token, ku ktorému chce pristupovať, zadaním
príslušné ID slotu.
Nástroj STM32SigningTool sa používa na správu kľúčových objektov uložených na inteligentných kartách a podobných bezpečnostných nástrojoch PKCS#11.
tokeny, kde citlivé súkromné ​​kľúče nikdy neopúšťajú zariadenie.
STM32SigningTool používa rozhranie PKCS#11 na manipuláciu a podpisovanie vstupných binárnych súborov na základe ECDSA.
verejné/súkromné ​​kľúče. Tieto kľúče sú uložené v bezpečnostných tokenoch (hardvérových alebo softvérových).

Ďalšie príkazy PKCS#11

  • –modul (-m)
    • Popis: zadajte cestu k modulu/knižnici PKCS#11, ktorá sa má načítať (dll, so)
    • Syntax: -m
    • • –kľúčový index (-ki)
  • –index kľúča (-ki)
    • Popis: zoznam použitých indexov kľúčov v hexadecimálnom formáte
      • Použite jeden index pre hlavičku v1 a osem indexov pre hlavičku v2 (oddelené medzerou)
    • Syntax: -ki
  • –slot-index (-si)
    • Popis: zadajte index slotu, ktorý sa má použiť (predvolene 0x0)
    • Syntax: -si
  • –identifikátor slotu (-sid)
    • Popis: zadajte identifikátor slotu, ktorý sa má použiť (voliteľné, v desiatkovom alebo šestnástkovom formáte)
    • Syntax: -sid
      • Ak sa možnosť –slot-identifier používa súčasne s –slot-index, nástroj skontroluje, či sa táto konfigurácia zhoduje s rovnakým slotom. Identifikátor odráža index, ktorý bol spomenutý; v opačnom prípade sa vyskytne chyba.
      • Parameter –slot-identifier je možné použiť aj bez zmienky o parametere –slot-index. Nástroj systematicky prehľadáva index slotov.
  • –active-keyIndex (-aki)
    • Popis: zadajte aktuálny aktívny index kľúča (predvolene 0)
    • Syntax: -aki < hexHodnota>

PKH/PKTH file generácie

Po spracovaní operácie podpisu nástroj systematicky generuje PKH files použiť po pre poistku OTP.

  • PKH file s názvom pkcsHashPublicKey0x{active_key_index}.bin pre hlavičku v1
  • PKTH file s názvom pkcsPublicKeysHashHashes.bin pre hlavičku v2

Examples

Nástroj môže podpísať vstup files pre hlavičku v1 aj hlavičku v2, s minimálnym rozdielom v príkazovom riadku.

  • Hlavička v1
    -bin vstup.bin -iv heslo -la -ep -t -z –
    -key-index -aki 0 ​​–modul –index slotu -o výstup.stm32
  • Hlavička v2
    -bin vstup.bin -iv heslo -la -ep -t -z – -kľúčový index -aki –modul –index slotu -o výstup.stm0

Chyba v príkazovom riadku alebo neschopnosť nástroja identifikovať zhodné kľúčové objekty spôsobí zobrazenie chybového hlásenia. Toto hlásenie označuje zdroj problému. Nástroj SigningTool dokáže používať iba predkonfigurované HSM a nie je určený na správu ani vytváranie nových bezpečnostných objektov. Preto je potrebné nainštalovať bezplatný softvér na nastavenie vhodného prostredia. Kľúče je potom možné vygenerovať a získať informácie o objektoch.

Možnosť identifikátora slotu:

  • -bin vstup.bin – typ fsbl -hv 1 – index-kľúča 0x40 -aki 0 ​​– modul softhsm2.dll – heslo prg-dev -ep 0x2ffe4000 -s -si 0 -sid 0x51a53ad8 -la 0x2ffc2500 -iv 0 -of 0x80000000 -o výstup.stm32

Chyba napramples:

  • Neplatný index priestoru

Obrázok 2. HSM TOKEN_NOT_RECOGNIZED
Neznámy objekt kľúča, ktorý je uvedený v príkaze –key-index

Obrázok 3. HSM OBJECT_HANDLE_INVALID

Nástroj spracováva objekty postupne. Ak nedokáže identifikovať zhodné kľúčové objekty na prvý pokus, operácia podpisu zastaví proces. Potom sa zobrazí chybové hlásenie označujúce zdroj problému.

História revízií

Tabuľka 2. História revízií dokumentu

Dátum Verzia Zmeny
14. februára 2019 1 Prvotné uvoľnenie.
 

 

26. novembra-2021

 

 

2

Aktualizované:

• Časť 2.1: Príkazy

• Časť 2.2: Exampsúbory pre STM32-SignTool

• Pridaná časť 2.4: Riešenie PKCS#11

27-jún-2022 3 Aktualizovaná časť 2.1: Príkazy
 

 

 

26-jún-2024

 

 

 

4

Nahradené v celom dokumente:

• Séria STM32MP1 a STM32MPx

• STM32MP1-SignTool od STM32MP-SignTool

• STM32MP1-KeyGen od STM32MP-KeyGen

Aktualizované –public-key –pubk a pridané –header-version (-hv) a –no-keys (- nk) v časti 2.1: Príkazy.

Pridané „Ex“ample 6“ v časti 2.2: Prampsúbory pre STM32-SignTool.

 

 

 

14. novembra-2024

 

 

 

5

Pridané:

• Séria STM32N6 na príslušné produkty Nahradené v celom dokumente:

• STM32MP od STM32

Aktualizované:

• Časť 2.1: Príkazy

 

06-mar-2025

 

6

Aktualizované:

• Časť 2.4.1: Ďalšie príkazy PKCS#11

• Časť 2.4.3: Examples

DÔLEŽITÉ UPOZORNENIE – POZORNE ČÍTAJTE

Spoločnosť STMicroelectronics NV a jej dcérske spoločnosti („ST“) si vyhradzujú právo kedykoľvek bez predchádzajúceho upozornenia vykonávať zmeny, opravy, vylepšenia, úpravy a vylepšenia produktov ST a/alebo tohto dokumentu. Kupujúci by si mali pred zadaním objednávky zaobstarať najnovšie relevantné informácie o produktoch ST. Produkty ST sa predávajú v súlade s predajnými podmienkami spoločnosti ST platnými v čase potvrdenia objednávky. Kupujúci sú výlučne zodpovední za výber, výber a používanie produktov ST a ST nepreberá žiadnu zodpovednosť za pomoc s aplikáciou ani za dizajn produktov kupujúcich. Spoločnosť ST týmto neudeľuje žiadnu licenciu, výslovnú ani implicitnú, na žiadne právo duševného vlastníctva. Ďalší predaj produktov ST s ustanoveniami odlišnými od informácií uvedených v tomto dokumente ruší akúkoľvek záruku poskytnutú spoločnosťou ST na takýto produkt. ST a logo ST sú ochranné známky spoločnosti ST. Ďalšie informácie o ochranných známkach ST nájdete na stránke www.st.com/trademarks. Všetky ostatné názvy produktov alebo služieb sú majetkom ich príslušných vlastníkov. Informácie v tomto dokumente nahrádzajú informácie predtým poskytnuté v akýchkoľvek predchádzajúcich verziách tohto dokumentu.

© 2025 STMicroelectronics – Všetky práva vyhradené

FAQ

  • Otázka: Čo mám robiť, ak pri používaní nástroja STM32-SignTool narazím na chyby?
    • A: Skontrolujte syntax príkazu, uistite sa, že sú správne zadané všetky požadované parametre a pozrite si tipy na riešenie problémov v používateľskej príručke.
  • Otázka: Môžem použiť STM32-SignTool na rôznych operačných systémoch?
    • A: STM32-SignTool je navrhnutý tak, aby fungoval na špecifických operačných systémoch. Podrobnosti o kompatibilite nájdete v špecifikáciách softvéru.

Dokumenty / zdroje

ST Microelectronics STM32 Signing Tool Software [pdfPoužívateľská príručka
STM32N6 séria, STM32MP1, STM32MP2 séria, STM32 Signing Tool Software, STM32, Signing Tool Software, Tool Software, Software

Referencie

Zanechajte komentár

Vaša emailová adresa nebude zverejnená. Povinné polia sú označené *