ST Microelectronics STM32 гарын үсэг зурах хэрэгслийн програм хангамж

Танилцуулга

STM32 гарын үсэг зурах хэрэгслийн програм хангамжийг (энэ баримт бичигт STM32-SignTool гэж нэрлэсэн) STM32CubeProgrammer (STM32CubeProg) программд нэгтгэсэн болно. STM32-SignTool нь аюулгүй платформыг баталгаажуулдаг гол хэрэгсэл бөгөөд STM32-KeyGen програм хангамжаар үүсгэсэн ECC товчлууруудыг ашиглан хоёртын дүрст гарын үсэг зурах боломжийг олгодог (дэлгэрэнгүй мэдээллийг STM32 түлхүүр үүсгэгч програм хангамжийн тайлбарыг (UM2542) хэрэглэгчийн гарын авлагаас үзнэ үү). Гарын үсэг зурсан хоёртын дүрсийг найдвартай ачаалах хэлхээг дэмждэг STM32 аюулгүй ачаалах дарааллын үед ашигладаг. Энэ үйлдэл нь ачаалагдсан зургуудын баталгаажуулалт, бүрэн бүтэн байдлыг баталгаажуулдаг. STM32-SignTool нь хоёртын дүрс үүсгэдэг file, нийтийн түлхүүр file, болон хувийн түлхүүр file. Хоёртын дүрс file төхөөрөмжид програмчлагдсан хоёртын өгөгдлийг агуулдаг. Нийтийн түлхүүр file STM32-KeyGen-ээр үүсгэгдсэн PEM форматын ECC нийтийн түлхүүрийг агуулна. Хувийн түлхүүр file STM32-KeyGen-ээр үүсгэгдсэн PEM форматаар шифрлэгдсэн ECC хувийн түлхүүрийг агуулдаг. Гарын үсэг зурсан хоёртын файл file аль хэдийн гарын үсэг зурсанаас үүсгэж болно file багцын хамт file горим. Энэ тохиолдолд дараах параметрүүдийг заавал оруулах шаардлагагүй: зураг оруулах цэг, зураг ачаалах хаяг, зургийн хувилбарын параметрүүд. Энэхүү баримт бичиг нь доорх хүснэгтэд жагсаасан бүтээгдэхүүнд хамаарна.

Хүснэгт 1. Холбогдох бүтээгдэхүүн

Бүтээгдэхүүний төрөл Хэсгийн дугаар эсвэл бүтээгдэхүүний цуврал
Микроконтроллер STM32N6 цуврал
Микропроцессор STM32MP1 ба STM32MP2 цуврал

Дараах хэсгүүдэд өөрөөр заагаагүй бол STM32 нь дээрх хүснэгтэд жагсаасан бүтээгдэхүүнийг хэлнэ.

STM32-SignTool суулгана уу

Энэ хэрэгслийг STM32CubeProgrammer багцтай (STM32CubeProg) суулгасан. Тохируулах процедурын талаарх дэлгэрэнгүй мэдээллийг STM1.2CubeProgrammer програм хангамжийн тайлбарын (UM32) хэрэглэгчийн гарын авлагын 2237 хэсгээс үзнэ үү. Энэхүү програм хангамж нь Arm® Cortex® процессор дээр суурилсан STM32 бүтээгдэхүүнийг дэмждэг.

Тайлбар: Arm нь Arm Limited (эсвэл түүний охин компаниудын) АНУ болон/эсвэл өөр газар бүртгэгдсэн худалдааны тэмдэг юм.

STM32-SignTool командын мөрийн интерфейс

Дараах хэсгүүд нь тушаалын мөрөөс STM32-SignTool-ийг хэрхэн ашиглахыг тайлбарладаг.

Тушаалууд

Боломжтой командуудыг доор жагсаав.

  • –хоёртын дүрс(-бин), –оролт(-in)
    • Тодорхойлолт: хоёртын дүрс file зам (.bin өргөтгөл)
    • Синтакс: 1 -bin /home/User/binaryFile.bin
    • Синтакс: 2 -in /home/User/binaryFile.bin
  • -зургийн хувилбар (-iv)
    • Тайлбар: гарын үсэг зурсан зургийн зургийн хувилбарыг оруулна file
    • Синтакс: -iv
  • -хувийн түлхүүр (-prvk)
    • Тодорхойлолт: хувийн түлхүүр file зам (.pem өргөтгөл)
    • Синтакс: -prvkfile_зам>
    • Example: -prvk ../privateKey.pem
  • – нийтийн түлхүүр – pubk
    • Тайлбар: нийтийн түлхүүр file замууд
    • Синтакс: -pubkFile_Зам{1..8}>
      • V1 толгой хэсгийн хувьд: STM32MP15xx бүтээгдэхүүний хувьд зөвхөн нэг гол замыг ашиглана уу
      • V2 ба түүнээс дээш толгой хэсгийн хувьд: Бусдад найман гол замыг ашиглана уу
  • -нууц үг (-pwd)
    • Тодорхойлолт: хувийн түлхүүрийн нууц үг (энэ нууц үг дор хаяж дөрвөн тэмдэгт агуулсан байх ёстой)
    • Example: -pwd azerty
    • • –ачаалах хаяг (-la)
    • Тайлбар: зураг ачаалах хаяг
    • Exampле: -ла
  • -орох цэг (-ep)
    • Тодорхойлолт: зураг оруулах цэг
    • Example: -ep
  • -сонголтын туг (-of)
    • Тайлбар: зургийн сонголтын туг (өгөгдмөл утга = 0)
    • Example: -of
  • -алгоритм (-a)
    • Тайлбар: prime256v1 (утга 1, өгөгдмөл) эсвэл brainpoolP256t1 (утга 2)-ын аль нэгийг зааж өгнө.
    • Example: -a <2>
  • -гаралт (-o)
    • Тодорхойлолт: гаралт file зам. Энэ параметр нь сонголттой. Хэрэв заагаагүй бол гаралт file ижил эх сурвалж дээр үүсдэг file зам (жишээ ньample, хоёртын дүрс file нь C:\BinaryFile.bin). Гарын үсэг зурсан хоёртын хувилбар file нь C:\BinaryFile_Signed.bin.
    • Синтакс: -oFile_Зам>
  • -төрөл (-t)
    • Тодорхойлолт: хоёртын төрөл. Боломжит утгууд нь ssbl, fsbl, teeh, teed, teex, copro
    • Синтакс: -t
  • -чимээгүй (-s)
    • Тайлбар: одоо байгаа гаралтыг солих ямар ч мессеж харагдахгүй байна file
  • – тусламж (-h ба -?)
    • Тайлбар: тусламж үзүүлэх
  • -хувилбар (-v)
    • Тайлбар: хэрэгслийн хувилбарыг харуулна
  • –enc-dc (-encdc)
    • Тайлбар: FSBL шифрлэлтийн шифрлэлтийн уламжлалын тогтмол [толгой v2]
    • Синтакс: -encdc
  • –enc-түлхүүр (-enck)
    • Тодорхойлолт: OEM нууц file FSBL шифрлэлтийн хувьд [толгой v2]
    • Синтакс: -enck
  • –dump-header (–dump)
    • Тайлбар: зургийн толгой хэсгийг задлан задлах
    • Синтакс: -dumpFile_Зам>
  • -толгой хувилбар (-hv)
    • Тайлбар: гарын үсэг зурах толгой хувилбар, боломжит утгууд: 1, 2, 2.1, 2.2, 2.3
    • ExampSTM32MP15xx-д зориулсан le: -hv 2
    • ExampSTM32MP25xx-д зориулсан le: -hv 2.2
    • ExampSTM32N6xxx-д зориулсан le: -hv 2.3
  • -түлхүүргүй (-nk)
    • Тайлбар: гол сонголтгүйгээр хоосон толгойг нэмж байна
    • Анхааруулга: тохируулгын туг тушаалын тусламжтайгаар баталгаажуулалтын сонголтыг идэвхгүй болгох шаардлагатай

ExampSTM32-SignTool-д зориулсан les

Дараах эксampЭдгээр нь 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 Өгөгдмөл алгоритм (prime256v1) нь (prime0vXNUMX flault сонголт) утга нь сонгогдсон байна. Гарын үсэг зурсан хоёртын хувилбар file (Хоёртын системFile_Signed.bin) нь /home/user/ хавтсанд үүсгэгддэг

Example 2

-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/signedFile.bin Энэ тохиолдолд BrainpoolP256t1 алгоритмыг сонгосон. Folder2 болон Folder3 байхгүй байсан ч тэдгээр нь үүсгэгддэг. -s командтай, тэр ч байтугай a file ижил заасан нэртэй байгаа бөгөөд энэ нь ямар ч мессежгүйгээр автоматаар солигддог.

Example 3

Хоёртын файлд гарын үсэг зурна уу 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.pem publicKey0.pem private. azerty -t fsbl -iv 00000000x0 -la 20000000x0 -ep 08000000x0 -of 80000001x32 -o /home/user/output.stmXNUMX

Example 4

Хоёртын файлд гарын үсэг зурна уу 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.pem publicKey0.pem -pubk publicKey00000000.pem 0x20000000 -pwd azerty -la 0x08000000 -ep 0x00000003 -t fsbl -of 0x25205 -encdc 0x32fXNUMXe -enck /home/user/OEM_SECRET.binustXNUMX/mXNUMX/

Example 5

Гаралтыг задлан шинжлэх замаар гарсан зургийг баталгаажуулна уу file болон толгойн талбар бүрийг шалгана уу. ./STM32_SigningTool_CLI.exe -дамп /home/user/output.stm32

Example 6

Гарын үсэг зуралгүйгээр, түлхүүрийг ашиглахгүйгээр толгой хэсгийг нэмнэ үү. STM32_SigningTool_CLI.exe -input.bin -nk -of 0x0 -iv 1 -hv 2.2 -o output.stm32

Бие даасан горим

STM32-SignTool-ийг бие даасан горимд ажиллуулахдаа эхлээд үнэмлэхүй замыг оруулах ёстой. Дараа нь доорх зурагт үзүүлсэн шиг баталгаажуулахын тулд нууц үг хоёр удаа шаардагдана.

Зураг 1. STM32-SignTool бие даасан горимд

Дараагийн алхамууд нь дараах байдалтай байна.

  • Хоёр алгоритмаас аль нэгийг нь сонгоно уу.
  • Зургийн хувилбар, зураг оруулах цэг, зураг ачаалах хаягийг оруулна уу.
  • Опционы тугийн утгыг оруулна уу.

Өөр гаралт file шаардлагатай бол замыг зааж өгч болно, эсвэл одоо байгаа замыг үргэлжлүүлэхийн тулд enter дарна уу.

PKCS#11 шийдэл
Гарын үсэг зурсан хоёртын дүрсийг найдвартай ачаалах хэлхээг дэмждэг STM32 аюулгүй ачаалах дарааллын үед ашигладаг.
Энэ үйлдэл нь ачаалагдсан зургуудын баталгаажуулалт, бүрэн бүтэн байдлыг баталгаажуулдаг.
Сонгодог гарын үсэг зурах тушаал нь бүх нийтийн болон хувийн түлхүүрүүдийг оролт болгон өгөхийг шаарддаг fileс. Эдгээр нь
гарын үсэг зурах үйлчилгээг гүйцэтгэхийг зөвшөөрсөн аливаа хүн шууд хандах боломжтой. Эцсийн эцэст үүнийг авч үзэх боломжтой
аюулгүй байдлын алдагдал байх. Түлхүүр мэдээллийг хулгайлах оролдлогоос хамгаалах хэд хэдэн шийдэл байдаг. Үүнд
нөхцөл байдалд PKCS#11 шийдлийг баталсан.
PKCS#11 API нь криптограф түлхүүрүүдийг зохицуулах, хадгалахад ашиглагдаж болно. Энэ интерфэйс нь хэрхэн хийхийг зааж өгдөг
HSM (тоног төхөөрөмжийн аюулгүй байдлын модулиуд) болон ухаалаг карт зэрэг криптограф төхөөрөмжтэй харилцах. The
Эдгээр төхөөрөмжүүдийн зорилго нь нууц түлхүүрийг задлахгүйгээр криптограф түлхүүр үүсгэх, мэдээлэлд гарын үсэг зурах явдал юм
гадаад ертөнцөд материал.
Програм хангамжийн програмууд нь эдгээр объектуудыг ашиглахын тулд API руу залгаж болно:
• Тэгш хэмт/тэгш хэмтэй товчлууруудыг үүсгэнэ
• Шифрлэлт болон шифрийг тайлах
• Тоон гарын үсгийг тооцоолох, баталгаажуулах
PKCS №11 нь нийтлэг, логикийг програмуудад танилцуулдаг view криптограф жетон гэж нэрлэгддэг төхөөрөмжийн болон энэ нь
жетон бүрт үүрний ID оноодог. Аппликейшн нь хандахыг хүсэж буй токеныг зааж өгөх замаар тодорхойлдог
тохирох үүрний ID.
STM32SigningTool нь ухаалаг карт болон ижил төстэй PKCS#11 хамгаалалт дээр хадгалагдсан гол объектуудыг удирдахад ашиглагддаг.
мэдрэмтгий хувийн түлхүүрүүд төхөөрөмжөөс хэзээ ч гардаггүй токенууд.
STM32SigningTool нь ECDSA-д суурилсан оролтын хоёртын файлуудыг удирдах, гарын үсэг зурахын тулд PKCS#11 интерфейсийг ашигладаг.
нийтийн / хувийн түлхүүрүүд. Эдгээр түлхүүрүүд нь хамгаалалтын токенуудад (техник хангамж эсвэл програм хангамж) хадгалагддаг.

Нэмэлт PKCS # 11 тушаалууд

  • -модуль (-м)
    • Тодорхойлолт: ачаалах PKCS#11 модулийг/Номын сангийн замыг зааж өгнө үү (dll гэх мэт)
    • Синтакс:-m
    • • –key-index (-ki)
  • – түлхүүр индекс (-ki)
    • Тайлбар: зургаан өнцөгт форматаар ашигласан түлхүүрүүдийн индексийн жагсаалт
      • Толгой v1-д нэг индекс, v2-д найман индекс (зайгаар тусгаарлагдсан) ашиглана уу.
    • Синтакс: -ki
  • –слотын индекс (-si)
    • Тайлбар: ашиглах үүрний индексийг зааж өгнө үү (өгөгдмөл 0x0)
    • Синтакс: -si
  • –слот–танигч (-sid)
    • Тодорхойлолт: ашиглах үүрний танигчийг зааж өгнө үү (заавал биш, аравтын эсвэл арван зургаатын форматаар)
    • Синтакс:-sid
      • Хэрэв –slot-identifier сонголтыг –slot-index-тэй зэрэг ашиглаж байгаа бол уг хэрэгсэл нь энэ тохиргоо нь ижил слоттой таарч байгаа эсэхийг шалгана. Тодорхойлогч нь дурдсан индексийг тусгасан болно; эс бөгөөс алдаа гарна.
      • -slot-index-ийг дурдахгүй бол –слот-идентификаторыг ашиглах боломжтой. Хэрэгсэл нь слотын индексийг системтэйгээр хайдаг.
  • -active-keyIndex (-aki)
    • Тайлбар: бодит идэвхтэй түлхүүрийн индексийг зааж өгөх (анхдагч 0)
    • Синтакс: -aki < hexValue >

PKH/PKTH file үе

Гарын үсэг зурах ажиллагааг боловсруулсны дараа хэрэгсэл нь PKH-ийг системтэйгээр үүсгэдэг files нь OTP гал хамгаалагчийн дараа ашиглах.

  • PKH file v0 толгой хэсэгт pkcsHashPublicKey1x{active_key_index}.bin нэртэй
  • PKTH file v2 толгой хэсэгт зориулсан pkcsPublicKeysHashHashes.bin нэртэй

Examples

Уг хэрэгсэл нь оролтод гарын үсэг зурах боломжтой files толгой v1 ба v2 толгой аль алинд нь командын мөрөнд хамгийн бага зөрүүтэй.

  • Гарчиг v1
    -bin оролт.bin -iv -pwd -ла -ep -т -ийн –
    - түлхүүр индекс -aki 0 ​​- модуль -слот-индекс -o гаралт.stm32
  • Гарчиг v2
    -bin оролт.bin -iv -pwd -ла -ep -т -ийн – -түлхүүр индекс -аки - модуль -слот-индекс -o гаралт.stm0

Тушаалын мөрөнд гарсан алдаа, эсвэл хэрэглүүр тохирох гол объектуудыг тодорхойлох боломжгүй байгаа нь алдааны мессежийг харуулахад хүргэдэг. Энэ нь асуудлын эх үүсвэрийг илтгэнэ. SigningTool нь зөвхөн урьдчилан тохируулсан HSM-г ашиглах боломжтой бөгөөд аюулгүй байдлын шинэ объектуудыг удирдах эсвэл үүсгэхэд зориулагдаагүй болно. Тиймээс тохиромжтой орчинг бүрдүүлэхийн тулд үнэгүй програм хангамж суулгах шаардлагатай. Дараа нь түлхүүрүүдийг үүсгэж, объектын талаарх мэдээллийг олж авах боломжтой.

Слот танигчийн сонголт:

  • -bin input.bin –type fsbl -hv 1 –key-index 0x40 -aki 0 ​​–module softhsm2.dll –нууц үг prg-dev -ep 0x2ffe4000 -s -si 0 -sid 0x51a53ad8 -la 0x2ffc2500 - гаралт.stm0

Алдаа жишээ ньamples:

  • Слотын индекс буруу байна

Зураг 2. HSM TOKEN_NOT_COGNIZIZ
–key-index команд дээр дурдсан үл мэдэгдэх түлхүүр объект

Зураг 3. HSM OBJECT_HANDLE_INVALID

Уг хэрэгсэл нь объектуудыг дарааллаар нь авч үздэг. Хэрэв эхний оролдлого дээр тохирох гол объектуудыг тодорхойлж чадахгүй бол гарын үсэг зурах үйлдэл нь процессыг зогсооно. Дараа нь асуудлын эх сурвалжийг харуулахын тулд алдааны мессеж гарч ирнэ.

Хяналтын түүх

Хүснэгт 2. Баримт бичгийн засварын түүх

Огноо Хувилбар Өөрчлөлтүүд
14-2019-р сарын XNUMX 1 Анхны хувилбар.
 

 

26-2021-XNUMX

 

 

2

Шинэчлэгдсэн:

• 2.1-р хэсэг: Командууд

• Хэсэг 2.2: Жишээ ньampSTM32-SignTool-д зориулсан les

• Нэмэгдсэн хэсэг 2.4: PKCS#11 шийдэл

27 оны 2022-р сарын XNUMX 3 Шинэчлэгдсэн хэсэг 2.1: Тушаалууд
 

 

 

26 оны 2024-р сарын XNUMX

 

 

 

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: Жишээ ньampSTM32-SignTool-д зориулсан les.

 

 

 

14-2024-XNUMX

 

 

 

5

Нэмсэн:

• Холбогдох бүтээгдэхүүнүүдэд STM32N6 цувралыг бүх баримт бичигт сольсон:

• STM32-ын STM32MP

Шинэчлэгдсэн:

• 2.1-р хэсэг: Командууд

 

06 оны 2025-р сарын XNUMX

 

6

Шинэчлэгдсэн:

• Хэсэг 2.4.1: Нэмэлт PKCS#11 тушаалууд

• Хэсэг 2.4.3: Жишээ ньamples

ЧУХАЛ МЭДЭГДЭЛ – АНХААРАЛТАЙ уншина уу

STMicroelectronics NV болон түүний охин компаниуд (“ST”) нь STproducts болон/эсвэл энэхүү баримт бичигт ямар ч үед мэдэгдэлгүйгээр өөрчлөлт, залруулга, сайжруулалт, өөрчлөлт, сайжруулалт хийх эрхтэй. Худалдан авагчид захиалга өгөхөөс өмнө 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 гарын үсэг зурах хэрэгслийн програм хангамж [pdf] Хэрэглэгчийн гарын авлага
STM32N6 цуврал, STM32MP1, STM32MP2 цуврал, STM32 гарын үсэг зурах хэрэгслийн програм хангамж, STM32, гарын үсэг зурах хэрэгслийн програм хангамж, хэрэгслийн програм хангамж, програм хангамж

Лавлагаа

Сэтгэгдэл үлдээгээрэй

Таны имэйл хаягийг нийтлэхгүй. Шаардлагатай талбаруудыг тэмдэглэсэн *