Secure Software Artifact Delivery for Air-Gapped Key Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Air-gapped computing systems are vulnerable to malware attacks, despite conventional encryption methods, as malware can gain access to decryption keys, compromising the security of sensitive data.
Innovation Solution
A secure build server encrypts software artifacts into an encrypted data file, along with a policy file and a first key, storing them via a trusted execution environment and portable storage. The destination server decrypts these using a second key, authenticates the software application based on policy information, and accesses the software artifacts using the first key.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional encryption methods are used to protect data on air-gapped systems, then data confidentiality is improved, but the system remains vulnerable to malware attacks that can access decryption keys
Solution Approach 1:
The system segments the decryption process into two independent parts: a software component (decryption application) and a hardware component (secure element). The encryption key is split into key material stored in the secure element and key metadata stored in the air-gapped system. Both components are required together to decrypt data, preventing malware from accessing the complete key regardless of which component it compromises.
Solution Approach 2:
The secure element acts as an intermediary hardware component that securely holds key material and performs cryptographic operations. It mediates between the decryption application and the encryption key, allowing the system to benefit from hardware security protections while maintaining software flexibility. The secure element's isolated environment prevents malware on the air-gapped system from directly accessing key material.
2Ease of operation
If decryption keys are stored on air-gapped computing devices, then data access is simplified, but the devices become vulnerable to software attacks and malware
Solution Approach 1:
The system extracts the most security-critical component (key material) from the air-gapped computing device and places it in a separate secure element. This extraction removes the vulnerability to software attacks while preserving the ability to access data through the coordinated operation of the decryption application and secure element.
Solution Approach 2:
The system uses volatile memory within the secure element to temporarily hold key material during cryptographic operations. This volatile storage automatically clears when power is removed, ensuring that even if the secure element is physically accessed, the key material cannot be extracted. The temporary nature of the storage provides security without requiring complex physical protection mechanisms.
3Device complexity
If manual protection or access controls are used for public/private keys, then implementation complexity is reduced, but security against key leakage is insufficient
Solution Approach 1:
The system replaces manual key protection mechanisms (such as password-protected files or access control lists) with a hardware-based secure element that provides cryptographic security functions. The secure element automatically manages key material, performs cryptographic operations, and enforces security policies, replacing complex software-based protection mechanisms with dedicated hardware functionality that is inherently more secure.
Data Source
AI summary
Methods, systems, and apparatuses for securely delivering software artifacts. A first computing device may be configured to encrypt one or more software artifacts into an encrypted data file and encrypt a key and a policy file associated with the encrypted data file and send the encrypted data file, key, and policy file to a second computing device. The policy file may comprise policy information for authenticating access to the encrypted data file. The second computing device may use the key and the policy information to access and authenticate a software application of the second computing device. The software application may be used to decrypt the data file and access the one or more software artifacts.


