Protected Software Execution via Virtualization Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software metering in Software-As-A-Service (SAAS) models is vulnerable to security attacks that disable metering functionality and allow snooping on decrypted content, threatening the revenue models of providers.

Innovation Solution

The solution involves associating software applications with computing platforms to verify the use of protected memory, utilizing Intel's Virtualization Technology (VT) Integrity Services and Trusted Platform Module (TPM) for secure execution, where encryption keys are managed and decrypted only in protected memory, and a remote server verifies the software container's usage of protected memory through a shared secret key negotiation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If software metering is implemented in SAAS models, then software usage can be tracked and revenue can be measured, but the system becomes vulnerable to security attacks that disable metering functionality and allow snooping on decrypted content

Engineering Contradiction:
Improvesoftware usage measurementVSAvoidsecurity of metering functionality
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent introduces a trusted intermediary component (security module/agent) that mediates between the software application and the metering system. This intermediary resides in a protected execution environment and verifies that software operations are performed within security constraints, preventing direct attacks on the metering functionality while enabling accurate usage tracking.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system is segmented into distinct security domains: a protected execution environment for critical metering operations, an untrusted user space for application execution, and a remote server for license management. This segmentation isolates the metering functionality from direct user access, preventing security attacks while maintaining measurement precision.

Inventive Principle:
Principle #1Segmentation

2Productivity

If encryption keys are stored in unprotected memory, then software execution is simple and fast, but unauthorized access and snooping on decrypted content can occur

Engineering Contradiction:
Improvesoftware execution speedVSAvoidunauthorized access to decrypted content
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

A security agent acts as an intermediary that manages encryption keys within a protected execution environment. The agent controls all access to decrypted content and encryption operations, ensuring that keys never reside in unprotected memory while maintaining execution efficiency through optimized cryptographic operations in the secure environment.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the security parameters of memory regions dynamically - memory is marked as protected during decryption and encryption operations, and as unprotected when not in use. This allows fast execution in unprotected memory while preventing unauthorized access during critical operations through parameter changes in memory protection attributes.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If software is delivered without protected execution environment, then deployment is simple and compatible with standard platforms, but security attacks can disable metering and compromise revenue models

Engineering Contradiction:
Improveplatform compatibilityVSAvoidsecurity against copy protection attacks
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The security solution is designed to be universal across multiple platforms by implementing a platform-agnostic protected execution environment that can operate within existing operating systems. The security agent interfaces with standard platform APIs while providing enhanced security functionality, maintaining adaptability to different platforms while preventing security attacks.

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

Data Source

PatentUS8468356B2Software copy protection via protected execution of applications
Publication Date: 2013.06.18 INTEL CORP
  • US8468356B2 patent drawing
  • US8468356B2 patent drawing
  • US8468356B2 patent drawing

AI summary

Methods and apparatus to provide a tamper-resistant environment for software are described. In some embodiments, procedures for verifying whether a software container is utilizing protected memory and is associated with a specific platform are described. Other embodiments are also described.