IP Library Granted Patent US 10,263,791
Granted Patent B2
US 10,263,791 · App. 15/927,992 · Granted Apr 16, 2019

Acceleration of online certificate status checking with an internet hinting service

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 10,263,791
App. No.
15/927,992
Granted
Apr 16, 2019
Kind
B2
Abstract

Examples for acceleration of online certificate status checking with an Internet hinting service are disclosed. For example, one method includes receiving, by a computing device from a hinting server, hint information comprising certificate information; receiving, from a remote computing device, a certificate in response to a request to establish secure communications with the remote computing device; and determining a validity of the certificate based on the certificate information.

Claims (95)

1. A method comprising:

receiving, at a hinting service, hinting feedback from a remote first client computing device, the hinting feedback comprising certificate information about a certificate issued by a certificate authority and indicating that the remote first client computing device used the certificate during a first web transaction as part of establishing a secure communications channel with a content service, wherein the hinting service is on a first server and the certificate authority is on a second server that is distinct and separate from the first server;

determining whether the certificate information comprises new certificate information;

responsive to determining that the certificate information comprises new certificate information, storing the new certificate information in a cache at the hinting service;

receiving, by the hinting service, a request for hint information associated with the certificate from a remote second client computing device; and

transmitting, by the hinting service, hint information associated with the certificate from the cache to the second client computing device.

2. The method of claim 1 , wherein:

the certificate information comprises status information for the certificate,

the determining whether the certificate information comprises new certificate information comprises determining, by the hinting service, whether the status information is fresher than cached status information for the certificate, and

the storing the new certificate information in a cache comprises, responsive to determining that the status information is fresher than cached status information for the certificate, replacing, by the hinting service, the cached status information with the status information in the new certificate information.

3. The method of claim 1 , further comprising:

transmitting, by the hinting service, a request to a certificate authority for current certificate information associated with the new certificate information;

receiving, by the hinting service, the current certificate information from the certificate authority; and

responsive to determining the current certificate information is fresher than the new certificate information, replacing, by the hinting service, the new certificate information with the current certificate information in the cache.

4. The method of claim 1 , wherein the first remote client computing device and the second remote client computing device are different computing devices.

5. The method of claim 1 , further comprising:

establishing, by the hinting service, a freshness window for an entry in the cache of status information for the certificate;

responsive to determining the freshness window has expired, transmitting, by the hinting service, a request for updated status information for the certificate to the certificate authority associated with the certificate;

receiving, by the hinting service, the updated status information for the certificate and updating the entry in the cache for the certificate based on the updated status information; and

establishing, by the hinting service, a new freshness window for the entry of the status information for the certificate.

6. The method of claim 1 , further comprising:

identifying, by the hinting service, an entry in the cache having certificate information comprising an expired certificate; and

obtaining, by the hinting service, a new certificate from a certificate authority associated with the expired certificate.

7. The method of claim 1 , further comprising:

receiving, by the hinting service, from a remote second client computing device a request for hint information for a second web transaction that corresponds to the first web transaction;

retrieving, by the hinting service, the certificate information associated with the first web transaction from the cache; and

transmitting, by the hinting service, the certificate information to the second client computing device.

8. The method of claim 7 , wherein:

the first web transaction and the second web transaction comprise obtaining a plurality of objects identified by a same set of uniform resource locators (“URLs”) from one or more secure servers, and

the certificate information comprises certificate information for establishing secure connections with the one or more secure servers.

9. The method of claim 1 , wherein the storing the new certificate information in the cache comprises:

responsive to determining further that there is not an entry in the cache for the certificate, creating an entry for the certificate in the cache, and

obtaining, by the hinting service, from the certificate authority information indicating whether the certificate has been revoked, and

storing, by the hinting service, the certificate information in the entry in the cache.

10. The method of claim 1 , wherein the receiving hinting feedback comprises receiving the hinting feedback over a communications network connecting the hinting service and the first client computing device.

11. The method of claim 1 , wherein:

the storing the new certificate information further comprises storing the new certificate information in the cache in association with an identification of a web page loaded by the first client computing device as part of the first web transaction, and

the hinting feedback further comprises an identification of a child resource fetched by the first client computing device as part of the loading of the web page.

12. The method of claim 11 , wherein the feedback information further identifies the content service as a source of the web page or the child resource.

13. The method of claim 11 further comprising:

receiving, by the hinting service from a remote second client computing device, a request for hinting information for a second web transaction to be executed by the second client computing device, wherein the second web transaction comprises loading the web page, and

in response to the request, transmitting, by the hinting service to the second client computing device, the hinting information.

14. The method of claim 1 , wherein:

the determining whether the certificate information comprises new certificate information further comprises determining whether there is an entry in the cache for the certificate, and

the storing the new certificate information in a cache comprises, responsive to determining that there is not an entry in the cache for the certificate, creating an entry in the cache for the certificate.

15. The method of claim 14 further comprising:

obtaining, by the hinting service from the certificate authority, current status information for the certificate; and

storing in the entry in the cache the current status information.

16. The method of claim 15 further comprising:

obtaining, by the hinting service from the certificate authority, updated status information for the certificate, and

updating with the updated status information the current status information stored in the entry in the cache.

17. The method of claim 14 , wherein:

the new certificate information comprises status information for the certificate, and

the storing the new certificate information in the cache further comprises, storing in the entry in the cache the status information.

18. A hinting service device comprising:

a non-transitory memory; and

a processor configured to execute processor-executable program code stored in memory, the processor-executable program code configured to cause the processor to:

receive hinting feedback from a remote first client computing device, the hinting feedback comprising certificate information about a certificate issued by a certificate authority and indicating that the remote first client computing device used the certificate during a first web transaction as part of establishing a secure communications channel with a content service, wherein the hinting service is on a first server and the certificate authority is on a second server that is distinct and separate from the first server;

determine whether the certificate information comprises new certificate information;

responsive to a determination that the certificate information comprises new certificate information, store the new certificate information in a cache at the hinting service;

receive a request for hint information associated with the certificate from a remote second client computing device; and

transmit hint information associated with the certificate from the cache to the second client computing device.

19. The device of claim 18 , wherein:

the certificate information comprises status information for the certificate, and

the processor-executable program code is further configured to:

determine whether the certificate information comprises new certificate information by determining whether the status information is fresher than cached status information for the certificate, and

responsive to a determination the status information is fresher than the cached status information, replace the cached status information with the status information in the new certificate information.

20. The device of claim 18 , wherein the processor-executable program code is further configured to cause the processor to:

transmit a request to a certificate authority for current certificate information associated with the new certificate information;

receive the current certificate information from the certificate authority; and

responsive to a determination the current certificate information is fresher than the new certificate information, replace the new certificate information with the current certificate information in the cache.

21. The device of claim 18 , wherein the first remote client computing device and the second remote client computing device are different computing devices.

22. The device of claim 18 , wherein the processor-executable program code is further configured to cause the processor to:

establish a freshness window for an entry in the cache of status information for the certificate;

responsive to a determination the freshness window has expired, transmit a request for updated status information for the certificate to the certificate authority associated with the certificate;

receive the updated status information for the certificate and update the entry in the cache for the certificate based on the updated status information; and

establish a new freshness window for the entry of the status information for the certificate.

23. The device of claim 18 , wherein:

the hinting service is remotely located from the first computing device, and

the processor-executable program code is further configured to cause the processor to receive the hinting feedback by receiving the hinting feedback over a communications network.

24. The device of claim 18 , wherein:

the processor-executable program code is further configured to cause the processor to store the new certificate information by storing the new certificate information in the cache in association with an identification of a web page loaded by the first client computing device as part of the first web transaction, and

the hinting feedback further comprises an identification of a child resource fetched by the first client computing device as part of the loading of the web page.

25. The device of claim 18 , wherein the processor-executable program code is further configured to cause the processor to:

receive, from a second client computing device, a request for hinting information for a second web transaction to be executed by the second client computing device, wherein the second web transaction comprises loading the web page, and

in response to the request, transmit, to the second client computing device, the hinting information.

26. The device of claim 18 , wherein the processor-executable program code is further configured to cause the processor to:

determine whether the certificate information comprises new certificate information by determining whether there is an entry in the cache for the certificate, and

store the new certificate information in the cache by, responsive to determining that there is not an entry in the cache for the certificate, creating an entry in the cache for the certificate.

27. The device of claim 26 , wherein the processor-executable program code is further configured to cause the processor to:

obtain, from the certificate authority, current status information for the certificate; and

store in the entry in the cache the current status information.

28. The device of claim 27 , wherein the processor-executable program code is further configured to cause the processor to:

obtain, from the certificate authority, updated status information for the certificate, and

update the current status information stored in the entry in the cache the updated status information.

Assignments (11)
PARTIAL RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 48715/0589 Recorded Jun 6, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
To: VIASAT, INC.
Reel/Frame 071638/0083 →
PARTIAL RELEASE OF SECURITY INTEREST AT REEL/FRAME 063822/0446 Recorded Jun 4, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VIASAT, INC.
Reel/Frame 071495/0223 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2025
From: MUFG BANK, LTD., AS AGENT
To: VIASAT, INC.
Reel/Frame 071321/0001 →
PARTIAL RELEASE OF SECURITY INTEREST AT REEL/FRAME 059332/0558 Recorded Jun 4, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VIASAT, INC.
Reel/Frame 071495/0152 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: VIASAT, INC.
To: SNAPPI HOLDCO, INC.
Reel/Frame 070293/0483 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: SNAPPI HOLDCO, INC.
To: SNAPPI, INC.
Reel/Frame 070293/0879 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Sep 19, 2023
From: VIASAT, INC.
To: MUFG BANK, LTD., AS AGENT
Reel/Frame 064948/0379 →
SECURITY AGREEMENT Recorded Jun 1, 2023
From: VIASAT, INC.
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 063822/0446 →
SECURITY AGREEMENT Recorded Mar 7, 2022
From: VIASAT, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 059332/0558 →
SECURITY INTEREST Recorded Mar 27, 2019
From: VIASAT, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 048715/0589 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2018
From: SCHEXNAYDRE, MICHAEL J; LEPESKA, PETER J; LARRICK, DOUGLAS C
To: VIASAT, INC.
Reel/Frame 045902/0313 →