Secure World Access via Second Virtual Machine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing Secure World access methods are vulnerable to security breaches as malicious programs can access the Secure World using common SMC drivers, compromising the integrity and confidentiality of secure services.

Innovation Solution

Creating a second virtual machine in the Normal World that operates at the same privilege level as the kernel, allowing user programs to access the Secure World without relying on common SMC drivers, and allocating exclusive resources to prevent information leakage and tampering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If common SMC drivers are used for Secure World access, then user programs can access secure services, but malicious programs can also access the Secure World compromising security

Engineering Contradiction:
ImproveSecure World accessVSAvoidSecurity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent segments the access path to the Secure World by introducing a dedicated virtual machine (second virtual machine) that operates at the same privilege level as the kernel. This separates the access mechanism from the common SMC driver path, creating an isolated channel that only trusted programs can utilize. The first virtual machine continues to host user programs while the second virtual machine provides the secure access bridge, dividing the access function into distinct segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The second virtual machine acts as an intermediary between user programs and the Secure World. It runs at the same privilege level as the kernel, serving as a mediator that translates user program requests into secure service calls. This intermediary layer prevents direct access through common SMC drivers while maintaining the ability for authorized programs to access secure services.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If user programs run in user mode with common SMC drivers, then access is simplified, but information leakage and tampering can occur

Engineering Contradiction:
ImproveAccess simplicityVSAvoidInformation integrity
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The second virtual machine operates at the same privilege level as the kernel (first-level mode), creating an equipotential environment where the user program can directly access secure services without going through the kernel's SMC driver layer. This eliminates the information leakage and tampering risks associated with kernel-mediated access, as the second virtual machine provides a direct, trusted pathway.

Inventive Principle:
Principle #12Equipotentiality

3Reliability

If a second virtual machine is created for secure access, then security is enhanced, but system complexity increases

Engineering Contradiction:
ImproveSecurityVSAvoidVirtual machine structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The second virtual machine is designed to serve multiple functions: it hosts user programs that need secure access, provides the secure service interface, and maintains the same privilege level as the kernel for direct access. This multi-functionality reduces the need for separate dedicated components, thereby limiting the increase in system complexity while achieving enhanced security.

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

Data Source

PatentEP3637288B1Method, apparatus and systems for accessing secure world
Publication Date: 2022.04.06 HUAWEI TECH CO LTD
  • EP3637288B1 patent drawingFigure 1~2
  • EP3637288B1 patent drawingFigure 3
  • EP3637288B1 patent drawingFigure 4

AI summary

This application provides a Secure World access method, apparatus, and system, to improve security of a Secure World. The method includes: creating a first virtual machine in a Normal World; loading a plurality of programs in the Normal World to the first virtual machine, where the plurality of programs include a kernel and at least one user program, the kernel runs in a first-level mode, the at least one user program runs in a second-level mode, and the first level is higher than the second level; when it is determined that a first user program in the at least one user program needs to access a Secure World, creating, in the Normal World, a second virtual machine running in the first-level mode; and stripping the first user program from the first virtual machine, and loading the first user program to the second virtual machine, so that the first user program accesses the Secure World by using the second virtual machine.