Software-Implemented ePCRs for Application-Specific Sealing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The selection of Platform Configuration Registers (PCRs) for sealing sensitive information in data processing systems is challenging due to their changing nature, making it difficult to securely bind cryptographic keys to specific system configurations, especially in the operating system and application environments, where viruses are likely to attack.

Innovation Solution

Implementing software-implemented extended PCRs (ePCRs) that run in isolated contexts, allowing for specific measurements of software and hardware elements relevant to applications, thereby ignoring non-dependencies and providing flexible, application-specific sealing and unsealing capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional PCRs are used for sealing cryptographic key materials, then the system provides basic security protection, but the selection of appropriate PCRs becomes extremely difficult and complex due to the limited number of hardware PCRs and their changing nature

Engineering Contradiction:
Improvesecurity protectionVSAvoidPCR selection complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the PCR functionality by introducing application-specific PCRs (AS-PCRs) that are dedicated to individual applications, separating them from the conventional shared PCRs. This segmentation allows each application to have its own dedicated sealing target, eliminating the complexity of selecting and managing shared PCRs across multiple applications.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a PCR extension mechanism that acts as an intermediary between conventional PCRs and application-specific sealing requirements. The AS-PCRs extend the functionality of the TPM by providing additional sealing targets without modifying the core hardware PCR structure, thus maintaining backward compatibility while solving the selection complexity issue.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple applications share the same PCRs, then hardware resources are efficiently utilized, but unrelated events are recorded in the same PCR causing value changes that prevent reliable sealing

Engineering Contradiction:
ImprovePCR sharingVSAvoidPCR value stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent segments the PCR space into conventional PCRs for system-wide events and application-specific PCRs for individual application events. This segmentation ensures that events from different applications do not interfere with each other's sealing operations, maintaining PCR value stability for each application's sealed data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by giving each application its own dedicated AS-PCR with specific semantics tailored to that application's requirements. This allows each application to have customized sealing behavior while sharing the overall TPM infrastructure, resolving the conflict between resource efficiency and stability.

Inventive Principle:
Principle #3Local quality

3Loss of information

If PCRs are changed to record significant system events, then the system maintains accurate configuration tracking, but the changing PCR values make it difficult to seal data that needs to remain accessible across system changes

Engineering Contradiction:
Improveconfiguration tracking accuracyVSAvoiddata accessibility across changes
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

Solution Approach 1:

The patent applies preliminary action by having applications specify their dependency events and associated PCRs in advance during application installation or registration. This pre-specification allows the system to maintain accurate configuration tracking while ensuring that the sealing targets remain stable for the application's lifetime, enabling data accessibility across system changes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamic AS-PCRs that can be created, modified, or deleted based on application lifecycle events. This dynamic approach allows the system to maintain accurate configuration tracking for each application while adapting the sealing targets to remain valid across system changes, resolving the contradiction between tracking accuracy and data accessibility.

Inventive Principle:
Principle #15Dynamics

4Ease of manufacture

If a limited number of hardware PCRs are used, then the TPM implementation remains practical and cost-effective, but there are insufficient PCRs to dedicate to each application in the operating system environment

Engineering Contradiction:
ImproveTPM implementation practicalityVSAvoidapplication-specific sealing capacity
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent extends the PCR space by introducing application-specific PCRs that operate in an extended dimension beyond the conventional 16 hardware PCRs. This dimensional extension provides virtually unlimited sealing targets for applications while maintaining the practical hardware implementation of the base TPM, resolving the contradiction between manufacturing practicality and application capacity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS7900059B2Sealing of data for applications
Publication Date: 2011.03.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7900059B2 patent drawing
  • US7900059B2 patent drawing
  • US7900059B2 patent drawing

AI summary

A method, system and computer program product for implementing general purpose PCRs with extended semantics (referred to herein as “ePCRs”) in a trusted, measured software module. The module is designed to run in one of a hypervisor context, an isolated partition, or under other isolated configurations. Because the software module is provided using trusted (measured) code, the software implementing the PCRs is able to run as a simple software process in the operating system (OS), as long as the software is first measured and logged. The software-implemented ePCRs are generated as needed to record specific measurements of the software and hardware elements on which an application depends, and the ePCRs are able to ignore other non-dependencies.