Protected Environment for Secure Credential Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing devices are vulnerable to credential theft when storing passwords or secrets locally, as these can be stolen or exposed during transmission, even with existing security measures like trusted execution environments or password managers.
Innovation Solution
Implementing a protected environment on the computing device with its own dedicated operating system, memory, and kernel, separate from the exposed environment, to securely store and manage secret credentials, ensuring they are never stored in local exposed memory and are used for authentication and communication without being exposed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If secret credentials are stored in local memory of computing device, then authentication functionality is enabled, but security is compromised due to vulnerability to theft and attacks
Solution Approach 1:
The system segments the computing device into two distinct environments: a protected environment (secure enclave) and an exposed environment (main system). The secret credential is stored exclusively in the protected environment, separating the credential storage from the authentication application. This segmentation prevents attackers with access to the exposed environment from stealing credentials, while still enabling authentication functionality through controlled interaction between the two environments.
2Ease of operation
If password manager is used to manage secrets, then ease of operation is improved, but security is worsened due to plaintext storage in local memory
Solution Approach 1:
The protected environment acts as an intermediary between the password manager application (in the exposed environment) and the secret credential. The application can request and use the credential for authentication without ever having direct access to or control over the plaintext secret. The protected environment mediates all interactions, returning only the necessary authentication data while keeping the master credential secure and inaccessible to the application.
3Reliability
If trusted execution environment is implemented, then processing security is improved, but attack surface remains due to initial authentication occurring in unprotected environment
Solution Approach 1:
Instead of having the application in the exposed environment perform initial authentication and then transferring credentials to the protected environment, the system inverts the approach: the protected environment performs the initial authentication itself, obtaining the secret credential directly from the network resource. This eliminates the vulnerable initial authentication step in the unprotected environment, as all credential acquisition and storage occurs within the secure protected environment from the start.
Data Source
AI summary
Disclosed embodiments include securely transferring secrets to network resources. Aspects involve receiving, in a protected environment, a secret credential associated with an identity; storing, in the protected environment, the secret credential in an association with the identity and the network resource; receiving a request for authentication of the identity to the network resource; accessing, in response to the request and on behalf of the identity, the secret credential from storage in the protected environment; and signing an outgoing communication sent from the identity and addressed to the network resource. The network resource may be configured to validate the signed outgoing communication. The outgoing communication may be signed without storing the secret credential in the local exposed memory of the computing device.


