IP Library Granted Patent US 11,804,969
Granted Patent B2
US 11,804,969 · App. 17/187,940 · Granted Oct 31, 2023

Establishing trust between two devices for secure peer-to-peer communication

Inventors: Avinash Agarwal (Bangalore, IN); Akhil Dhananjaya (Bangalore, IN)
Assignee: VMWARE, INC.
H04L9/3263H04L9/0822H04L9/30H04L9/3236H04L9/3247H04L63/0823
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,804,969
App. No.
17/187,940
Granted
Oct 31, 2023
Kind
B2
Abstract

Systems and methods are described for establishing trust between two devices for secure peer-to-peer communication. In an example, a first and a second device can each possess a digital signature issued by the same certificate authority and a hash function issued by the same trusted entity. The devices can exchange public keys that include their respective digital signatures. The second device can verify the first device's digital signature, encrypt an encryption key with the second device's public key, hash the encryption key using its hash function, and encrypt the hash using its private key. The second device can send the encrypted hash and encryption key to the first device. The first device can verify the second device's digital signature, decrypt the encryption key, and decrypt the encrypted hash. The first device can hash the encryption key using its hashing function and compare the two hashes to verify the second device.

Claims (57)

1. A method for establishing trust between a first user device and a second user device, comprising:

sending, from the first user device to the second device, a first public key;

receiving, from the second device, a second public key;

verifying that the first and second public keys are signed by at least one certificate authority that is part of a Unified Endpoint Management (“UEM”) system to which the first and second user devices are both enrolled;

receiving, from the second device, an encrypted encryption key, the encryption key having been encrypted with the first public key;

decrypting, by the first user device, the encrypted encryption key using a first private key;

hashing the decrypted encryption key by using a hash function that is assigned to a first organizational group to which both the first and second user devices belong, wherein multiple organizational groups are defined in the UEM system for a single organization, a plurality of the organizational groups being assigned different hash functions for use in hashing the decrypted encryption key;

receiving, from the second device, an encrypted hash of the encryption key, the encrypted hash having been encrypted with a second private key;

decrypting the encrypted hash using the second public key;

comparing the hash of the decrypted encryption key and the decrypted hash; and

in an instance where the hash of the decrypted encryption key matches the decrypted hash, determining that the second device is a trusted device.

2. The method of claim 1 , wherein the first public key includes a first digital signature, and the second public key includes a second digital signature.

3. The method of claim 2 , further comprising verifying the second digital signature based on the first and second digital signatures both having the same certificate authority.

4. The method of claim 1 , wherein the hash function is provided by a trusted entity.

5. The method of claim 4 , wherein the first user device is sent multiple hash functions that correspond to a plurality of organizational groups within the organization to which the first user device belongs.

6. The method of claim 1 , wherein

the first public key is paired to the first private key,

the second public key is paired to the second private key,

the first private key is stored on the first user device, and

the second private key is stored on the second user device.

7. A non-transitory, computer-readable medium containing instructions that, when executed by a hardware-based processor, performs stages for establishing trust between a first user device and a second user device, the stages comprising:

sending, from the first user device to the second device, a first public key;

receiving, from the second device, a second public key;

verifying that the first and second public keys are signed by a certificate authority is part of a Unified Endpoint Management system to which the first and second user devices are both enrolled;

receiving, from the second device, an encrypted encryption key, the encryption key having been encrypted with the first public key;

decrypting, by the first user device, the encrypted encryption key using a first private key;

hashing the decrypted encryption key by using a hash function that is assigned to a first organizational group to which both the first and second user devices belong wherein multiple organizational groups are defined in the UEM system for a single organization, each of the organizational groups being assigned different hash functions for use in hashing the decrypted encryption key;

receiving, from the second device, an encrypted hash of the encryption key, the encrypted hash having been encrypted with a second private key;

decrypting the encrypted hash using the second public key;

comparing the hash of the decrypted encryption key and the decrypted hash; and

in an instance where the hash of the decrypted encryption key matches the decrypted hash, determining that the second device is a trusted device.

8. The non-transitory, computer-readable medium of claim 7 , wherein the first public key includes a first digital signature, and the second public key includes a second digital signature.

9. The non-transitory, computer-readable medium of claim 8 , the stages further comprising verifying the second digital signature based on the first and second digital signatures both having the same certificate authority.

10. The non-transitory, computer-readable medium of claim 7 , wherein the hash function for hashing the decrypted encryption key is provided by a trusted entity.

11. The non-transitory, computer-readable medium of claim 10 , wherein the first user device is sent multiple hash functions that correspond to a plurality of organizational groups within the organization to which the first user device belongs.

12. The non-transitory, computer-readable medium of claim 7 , wherein

the first public key is paired to the first private key,

the second public key is paired to the second private key,

the first private key is stored on the first user device, and

the second private key is stored on the second user device.

13. A system for establishing trust between a first user device and a second user device, comprising:

a memory storage including a non-transitory, computer-readable medium comprising instructions; and

a computing device including a hardware-based processor that executes the instructions to carry out stages comprising:

sending, from the first user device to the second device, a first public key;

receiving, from the second device, a second public key;

verifying that the first and second public keys are signed by at least one certificate authority that is part of a Unified Endpoint Management system to which the first and second user devices are both enrolled;

receiving, from the second device, an encrypted encryption key, the encryption key having been encrypted with the first public key;

decrypting, by the first user device, the encrypted encryption key using a first private key;

hashing the decrypted encryption key based on a hash function that is assigned to a first organizational group to which both the first and second user devices belong, wherein multiple organizational groups are defined in the UEM system for a single organization, a plurality of the organizational groups being assigned different hash functions for use in hashing the decrypted encryption key;

receiving, from the second device, an encrypted hash of the encryption key, the encrypted hash having been encrypted with a second private key;

decrypting the encrypted hash using the second public key;

comparing the hash of the decrypted encryption key and the decrypted hash; and

in an instance where the hash of the decrypted encryption key matches the decrypted hash, determining that the second device is a trusted device.

14. The system of claim 13 , wherein the first public key includes a first digital signature, and the second public key includes a second digital signature.

15. The system of claim 14 , the stages further comprising verifying the second digital signature based on the first and second digital signatures both having the same certificate authority.

16. The system of claim 15 , wherein the hash function for hashing the decrypted encryption key is provided by a trusted entity.

17. The system of claim 16 , wherein the first user device is sent multiple hash functions that correspond to a plurality of organizational groups within the organization to which the first user device belongs.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2021
From: AGARWAL, AVINASH; DHANANJAYA, AKHIL
To: VMWARE, INC.
Reel/Frame 055440/0353 →
Cited By (1)
US 12,627,492