IP Library › Granted Patent US 11,171,790
Granted Patent B2
US 11,171,790 · App. 16/784,863 · Granted Nov 9, 2021

Systems and methods for trusted path secure communication

Inventor: Glenn S. Benson (Newton, MA)
Assignee: ACCERTIFY, INC.
H04L9/3247G06F21/53G06F21/564G06F21/57G06F21/606G06F21/64G06Q20/382H04L63/0272H04W12/03H04W12/10H04W12/12H04W12/128G06F2221/034G06F2221/2111H04L63/145H04W12/02
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,171,790
App. No.
16/784,863
Granted
Nov 9, 2021
Kind
B2
Abstract

A system for establishing a trusted path for secure communication between client devices and server devices, such as between an account holder and a financial institution, can provide the core security attributes of confidentiality (of the parties), integrity (of the information), anti-replay (protection against replay fraud) and/or anti-tampering (protection against unauthorized changes to information being exchanged and/or modules that generate and communicate such information). A messaging layer implementation in favor of a transport layer implementation can provide a trusted path. This infrastructure features secure cryptographic key storage, and implementation of a trusted path built using the cryptographic infrastructure. The trusted path protects against unauthorized information disclosure, modification, or replays. These services can effectively protect against Man-in-the-Middle, Man-in-the-Application, and other attacks.

Claims (79)

1. A computer-implemented method for securely storing information exchanged between a user device and a server on a network, the method comprising the steps of:

encrypting, by a first security application associated with a data-collection application, a data element using a first level storage key to generate an encrypted data element, wherein the data element comprises (i) information provided by the server to the user device or (ii) data that is used for delivery of information from the user device to the server, and wherein the data-collection application is associated with a first client application executing on the user device;

storing the encrypted data element in a first file in a sandbox comprising a portion of a file system of the user device, the portion being accessible only by the first client application;

encrypting the first level storage key using a second level storage key;

storing the encrypted first level storage key in a second file in the sandbox; and

upon request from the data-collection application:

(i) decrypting the encrypted data element to generate the data element; and

(ii) providing, by the first security application, the decrypted data element to the data-collection application.

2. The method of claim 1 , wherein an encryption procedure used for encrypting the data element is different from an encryption procedure used for encrypting the first level storage key.

3. The method of claim 1 , wherein the first security application comprises at least one obfuscating code segment.

4. The method of claim 1 , wherein the data element comprises any of:

a public key of the server, the public key for encrypting information to be transmitted via the first client application to the server;

a private key of the data-collection application, the private key for generating a signature for the information to be transmitted by the server;

wherein the private key of the data-collection application is used for decrypting information received by the first client application;

wherein the public key of the server is used for validating information received from the server using the signature transmitted by the server; or

a digital certificate associated with the first client application.

5. The method of claim 1 , wherein the data element comprises any of:

a message identifier history used in performing an anti-replay check;

a root-signature list used in determining whether the user device is rooted;

a malware signature list, used in determining whether the user device contains malware;

a digital certificate associated with the client application; and or

an identifier of the user device or a location of the user device.

6. A computer-implemented method for securely storing information exchanged between a user device and a server on a network, the method comprising the steps of:

encrypting, by a first security application associated with a data-collection application, a data element using a first level storage key to generate an encrypted data element, wherein the data element comprises (i) information provided by the server to the user device or (ii) data that is used for delivery of information from the user device to the server, and wherein the data-collection application is associated with a first client application executing on the user device;

storing the encrypted data element in a first file in a sandbox comprising a portion of a file system of the user device, the portion being accessible only by the first client application;

encrypting the first level storage key using a first master storage key;

storing the encrypted first level storage key in a second file in the sandbox; and

upon request from the data-collection application:

(i) decrypting the encrypted data element to generate the data element; and

(ii) providing, by the first security application, the decrypted data element to the data-collection application.

7. The method of claim 6 , further comprising dynamically generating the first master storage key.

8. The method of claim 7 , further comprising:

dynamically generating by a second security application that is associated with the user device and with a second client application installed on the user device, a second master storage key corresponding to the second client application, the second master storage key being unable to decrypt any data not encrypted by the second master storage key.

9. The method of claim 6 , wherein the first security application comprises at least one obfuscating code segment.

10. The method of claim 6 , wherein the data element comprises any of:

a public key of the server, for encrypting information to be transmitted via the first client application to the server;

a private key of the data-collection application, for generating a signature for the information to transmitted by the server;

the private key of the data-collection application, for decrypting information received by the first client application;

the public key of the server, for validating information received from the server using the signature transmitted by the server; or

a digital certificate associated with the first client application.

11. The method of claim 6 , wherein the data element comprises any of:

a message identifier history used in performing an anti-replay check;

a root-signature list used in determining whether the user device is rooted;

a malware signature list used in determining whether the user device contains malware;

a digital certificate associated with the client application; or

an identifier of the user device or a location of the user device.

12. A computer-implemented method for securely storing information exchanged between a user device and a server on a network, the method comprising the steps of:

encrypting, by a first security application associated with a data-collection application, a data element using a first level storage key to generate an encrypted data element, wherein the data element comprises (i) information provided by the server to the user device or (ii) data that is used for delivery of information from the user device to the server, and wherein the data-collection application is associated with a first client application executing on the user device;

storing the encrypted data element in a first file in a sandbox comprising a portion of a file system of the user device, the portion being accessible only by the first client application;

encrypting the first level storage key using a dynamically generated master storage key;

storing the encrypted first level storage key in a second file in the sandbox; and

upon request from the data-collection application:

(i) decrypting the encrypted data element to generate the data element; and

(ii) providing, by the first security application, the decrypted data element to the data-collection application.

13. The method of claim 12 , wherein the first security application comprises at least one obfuscating code segment.

14. The method of claim 12 , wherein the data element comprises any of:

a public key of the server, for encrypting information to be transmitted via the first client application to the server;

a private key of the data-collection application, for generating a signature for the information to be transmitted by the server;

the private key of the data-collection application, for decrypting information received by the first client application;

the public key of the server, for validating information received from the server using the signature transmitted by the server; or

a digital certificate associated with the first client application.

15. The method of claim 12 , wherein the data element comprises any of:

a message identifier history used in performing an anti-replay check;

a root-signature list used in determining whether the user device is rooted;

a malware signature list used in determining whether the user device contains malware;

a digital certificate associated with the client application; or

an identifier of the user device or a location of the user device.

16. A computer-implemented method for securely storing information exchanged between a user device and a server on a network, the method comprising the steps of:

storing, in a first file in a sandbox, in an encrypted form, by a security application associated with a data-collection application associated with a client application executing on the user device, a data element,

wherein the data element comprises:

a message identifier history used in performing an anti-replay check,

a root-signature list used in determining whether the user device is rooted,

a malware signature list used in determining whether the user device contains malware,

a digital certificate associated with the client application, and

an identifier of the user device or a location of the user device,

wherein the sandbox comprises a portion of a file system of the user device, the portion being accessible only by the client application; and

upon request from the data-collection application:

(i) decrypting the encrypted data element; and

(ii) providing, by said security application, the data element to said data-collection application.

Assignments (3)
SECURITY INTEREST Recorded May 1, 2024
From: ACCERTIFY, INC.
To: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 067278/0512 →
MERGER AND CHANGE OF NAME Recorded May 12, 2021
From: INAUTH, INC.; ACCERTIFY, INC.
To: ACCERTIFY, INC.
Reel/Frame 056219/0932 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2020
From: BENSON, GLENN S.
To: INAUTH, INC.
Reel/Frame 053438/0097 →
Continuity (4)
Division 16266702 · Feb 4, 2019
Continuation 15000913 · Jan 19, 2016
Provisional Application 62105148 · Jan 19, 2015
Related Publication 20200177395A1 · Jun 4, 2020
Cited By (1)
US 12,587,388