Embedded System Memory Encryption via Software Interception
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Embedded systems lack effective internal memory encryption, making them vulnerable to data breaches when physically accessed, and existing cryptographic solutions are costly and not applicable to widely available devices like smartphones and PDAs.
Innovation Solution
A key server distributes encryption keys to embedded systems, which use these keys for internal memory encryption, with an edge-embedded encryption module monitoring OS operations and encrypting/decrypting data, and requiring a previous operation's key for activation, ensuring secure storage and retrieval.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hardware-based internal encryption is implemented, then data security is improved, but device cost and complexity increase
Solution Approach 1:
The patent replaces hardware-based encryption mechanisms with a software-based encryption system. The encryption module is implemented as software that intercepts memory access operations and encrypts/decrypts data accordingly, eliminating the need for costly hardware encryption components while maintaining security functionality.
Solution Approach 2:
The patent introduces an encryption module as an intermediary layer between the processor and memory. This module monitors memory access operations and performs encryption/decryption as a mediation step, allowing software-based security without requiring hardware encryption capabilities.
2Reliability
If hardware-based internal encryption is implemented, then data security is improved, but device cost increases
Solution Approach 1:
The patent replaces expensive hardware encryption components with a software-based encryption implementation. The encryption module operates in software, utilizing the existing processor and memory architecture, thereby eliminating the need for additional costly hardware encryption chips or components.
Solution Approach 2:
The patent uses a software-based encryption solution that can be implemented without expensive hardware components. The encryption functionality is achieved through software algorithms running on the existing processor, providing a cost-effective alternative to hardware encryption while maintaining adequate security for the application.
3Ease of manufacture
If software-based encryption is used, then device cost is reduced, but encryption performance and security strength may deteriorate
Solution Approach 1:
The patent implements encryption through software that intercepts and processes memory access operations. The encryption module operates at the software level, using the existing processor to perform cryptographic operations, thereby achieving cost reduction without significantly compromising security through the use of standard cryptographic algorithms.
4Reliability
If key management system is implemented, then encryption security is improved, but system complexity and operational difficulty increase
Solution Approach 1:
The patent implements automatic key management where the encryption module handles key storage, retrieval, and rotation automatically during memory access operations. The system self-manages its cryptographic keys without requiring manual intervention, reducing operational complexity while maintaining strong encryption security.
Solution Approach 2:
The patent pre-establishes key management procedures and automatic key retrieval mechanisms before encryption operations occur. The system is configured to automatically manage key lifecycle events, reducing the need for complex manual key management operations and simplifying the overall system operation.
Data Source
AI summary
A non-transient computer usable medium has computer usable instructions embodied thereon, the computer usable instructions configured to cause a computer device to perform the steps of receiving an intermediate program code prior to execution of the intermediate program code; recognizing data storage commands within the intermediate program code; modifying the intermediate program code such that, during execution of the intermediate program code, the data is encrypted before it is stored; recognizing data retrieval commands within the intermediate program code; modifying the intermediate program code such that, during execution of the intermediate program code, the data is decrypted after it is retrieved; and providing the modified intermediate program code for execution.


