IP Library Granted Patent US 10,749,680
Granted Patent B1
US 10,749,680 · App. 16/362,814 · Granted Aug 18, 2020

Secure communication between a vehicle and a remote device

Inventors: Alberto Troia (Munich, DE); Antonino Mondello (Messina, IT)
Assignee: Micron Technology, Inc.
H04L9/3226B60R25/24H04L9/0861H04L9/3247H04L9/3268B60R2325/108G06F7/588H04L2209/80H04L2209/84H04W4/40
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 10,749,680
App. No.
16/362,814
Granted
Aug 18, 2020
Kind
B1
Abstract

The present disclosure includes secure communication between a vehicle and a remote device. An embodiment includes a processing resource, memory, and a vehicular communication component configured to, in response to receiving a request from a remote communication component to switch a state of a lock, calculate a challenge count for the request, generate a vehicular private key and a vehicular public key, perform a number of verification iterations, each respective verification iteration including providing the public key to the remote communication component, receiving, from the remote communication component, code for switching the lock state, verifying the remote communication component's identity, and incrementing a counter in response to verifying the remote communication component's identity, and decrypt the code using the private key and switch the lock state in response to the counter being incremented to a value equal to or greater than the challenge count.

Claims (85)

1. An apparatus, comprising:

a processing resource;

memory having instructions executable by the processing resource; and

a vehicular communication component coupled to the processing resource, wherein the vehicular communication component is configured to, in response to receiving a request from a remote communication component to switch a state of a lock of the apparatus from a first state to a second state:

calculate a challenge count for the request;

generate a vehicular private key and a vehicular public key;

perform a number of verification iterations, wherein each respective one of the number of verification iterations includes:

providing the vehicular public key to the remote communication component;

receiving, from the remote communication component in response to providing the vehicular public key to the remote communication component, code for switching the state of the lock from the first state to the second state;

verifying an identity of the remote communication component; and

incrementing a counter of the apparatus in response to verifying the identity of the remote communication component; and

in response to the counter being incremented to a value equal to or greater than the challenge count:

decrypt the received code using the vehicular private key; and

switch the state of the lock from the first state to the second state.

2. The apparatus of claim 1 , wherein the vehicular communication component is configured to generate the vehicular public key using a unique secret key for the apparatus stored in the memory of the apparatus.

3. The apparatus of claim 1 , wherein each respective one of the number of verification iterations includes:

receiving, from the remote communication component in response to providing the vehicular public key to the remote communication component, a digital signature for the remote communication component; and

verifying the identity of the remote communication component using the digital signature for the remote communication component.

4. The apparatus of claim 1 , wherein each respective one of the number of verification iterations includes:

generating an anti-replay value using an additional counter of the apparatus;

providing the anti-replay value to the remote communication component; and

receiving, from the remote communication component in response to providing the anti-replay value to the remote communication component, the code for switching the state of the lock from the first state to the second state.

5. The apparatus of claim 1 , wherein each respective one of the number of verification iterations includes:

generating a vehicular public identification and a vehicular certificate;

providing the vehicular public identification and the vehicular certificate to the remote communication component; and

receiving, from the remote communication component in response to providing the vehicular public identification and the vehicular certificate to the remote communication component, the code for switching the state of the lock from the first state to the second state.

6. The apparatus of claim 1 , wherein the challenge count is above a threshold.

7. The apparatus of claim 1 , wherein the vehicular communication component is configured to, in response to receiving a request from an additional remote communication component to pair with the apparatus:

generate a vehicular public key, a vehicular public identification, and a vehicular certificate;

provide the vehicular public key, the vehicular public identification, and the vehicular certificate to the additional remote communication component;

receive a remote public key, a remote public identification, and a remote certificate from the additional remote communication component in response to providing the vehicular public key, the vehicular public identification, and the vehicular certificate to the additional remote communication component;

verify an identity of the additional remote communication component using the remote public key, the remote public identification, and the remote certificate; and

pair with the additional remote communication component in response to verifying the identity of the additional remote communication component.

8. The apparatus of claim 7 , wherein the remote public key is generated using a unique secret key for the additional remote communication component.

9. A method of operating an apparatus, comprising:

receiving a request from a remote communication component to switch a state of a lock of the apparatus from a first state to a second state;

calculating a challenge count for the request;

generating a vehicular private key and a vehicular public key, wherein the vehicular public key is generated using a unique secret key for the apparatus;

performing a number of verification iterations, wherein each respective one of the number of verification iterations includes:

providing the vehicular public key to the remote communication component;

receiving, from the remote communication component in response to providing the vehicular public key to the remote communication component, code for switching the state of the lock from the first state to the second state and a digital signature for the remote communication component;

verifying an identity of the remote communication component using the digital signature for the remote communication component; and

incrementing a counter of the apparatus in response to verifying the identity of the remote communication component; and

decrypting the received code using the vehicular private key, and switching the state of the lock from the first state to the second state, in response to the counter being incremented to a value equal to or greater than the challenge count.

10. The method of claim 9 , wherein the digital signature for the remote communication component received during each respective one of the number of verification iterations is generated by the remote communication component using a remote private key.

11. The method of claim 9 , wherein the method includes ceasing to perform the number of verification iterations in response to the identity of the remote communication being unable to be verified.

12. The method of claim 9 , wherein the method includes switching a state of an engine of the apparatus from a first state to a second state in response to the counter being incremented to a value equal to or greater than the challenge count.

13. The method of claim 9 , wherein the method includes calculating the challenge count for the request using a random number generator.

14. The method of claim 9 , wherein the method includes calculating the challenge count for the request using an additional counter of the apparatus.

15. An apparatus, comprising:

a processing resource;

memory having instructions executable by the processing resource; and

a remote communication component coupled to the processing resource, wherein the remote communication component is configured to:

generate a remote private key and a remote public key;

provide a request to a vehicle communication component of a vehicle to switch a state of a lock of the vehicle from a first state to a second state; and

perform a number of verification iterations, wherein each respective one of the number of verification iterations includes:

receiving, from the vehicular communication component, a vehicular public key and a counter value corresponding to that verification iteration;

decrypting the counter value corresponding to that verification iteration using the remote private key;

verifying an identity of the vehicular communication component;

encrypting code for switching the state of the lock from the first state to the second state using the vehicular public key; and

providing the remote public key and the encrypted code to the vehicular communication component in response to decrypting the counter value and verifying the identity of the vehicular communication component.

16. The apparatus of claim 15 , wherein the remote communication component is configured to generate the remote public key using a unique secret key for the apparatus stored in the memory of the apparatus.

17. The apparatus of claim 15 , wherein each respective one of the number of verification iterations includes:

receiving, from the vehicular communication component, a digital signature for the vehicular communication component; and

verifying the identity of the vehicular communication component using the digital signature for the vehicular communication component.

18. The apparatus of claim 15 , wherein each respective one of the number of verification iterations includes:

generating an anti-replay value using a counter of the apparatus; and

providing the anti-replay value to the vehicular communication component in response to decrypting the counter value and verifying the identity of the vehicular communication component.

19. The apparatus of claim 15 , wherein each respective one of the number of verification iterations includes:

generating a remote public identification and a remote certificate; and

providing the remote public identification and the remote certificate to the vehicular communication component in response to decrypting the counter value and verifying the identity of the vehicular communication component.

20. A method of operating an apparatus, comprising:

generating a remote private key and a remote public key, wherein the remote public key is generated using a unique secret key for the apparatus;

providing a request to a vehicle communication component of a vehicle to switch a state of a lock of the vehicle from a first state to a second state; and

performing a number of verification iterations, wherein each respective one of the number of verification iterations includes:

receiving, from the vehicular communication component, a vehicular public key, a counter value corresponding to that verification iteration, and a digital signature for the vehicular communication component;

decrypting the counter value corresponding to that verification iteration using the remote private key;

verifying an identity of the vehicular communication component using the digital signature for the vehicular communication component;

encrypting code for switching the state of the lock from the first state to the second state using the vehicular public key; and

providing the remote public key and the encrypted code to the vehicular communication component in response to decrypting the counter value and verifying the identity of the vehicular communication component.

21. The method of claim 20 , wherein the digital signature for the vehicular communication component received during each respective one of the number of verification iterations is generated by the vehicular communication component using a vehicular private key.

22. The method of claim 20 , wherein the method includes ceasing to perform the number of verification iterations in response to the identity of the vehicular communication component being unable to be verified.

23. The method of claim 20 , wherein the method includes verifying the digital signature for the vehicular communication component using the vehicular public key.

24. The method of claim 20 , wherein the method includes verifying the identity of the vehicular communication component using a device identification composition engine-robust internet of things (DICE-RIOT) protocol.

25. The method of claim 20 , wherein the request includes a vehicle identification number (VIN) identifier for the vehicle.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051041/0317 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050724/0392 →
SUPPLEMENT NO. 12 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048948/0677 →
SUPPLEMENT NO. 3 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 048951/0902 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2019
From: TROIA, ALBERTO; MONDELLO, ANTONINO
To: MICRON TECHNOLOGY, INC.
Reel/Frame 048683/0649 →
Cited By (6)
US 12,192,329 US 12,208,701 US 12,214,747 US 12,244,735 US 12,267,416 US 12,609,809