Cryptographic Circuit Secure Memory Key Exchange
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cryptographic key exchanges in software implementations are vulnerable to unauthorized access and modification, as cryptographic material is stored in memory accessible by the processor, making it susceptible to malicious attacks and side-channel attacks.
Innovation Solution
Implementing a secure key exchange using a cryptographic circuit with secure memory inaccessible to the processor, where private key material and shared secrets are stored and processed, and using an authorization hierarchy to control access and authorization among devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If cryptographic key exchange is implemented in software with memory-accessible processor, then ease of operation and implementation is improved, but security against unauthorized access and side-channel attacks deteriorates
Solution Approach 1:
The system is divided into two distinct components: a processor that handles high-level application logic and a separate cryptographic circuit that handles sensitive cryptographic operations. This segmentation isolates the cryptographic material from the main processor, preventing software-based attacks while maintaining ease of operation through clear functional separation. The cryptographic circuit has its own dedicated secure memory, further segmenting the attack surface.
Solution Approach 2:
The cryptographic circuit is extracted from the main processor system into a separate, dedicated hardware component. This extraction removes the cryptographic operations and their associated memory from the processor's accessible memory space, eliminating the vulnerability to software-based attacks and side-channel attacks that would otherwise exist in a software-only implementation.
2Ease of operation
If cryptographic material is stored in processor-accessible memory, then ease of access and processing is improved, but vulnerability to malicious attacks and side-channel attacks increases
Solution Approach 1:
Cryptographic material is extracted from the processor's memory space and placed in a separate secure memory within the cryptographic circuit. This extraction maintains ease of access for cryptographic operations while eliminating vulnerability to attacks that target processor memory, as the cryptographic circuit operates independently with its own protected memory space.
Solution Approach 2:
The cryptographic circuit acts as an intermediary between the processor and the secure memory. It provides controlled access to cryptographic material through defined interfaces, maintaining accessibility for legitimate operations while blocking unauthorized access attempts from the processor or other system components.
3Reliability
If authorization hierarchy is implemented to control device access, then security against unauthorized participation is improved, but device complexity increases
Solution Approach 1:
The authorization system is segmented into a hierarchical structure with distinct levels: root of trust at the hardware level, cryptographic circuit authorization, and application-level authorization. Each level operates independently with its own verification mechanisms, providing robust access control while keeping individual components relatively simple and manageable.
Data Source
AI summary
Techniques are disclosed relating to cryptographic key exchanges. In some embodiments, a computing device includes a cryptographic circuit coupled to a secure memory inaccessible to a processor of the computing device. Program instructions executing on the computing device can request performance of a key exchange to establish a shared secret with another device. The cryptographic circuit is configured to perform the key exchange including deriving the shared secret using private key material maintained in the secure memory. In some embodiments, the key exchange includes verifying a key authorization data structure issued by a key authority including a first public key of a first participant authority and a second public key of a second participant authority. In response to the verifying being successful, the exchange uses a public key pair attested to by the first participant authority as belonging to a member in the first device group.


