Signed GPU Command Streams for Integrity Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graphics processing unit (GPU) systems lack robust mechanisms to protect the integrity and authenticity of command streams, making them vulnerable to unauthorized alterations and reverse engineering, which can compromise security, stability, and behavior.
Innovation Solution
Implementing verification signatures within GPU command streams and shader programs, generated by both the CPU and GPU, to ensure the integrity and authenticity of commands, and rejecting any commands that fail verification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If verification signatures are implemented in GPU command streams, then security and integrity are improved, but device complexity increases
Solution Approach 1:
The CPU generates verification signatures for commands before sending them to the GPU. This preliminary action ensures that commands are authenticated before execution, preventing unauthorized or malicious commands from being processed while maintaining system reliability
Solution Approach 2:
Verification signatures act as an intermediary mechanism between the CPU and GPU. The signatures are generated by the CPU, attached to commands, and then verified by the GPU's command processor, providing a trusted communication channel without requiring complex direct verification protocols
2Reliability
If verification signatures are generated and compared for each command, then command authenticity is improved, but processing time increases
Solution Approach 1:
The verification mechanism applies partial action by only verifying essential signature elements rather than performing exhaustive validation. The command processor compares key signature components against expected values, providing sufficient authentication while minimizing time overhead
Solution Approach 2:
The verification process uses parameter changes by comparing signature values that are generated once per command batch rather than per individual command. This approach maintains authentication security while reducing the frequency and computational cost of verification operations
Data Source
AI summary
Systems, methods, and computer-readable media are provided for signing and executing graphics processing unit (GPU) commands. In some examples, a method can include receiving, by a GPU, one or more commands including one or more verification signatures generated using a processor, each verification signature of the one or more verification signatures including a first value generated based on the one or more commands; generating, by the GPU, one or more additional verification signatures associated with the one or more commands, wherein each verification signature of the one or more additional verification signatures includes a second value generated by the GPU based on the one or more commands; and determining, by the GPU, a validity of the one or more commands based on a comparison of the one or more verification signatures and the one or more additional verification signatures.


