Signeringsverktyg-logotyp

STM32MPx Series Signing Tool Software

Produktinformation

Specifikationer:

  • Produktnamn: STM32MP-SignTool
  • Version: UM2543 – Rev 4
  • Releasedatum: juni 2024

Produktanvändningsinstruktioner

Installation:
För att installera STM32MP-SignTool, följ stegen i användarmanualen.

Kommandoradsgränssnitt:
Följande kommandon är tillgängliga när du använder STM32MP-SignTool från kommandoraden:

  • –binär-bild(-bin), –ingång(-in)
  • –bildversion (-iv)
  • –privat-nyckel (-prvk)
  • –public-key -pubk

Examples:
Se exampnedan för att förstå hur du använder STM32MP-SignTool effektivt:

  1. Example 1: Val och utdata för standardalgoritm file skapelse.
  2. Example 2: Signera en binär file med header version 2 och flera publika nycklar.

Fristående läge:
När du använder STM32MP-SignTool i fristående läge, följ dessa steg:

  1. Ange den absoluta sökvägen först.
  2. Ange nödvändig information som val av algoritm, bildversion, ingångspunkt och laddningsadress.

Vanliga frågor (FAQ)

  • Hur verifierar jag utdatabilden file?
    Du kan verifiera den resulterande bilden genom att analysera resultatet file och kontrollera varje rubrikfält. Använd kommandot:  ./STM32MP_SigningTool_CLI.exe -dump /home/user/output.stm32
  • Vad är skillnaden mellan headerversioner för signering?
    Huvudversionen bestämmer antalet publika nycklar som krävs för autentisering. Till exempelample, header version 1 kräver en nyckelsökväg för STM32MP15xx-produkter, medan header version 2 och senare kräver åtta nyckelsökvägar för andra.

Introduktion

  • STM32MPx-seriens signeringsverktygsprogram (som heter STM32MP-SignTool i detta dokument) är integrerat i STM32CubeProgrammer (STM32CubeProg).
  • STM32MP-SignTool är ett nyckelverktyg som garanterar en säker plattform och säkerställer signering av binära bilder med ECC-nycklar som genereras av STM32MP-KeyGen-mjukvaran (se användarmanualen STM32MPx-seriens nyckelgeneratorprogramvarubeskrivning (UM2542) för mer information).
  • De signerade binära bilderna används under STM32MPx series MPU säker startsekvens som stöder en pålitlig startkedja. Denna åtgärd säkerställer en autentisering och integritetskontroll av de laddade bilderna.
  • STM32MP-SignTool genererar en binär bild file, en offentlig nyckel fileoch en privat nyckel file.
  • Den binära bilden file innehåller de binära data som ska programmeras för enheten.
  • Den offentliga nyckeln file innehåller den offentliga ECC-nyckeln i PEM-format, genererad med STM32MP-KeyGen.
  • Den privata nyckeln file innehåller den krypterade privata ECC-nyckeln i PEM-format, genererad med STM32MP-KeyGen.
  • En signerad binär file kan också genereras från en redan signerad file med partiet file läge. I det här fallet är följande parametrar inte obligatoriska: bildens ingångspunkt, bildens laddningsadress och parametrarna för bildversionen.

Installera STM32MP-SignTool

  • Detta verktyg är installerat med STM32CubeProgrammer-paketet (STM32CubeProg). För mer information om inställningsproceduren, se avsnitt 1.2 i användarmanualen STM32CubeProgrammer mjukvarubeskrivning (UM2237).
  • Denna programvara gäller STM32MPx-serien Arm®-baserade MPU:er.
    Notera: Arm är ett registrerat varumärke som tillhör Arm Limited (eller dess dotterbolag) i USA och/eller någon annanstans.

STM32MP-SignTool kommandoradsgränssnitt

Följande avsnitt beskriver hur du använder STM32MP-SignTool från kommandoraden.

Kommandon
De tillgängliga kommandona listas nedan:

  • –binär-bild(-bin), –ingång(-in)
    • Beskrivning: binär bild file sökväg (.bin-tillägg)
    • Syntax: 1 -bin /home/Användare/binärFile.bin
    • Syntax :2 -in /home/User/binaryFile.bin
  • –bildversion (-iv)
    • Beskrivning: anger bildversionen av den signerade bilden file
    • Syntax: -iv
  • –privat-nyckel (-prvk)
    • Beskrivning: privat nyckel file sökväg (.pem-tillägg)
    • Syntax: -prvkfile_sökväg>
    • Exampde: -prvk ../privateKey.pem
  • –public-key -pubk
    • Beskrivning: offentlig nyckel file vägar
    • Syntax: -pubkFile_Sökväg{1..8}>
      • För rubrik v1: använd bara en nyckelsökväg för STM32MP15xx-produkter
      • För rubrik v2 och senare: använd åtta nyckelsökvägar för andra
  • –lösenord (-pwd)
    • Beskrivning: lösenordet för den privata nyckeln (det här lösenordet måste innehålla minst fyra tecken)
    • Exampde: -pwd azerty
  • –laddningsadress (-la)
    • Beskrivning: adress för bildladdning
    • Exampde: -la
  • –ingångspunkt (-ep)
    • Beskrivning: bildinträdespunkt
    • Exampde: -ep
  • –alternativ-flaggor (-av)
    • Beskrivning: bildalternativflaggor (standardvärde = 0)
    • Exampde: -av
  • –algoritm (-a)
    • Beskrivning: anger en av prime256v1 (värde 1, standard) eller brainpoolP256t1 (värde 2)
    • Exampde: -a <2>
  • –utgång (-o)
    • Beskrivning: produktion file väg. Denna parameter är valfri. Om inte specificerat, utgången file genereras vid samma källa file väg (t.example, den binära bilden file är C:\BinärFile.bin). Den signerade binären file är C:\BinärFile_Signed.bin.
    • Syntax: -oFile_Path>
  • –typ (-t)
    • Beskrivning: binär typ. Möjliga värden är ssbl, fsbl, teeh, teed, teex och copro
    • Syntax: -t
  • –tyst (-s)
    Beskrivning: inget meddelande visas för att ersätta en befintlig utgång file
  • –hjälp (-h och -?)
    Beskrivning:
    visar hjälp
  • –version (-v)
    Beskrivning: visar verktygsversionen
  • –enc-dc (-encdc)
    • Beskrivning: krypteringshärledningskonstant för FSBL-kryptering [header v2]
    • Syntax: -encdc
  • –enc-nyckel (-enck)
    • Beskrivning: OEM hemlighet file för FSBL-kryptering [header v2]
    • Syntax: -enck
  • –dump-header (–dump)
    • Beskrivning: analysera och dumpa bildhuvud
    • Syntax: -dumpaFile_Path>
  • –header-version (-hv)
    • Beskrivning: signeringshuvudversion, möjliga värden: 1, 2, 2.1, 2.2
    •  Example för STM32MP15: -hv 2
    • Example för STM32MP25: -hv 2.2
  • –inga nycklar (-nk)
    • Beskrivning: lägga till tom rubrik utan nyckelalternativ
    • Varsel: måste inaktivera autentiseringsalternativet med kommandot Option flags.

Examples för STM32MP-SignTool
Följande examples visar hur man använder STM32MP-SignTool:

  • Example 1 

    STM32MPx-Series-Signing-Tool-Software-fig-1
    Standardalgoritmen (prime256v1) är vald och alternativets flagga är 0 (standardvärde). Den signerade utsignalen binär file (BinärFile_Signed.bin) skapas i mappen /home/user/

  • Example 2STM32MPx-Series-Signing-Tool-Software-fig-2

    BrainpoolP256t1-algoritmen väljs i detta fall. Även om Folder2 och Folder3 inte finns skapas de. Med kommandot –s, även om a file finns med samma angivna namn, ersätts det automatiskt utan något meddelande.

  • Example 3
    Signera en binär file använder header version 2 som inkluderar åtta publika nycklar för autentiseringsflödet.STM32MPx-Series-Signing-Tool-Software-fig-3
  • Example 4
    Signera en binär file använder header version 2 som inkluderar åtta publika nycklar för autentisering plus krypteringsflöde.STM32MPx-Series-Signing-Tool-Software-fig-4
  • Example 5
    Verifiera den resulterande bilden genom att analysera utdata file och kontrollera varje rubrikfält.STM32MPx-Series-Signing-Tool-Software-fig-5
  • Example 6
    Lägg till en rubrik utan att signera och utan att distribuera nycklar.STM32MPx-Series-Signing-Tool-Software-fig-6

Fristående läge
När du kör STM32MP-SignTool i fristående läge måste en absolut sökväg anges först. Ett lösenord begärs sedan två gånger för bekräftelse, som visas i bilden nedan.

STM32MPx-Series-Signing-Tool-Software-fig-7

Nästa steg är följande:

  • Välj en av de två algoritmerna.
  • Ange bildversionen, bildinträdespunkten och bildens laddningsadress.
  • Ange värdet för alternativflaggan.
    En annan utgång file sökväg kan anges om det behövs, eller tryck på enter för att fortsätta med den befintliga.
PKCS#11 lösning
  • De signerade binära bilderna används under den säkra startsekvensen STM32MP som stöder en pålitlig startkedja. Denna åtgärd säkerställer en autentisering och integritetskontroll av de laddade bilderna.
  • Det klassiska signeringskommandot kräver att alla offentliga och privata nycklar tillhandahålls som indata files. Dessa är direkt tillgängliga för alla som får utföra signeringstjänsten. I slutändan kan detta anses vara en säkerhetsläcka. Det finns flera lösningar för att skydda nycklar mot alla försök att stjäla nyckeldata. I detta sammanhang har PKCS#11-lösningen antagits.
  • PKCS#11 API kan användas för att hantera och lagra kryptografiska nycklar. Detta gränssnitt specificerar hur man kommunicerar med kryptografiska enheter som HSM (hårdvarusäkerhetsmoduler) och smartkort. Syftet med dessa enheter är att generera kryptografiska nycklar och signera information utan att avslöja material med privat nyckel för omvärlden.
  • Programvaruapplikationer kan anropa API:et för att använda dessa objekt för:
    • Generera symmetriska/asymmetriska nycklar
    • Kryptering och dekryptering
    • Beräkna och verifiera den digitala signaturen
  • PKCS #11 presenterar för applikationer en vanlig, logisk view av enheten som kallas en kryptografisk token och den tilldelar ett slot-ID till varje token. En applikation identifierar token som den vill komma åt genom att ange lämplig plats-ID.
  • STM32SigningTool används för att hantera nyckelobjekt som lagras på smartkort och liknande PKCS#11-säkerhetstoken där känsliga privata nycklar aldrig lämnar enheten.
  • STM32SigningTool använder gränssnittet PKCS#11 för att manipulera och signera indatabinärer baserat på ECDSA offentliga/privata nycklar. Dessa nycklar lagras i säkerhetstokens (hårdvara eller mjukvara).

Ytterligare PKCS#11-kommandon

  • –modul (-m)
    • Beskrivning: ange en PKCS#11-modul/bibliotekssökväg att ladda (dll, så)
    • Syntax:-m
  • –nyckelindex (-ki)
    • –nyckelindex (-ki)
    • Beskrivning: lista över använda nycklar index i hex-format
      Använd ett index för rubrik v1 och åtta index för rubrik v2 (avgränsade med mellanslag)
    • Syntax: -ki
  • –slot-index (-si)
    • Beskrivning: ange indexet för den plats som ska användas (standard 0x0)
    • Syntax:-si
  • –active-keyIndex (-aki)
    • Beskrivning: ange det faktiska aktiva nyckelindexet (standard 0)
    • Syntax: -aki < hexValue >

PKH/PKTH file generation
Efter bearbetningen av signeringsoperationen genererar verktyget systematiskt PKH files att använda efter för OTP säkring.

  • PKH file heter pkcsHashPublicKey0x{active_key_index}.bin för rubrik v1
  • PKTH file heter pkcsPublicKeysHashHashes.bin för header v2

Examples
Verktyget kan signera input files för både header v1 och header v2, med en minimal skillnad på kommandoraden.

  • Rubrik v1 

    STM32MPx-Series-Signing-Tool-Software-fig-8

  • Rubrik v2 

    STM32MPx-Series-Signing-Tool-Software-fig-9

    • Ett fel på kommandoraden, eller en oförmåga hos verktyget att identifiera de nyckelobjekt som matchar, gör att ett felmeddelande visas. Detta indikerar källan till problemet.
    • Signeringsverktyget kan endast använda förkonfigurerade HSM:er, och det är inte utformat för att hantera eller skapa nya säkerhetsobjekt. Därför är det nödvändigt att installera gratis programvara för att skapa en lämplig miljö. Nycklarna kan sedan genereras och information om objekt erhållas.

Fel examples:

  • Ogiltigt platsindexSTM32MPx-Series-Signing-Tool-Software-fig-10
  • Okänt nyckelobjekt som nämns i –key-index-kommandotSTM32MPx-Series-Signing-Tool-Software-fig-11
    Verktyget behandlar objekten sekventiellt. Om den inte kan identifiera de matchande nyckelobjekten vid första försöket, stoppar signeringsoperationen processen. Ett felmeddelande visas sedan för att ange källan till problemet.

Revisionshistorik

Datum Version Ändringar
14-2019 februari 1 Initial release.
 

 

26-nov-2021

 

 

2

Uppdaterad:

• Avsnitt 2.1: Kommandon

• Avsnitt 2.2: Examples för STM32MP-SignTool

• Tillagt avsnitt 2.4: PKCS#11-lösning

27 juni 2022 3 Uppdaterat avsnitt 2.1: Kommandon
 

 

 

26 juni 2024

 

 

 

4

Ersatt i hela dokumentet:

• STM32MP1-serien av STM32MPx-serien

• STM32MP1-SignTool från STM32MP-SignTool

• STM32MP1-KeyGen av STM32MP-KeyGen

Uppdaterad –public-key -pubk och lagt till –header-version (-hv) och –no-keys (- nk) i Avsnitt 2.1: Kommandon.

Lade till "Exempel 6" i avsnitt 2.2: Examples för STM32MP-SignTool.

VIKTIGT MEDDELANDE – LÄS NOGGRANT

  • STMicroelectronics NV och dess dotterbolag (“ST”) förbehåller sig rätten att göra ändringar, korrigeringar, förbättringar, modifieringar och förbättringar av ST-produkter och/eller av detta dokument när som helst utan föregående meddelande. Köpare bör skaffa den senaste relevanta informationen om ST-produkter innan de lägger beställningar. ST-produkter säljs i enlighet med ST:s försäljningsvillkor som gäller vid tidpunkten för ordererkännande.
  • Köparen är ensam ansvarig för val, urval och användning av ST-produkter och ST tar inget ansvar för applikationshjälp eller design av köparens produkter.
  • Ingen licens, uttrycklig eller underförstådd, till någon immateriell rättighet beviljas av ST häri.
  • Återförsäljning av ST-produkter med bestämmelser som skiljer sig från den information som anges häri upphäver all garanti som beviljats ​​av ST för sådan produkt.
  • ST och ST-logotypen är varumärken som tillhör ST. För ytterligare information om ST-varumärken, se www.st.com/trademarks. Alla andra produkt- eller tjänstnamn tillhör sina respektive ägare.
  • Informationen i detta dokument ersätter och ersätter information som tidigare tillhandahållits i tidigare versioner av detta dokument.
    © 2024 STMicroelectronics – Alla rättigheter reserverade

Dokument/resurser

ST STM32MPx Series Signing Tool Software [pdf] Användarmanual
STM32MPx Series Signing Tool Software, STM32MPx Series, Signing Tool Software, Tool Software, Software

Referenser

Lämna en kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade *