IP Library Granted Patent US 11,176,262
Granted Patent B2
US 11,176,262 · App. 16/277,748 · Granted Nov 16, 2021

Secure cloaking of data

Inventors: James Anderson Blackley (Rockville Center, NY); Jay Eric Carlson (Weldon Springs, MO); Michael David Hanrahan (Chesterfield, MO); Bajeed Pattan (Ballwin, MO); Christopher Scott Alcott (Manchester, MO)
Assignee: Charter Communications Operating, LLC
G06F21/6209G06F21/602G06F21/78G06F2221/2107
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,176,262
App. No.
16/277,748
Granted
Nov 16, 2021
Kind
B2
Abstract

In a method for providing secure data storage, a user interface is provided to a user, and a user selection of a plurality of cloaking sequences is received via the user interface. The cloaking sequences include at least a first and second cloaking sequence. The method also includes cloaking data (e.g., one or more files). Cloaking the data includes retrieving a first hidden sequence associated with the first cloaking sequence, and retrieving a second hidden sequence associated with the second cloaking sequence. The second hidden sequence includes an ordered sequence of bit sets each including one or more bits. Cloaking the data also includes using the first hidden sequence to identify offset positions within the data, and using the ordered sequence of bit sets to perform one or more operations on the data at the identified offset positions. The method further includes storing the cloaked data in a database.

Claims (65)

1. A method for providing secure data storage, the method comprising:

providing a user interface to a user;

receiving, via the user interface, a user selection of a plurality of cloaking sequences, wherein the plurality of cloaking sequences includes at least (i) a first cloaking sequence and (ii) a second cloaking sequence;

cloaking data, wherein cloaking the data includes

retrieving a first hidden sequence associated with the first cloaking sequence,

retrieving a second hidden sequence associated with the second cloaking sequence, the second hidden sequence including an ordered sequence of bit sets each including one or more bits,

using the first hidden sequence to identify offset positions within the data, and

modifying the data at the identified offset positions by using the ordered sequence of bit sets to perform one or more operations on the data at the identified offset positions; and

storing the cloaked data in a database.

2. The method of claim 1 , wherein using the ordered sequence of bit sets to perform one or more operations on the data at the identified offset positions includes, at each of the identified offset positions within the data, inserting a respective one of the bit sets.

3. The method of claim 2 , wherein:

the first hidden sequence includes at least a first integer followed by a second integer;

the second hidden sequence includes at least a first bit set followed by a second bit set; and

using the ordered sequence of bit sets to perform one or more operations on the data at the identified offset positions includes

inserting the first bit set immediately after a first number of bits of the data, the first number being equal to the first integer, and

inserting the second bit set immediately after a second number of bits of the data, the second number of bits of the data immediately following the inserted first bit set, and the second number being equal to the second integer.

4. The method of claim 1 , wherein using the ordered sequence of bit sets to perform one or more operations on the data at the identified offset positions includes, at each of the identified offset positions within the data:

determining whether the data includes a bit pattern that matches a respective one of the bit sets; and

removing the bit pattern from the data only if the bit pattern matches the respective one of the bit sets.

5. The method of claim 1 , wherein receiving the user selection of the plurality of cloaking sequences includes receiving a user selection of a plurality of image sequences.

6. The method of claim 1 , further comprising:

prior to cloaking the data, converting the data to a binary format.

7. The method of claim 1 , wherein the data is stored in the database prior to cloaking the data, and wherein the method further comprises:

prior to cloaking the data, uncloaking the data using a plurality of other cloaking sequences, the plurality of other cloaking sequences corresponding to a previous user selection.

8. The method of claim 1 , wherein the data is stored in the database prior to cloaking the data, and wherein the method further comprises:

prior to cloaking the data, uncloaking the data using a plurality of other hidden sequences, the plurality of other hidden sequences being previously associated with the plurality of cloaking sequences.

9. The method of claim 1 , wherein the plurality of cloaking sequences further includes a third cloaking sequence, and wherein cloaking the data further includes:

retrieving a third hidden sequence associated with the third cloaking sequence, the third hidden sequence including an additional ordered sequence of bit sets each including one or more bits; and

after using the ordered sequence of bit sets to perform one or more operations on the data at the identified offset positions, (i) using the first hidden sequence to identify offset positions within the data, and (ii) using the additional ordered sequence of bit sets to perform one or more operations on the data at the identified offset positions.

10. The method of claim 1 , wherein receiving the user selection of the plurality of cloaking sequences includes:

receiving, via the user interface, a user request to automatically generate cloaking sequences; and

automatically generating the plurality of cloaking sequences in response to the user request.

11. The method of claim 1 , further comprising:

receiving a user selection of a master key;

after storing the cloaked data in the database, receiving a user entry of the master key;

after receiving the user entry of the master key, uncloaking the cloaked data using at least the first cloaking sequence and the second cloaking sequence; and

displaying at least a portion of the uncloaked data to the user.

12. The method of claim 1 , wherein cloaking the data includes:

requesting, from a server, hidden sequences associated with the first cloaking sequence and the second cloaking sequence; and

in response to requesting the hidden sequences, receiving the first hidden sequence and the second hidden sequence from the server.

13. The method of claim 1 , further comprising:

receiving, via the user interface, a user indication of an additional user to whom limited access to the data is to be provided; and

transmitting, to the additional user, a key that enables uncloaking the data only a fixed number of times.

14. The method of claim 1 , further comprising:

receiving, via the user interface, a user selection of an option to only partially cloak the data,

wherein using the first hidden sequence to identify offset positions within the data includes (i) identifying a subset of the data that is to be cloaked, and (ii) using the first hidden sequence to identify offset positions within the subset of the data.

15. A non-transitory, computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:

provide a user interface to a user;

receive, via the user interface, a user selection of a plurality of cloaking sequences, wherein the plurality of cloaking sequences includes at least (i) a first cloaking sequence and (ii) a second cloaking sequence;

cloak data, at least in part by

retrieving a first hidden sequence associated with the first cloaking sequence,

retrieving a second hidden sequence associated with the second cloaking sequence, the second hidden sequence including an ordered sequence of bit sets each including one or more bits,

using the first hidden sequence to identify offset positions within the data, and

modifying the data at the identified offset positions by using the ordered sequence of bit sets to perform one or more operations on the data at the identified offset positions; and

store the cloaked data in a database.

16. The non-transitory, computer-readable medium of claim 15 , wherein using the ordered sequence of bit sets to perform one or more operations on the data at the identified offset positions includes, at each of the identified offset positions within the data, inserting a respective one of the bit sets.

17. The non-transitory, computer-readable medium of claim 15 , wherein using the ordered sequence of bit sets to perform one or more operations on the data at the identified offset positions includes, at each of the identified offset positions within the data:

determining whether the data includes a bit pattern that matches a respective one of the bit sets; and

removing the bit pattern from the data only if the bit pattern matches the respective one of the bit sets.

18. The non-transitory, computer-readable medium of claim 15 , wherein the plurality of cloaking sequences includes a plurality of image sequences.

19. The non-transitory, computer-readable medium of claim 15 , wherein the data is stored in the database prior to cloaking the data, and wherein the instructions further cause the one or more processors to:

prior to cloaking the data, uncloak the data using a plurality of other hidden sequences, the plurality of other hidden sequences being previously associated with the plurality of cloaking sequences.

20. The non-transitory, computer-readable medium of claim 15 , wherein the instructions cause the one or more processors to cloak the data in part by:

requesting, from a server, hidden sequences associated with the first cloaking sequence and the second cloaking sequence; and

in response to requesting the hidden sequences, receiving the first hidden sequence and the second hidden sequence from the server.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY ASSIGNMENT PREVIOUSLY RECORDED ON REEL 051433 FRAME 0654. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Mar 4, 2020
From: TIME WARNER CABLE ENTERPRISES, LLC; CHARTER COMMUNICATIONS OPERATING, LLC
To: WELLS FARGO TRUST COMPANY, N.A.
Reel/Frame 052091/0071 →
SECURITY INTEREST Recorded Dec 27, 2019
From: TIME WARNER CABLE ENTERPRISES, LLC; CHARTER COMMUNICATIONS OPERATING, LLC
To: WELLS FARGO TRUST COMPANY, N.A.
Reel/Frame 051433/0654 →
SECURITY INTEREST Recorded Dec 4, 2019
From: TIME WARNER CABLE ENTERPRISES, LLC; CHARTER COMMUNICATIONS OPERATING, LLC; BRIGHT HOUSE NETWORKS, LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 051287/0057 →
SECURITY INTEREST Recorded Dec 4, 2019
From: CHARTER COMMUNICATIONS OPERATING, LLC; TIME WARNER CABLE ENTERPRISES, LLC; BRIGHT HOUSE NETWORKS, LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 051287/0087 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2019
From: BLACKLEY, JAMES ANDERSON; CARLSON, JAY ERIC; HANRAHAN, MICHAEL DAVID; PATTAN, BAJEED; ALCOTT, CHRISTOPHER SCOTT
To: CHARTER COMMUNICATIONS OPERATING, LLC
Reel/Frame 048683/0628 →
Continuity (1)
Related Publication 20200265151A1 · Aug 20, 2020