IP Library Granted Patent US 11,671,415
Granted Patent B2
US 11,671,415 · App. 16/922,569 · Granted Jun 6, 2023

Application module for creating an assured record of a user interaction

Inventors: Siavash James Joorabchian Hawkins (Tonbridge, GB); Phillip Riscombe-Burton (Palo Alto, CA); Simon Brooks (Palo Alto, CA)
Assignee: VMware, Inc.
H04L63/08G06F3/0481G06F21/36H04L63/0428H04L63/062H04L63/10H04L63/1416
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,671,415
App. No.
16/922,569
Granted
Jun 6, 2023
Kind
B2
Abstract

Systems and methods are included for creating an assured record of a user interaction. An application on a user device can receive an agreement. The agreement can include a specification with instructions for assuring the user interaction. The application can pass the agreement to an assured module installed in the application. The assured module can present the agreement to a user in an interface. The assured module can receive user input indicating acceptance or rejection of the agreement. The assured module can generate a confirmation file that confirms the user interaction. The assured module can sign the confirmation file with a digital signature that can be used by other entities to verify the authenticity of the confirmation file.

Claims (58)

1. A method for integrating a user interaction assurance module with a Trusted Execution Environment (“TEE”) to create an assured record of a user interaction, comprising:

receiving, at the module, an agreement requiring assurance, the agreement having instructions for generating a confirmation file of a user interaction with the agreement;

converting the agreement to an image file;

providing the image file to the TEE, whereupon the TEE performs stages comprising:

presenting an image from the image file in a Trusted User Interface (“TUI”) of the TEE, the TEE being an isolated and secure area of a processor of a user device;

receiving inputs from a user indicating selection locations on the image;

generating an interaction record based on the selection locations;

signing the interaction record using a stored agreement signing key, the agreement signing key being a private encryption key generated by the TEE; and

providing the signed interaction record to the module; and

generating, by the module, the confirmation file that includes the signed interaction record.

2. The method of claim 1 , further comprising:

defining at least one interaction zone on the image;

determining, by the module, that the selection locations correspond to selections of the at least one interaction zone based on information from the interaction record; and

determining, by the module, whether the user accepted or rejected agreement based on the selections of the at least one interaction zone.

3. The method of claim 2 , wherein the at least one interaction zone is defined by a set of dual-axis coordinates corresponding to a location on the image.

4. The method of claim 1 , wherein a public key corresponding to the agreement signing key is provided to an agreement service for verifying confirmation files.

5. The method of claim 1 , further comprising sending the confirmation file to a server to be verified and recorded.

6. The method of claim 1 , wherein the generated confirmation file includes a code signature from the module.

7. The method of claim 1 , wherein the module is part of an untrusted application, and the module has a restricted configuration that prohibits it from performing any actions from untrusted sources.

8. A non-transitory, computer-readable medium containing instructions that, when executed by a hardware-based processor, performs stages for integrating a user interaction assurance module with a Trusted Execution Environment (“TEE”) to create an assured record of a user interaction, comprising:

receiving, at the module, an agreement requiring assurance, the agreement having instructions for generating a confirmation file of a user interaction with the agreement;

converting the agreement to an image file;

providing the image file to the TEE, whereupon the TEE performs stages comprising:

presenting an image from the image file in a Trusted User Interface (“TUI”) of the TEE, the TEE being an isolated and secure area of a processor of a user device;

receiving inputs from a user indicating selection locations on the image;

generating an interaction record based on the selection locations;

signing the interaction record using a stored agreement signing key, the agreement signing key being a private encryption key generated by the TEE; and

providing the signed interaction record to the module; and

generating, by the module, the confirmation file that includes the signed interaction record.

9. The non-transitory, computer-readable medium of claim 8 , the stages further comprising:

defining at least one interaction zone on the image;

determining, by the module, that the selection locations correspond to selections of the at least one interaction zone based on information from the interaction record; and

determining, by the module, whether the user accepted or rejected agreement based on the selections of the at least one interaction zone.

10. The non-transitory, computer-readable medium of claim 9 , wherein the at least one interaction zone is defined by a set of dual-axis coordinates corresponding to a location on the image.

11. The non-transitory, computer-readable medium of claim 8 , wherein a public key corresponding to the agreement signing key is provided to an agreement service for verifying confirmation files.

12. The non-transitory, computer-readable medium of claim 8 , the stages further comprising sending the confirmation file to a server to be verified and recorded.

13. The non-transitory, computer-readable medium of claim 8 , wherein the generated confirmation file includes a code signature from the module.

14. The non-transitory, computer-readable medium of claim 8 , wherein the module is part of an untrusted application, and the module has a restricted configuration that prohibits it from performing any actions from untrusted sources.

15. A system for integrating a user interaction assurance module with a Trusted Execution Environment (“TEE”) to create an assured record of a user interaction, comprising:

a memory storage including a non-transitory, computer-readable medium comprising instructions; and

a computing device including a hardware-based processor that executes the instructions to carry out stages comprising:

receiving, at the module, an agreement requiring assurance, the agreement having instructions for generating a confirmation file of a user interaction with the agreement;

converting the agreement to an image file;

providing the image file to the TEE, whereupon the TEE performs stages comprising:

presenting an image from the image file in a Trusted User Interface (“TUI”) of the TEE, the TEE being an isolated and secure area of a processor of a user device;

receiving inputs from a user indicating selection locations on the image;

generating an interaction record based on the selection locations;

signing the interaction record using a stored agreement signing key, the agreement signing key being a private encryption key generated by the TEE; and

providing the signed interaction record to the module; and

generating, by the module, the confirmation file that includes the signed interaction record.

16. The system of claim 15 , the stages further comprising:

defining at least one interaction zone on the image;

determining, by the module, that the selection locations correspond to selections of the at least one interaction zone based on information from the interaction record; and

determining, by the module, whether the user accepted or rejected agreement based on the selections of the at least one interaction zone.

17. The system of claim 16 , wherein the at least one interaction zone is defined by a set of dual-axis coordinates corresponding to a location on the image.

18. The system of claim 15 , wherein a public key corresponding to the agreement signing key is provided to an agreement service for verifying confirmation files.

19. The system of claim 15 , the stages further comprising sending the confirmation file to a server to be verified and recorded.

20. The system of claim 15 , wherein the generated confirmation file includes a code signature from the module.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2020
From: HAWKINS, SIAVASH JAMES JOORABCHIAN; RISCOMBE-BURTON, PHILLIP; BROOKS, SIMON
To: VMWARE, INC.
Reel/Frame 053140/0631 →