Secure Virtual Machine Execution via Distributed Hardware Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for secure execution of virtual machines on shared hardware resources fail to maintain isolation between secure and standard execution environments, especially in cloud computing scenarios, leading to vulnerabilities and high costs.

Innovation Solution

A method and system for secure execution of virtual machines across interconnected programmable devices, utilizing partitioned processors with standard and secure hardware portions, where secure execution environments are allocated and managed by secure control modules to ensure exclusive use of secure hardware for each virtual machine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple virtual machines share the same secure hardware portion of a processor, then resource utilization is improved, but hardware isolation and security are compromised

Engineering Contradiction:
Improveresource utilizationVSAvoidhardware isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides the secure hardware execution resources into multiple distinct secure execution environments (SEEs), each isolated from the others. Each SEE operates as an independent secure context with its own execution state, preventing cross-VM security breaches while allowing multiple VMs to simultaneously utilize secure hardware resources through proper allocation and management by the secure monitor.

Inventive Principle:
Principle #1Segmentation

2Reliability

If dedicated secure hardware portions are allocated to each virtual machine, then hardware isolation is improved, but resource utilization and cost efficiency deteriorate

Engineering Contradiction:
Improvehardware isolationVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent creates a universal secure execution infrastructure where a single secure hardware portion can serve multiple virtual machines through the creation of multiple isolated secure execution environments. The secure monitor manages the allocation and switching between different SEEs, allowing the same physical secure hardware resources to be universally utilized by multiple VMs while maintaining strict isolation boundaries, thus achieving both security and resource efficiency.

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

3Productivity

If secure execution environments are stored in shared memory, then resource utilization is improved, but security vulnerabilities increase due to potential memory access breaches

Engineering Contradiction:
Improveresource utilizationVSAvoidsecurity vulnerabilities
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent implements a nested security architecture where secure execution environments are stored in shared memory but are protected by multiple layers of isolation mechanisms. The secure execution environments are nested within the secure hardware portion's protected address space, and the secure monitor provides an additional layer of control. This nested structure allows efficient shared memory usage while maintaining security through hierarchical protection boundaries that prevent unauthorized access even if outer layers are compromised.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentEP3317803B1Method and system for secure virtual machines execution by a plurality of connected devices
Publication Date: 2022.09.14 VIACCESS SA
  • EP3317803B1 patent drawingFigure 1
  • EP3317803B1 patent drawingFigure 2
  • EP3317803B1 patent drawingFigure 3

AI summary

The invention relates to a method and a system for secure execution virtual machines by a set of interconnected programmable devices, each machine comprising at least one processor, each programmable device being capable of executing applications of a plurality of virtual machines and comprising a hardware execution portion having a standard level of security and a secure hardware portion having a higher level of security than the standard level of security. The method comprises storing at least one secure execution environment (TEEi) associated with each virtual machine. Following a request by a requesting virtual machine for secure execution of a series of instructions of an application, the method includes allocating to said secure execution at least one available secure hardware portion belonging to one of the interconnected processors, and loading the secure execution environment (TEEj) associated with the requesting virtual machine (VM1) in the one or more allocated secure hardware portions. The allocated secure hardware portion is used to securely execute the series of instructions.