# US 2024/0205202 A1 · Receiving information through a zero-knowledge data management network

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2024/0205202 A1
- Document ID: US20240205202A1
- Status: Published application
- Kind: A1
- Application number: 18/541,627
- Filed: 2023-12-15
- Published: 2024-06-20
- Earliest claimed: 2018-12-04
- Assignees: Journey.ai
- Applicants: Journey.ai
- Inventors: Brett SHOCKLEY; Alexander John SHOCKLEY; Michael Joseph FRENDO; Shmuel SHAFFER; Kenneth KEITER; James M. BEHMKE
- Web page: https://patentgrep.com/patent/US20240205202A1

## CPC

- H04L 63/0471: {applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding}
- G06F 3/062: {Securing storage systems}
- G06F 3/0623: {in relation to content}
- G06F 3/0655: {Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices}
- G06F 3/0661: {Format or protocol conversion arrangements}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0671: {In-line storage system}
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/62: Protecting access to data via a platform, e.g. using keys or access control rules
- G06F 21/645: {using a third party}
- G06Q 20/38215: {Use of certificates or encrypted proofs of transaction rights}
- G06Q 20/3829: {involving key management}
- G06Q 20/383: {Anonymous user system}
- G06Q 20/401: {Transaction verification}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/0819: {Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) (network architectures or network communication protocols for key distribution in a packet data network H04L63/062)}
- H04L 9/0825: {using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates}
- H04L 9/083: {involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]}
- H04L 9/0833: {involving conference or group key (network architectures or network communication protocols for key management in group communication in a packet data network H04L63/065)}
- H04L 9/0891: {Revocation or update of secret information, e.g. encryption key update or rekeying}
- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/30: Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L 9/3218: {using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs}
- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/3242: {involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC}
- H04L 9/3247: {involving digital signatures}
- H04L 9/3263: {involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements (network architectures or network communication protocols for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L 9/3265: {using certificate chains, trees or paths; Hierarchical trust model}
- H04L 9/3268: {using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]}
- H04L 63/0421: {Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer}
- H04L 63/0442: {wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for public-key encryption H04L9/30)}
- H04L 63/083: {using passwords (cryptographic mechanisms or cryptographic arrangements for entity authentication using a predetermined code H04L9/3226)}
- H04L 63/101: {Access control lists [ACL]}
- H04L 63/102: {Entity profiles}
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- H04L 2209/64: Self-signed certificates
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

The techniques herein are directed generally to a “zero-knowledge” data management network. Users are able to share verifiable proof of data and/or identity information, and businesses are able to request, consume, and act on the data—all without a data storage server or those businesses ever seeing or having access to the raw sensitive information (where server-stored data is viewable only by the intended recipients, which may even be selected after storage). In one embodiment, source data is encrypted with a source encryption key (e.g., source public key), with a rekeying key being an encrypting combination of a source decryption key (e.g., source private key) and a recipient's public key. Without being able to decrypt the data, the storage server can use the rekeying key to re-encrypt the source data with the recipient's public key, to then be decrypted only by the corresponding recipient using its private key, accordingly.

## Claims

### Claim 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 is 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.

### Claim 2 (depends on 1)

The method as in claim 1, further comprising:
updating the recipient public key from an original recipient public key to an updated recipient public key;
updating the corresponding recipient private key from an original recipient private key to an updated recipient private key;
establishing a recipient re-encryption key through an encrypting combination of the original recipient private key and the updated recipient public key; and
sending the recipient re-encryption key to the storage server to cause the storage server to apply the recipient re-encryption key to the recipient-based rekeying key to generate an updated recipient-based rekeying key that is an encrypting combination of the source decryption key and the updated recipient public key.

### Claim 3 (depends on 2)

The method as in claim 2, wherein the received recipient-based encrypted source data is based on the updated recipient public key, and wherein the decrypting of the recipient-based encrypted source data is based on the updated recipient private key.

### Claim 4 (depends on 1)

The method as in claim 1, further comprising:
requesting the source data from the storage server.

### Claim 5 (depends on 1)

The method as in claim 1, wherein receiving the recipient-based encrypted source data is in response to a push from the storage server.

### Claim 6 (depends on 5)

The method as in claim 5, wherein the push from the storage server is based on a request from a controller device.

### Claim 7 (depends on 1)

The method as in claim 1, wherein the particular recipient is selected from a group consisting of: one or more governmental devices; one or more regulatory compliance devices; one or more financial institution devices; one or more retail company devices; one or more auditing system devices; one or more medical system devices; and one or more user devices.

### Claim 8 (depends on 1)

The method as in claim 1, wherein the data storage system further comprises an attestation server configured to attest to the source data and create a signed certificate based on attesting to the source data, the method further comprising:
receiving the signed certificate, the signed certificate associated with source data; and
confirming that the source data has been attested to by the attestation server based on the signed certificate.

### Claim 9 (depends on 8)

The method as in claim 8, wherein the certificate is signed with a private key of the attestation server, and wherein the particular recipient confirms that the source data has been attested to by the attestation server based on applying a public key of the attestation server to the signed certificate.

### Claim 10 (depends on 8)

The method as in claim 8, wherein the source data attested to by the attestation server comprises personally identifying information.

### Claim 11 (depends on 8)

The method as in claim 8, wherein data integrity of the source data is attested to by the attestation server.

### Claim 12 (depends on 8)

The method as in claim 8, wherein the source data is associated with a hash of the source data, the method further comprising:
receiving the hash as part of the signed certificate; and
confirming that the source data corresponds to the signed certificate based on matching the hash of the source data to the hash included as part of the signed certificate.

### Claim 13 (depends on 1)

The method as in claim 1, wherein the source-encrypted source data, and thereby also the recipient-based encrypted source data, contain a signed certificate signed by an attestation server configured to attest to the source data, the method further comprising:
obtaining the signed certificate upon decrypting the recipient-based encrypted source data; and
confirming that the source data has been attested to by the attestation server based on the signed certificate.

### Claim 14 (depends on 1)

The method as in claim 1, wherein the particular recipient is one of a plurality of recipients within a group of categorically similar recipients that share a group-based recipient public key.

### Claim 15 (depends on 1)

The method as in claim 1, wherein the storage server is configured to confirm that the particular recipient is authorized to receive the source data and to deny access to the source data in response to the particular recipient not being authorized to receive the source data, the method further comprising:
providing authentication credentials to the storage server.

### Claim 16 (depends on 1)

The method as in claim 1, wherein the storage server is configured to confirm that the particular recipient is authorized to receive the source data and to deny access to the source data in response to the particular recipient not being authorized to receive the source data, wherein the storage server is configured to confirm that the particular recipient is authorized to receive the source data based on at least one of either: the source and the particular recipient; the source data and the particular recipient; or the particular recipient itself.

### Claim 17 (depends on 1)

The method as in claim 1, wherein the request to share the source data with the particular recipient comprises a request identification, the method further comprising:
receiving the request identification when receiving the recipient-based encrypted source data;
receiving a report having the request identification; and
connecting the decrypted source data with the received report based on the received report having the same request identification as the decrypted source data.

### Claim 18 (depends on 17)

The method as in claim 17, wherein the received report is from a controller device that initiated the request to share the source data with the particular recipient.

### Claim 19 (depends on 1)

The method as in claim 1, wherein an intermediate reporting device is configured to receive a set of transaction-based information, the set of transaction-based information readable by the intermediate reporting device, wherein the intermediate reporting device is configured to:
receive the recipient-based encrypted source data, the recipient-based encrypted source data unreadable by the intermediate reporting device;
read the set of information;
create a report based on the set of information;
package the recipient-based encrypted source data with the report; and
send the packaged report and recipient-based encrypted source data to the particular recipient;
wherein the method further comprises:
receiving the packaged report and recipient-based encrypted source data from the intermediate reporting device; and
processing the report with the source data decrypted from the recipient-based encrypted source data.

### Claim 20 (depends on 19)

The method as in claim 19, wherein the set of information is received at the intermediate reporting device from a controller device initiating the request to share the source data with the particular recipient.

### Claim 21 (depends on 19)

The method as in claim 19, wherein the set of information is received at the intermediate reporting device from the storage server as encrypted information, the intermediate reporting device configured to decrypt the encrypted information using a private key of the intermediate reporting device to obtain the set of information.

### Claim 22 (depends on 19)

The method as in claim 19, wherein the set of information comprises financial transaction information, and wherein the source data within the recipient-based encrypted source data comprises identity information of an entity that performed the financial transaction.

### Claim 23 (depends on 19)

The method as in claim 19, wherein the report is readable by the particular recipient and the set of information is unseen by the particular recipient.

### Claim 24 (depends on 1)

The method as in claim 1, 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 the 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 an indication that the first data set was successfully processed by the first recipient; and
processing the decrypted source data from the recipient-based encrypted source data based on the indication that the first data set was successfully processed.

### Claim 25 (depends on 1)

The method as in claim 1, 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 the 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; and
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.

### Claim 26 (depends on 25)

The method as in claim 25, further comprising:
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.

### Claim 27 (depends on 25)

The method as in claim 25, further comprising:
processing the decrypted source data from the recipient-based encrypted source data to produce a processed set of data; and
sending the first data set along with the processed set of data to the second recipient to cause the second recipient to process the first data based on processed set of data.

### Claim 28 (depends on 1)

The method as in claim 1, 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 the 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 first recipient, the second data set as the recipient-based encrypted source data after the first data set was successfully processed by the first recipient; and
processing the decrypted source data from the recipient-based encrypted source data based on the first recipient having processed the first set of data.

### Claim 29 (depends on 28)

The method as in claim 28, further comprising:
receiving, from the first recipient, the second data set along with an indication that the first data set was successfully processed by the first recipient; and
processing the decrypted source data from the recipient-based encrypted source data based on the indication that the first data set was successfully processed by the first recipient.

### Claim 30 (depends on 28)

The method as in claim 28, further comprising:
receiving, from the first recipient, the second data set along with a processed set of data produced by the first recipient by processing the first data; and
processing the decrypted source data from the recipient-based encrypted source data based on the processed set of data from the first recipient.

### Claim 31 (depends on 1)

The method as in claim 1, wherein the source data is associated with a hash of the source data, the method further comprising:
receiving the hash as part of the receiver-based encrypted source-data; and
confirming that the source data obtained at the particular recipient is the same as the source data sent from the source based on matching the hash included as part of the receiver-based encrypted source-data to a computed hash of the source data computed by the particular recipient.
