IP Library Granted Patent US 11,316,840
Granted Patent B2
US 11,316,840 · App. 16/850,766 · Granted Apr 26, 2022

System and method of utilizing remote information handling systems to securely store files

Inventor: Brandon Grooters (Frisco, TX)
Assignee: Dell Products L.P.
H04L63/0435G06F9/45533G06F16/986H04L9/0643H04L9/085
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,316,840
App. No.
16/850,766
Granted
Apr 26, 2022
Kind
B2
Abstract

In one or more embodiments, one or more systems, one or more methods, and/or one or more processes may: receive, by a first information handling system (IHS), one or more client files of a web application; receive a binary module; populate a document object model (DOM) with content of the web application; receive first user input via a first node of the DOM; receive an encrypted file and a first portion of a symmetric encryption key from a second IHS; receive second user input via a second node of the DOM; execute a binary module; provide the second user input to the binary module; determine a second portion of the symmetric encryption key based at least on the second user input; combine the first and second portions of the symmetric encryption key to obtain the symmetric encryption key; and decrypt the encrypted file to obtain the file.

Claims (98)

1. An information handling system, comprising:

at least one processor; and

a memory medium, coupled to the at least one processor, that stores instructions executable by the at least one processor, which when executed by the at least one processor, cause the information handling system to:

receive, by a browser executed by the information handling system, one or more client files of a web application via a network;

receive, by the browser, a binary module via the network;

populate, by the browser, a document object model of the browser with content of the web application;

receive, by the browser, first user input via a first node of the document object model;

in response to receiving the first user input, request, by the browser, an encrypted file and a first portion of a symmetric encryption key from another information handling system via the network;

receive, by the browser, the encrypted file and the first portion of the symmetric encryption key from the other information handling system via the network;

receive, by the browser, second user input via a second node of the document object model;

in response to receiving the second user input, execute, by the browser, the binary module;

provide, by the browser, the second user input to the binary module;

determine, by the binary module, a second portion of the symmetric encryption key based at least on the second user input;

combine, by the binary module, the first portion of the symmetric encryption key and the second portion of the symmetric encryption key to obtain the symmetric encryption key; and

decrypt, by the binary module, the encrypted file with the symmetric encryption key to obtain the file.

2. The information handling system of claim 1 , wherein, to execute the binary module, the instructions further cause the information handling system to execute a virtual machine of the browser to execute the binary module.

3. The information handling system of claim 1 , wherein the instructions further cause the information handling system to:

receive, by the browser, the second user input via a third node of the document object model;

in response receiving the second user input:

create, by the binary module, the first portion of the symmetric encryption key; and

create, by the binary module, the second portion of the symmetric encryption key based at least on the second user input; and

provide the first portion of the symmetric encryption key to the other information handling system via the network.

4. The information handling system of claim 3 ,

wherein the second portion of the symmetric encryption key includes a hash value; and

wherein, to create the second portion of the symmetric encryption key, the instructions further cause the information handling system to:

combine the second user input with salt data to obtain a combination of the second user input and the salt data; and

determine the hash value based at least on the combination of the second user input and the salt data.

5. The information handling system of claim 1 , wherein the instructions further cause the information handling system to:

create the file;

encrypt, by the binary module, the file, utilizing the symmetric encryption key and a symmetric encryption process, to produce the encrypted file; and

provide the encrypted file and the first portion of the symmetric encryption key to the other information handling system via the network.

6. The information handling system of claim 1 , wherein the one or more client files of the web application include one or more of a script, a graphic, and Hypertext Markup Language (HTML) content.

7. The information handling system of claim 1 ,

wherein the second portion of the symmetric encryption key includes a hash value; and

wherein, to determine the second portion of the symmetric encryption key based at least on the second user input, the instructions further cause the information handling system to determine, by the binary module, the hash value based at least on the second user input.

8. A method, comprising:

receiving, by a browser executed by a first information handling system, one or more client files of a web application via a network;

receiving, by the browser, a binary module via the network;

populating, by the browser, a document object model of the browser with content of the web application;

receiving, by the browser, first user input via a first node of the document object model;

in response to the receiving the first user input, requesting, by the browser, an encrypted file and a first portion of a symmetric encryption key from a second information handling system via the network;

receiving, by the browser, the encrypted file and the first portion of the symmetric encryption key from the second information handling system via the network;

receiving, by the browser, second user input via a second node of the document object model;

in response to the receiving the second user input, executing, by the browser, the binary module;

providing, by the browser, the second user input to the binary module;

determining, by the binary module, a second portion of the symmetric encryption key based at least on the second user input;

combining, by the binary module, the first portion of the symmetric encryption key and the second portion of the symmetric encryption key to obtain the symmetric encryption key; and

decrypting, by the binary module, the encrypted file with the symmetric encryption key to obtain the file.

9. The method of claim 8 , wherein the executing the binary module includes a virtual machine of the browser executing the binary module.

10. The method of claim 8 , further comprising:

receiving, by the browser, the second user input via a third node of the document object model;

in response the receiving the second user input:

creating, by the binary module, the first portion of the symmetric encryption key; and

creating, by the binary module, the second portion of the symmetric encryption key based at least on the second user input; and

providing, by the first information handling system, the first portion of the symmetric encryption key to the second information handling system via the network.

11. The method of claim 10 ,

wherein the second portion of the symmetric encryption key includes a hash value; and

wherein the creating the second portion of the symmetric encryption key includes:

combining the second user input with salt data to obtain a combination of the second user input and the salt data; and

determining the hash value based at least on the combination of the second user input and the salt data.

12. The method of claim 8 , further comprising:

creating, by the first information handling system, the file;

encrypting, by the binary module, the file, utilizing the symmetric encryption key and a symmetric encryption process, to produce the encrypted file; and

providing, by the first information handling system, the encrypted file and the first portion of the symmetric encryption key to the second information handling system via the network.

13. The method of claim 8 , wherein the one or more client files of the web application include one or more of a script, a graphic, and Hypertext Markup Language (HTML) content.

14. The method of claim 8 ,

wherein the second portion of the symmetric encryption key includes a hash value; and

wherein the determining the second portion of the symmetric encryption key based at least on the second user input includes determining, by the binary module, the hash value based at least on the second user input.

15. A computer-readable non-transitory memory medium that includes instructions that, when executed by at least one processor of an information handling system, cause the information handling system to:

receive, by a browser executed by the information handling system, one or more client files of a web application via a network;

receive, by the browser, a binary module via the network;

populate, by the browser, a document object model of the browser with content of the web application;

receive, by the browser, first user input via a first node of the document object model;

in response to receiving the first user input, request, by the browser, an encrypted file and a first portion of a symmetric encryption key from another information handling system via the network;

receive, by the browser, the encrypted file and the first portion of the symmetric encryption key from the other information handling system via the network;

receive, by the browser, second user input via a second node of the document object model;

in response to receiving the second user input, execute, by the browser, the binary module;

provide, by the browser, the second user input to the binary module;

determine, by the binary module, a second portion of the symmetric encryption key based at least on the second user input;

combine, by the binary module, the first portion of the symmetric encryption key and the second portion of the symmetric encryption key to obtain the symmetric encryption key; and

decrypt, by the binary module, the encrypted file with the symmetric encryption key to obtain the file.

16. The computer-readable non-transitory memory medium of claim 15 , wherein, to execute the binary module, the instructions further cause the information handling system to execute a virtual machine of the browser to execute the binary module.

17. The computer-readable non-transitory memory medium of claim 15 , wherein the instructions further cause the information handling system to:

receive, by the browser, the second user input via a third node of the document object model;

in response receiving the second user input:

create, by the binary module, the first portion of the symmetric encryption key; and

create, by the binary module, the second portion of the symmetric encryption key based at least on the second user input; and

provide the first portion of the symmetric encryption key to the other information handling system via the network.

18. The computer-readable non-transitory memory medium of claim 17 ,

wherein the second portion of the symmetric encryption key includes a hash value; and

wherein, to create the second portion of the symmetric encryption key, the instructions further cause the information handling system to:

combine the second user input with salt data to obtain a combination of the second user input and the salt data; and

determine the hash value based at least on the combination of the second user input and the salt data.

19. The computer-readable non-transitory memory medium of claim 15 , wherein the instructions further cause the information handling system to:

create the file;

encrypt, by the binary module, the file, utilizing the symmetric encryption key and a symmetric encryption process, to produce the encrypted file; and

provide the encrypted file and the first portion of the symmetric encryption key to the other information handling system via the network.

20. The computer-readable non-transitory memory medium of claim 15 , wherein the one or more client files of the web application include one or more of a script, a graphic, and Hypertext Markup Language (HTML) content.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2020
From: GROOTERS, BRANDON
To: DELL PRODUCTS L.P.
Reel/Frame 052420/0530 →
Continuity (1)
Related Publication 20210328974A1 · Oct 21, 2021
Cited By (1)
US 12,261,934