US 11,956,369 B2
Accelerated verification of automotive software in vehicles
Robert M. Kaster, White Lake, MI (US)
Assigned to Robert Bosch GmbH, Stuttgart (DE)
Filed by Robert Bosch GmbH, Stuttgart (DE)
Filed on Jul. 29, 2021, as Appl. No. 17/388,940.
Claims priority of provisional application 63/065,419, filed on Aug. 13, 2020.
Prior Publication US 2022/0052854 A1, Feb. 17, 2022
Int. Cl. H04L 9/32 (2006.01); G06F 21/00 (2013.01); G06F 21/57 (2013.01); G06F 21/60 (2013.01); H04L 9/08 (2006.01)
CPC H04L 9/3242 (2013.01) [G06F 21/577 (2013.01); G06F 21/604 (2013.01); H04L 9/0894 (2013.01); H04L 9/3247 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A system for verifying integrity of automotive software in a vehicle, the system comprising:
an electronic controller including a memory and an electronic processor configured to:
receive a software image,
store the software image in a plurality of memory cells included in the memory,
organize the plurality of memory cells into rows and columns,
generate a secret key,
determine a plurality of fingerprints such that each of the plurality of fingerprints includes at least one of the memory cells from each of the rows,
calculate reference verification values for the plurality of fingerprints, wherein each of the reference verification values is determined using a one-way cryptographic function with the secret key and data stored in the memory cells included in one of the plurality of fingerprints,
receive a power-up signal,
randomly select one of the plurality of fingerprints after receiving the power-up signal,
retrieve, from the memory, a set of data stored in the memory cells of the selected fingerprint,
calculate a pre-boot verification value for the selected fingerprint using the one-way cryptographic function with the secret key and the retrieved set of data,
compare the pre-boot verification value to the reference verification value for the selected fingerprint,
release a security halt on the software image when the pre-boot verification value matches the reference verification value for the selected fingerprint, and
generate a security warning signal when the pre-boot verification value does not match the reference verification value for the selected fingerprint.