Accelerator Trust Domain Privilege Transition
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The challenge in cloud processing of compute workloads is ensuring security while maintaining functionality, particularly in trust domain operations where varying privilege levels restrict access to resources, and existing solutions fail to adequately protect against malicious access to registers.
Innovation Solution
Implementing a system that downgrades Physical Function (PF) privileges to Virtual Function (VF) privileges when a trust domain enters a secure state, providing register protection through Memory Mapped IO protection and secure batch buffer authentication, and allowing access only to a specified list of registers to prevent unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If PF privileges are maintained for normal operation, then functionality and ease of operation are preserved, but security is compromised due to potential malicious access to registers
Solution Approach 1:
The system dynamically transitions between two privilege states: a first privilege state (PF) for normal operation and a second privilege state (VF) for secure operation. The GPU can switch between these states based on operational requirements, allowing full register access during normal operation and restricted access during secure operation to prevent malicious attacks.
Solution Approach 2:
The system changes the privilege level parameter of the GPU from PF (Physical Function) to VF (Virtual Function) when entering secure operation mode. This parameter change restricts the set of accessible registers, thereby enhancing security while maintaining functionality through a controlled subset of registers.
2Reliability
If PF privileges are downgraded to VF privileges for security, then security is improved, but functionality may be limited due to restricted register access
Solution Approach 1:
The system dynamically transitions between two privilege states: a first privilege state (PF) for normal operation and a second privilege state (VF) for secure operation. The GPU can switch between these states based on operational requirements, allowing full register access during normal operation and restricted access during secure operation to prevent malicious attacks.
Solution Approach 2:
The system performs preliminary authentication of batch buffers before execution. By authenticating the batch buffer in advance, the system ensures that only authorized commands are executed, allowing the GPU to operate in the more restricted VF privilege state without compromising functionality, as the preliminary authentication guarantees safe operation.
3Reliability
If restricted register access is implemented in secure state, then malicious access is prevented, but normal operation flexibility is reduced
Solution Approach 1:
The system segments the register access rights into two categories: fully accessible registers in PF state and restricted accessible registers in VF state. This segmentation allows the system to provide targeted security protection for sensitive registers while maintaining access to necessary functional registers, thus preserving operation flexibility even in secure mode.
Solution Approach 2:
The system introduces an intermediary authentication mechanism for batch buffers. This intermediary layer verifies the authenticity of commands before execution, allowing the GPU to operate in the restricted VF state while still maintaining operational flexibility through the authenticated batch buffer interface, which mediates between security restrictions and functional requirements.
Data Source
AI summary
Security and support for trust domain operation is described. An example of a method includes processing, at an accelerator, one or more compute workloads received from a host system; upon receiving a notification that a trust domain has transitioned to a secure state, transition an original set of privileges for the accelerator to a downgraded set of privileges; upon receiving a command from the host system for the trust domain, processing the command in accordance with the trust domain; and upon receiving a request from the host system to access a register, for a register included in an allowed list of registers for access, allow access to the register, and, for a register that is not within the allowed list of registers for access, disallowing access to the register.


