IP Library Granted Patent US 11,159,630
Granted Patent B2
US 11,159,630 · App. 16/909,757 · Granted Oct 26, 2021

Third party validation of web content

Inventor: Dane Orion Knecht (Austin, TX)
Assignee: CLOUDFLARE, INC.
H04L67/20G06F21/645H04L9/3247H04L63/0245H04L63/126H04L63/145H04L67/02H04L67/2842
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,159,630
App. No.
16/909,757
Granted
Oct 26, 2021
Kind
B2
Abstract

A client network application transmits a request for a network resource to a server. The client receives a response that includes a network resource that includes a digital signature that represents that at least a portion of the received network resource has been determined to be conforming to a set of rule(s). The client determines whether the digital signature is valid. If it is valid, the client processes the network resource in a pipeline (e.g., a fast path pipeline) and if it is not valid, the client may process the network resource in a different pipeline (e.g., a non fast-path pipeline).

Claims (50)

1. A method in a client device, comprising:

transmitting, from a client network application of the client device, a first request for a first network resource to a first server;

receiving, at the client network application, a first response that includes a second network resource that includes a first digital signature that represents that at least a portion of the second network resource has been determined to be conforming to a set of one or more rules;

verifying that the first digital signature is valid;

processing the second network resource in a first pipeline responsive to verifying that the first digital signature is valid;

transmitting, from the client network application of the client device, a second request for a third network resource to a second server;

receiving, at the client network application, a second response that includes a fourth network resource that includes a second digital signature that represents that at least a portion of the fourth network resource has been determined to be conforming to the set of one or more rules;

determining that the second digital signature is invalid; and

processing the fourth network resource in a second pipeline responsive to the determining that the second digital signature is invalid, wherein the first pipeline and the second pipeline are different, and wherein the first pipeline is a fast rendering pipeline as compared to the second pipeline.

2. The method of claim 1 , further comprising:

wherein prior to transmitting the first request for a first network resource to the first server, performing the following:

receiving a web page that contains a reference to the first network resource and includes a client-side script that is configured to, when executed by the client network application, verify that the first digital signature is valid.

3. The method of claim 2 , wherein verifying that the first digital signature is valid includes the client-side script to, when executed, download a set of one or more public keys for use when verifying that the first digital signature is valid.

4. The method of claim 1 , wherein the second network resource is based on the first network resource.

5. The method of claim 1 , wherein the second network resource is an online advertisement, and wherein at least a portion of the second network resource that has been determined to be conforming to the set of rules includes HTML of the at least the portion of the second network resource.

6. The method of claim 1 , wherein processing the second network resource in the first pipeline includes rendering the second network resource in a shadow DOM.

7. A non-transitory machine-readable storage medium that provides instructions that, when executed by a processor of a client device, cause said processor to perform operations comprising:

transmitting, from a client network application of the client device, a first request for a first network resource to a first server;

receiving, at the client network application, a first response that includes a second network resource that includes a first digital signature that represents that at least a portion of the second network resource has been determined to be conforming to a set of one or more rules;

verifying that the first digital signature is valid;

processing the second network resource in a first pipeline responsive to verifying that the first digital signature is valid;

transmitting, from the client network application of the client device, a second request for a third network resource to a second server;

receiving, at the client network application, a second response that includes a fourth network resource that includes a second digital signature that represents that at least a portion of the fourth network resource has been determined to be conforming to the set of one or more rules;

determining that the second digital signature is invalid; and

processing the fourth network resource in a second pipeline responsive to the determining that the second digital signature is invalid, wherein the first pipeline and the second pipeline are different, and wherein the first pipeline is a fast rendering pipeline as compared to the second pipeline.

8. The non-transitory machine-readable storage medium of claim 7 , wherein the operations further comprise:

wherein prior to transmitting the first request for a first network resource to the first server, performing the following:

receiving a web page that contains a reference to the first network resource and includes a client-side script that is configured to, when executed by the client network application, verify that the first digital signature is valid.

9. The non-transitory machine-readable storage medium of claim 8 , wherein verifying that the first digital signature is valid includes the client-side script to, when executed, download a set of one or more public keys for use when verifying that the first digital signature is valid.

10. The non-transitory machine-readable storage medium of claim 7 , wherein the second network resource is based on the first network resource.

11. The non-transitory machine-readable storage medium of claim 7 , wherein the second network resource is an online advertisement, and wherein at least a portion of the second network resource that has been determined to be conforming to the set of rules includes HTML of the at least the portion of the second network resource.

12. The non-transitory machine-readable storage medium of claim 7 , wherein processing the second network resource in the first pipeline includes rendering the second network resource in a shadow DOM.

13. A client device, comprising:

a processor; and

a non-transitory machine-readable storage medium coupled with the processor that stores instructions that, when executed by the processor, cause said processor to perform the following operations:

transmitting, from a client network application of the client device, a first request for a first network resource to a first server;

receiving, at the client network application, a first response that includes a second network resource that includes a first digital signature that represents that at least a portion of the second network resource has been determined to be conforming to a set of one or more rules;

verifying that the first digital signature is valid;

processing the second network resource in a first pipeline responsive to verifying that the first digital signature is valid;

transmitting, from the client network application of the client device, a second request for a third network resource to a second server;

receiving, at the client network application, a second response that includes a fourth network resource that includes a second digital signature that represents that at least a portion of the fourth network resource has been determined to be conforming to the set of one or more rules;

determining that the second digital signature is invalid; and

processing the fourth network resource in a second pipeline responsive to the determining that the second digital signature is invalid, wherein the first pipeline and the second pipeline are different, and wherein the first pipeline is a fast rendering pipeline as compared to the second pipeline.

14. The client device of claim 13 , wherein the operations further comprise:

wherein prior to transmitting the first request for a first network resource to the first server, performing the following:

receiving a web page that contains a reference to the first network resource and includes a client-side script that is configured to, when executed by the client network application, verify that the first digital signature is valid.

15. The client device of claim 14 , wherein verifying that the first digital signature is valid includes the client-side script to, when executed, download a set of one or more public keys for use when verifying that the first digital signature is valid.

16. The client device of claim 13 , wherein the second network resource is based on the first network resource.

17. The client device of claim 13 , wherein the second network resource is an online advertisement, and wherein at least a portion of the second network resource that has been determined to be conforming to the set of rules includes HTML of the at least the portion of the second network resource.

18. The client device of claim 13 , wherein processing the second network resource in the first pipeline includes rendering the second network resource in a shadow DOM.

Assignments (2)
SECURITY INTEREST Recorded May 20, 2024
From: CLOUDFLARE, INC.
To: CITIBANK, N.A.
Reel/Frame 067472/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2020
From: KNECHT, DANE ORION
To: CLOUDFLARE, INC.
Reel/Frame 053017/0877 →
Continuity (3)
Continuation 15920298 · Mar 13, 2018
Continuation 15420080 · Jan 30, 2017
Related Publication 20200322438A1 · Oct 8, 2020