US 12,074,856 B2
Receiving information through a zero-knowledge data management network
Brett Shockley, Bonita Springs, FL (US); Alexander John Shockley, Denver, CO (US); Michael Joseph Frendo, Boulder, CO (US); Shmuel Shaffer, Palo Alto, CA (US); Kenneth Keiter, Portland, OR (US); and James M. Behmke, Duxbury, MA (US)
Assigned to Journey.ai, Denver, CO (US)
Filed by Journey.ai, Denver, CO (US)
Filed on Dec. 15, 2023, as Appl. No. 18/541,627.
Application 18/541,627 is a continuation of application No. 17/463,961, filed on Sep. 1, 2021, granted, now 11,895,099.
Application 17/463,961 is a continuation of application No. 16/703,850, filed on Dec. 4, 2019, granted, now 11,139,985, issued on Oct. 5, 2021.
Claims priority of provisional application 62/775,302, filed on Dec. 4, 2018.
Claims priority of provisional application 62/852,850, filed on May 24, 2019.
Prior Publication US 2024/0205202 A1, Jun. 20, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 29/06 (2006.01); G06F 3/06 (2006.01); G06F 21/60 (2013.01); G06F 21/62 (2013.01); G06F 21/64 (2013.01); G06Q 20/38 (2012.01); G06Q 20/40 (2012.01); H04L 9/06 (2006.01); H04L 9/08 (2006.01); H04L 9/14 (2006.01); H04L 9/30 (2006.01); H04L 9/32 (2006.01); H04L 9/40 (2022.01)
CPC H04L 63/0471 (2013.01) [G06F 3/062 (2013.01); G06F 3/0655 (2013.01); G06F 3/067 (2013.01); G06F 21/602 (2013.01); G06F 21/62 (2013.01); G06F 21/645 (2013.01); G06Q 20/38215 (2013.01); G06Q 20/3829 (2013.01); G06Q 20/383 (2013.01); G06Q 20/401 (2013.01); H04L 9/0643 (2013.01); H04L 9/0819 (2013.01); H04L 9/0825 (2013.01); H04L 9/083 (2013.01); H04L 9/0833 (2013.01); H04L 9/0891 (2013.01); H04L 9/14 (2013.01); H04L 9/30 (2013.01); H04L 9/3218 (2013.01); H04L 9/3236 (2013.01); H04L 9/3242 (2013.01); H04L 9/3247 (2013.01); H04L 9/3263 (2013.01); H04L 9/3265 (2013.01); H04L 9/3268 (2013.01); H04L 63/0421 (2013.01); H04L 63/0442 (2013.01); H04L 63/083 (2013.01); H04L 63/101 (2013.01); H04L 63/102 (2013.01)] 31 Claims
OG exemplary drawing
 
1. A method, comprising:
participating, by a particular recipient, in a data storage system, wherein:
i) a storage server is configured to obtain and store source-encrypted source data received from a source, the source-encrypted source data comprising source data encrypted by the source with a source encryption key of the source, wherein the storage server is unable to decrypt the source-encrypted source data;
ii) the source is configured to establish and send a recipient-based rekeying key to the storage server, the recipient-based rekeying key established through an encrypting combination of a source decryption key of the source and a recipient public key of the particular recipient; and
iii) the storage server is further configured to re-encrypt the source-encrypted source data with the recipient-based rekeying key in response to a request to share the source data with the particular recipient, the re-encrypting resulting in recipient-based encrypted source data that is the source data encrypted with the recipient public key of the particular recipient, wherein the storage server is unable to decrypt the recipient-based encrypted source data;
receiving, at the particular recipient from the storage server, the recipient-based encrypted source data;
decrypting, by the particular recipient, the recipient-based encrypted source data using a recipient private key of the particular recipient to obtain the source data; and
processing, by the particular recipient, the decrypted source data, wherein the source data comprises two or more sets of data associated together, each of the associated two or more sets individually requiring a respective rekeying key to decrypt corresponding source data, wherein a first data set of the two or more sets of data is readable only by a first recipient, and wherein a second data set is readable only to the particular recipient, the method further comprising:
receiving, from the storage server, the second data set as the recipient-based encrypted source data;
receiving, from the storage server, the first data set;
processing the decrypted source data from the recipient-based encrypted source data;
sending the first data set to the second recipient to cause the second recipient to process the first data based on the particular recipient having processed the second set of data;
processing the decrypted source data from the recipient-based encrypted source data to produce an indication that the second data set was successfully processed; and
sending the first data set along with an indication that the second data set was successfully processed to the second recipient to cause the second recipient to process the first data based on the indication that the second data set was successfully processed.