# US 10,769,312 B2 · Method and apparatus for trusted display on untrusted computing platforms to secure applications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,769,312 B2
- Document ID: US10769312B2
- Status: Granted
- Kind: B2
- Application number: 15/752,450
- Filed: 2016-10-06
- Published: 2019-01-10
- Granted: 2020-09-08
- Earliest claimed: 2015-10-06
- Assignees: Carnegie Mellon University
- Applicants: Carnegie Mellon University
- Inventors: Virgil D. Gligor; Zongwei Zhou; Miao Yu
- Web page: https://patentgrep.com/patent/US10769312B2

## CPC

- G06F 21/84: output devices, e.g. displays or monitors
- G06F 9/45508: {Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 21/53: by executing in a restricted environment, e.g. sandbox or secure virtual machine
- G06F 21/57: Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F 21/62: Protecting access to data via a platform, e.g. using keys or access control rules
- G06F 21/70: Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F 21/71: to assure secure computing or processing of information
- H04L 63/1491: {using deception as countermeasure, e.g. honeypots, honeynets, decoys or entrapment}
- G06F 2221/2141: Access rights, e.g. capability lists, access control lists, access tables, access matrices
- G06F 2221/2149: Restricted operating environment
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

This invention provides a method for providing trusted display to security sensitive applications on untrusted computing platforms. This invention has a minimal trusted code base and maintains full compatibility with the computing platforms, including their software and hardware. The core of our invention is a GPU separation kernel that (1) defines different types of GPU objects, (2) mediates access to security-sensitive GPU objects, and (3) emulates accesses to security-sensitive GPU objects whenever required by computing platform compatibility.

## Claims

### Claim 1

A system for providing a trusted display for secure applications on an untrusted computing platform, comprising:
one or more graphics processing units (GPU) driving one or more display monitors, each GPU defining a plurality of GPU objects; and
a GPU separation kernel (GSK) performing the functions of
determining which of said plurality of GPU objects are security-sensitive;
mediating access to the security-sensitive objects issued by the secure applications and non-secure operating systems and applications;
emulating accesses to a subset of the security-sensitive objects for the non-secure operating systems and applications.

### Claim 2 (depends on 1)

The system of claim 1 where the one or more GPUs are concurrently accessed by both secure applications and the non-secure operating systems and applications.

### Claim 3 (depends on 1)

The system of claim 1 further comprising a trusted computing base on which said GSK can execute.

### Claim 4 (depends on 1)

The system of claim 1 wherein said GSK further comprises:
an access mediation component;
an access emulation component; and
a screen overlay component.

### Claim 5 (depends on 4)

The system of claim 4 wherein said access mediation component mediates accesses to the security-sensitive GPU objects by enforcing a set of access invariants.

### Claim 6 (depends on 5)

The system of claim 5 wherein said access emulation component maintains object-code compatibility with said computing platform by emulating expected returns from accesses to GPU objects.

### Claim 7 (depends on 6)

The system of claim 6 wherein said returns are emulated when untrusted components access the security-sensitive GPU objects shared by the unsecure operating systems and applications and the GSK and the secure applications or when untrusted components access said security-sensitive GPU objects in violation of said access invariants.

### Claim 8 (depends on 4)

The system of claim 4 wherein the screen overlay component displays output of secured applications over that of unsecured OS and applications.

### Claim 9 (depends on 3)

The system of claim 3 wherein said trusted computing base is implemented as a micro-hypervisor.

### Claim 10 (depends on 9)

The system of claim 9 further comprising:
a trusted display extension of said micro-hypervisor; and
a trusted display kernel component.

### Claim 11 (depends on 10)

The system of claim 10 wherein said trusted display extension notifies said trusted display kernel component about requests from untrusted components to access the security-sensitive GPU objects.

### Claim 12 (depends on 11)

The system of claim 11 wherein said trusted display kernel component provides trusted display services to said secure applications.

### Claim 13 (depends on 12)

The system of claim 12 wherein said trusted display kernel component mediates access to the security-sensitive GPU objects by enforcing a set of access invariants.

### Claim 14 (depends on 13)

The system of claim 13 wherein said trusted display kernel component emulates expected returns from accesses to GPU objects when the non-secure operating systems and applications access the security-sensitive GPU objects or access the security-sensitive GPU objects in violation of said access invariants.
