Becoming a tyrant: Implementing secure boot in embedded devices
summary
Describes implementing secure boot on embedded SoMs by trusting vendor boot ROM, burning e-fuses burned to lock stages, using signed U-Boot FIT image to verify kernel and device tree, adding a TPM for key storage and TPM parameter encryption, and protecting rootfs with dm-verity and signed update images. Advises multiple hardware kits (one sacrificial for fuses), blow JTAG fuses, design factory programming and key separation, and expect higher dev cost and bricking risk; solution works but remains vulnerable to physical attacks like logic analyzers and unpatchable hardware bugs.
AI-written summary · about
chapters (24)
- 0:00Intro
- 0:14Becoming a tyrant: Implementing secure boot in embedded devices
- 2:15Hi, I'm Irving . I want to talk about secure boot
- 3:18Chain of trust mechanism • Verify integrity of next component before executing . Can use hashes or public keys . Can provide some protection against tampering (incl. physical)
- 4:17The Tyrant . Whoever controls the keys/hashes, controls everything
- 4:56Who is your adversary? . Can be used in a variety of scenarios • Important to determine who has control and who has none
- 5:39Hyphothetical scenario 3
- 7:31Anything involving financial transactions
- 8:59Automotive ECU / Industrial controls • Some devices control heavy and powerful things · Cars, cranes, industrial equipments, steam turbines · Tampering can cause injury, death, and legal liabilities
- 9:18But I should be able to modify my devices!
- 10:50What about fixing bugs in ECUs?
- 12:09Vendor lock-in · Tamperproofing can be used to lock out competitors eg generic spare parts, consumables, self-repair
- 13:51What kind of secrets? • User data
- 14:27What kind of protection? · Physical attacks
- 15:46Why do we need secure boot for this? • Blob / Filesystem/Full disk encryption is not enough
- 16:29Trusted Platform Modules?
- 18:25TPM pitfalls · Enable parameter encryption
- 18:38Encryption with secure boot
- 19:52Is it worth it?
- 23:41First stage (hardware-specific) · Always vendor-specific, so start with vendor instructions • Get multiple hardware kits - You will need to burn e-fuse and test different signed builds
- 26:41Firmware updates . You should use signed images
- 27:21Mass manufacturing • Locking software/interfaces can limit manufacturing flexibility
- 30:19U-boot verified boot • Secure and flexible boot with U-Boot bootloader by Marek Vasut
- 31:21Real-world examples
related talks
49mSecure Boot from A to Z
39mSecuring firmware: Secure and Trusted boot in OpenBMC
45mBuilding a Secure IoT Device
53mSecure Embedded Linux Product - A Success Story
42mPractical Application of Verified Boot
45mNavigating Security Tradeoffs in Embedded Linux Systems
42mTales from the Crypt: Implementing Secure Boot and Disk Encryption on Tegra Platforms
42mPractical Application of Verified Boot
