Secure Provisioning Code Execution for Distributed Device Manufacturing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The secure provisioning of electronic devices or components, such as chips or microprocessors, is challenging due to distributed manufacturing and assembly processes, where security-sensitive data is often handled in an insecure manner, particularly during in-system programming.
Innovation Solution
A provisioning control apparatus and method that securely provides provisioning application code to an electronic device's volatile memory, which, when executed, stores security-sensitive data in a non-volatile memory, utilizing encryption, secure communication channels, and hardware security enclaves to ensure data integrity and protection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If security-sensitive provisioning data is handled during distributed manufacturing and assembly, then electronic devices can be produced in a distributed fashion by different parties, but the security of provisioning data is compromised
Solution Approach 1:
The provisioning process is segmented into distinct phases: secure transmission of provisioning application code to the electronic device, execution of the code within the device's trusted environment, and separate handling of provisioning data. This segmentation allows distributed manufacturing while maintaining security by ensuring that sensitive operations occur within the device's protected boundaries rather than in external provisioning systems.
Solution Approach 2:
A provisioning application code acts as an intermediary that mediates between the external provisioning system and the device's internal secure storage. This intermediary code runs within the device's trusted execution environment, enabling secure data handling without requiring direct access to sensitive provisioning data by external parties during the manufacturing process.
2Ease of operation
If provisioning application code is stored in volatile memory for execution, then the code can be executed to store security-sensitive data, but the code and data are vulnerable during the provisioning process
Solution Approach 1:
The provisioning application code is pre-loaded into the device's volatile memory through a secure transmission channel before execution begins. This preliminary secure loading ensures that the code is established in a trusted state before any sensitive operations occur, preventing unauthorized access during the critical provisioning phase.
Solution Approach 2:
Physical security measures are replaced with cryptographic and software-based security mechanisms. Instead of relying on physical security of provisioning equipment, the system uses encrypted transmission channels, authenticated execution environments, and secure software routines to protect against unauthorized access during the provisioning process.
3Duration of action of stationary object
If security-sensitive provisioning data is stored in non-volatile memory, then the data persists for device operation, but the data may be exposed to unauthorized access
Solution Approach 1:
The provisioning data is nested within multiple layers of protection: encrypted storage in non-volatile memory, protected by authenticated access controls, and managed by secure software routines. This nested structure allows the data to persist in non-volatile memory while maintaining security through multiple concentric layers of protection.
Solution Approach 2:
The security parameters of the provisioning data are dynamically changed based on the operational context. During provisioning, data is transmitted with specific security parameters (encrypted format). During storage, different parameters apply (secure encryption in non-volatile memory). During access, additional parameters are enforced (authentication requirements). These parameter changes maintain security across different operational states.
Data Source
AI summary
A provisioning control apparatus is arranged to be coupled to a provisioning equipment server electrically connectable with at least one electronic device for provisioning the electronic device with security sensitive provisioning data. The electronic device includes a processor, a volatile memory and a non-volatile memory. The provisioning control apparatus has a communication interface configured to securely provide a provisioning application code to the provisioning equipment server for storing the provisioning application code in the volatile memory of the electronic device. The provisioning control apparatus includes a processor configured to trigger the processor of the electronic device to execute the provisioning application code. The provisioning application code is arranged, when being executed by the processor of the electronic device, to store the security sensitive provisioning data in the non-volatile memory of the electronic device.


