IP Library Granted Patent US 8,984,274
Granted Patent B1
US 8,984,274 · App. 13/916,726 · Granted Mar 17, 2015

Secure data updates

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 8,984,274
App. No.
13/916,726
Granted
Mar 17, 2015
Kind
B1
Abstract

In one implementation, actions may include generating a first key for encryption of data and a second key for encryption of connection parameters. The connection parameters may enable the client device to establish a connection to an update server. Further actions may include encrypting the connection parameters using the second key and providing the first key and the second key to the update server. Additional actions may include storing the first key on the client device, receiving, at the client device, a notification of an update that includes the second key, decrypting the encrypted connection parameters using the received second key, and connecting to the update server using the decrypted connection parameters. Actions may further include providing a request for the update to the update server, receiving data encrypted using the first key in response, and decrypting the encrypted data using the first key.

Claims (75)

1. A non-transitory computer-readable medium storing instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

generating, at a client device, a first key for encryption of data and a second key for encryption of connection parameters, wherein the connection parameters enable the client device to establish a connection to an update server;

encrypting, at the client device, the connection parameters using the second key;

providing the first key and the second key to the update server;

after providing the first key and the second key to the update server, preventing the client device from accessing the second key until the client device receives a notification of an update that includes the second key;

storing the first key on the client device;

receiving, at the client device, the notification of the update, the notification including the second key;

decrypting, at the client device, the encrypted connection parameters using the received second key;

connecting to the update server using the decrypted connection parameters;

providing a request for the update to the update server;

receiving, at the client device, data encrypted using the first key in response to providing the request to the update server; and

decrypting, at the client device, the encrypted data using the first key.

2. The medium of claim 1 , wherein the operations further comprise:

wherein, storing the first key comprises storing the first key as data that is not accessible while the client device is in a locked mode; and

wherein decrypting the encrypted data comprises decrypting the encrypted data after the client device exits the locked mode.

3. The medium of claim 1 , wherein receiving the notification of the update comprises:

receiving the notification of the update from a notification server that is different from the update server.

4. The medium of claim 1 , wherein generating the first key and the second key comprises:

generating, for the first key, a first advanced encryption standard (AES) key and a first initialization vector; and

generating, for the second key, a second AES key and a second initialization vector.

5. The medium of claim 1 , wherein encrypting the connection parameters comprises:

encrypting connection parameters comprising a uniform resource locator (URL) address for the update server and credentials for the client device to receive authorization to access the update server.

6. A computer-implemented method comprising:

generating, at a client device, a first key for encryption of data and a second key for encryption of connection parameters, wherein the connection parameters enable the client device to establish a connection to an update server;

encrypting, at the client device, the connection parameters using the second key;

providing the first key and the second key to the update server;

after providing the first key and the second key to the update server, preventing the client device from accessing the second key until the client device receives a notification of an update that includes the second key;

storing the first key on the client device;

receiving, at the client device, the notification of the update, the notification including the second key;

decrypting, at the client device, the encrypted connection parameters using the received second key;

connecting to the update server using the decrypted connection parameters;

providing a request for the update to the update server;

receiving, at the client device, data encrypted using the first key in response to providing the request to the update server; and

decrypting, at the client device, the encrypted data using the first key.

7. The method of claim 6 , wherein:

storing the first key comprises storing the first key as data that is not accessible while the client device is in a locked mode; and

decrypting the encrypted data comprises decrypting the encrypted data after the client device exits the locked mode.

8. The method of claim 6 , wherein receiving the notification of the update comprises:

receiving the notification of the update from a notification server that is different from the update server.

9. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

generating, at a client device, a first key for encryption of data and a second key for encryption of connection parameters, wherein the connection parameters enable the client device to establish a connection to an update server;

encrypting, at the client device, the connection parameters using the second key;

providing the first key and the second key to the update server;

after providing the first key and the second key to the update server, preventing the client device from accessing the second key until the client device receives a notification of an update that includes the second key;

storing the first key on the client device;

receiving, at the client device, the notification of the update, the notification including the second key;

decrypting, at the client device, the encrypted connection parameters using the received second key;

connecting to the update server using the decrypted connection parameters;

providing a request for the update to the update server;

receiving, at the client device, data encrypted using the first key in response to providing the request to the update server; and

decrypting, at the client device, the encrypted data using the first key.

10. The system of claim 9 , wherein:

storing the first key comprises storing the first key as data that is not accessible while the client device is in a locked mode; and

decrypting the encrypted data comprises decrypting the encrypted data after the client device exits the locked mode.

11. The system of claim 9 , wherein receiving the notification of the update comprises:

receiving the notification of the update from a notification server that is different from the update server.

12. A non-transitory computer-readable medium storing instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

generating, at a client device, a first key for encryption of data and a second key for encryption of connection parameters, wherein the connection parameters enable the client device to establish a connection to an update server;

encrypting, at the client device, the connection parameters using the second key;

providing the first key and the second key to the update server;

storing the first key on the client device as data that is not accessible while the client device is in a locked mode;

receiving, at the client device, a notification of an update, the notification including the second key;

decrypting, at the client device, the encrypted connection parameters using the received second key;

connecting to the update server using the decrypted connection parameters;

providing a request for the update to the update server;

receiving, at the client device, data encrypted using the first key in response to providing the request to the update server; and

decrypting, at the client device, the encrypted data using the first key after the client device exits the locked mode.

13. The medium of claim 12 , wherein receiving the notification of the update comprises:

receiving the notification of the update from a notification server that is different from the update server.

14. The medium of claim 12 , wherein generating the first key and the second key comprises:

generating, for the first key, a first advanced encryption standard (AES) key and a first initialization vector; and

generating, for the second key, a second AES key and a second initialization vector.

15. The medium of claim 12 , wherein encrypting the connection parameters comprises:

encrypting connection parameters comprising a uniform resource locator (URL) address for the update server and credentials for the client device to receive authorization to access the update server.

Assignments (4)
CHANGE OF NAME Recorded Sep 19, 2025
From: MICROSTRATEGY INCORPORATED
To: STRATEGY INC
Reel/Frame 072909/0870 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT REEL/FRAME: 056647/0687, REEL/FRAME: 057435/0023, REEL/FRAME: 059256/0247, REEL/FRAME: 062794/0255 AND REEL/FRAME: 066663/0713 Recorded Sep 26, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS SUCCESSOR IN INTEREST TO U.S. BANK NATIONAL ASSOCIATION, IN ITS CAPACITY AS COLLATERAL AGENT FOR THE SECURED PARTIES
To: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
Reel/Frame 069065/0539 →
SECURITY INTEREST Recorded Jun 22, 2021
From: MICROSTRATEGY INCORPORATED
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 056647/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2013
From: KERZNER, DANIEL; BERMAN, TERRY; DU, YI; DAMANI, SHRIMOHAN
To: MICROSTRATEGY INCORPORATED
Reel/Frame 030913/0038 →