IP Library Granted Patent US 12,476,933
Granted Patent B2
US 12,476,933 · App. 17/156,905 · Granted Nov 18, 2025

Secure directory services

Inventors: Christopher A. Howell (Freehold, NJ); Robert Statica (Long Valley, NJ); Kara Lynn Coppa (Long Valley, NJ)
Assignee: Amazon Technologies, Inc.
H04L51/48H04L9/006H04L9/0643H04L9/0869H04L9/3236H04L51/08
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,476,933
App. No.
17/156,905
Granted
Nov 18, 2025
Kind
B2
Abstract

Secure directory services are disclosed. A cryptographic hash of a foreign identifier associated with a potential user is received. A determination is made that the received cryptographic hash of the foreign identifier matches a representation of a stored entry. In response to the determination, a transmission of a representation of a native identifier associated with the stored entry is transmitted to the sender of the cryptographic hash of the foreign identifier.

Claims (68)

1 . A method comprising:

receiving, by a server from a first user device, a representation of a foreign identifier, wherein the representation is a hash value that corresponds to an entity;

processing, by the server, a query against a database table of a plurality of entities, including comparing the representation of the foreign identifier to an entry of the database table;

determining, based on the comparison, that the representation of the foreign identifier matches the entry of the database table; and

causing, by the server sending to the first user device an indication that the first representation of the foreign identifier matches the entry, the first user device to:

update an address book on the first user device with information from the database table that corresponds to the entry, which enables, based at least in part on a hashed representation of a native identifier, the first user device to address an encrypted communication to a second user device associated with the update to the address book, wherein the indication sent to the first user device that the first representation of the foreign identifier matches the entry, further comprises the hashed representation of a native identifier.

2 . The method of claim 1 , wherein the foreign identifier is associated with a contact in the address book of the first user device.

3 . The method of claim 2 , wherein the foreign identifier comprises at least one of:

a phone number;

an email address;

a social network identifier; or

a username.

4 . The method of claim 1 , wherein a message is composed by the first user device based on the hash value of the recipient user.

5 . The method of claim 1 , comprising:

receiving, by the server from the first user device, one or more second representations corresponding to one or more additional foreign identifiers; and

storing the one or more second representations corresponding to the one or more additional foreign identifiers in the database to allow the one or more second user devices to discover an account associated with the first user device.

6 . The method of claim 5 , wherein the one or more additional foreign identifiers comprise at least one of:

a phone number associated with the first user device;

an email address associated with a user of the first user device;

a social network identifier associated with the user of the first user device; or

a username associated with the user of the first user device.

7 . The method of claim 1 , wherein the indication further comprises a hashed representation of a native identifier that allows the first user device to address an encrypted communication to a second user device.

8 . The method of claim 1 , further comprising:

receiving, by the server from the first user device, a second plurality of representations of a second plurality of foreign identifiers;

comparing the second plurality of representations of the second plurality of foreign identifiers to one or more entries of the database to determine whether the one or more of the second plurality of representations of the second plurality of foreign identifiers matches any of the one or more entries; and

sending, by the server to the first user device and based on a determination that none of the second plurality of representations of the second plurality of foreign identifiers match any of the one or more entries, a second indication that no contacts are associated with the second plurality of foreign identifiers.

9 . A server comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the server to:

receive, from a first user device, representation of a foreign identifier wherein the representation is a hash value that corresponds to an entity;

process a query against a database table of a plurality of entities to compare the representation of the foreign identifier to an entry of the database table;

determine, based on the query and the comparison, that the representation of the foreign identifier matches the entry of the database table; and

cause, by sending to the first user device an indication that the representation of the foreign identifier matches the entry, the first user device to:

update an address book on the first user device with information from the database table that corresponds to the entry, which enables, based at least in part on a representation of a native identifier, the first user device to address a communication to a second user device associated with the entry, wherein the indication sent to the first user device that the representation of the foreign identifier matches the entry, further comprises a hashed representation of a native identifier.

10 . The server of claim 9 , wherein the foreign identifier is associated with a contact in the address book of the first user device.

11 . The server of claim 10 , wherein the foreign identifier comprises at least one of:

a phone number;

an email address;

a social network identifier; or

a username.

12 . The server of claim 9 , wherein the instructions, when executed by the one or more processors, cause the server to:

receive, from the first user device, one or more additional representations corresponding to one or more additional foreign identifiers; and

store the one or more additional representations corresponding to one or more additional foreign identifiers in the database to allow one or more second user devices to discover an account associated with the first user device.

13 . The server of claim 9 , wherein the indication further comprises a hashed representation of a native identifier that allows the first user device to address an encrypted communication to a second user device.

14 . The server of claim 9 , wherein the instructions, when executed by the one or more processors, cause the server to:

receive, from the first user device, a second plurality of representations of a second plurality of foreign identifiers;

compare the second plurality of representations of the second plurality of foreign identifiers to one or more entries of the database to determine whether one or more of the second plurality of representations of the second plurality of foreign identifiers matches any of the one or more entries; and

send, to the first user device and based on a determination that none of the second plurality of representations of the second plurality of foreign identifiers match any of the one or more entries, a second indication that no contacts are associated with the second plurality of foreign identifiers.

15 . A non-transitory computer-readable medium comprising instructions that, when executed, configure a server to:

receive, from a first user device, a representation of a foreign identifier wherein the representation is a hash value that corresponds to an entity;

process a query against a database table of a plurality of entities including a comparison of the first representation of the foreign identifier to an entry of the database table;

determine, based on the query, that the first representation of the first foreign identifier matches the entry of the database table; and

cause, by sending to the first user device an indication that the first representation of the foreign identifier matches the entry, the first user device to:

update an address book on the first user device with information from the database table that corresponds to the entry, which enables, based at least in part on a native identifier, the first user device to address a communication to a second user device associated with the entry, wherein the indication sent to the first user device that the first representation of the foreign identifier matches the entry, further comprises a hashed representation of a native identifier.

16 . The non-transitory computer-readable medium of claim 15 , wherein the foreign identifier is associated with a contact in the address book of the first user device.

17 . The non-transitory computer-readable medium of claim 16 , wherein the foreign identifier comprises at least one of:

a phone number;

an email address;

a social network identifier; or

a username.

18 . The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed, configure the server to:

receive, from the first user device, one or more additional representations corresponding to one or more additional foreign identifiers; and

store the one or more additional representations corresponding to one or more additional foreign identifiers in the database to allow one or more second user devices to discover an account associated with the first user device.

19 . The non-transitory computer-readable medium of claim 15 , wherein the indication further comprises a hashed representation of a native identifier that allows the first user device to address an encrypted communication to a second user device.

20 . The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed, configure the server to:

receive, from the first user device, a second plurality of representations of a second plurality of foreign identifiers;

compare the second plurality of representations of the second plurality of foreign identifiers to one or more entries of the database to determine whether one or more of the second plurality of representations of the second plurality of foreign identifiers matches any of the one or more entries; and

send, to the first user device and based on a determination that none of the second plurality of representations of the second plurality of foreign identifiers match any of the one or more entries, a second indication that no contacts are associated with the second plurality of foreign identifiers.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2021
From: WICKR LLC
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 057366/0573 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2021
From: HOWELL, CHRISTOPHER A.; STATICA, ROBERT; COPPA, KARA LYNN
To: WICKR INC.
Reel/Frame 056283/0343 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2021
From: HOWELL, CHRISTOPHER A.; STATICA, ROBERT; COPPA, KARA LYNN
To: WICKR INC.
Reel/Frame 055094/0826 →
Continuity (5)
Continuation 15988228 · May 24, 2018
Continuation 14572094 · Dec 16, 2014
Provisional Application 61931428 · Jan 24, 2014
Provisional Application 61917216 · Dec 17, 2013
Related Publication 20210144117A1 · May 13, 2021
References Cited (30)
US 8667271B2 · Shkolnikov et al. · 2014 [cited by applicant]
US 9177293B1 · Gagnon · 2015 [cited by examiner]
US 20020052921A1 · Morkel · 2002 [cited by examiner]
US 20020111993A1 · Reed · 2002 [cited by examiner]
US 20030084050A1 · Hall et al. · 2003 [cited by applicant]
US 20040025057A1 · Cook · 2004 [cited by examiner]
US 20040148506A1 · Prince · 2004 [cited by examiner]
US 20060236089A1 · Cohen · 2006 [cited by examiner]
US 20070192464A1 · Tullberg · 2007 [cited by examiner]
US 20080065878A1 · Hutson · 2008 [cited by examiner]
US 20080102819A1 · Bengtsson · 2008 [cited by examiner]
US 20080235336A1 · Stern et al. · 2008 [cited by applicant]
US 20110119276A1 · Borghetti · 2011 [cited by examiner]
US 20110131219A1 · Martin-Cocher · 2011 [cited by examiner]
US 20110246512A1 · Lubarski · 2011 [cited by examiner]
US 20120030743A1 · Semba · 2012 [cited by applicant]
US 20120240236A1 · Wyatt · 2012 [cited by examiner]
US 20130022284A1 · Zheng · 2013 [cited by examiner]
US 20140090042A1 · Short, III et al. · 2014 [cited by applicant]
US 20140189808A1 · Mahaffey · 2014 [cited by examiner]
US 20140207900A1 · Liu et al. · 2014 [cited by applicant]
US 20150370918A1 · Patterson et al. · 2015 [cited by applicant]
US 20160034692A1 · Singler · 2016 [cited by applicant]
US 20160099963A1 · Mahaffey · 2016 [cited by examiner]
US 20170070585A1 · Patvarczki · 2017 [cited by examiner]
WO 2014140736A1 · 2014 [cited by applicant]
NPL Search Terms (Year: 2022). [cited by examiner]
NPL Search Terms (Year: 2024). [cited by examiner]
NPL Search Terms (Year: 2025). [cited by examiner]
2015, March, Author Unknown, “Threema Cryptography Whitepaper”, Threema. [cited by applicant]