Abstract:
Methods and systems are provided for bypassing an authenticity check for a secure control module. In one embodiment, a method includes: receiving authenticity data from a secure source, wherein the authenticity data includes a signature and an identifier that is unique to the control module; programming the control module with the authenticity data; and bypassing the authenticity check of a control program of the control module based on the authenticity data.
Abstract:
Mobile device-activated vehicle functions are implemented by authenticating a vehicle with a device via wireless signals transmitted between a low frequency antenna of the device and a low frequency antenna of the vehicle when the vehicle is in communicative range of the device. The mobile device-activated vehicle functions are further implemented by receiving, via computer processor embedded in the device, a selection from one of a plurality of input components embedded in the device, the selection associated with a vehicle function, and transmitting a request to implement the vehicle function via the low frequency antenna coupled to the computer processor and the low frequency antenna of the vehicle.
Abstract:
A method is provided for performing a map update for a navigation device. The method includes: receiving a manifest file corresponding to a map update package and receiving a digital signature corresponding to the manifest file, wherein the map update package comprises a plurality of pieces; verifying, by a processor, the digital signature; receiving, after successful verification of the digital signature, a piece of the map update package to be written to a storage of the navigation device; verifying, by the processor, the received piece using the received manifest file; and writing, in response to successful verification of the received piece, the received piece to the storage of the navigation device.
Abstract:
A control module reflash system includes a control module located in a vehicle that controls at least one function of the vehicle according to stored vehicle software. An external interface module receives a software file from a source external to the vehicle and receives a part number for the stored vehicle software in the control module. The external interface module retrieves a comparison software file from the source external to the vehicle corresponding to the part number and compares the software file and the comparison software file. The external interface module identifies differences between the software file and the comparison software file, generates a compressed file based on the differences, and provides the compressed file to the control module. The control module generates a flash file based on the received compressed file and the stored vehicle software and modifies the stored vehicle software based on the flash file.
Abstract:
A method of re-programming flash memory of a computing device is presented here. Software content having a plurality of software modules can be re-programmed by identifying, from the software modules, a first set of software modules to be programmed by delta programming and a second set of software modules to be programmed by non-delta programming. A first set of sectors of the flash memory is assigned for programming the first set of software modules, and a second set of sectors is assigned for programming the second set of software modules. At least some of the second set of sectors are designated as temporary backup memory space. The first set of sectors is programmed with the first set of software modules, using delta programming and the designated temporary backup memory space. After programming the first set of sectors, the second set of sectors is programmed with the second set of software modules, using non-delta programming.
Abstract:
Methods are provided for securely loading software objects into an electronic control unit. The methods include receiving a first software object comprising a second level public key certificate, a first encryption signature and a first set of software. Once the first software object is received, validating the first second level public key is validated with the embedded root public key, the first encryption signature with the first second level public key certificate, and the first set of software with the first encryption signature. When the first set of software is valid, then the first second level public key certificate and the first set of software are stored to non-volatile memory. Once stored, a consecutive software object is received comprising only a consecutive encryption signature and a consecutive set of software from the programming source. The consecutive encryption signature is validated with the stored second level public key certificate, and the consecutive set of software is validated with the consecutive encryption signature.
Abstract:
A control module reflash system includes a control module located in a vehicle that controls at least one function of the vehicle according to stored vehicle software. An external interface module receives a software file from a source external to the vehicle and receives a part number for the stored vehicle software in the control module. The external interface module retrieves a comparison software file from the source external to the vehicle corresponding to the part number and compares the software file and the comparison software file. The external interface module identifies differences between the software file and the comparison software file, generates a compressed file based on the differences, and provides the compressed file to the control module. The control module generates a flash file based on the received compressed file and the stored vehicle software and modifies the stored vehicle software based on the flash file.
Abstract:
Mobile device-activated vehicle functions are implemented by authenticating a vehicle with a device via wireless signals transmitted between a low frequency antenna of the device and a low frequency antenna of the vehicle when the vehicle is in communicative range of the device. The mobile device-activated vehicle functions are further implemented by receiving, via computer processor embedded in the device, a selection from one of a plurality of input components embedded in the device, the selection associated with a vehicle function, and transmitting a request to implement the vehicle function via the low frequency antenna coupled to the computer processor and the low frequency antenna of the vehicle.