Secure Boot from External Storage Using OTP Authentication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
There is a need for techniques to securely boot electronics devices from external storage devices, ensuring that only valid and authorized software and firmware are loaded and executed, while preventing unauthorized programs from running, to prevent tampering and ensure secure operation.
Innovation Solution
The techniques utilize a non-writable area on external storage devices, such as a one-time programmable (OTP) area, to store secure data like hash digests and cryptographic keys, which are used to authenticate software programs by hashing and verifying signatures, ensuring that only authorized programs are executed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If software and firmware are stored in external non-volatile memory to reduce costs, then storage economy is improved, but security and reliability of execution are worsened because the memory is writable and vulnerable to tampering
Solution Approach 1:
The external storage device is divided into two distinct areas: a main writable area for storing software programs and a separate non-writable area (OTP/OTW) for storing secure authentication data. This segmentation allows the system to maintain both cost-effectiveness (by using external storage) and security (by isolating authentication data in a protected area).
Solution Approach 2:
A secure authentication mechanism acts as an intermediary between the software stored in external memory and the execution environment. The processor retrieves secure data from the non-writable area to authenticate software before execution, preventing unauthorized or tampered software from running while still allowing legitimate software to execute from the economical external storage.
2Adaptability or versatility
If software is stored in external writable memory, then storage capacity and access capability are improved, but vulnerability to tampering and unauthorized modification increases
Solution Approach 1:
Authentication is performed preliminarily before software execution. The processor retrieves secure data from the non-writable area and uses it to authenticate the software program from the main area before allowing execution. This preliminary authentication step ensures that even though the main storage area is writable and adaptable, any tampering is detected and prevented before the software can execute or cause harm.
3Reliability
If secure data is stored in non-writable area for authentication, then security against unauthorized execution is improved, but device complexity increases due to additional authentication mechanisms
Solution Approach 1:
The authentication logic and secure data are extracted into a separate non-writable area, independent from the main software storage. This extraction allows the authentication mechanism to operate independently and securely, while the main software area remains simple and accessible. The complexity is isolated to a small protected area rather than affecting the entire storage system.
Data Source
AI summary
Techniques to securely boot up an electronics device (e.g., a cellular phone) from an external storage device are described. Secure data (e.g., a hash digest, a signature, a cryptographic key, and so on) is initially retrieved from a non-writable area of an external memory device (e.g., an one-time programmable (OTP) area of a NAND Flash device). A first program (e.g., a boot program) is retrieved from a writable or main area of the external memory device and authenticated based on the secure data. The first program is enabled for execution if authenticated. A second program may be retrieved from the main area of the external memory device and authenticated based on the secure data. The second program is enabled for execution if authenticated. Additional programs may be retrieved and authenticated. Each program may be authenticated using a secure hash function, a digital signature, and/or some other cryptographic technique.


