Hypervisor Measurement Agent for Secure Client Authentication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional security solutions fail to reliably authenticate client applications accessing secure services in a secure execution environment, leading to potential unauthorized access by malicious applications.
Innovation Solution
A processor-based system that includes a secure execution environment and a rich execution environment, utilizing a hypervisor to generate a measured value of client applications, which is then used by a trusted application to determine authorization, with an optional authorization service for centralized authentication and access control.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a rich operating system is used to provide computing functionality, then the computing experience is enhanced, but the system becomes vulnerable to security attacks
Solution Approach 1:
The system divides the computing environment into two separate execution environments: a rich execution environment (REE) for running client applications and a secure execution environment (SEE) for running trusted applications. This segmentation allows the system to maintain both rich computing functionality and high security by isolating security-critical operations from the less secure REE.
Solution Approach 2:
A hypervisor is introduced as an intermediary layer between the REE and SEE. The hypervisor manages communication and data transfer between the two environments, controlling what information can pass through the secure boundary. This intermediary enables secure service access while maintaining the security isolation that protects against attacks from the REE.
2Reliability
If trusted applications are limited to a small set for security, then security is improved, but sufficient functionality is not provided
Solution Approach 1:
The system creates a universal interface through the hypervisor that allows multiple client applications in the REE to access secure services in the SEE. The SEE contains a small set of trusted applications that provide core secure functionality, while the hypervisor enables these to serve multiple clients with different functionality needs, effectively providing universal access to secure services.
Solution Approach 2:
The system adds a new dimension to the architecture by introducing a separate execution environment (SEE) that runs alongside the REE. This dimensional separation allows trusted applications to provide security functionality without being constrained by the functionality limitations of individual client applications, enabling the system to offer both security and diverse functionality through the interface between dimensions.
3Device complexity
If the trusted application generates the measured value, then the authorization process is simplified, but the security risk increases
Solution Approach 1:
The hypervisor serves as an intermediary that generates measured values (hashes) of client applications and provides them to the trusted application. This intermediary role ensures that the trusted application receives verified measurement data without directly accessing or trusting the client application in the REE, maintaining security while simplifying the authorization process.
Solution Approach 2:
The hypervisor performs preliminary measurement and verification of client applications before they can access secure services. By generating measured values in advance and providing them to the trusted application, the system prepares the authorization data beforehand, simplifying the actual authorization decision process while ensuring security through pre-verification.
4Ease of operation
If conventional security solutions are used, then normal world applications can run, but malicious applications cannot be reliably detected
Solution Approach 1:
The system replaces conventional security mechanisms with a hardware-based secure execution environment. Instead of relying on software-based security checks that can be bypassed, the SEE provides hardware-enforced isolation and verification, enabling reliable detection of malicious applications through cryptographic verification of measured values while allowing normal applications to run in the REE.
Data Source
AI summary
An apparatus including a processor and a memory configured to provide an SEE and an REE. The processor is configured to provide a client application configured to execute at a user privilege level and a hypervisor configured to execute at a hypervisor privilege level. The user privilege level is more restrictive than the hypervisor privilege level. The processor is further configured to provide a trusted application configured to execute within the SEE. The trusted application provides secure services to the client application. The processor is configured to send a request for secure services from the client application to the trusted application, send a measurement request to the hypervisor, generate within the hypervisor a measured value based on the client application, return the measured value to the trusted application, and determine whether the client application is authorized to access the secure services. The authorization determination is based on the measured value.


