Programari de l'eina de signatura de la sèrie STM32MPx
Informació del producte
Especificacions:
- Nom del producte: STM32MP-SignTool
- Versió: UM2543 - Rev 4
- Data de llançament: juny de 2024
Instruccions d'ús del producte
Instal·lació:
Per instal·lar STM32MP-SignTool, seguiu els passos indicats al manual d'usuari.
Interfície de línia d'ordres:
Les ordres següents estan disponibles quan s'utilitza STM32MP-SignTool des de la línia d'ordres:
- –imatge-binaria (-bin), –entrada (-in)
- -versió d'imatge (-iv)
- –clau privada (-prvk)
- –clau pública -pubk
Examples:
Consulteu l'exampa continuació per entendre com utilitzar STM32MP-SignTool de manera eficaç:
- Examplle 1: selecció i sortida d'algorisme per defecte file creació.
- Example 2: Signar un binari file amb capçalera versió 2 i múltiples claus públiques.
Mode autònom:
Quan utilitzeu STM32MP-SignTool en mode autònom, seguiu aquests passos:
- Introduïu primer el camí absolut.
- Proporcioneu la informació necessària, com ara la selecció d'algoritmes, la versió de la imatge, el punt d'entrada i l'adreça de càrrega.
Preguntes freqüents (FAQ)
- Com comprobo la imatge de sortida file?
Podeu verificar la imatge resultant analitzant la sortida file i comprovant cada camp de capçalera. Utilitzeu l'ordre:./STM32MP_SigningTool_CLI.exe -dump /home/user/output.stm32
- Quina diferència hi ha entre les versions de capçalera per signar?
La versió de la capçalera determina el nombre de claus públiques necessàries per a l'autenticació. Per example, la versió de capçalera 1 requereix una ruta de clau per als productes STM32MP15xx, mentre que la versió de capçalera 2 i posterior requereixen vuit rutes de clau per als altres.
Introducció
- El programari de l'eina de signatura de la sèrie STM32MPx (anomenat STM32MP-SignTool en aquest document) està integrat a l'STM32CubeProgrammer (STM32CubeProg).
- STM32MP-SignTool és una eina clau que garanteix una plataforma segura i assegura la signatura d'imatges binàries mitjançant claus ECC generades pel programari STM32MP-KeyGen (consulteu la descripció del programari del generador de claus de la sèrie STM32MPx (UM2542) per a més detalls).
- Les imatges binàries signades s'utilitzen durant la seqüència d'arrencada segura MPU de la sèrie STM32MPx que admet una cadena d'arrencada de confiança. Aquesta acció garanteix una verificació d'autenticació i integritat de les imatges carregades.
- STM32MP-SignTool genera una imatge binària file, una clau pública file, i una clau privada file.
- La imatge binària file conté les dades binàries que s'han de programar per al dispositiu.
- La clau pública file conté la clau pública ECC en format PEM, generada amb STM32MP-KeyGen.
- La clau privada file conté la clau privada ECC xifrada en format PEM, generada amb STM32MP-KeyGen.
- Un binari signat file també es pot generar a partir d'un ja signat file amb el lot file mode. En aquest cas, els paràmetres següents no són obligatoris: el punt d'entrada de la imatge, l'adreça de càrrega de la imatge i els paràmetres de la versió de la imatge.
Instal·leu STM32MP-SignTool
- Aquesta eina s'instal·la amb el paquet STM32CubeProgrammer (STM32CubeProg). Per obtenir més informació sobre el procediment de configuració, consulteu la secció 1.2 de la descripció del programari STM32CubeProgrammer del manual d'usuari (UM2237).
- Aquest programari s'aplica a les MPU basades en Arm® de la sèrie STM32MPx.
Nota: Arm és una marca registrada d’Arm Limited (o de les seves filials) als Estats Units i / o en altres llocs.
STM32MP-SignTool interfície de línia d'ordres
Les seccions següents descriuen com utilitzar STM32MP-SignTool des de la línia d'ordres.
Ordres
Les ordres disponibles s'enumeren a continuació:
- –imatge-binaria (-bin), –entrada (-in)
- Descripció: imatge binària file camí (extensió .bin)
- Sintaxi: 1 -bin /home/Usuari/binariFile.bin
- Sintaxi :2 -in /home/Usuari/binariFile.bin
- -versió d'imatge (-iv)
- Descripció: introdueix la versió d'imatge de la imatge signada file
- Sintaxi: -iv
- –clau privada (-prvk)
- Descripció: clau privada file camí (extensió .pem)
- Sintaxi: -prvkfile_camí>
- ExampLI: -prvk ../privateKey.pem
- –clau pública -pubk
- Descripció: clau pública file camins
- Sintaxi: -pubFile_Camí{1..8}>
- Per a la capçalera v1: utilitzeu només un camí clau per als productes STM32MP15xx
- Per a la capçalera v2 i superior: utilitzeu vuit camins clau per als altres
- –contrasenya (-pwd)
- Descripció: contrasenya de la clau privada (aquesta contrasenya ha de contenir almenys quatre caràcters)
- ExampLI: -pwd azerty
- –load-address (-la)
- Descripció: adreça de càrrega de la imatge
- ExampLI: -la
- -punt d'entrada (-ep)
- Descripció: punt d'entrada de la imatge
- ExampLI: -ep
- –option-flags (-de)
- Descripció: indicadors d'opció d'imatge (valor per defecte = 0)
- ExampLI: -de
- – algorisme (-a)
- Descripció: especifica un dels prime256v1 (valor 1, predeterminat) o brainpoolP256t1 (valor 2)
- ExampLI: -a <2>
- –sortida (-o)
- Descripció: sortida file camí. Aquest paràmetre és opcional. Si no s'especifica, la sortida file es genera a la mateixa font file camí (per example, la imatge binària file és C:\BinaryFile.bin). El binari signat file és C:\BinaryFile_Signed.bin.
- Sintaxi: -oFile_Camí>
- –tipus (-t)
- Descripció: tipus binari. Els valors possibles són ssbl, fsbl, teeh, teed, teex i copro
- Sintaxi: -t
- – silenci (-s)
Descripció: no es mostra cap missatge per substituir una sortida existent file - –ajuda (-h i -?)
Descripció: mostra ajuda - –versió (-v)
Descripció: mostra la versió de l'eina - –enc-dc (-encdc)
- Descripció: constant de derivació de xifratge per a xifratge FSBL [capçalera v2]
- Sintaxi: -encdc
- –enc-key (-enck)
- Descripció: Secret OEM file per al xifratge FSBL [capçalera v2]
- Sintaxi: -enck
- –dump-header (–dump)
- Descripció: analitzar i bolcar la capçalera de la imatge
- Sintaxi: -abocamentFile_Camí>
- -versió de capçalera (-hv)
- Descripció: versió de la capçalera de signatura, valors possibles: 1, 2, 2.1, 2.2
- Example per a STM32MP15: -hv 2
- Example per a STM32MP25: -hv 2.2
- –sense claus (-nk)
- Descripció: afegint una capçalera buida sense opcions clau
- Avís: cal desactivar l'opció d'autenticació amb l'ordre Option flags.
Exampfitxers per a STM32MP-SignTool
El següent exampels mostren com utilitzar STM32MP-SignTool:
- Exampel 1
S'ha seleccionat l'algoritme predeterminat (prime256v1) i el valor del senyal d'opció és 0 (valor per defecte). El binari de sortida amb signe file (binariFile_Signed.bin) es crea a la carpeta /home/user/ - Exampel 2
En aquest cas es selecciona l'algoritme BrainpoolP256t1. Encara que Folder2 i Folder3 no existeixin, es creen. Amb l'ordre –s, encara que a file existeix amb el mateix nom especificat, es substitueix automàticament sense cap missatge.
- Exampel 3
Signar un binari file utilitzant la versió 2 de la capçalera que inclou vuit claus públiques per al flux d'autenticació. - Exampel 4
Signar un binari file utilitzant la versió 2 de la capçalera que inclou vuit claus públiques per a l'autenticació més el flux de xifratge. - Exampel 5
Verifiqueu la imatge resultant analitzant la sortida file i comproveu cada camp de capçalera. - Exampel 6
Afegiu una capçalera sense signar i sense desplegar claus.
Mode autònom
Quan s'executa STM32MP-SignTool en mode autònom, primer s'ha d'introduir una ruta absoluta. Aleshores es demana una contrasenya dues vegades per confirmar-la, tal com es mostra a la figura següent.
Els següents passos són els següents:
- Seleccioneu un dels dos algorismes.
- Introduïu la versió de la imatge, el punt d'entrada de la imatge i l'adreça de càrrega de la imatge.
- Introduïu el valor de la marca de l'opció.
Una altra sortida file es pot especificar el camí si cal, o premeu Intro per continuar amb l'existent.
Solució PKCS#11
- Les imatges binàries signades s'utilitzen durant la seqüència d'arrencada segura STM32MP que admet una cadena d'arrencada de confiança. Aquesta acció garanteix una verificació d'autenticació i integritat de les imatges carregades.
- L'ordre de signatura clàssica sol·licita que es proporcionin totes les claus públiques i privades com a entrada files. Aquests són directament accessibles per qualsevol persona que tingui permís per executar el servei de signatura. En definitiva, es pot considerar que es tracta d'una filtració de seguretat. Hi ha diverses solucions per protegir les claus contra qualsevol intent de robar dades de les claus. En aquest context, s'ha adoptat la solució PKCS#11.
- L'API PKCS#11 es pot utilitzar per gestionar i emmagatzemar claus criptogràfiques. Aquesta interfície especifica com comunicar-se amb dispositius criptogràfics com ara HSM (mòduls de seguretat de maquinari) i targetes intel·ligents. L'objectiu d'aquests dispositius és generar claus criptogràfiques i signar informació sense revelar material de clau privada al món exterior.
- Les aplicacions de programari poden trucar a l'API per utilitzar aquests objectes per a:
- Generar claus simètriques/asimètriques
- Xifratge i desxifrat
- Informàtica i verificació de la signatura digital
- PKCS #11 presenta a les aplicacions una lògica comuna view del dispositiu que s'anomena testimoni criptogràfic i assigna un identificador de ranura a cada testimoni. Una aplicació identifica el testimoni al qual vol accedir especificant l'identificador de ranura adequat.
- L'STM32SigningTool s'utilitza per gestionar els objectes clau emmagatzemats a les targetes intel·ligents i fitxes de seguretat PKCS#11 similars on les claus privades sensibles no surten mai del dispositiu.
- L'STM32SigningTool utilitza la interfície PKCS#11 per manipular i signar binaris d'entrada basats en claus públiques/privades ECDSA. Aquestes claus s'emmagatzemen en fitxes de seguretat (maquinari o programari).
Ordres PKCS#11 addicionals
- –mòdul (-m)
- Descripció: especifiqueu una ruta de mòdul/biblioteca PKCS#11 per carregar (dll, per tant)
- Sintaxi: -m
- –índex de claus (-ki)
- –índex de claus (-ki)
- Descripció: llista d'índexs de claus utilitzades en format hexadecimal
Utilitzeu un índex per a la capçalera v1 i vuit índexs per a la capçalera v2 (separats per espais) - Sintaxi: -ki
- –índex de ranura (-si)
- Descripció: especifiqueu l'índex de la ranura a utilitzar (per defecte 0x0)
- Sintaxi: -si
- –active-keyIndex (-aki)
- Descripció: especifica l'índex de clau activa real (0 per defecte)
- Sintaxi: -aki <hexValue>
PKH/PKTH file generació
Després del processament de l'operació de signatura, l'eina genera sistemàticament el PKH fileS'ha d'utilitzar després per al fusible OTP.
- PKH file anomenat pkcsHashPublicKey0x{active_key_index}.bin per a la capçalera v1
- PKTH file anomenat pkcsPublicKeysHashHashes.bin per a la capçalera v2
Examples
L'eina pot signar l'entrada files tant per a la capçalera v1 com per a la capçalera v2, amb una diferència mínima a la línia d'ordres.
- Capçalera v1
- Capçalera v2
- Un error a la línia d'ordres o la incapacitat de l'eina per identificar els objectes clau que coincideixen fa que es mostri un missatge d'error. Això indica l'origen del problema.
- El SigningTool només pot utilitzar HSM preconfigurats i no està dissenyat per gestionar o crear nous objectes de seguretat. Per tant, és necessari instal·lar programari lliure per configurar un entorn adequat. Aleshores es poden generar les claus i obtenir informació sobre objectes.
Error examples:
- Índex d'espai no vàlid
- Objecte clau desconegut que s'esmenta a l'ordre –key-index
L'eina tracta els objectes de manera seqüencial. Si no pot identificar els objectes clau coincidents al primer intent, l'operació de signatura atura el procés. A continuació, es mostra un missatge d'error per indicar l'origen del problema.
Historial de revisions
Data | Versió | Canvis |
14-feb-2019 | 1 | Alliberament inicial. |
26-nov-2021 |
2 |
Actualitzat:
• Apartat 2.1: Ordres • Apartat 2.2: Exampfitxers per a STM32MP-SignTool • Secció 2.4 afegida: solució PKCS#11 |
27-juny-2022 | 3 | Secció actualitzada 2.1: Ordres |
26-juny-2024 |
4 |
Substituït en tot el document:
• Sèrie STM32MP1 per sèrie STM32MPx • STM32MP1-SignTool per STM32MP-SignTool • STM32MP1-KeyGen per STM32MP-KeyGen S'ha actualitzat –public-key -pubk i s'ha afegit –header-version (-hv) i –no-keys (-nk) a la Secció 2.1: Ordres. S'ha afegit "Exemple 6" a la secció 2.2: Exampfitxers per a STM32MP-SignTool. |
AVÍS IMPORTANT - LLEGIU ATENCIÓ
- STMicroelectronics NV i les seves filials ("ST") es reserven el dret de fer canvis, correccions, millores, modificacions i millores als productes ST i/o a aquest document en qualsevol moment sense previ avís. Els compradors haurien d'obtenir la informació rellevant més recent sobre els productes ST abans de fer comandes. Els productes ST es venen d'acord amb els termes i condicions de venda de ST vigents en el moment del reconeixement de la comanda.
- Els compradors són els únics responsables de l'elecció, selecció i ús dels productes ST i ST no assumeix cap responsabilitat per l'assistència a l'aplicació o el disseny dels productes dels compradors.
- ST no concedeix cap llicència, expressa o implícita, a cap dret de propietat intel·lectual.
- La revenda de productes ST amb disposicions diferents de la informació que s'estableix aquí anul·larà qualsevol garantia concedida per ST per a aquest producte.
- ST i el logotip de ST són marques comercials de ST. Per obtenir informació addicional sobre les marques comercials ST, consulteu www.st.com/trademarks. Tots els altres noms de productes o serveis són propietat dels seus respectius propietaris.
- La informació d'aquest document substitueix i substitueix la informació proporcionada anteriorment en qualsevol versió anterior d'aquest document.
© 2024 STMicroelectronics – Tots els drets reservats
Documents/Recursos
![]() |
Programari d'eina de signatura de la sèrie ST STM32MPx [pdfManual d'usuari Programari d'eines de signatura de la sèrie STM32MPx, sèrie STM32MPx, programari d'eines de signatura, programari d'eines, programari |