Logo nástroje pro podepisování

Software pro podpisový nástroj řady STM32MPx

Informace o produktu

Specifikace:

  • Název produktu: STM32MP-SignTool
  • Verze: UM2543 – Rev 4
  • Datum vydání: červen 2024

Návod k použití produktu

Instalace:
Chcete-li nainstalovat STM32MP-SignTool, postupujte podle kroků uvedených v uživatelské příručce.

Rozhraní příkazového řádku:
Při použití nástroje STM32MP-SignTool z příkazového řádku jsou k dispozici následující příkazy:

  • –binary-image(-bin), –input(-in)
  • –verze obrázku (-iv)
  • –soukromý klíč (-prvk)
  • –veřejný-klíč –pubk

Examples:
Viz exampníže, abyste pochopili, jak efektivně používat STM32MP-SignTool:

  1. Example 1: Výchozí výběr algoritmu a výstup file stvoření.
  2. Example 2: Podepisování binárního souboru file s hlavičkou verze 2 a více veřejnými klíči.

Samostatný režim:
Při použití nástroje STM32MP-SignTool v samostatném režimu postupujte takto:

  1. Nejprve zadejte absolutní cestu.
  2. Zadejte požadované informace, jako je výběr algoritmu, verze obrázku, vstupní bod a adresa načtení.

Často kladené otázky (FAQ)

  • Jak ověřím výstupní obrázek file?
    Výsledný obrázek můžete ověřit analýzou výstupu file a kontrolu každého pole záhlaví. Použijte příkaz:  ./STM32MP_SigningTool_CLI.exe -dump /home/user/output.stm32
  • Jaký je rozdíl mezi verzemi záhlaví pro podepisování?
    Verze hlavičky určuje počet veřejných klíčů potřebných pro autentizaci. Napřample, záhlaví verze 1 vyžaduje jednu klíčovou cestu pro produkty STM32MP15xx, zatímco záhlaví verze 2 a vyšší vyžaduje osm klíčových cest pro ostatní.

Zavedení

  • Software pro podpisový nástroj řady STM32MPx (v tomto dokumentu pojmenovaný STM32MP-SignTool) je integrován v STM32CubeProgrammer (STM32CubeProg).
  • STM32MP-SignTool je klíčový nástroj, který zaručuje bezpečnou platformu a zajišťuje podepisování binárních obrázků pomocí ECC klíčů generovaných softwarem STM32MP-KeyGen (další podrobnosti viz uživatelská příručka s popisem softwaru generátoru klíčů řady STM32MPx (UM2542).
  • Podepsané binární obrazy se používají během bezpečné spouštěcí sekvence MPU řady STM32MPx, která podporuje důvěryhodný zaváděcí řetězec. Tato akce zajišťuje ověření a kontrolu integrity načtených obrázků.
  • STM32MP-SignTool generuje binární obraz file, veřejný klíč filea soukromý klíč file.
  • Binární obraz file obsahuje binární data, která mají být pro zařízení naprogramována.
  • Veřejný klíč file obsahuje veřejný klíč ECC ve formátu PEM, vygenerovaný pomocí STM32MP-KeyGen.
  • Soukromý klíč file obsahuje zašifrovaný soukromý klíč ECC ve formátu PEM vygenerovaný pomocí STM32MP-KeyGen.
  • Podepsaný binární soubor file lze také vygenerovat z již podepsaného file s dávkou file režimu. V tomto případě nejsou povinné následující parametry: vstupní bod obrázku, adresa načtení obrázku a parametry verze obrázku.

Nainstalujte STM32MP-SignTool

  • Tento nástroj se instaluje s balíčkem STM32CubeProgrammer (STM32CubeProg). Další informace o postupu nastavení naleznete v části 1.2 uživatelské příručky Popis softwaru STM32CubeProgrammer (UM2237).
  • Tento software platí pro MPU založené na Arm® řady STM32MPx.
    Poznámka: Arm je registrovaná ochranná známka společnosti Arm Limited (nebo jejích dceřiných společností) v USA a/nebo jinde.

Rozhraní příkazového řádku STM32MP-SignTool

Následující části popisují, jak používat STM32MP-SignTool z příkazového řádku.

Příkazy
Dostupné příkazy jsou uvedeny níže:

  • –binary-image(-bin), –input(-in)
    • Popis: binární obraz file cesta (přípona .bin)
    • Syntax: 1 -bin /home/User/binaryFile.zásobník
    • Syntax :2 -in /home/User/binaryFile.zásobník
  • –verze obrázku (-iv)
    • Popis: zadá verzi obrázku podepsaného obrázku file
    • Syntax: -iv
  • –soukromý klíč (-prvk)
    • Popis: soukromý klíč file cesta (přípona .pem)
    • Syntax: -prvkfile_cesta>
    • Exampten: -prvk ../privateKey.pem
  • –veřejný-klíč –pubk
    • Popis: veřejný klíč file cesty
    • Syntax: -hospodaFile_Cesta{1..8}>
      • Pro záhlaví v1: použijte pouze jednu klíčovou cestu pro produkty STM32MP15xx
      • Pro záhlaví v2 a vyšší: pro ostatní použijte osm klíčových cest
  • –heslo (-pwd)
    • Popis: heslo soukromého klíče (toto heslo musí obsahovat alespoň čtyři znaky)
    • Exampten: -pwd azerty
  • –adresa nakládky (-la)
    • Popis: adresa načtení obrázku
    • Exampten: -Los Angeles
  • –vstupní bod (-ep)
    • Popis: vstupní bod obrazu
    • Exampten: -ep
  • –příznaky-option (-of)
    • Popis: příznaky možností obrázku (výchozí hodnota = 0)
    • Exampten: -z
  • –algoritmus (-a)
    • Popis: určuje jeden z prime256v1 (hodnota 1, výchozí) nebo brainpoolP256t1 (hodnota 2)
    • Exampten: -a <2>
  • –výstup (-o)
    • Popis: výstup file cesta. Tento parametr je volitelný. Pokud není uvedeno, výstup file je generován u stejného zdroje file cesta (napřample, binární obraz file je C:\BinaryFile.zásobník). Podepsané binární číslo file je C:\BinaryFile_Signed.bin.
    • Syntax: -ÓFile_Cesta>
  • –typ (-t)
    • Popis: binární typ. Možné hodnoty jsou ssbl, fsbl, teeh, teed, teex a copro
    • Syntax: -t
  • – tichý (-s)
    Popis: nezobrazí se žádná zpráva pro nahrazení stávajícího výstupu file
  • –pomoc (-h a -?)
    Popis:
    ukazuje nápovědu
  • –verze (-v)
    Popis: zobrazí verzi nástroje
  • –enc-dc (-encdc)
    • Popis: derivační konstanta šifrování pro šifrování FSBL [header v2]
    • Syntax: -encdc
  • –enc-key (-enck)
    • Popis: OEM tajemství file pro šifrování FSBL [header v2]
    • Syntax: -enck
  • –dump-header (–dump)
    • Popis: analyzovat a vypsat záhlaví obrázku
    • Syntax: -skládkaFile_Cesta>
  • –header-version (-hv)
    • Popis: verze podpisové hlavičky, možné hodnoty: 1, 2, 2.1, 2.2
    •  Example pro STM32MP15: -hv 2
    • Example pro STM32MP25: -hv 2.2
  • –žádné klíče (-nk)
    • Popis: přidání prázdné hlavičky bez klíčových možností
    • Oznámení: je třeba zakázat volbu ověřování pomocí příkazu Option flags.

Exampsoubory pro STM32MP-SignTool
Následující exampsoubory ukazují, jak používat STM32MP-SignTool:

  • Example 1 

    STM32MPx-Series-Podepisovací-Nástroj-Software-obr-1
    Je vybrán výchozí algoritmus (prime256v1) a hodnota příznaku volby je 0 (výchozí hodnota). Binární výstup se znaménkem file (BinárníFile_Signed.bin) se vytvoří ve složce /home/user/

  • Example 2STM32MPx-Series-Podepisovací-Nástroj-Software-obr-2

    V tomto případě je vybrán algoritmus BrainpoolP256t1. I když Složka2 a Složka3 neexistuje, jsou vytvořeny. S příkazem –s, i když a file existuje se stejným zadaným názvem, je automaticky nahrazen bez jakékoli zprávy.

  • Example 3
    Podepište binární kód file pomocí hlavičky verze 2, která obsahuje osm veřejných klíčů pro tok ověřování.STM32MPx-Series-Podepisovací-Nástroj-Software-obr-3
  • Example 4
    Podepište binární kód file pomocí hlavičky verze 2, která obsahuje osm veřejných klíčů pro autentizaci plus tok šifrování.STM32MPx-Series-Podepisovací-Nástroj-Software-obr-4
  • Example 5
    Ověřte výsledný obrázek analýzou výstupu file a zkontrolujte každé pole záhlaví.STM32MPx-Series-Podepisovací-Nástroj-Software-obr-5
  • Example 6
    Přidejte záhlaví bez podepisování a bez nasazení klíčů.STM32MPx-Series-Podepisovací-Nástroj-Software-obr-6

Samostatný režim
Při provádění STM32MP-SignTool v samostatném režimu je nutné nejprve zadat absolutní cestu. Poté je dvakrát požadováno heslo pro potvrzení, jak je znázorněno na obrázku níže.

STM32MPx-Series-Podepisovací-Nástroj-Software-obr-7

Další kroky jsou následující:

  • Vyberte jeden ze dvou algoritmů.
  • Zadejte verzi obrázku, vstupní bod obrázku a adresu pro načtení obrázku.
  • Zadejte hodnotu příznaku možnosti.
    Další výstup file cestu lze v případě potřeby zadat nebo stisknutím klávesy Enter pokračovat ve stávající.
řešení PKCS#11
  • Podepsané binární obrazy se používají během sekvence zabezpečeného spouštění STM32MP, která podporuje důvěryhodný řetězec spouštění. Tato akce zajišťuje ověření a kontrolu integrity načtených obrázků.
  • Klasický podepisovací příkaz vyžaduje, aby byly jako vstup poskytnuty všechny veřejné a soukromé klíče files. Ty jsou přímo přístupné každé osobě, která má oprávnění vykonávat službu podepisování. V konečném důsledku to lze považovat za bezpečnostní únik. Existuje několik řešení, jak klíče chránit před jakýmikoli pokusy o krádež dat klíče. V této souvislosti bylo přijato řešení PKCS#11.
  • PKCS#11 API lze použít ke zpracování a ukládání kryptografických klíčů. Toto rozhraní určuje, jak komunikovat s kryptografickými zařízeními, jako jsou HSM (hardwarové bezpečnostní moduly) a čipové karty. Účelem těchto zařízení je generovat kryptografické klíče a podepisovat informace, aniž by se vnějšímu světu odkryl materiál se soukromým klíčem.
  • Softwarové aplikace mohou volat rozhraní API a používat tyto objekty pro:
    • Generování symetrických/asymetrických klíčů
    • Šifrování a dešifrování
    • Výpočet a ověření digitálního podpisu
  • PKCS #11 představuje pro aplikace běžné, logické view zařízení, které se nazývá kryptografický token, a každému tokenu přiřadí ID slotu. Aplikace identifikuje token, ke kterému chce získat přístup, zadáním příslušného ID slotu.
  • Nástroj STM32SigningTool se používá ke správě klíčových objektů uložených na čipových kartách a podobných bezpečnostních tokenech PKCS#11, kde citlivé soukromé klíče nikdy neopustí zařízení.
  • Nástroj STM32SigningTool používá rozhraní PKCS#11 k manipulaci a podepisování vstupních binárních souborů na základě veřejných/soukromých klíčů ECDSA. Tyto klíče jsou uloženy v bezpečnostních tokenech (hardwarových nebo softwarových).

Další příkazy PKCS#11

  • –modul (-m)
    • Popis: zadejte cestu modulu/knihovny PKCS#11 k načtení (dll, takže)
    • Syntaxe: -m
  • –index klíče (-ki)
    • –index klíče (-ki)
    • Popis: seznam použitých indexů klíčů v hexadecimálním formátu
      Použijte jeden index pro záhlaví v1 a osm indexů pro záhlaví v2 (oddělené mezerou)
    • Syntax: -ki
  • –slot-index (-si)
    • Popis: zadejte index slotu, který se má použít (výchozí 0x0)
    • Syntaxe: -si
  • –active-keyIndex (-aki)
    • Popis: zadejte skutečný aktivní index klíče (výchozí 0)
    • Syntax: -aki < hexValue >

PKH/PKTH file generace
Po zpracování operace podpisu nástroj systematicky generuje PKH files použít po pro pojistku OTP.

  • PKH file s názvem pkcsHashPublicKey0x{active_key_index}.bin pro záhlaví v1
  • PKTH file s názvem pkcsPublicKeysHashHashes.bin pro hlavičku v2

Examples
Nástroj může podepisovat vstup files pro záhlaví v1 i záhlaví v2, s minimálním rozdílem v příkazovém řádku.

  • Záhlaví v1 

    STM32MPx-Series-Podepisovací-Nástroj-Software-obr-8

  • Záhlaví v2 

    STM32MPx-Series-Podepisovací-Nástroj-Software-obr-9

    • Chyba na příkazovém řádku nebo neschopnost nástroje identifikovat klíčové objekty, které se shodují, způsobí zobrazení chybové zprávy. To ukazuje na zdroj problému.
    • SigningTool je schopen používat pouze předem nakonfigurované HSM a není určen ke správě nebo vytváření nových objektů zabezpečení. Pro nastavení vhodného prostředí je proto nutné nainstalovat svobodný software. Poté lze vygenerovat klíče a získat informace o objektech.

Chyba examples:

  • Neplatný index slotuSTM32MPx-Series-Podepisovací-Nástroj-Software-obr-10
  • Neznámý objekt klíče, který je zmíněn v příkazu –key-indexSTM32MPx-Series-Podepisovací-Nástroj-Software-obr-11
    Nástroj zpracovává objekty postupně. Pokud nemůže identifikovat odpovídající klíčové objekty na první pokus, operace podpisu proces zastaví. Poté se zobrazí chybová zpráva označující zdroj problému.

Historie revizí

Datum Verze Změny
14. února 2019 1 Počáteční vydání.
 

 

26-listopad-2021

 

 

2

Aktualizováno:

• Část 2.1: Příkazy

• Oddíl 2.2: Přampsoubory pro STM32MP-SignTool

• Přidána sekce 2.4: Řešení PKCS#11

27. června 2022 3 Aktualizována sekce 2.1: Příkazy
 

 

 

26. června 2024

 

 

 

4

V celém dokumentu nahrazeno:

• Řada STM32MP1 od řady STM32MPx

• STM32MP1-SignTool od STM32MP-SignTool

• STM32MP1-KeyGen od STM32MP-KeyGen

Aktualizováno –public-key –pubk a přidáno –header-version (-hv) a –no-keys (- nk) v sekci 2.1: Příkazy.

Přidán „Příklad 6“ v sekci 2.2: Přampsoubory pro STM32MP-SignTool.

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 najdete na 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.
    © 2024 STMicroelectronics – Všechna práva vyhrazena

Dokumenty / zdroje

Software pro podpisový nástroj řady ST STM32MPx [pdfUživatelská příručka
Software pro podpisový nástroj řady STM32MPx, řada STM32MPx, software pro podpisový nástroj, nástrojový software, software

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *