IP Library Granted Patent US 11,388,146
Granted Patent B2
US 11,388,146 · App. 16/740,387 · Granted Jul 12, 2022

Secure low-latency trapdoor proxy

Inventors: Anurag Kahol (Los Gatos, CA); Anoop Kumar Bhattacharjya (Campbell, CA); Balas Natarajan Kausik (Los Gatos, CA); Siva Saran Kumar Kollipara (San Jose, CA)
Assignee: Bitglass, LLC
H04L63/0281H04L9/3263H04L63/0435H04L63/1416H04L63/1433H04L2209/38
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,388,146
App. No.
16/740,387
Granted
Jul 12, 2022
Kind
B2
Abstract

A proxy system is installed on a computing device that is in the network path between the device and the Internet. The proxy system, residing on the computing device, decrypts and inspects all traffic going in and out of the computing device.

Claims (71)

1. A method, comprising:

receiving, by a device proxy executing on a user device, data from an application server via a network;

determining, by the device proxy, whether a certificate authority of the device proxy is in a certificate authority chain of trust in a certificate of the application server;

based on a determination that the certificate authority of the device proxy is in the certificate authority chain of trust in the certificate of the application server, refusing the data from the application server;

based on a determination that the device proxy's certificate authority is not in the certificate authority chain of trust in the application server's certificate:

decrypting the data with a session key;

inspecting cleartext data in the decrypted data;

encrypting the decrypted data with the session key;

sending the encrypted data to an application program executing on the user device.

2. The method as recited in claim 1 , wherein the inspecting the cleartext data in the decrypted data further comprises:

detecting whether malware is present in the cleartext data;

based on detecting that malware is present in the cleartext data, blocking the data from reaching the application program.

3. The method as recited in claim 1 , wherein the inspecting cleartext data in the decrypted data further comprises:

detecting whether restricted data is present in the cleartext data;

based on detecting that restricted data is present in the cleartext data, blocking the data from reaching the application program.

4. The method as recited in claim 1 , wherein the based on a determination that the device proxy's certificate authority is not in the certificate authority chain of trust in the application server's certificate further comprises:

receiving, by the device proxy, second data from the application program;

decrypting, by the device proxy, the second data with the session key;

inspecting, by the device proxy, second cleartext data in the decrypted second data;

encrypting, by the device proxy, the decrypted second data with the session key;

sending, by the device proxy, the encrypted second data to the application server.

5. The method as recited in claim 1 , wherein each device proxy among a plurality of device proxies has a unique private key and public key pair and an associated public key certificate.

6. The method as recited in claim 1 , wherein an institution deploying the device proxy is issued its own proxy certificate authority so the device proxy does not trust other device proxies belonging to another institution.

7. The method as recited in claim 1 , wherein the device proxy uses one or more certificate authorities unique to the device proxy.

8. One or more non-transitory computer-readable storage media, storing one or more sequences of instructions, which when executed by one or more processors cause performance of:

receiving, by a device proxy executing on a user device, data from an application server via a network;

determining, by the device proxy, whether a certificate authority of the device proxy is in a certificate authority chain of trust in a certificate of the application server;

based on a determination that the certificate authority of the device proxy is in the certificate authority chain of trust in the certificate of the application server, refusing the data from the application server;

based on a determination that the device proxy's certificate authority is not in the certificate authority chain of trust in the application server's certificate:

decrypting the data with a session key;

inspecting cleartext data in the decrypted data;

encrypting the decrypted data with the session key;

sending the encrypted data to an application program executing on the user device.

9. The one or more non-transitory computer-readable storage media as recited in claim 8 , wherein the inspecting the cleartext data in the decrypted data further comprises:

detecting whether malware is present in the cleartext data;

based on detecting that malware is present in the cleartext data, blocking the data from reaching the application program.

10. The one or more non-transitory computer-readable storage media as recited in claim 8 , wherein the inspecting cleartext data in the decrypted data further comprises:

detecting whether restricted data is present in the cleartext data;

based on detecting that restricted data is present in the cleartext data, blocking the data from reaching the application program.

11. The one or more non-transitory computer-readable storage media as recited in claim 8 , wherein the based on a determination that the device proxy's certificate authority is not in the certificate authority chain of trust in the application server's certificate further comprises:

receiving, by the device proxy, second data from the application program;

decrypting, by the device proxy, the second data with the session key;

inspecting, by the device proxy, second cleartext data in the decrypted second data;

encrypting, by the device proxy, the decrypted second data with the session key;

sending, by the device proxy, the encrypted second data to the application server.

12. The one or more non-transitory computer-readable storage media as recited in claim 8 , wherein each device proxy among a plurality of device proxies has a unique private key and public key pair and an associated public key certificate.

13. The one or more non-transitory computer-readable storage media as recited in claim 8 , wherein an institution deploying the device proxy is issued its own proxy certificate authority so the device proxy does not trust other device proxies belonging to another institution.

14. The one or more non-transitory computer-readable storage media as recited in claim 8 , wherein the device proxy uses one or more certificate authorities unique to the device proxy.

15. An apparatus, comprising:

a device proxy executing on a user device, implemented at least partially in hardware, configured to receive data from an application server via a network;

wherein the device proxy is further configured to determine whether a certificate authority of the device proxy is in a certificate authority chain of trust in a certificate of the application server;

wherein the device proxy is further configured to, based on a determination that the certificate authority of the device proxy is in the certificate authority chain of trust in the certificate of the application server, refuse the data from the application server;

wherein the device proxy is further configured to, based on a determination that the device proxy's certificate authority is not in the certificate authority chain of trust in the application server's certificate:

decrypt the data with a session key;

inspect cleartext data in the decrypted data;

encrypt the decrypted data with the session key;

send the encrypted data to an application program executing on the user device.

16. The apparatus as recited in claim 15 , wherein the inspect the cleartext data in the decrypted data further comprises:

detect whether malware is present in the cleartext data;

based on detecting that malware is present in the cleartext data, block the data from reaching the application program.

17. The apparatus as recited in claim 15 , wherein the inspect cleartext data in the decrypted data further comprises:

detect whether restricted data is present in the cleartext data;

based on detecting that restricted data is present in the cleartext data, block the data from reaching the application program.

18. The apparatus as recited in claim 15 , wherein the device proxy based on a determination that the device proxy's certificate authority is not in the certificate authority chain of trust in the application server's certificate is further configured to:

receive second data from the application program;

decrypt the second data with the session key;

inspect second cleartext data in the decrypted second data;

encrypt the decrypted second data with the session key;

send the encrypted second data to the application server.

19. The apparatus as recited in claim 15 , wherein an institution deploying the device proxy is issued its own proxy certificate authority so the device proxy does not trust other device proxies belonging to another institution.

20. The apparatus as recited in claim 15 , wherein the device proxy uses one or more certificate authorities unique to the device proxy.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Apr 2, 2025
From: UBS AG, STAMFORD BRANCH
To: FORCEPOINT, LLC; BITGLASS, LLC
Reel/Frame 070706/0263 →
SECURITY INTEREST Recorded Apr 1, 2025
From: FORCEPOINT LLC; BITGLASS, LLC
To: SOCIÉTÉ GÉNÉRALE
Reel/Frame 070703/0887 →
PATENT SECURITY AGREEMENT Recorded Dec 14, 2021
From: BITGLASS, LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 058514/0547 →
CONVERSION FROM A CORPORATION TO A LIMITED LIABILITY COMPANY Recorded Nov 30, 2021
From: BITGLASS, INC.
To: BITGLASS, LLC
Reel/Frame 058919/0164 →
CERTIFICATE OF FORMATION Recorded Nov 22, 2021
From: DEVINE, KIM
To: BITGLASS, LLC
Reel/Frame 058220/0740 →
MERGER Recorded Nov 18, 2021
From: DAYTONA BOBCAT, INC.
To: BITGLASS, INC.
Reel/Frame 058150/0247 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2020
From: KAHOL, ANURAG; BHATTACHARJYA, ANOOP KUMAR; KAUSIK, BALAS NATARAJAN; KOLLIPARA, SIVA SARAN KUMAR
To: BITGLASS, INC.
Reel/Frame 051783/0156 →