Dual Block Cipher Security Apparatus for Embedded Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing security technologies for microprocessor systems are vulnerable to logical and physical attacks, and current solutions are not robust enough to provide reliable, high-performance security services across various applications and environments.
Innovation Solution
A hardware structure utilizing two independent block ciphers, where one acts as a random number generator and the other performs encryption/decryption, with the ability to reserve bus possession via a wait state to efficiently mask intermediate results and minimize data transfer, ensuring robustness against external attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single block cipher is used for both encryption/decryption and random number generation, then device complexity is reduced, but reliability and security performance deteriorate due to vulnerability to attacks
Solution Approach 1:
The system is divided into two independent block ciphers: one dedicated to encryption/decryption operations and another dedicated to random number generation. This segmentation eliminates the vulnerability of using a single cipher for both purposes, as each component operates independently with its own key, preventing attacks that exploit the dual-functionality of unified ciphers.
Solution Approach 2:
While the system uses segmentation, both block ciphers are based on the same AES algorithm framework, allowing them to serve universal cryptographic purposes. The first block cipher handles data encryption/decryption while the second generates random numbers, yet both can operate with the same algorithmic foundation, maintaining versatility without compromising security.
2Reliability
If random number generation is performed using a dedicated random number generator, then security performance improves, but device complexity and computational load increase
Solution Approach 1:
The system uses the second block cipher to serve dual purposes: it generates random numbers for masking operations and can also perform encryption/decryption when needed. This self-service capability eliminates the need for a completely separate random number generator hardware component, reducing overall device complexity while maintaining security performance through the use of a cryptographically secure pseudo-random number generation mechanism.
3Reliability
If intermediate results are masked using internally generated random numbers, then security against physical attacks improves, but computational load increases
Solution Approach 1:
The system extracts the random number generation function into a separate second block cipher that operates independently from the first block cipher performing encryption/decryption. This extraction allows the masking operation to use pre-generated random numbers without interfering with the main encryption process, reducing the computational overhead during critical encryption operations while maintaining security against differential power analysis and other physical attacks.
4Productivity
If bus possession is reserved via wait state to minimize data transfer, then productivity improves, but loss of time increases due to waiting
Solution Approach 1:
The system performs preliminary actions by generating and storing random numbers in advance using the second block cipher before they are needed for masking operations. Similarly, the bus reservation via wait state is implemented in advance to ensure data is ready for transfer when needed, minimizing actual transfer time and improving overall productivity despite the apparent waiting period.
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
Disclosed herein are an apparatus and method for providing a security service. The apparatus for providing a security service includes a first block cipher and a second block cipher. The second block cipher is independent of the first block cipher, and is configured to be used as a random number generator when the first block cipher is used to perform encryption/decryption, and to be used to perform encryption/decryption when the first block cipher is used as a random number generator.