White Box Encryption Key Sharing for Secure POS Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In secure payment systems, the challenge lies in securely sharing sensitive data and encryption keys between trusted and untrusted devices, such as secure card readers and smartphones, without exposing the keys to untrusted devices, which are vulnerable to attack and key extraction.
Innovation Solution
Implementing white box cryptography, where a trusted device generates executable instructions for an untrusted device to perform encryption or decryption using a cryptographic key, without the untrusted device having access to the key itself, using a white box code generator that produces instructions that thwart key extraction attempts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If encryption keys are shared with untrusted devices to enable secure data encryption, then encryption capability is improved, but security is worsened due to key exposure risks
Solution Approach 1:
The system segments the encryption key into multiple shares distributed across different devices. No single device, including untrusted ones, possesses the complete key. The trusted device holds a portion of the key material and can reconstruct the full key only when needed for encryption operations, preventing key exposure while enabling encryption capability.
Solution Approach 2:
The trusted device acts as an intermediary between untrusted devices and the encryption key. It receives encryption requests from untrusted devices, performs the actual encryption using the key, and returns the encrypted data without exposing the key itself. This mediator role enables secure encryption while protecting key confidentiality.
2Reliability
If encryption keys are kept secure and not shared with untrusted devices, then security is improved, but encryption capability is worsened due to lack of access
Solution Approach 1:
The trusted device serves as an intermediary that enables untrusted devices to perform encryption operations without directly accessing the key. It receives plaintext and encryption requests from untrusted devices, processes them securely using the protected key, and returns encrypted output, thus maintaining both security and encryption capability.
Solution Approach 2:
The system replaces direct mechanical/key-based encryption access with a service-oriented architecture where encryption is provided as a remote service. Instead of giving untrusted devices the key (mechanical access), the trusted device provides encryption as a computational service over a network, maintaining security while enabling capability.
3Ease of operation
If traditional key sharing methods are used between trusted and untrusted devices, then ease of operation is improved, but security is worsened due to vulnerability to key extraction attacks
Solution Approach 1:
The encryption key is segmented into multiple shares distributed securely. The untrusted device receives only a portion of the key material or encryption instructions without the actual key, eliminating the risk of key extraction attacks while maintaining ease of operation through automated key management by the trusted device.
Solution Approach 2:
The system implements preliminary protective measures by never transmitting or storing the complete encryption key in the untrusted device. Instead, it uses key derivation functions, secure enclaves, or homomorphic encryption techniques that prevent key extraction attacks before they can occur, while still enabling straightforward encryption operations.
4Reliability
If encryption keys are frequently updated to protect against attacks, then security is improved, but device complexity is worsened due to key management overhead
Solution Approach 1:
The trusted device implements self-service key management, automatically generating, storing, rotating, and managing encryption keys without requiring manual intervention. It handles key updates transparently, maintaining security through frequent key rotation while preventing complexity from propagating to untrusted devices.
Solution Approach 2:
The trusted device serves multiple functions including key generation, key storage, key rotation, encryption, and decryption operations. This multi-functional design consolidates key management complexity into a single device, allowing frequent key updates without increasing overall system complexity.
Data Source
AI summary
Systems, and associated methods, involving both a trusted and an untrusted device where sensitive data or keys are shared between those devices are disclosed. A disclosed method includes storing a key in a secure memory on a first device, receiving sensitive data via a user interface on a second device, generating a set of white box encryption instructions based on the key using a white box encryption generator on the first device, generating a complete data representation of the set of white box encryption instructions using a secure processor on the first device, transmitting the complete data representation from the first device to the second device, and encrypting the sensitive data using the complete data representation on the second device. The complete data representation is not Turing complete and is not executable with respect to the second device.


