# US 12,008,124 B2 · Secure deferred file decryption

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

- Number: US 12,008,124 B2
- Document ID: US12008124B2
- Status: Granted
- Kind: B2
- Application number: 17/242,034
- Filed: 2021-04-27
- Published: 2021-08-12
- Granted: 2024-06-11
- Earliest claimed: 2018-05-11
- Assignees: ARRIS Enterprises LLC
- Applicants: ARRIS Enterprises LLC
- Inventors: Jinsong Zheng; Alexander Medvinsky; Tat Keung Chan; Ting Yao; Jason A. Pasion
- Web page: https://patentgrep.com/patent/US12008124B2

## CPC

- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- H04L 9/0897: {involving additional devices, e.g. trusted platform module [TPM], smartcard or USB}
- G06F 21/40: by quorum, i.e. whereby two or more security principals are required
- G06F 21/46: by designing passwords or checking the strength of passwords
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/6209: {to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself}
- H04L 9/0844: {with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys}
- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- H04L 9/3226: {using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083)}
- 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

A method is provided that permits user to submit a password to the private key that is to be used to decrypt files either at the time of user account setup or at the time of submitting the files. The password is stored securely in the system, permanently or temporarily, and is used later to decrypt the files right before the system is ready to process the files.

## Claims

### Claim 1

A method of deferring decryption and processing of an encrypted file in a device with a data processor, the encrypted file encrypted according to a delivery public key of a delivery key pair and a password of a delivery private key, the delivery key pair comprising the delivery public key and the delivery private key, the method comprising:
receiving the password of the delivery private key;
generating a data package comprising the password of the delivery private key;
encrypting the data package according to a password protection key, the password protection key unique to a processor type; and
storing the encrypted data package and data processing job information referencing the encrypted file as a job record in persistent storage,
verifying the password of the delivery private key after receiving the password and before generating the data package, comprising:
generating random data;
encrypting random data according to the delivery public key;
decrypting the encrypted random data according to the delivery private key and the password of the delivery private key to produce derived random data; and
verifying the password of the delivery private key only if the random data equals the derived random data.

### Claim 2 (depends on 1)

The method of claim 1, wherein:
the generated data package further comprises a system-wide unique job reference, an identifier of the data processor and an expiration time stamp; and
the stored record further comprises the system-wide unique job reference.

### Claim 3 (depends on 1)

The method of claim 1, wherein the password of the delivery private key is encrypted according to a user account password and stored in persistent storage, the encrypted password of the delivery private key stored as a part of an account of a user and separate from accounts of other users.

### Claim 4 (depends on 3)

The method of claim 3, further comprising:
receiving the user account password from a user;
retrieving the password of the delivery private key encrypted by the user account password from persistent storage; and
decrypting encrypted password of the delivery private key according to the user account password to produce the password of the delivery private key.

### Claim 5 (depends on 1)

The method of claim 1, wherein receiving the password of the delivery private key comprises receiving the password of the delivery private key from an operator of the system.

### Claim 6 (depends on 1)

The method of claim 1, wherein:
encrypting the data package according to the password protection key comprises:
encrypting the data package according to a password protection public key of the data processor; and
the method further comprises deleting the password from a system manager memory.

### Claim 7 (depends on 1)

The method of claim 1, wherein:
the password protection key is a symmetric password protection key securely stored in a hardware security module; and
encrypting the data package according to a key comprises:
encrypting the data package in the hardware security module according to the password protection key.

### Claim 8 (depends on 1)

The method of claim 1 where the encrypted data package is retrieved from persistent storage referenced by the data processing job information, and further comprising selectively performing the steps of:
decrypting the encrypted data package to retrieve the password associated with the delivery private key;
retrieving, the delivery private key protected by the password associated with the delivery private key from persistent storage;
recovering the delivery private key using the password associated with the delivery private key;
retrieving the file encrypted according to the delivery public key from persistent storage; and
decrypting the file encrypted according to the delivery public key using the delivery private key.

### Claim 9 (depends on 8)

The method of claim 8, wherein:
the generated data package further comprises a system-wide unique job reference, an identifier of the data processor and an expiration time stamp;
the stored record further comprises the system wide unique job reference;
decrypting the encrypted data package further retrieves the system wide unique job reference, the identifier of the data processor and the expiration time stamp and the password associated with the delivery private key; and wherein
the steps of claim 8 are selectively performed only if the system wide unique job reference matches the system wide unique job reference of the job record, the identifier of the data processor matches an identifier of the data processor, and the expiration time stamp is not in the past, otherwise scrubbing the password associated with the delivery private key and terminating processing.

### Claim 10 (depends on 8)

The method of claim 8, wherein:
encrypting the data package according to a password protection key comprises:
encrypting the data package according to a password protection public key of the data processor; and
decrypting the encrypted data package to retrieve the password associated with the delivery private key comprises:
decrypting the encrypted data package in a hardware security module [HSM] using a password protection private key securely stored in the hardware security module.

### Claim 11 (depends on 8)

The method of claim 8, wherein:
the password protection key is a symmetric password protection key securely stored in a hardware security module; and
encrypting the data package according to the password protection key comprises:
encrypting the data package in the hardware security module according to the password protection key;
decrypting the encrypted data package to retrieve the password associated with the delivery private key comprises:
decrypting the encrypted data package in the hardware security module using the password protection key securely stored in the hardware security module [HSM].

### Claim 12

An apparatus for deferring decryption and processing of an encrypted file, encrypted according to a delivery public key of a delivery key pair and a password of a delivery private key, the delivery key pair comprising the delivery public key and the delivery private key, the apparatus comprising:
a first processor;
a first memory, communicatively coupled to the first processor, the first memory storing first processor instructions including first processor instructions for:
receiving the password of the delivery private key;
generating a data package comprising the password of the delivery private key;
encrypting the data package according to a password protection key, the password protection key unique to a processor type; and
storing the encrypted data package and data processing job information referencing the encrypted file as a job record in persistent storage;
verifying the password of the delivery private key after receiving the password and before generating the data package, comprising:
generating random data;
encrypting random data according to the delivery public key;
decrypting the encrypted random data according to the delivery private key and the password of the delivery private key to produce derived random data; and
verifying the password of the delivery private key only if the random data equals the derived random data.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein:
the generated data package further comprises a system-wide unique job reference, an identifier of a second processor processing the file and an expiration time stamp; and
the stored record further comprises the system-wide unique job reference.

### Claim 14 (depends on 12)

The apparatus of claim 12, wherein the first processor instructions further comprise first processor instructions for:
verifying the password of the delivery private key after receiving the password and before generating the data package, comprising first processor instructions for:
generating random data;
encrypt random data according to the delivery public key;
decrypting the encrypted random data according to the delivery private key and the password of the delivery private key to produce derived random data; and
verifying the password of the delivery private key only if the random data equals the derived random data.

### Claim 15 (depends on 12)

The apparatus of claim 12, wherein the password of the delivery private key is encrypted according to a user account password and stored in persistent storage, the encrypted password of the delivery private key stored as a part of an account of a user and separate from accounts of other users.

### Claim 16 (depends on 15)

The apparatus of claim 15, wherein the first processor instructions further comprise first processor instructions for:
receiving the user account password from a user;
retrieving the password of the delivery private key encrypted by the user account password from persistent storage; and
decrypting encrypted password of the delivery private key according to the UAP to produce the password of the delivery private key.

### Claim 17 (depends on 12)

The apparatus of claim 12, wherein the first processor instructions for receiving the password of the delivery private key comprises first processor instructions for receiving the password of the delivery private key from an operator of the first processor.

### Claim 18 (depends on 12)

The apparatus of claim 12, wherein:
the first processor instructions for encrypting the data package according to the password protection key comprise first processor instructions for:
encrypting the data package according to a password protection public key of a second processor; and
the first processor instructions further comprise first processor instructions for deleting the password from a system manager memory.

### Claim 19 (depends on 12)

The apparatus of claim 12, further comprising:
a second processor communicatively coupled to a second memory storing second processor instructions comprising second processor instructions for:
retrieving the encrypted data package from persistent storage referenced by the data processing job information;
decrypting the encrypted data package to retrieve the password associated with the delivery private key;
retrieving, the delivery private key protected by the password associated with the delivery private key from persistent storage;
recovering the delivery private key using the password associated with the delivery private key;
retrieving the file encrypted according to the delivery public key from persistent storage; and
decrypting the file encrypted according to the delivery public key using the delivery private key.
