White Box Encryption Key Sharing for Secure POS Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveencryption capabilityVSAvoidsecurity
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
ImprovesecurityVSAvoidencryption capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

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

Engineering Contradiction:
Improvekey sharing simplicityVSAvoidkey extraction vulnerability
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #9Preliminary anti-action

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

Engineering Contradiction:
ImprovesecurityVSAvoidkey management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11615411B2POS system with white box encryption key sharing
Publication Date: 2023.03.28 CLOVER NETWORK INC
  • US11615411B2 patent drawing
  • US11615411B2 patent drawing
  • US11615411B2 patent drawing

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.