Programming vehicle modules from remote devices and related methods and systems
First Claim
Patent Images
1. A method of programming a vehicle module of a vehicle, the method comprising:
- generating, by a gateway module communicatively coupled to the vehicle module in response to a programming request, session authentication information for a programming update for the vehicle module, the session authentication information including a public key dynamically generated by the gateway module based at least in part on a stored private key associated with the vehicle and a timestamp associated with the programming request;
providing the session authentication information to a remote device via an external communications network, wherein the remote device generates authorization authentication information based at least in part on the public key;
obtaining the authorization authentication information from the remote device via the external communications network;
decrypting, by the gateway module, the authorization authentication information using the public key to obtain a decrypted key;
authenticating, by the gateway module, the programming update based at least in part on the decrypted key matching the stored private key associated with the vehicle; and
providing, via the gateway module, programming data for the programming update to the vehicle module after authenticating the programming update.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatus and systems are provided for programming a vehicle module. An exemplary vehicle includes a first module, a gateway module communicatively coupled to the first module, and an update module communicatively coupled to the gateway module. The update module is configured to provide authorization information and programming data to the gateway module. The gateway module is configured to verify that programming of the first module is authorized based at least in part on the authorization information and provide the programming data to the first module after verifying that the programming of the first module is authorized.
-
Citations
17 Claims
-
1. A method of programming a vehicle module of a vehicle, the method comprising:
-
generating, by a gateway module communicatively coupled to the vehicle module in response to a programming request, session authentication information for a programming update for the vehicle module, the session authentication information including a public key dynamically generated by the gateway module based at least in part on a stored private key associated with the vehicle and a timestamp associated with the programming request; providing the session authentication information to a remote device via an external communications network, wherein the remote device generates authorization authentication information based at least in part on the public key; obtaining the authorization authentication information from the remote device via the external communications network; decrypting, by the gateway module, the authorization authentication information using the public key to obtain a decrypted key; authenticating, by the gateway module, the programming update based at least in part on the decrypted key matching the stored private key associated with the vehicle; and providing, via the gateway module, programming data for the programming update to the vehicle module after authenticating the programming update. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A vehicle comprising:
-
a first vehicle communications network; a second vehicle communications network different from the first vehicle communications network; a target vehicle module coupled to the first vehicle communications network; a gateway module communicatively coupled to the target vehicle module via the first vehicle communications network, the gateway module generating session authentication information for a programming update for the target vehicle module in response to a programming request, the session authentication information including a public key dynamically generated by the gateway module based at least in part on a stored private key associated with the vehicle and a timestamp associated with the programming request; and an update module communicatively coupled to the gateway module via the second communications network to provide authorization authentication information received from an external communications network and programming data to the gateway module, wherein; the gateway module is configured to; verify programming the target vehicle module is authorized based at least in part on authenticating the authorization authentication information is provided from a trusted remote device by decrypting the authorization authentication information using the public key to obtain a decrypted key and authenticating the programming update based at least in part on the decrypted key matching the stored private key associated with the vehicle; and provide the programming data to the target vehicle module via the first vehicle communications network after verifying the programming is authorized. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A vehicle system comprising:
-
a first vehicle communications network; a second vehicle communications network; a target vehicle module coupled to the second vehicle communications network; an update vehicle module coupled to the first vehicle communications network and an external communications network; and a gateway module coupled to the first vehicle communications network and the second vehicle communications network, wherein; the update vehicle module is configured to obtain programming data for the target vehicle module, transmit session authentication information to a remote device via the external vehicle communications network, receive authorization authentication information from a remote device via the external communications network, and provide the authorization authentication information and the programming data to the gateway module via the first vehicle communications network; the gateway module is configured to generate the session authentication information for the programming data, the session authentication information including a public key dynamically generated by the gateway module based at least in part on a stored private key associated with the vehicle and a timestamp associated with a programming request, decrypt the authorization authentication information using the session authentication information to obtain a decrypted key, provide the programming data to the target vehicle module after authenticating the authorization authentication information by determining the decrypted key matches the stored private key associated with the vehicle; and the target vehicle module is configured to update an application on the target vehicle module based at least in part on the programming data after receiving the programming data from the gateway module. - View Dependent Claims (17)
-
Specification