Wrapped HSM Key Management for Secure Multi-Environment Signing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing code signing paradigms face challenges in securely managing and distributing cryptographic keys across multiple hardware security modules (HSMs) in different environments, leading to labor-intensive key ceremonies and vulnerabilities from unauthorized access.
Innovation Solution
A system and method for generating temporary cryptographic keys in an HSM, encrypting them with a wrapping key, and storing them externally for backup, allowing secure distribution and use of keys through a user device, with optional decryption for cryptographic operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple HSMs are used in different environments for key storage, then key security and distribution are improved, but key management complexity and labor intensity increase due to repeated key ceremonies
Solution Approach 1:
The key management process is segmented into distinct phases: key generation in the primary HSM, wrapping/encryption of the key, external storage of the wrapped key, and unwrapping in secondary HSMs. This segmentation allows each HSM to perform only its designated function, reducing the need for repeated key ceremonies across all HSMs while maintaining security.
Solution Approach 2:
The key is generated and wrapped in advance in the primary HSM before being distributed to secondary HSMs. This preliminary action eliminates the need for each secondary HSM to participate in the full key ceremony, reducing labor intensity and management complexity while ensuring key security through pre-established cryptographic protection.
2Reliability
If keys are stored in HSM with multiple person integrity requirements, then key security is improved, but operational efficiency and speed deteriorate due to labor-intensive key ceremonies
Solution Approach 1:
The key is extracted from the primary HSM in wrapped form and stored externally, separating the key generation process from the key distribution process. This extraction allows secondary HSMs to obtain keys without participating in the full key ceremony, maintaining security through cryptographic wrapping while significantly improving operational efficiency.
Solution Approach 2:
The wrapped key serves as an intermediary between the primary HSM and secondary HSMs. Instead of requiring direct interaction between multiple persons and HSMs for each key ceremony, the wrapped key mediates the key distribution, reducing labor intensity while maintaining the security guarantees of multi-person integrity.
3Reliability
If private keys are secured against unauthorized access, then security is improved, but key distribution and backup capabilities deteriorate
Solution Approach 1:
Different security properties are applied to different representations of the key: the private key remains securely stored in the HSM with strict access controls, while the wrapped version of the key can be safely transmitted and stored externally for distribution and backup purposes. This local differentiation of security properties enables both security and ease of distribution.
Solution Approach 2:
Asymmetric cryptographic operations are used where the private key remains confined to the HSM for signing operations, while the public key and wrapped key versions are freely distributed. This asymmetry in key usage and distribution rights maintains security while enabling practical key management operations across multiple environments.
Data Source
AI summary
A system and method for providing a providing security credential is disclosed. In one embodiment, the method comprises accepting a request to generate at least one key in an online data signing system; generating, in a hardware security module communicatively coupled to the online data signing system, a first key K1 as a temporary object; encrypting, by the hardware security module, the first key K1 according to a wrapping key Kw to produce an encrypted first key EKw[K1]; storing the encrypted first key; and providing a second key K2 associated with the first key K1 to a user device communicatively coupled to the online data signing system.


