IoT Secure Boot Using OTP Keys and Firmware Signature Checks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing IoT apparatuses face security vulnerabilities due to hard-coded or plaintext storage of certificate and key information, leading to easy data acquisition and unauthorized impersonation, which compromises their security.
Innovation Solution
A secure boot method for IoT apparatuses involving verification of authentication signatures for bootloader and application layer firmware, decryption using a write-protected encryption key stored in one-time programmable memory, and decryption of flash-memory partition data to ensure secure boot-up.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If certificate and key information are stored by hard coding or in plain text in flash memory, then the storage is simple and easy to access, but data security is low and the data is easy to acquire leading to unauthorized impersonation and attacks
Solution Approach 1:
The patent divides the storage system into multiple secure layers: secure element for root key storage, one-time programmable memory for encryption keys, and flash memory for encrypted data. This segmentation isolates sensitive information from potential attackers while maintaining systematic access control.
Solution Approach 2:
The patent introduces encryption keys as intermediaries between the secure storage elements and the data. The encryption keys stored in one-time programmable memory act as mediators that control access to decrypted data, preventing direct access to sensitive information while maintaining functionality.
2Reliability
If encryption keys are stored in one-time programmable memory with write protection attribute, then data security is enhanced, but the system complexity increases due to multiple verification and decryption steps
Solution Approach 1:
The patent performs authentication signature verification of bootloader and application firmware before allowing access to encryption keys. This preliminary action ensures that only authenticated and authorized firmware can access sensitive data, preventing unauthorized access at the earliest stage.
Solution Approach 2:
The patent applies different security measures to different parts of the system: secure element for root keys, one-time programmable memory with write protection for encryption keys, and encrypted storage for data. Each component has tailored security properties matching its specific security requirements.
3Reliability
If authentication signature verification is performed for bootloader and application firmware, then only authorized firmware is executed ensuring integrity, but the boot process time increases due to multiple verification steps
Solution Approach 1:
Authentication signatures are pre-calculated and embedded in the firmware before deployment. During boot, the verification process simply checks these pre-prepared signatures rather than performing complex authentication calculations, significantly reducing verification time while maintaining security.
Solution Approach 2:
The patent replaces complex cryptographic authentication mechanisms with simpler signature verification operations. Instead of performing full authentication protocols during boot, the system uses efficient digital signature verification algorithms that provide equivalent security with reduced computational overhead and faster execution.
Data Source
AI summary
A secure boot method of an Internet of Things (IoT) apparatus includes: in response to a system boot signal of the IoT apparatus, verifying an authentication signature of a bootloader firmware and an authentication signature of an application layer (App) firmware; reading an encryption key stored in a one-time programmable memory in response to determining that the authentication signature of the bootloader firmware and the authentication signature of the App firmware both pass verification, in which the encryption key is configured to have a write protection attribute; decrypting the App firmware according to the encryption key, and running the decrypted App firmware; and in response to determining to read encrypted flash-memory partition data in a flash memory (Flash), decrypting the encrypted flash-memory partition data according to the encryption key, so as to securely boot up the IoT apparatus.


