IP Library Granted Patent US 11,044,101
Granted Patent B2
US 11,044,101 · App. 16/597,437 · Granted Jun 22, 2021

Secure exchange of cryptographically signed records

Inventor: Adrian Kaehler (Los Angeles, CA)
Assignee: Magic Leap, Inc.
H04L9/3247H04L9/14H04L9/30H04L63/0428H04L63/101H04L63/1408H04L63/1483H04L2209/60
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,044,101
App. No.
16/597,437
Granted
Jun 22, 2021
Kind
B2
Abstract

Systems and methods for securely exchanging cryptographically signed records are disclosed. In one aspect, after receiving a content request, a sender device can send a record to a receiver device (e.g., an agent device) making the request. The record can be sent via a short range link in a decentralized (e.g., peer-to-peer) manner while the devices may not be in communication with a centralized processing platform. The record can comprise a sender signature created using the sender device's private key. The receiver device can verify the authenticity of the sender signature using the sender device's public key. After adding a cryptography-based receiver signature, the receiver device can redeem the record with the platform. Upon successful verification of the record, the platform can perform as instructed by a content of the record (e.g., modifying or updating a user account).

Claims (80)

1. A method for validating cryptographically signed records, the method comprising:

under control of a hardware processor:

receiving, at a record receiver device, a sender individual record from a record sender device, wherein:

the sender individual record comprises a record identifier, a record content, a sender public keys, a receiver public key of the record receiver device, and a sender signature of the sender individual record, and

the sender individual record is created by the record sender device after receiving a content request from a record receiver device and after the record sender device identifies the record receiver device;

maintaining, at the record receiver device, record identifiers associated with sender individual records previously received from the record sender device;

attempting to decrypt the sender signature by using the sender public key;

detecting mousing by determining, via the record receiver device, that the sender individual record is invalid based at least in part on a failed attempt to decrypt the sender signature, wherein the detection of mousing further includes determining that the record identifier of the sender individual record is absent from the maintained record identifiers;

creating a receiver individual record, wherein:

the receiver individual record comprises the sender individual record, a malicious record endorsement, and a receiver signature of the receiver individual record, and

the receiver signature is created using a receiver private key of the record receiver device, and wherein the receiver public key and the receiver private key form a receiver public-key cryptographic pair; and

sending the receiver individual record to the processing platform.

2. The method of claim 1 , wherein the determining the sender individual record is invalid comprises detecting sender cloning with a single receiver, mousing, or ghosting.

3. The method of claim 2 , wherein:

the record identifier of the sender individual record is a monotonic ally increasing number,

the record receiver device maintains a highest record identifier of individual records previously received with the sender public key of the record sender device as sender public keys of the individual records previously received, and

detecting sender cloning comprises determining the record identifier of the sender individual record is not larger than the highest record identifier.

4. The method of claim 2 , wherein:

the sender public key is the sender public key of the record sender device, wherein the sender signature is created using a sender private key of the record sender device, and

the sender public key and the sender private key form a sender public-key cryptographic pair.

5. The method of claim 2 , wherein:

the sender public key is the sender public key of the record sender device,

the detecting mousing comprises determining the sender signature is not created using a sender private key of the record sender device, wherein the sender public key and the sender private key form a sender public-key cryptographic pair, and

the determining the sender signature is not created using the sender private key of the record sender device comprises using the sender public key to determine the sender signature is not created using the sender private key.

6. The method of claim 2 , wherein:

detecting ghosting comprises determining the sender public key is not a valid public key of a user device, and

the determining the sender public key is not a valid public key comprises:

receiving common records from the processing platform, wherein the common records comprise valid public keys of user devices; and

determining the common records comprise the sender public key of the record sender device.

7. The method of claim 6 , wherein:

the sender signature is created using a sender private key, and

the sender public key and the sender private key form a sender public-key cryptographic pair.

8. The method of claim 1 , further comprising causing the processing platform to add the record sender device to a blacklist of malicious user devices.

9. A method for validating cryptographically signed records, the method comprising:

under control of a hardware processor:

receiving, at a record receiver device, a sender individual record from a record sender device, wherein:

the sender individual record comprises a record content, a sender public key, a receiver public key, and a sender signature of the sender individual record,

the sender signature is created using a sender private key, wherein the sender public key and the sender private key form a sender public-key cryptographic pair, and

the sender individual record is sent by the record sender device after receiving a content request from the record receiver device and identifying the record receiver device;

maintaining, at the record receiver device, record identifiers associated with sender individual records previously received from the record sender device;

attempting to decrypt the sender signature by using the sender public key;

determining, via the record receiver device, that the sender individual record is invalid based at least in part on a failed attempt to decrypt the sender signature, wherein the determination that the sender individual record is invalid further includes determining that the record identifier of the sender individual record is absent from the maintained record identifiers;

creating a receiver individual record, wherein:

the receiver individual record comprises the sender individual record, a malicious record endorsement, and a receiver signature of the receiver individual record,

the receiver signature is created based at least in part on receiver private key of the record receiver device, and

the receiver public key and the receiver private key form a receiver public-key cryptographic pair; and

sending the receiver individual record to the processing platform.

10. The method of claim 9 , wherein the determining the sender individual record is invalid comprises detecting sender cloning with multiple receivers or detecting forking.

11. The method of claim 10 , wherein the detecting sender cloning with multiple receivers comprises:

determining the sender public key is the sender public key of the record sender device; and

determining the receiver public key is not a public key of the record receiver device.

12. The method of claim 9 , wherein detecting forking comprises:

determining the sender public key is not a public key of the record sender device;

determining the public key of the record receiver device is not in the in the sender individual record; and

determining the receiver public key is not a public key of the record receiver device.

13. The method of claim 10 , wherein:

the sender signature is created based at least in part on a sender private key, and

the sender public key and the sender private key form a sender public-key cryptographic pair.

14. The method of claim 9 , further comprising:

causing the processing platform to add the record sender device to a blacklist of malicious user devices.

15. A method for validating cryptographically signed records, the method comprising:

receiving a receiver individual record from a record receiver device, wherein:

the receiver individual record comprises a sender individual record, a for-processing-only endorsement, and a receiver signature of the receiver individual record, and

the sender individual record comprises a record identifier, a record content, a sender public key of the record sender device, a receiver public key of the record receiver device, and a sender signature of the sender individual record,

the record content including a request for content;

the sender signature is generated based at least in part on a sender private key of the record sender device, wherein the sender public key and the sender private key form a sender public-key cryptographic pair, wherein the sender public key and the sender signature are both out-of-date or invalid,

the receiver individual record is created by the record receiver device after receiving the sender individual record from the record sender device and verifying, via the record receiver device, the sender individual record based at least in part on the sender public key, wherein the verification is successful because the record receiver device comprises a copy of the sender public key that is out-of-date or invalid,

the receiver signature is created using a receiver private key of the record receiver device, and

the receiver public key and the receiver private key form a receiver public-key cryptographic pair;

maintaining, at the record receiver device, record identifiers associated with sender individual records previously received from the record sender device;

attempting, at the processing server, to decrypt the receiver signature by using the receiver public key, wherein the decryption of the receiver signature is successful;

creating, at the processing server, a modified individual record with the receiver signature based at least in part on the successful decryption;

detecting ghosting by determining, at the processing server, that the modified individual record is invalid based at least in part on a determination that the modified individual record includes the out-of-date or invalid sender public key, wherein the detection of ghosting further includes determining that the sender public key of the sender individual record is not present in the maintained record identifiers; and

suppressing transmission of the content to the record receiver that is requested via the record content.

16. The method of claim 15 , wherein the determining the receiver individual record to be invalid comprises detecting receiver cloning or ghosting.

17. The method of claim 15 , wherein detecting ghosting comprises:

determining the sender public key is an invalid public key by determining that the valid sender public keys comprise the sender public key of the sender individual record.

18. The method of claim 15 , further comprising:

adding the record sender device to a blacklist of malicious users if receiver cloning is detected; and

adding the record receiver device to a blacklist of malicious users if ghosting is detected.

Assignments (5)
SECURITY INTEREST Recorded Oct 28, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073388/0027 →
SECURITY INTEREST Recorded Oct 15, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073109/0238 →
SECURITY INTEREST Recorded May 24, 2022
From: MOLECULAR IMPRINTS, INC.; MENTOR ACQUISITION ONE, LLC; MAGIC LEAP, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 060338/0665 →
SECURITY INTEREST Recorded May 21, 2020
From: MAGIC LEAP, INC.; MOLECULAR IMPRINTS, INC.; MENTOR ACQUISITION ONE, LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 052729/0791 →
PROPRIETARY INFORMATION AND INVENTIONS AGREEMENT Recorded Oct 29, 2019
From: KAEHLER, ADRIAN
To: MAGIC LEAP, INC.
Reel/Frame 050859/0973 →