# US 12,112,321 B2 · Systems and methods for implementing a secure user interface

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

- Number: US 12,112,321 B2
- Document ID: US12112321B2
- Status: Granted
- Kind: B2
- Application number: 16/699,071
- Filed: 2019-11-28
- Published: 2021-06-03
- Granted: 2024-10-08
- Earliest claimed: 2019-11-28
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Prakash Tiwari; Shvetank Kumar Singh; Rajesh Yadav; Naga Chandan Babu Gudivada; Vidyasagar Gopireddy; Manish Sharma; Utkarsh Mehta
- Web page: https://patentgrep.com/patent/US12112321B2

## CPC

- G06Q 20/3823: {combining multiple encryption tools for a transaction}
- G06F 9/451: Execution arrangements for user interfaces
- 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/84: output devices, e.g. displays or monitors
- G06Q 20/326: {Payment applications installed on the mobile devices}
- G06Q 20/382: {insuring higher security of transaction}
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Various embodiments include methods and devices for implementing a secure user interface. The method may include generating a secure user interface display in a secure execution environment, generating a non-secure display in a normal execution environment, combining the secure user interface and the non-secure display into a combined display, and presenting the combined display via a display device.

## Claims

### Claim 1

A method for implementing a secure user interface display on a computing device, comprising:
determining, by a secure application running in a secure execution environment of the computing device, that code for generating a data input element of a user interface of a client application running in a normal execution environment of the computing device includes code for generating a vulnerable data input element that allows freeform data entry;
preventing, by the secure application, execution of the code for generating the vulnerable data input element by the client application in response to determining, by the secure application, that the code for generating the data input element includes the code for generating the vulnerable data input element;
generating in the secure execution environment by the secure application a secure user interface display portion comprising a secure user interface element that is based on the data input element;
generating a non-secure display portion by the client application in the normal execution environment of the computing device;
combining the secure user interface display portion and the non-secure display portion into a combined display; and
presenting the combined display via a display device.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
assigning ownership of the data input element to the secure execution environment;
assigning ownership of a data input device to the secure execution environment; and
assigning ownership of the display device to the secure execution environment.

### Claim 3 (depends on 2)

The method of claim 2, wherein generating in the secure execution environment by the secure application the secure user interface display portion comprising the secure user interface element comprises generating the secure user interface display portion having the data input element owned by the secure execution environment.

### Claim 4 (depends on 2)

The method of claim 2, wherein assigning ownership of the data input element to the secure execution environment, assigning ownership of the data input device to the secure execution environment, and assigning ownership of the display device to the secure execution environment are performed in response to determining that the code for generating the data input element includes the code for generating the vulnerable data input element.

### Claim 5 (depends on 2)

The method of claim 2, further comprising:
receiving, in the secure execution environment, a data input signal via the data input device owned by the secure execution environment;
determining that the data input signal represents a user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment; and
responding to the data input signal by the secure application in response to determining that the data input signal represents the user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment.

### Claim 6 (depends on 2)

The method of claim 2, wherein:
generating in the secure execution environment by the secure application a secure user interface display portion comprising a secure user interface element that is based on the data input element comprises generating the secure user interface element that is based on the data input element owned by the secure execution environment, wherein the client application running in the normal execution environment includes a digital payment servicer function; and
generating the non-secure display portion by the client application in the normal execution environment comprises generating the non-secure display portion for the client application or an operating system.

### Claim 7 (depends on 2)

The method of claim 2, further comprising:
receiving, in the secure execution environment, a data input signal via the data input device owned by the secure execution environment;
determining that the data input signal does not represent a user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment; and
providing the data input signal to the client application running in the normal execution environment in response to determining that the data input signal does not represent the user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment.

### Claim 8 (depends on 1)

The method of claim 1, wherein presenting the combined display via the display device comprises one of:
presenting the secure user interface display portion and the non-secure display portion adjacent to each other;
presenting the secure user interface display portion overlaid over the non-secure display portion; or
presenting an integrated secure user interface display portion and non-secure display portion.

### Claim 9

A computing device, comprising:
a display device; and
a processor coupled to the display device and configured to execute instructions within a secure execution environment and a normal execution environment, wherein the processor is configured to execute processor-executable instructions to perform operations comprising:
determining, by a secure application running in a secure execution environment of the computing device, that code for generating a data input element of a user interface of a client application running in the normal execution environment includes code for generating a vulnerable data input element that allows freeform data entry;
preventing, by the secure application, execution of the code for generating the vulnerable data input element by the client application in response to determining, by the secure application, that the code for generating the data input element includes the code for generating the vulnerable data input element;
generating in the secure execution environment by the secure application a secure user interface display portion comprising a secure user interface element that is based on the data input element;
generating a non-secure display portion by the client application in the normal execution environment;
combining the secure user interface display portion and the non-secure display portion into a combined display; and
presenting the combined display on the display device.

### Claim 10 (depends on 9)

The computing device of claim 9, further comprising a data input device coupled to the processor, wherein the processor is further configured with processor-executable instructions to perform operations further comprising:
assigning ownership of the data input element to the secure execution environment;
assigning ownership of the data input device to the secure execution environment; and
assigning ownership of the display device to the secure execution environment.

### Claim 11 (depends on 10)

The computing device of claim 10, wherein the processor is further configured with processor-executable instructions such that generating in the secure execution environment by the secure application the secure user interface display portion comprising the secure user interface element comprises generating the secure user interface display portion having the data input element owned by the secure execution environment.

### Claim 12 (depends on 10)

The computing device of claim 10, wherein the processor is further configured with processor-executable instructions such that assigning ownership of the data input element to the secure execution environment, assigning ownership of the data input device to the secure execution environment, and assigning ownership of the display device to the secure execution environment are performed in response to determining that the code for generating the data input element includes the code for generating the vulnerable data input element.

### Claim 13 (depends on 10)

The computing device of claim 10, wherein the processor is further configured with processor-executable instructions to perform operations further comprising:
receiving, in the secure execution environment, a data input signal via the data input device owned by the secure execution environment;
determining that the data input signal represents a user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment; and
responding to the data input signal by the secure application in response to determining that the data input signal represents the user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment.

### Claim 14 (depends on 10)

The computing device of claim 10, wherein the processor is further configured with processor-executable instructions to perform operations such that:
generating in the secure execution environment by the secure application a secure user interface display portion comprising a secure user interface element that is based on the data input element comprises generating the secure user interface element that is based on the data input element owned by the secure execution environment, wherein the client application running in the normal execution environment includes a digital payment servicer function; and
generating the non-secure display portion by the client application in the normal execution environment comprises generating the non-secure display portion for the client application or an operating system.

### Claim 15 (depends on 10)

The computing device of claim 10, wherein the processor is further configured with processor-executable instructions to perform operations further comprising:
receiving, in the secure execution environment, a data input signal via the data input device owned by the secure execution environment;
determining that the data input signal does not represent a user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment; and
providing the data input signal to the client application running in the normal execution environment in response to determining that the data input signal does not represent the user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment.

### Claim 16 (depends on 9)

The computing device of claim 9, wherein the processor is further configured with processor-executable instructions such that presenting the combined display via the display device comprises one of:
presenting the secure user interface display portion and the non-secure display portion adjacent to each other;
presenting the secure user interface display portion overlaid over the non-secure display portion; or
presenting an integrated secure user interface display portion and non-secure display portion.

### Claim 17

A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a computing device to perform operations comprising:
determining, by a secure application running in a secure execution environment of the computing device, that code for generating a data input element of a user interface of a client application running in the normal execution environment includes code for generating a vulnerable data input element that allows freeform data entry;
preventing, by the secure application, execution of the code for generating the vulnerable data input element by the client application in response to determining, by the secure application, that the code for generating the data input element includes the code for generating the vulnerable data input element;
generating in the secure execution environment by the secure application a secure user interface display portion comprising a secure user interface element that is based on the data input element;
generating a non-secure display portion by the client application in the normal execution environment;
combining the secure user interface display portion and the non-secure display portion into a combined display; and
presenting the combined display on a display device.

### Claim 18 (depends on 17)

The non-transitory processor-readable storage medium of claim 17, wherein the stored processor-executable instructions are configured to cause a processor of a computing device to perform operations further comprising:
assigning ownership of the data input element to the secure execution environment;
assigning ownership of a data input device to the secure execution environment; and
assigning ownership of the display device to the secure execution environment.

### Claim 19 (depends on 18)

The non-transitory processor-readable storage medium of claim 18, wherein the stored processor-executable instructions are configured to cause a processor of a computing device to perform operations such that generating in the secure execution environment by the secure application the secure user interface display portion comprising the secure user interface element comprises generating the secure user interface display portion having the data input element owned by the secure execution environment.

### Claim 20 (depends on 18)

The non-transitory processor-readable storage medium of claim 18, wherein the stored processor-executable instructions are configured to cause a processor of a computing device to perform operations such that assigning ownership of the data input element to the secure execution environment, assigning ownership of the data input device to the secure execution environment, and assigning ownership of the display device to the secure execution environment are performed in response to determining that the code for generating the data input element includes the code for generating the vulnerable data input element.

### Claim 21 (depends on 18)

The non-transitory processor-readable storage medium of claim 18, wherein the stored processor-executable instructions are configured to cause a processor of a computing device to perform operations further comprising:
receiving, in the secure execution environment, a data input signal via the data input device owned by the secure execution environment;
determining that the data input signal represents a user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment; and
responding to the data input signal by the secure application in response to determining that the data input signal represents the user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment.

### Claim 22 (depends on 18)

The non-transitory processor-readable storage medium of claim 18, wherein the stored processor-executable instructions are configured to cause a processor of a computing device to perform operations such that:
generating in the secure execution environment comprises generating the secure user interface element that is based on the data input element owned by the secure execution environment, wherein the client application running in the normal execution environment includes a digital payment servicer function; and
generating the non-secure display portion by the client application in the normal execution environment comprises generating the non-secure display portion for the client application or an operating system.

### Claim 23 (depends on 18)

The non-transitory processor-readable storage medium of claim 18, wherein the stored processor-executable instructions are configured to cause a processor of a computing device to perform operations further comprising:
receiving, in the secure execution environment, a data input signal via the data input device owned by the secure execution environment;
determining that the data input signal does not represent a user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment; and
providing the data input signal to the client application running in the normal execution environment in response to determining that the data input signal does not represent the user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment.

### Claim 24 (depends on 17)

The non-transitory processor-readable storage medium of claim 17, wherein the stored processor-executable instructions are configured to cause a processor of a computing device to perform operations such that presenting the combined display via the display device comprises one of:
presenting the secure user interface display portion and the non-secure display portion adjacent to each other;
presenting the secure user interface display portion overlaid over the non-secure display portion; or
presenting an integrated secure user interface display portion and non-secure display portion.

### Claim 25

A computing device, comprising:
a display device;
means for determining, by a secure application running in a secure execution environment of the computing device, that code for generating a data input element of a user interface of a client application running in the normal execution environment includes code for generating a vulnerable data input element that allows freeform data entry;
means for preventing, by the secure application, execution of the code for generating the vulnerable data input element by the client application in response to determining, by the secure application, that the code for generating the data input element includes the code for generating the vulnerable data input element;
means for generating in the secure execution environment by the secure application a secure user interface display portion comprising a secure user interface element that is based on the data input element;
means for generating a non-secure display portion by the client application in the normal execution environment of the computing device;
means for combining the secure user interface display portion and the non-secure display portion into a combined display; and
means for presenting the combined display on the display device.

### Claim 26 (depends on 25)

The computing device of claim 25, further comprising:
a data input device;
means for assigning ownership of the data input element to the secure execution environment;
means for assigning ownership of the data input device to the secure execution environment; and
means for assigning ownership of the display device to the secure execution environment,
wherein means for generating the secure user interface display portion in the secure execution environment comprises means for generating the secure user interface display portion having the data input element owned by the secure execution environment.

### Claim 27 (depends on 26)

The computing device of claim 26, further comprising:
means for receiving, in the secure execution environment, a data input signal via the data input device owned by the secure execution environment;
means for determining that the data input signal represents a user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment; and
means for responding to the data input signal by the secure application in response to determining that the data input signal represents the user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment.

### Claim 28 (depends on 26)

The computing device of claim 26, wherein:
means for generating in the secure execution environment by the secure application a secure user interface display portion comprising a secure user interface element that is based on the data input element comprises means for generating the secure user interface element that is based on the data input element owned by the secure execution environment, wherein the client application running in the normal execution environment includes a digital payment servicer function; and
means for generating the non-secure display portion by the client application in the normal execution environment comprises means for generating the non-secure display portion for the client application or an operating system.

### Claim 29 (depends on 26)

The computing device of claim 26, further comprising:
means for receiving, in the secure execution environment, a data input signal via the data input device owned by the secure execution environment;
means for determining that the data input signal does not represent a user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment; and
means for providing the data input signal to the client application running in the normal execution environment in response to determining that the data input signal does not represent the user interaction with the secure user interface element that is based on the data input element owned by the secure execution environment.

### Claim 30 (depends on 25)

The computing device of claim 25, wherein means for presenting the combined display via the display device comprises one of:
means for presenting the secure user interface display portion and the non-secure display portion adjacent to each other;
means for presenting the secure user interface display portion overlaid over the non-secure display portion; or
means for presenting an integrated secure user interface display portion and non-secure display portion.
