IP Library Granted Patent US 11,356,280
Granted Patent B2
US 11,356,280 · App. 16/926,583 · Granted Jun 7, 2022

Personal device security using cryptocurrency wallets

Inventors: Craig Steven Wright (London, GB); Stephane Savanah (London, GB)
Assignee: nChain Holdings Ltd
H04L9/3252H04L9/085H04L9/0825H04L9/0841H04L9/0891H04L9/3066H04W12/02H04W12/03H04L2209/56H04W84/18
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,356,280
App. No.
16/926,583
Granted
Jun 7, 2022
Kind
B2
Abstract

A method of encrypting data at an electronic device where the electronic device is associated with a key device. Each device is associated with an asymmetric cryptography pair, each pair including a first private key and a first public key. Respective second private and public keys may be determined based on the first private key, first public key and a deterministic key. A secret may be determined based on the second private and public keys. The data at the electronic device may be encrypted using the determined secret or an encryption key that is based on the secret. Information indicative of the deterministic key may be sent to the key device where the information may be stored.

Claims (97)

1. A computer implemented method of determining a common secret at an electronic device (S), the electronic device being associated with a key device (C), wherein the electronic device is further associated with a first asymmetric cryptography pair having a first electronic device private key (V 1S ) and a first electronic device public key (P 1S ), and the key device is associated with a second asymmetric cryptography pair having a first key device private key (V 1C ) and a first key device public key (P 1C ), the method comprising:

determining, at the electronic device, a deterministic key (DK);

receiving, at the electronic device, the first key device public key (P 1C ) from the key device;

determining, at the electronic device, a second electronic device private key (V 2S ) based on at least the first electronic device private key (V 1S ) and the deterministic key (DK);

determining, at the electronic device, a second key device public key (P 2C ) based on at least the first key device public key (P 1C ) and the deterministic key (DK);

determining a secret based on at least the second electronic device private key (V 2S ) and the second key device public key (P 2C );

sending information indicative of the deterministic key (DK) to the key device;

generating, at the electronic device, an authentication message (M A );

sending the authentication message (M A ) to the key device;

determining a deterministic authentication key (DK A ) by determining a hash of the authentication message (M A );

generating, at the key device, a signed authentication message (SM A ) based on the deterministic authentication key (DK A ) and a second key device private key (V 2C );

receiving, at the electronic device, the signed authentication message (SM A ) from the key device;

validating the signed message (SM A ) with the second key device public key (P 2C ); and authenticating the key device based on the result of validating the signed authentication message (SM A ); and

wherein the second key device private key (V 2C ) is based on the deterministic authentication key (DK A ) and the first key device private key (V 1C ), and the second key device public key (P 2C ) is based on the deterministic authentication key (DK A ) and the first key device public key (P 1C ).

2. The method of claim 1 , further comprising:

generating, at the key device, a second asymmetric cryptography pair having the second key device private key (V2C) and the second key device public key (P 2C ).

3. The method of claim 1 , further comprising:

encrypting the data at the electronic device using the determined secret or an encryption key that is based on the determined secret.

4. The method of claim 3 , further comprising:

receiving, at the electronic device, the information indicative of the deterministic key (DK), from the key device;

determining the secret based on the received information indicative of the deterministic key (DK); and

decrypting, at the electronic device, the encrypted data using the secret or the encryption key that is based on the secret.

5. The method of claim 4 , further comprising:

requesting, at the electronic device, the information indicative of the deterministic key (DK) from the key device;

generating, at the key device, a signed message (SM) based on a message (M);

sending the signed message (SM) to the electronic device;

validating, at the electronic device, the signed message (SM); and

retrieving the message (M) such that the secret is to be determined, at the electronic device, for decrypting the data.

6. The method of claim 1 further comprising:

storing, at the key device, the information indicative of the deterministic key (DK).

7. The method of claim 1 , wherein:

the deterministic key (DK) is based on a message (M).

8. The method of claim 7 , further comprising:

generating the message (M) at the electronic device; and

determining the deterministic key (DK) based on determining a hash of the message (M).

9. The method of claim 1 , further comprising:

determining a second electronic device public key (P 2S ) based on at least the first electronic device public key (P 1S ) and the deterministic key (DK).

10. The method of claim 1 , further comprising:

sending from the electronic device to the key device, a notice indicative of using a common elliptic curve cryptography (ECC) system with a common generator (G).

11. The method of claim 10 , wherein:

the first electronic device public key (P 1S ) and the first key device public key (P 1C ) are based on elliptic curve point multiplication of the respective first electronic device private key (V 1S ) and first key device private key (V 1C ) and the common generator (G).

12. The method of claim 1 , further comprising:

generating the first electronic device private key (V 1S ) based on a random integer in an allowable range specified in the common ECC system; and

generating the first electronic device public key (P 1S ) based on elliptic curve point multiplication of the first electronic device private key (V 1C ) and the common generator (G) according to the following formula:

P 1S =V 1S ×G.

13. The method of claim 10 , further comprising:

generating the second electronic device private key (V 2S ) based on a scalar addition of the first electronic device private key (V 1S ) and the deterministic key (DK) according to the following formula:

V 2S =V 1S +DK.

14. The method of claim 10 , further comprising:

generating the second electronic device public key (P 2S ) based on at least the first electronic device public key (P 1S ) with elliptic curve point addition to the deterministic key (DK).

15. The method of claim 14 , wherein:

the second electronic device public key (P 2S ) is based on the first electronic device public key (P 1S ) with elliptic curve point addition to the elliptic curve point multiplication of the deterministic key (DK) and the common generator (G) according to the following formula:

P 2S =P 1S +DK×G.

16. The method of claim 10 , further comprising:

generating the second key device public key (P 2C ) based on at least the first key device public key (P 1C ) with elliptic curve point addition to the deterministic key (DK).

17. The method of claim 16 , wherein:

the second key device public key (P 2C ) is based on the first key device public key (P 1C ) with elliptic curve point addition to the elliptic curve point multiplication of the deterministic key (DK) and the common generator (G) according to the following formula:

P 2C =P 1C +DK×G.

18. The method of claim 1 , further comprising:

determining the encryption key based on the determined secret and identification information of the electronic device.

19. The method of claim 1 , further comprising:

storing, at a data storage associated with the electronic device, the first key device public key (P 1C ).

20. A computer system for determining a common secret at an electronic device, the computer system comprising:

the electronic device being associated with a first asymmetric cryptography pair having a first electronic device private key (V 1S ) and a first electronic device public key (P 1S ),

a key device being associated with a second asymmetric cryptography pair having a first key device private key (V 1C ) and a first key device public key (P 1C );

wherein the electronic device comprises a processor configured to:

determine a deterministic key (DK);

receive the first key device public key (P 1C ) from the key device;

determine a second electronic device private key (V 2S ) based on at least the first electronic device private key (V 1S ) and the deterministic key (DK);

determine a second key device public key (P 2C ) based on at least the first key device public key (P 1C ) and the deterministic key (DK);

determine a secret based on at least the second electronic device private key (V 2S ) and the second key device public key (P 2C );

generate, at the electronic device, an authentication message (M A ); and

send the authentication message (M A ) to the key device;

determine a deterministic authentication key (DK A ) by determining a hash of the authentication message (M A );

generate, at the key device, a signed authentication message (SM A ) based on the deterministic authentication key (DK A ) and a second key device private key (V 2C );

receive, at the electronic device, the signed authentication message (SM A ) from the key device;

validate the signed message (SM A ) with the second key device public key (P 2C ); and authenticating the key device based on the result of validating the signed authentication message (SM A ); and

wherein information indicative of the deterministic key (DK) is stored on the key device and wherein the second key device private key (V 2 c) is based on the deterministic authentication key (DK A ) and the first key device private key (V 1C ), and the second key device public key (P 2C ) is based on the deterministic authentication key (DK A ) and the first key device public key (P 1C ).

21. The computer system of claim 20 , further configured to encrypt the data on the electronic device using the determined secret or an encryption key that is based on the determined secret.

22. The computer system of claim 21 , further configured to decrypt data, the processor of the electronic device being configured to:

receive the information indicative of the deterministic key (DK), from the key device;

determine the secret based on the information indicative of the deterministic key (DK); and

decrypt the data using the determined secretor the encryption key that is based on the determined secret.

23. An electronic device for determining a common secret, the electronic device being associated with a key device, wherein the electronic device is associated with a first asymmetric cryptography pair having a first electronic device private key (V 1S ) and a first electronic device public key (P 1S ), and the key device is associated with a second asymmetric cryptography pair having a first key device private key (V 1C ) and a first key device public key (P 1C ), the electronic device comprising a processing device configured to:

determine a deterministic key (DK);

receive the first key device public key (P 1C ) from the associated key device;

determine a second electronic device private key (V 2S ) based on at least the first electronic device private key (V 1S ) and the deterministic key (DK);

determine a second key device public key (P 2C ) based on at least the first key device public key (P 1C ) and the deterministic key (DK);

determine a secret based on at least the second electronic device private key (V 2S ) and the second key device public key (P 2C );

generate, at the electronic device, an authentication message (M A ); and

send the authentication message (M A ) to the key device;

determine a deterministic authentication key (DK A ) by determining a hash of the authentication message (M A );

generate, at the key device, a signed authentication message (SM A ) based on the deterministic authentication key (DK A ) and a second key device private key (V 2C );

receive, at the electronic device, the signed authentication message (SM A ) from the key device;

validate the signed message (SM A ) with the second key device public key (P 2C ); and authenticating the key device based on the result of validating the signed authentication message (SM A ); and

wherein information indicative of the deterministic key (DK) is sent to the key device and wherein the second key device private key (V 2C ) is based on the deterministic authentication key (DK A ) and the first key device private key (V 1C ), and the second key device public key (P 2C ) is based on the deterministic authentication key (DK A ) and the first key device public key (P 1C ).

24. A non-transitory computer-readable storage medium having a computer program embodied thereon comprising machine-readable instructions to cause a processing device of an electronic device to implement the method of claim 1 .

Assignments (3)
CHANGE OF NAME Recorded Apr 16, 2023
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 063364/0379 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2020
From: WRIGHT, CRAIG; SAVANAH, STEPHANE
To: NCHAIN HOLDINGS LTD
Reel/Frame 053280/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2020
From: WRIGHT, CRAIG; SAVANAH, STEPHANE
To: NCHAIN HOLDINGS LTD
Reel/Frame 053280/0743 →
Priority Claims (3)
GB 1603117 · Feb 23, 2016 · national
GB 1603122 · Feb 23, 2016 · national
GB 1619301 · Nov 15, 2016 · national
Continuity (2)
Continuation 16079082
Related Publication 20200344071A1 · Oct 29, 2020
Cited By (1)
US 1,082,212