ซอฟต์แวร์เครื่องมือเซ็นชื่อซีรีย์ STM32MPx
ข้อมูลสินค้า
ข้อมูลจำเพาะ:
- ชื่อสินค้า:เครื่องมือ SignTool STM32MP
- เวอร์ชัน: UM2543 – รอบ 4
- วันที่วางจำหน่าย: มิถุนายน 2024
คำแนะนำการใช้ผลิตภัณฑ์
การติดตั้ง:
หากต้องการติดตั้ง STM32MP-SignTool ให้ทำตามขั้นตอนที่ระบุไว้ในคู่มือผู้ใช้
อินเทอร์เฟซบรรทัดคำสั่ง:
คำสั่งต่อไปนี้จะพร้อมใช้งานเมื่อใช้ STM32MP-SignTool จากบรรทัดคำสั่ง:
- –binary-image(-bin), –input(-in)
- –เวอร์ชันภาพ (-iv)
- –คีย์ส่วนตัว (-prvk)
- –คีย์สาธารณะ-pubk
Exampเลส:
อ้างถึงตัวอย่างampอ่านด้านล่างนี้เพื่อทำความเข้าใจวิธีใช้ STM32MP-SignTool อย่างมีประสิทธิภาพ:
- Exampส่วนที่ 1: การเลือกอัลกอริทึมเริ่มต้นและผลลัพธ์ file การสร้างสรรค์
- Exampบทที่ 2: การลงนามไบนารี file พร้อมด้วยส่วนหัวเวอร์ชัน 2 และคีย์สาธารณะหลายรายการ
โหมดสแตนด์อโลน:
เมื่อใช้ STM32MP-SignTool ในโหมด Standalone ให้ทำตามขั้นตอนเหล่านี้:
- เข้าสู่เส้นทางที่แน่นอนก่อน
- ให้ข้อมูลที่จำเป็น เช่น การเลือกอัลกอริทึม เวอร์ชันของรูปภาพ จุดเข้า และที่อยู่โหลด
คำถามที่พบบ่อย (FAQ)
- ฉันจะตรวจสอบภาพเอาท์พุตได้อย่างไร file?
คุณสามารถตรวจสอบภาพผลลัพธ์ได้โดยการแยกวิเคราะห์ผลลัพธ์ file และตรวจสอบฟิลด์ส่วนหัวแต่ละฟิลด์ ใช้คำสั่ง:./STM32MP_SigningTool_CLI.exe -dump /home/user/output.stm32
- ความแตกต่างระหว่างเวอร์ชันส่วนหัวสำหรับการลงนามคืออะไร
เวอร์ชันส่วนหัวจะกำหนดจำนวนคีย์สาธารณะที่จำเป็นสำหรับการรับรองความถูกต้อง ตัวอย่างเช่นampเวอร์ชันส่วนหัว 1 ต้องใช้เส้นทางคีย์หนึ่งเส้นทางสำหรับผลิตภัณฑ์ STM32MP15xx ในขณะที่เวอร์ชันส่วนหัว 2 ขึ้นไปต้องใช้เส้นทางคีย์แปดเส้นทางสำหรับผลิตภัณฑ์อื่นๆ
การแนะนำ
- ซอฟต์แวร์เครื่องมือลงนามซีรีส์ STM32MPx (มีชื่อว่า STM32MP-SignTool ในเอกสารนี้) ได้รับการรวมไว้ใน STM32CubeProgrammer (STM32CubeProg)
- STM32MP-SignTool เป็นเครื่องมือสำคัญที่รับประกันแพลตฟอร์มที่ปลอดภัยและช่วยรับรองการลงนามในภาพไบนารีโดยใช้คีย์ ECC ที่สร้างโดยซอฟต์แวร์ STM32MP-KeyGen (ดูรายละเอียดเพิ่มเติมได้ที่คำอธิบายซอฟต์แวร์ตัวสร้างคีย์ซีรีย์ STM32MPx ในคู่มือผู้ใช้ (UM2542)
- รูปภาพไบนารีที่ลงนามจะถูกใช้ระหว่างลำดับการบูตที่ปลอดภัยของ MPU ซีรีส์ STM32MPx ที่รองรับห่วงโซ่การบูตที่เชื่อถือได้ การดำเนินการนี้จะช่วยให้แน่ใจถึงการรับรองความถูกต้องและการตรวจสอบความสมบูรณ์ของรูปภาพที่โหลด
- STM32MP-SignTool สร้างภาพไบนารี file, คีย์สาธารณะ fileและกุญแจส่วนตัว file.
- ภาพไบนารี file ประกอบด้วยข้อมูลไบนารี่ที่ต้องเขียนโปรแกรมให้กับอุปกรณ์
- คีย์สาธารณะ file ประกอบด้วยคีย์สาธารณะ ECC ในรูปแบบ PEM สร้างด้วย STM32MP-KeyGen
- กุญแจส่วนตัว file ประกอบด้วยคีย์ส่วนตัว ECC ที่เข้ารหัสในรูปแบบ PEM สร้างด้วย STM32MP-KeyGen
- ไบนารีที่มีเครื่องหมาย file สามารถสร้างจากการลงนามแล้วได้ file กับแบทช์ file โหมด ในกรณีนี้ พารามิเตอร์ต่อไปนี้ไม่จำเป็น: จุดเข้าภาพ, ที่อยู่โหลดภาพ และพารามิเตอร์เวอร์ชันภาพ
ติดตั้ง STM32MP-SignTool
- เครื่องมือนี้ติดตั้งพร้อมกับแพ็คเกจ STM32CubeProgrammer (STM32CubeProg) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับขั้นตอนการตั้งค่า โปรดดูที่ส่วน 1.2 ของคำอธิบายซอฟต์แวร์ STM32CubeProgrammer ในคู่มือผู้ใช้ (UM2237)
- ซอฟต์แวร์นี้ใช้ได้กับ MPU ที่ใช้ Arm® ในซีรีส์ STM32MPx
บันทึก: Arm เป็นเครื่องหมายการค้าจดทะเบียนของ Arm Limited (หรือบริษัทในเครือ) ในสหรัฐอเมริกาและ/หรือที่อื่นๆ
อินเทอร์เฟซบรรทัดคำสั่ง STM32MP-SignTool
หัวข้อต่อไปนี้จะอธิบายวิธีใช้ STM32MP-SignTool จากบรรทัดคำสั่ง
คำสั่ง
คำสั่งที่สามารถใช้ได้มีดังต่อไปนี้:
- –binary-image(-bin), –input(-in)
- คำอธิบาย: ภาพไบนารี file เส้นทาง (นามสกุล .bin)
- รูปแบบประโยค : 1-bin /หน้าแรก/ผู้ใช้/ไบนารีFileถังขยะ
- ไวยากรณ์ :2 -ใน /home/ผู้ใช้/ไบนารีFileถังขยะ
- –เวอร์ชันภาพ (-iv)
- คำอธิบาย: เข้าสู่เวอร์ชันภาพของภาพที่เซ็นแล้ว file
- รูปแบบประโยค : -iv
- –คีย์ส่วนตัว (-prvk)
- คำอธิบาย: คีย์ส่วนตัว file เส้นทาง (นามสกุล .pem)
- รูปแบบประโยค : -ป.ร.ก.file_เส้นทาง>
- Exampเลอ: -คีย์ส่วนตัว./privateKey.pem
- –คีย์สาธารณะ-pubk
- คำอธิบาย: คีย์สาธารณะ file เส้นทาง
- รูปแบบประโยค : -ผับFile_เส้นทาง{1..8}>
- สำหรับส่วนหัว v1: ใช้เส้นทางคีย์เพียงเส้นทางเดียวสำหรับผลิตภัณฑ์ STM32MP15xx
- สำหรับส่วนหัว v2 และสูงกว่า: ใช้เส้นทางหลักแปดเส้นทางสำหรับส่วนอื่น
- –รหัสผ่าน (-pwd)
- คำอธิบาย: รหัสผ่านของคีย์ส่วนตัว (รหัสผ่านนี้ต้องมีอย่างน้อยสี่อักขระ)
- Exampเลอ: -รหัสผ่าน:
- –ที่อยู่โหลด (-la)
- คำอธิบาย: ที่อยู่โหลดภาพ
- Exampเลอ: -ลา
- –จุดเข้า (-ep)
- คำอธิบาย: จุดเข้าภาพ
- Exampเลอ: -อีพี
- –ตัวเลือก-แฟล็ก (-ของ)
- คำอธิบาย: แฟล็กตัวเลือกภาพ (ค่าเริ่มต้น = 0)
- Exampเลอ: -ของ
- –อัลกอริทึม (-a)
- คำอธิบาย: ระบุหนึ่งใน prime256v1 (ค่า 1, ค่าเริ่มต้น) หรือ brainpoolP256t1 (ค่า 2)
- Exampเลอ: -ก <2>
- –เอาท์พุต (-o)
- คำอธิบาย: เอาท์พุต file เส้นทาง พารามิเตอร์นี้เป็นทางเลือก หากไม่ได้ระบุ ผลลัพธ์จะแสดง file เกิดขึ้นจากแหล่งเดียวกัน file เส้นทาง (เช่นampเล ภาพไบนารี file คือ C:\BinaryFile.bin) ไบนารีที่มีเครื่องหมาย file คือ C:\BinaryFile_ถังลงนาม.
- รูปแบบประโยค : -โอFile_เส้นทาง>
- –ชนิด (-t)
- คำอธิบาย: ประเภทไบนารี ค่าที่เป็นไปได้คือ ssbl, fsbl, teeh, teed, teex และ copro
- รูปแบบประโยค : -NS
- –เงียบ (-s)
คำอธิบาย: ไม่มีข้อความแสดงสำหรับการแทนที่เอาท์พุตที่มีอยู่ file - –help (-h และ -?)
คำอธิบาย: แสดงความช่วยเหลือ - –เวอร์ชัน (-v)
คำอธิบาย: แสดงเวอร์ชันเครื่องมือ - –enc-dc (-encdc)
- คำอธิบาย: ค่าคงที่การอนุมานการเข้ารหัสสำหรับการเข้ารหัส FSBL [ส่วนหัว v2]
- รูปแบบประโยค : -เอ็นซีดีซี
- –enc-key (-enck)
- คำอธิบาย: ความลับของ OEM file สำหรับการเข้ารหัส FSBL [ส่วนหัว v2]
- รูปแบบประโยค : -เอ็นค์
- –dump-เฮดเดอร์ (–dump)
- คำอธิบาย: วิเคราะห์และถ่ายโอนส่วนหัวของภาพ
- รูปแบบประโยค : -ทิ้งFile_เส้นทาง>
- –เวอร์ชันส่วนหัว (-hv)
- คำอธิบาย: การลงนามเวอร์ชันส่วนหัว ค่าที่เป็นไปได้: 1, 2, 2.1, 2.2
- Example สำหรับ STM32MP15: -hv 2
- Example สำหรับ STM32MP25: -hv 2.2
- –ไม่มีกุญแจ (-nk)
- คำอธิบาย: เพิ่มส่วนหัวว่างโดยไม่มีตัวเลือกคีย์
- สังเกต: จำเป็นต้องปิดใช้งานตัวเลือกการตรวจสอบสิทธิ์ด้วยคำสั่ง Option flags
Examples สำหรับ STM32MP-SignTool
ตัวอย่างต่อไปนี้ampแสดงวิธีใช้ STM32MP-SignTool:
- Exampเล 1
เลือกอัลกอริทึมเริ่มต้น (prime256v1) และค่าแฟล็กตัวเลือกคือ 0 (ค่าเริ่มต้น) ไบนารีเอาต์พุตที่มีเครื่องหมาย file (ไบนารีFile_Signed.bin) ถูกสร้างขึ้นในโฟลเดอร์ /home/user/ - Exampเล 2
ในกรณีนี้จะเลือกอัลกอริทึม BrainpoolP256t1 แม้ว่า Folder2 และ Folder3 จะไม่มีอยู่ แต่ก็จะถูกสร้างขึ้น โดยใช้คำสั่ง –s แม้ว่า file มีชื่อระบุเหมือนกัน จะถูกแทนที่อัตโนมัติโดยไม่มีข้อความใดๆ
- Exampเล 3
ลงนามไบนารี file โดยใช้ส่วนหัวเวอร์ชัน 2 ที่รวมคีย์สาธารณะ XNUMX ตัวสำหรับกระบวนการตรวจสอบสิทธิ์ - Exampเล 4
ลงนามไบนารี file โดยใช้ส่วนหัวเวอร์ชัน 2 ที่รวมคีย์สาธารณะ XNUMX ตัวสำหรับการยืนยันตัวตนและการเข้ารหัส - Exampเล 5
ตรวจสอบภาพผลลัพธ์โดยการแยกวิเคราะห์เอาท์พุต file และตรวจสอบฟิลด์ส่วนหัวแต่ละฟิลด์ - Exampเล 6
เพิ่มส่วนหัวโดยไม่ต้องลงนามและโดยไม่ต้องปรับใช้คีย์
โหมดสแตนด์อโลน
เมื่อดำเนินการ STM32MP-SignTool ในโหมด Standalone จะต้องป้อนเส้นทางสัมบูรณ์ก่อน จากนั้นจะขอรหัสผ่านสองครั้งเพื่อยืนยัน ดังที่แสดงในภาพด้านล่าง
ขั้นตอนต่อไปมีดังต่อไปนี้:
- เลือกหนึ่งในสองอัลกอริทึม
- ระบุเวอร์ชันของภาพ จุดเข้าภาพ และที่อยู่โหลดภาพ
- กรอกค่าตัวเลือกแฟล็ก
เอาท์พุตอื่น ๆ file สามารถระบุเส้นทางได้หากจำเป็นหรือกด Enter เพื่อดำเนินการต่อด้วยเส้นทางที่มีอยู่
โซลูชัน PKCS#11
- รูปภาพไบนารีที่ลงนามจะถูกใช้ระหว่างลำดับการบูตที่ปลอดภัยของ STM32MP ที่รองรับห่วงโซ่การบูตที่เชื่อถือได้ การดำเนินการนี้จะช่วยให้แน่ใจถึงการรับรองความถูกต้องและการตรวจสอบความสมบูรณ์ของรูปภาพที่โหลด
- คำสั่งการลงนามแบบคลาสสิกจะขอให้ระบุคีย์สาธารณะและส่วนตัวทั้งหมดเป็นอินพุต files. สิ่งเหล่านี้สามารถเข้าถึงได้โดยตรงโดยบุคคลใดก็ตามที่ได้รับอนุญาตให้ดำเนินการบริการการลงนาม ในท้ายที่สุดแล้ว สิ่งนี้สามารถถือเป็นการรั่วไหลของความปลอดภัยได้ มีโซลูชันหลายประการในการปกป้องคีย์จากการพยายามขโมยข้อมูลคีย์ ในบริบทนี้ โซลูชัน PKCS#11 ได้รับการนำมาใช้
- API PKCS#11 สามารถใช้เพื่อจัดการและจัดเก็บคีย์การเข้ารหัส อินเทอร์เฟซนี้ระบุวิธีการสื่อสารกับอุปกรณ์เข้ารหัส เช่น HSM (โมดูลความปลอดภัยฮาร์ดแวร์) และสมาร์ทการ์ด วัตถุประสงค์ของอุปกรณ์เหล่านี้คือสร้างคีย์การเข้ารหัสและลงนามข้อมูลโดยไม่เปิดเผยข้อมูลคีย์ส่วนตัวให้กับโลกภายนอกทราบ
- แอปพลิเคชันซอฟต์แวร์สามารถเรียกใช้ API เพื่อใช้วัตถุเหล่านี้ได้ดังนี้:
- สร้างคีย์แบบสมมาตร/ไม่สมมาตร
- การเข้ารหัสและการถอดรหัส
- การคำนวณและการตรวจสอบลายเซ็นดิจิทัล
- PKCS #11 นำเสนอการใช้งานที่เป็นตรรกะทั่วไป view ของอุปกรณ์ที่เรียกว่าโทเค็นการเข้ารหัสและกำหนด ID สล็อตให้กับแต่ละโทเค็น แอปพลิเคชันจะระบุโทเค็นที่ต้องการเข้าถึงโดยระบุ ID สล็อตที่เหมาะสม
- STM32SigningTool ใช้สำหรับจัดการคีย์วัตถุที่จัดเก็บไว้ในสมาร์ทการ์ดและโทเค็นความปลอดภัย PKCS#11 ที่คล้ายกันโดยที่คีย์ส่วนตัวที่ละเอียดอ่อนจะไม่ถูกลบออกจากอุปกรณ์
- STM32SigningTool ใช้อินเทอร์เฟซ PKCS#11 เพื่อจัดการและลงนามไบนารีอินพุตโดยอิงตามคีย์สาธารณะ/ส่วนตัวของ ECDSA คีย์เหล่านี้จะถูกเก็บไว้ในโทเค็นความปลอดภัย (ฮาร์ดแวร์หรือซอฟต์แวร์)
คำสั่ง PKCS#11 เพิ่มเติม
- –โมดูล (-ม)
- คำอธิบาย: ระบุเส้นทางโมดูล/ไลบรารี PKCS#11 ที่จะโหลด (dll เป็นต้น)
- รูปแบบประโยค :-m
- –ดัชนีคีย์ (-ki)
- –ดัชนีคีย์ (-ki)
- คำอธิบาย: รายชื่อดัชนีคีย์ที่ใช้ในรูปแบบเลขฐานสิบหก
ใช้ดัชนีหนึ่งรายการสำหรับส่วนหัว v1 และแปดดัชนีสำหรับส่วนหัว v2 (คั่นด้วยช่องว่าง) - รูปแบบประโยค : -กี้
- –ดัชนีสล็อต (-si)
- คำอธิบาย: ระบุดัชนีของสล็อตที่จะใช้ (ค่าเริ่มต้น 0x0)
- รูปแบบประโยค :-si
- –active-keyIndex (-อากิ)
- คำอธิบาย: ระบุดัชนีคีย์ที่ใช้งานจริง (ค่าเริ่มต้น 0)
- รูปแบบประโยค : -aki <ค่าเลขฐานสิบหก>
พีเคเอช/พีเคเอช file รุ่น
หลังจากดำเนินการลงนามแล้ว เครื่องมือจะสร้าง PKH อย่างเป็นระบบ fileใช้สำหรับฟิวส์ OTP
- พีเคเอช file ตั้งชื่อว่า pkcsHashPublicKey0x{active_key_index}.bin สำหรับส่วนหัว v1
- พีเคทีเอช file ตั้งชื่อว่า pkcsPublicKeysHashHashes.bin สำหรับส่วนหัว v2
Exampเลส
เครื่องมือนี้สามารถลงนามอินพุตได้ files สำหรับทั้งส่วนหัว v1 และส่วนหัว v2 โดยมีความแตกต่างเพียงเล็กน้อยในบรรทัดคำสั่ง
- ส่วนหัว v1
- ส่วนหัว v2
- ข้อผิดพลาดบนบรรทัดคำสั่งหรือเครื่องมือไม่สามารถระบุวัตถุสำคัญที่ตรงกันได้ ส่งผลให้มีการแสดงข้อความแสดงข้อผิดพลาด ซึ่งบ่งชี้ถึงแหล่งที่มาของปัญหา
- SigningTool สามารถใช้ได้เฉพาะ HSM ที่กำหนดค่าไว้ล่วงหน้าเท่านั้น และไม่ได้ออกแบบมาเพื่อจัดการหรือสร้างอ็อบเจ็กต์ความปลอดภัยใหม่ ดังนั้น จึงจำเป็นต้องติดตั้งซอฟต์แวร์ฟรีเพื่อตั้งค่าสภาพแวดล้อมที่เหมาะสม จากนั้นจึงสามารถสร้างคีย์และรับข้อมูลเกี่ยวกับอ็อบเจ็กต์ได้
ข้อผิดพลาด เช่นampเลส:
- ดัชนีสล็อตไม่ถูกต้อง
- วัตถุคีย์ที่ไม่รู้จักซึ่งกล่าวถึงในคำสั่ง –key-index
เครื่องมือจะจัดการกับวัตถุตามลำดับ หากไม่สามารถระบุวัตถุสำคัญที่ตรงกันได้ในการลองครั้งแรก การดำเนินการลงนามจะหยุดกระบวนการ จากนั้นจะแสดงข้อความแสดงข้อผิดพลาดเพื่อระบุแหล่งที่มาของปัญหา
ประวัติการแก้ไข
วันที่ | เวอร์ชัน | การเปลี่ยนแปลง |
14 ก.พ. 2019 | 1 | การเปิดตัวครั้งแรก |
26 พ.ย. 2021 |
2 |
อัปเดต :
• ส่วนที่ 2.1: คำสั่ง • ส่วนที่ 2.2: ตัวอย่างamples สำหรับ STM32MP-SignTool • เพิ่มส่วนที่ 2.4: โซลูชัน PKCS#11 |
27 มิ.ย. 2022 | 3 | อัปเดตส่วนที่ 2.1: คำสั่ง |
26 มิ.ย. 2024 |
4 |
แทนที่ในเอกสารทั้งหมด:
• ซีรีย์ STM32MP1 โดยซีรีย์ STM32MPx • STM32MP1-SignTool โดย STM32MP-SignTool • STM32MP1-KeyGen โดย STM32MP-KeyGen อัปเดต –public-key -pubk และเพิ่ม –header-version (-hv) และ –no-keys (- nk) ในส่วนที่ 2.1: คำสั่ง เพิ่ม “ตัวอย่างที่ 6” ในส่วนที่ 2.2: ตัวอย่างamples สำหรับ STM32MP-SignTool |
หมายเหตุสำคัญ - โปรดอ่านอย่างละเอียด
- STMicroelectronics NV และบริษัทในเครือ (“ST”) ขอสงวนสิทธิ์ในการเปลี่ยนแปลง แก้ไข ปรับปรุง ปรับเปลี่ยน และปรับปรุงผลิตภัณฑ์ ST และ/หรือเอกสารนี้ได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบ ผู้ซื้อควรได้รับข้อมูลล่าสุดที่เกี่ยวข้องกับผลิตภัณฑ์ ST ก่อนทำการสั่งซื้อ ผลิตภัณฑ์ ST จะถูกขายตามข้อกำหนดและเงื่อนไขการขายของ ST ที่ใช้ในขณะที่ยืนยันคำสั่งซื้อ
- ผู้ซื้อจะต้องรับผิดชอบแต่เพียงผู้เดียวในการเลือก การคัดเลือก และการใช้ผลิตภัณฑ์ ST และ ST จะไม่รับผิดชอบต่อความช่วยเหลือในการใช้งานหรือการออกแบบผลิตภัณฑ์ของผู้ซื้อ
- ST ไม่อนุญาตให้มีใบอนุญาตใดๆ ไม่ว่าโดยชัดแจ้งหรือโดยนัยในสิทธิในทรัพย์สินทางปัญญาใดๆ
- การขายต่อผลิตภัณฑ์ ST ที่มีข้อกำหนดแตกต่างจากข้อมูลที่กำหนดไว้ในที่นี้ จะทำให้การรับประกันใดๆ ที่ ST ให้ไว้สำหรับผลิตภัณฑ์ดังกล่าวเป็นโมฆะ
- ST และโลโก้ ST เป็นเครื่องหมายการค้าของ ST สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเครื่องหมายการค้า ST โปรดดูที่ www.st.com/trademarks ชื่อผลิตภัณฑ์หรือบริการอื่นๆ ทั้งหมดเป็นทรัพย์สินของเจ้าของที่เกี่ยวข้อง
- ข้อมูลในเอกสารฉบับนี้แทนที่และเปลี่ยนแทนข้อมูลที่เคยให้ไว้ก่อนหน้านี้ในเอกสารฉบับก่อนหน้าใดๆ
© 2024 STMicroelectronics – สงวนลิขสิทธิ์
เอกสาร / แหล่งข้อมูล
![]() |
ซอฟต์แวร์เครื่องมือเซ็นชื่อซีรีส์ ST STM32MPx [พีดีเอฟ] คู่มือการใช้งาน ซอฟต์แวร์เครื่องมือเซ็นชื่อซีรีส์ STM32MPx ซีรีส์ STM32MPx ซอฟต์แวร์เครื่องมือเซ็นชื่อ ซอฟต์แวร์เครื่องมือ ซอฟต์แวร์ |