IP Library Granted Patent US 11,308,228
Granted Patent B1
US 11,308,228 · App. 16/662,253 · Granted Apr 19, 2022

Providing access for online content via secured URL

Inventor: Cheng Tian (San Ramon, CA)
Assignee: WHATSAPP INC.
G06F21/62G06F9/451G06Q20/3255G06Q20/3672G06Q20/3674G06Q20/3829H04L9/3073H04L9/3247H04L51/046H04L63/08G06Q2220/10H04L67/42
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,308,228
App. No.
16/662,253
Granted
Apr 19, 2022
Kind
B1
Abstract

Exemplary embodiments are directed to a method for allowing a user at a first client device to provide access to restricted content on a content provider server to a user at a second client device without providing identifying information of the second client device or the user to the content provider. The content provider receives a request from a messaging app on a first client device for sharing of a content item with a second client device and generates a metadata block comprising at least a link to the content item. The metadata block is sent to the first client device and, in response, a public key of a private/public key pair of the second client device is received from the first client device. A request for the content item, is then received and contains a data item digitally signed using the private key of the private/public key pair of the second client device. The public key is then used to verify the digitally signed data item, thereby confirming the identity of the second client device. Thereafter, the requested content item is sent to the second client device.

Claims (61)

1. A computer-implemented method comprising:

receiving, at a content provider, a request from a messaging app on a first client device for sharing of a content item with a second client device;

generating a metadata block comprising at least a link to the content item;

sending the metadata block to the first client device;

receiving, from the first client device, verifying information sufficient to verify the second client device, wherein the verifying information is a public key of a private/public key pair of the second client device;

receiving a request for the content item, the request comprising the link and authentication information, wherein the authentication information is a data item digitally signed using the private key of the private/public key pair;

verifying that the request originated from the second client device by verifying the authentication information using the verifying information; and

sending, to the second client device, the content item.

2. The method of claim 1 further comprising:

storing the metadata block in a local database; and

storing the verifying information in the local database associated with the metadata block.

3. The method of claim 1 wherein the data item is an iteration count indicating how many times the second client device has requested the content item, further comprising:

determining, before sending the content item to the second client device, that the iteration count is greater than a corresponding iteration count stored by the content provider in the local database in association with the metadata block and verifying information.

4. The method of claim 1 , further comprising, prior to sending the maid a data block to the first client device:

sending the metadata block and identifying information of the content provider to a messaging server associated with the messaging app on the first client device; and

receiving a digitally signed copy of the metadata block from the messaging server.

5. The method of claim 1 wherein the metadata block contains data regarding payment required for the content item, further comprising:

receiving, from the first client device, a payment token indicating that payment for the content item has been handled through a messaging server associated with the messaging app; and

verifying, with the messaging server, the payment using the payment token.

6. The method of claim 1 wherein the metadata block further comprises a rendering schema indicating, to the first client device, how a notification message sent between the first client device and the second client device should be rendered in a user interface of the messaging app on the first client device.

7. A system comprising:

a processor; and

a memory containing instructions that, when executed, cause the processor to:

receive a request from a messaging app on a first client device for sharing of a content item with a second client device;

generate a metadata block comprising at least a link to the content item;

send the metadata block to the first client device;

receive, from the first client device, verifying information sufficient to verify the second client device, wherein the verifying information is a public key of a private/public key pair of the second client device;

receive a request for the content item, the request comprising the link and authentication information, wherein the authentication information is a data item digitally signed using the private key of the private/public key pair;

verify that the request originated from the second client device by verifying the authentication information using the verifying information; and

send, to the second client device, the content item.

8. The system of claim 7 comprising further instructions that cause the processor to:

store the metadata block in a local database; and

store the verifying information in the local database associated with the metadata block.

9. The system of claim 7 wherein the data item is an iteration count indicating how many times the second client device has requested the content item, comprising further instructions that cause the processor to:

determine, before sending the content item to the second client device, that the iteration count is greater than a corresponding iteration count stored by the content provider in the local database in association with the metadata block and verifying information.

10. The system of claim 7 , comprising further instructions that cause the processor, prior to sending the maid a data block to the first client device, to:

send the metadata block and identifying information of the content provider to a messaging server associated with the messaging app on the first client device; and

receive a digitally signed copy of the metadata block from the messaging server.

11. The system of claim 7 wherein the metadata block contains data regarding payment required for the content item, comprising further instructions that cause the processor to:

receive, from the first client device, a payment token indicating that payment for the content item has been handled through a messaging server associated with the messaging app; and

verify, with the messaging server, the payment using the payment token.

12. The system of claim 7 wherein the metadata block further comprises a rendering schema indicating, to the first client device, how a notification message sent between the first client device and the second client device should be rendered in a user interface of the messaging app on the first client device.

13. A non-transitory, computer-readable storage medium containing instructions that, when executed by a processor, cause the processor to:

receive, a request from a messaging app on a first client device for sharing of a content item with a second client device;

generate a metadata block comprising at least a link to the content item;

send the metadata block to the first client device;

receive, from the first client device, verifying information sufficient to verify the second client device, wherein the verifying information is a public key of a private/public key pair of the second client device;

receive a request for the content item, the request comprising the link and authentication information, wherein the authentication information is a data item digitally signed using the private key of the private/public key pair;

verify that the request originated from the second client device by verifying the authentication information using the verifying information; and

send, to the second client device, the content item.

14. The medium of claim 13 comprising further instructions that cause the processor to:

store the metadata block in a local database; and

store the verifying information in the local database associated with the metadata block.

15. The medium of claim 13 wherein the data item is an iteration count indicating how many times the second client device has requested the content item, the medium comprising further instructions that cause the processor to:

determine, before sending the content item to the second client device, that the iteration count is greater than a corresponding iteration count stored by the content provider in the local database in association with the metadata block and verifying information.

16. The medium of claim 13 , comprising further instructions that cause the processor, prior to sending the maid a data block to the first client device, to:

send the metadata block and identifying information of the content provider to a messaging server associated with the messaging app on the first client device; and

receive a digitally signed copy of the metadata block from the messaging server.

17. The medium of claim 13 wherein the metadata block contains data regarding payment required for the content item, comprising further instructions that cause the processor to:

receive, from the first client device, a payment token indicating that payment for the content item has been handled through a messaging server associated with the messaging app; and

verify, with the messaging server, the payment using the payment token.

Assignments (2)
CHANGE OF NAME Recorded Jun 22, 2021
From: WHATSAPP INC.
To: WHATSAPP LLC
Reel/Frame 056646/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2020
From: TIAN, CHENG
To: WHATSAPP INC.
Reel/Frame 051726/0341 →
Cited By (8)
US 12,206,716 US 12,210,815 US 12,244,569 US 12,289,350 US 12,321,471 US 12,323,457 US 12,445,505 US 12,452,315