# US 9,519,793 B2 · Secure document repository

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

- Number: US 9,519,793 B2
- Document ID: US9519793B2
- Status: Granted
- Kind: B2
- Application number: 14/339,313
- Filed: 2014-07-23
- Published: 2016-01-28
- Granted: 2016-12-13
- Earliest claimed: 2014-07-23
- Assignees: Bank of America Corporation
- Applicants: Bank of America Corporation
- Inventors: Manu Jacob Kurian
- Web page: https://patentgrep.com/patent/US9519793B2

## CPC

- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/57: Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F 21/645: {using a third party}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/10: {for controlling access to devices or network resources}
- G06F 2221/034: Test or assess a computer or a system
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Embodiments for secure data storage that include systems and methods that receive, from a second system maintained by a second entity, a data payload to be stored by the system; secure the data payload at a first time; store the secured data payload; receive a request for access to the data payload; and provide certification, corresponding to a second time subsequent to the first time, that the data payload has not been altered since the first time.

## Claims

### Claim 1

A system for providing secure data payload storage, whereby the system provides certification of the security of stored data payloads, the system comprising:
a first computer apparatus maintained by a first entity and including a processor and a memory; and a software module stored in the memory, comprising executable instructions that when executed by the processor cause the processor to secure a data payload by a first encryption, thereby resulting in a first secured data payload; and to transmit the first secured data payload to a second computer apparatus; and
a second computer apparatus maintained by a second entity and operatively coupled with the first computer apparatus and including a processor and a memory; and a software module stored in the memory, comprising executable instructions that when executed by the processor cause the processor to:
receive, from the first computer apparatus, the first secured data payload to be stored by the second apparatus;
secure the first secured data payload at a first time by securing the first secured data payload by a second encryption, thereby resulting in a second secured data payload;
store the second secured data payload;
provide access to the second secured data payload to a third party for encryption by a third encryption, thereby resulting in a third secured data payload;
store the third secured data payload;
receive a request for access to the data payload;
provide access to the third secured data payload to the third party for decryption by the third encryption, thereby resulting in the second secured data payload;
decrypt the second secured data payload;
transmit the second secured data payload to the first computer apparatus for decryption of the second secured data payload by the first encryption, thereby resulting in a decrypted data payload;
provide certification, corresponding to a second time subsequent to the first time, that the data payload has not been altered since the first time; and
provide access to the decrypted data payload to the requester.

### Claim 2 (depends on 1)

The system of claim 1, wherein the request is received from a third entity different from the first entity and the second entity, and wherein the certification comprises confirmation that the second entity has not accessed or altered the data payload since the first time.

### Claim 3 (depends on 1)

The system of claim 1, wherein the computer instructions when executed further cause the processor to:
present an interface configured to provide access to the data payload for editing the data payload.

### Claim 4 (depends on 3)

The system of claim 3, wherein the computer instructions when executed further cause the processor to:
provide access to the data payload, at a third time, for editing the data payload resulting in an edited data payload; and
record the third time.

### Claim 5 (depends on 3)

The system of claim 3, wherein the computer instructions when executed further cause the processor to:
storing a second version of the data payload based on the edited data payload.

### Claim 6 (depends on 1)

The system of claim 1, wherein the data payload comprises at least one electronic document.

### Claim 7

A computer program product for providing secure data access, the computer program product comprising:
a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:
first computer readable program code configured to cause a first computer apparatus, when executed, to secure a data payload by a first encryption, thereby resulting in a first secured data payload; and to transmit the first secured data payload to a second computer apparatus;
second computer readable program code configured to cause a second computer apparatus, when executed, to:
receive, from the first computer apparatus, the first secured data payload to be stored by the second apparatus;
secure the first secured data payload at a first time by securing the first secured data payload by a second encryption, thereby resulting in a second secured data payload;
store the second secured data payload;
provide access to the second secured data payload to a third party for encryption by a third encryption, thereby resulting in a third secured data payload;
store the third secured data payload;
receive a request for access to the data payload;
provide access to the third secured data payload to the third party for decryption by the third encryption, thereby resulting in the second secured data payload;
decrypt the second secured data payload;
transmit the second secured data payload to the first computer apparatus for decryption of the second secured data payload by the first encryption, thereby resulting in a decrypted data payload;
provide certification, corresponding to a second time subsequent to the first time, that the data payload has not been altered since the first time; and
provide access to the decrypted data payload to the requester.

### Claim 8 (depends on 7)

The computer program product of claim 7, wherein the request is received from a third entity different from the first entity and the second entity, and wherein the certification comprises confirmation that the second entity has not accessed or altered the data payload since the first time.

### Claim 9 (depends on 7)

The computer program product of claim 7, wherein the computer readable program code is further configured to:
present an interface configured to provide access to the data payload for editing the data payload.

### Claim 10 (depends on 9)

The computer program product of claim 9, wherein the computer readable program code is further configured to:
provide access to the data payload, at a third time, for editing the data payload resulting in an edited data payload; and
record the third time.

### Claim 11

A computer-implemented method for providing secure data access, the method comprising:
securing, by a first computing device processor, a data payload by a first encryption, thereby resulting in a first secured data payload;
transmitting, by the first computing device processor, the first secured data payload to a second computing device processor of a second computer apparatus;
receiving, using a second computing device processor, the first secured data payload to be stored by the second apparatus;
securing, using the second computing device processor, the first secured data payload at a first time by securing the first secured data payload by a second encryption, thereby resulting in a second secured data payload;
storing, using the second computing device processor, the second secured data payload;
providing, using the second computing device processor, access to the second secured data payload to a third party for encryption by a third encryption, thereby resulting in a third secured data payload;
storing, using the second computing device processor, the third secured data payload;
receiving, using the second computing device processor, a request for access to the data payload;
providing, using the second computing device processor, access to the third secured data payload to the third party for decryption by the third encryption, thereby resulting in the second secured data payload;
decrypting, using the second computing device processor, the second secured data payload;
transmitting, using the second computing device processor, the second secured data payload to the first computer apparatus for decryption of the second secured data payload by the first encryption, thereby resulting in a decrypted data payload;
providing certification, using the second computing device processor, corresponding to a second time subsequent to the first time, that the data payload has not been altered since the first time; and
providing, using the second computing device processor, access to the decrypted data payload to the requester.

### Claim 12 (depends on 11)

The method of claim 11, wherein the request is received from a third entity different from the first entity and the second entity, and wherein the certification comprises confirmation that the second entity has not accessed or altered the data payload since the first time.
