IP Library Granted Patent US 9,729,315
Granted Patent B2
US 9,729,315 · App. 14/791,198 · Granted Aug 8, 2017

Initialization and registration of an application

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 9,729,315
App. No.
14/791,198
Granted
Aug 8, 2017
Kind
B2
Abstract

A public/private key pair is generated on a client device for an application. A device identifier for the client device is generated. An application identifier for the application is generated on the client device. At least one of the public key, the device identifier, and the application identifier are transmitted to a server.

Claims (51)

1. A system, comprising:

a processor configured to:

generate a public/private key pair for an application on a first device;

generate a random server seed and a random local seed;

generate a device identifier for the first device;

generate an application identifier for the application on the first device, wherein

the application identifier is a unique identifier for a particular installation of the application on the first device;

provide at least one of the public key, the device identifier, and the application identifier to a server;

generate a plurality of symmetric keys based on at least one of the random server seed and the random local seed, wherein the plurality of symmetric keys are used to encrypt communications with a second device; and

exchange encrypted communications with the second device, wherein at least one of the device identifier and the application identifier is used to decrypt a portion of the encrypted communications received from the second device; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system of claim 1 , wherein the processor is further configured to:

obtain the application from a software distribution server;

install the application on the first device.

3. The system of claim 2 , wherein the software distribution server is a third-party distribution server.

4. The system of claim 1 , wherein the processor is further configured to:

capture hardware information regarding the first device;

perform a hash on at least a portion of the captured hardware information to create the device identifier.

5. The system of claim 4 , wherein the hardware information is selected from the group consisting of: MAC addresses, motherboard identifiers; CPU identifiers, hard drive identifiers, random access memory (RAM), cache, and controller cards.

6. A method, comprising:

generating, using a first device, a public/private key pair for an application on the first device;

generating, using the first device, a random server seed and a random local seed;

generating, using the first device, a device identifier for the first device;

generating, using the first device, an application identifier for the application on the first device, wherein the application identifier is a unique identifier for a particular installation of the application on the first device;

providing, from the first device, at least one of the public key, the device identifier, and the application identifier to a server;

generating, using the first device, a plurality of symmetric keys based on at least one of the random server seed and the random local seed, wherein the plurality of symmetric keys are used to encrypt communications with a second device; and

exchanging encrypted communications with the second device, wherein at least one of the device identifier and the application identifier is used to decrypt a portion of the encrypted communications received from the second device.

7. The method of claim 6 , further comprises:

obtaining, at the first device, the application from a software distribution server;

installing the application on the first device.

8. The method of claim 7 , wherein the software distribution server is a third-party distribution server.

9. The method of claim 6 , wherein creating the device identifier further comprises:

capturing hardware information regarding the first device;

performing a hash on at least a portion of the captured hardware information to create the device identifier.

10. The method of claim 9 , wherein the hardware information is selected from the group consisting of: MAC addresses, motherboard identifiers; CPU identifiers, hard drive identifiers, random access memory (RAM), cache, and controller cards.

11. A computer program product embodied in a tangible computer readable storage medium and comprising computer instructions for:

generating a public/private key pair for an application on a first device;

generating a random server seed and a random local seed;

generating a device identifier for the first device;

generating an application identifier for the application on the first device, wherein the application identifier is a unique identifier for a particular installation of the application on the first device;

providing at least one of the public key, the device identifier, and the application identifier to a server;

generating a plurality of symmetric keys based on at least one of the random server seed and the random local seed, wherein the plurality of symmetric keys are used to encrypt communications with a second device; and

exchanging encrypted communications with the second device, wherein at least one of the device identifier and the application identifier is used to decrypt a portion of the encrypted communications received from the second device.

12. The computer program product of claim 11 , further comprising computer instructions for:

obtaining the application from a software distribution server;

installing the application on the first device.

13. The computer program product of claim 12 , wherein the software distribution server is a third-party distribution server.

14. The computer program product of claim 11 , further comprising computer instructions for:

capturing hardware information regarding the first device;

performing a hash on at least a portion of the captured hardware information to create the device identifier.

15. The computer program product of claim 14 , wherein the hardware information is selected from the group consisting of: MAC addresses, motherboard identifiers; CPU identifiers, hard drive identifiers, random access memory (RAM), cache, and controller cards.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2021
From: WICKR LLC
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 057366/0573 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 25, 2021
From: SILICON VALLEY BANK
To: WICKR INC.
Reel/Frame 056684/0366 →
SECURITY AGREEMENT Recorded Dec 12, 2017
From: WICKR INC.
To: SILICON VALLEY BANK
Reel/Frame 044872/0729 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2017
From: STATICA, ROBERT; COPPA, KARA LYNN; HOWELL, CHRISTOPHER A
To: WICKR INC.
Reel/Frame 043054/0546 →