US 11,750,380 B2
Storing and retrieving user data using joint, non-correlative, irreversible and private indexical expressions
Shamim A. Naqvi, Morristown, NJ (US); Robert Frank Raucci, New York, NY (US); and Goutham Puppala, Basking Ridge, NJ (US)
Assigned to SAFELISHARE, INC., Morristown, NJ (US)
Filed by Sensoriant, Inc., Cedar Knolls, NJ (US)
Filed on Jul. 29, 2020, as Appl. No. 16/942,032.
Claims priority of provisional application 62/879,642, filed on Jul. 29, 2019.
Prior Publication US 2021/0034299 A1, Feb. 4, 2021
Int. Cl. H04L 9/08 (2006.01); G06F 3/06 (2006.01); H04L 9/32 (2006.01)
CPC H04L 9/0863 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0622 (2013.01); G06F 3/0644 (2013.01); G06F 3/0659 (2013.01); G06F 3/0673 (2013.01); H04L 9/085 (2013.01); H04L 9/0866 (2013.01); H04L 9/3247 (2013.01); H04L 9/3271 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method of sending previously stored data of a user to a user computing device, the stored data being stored in a storage system by the user computing device, comprising:
receiving, at the storage system, a first indexical component from the user computing device, the first indexical component being generated using a first user input, the first indexical component being an integer value and being derived using a computationally irreversible function such that the first user input is not derivable from the first indexical component, the storage system previously storing the stored data to be retrieved and a second indexical component associated with the stored data, the second indexical component being an integer value determined using a second user input and a first input obtained from a custodial entity, the second indexical component being derived using the computationally irreversible function such that the second user input and the first input obtained from the custodial entity are not derivable from the second indexical component,
wherein the second user input is derived using a key generation function;
receiving, at the storage system, a third indexical component from the user computing device, the third indexical component being an integer value generated by the user computing device using the first user input and the first input obtained from the custodial entity such that the first user input and the first input obtained from the custodial entity are not derivable solely from the third indexical component integer;
locating, at the storage system, a storage location of the stored data using the first, second and third indexical components; and
accessing, with the storage system, the stored data from the storage location; and
comparing, at the storage system, the first indexical component to a product of the second indexical component and the third indexical component and only sending the stored data to the user computing device if the third indexical component matches the product of the second indexical component and the third indexical component.