Auditable Key Vault Using OTP Memory for Secure Master Keys
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing devices lack a secure and auditable system for generating and managing cryptographic keys, which are crucial for protecting sensitive data and ensuring trust in firmware and operating systems.
Innovation Solution
A system is implemented that uses a one-way function to generate master keys based on random numbers, nonce numbers, and a second number, storing these keys in one-time programmable memory and generating public key-private key pairs, with an audit process to verify the keys and deposit non-audited keys on a public ledger.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If cryptographic keys are stored in conventional memory, then ease of operation is improved, but security is worsened due to potential attacks on key storage
Solution Approach 1:
The patent employs one-time programmable (OTP) memory for storing master keys and cryptographic parameters. This OTP memory can be programmed once and then locked, making it physically impossible to read or modify the stored keys. This disposable approach to key storage eliminates the need for complex key management while providing hardware-level security, as the keys exist only in their encrypted form in the OTP memory and cannot be extracted or attacked through conventional memory interfaces.
2Reliability
If cryptographic keys are made auditable, then trust and compliance verification is improved, but device complexity is worsened due to additional audit infrastructure
Solution Approach 1:
The patent implements auditability by creating cryptographic proofs (copies) of the key generation process rather than exposing the actual keys. The system generates audit records that contain verifiable information about key generation parameters and processes, which can be independently verified by third parties. These cryptographic proofs allow external auditors to verify compliance without requiring access to the actual cryptographic keys or the internal device architecture, thus maintaining security while enabling trust verification.
Solution Approach 2:
The patent introduces a root of trust (RoT) as an intermediary component that mediates between the cryptographic key management system and external auditors. The RoT contains the OTP memory and cryptographic processing units, and it provides a standardized interface for generating and exporting audit proofs. This intermediary layer simplifies the audit process by handling all complex cryptographic operations internally while presenting a clean, verifiable interface to external parties, thereby reducing the apparent device complexity.
3Reliability
If master keys are destroyed after audit, then security is improved by eliminating compromised keys, but loss of information is worsened as key data is permanently lost
Solution Approach 1:
The patent extracts only the necessary audit information from the key generation process before the master keys are destroyed. The system generates cryptographic proofs and audit records that contain all verifiable information about key generation parameters, random number generation quality, and process compliance. This extracted information is then exported and stored externally, while the actual master keys remain securely stored in the OTP memory or are destroyed after use. This extraction approach ensures that no security-critical information is lost, as the audit proofs contain sufficient data for verification without requiring retention of the actual keys.
Data Source
AI summary
Systems and techniques are provided for generating cryptographic keys. For instance, a process may include generating a plurality of master keys based on a plurality of generated random numbers, a second number, and a nonce number; storing a master key, of the plurality of master keys, along with a generated random number of the plurality of generated random numbers, the second number, and the nonce number used to generate the master key in a one-time programmable memory; generating public key-private key pairs for the plurality of master keys; transmitting public keys of the plurality of public key-private key pairs for audit; destroying an audited master key, along with the generated random number, second number, and the nonce number used to generate the audited master key, based on the audit; and storing a non-audited public key-private key pair corresponding to the master key that were not destroyed based on the audit.


