Trusted Hardware Encryption Key Binding for Offline Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The tension between mobility and security in offline data access limits the use of disconnected operation, as untrusted users can arbitrarily manipulate data and later deny access, compromising security.

Innovation Solution

A cryptographically-secure component on the client device generates an encryption key bound to its state, ensuring that content items can only be decrypted or deleted by advancing the state, providing access-undeniability and verifiable revocation, even when offline.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If offline data access is supported to improve mobility and availability, then users can access data while disconnected, but untrusted users can perform arbitrary actions on data and lie about it, compromising security

Engineering Contradiction:
Improveoffline operation capabilityVSAvoiddata integrity and access verification
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary actions by binding the encryption key to a specific state of the secure component before offline access occurs. The state is advanced to a bound state that proves the key was generated under specific conditions, preventing users from later denying their access to the data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A cryptographically-secure component acts as an intermediary between the user and the encrypted data. This secure component generates and manages encryption keys, binding them to specific states, and provides a verifiable mechanism that mediates between offline access convenience and security requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If encryption keys are generated and bound to client state to prevent denial of access, then security and access-undeniability are improved, but the system complexity increases due to trusted hardware requirements

Engineering Contradiction:
Improveaccess-undeniabilityVSAvoidtrusted hardware component
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The cryptographic security functions are extracted into a separate, dedicated secure component (such as a trusted platform module or secure element). This extraction isolates the complex cryptographic operations from the main system, providing security guarantees while keeping the overall system architecture modular and manageable.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The cryptographically-secure component serves multiple functions: generating encryption keys, binding keys to states, managing key lifecycle, and providing verifiable proof of key generation conditions. This multi-functionality reduces the need for separate security mechanisms and simplifies the overall system design.

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

Data Source

PatentUS8972732B2Offline data access using trusted hardware
Publication Date: 2015.03.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8972732B2 patent drawing
  • US8972732B2 patent drawing
  • US8972732B2 patent drawing

AI summary

A cryptographically-secure component provides access-undeniability and verifiable revocation for clients with respect to downloaded content items from a server. A cryptographically-secure component is implemented in a client. When the client wants to purchase and download a content item from the server, the server requests an encryption key from the client. The client generates an encryption key that is bound to a state of the client that is associated with decrypting the content item. The server encrypts the content item using the encryption key and sends the encrypted content item to the client. Because the encryption key used to encrypt the content item is bound to the state associated with the client decrypting the content item, if the client desires to view the content item the client may first advance its state to the bound state to retrieve the decryption key.