Cryptographic Computing Isolation for Multi-Tenancy Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software systems lack effective mechanisms for ensuring the reliability and security of software primitives in multi-tenancy environments, where untrusted software components share resources and infrastructure.

Innovation Solution

The implementation of cryptographic computing isolation, which uses cryptographically encoded pointers and domain-specific cryptographic keys to encrypt and decrypt code and data at a fine-grained level, providing secure and reliable execution of software components across multiple domains.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software components share common libraries and resources in a multi-tenant environment, then resource efficiency and adaptability are improved, but security and reliability deteriorate due to potential malicious or untrusted software primitives

Engineering Contradiction:
Improvemulti-tenancy supportVSAvoidsoftware primitive trustworthiness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent divides the software execution environment into separate execution domains, each with its own cryptographic isolation. This segmentation allows multiple tenants to share infrastructure while maintaining security boundaries, resolving the contradiction between multi-tenancy adaptability and software primitive reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces cryptographic primitives (encryption keys, authenticated code) as intermediaries between software components and the execution environment. These intermediaries enable trusted communication and isolation without requiring direct trust in shared libraries, thus maintaining reliability in multi-tenant settings.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If traditional isolation mechanisms are used, then security is improved, but device complexity and performance overhead increase

Engineering Contradiction:
Improveisolation securityVSAvoidisolation mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent replaces complex mechanical isolation mechanisms (such as separate process spaces, memory protections, and virtualization layers) with cryptographic isolation. This substitution maintains security while reducing overall system complexity and improving performance by eliminating the need for elaborate isolation infrastructure.

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

3Reliability

If fine-grained cryptographic isolation is implemented, then software component reliability is improved, but use of energy and computational resources increase

Engineering Contradiction:
Improvecode integrityVSAvoidcryptographic operation energy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies cryptographic isolation locally at the execution domain level rather than globally across the entire system. This localized approach provides fine-grained integrity protection only where needed, reducing unnecessary cryptographic operations and associated energy consumption while maintaining reliability.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12321467B2Cryptographic computing isolation for multi-tenancy and secure software components
Publication Date: 2025.06.03 INTEL CORP
  • US12321467B2 patent drawing
  • US12321467B2 patent drawing
  • US12321467B2 patent drawing

AI summary

Techniques for cryptographic computing isolation are described. A processor includes circuitry to be coupled to memory configured to store one or more instructions. The circuitry is to execute the one or more instructions to instantiate a first process based on an application. To instantiate the first process is to include creating a context table to be used by the first process, identifying a software component to be invoked during the first process, encrypting the software component using a first cryptographic key, and creating a first entry in the context table. The first entry is to include first context information identifying the encrypted software component and second context information representing the first cryptographic key. In more specific embodiments, third context information representing a first load address of the encrypted software component is stored in the first entry of the context table.