Low-Entropy Secret Blinding for Secure Encryption Keys
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data encryption systems rely on high entropy secrets, which are cumbersome for users to remember and manage, while low entropy secrets like PINs, though more user-friendly, are vulnerable to brute force attacks without robust rate limiting features.
Innovation Solution
A method that generates a high entropy encryption key using a low entropy secret (e.g., PIN) by combining it with a local cryptographically random value, performing a blinding function, and using an oblivious pseudorandom function on a server to protect the PIN without revealing it, while implementing a rate limiting check function to prevent attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If high entropy secrets are used for data encryption, then security level is improved, but user convenience deteriorates
Solution Approach 1:
The secret is segmented into two parts: a low entropy user-friendly secret (PIN) and a high entropy cryptographically random value. The PIN provides user convenience while the random value provides security. Together they form a composite secret that combines the benefits of both approaches.
Solution Approach 2:
The system uses a composite secret structure combining a low entropy PIN with a high entropy random value. This composite approach allows the system to achieve high security (from the random value) while maintaining user convenience (from the PIN), resolving the contradiction between security and ease of operation.
2Ease of operation
If low entropy secrets like PINs are used, then user convenience is improved, but vulnerability to brute force attacks increases
Solution Approach 1:
The system merges a low entropy PIN with a high entropy cryptographically random value to create a composite secret. The PIN maintains user convenience while the random value component prevents brute force attacks, as attackers would need to guess both the PIN and the high entropy value simultaneously.
Solution Approach 2:
By creating a composite secret structure that combines a low entropy user-friendly PIN with a high entropy random value, the system achieves both user convenience and resistance to brute force attacks. The composite nature ensures that weakness in one component (PIN entropy) is compensated by strength in the other (random value entropy).
3Reliability
If high entropy secrets are used, then security is improved, but complexity of secret management increases
Solution Approach 1:
The secret management complexity is segmented between two components: the user manages only the simple PIN while the system automatically generates and manages the high entropy random value. This segmentation reduces the burden on users while maintaining high security through the random value component.
Solution Approach 2:
The system performs self-service by automatically generating, storing, and managing the high entropy cryptographically random value without requiring user intervention. Users only need to manage their simple PIN, while the system handles the complex random value management autonomously.
Data Source
AI summary
The present application describes systems and methods for enhanced security using low entropy secrets on insecure environments. A computing device receives a low entropy secret via an input mechanism. The computing device generates or identifies a local salt value and generates a blinding factor. The computing device performs a local blinding function that uses the low entropy secret, the local salt value, and the blinding factor to generate a blinded representation of the low entropy secret. A server performs an oblivious pseudorandom function that uses the blinded representation of the low entropy secret and a server secret value to generate a blinded output value. In some examples, the server performs an attempt limiting check function. The computing device performs a local unblinding function that uses the blinded output value and the blinding factor to generate a high entropy encryption key. The high entropy encryption key can be used to encrypt or decrypt data.


