Memory Encryption Segmentation for Manufacturing Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for encrypting firmware and software in mobile devices require unique keys per device, leading to inefficiencies in manufacturing due to the need for on-device key generation and storage, which hampers production speed and requires significant parallel processing to manage encryption times, resulting in bottlenecks and increased hardware needs.
Innovation Solution
A method that splits the encryption process into two steps: pre-processing the encrypted content independently of the device and post-processing the key using a device-dependent key after installation, allowing for parallelized production and faster encryption times by separating the key management from content size dependencies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire flash content is encrypted by a device-dependent key, then security level is improved, but manufacturing efficiency deteriorates due to processing bottleneck
Solution Approach 1:
The encryption process is segmented into two distinct phases: (1) bulk encryption of flash content performed during memory manufacturing using a generic key, and (2) key encryption performed during device assembly using a device-dependent key. This segmentation allows the time-consuming encryption operation to be distributed across different production stages, eliminating the bottleneck that would occur if all encryption were performed sequentially on the production line.
Solution Approach 2:
The bulk encryption of flash content is performed as a preliminary action during memory device manufacturing, before the memory device is installed in the processing device. This allows the majority of the encryption work to be completed in advance during memory production, so that when the memory device is later installed in the processing device, only the smaller key encryption step remains, significantly reducing on-device processing time.
2Reliability
If a unique key is generated for each device, then security is improved, but device complexity increases due to key management requirements
Solution Approach 1:
The complex key management burden is extracted from the processing device and transferred to the memory device. The memory device stores both the generic key (used for bulk content encryption) and the device-dependent key (used for key encryption), along with the encrypted content. This extraction simplifies the processing device's role to merely storing the encrypted key and performing decryption, reducing overall system complexity while maintaining security.
3Reliability
If encryption is performed on the production line, then security is improved, but processing time increases causing production bottleneck
Solution Approach 1:
The encryption process is segmented into two distinct phases: (1) bulk encryption of flash content performed during memory manufacturing using a generic key, and (2) key encryption performed during device assembly using a device-dependent key. This segmentation allows the time-consuming encryption operation to be distributed across different production stages, eliminating the bottleneck that would occur if all encryption were performed sequentially on the production line.
Solution Approach 2:
The bulk encryption of flash content is performed as a preliminary action during memory device manufacturing, before the memory device is installed in the processing device. This allows the majority of the encryption work to be completed in advance during memory production, so that when the memory device is later installed in the processing device, only the smaller key encryption step remains, significantly reducing on-device processing time.
Data Source
AI summary
In a method of storing data in a memory device, which data comprise content to be processed in a processing device in which the memory device is installed, the method comprises the steps of writing encrypted content (Enc_Krand(flash_content) into the memory device before installing the memory device in the processing device, wherein the content was encrypted by use of a first key (Krand), and accessing the first key (Krand) and encrypting the first key (Krand) by the aid of a second key (KIC; Ke) that is dependent on the processing device after installation of the memory device in the processing device, and writing the encrypted first key (EncSym_KIC(Krand); EncAsym_Ke(Krand)) into the memory device.

