IP Library › Granted Patent US 12,500,934
Granted Patent B2
US 12,500,934 · App. 18/534,471 · Granted Dec 16, 2025

Methods, mediums, and systems for verifying devices in an encrypted messaging system

Inventors: Abhinav Raj (San Mateo, CA); Maaz Ali (New York, NY); Evan Christopher DeVrieze (Toronto, CA)
Assignee: WhatsApp LLC
H04L63/18H04L63/061H04L63/068H04L63/0876H04L63/0892
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 12,500,934
App. No.
18/534,471
Granted
Dec 16, 2025
Kind
B2
Abstract

This application describes methods, mediums, and systems for verifying a device for use in a messaging system. Using the device verification procedures described, a messaging system can securely authorize new devices to send and receive encrypted messages on behalf of a user, preferably without the need to share a private encryption key between the users' different devices. The application describes several techniques that can be used to provide such a system, including distributing a computer-perceptible code that encodes encryption information between a secondary device and a primary device. This allows the information to be distributed without intervention by a server. Other techniques provide unique ways to build and reverify authorized device lists, distribute encryption keys in chat channels, ensure that lists of authorized devices are distributed in the correct order and remain valid for an appropriate amount of time, add new devices to an ongoing or new conversation, and more.

Claims (53)

1 . A method, comprising:

receiving, at a recipient device, from a first device associated with a user of a messaging system, a first message and a second message associated with a conversation in the messaging system;

extracting, from the first message, a list of devices authorized to participate in the conversation, the list of devices including a second device associated with the user and a hash of a set of keys for the list of devices;

verifying that the hash of the set of keys of the list of devices matches a calculated respective hash of the set of keys for the list of devices;

extracting, from the second message, a set of cryptographic keys associated with the devices in the list of devices;

verifying that the list of devices matches a list of authorized devices stored at the recipient device and includes the first device and the second device; and

establishing, using the cryptographic keys associated with the first device and the second device, an encrypted session with the first device and the second device.

2 . The method of claim 1 , further comprising:

receiving, at the recipient device, a notification from a server of the messaging system indicating that the first device associated with the user has been added to the conversation; and

adding the first device to a list of authorized devices stored at the recipient device.

3 . The method of claim 2 , wherein the notification comprises an identifier for a new device signed by the second device, and further comprising verifying that signature on the identifier is valid based on cryptographic information about the second device stored on the recipient device.

4 . The method of claim 2 , further comprising:

receiving a third message from the first device; and

receiving a cryptographic key associated with the first device, the cryptographic key received in association with metadata.

5 . The method of claim 4 , further comprising verifying a validity of the cryptographic key by comparing the metadata to metadata previously received with the notification; and

using the cryptographic key to decrypt the third message.

6 . The method of claim 1 , further comprising adding the list of devices received in the first message to a list of authorized devices stored at the recipient device.

7 . A non-transitory computer-readable medium storing instructions configured to cause a processor to:

receive, at a recipient device, from a first device associated with a user of a messaging system, a first message and a second message associated with a conversation in the messaging system;

extract, from the first message, a list of devices authorized to participate in the conversation, the list of devices including a second device associated with the user and a hash of a set of keys for the list of devices;

verify that the hash of the set of keys of the list of devices matches a calculated respective hash of the set of keys for the list of devices;

extract, from the second message, a set of cryptographic keys associated with the devices in the list of devices;

verify that the list of devices matches a list of authorized devices stored at the recipient device and includes the first device and the second device; and

establish, using the cryptographic keys associated with the first device and the second device, an encrypted session with the first device and the second device.

8 . The non-transitory computer-readable medium of claim 7 , and wherein the instructions further cause the processor to:

receive, at the recipient device, a notification from a server of the messaging system indicating that the first device associated with the user has been added to the conversation; and

add the first device to a list of authorized devices stored at the recipient device.

9 . The non-transitory computer-readable medium of claim 8 , wherein the notification comprises an identifier for a new device signed by the second device, and the instructions further cause the processor to verify that signature on the identifier is valid based on cryptographic information about the second device stored on the recipient device.

10 . The non-transitory computer-readable medium of claim 8 , further storing instructions configured to cause the processor to:

receive a third message from the first device;

receive a cryptographic key associated with the first device, the cryptographic key received in association with metadata;

verify a validity of the cryptographic key by comparing the metadata to metadata previously received with the notification; and

use the cryptographic key to decrypt the third message.

11 . The non-transitory computer-readable medium of claim 7 , further storing instructions configured to verify that the list of devices matches a list of authorized devices stored at the recipient device.

12 . The non-transitory computer-readable medium of claim 7 , further storing instructions configured to cause the processor to add the list of devices received in the first message to a list of authorized devices stored at the recipient device.

13 . An apparatus, comprising:

one or more processors; and

a non-transitory computer-readable medium storing instructions configured to cause the one or more processors to:

receive, at a recipient device, from a first device associated with a user of a messaging system, a first message and a second message associated with a conversation in the messaging system;

extract, from the first message, a list of devices authorized to participate in the conversation, the list of devices including a second device associated with the user and a hash of a set of keys for the list of devices;

verify that the hash of the set of keys of the list of devices matches a calculated respective hash of the set of keys for the list of devices;

extract, from the second message, a set of cryptographic keys associated with the devices in the list of devices;

verify that the list of devices matches a list of authorized devices stored at the recipient device and includes the first device and the second device; and

establish, using the cryptographic keys associated with the first device and the second device, an encrypted session with the first device and the second device.

14 . The apparatus of claim 13 , wherein the non-transitory computer-readable medium further stores instructions configured to cause the one or more processors to:

receive, at the recipient device, a notification from a server of the messaging system indicating that the first device associated with the user has been added to the conversation; and

add the first device to the list of authorized devices stored at the recipient device.

15 . The apparatus of claim 14 , wherein the notification comprises an identifier for a new device signed by the second device, and the one or more processors further stores instructions configured to cause the processor to verify that signature on the identifier is valid based on cryptographic information about the second device stored on the recipient device.

16 . The apparatus of claim 14 , wherein the non-transitory computer-readable medium further stores instructions configured to cause the one or more processors to:

receive a third message from the first device; and

receive a cryptographic key associated with the first device, the cryptographic key received in association with metadata.

17 . The apparatus of claim 13 , wherein the non-transitory computer-readable medium further stores instructions configured to verify a validity of the cryptographic key by comparing the metadata to metadata previously received with the notification; and

use the cryptographic key to decrypt the third message.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2023
From: RAJ, ABHINAV; ALI, MAAZ; DEVRIEZE, EVAN CHRISTOPHER
To: WHATSAPP LLC
Reel/Frame 065974/0951 →
Continuity (2)
Continuation 17348024 · Jun 15, 2021
Related Publication 20240106859A1 · Mar 28, 2024
References Cited (21)
US 9282181B2 · Antos et al. · 2016 [cited by applicant]
US 9673973B1 · Leavy · 2017 [cited by examiner]
US 10158489B2 · Shastri et al. · 2018 [cited by applicant]
US 10904168B2 · O'Driscoll et al. · 2021 [cited by applicant]
US 20010020228A1 · Cantu · 2001 [cited by examiner]
US 20120042000A1 · Heins · 2012 [cited by examiner]
US 20140045472A1 · Sharma · 2014 [cited by examiner]
US 20140059351A1 · Braskich et al. · 2014 [cited by applicant]
US 20150085848A1 · Reunamaki et al. · 2015 [cited by applicant]
US 20160066183A1 · Conant et al. · 2016 [cited by applicant]
US 20160360407A1 · Benoit et al. · 2016 [cited by applicant]
US 20170012950A1 · Kim · 2017 [cited by examiner]
US 20170195339A1 · Brown · 2017 [cited by applicant]
US 20190239068A1 · Mudulodu et al. · 2019 [cited by applicant]
US 20190296969A1 · Zimny et al. · 2019 [cited by applicant]
US 20200104081A1 · Miyake · 2020 [cited by applicant]
US 20210350446A1 · D'Haenens et al. · 2021 [cited by applicant]
US 20220188079A1 · Kohisseri et al. · 2022 [cited by applicant]
US 20220400000A1 · Raj et al. · 2022 [cited by applicant]
WO 2019136107A1 · 2019 [cited by applicant]
International Search report and Written Opinion for International Application No. PCT/US2022/033160, mailed Oct. 12, 2022, 9 pages. [cited by applicant]