# US 10,374,801 B2 · File security tool

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

- Number: US 10,374,801 B2
- Document ID: US10374801B2
- Status: Granted
- Kind: B2
- Application number: 15/650,278
- Filed: 2017-07-14
- Published: 2019-01-17
- Granted: 2019-08-06
- Earliest claimed: 2017-07-14
- Assignees: Bank of America Corporation
- Applicants: Bank of America Corporation
- Inventors: Manu J. Kurian; Monika V. Kapur
- Web page: https://patentgrep.com/patent/US10374801B2

## CPC

- H04L 9/14: using a plurality of keys or algorithms
- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- H04L 9/0816: {Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use}
- H04L 9/3255: {using group based signatures, e.g. ring or threshold signatures}
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 2221/2107: File encryption
- 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)

## Abstract

An apparatus includes a tokenizer and a validator. The tokenizer divides a file into first, second, and third portions. The tokenizer also encrypts the first, second, and third portions using a first key to produce first, second, and third tokens. The validator receives a fourth token with a signature of a first user and receives a fifth token with a signature of a second user. The validator also combines the first token, the fourth token, and the fifth token to produce a second key and determines whether the second key matches the first key. If the second key does not match the first key, the validator communicates an alert indicating that the first key does not match the second key. If the second key does match the first key, the validator decrypts first, fourth, and fifth tokens to reproduce the file.

## Claims

### Claim 1

An apparatus comprising:
a memory; and
a hardware processor communicatively coupled to the memory, the hardware processor configured to:
divide a file into a first portion, a second portion, and a third portion, the file comprises a first part, a second part, a third part, a fourth part, and a fifth part in sequential order, the first portion comprises the first part and the third part, the second portion comprises the second part and the fifth part, the third portion comprises the fourth part;
encrypt the first portion using a first key to produce a first token;
encrypt the second portion using the first key to produce a second token;
encrypt the third portion using the first key to produce a third token;
communicate the second token to a first user;
communicate the third token to a second user;
receive a fourth token with a signature of the first user;
receive a fifth token with a signature of the second user;
combine the first token, the fourth token, and the fifth token to produce a second key;
determine whether the second key matches the first key;
if the second key does not match the first key, communicate an alert indicating that the first key does not match the second key; and
if the second key does match the first key, decrypt first, fourth, and fifth tokens to reproduce the file.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the hardware processor is further configured to determine that at least one of the signature of the first user and the signature of the second user was forged if the second key does not match the first key.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the hardware processor is further configured to translate the file into a selected language.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the hardware processor is further configured to select the second user based on a security risk profile of the second user.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein the hardware processor is further configured to determine that an age of the first user is below a threshold.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the hardware processor is further configured to add null data into the file before dividing the file.

### Claim 7

A method comprising:
dividing a file into a first portion, a second portion, and a third portion, the file comprises a first part, a second part, a third part, a fourth part, and a fifth part in sequential order, the first portion comprises the first part and the third part, the second portion comprises the second part and the fifth part, the third portion comprises the fourth part;
encrypting the first portion using a first key to produce a first token;
encrypting the second portion using the first key to produce a second token;
encrypting the third portion using the first key to produce a third token;
communicating the second token to a first user;
communicating the third token to a second user;
receiving a fourth token with a signature of the first user;
receiving a fifth token with a signature of the second user;
combining the first token, the fourth token, and the fifth token to produce a second key;
determining whether the second key matches the first key;
if the second key does not match the first key, communicating an alert indicating that the first key does not match the second key; and
if the second key does match the first key, decrypting first, fourth, and fifth tokens to reproduce the file.

### Claim 8 (depends on 7)

The method of claim 7, further comprising determining that at least one of the signature of the first user and the signature of the second user was forged if the second key does not match the first key.

### Claim 9 (depends on 7)

The method of claim 7, further comprising translating the file into a selected language.

### Claim 10 (depends on 7)

The method of claim 7, further comprising selecting the second user based on a security risk profile of the second user.

### Claim 11 (depends on 7)

The method of claim 7, further comprising determining that an age of the first user is below a threshold.

### Claim 12 (depends on 7)

The method of claim 7, further comprising adding null data into the file before dividing the file.

### Claim 13

A system comprising:
a device of a first user; and
a file security tool comprising a hardware processor, the hardware processor configured to:
divide a file into a first portion, a second portion, and a third portion, the file comprises a first part, a second part, a third part, a fourth part, and a fifth part in sequential order, the first portion comprises the first part and the third part, the second portion comprises the second part and the fifth part, the third portion comprises the fourth part;
encrypt the first portion using a first key to produce a first token;
encrypt the second portion using the first key to produce a second token;
encrypt the third portion using the first key to produce a third token;
communicate the second token to the first user;
communicate the third token to a second user;
receive, from the device, a fourth token with a signature of the first user;
receive a fifth token with a signature of a second user;
combine the first token, the fourth token, and the fifth token to produce a second key;
determine whether the second key matches the first key;
if the second key does not match the first key, communicate an alert indicating that the first key does not match the second key; and
if the second key does match the first key, decrypt first, fourth, and fifth tokens to reproduce the file.

### Claim 14 (depends on 13)

The system of claim 13, wherein the hardware processor is further configured to determine that at least one of the signature of the first user and the signature of the second user was forged if the second key does not match the first key.

### Claim 15 (depends on 13)

The system of claim 13, wherein the hardware processor is further configured to translate the file into a selected language.

### Claim 16 (depends on 13)

The system of claim 13, wherein the hardware processor is further configured to select the second user based on a security risk profile of the second user.

### Claim 17 (depends on 13)

The system of claim 13, wherein the hardware processor is further configured to determine that an age of the first user is below a threshold.

### Claim 18 (depends on 13)

The system of claim 13, wherein the hardware processor is further configured to add null data into the file before dividing the file.
