IP Library › Granted Patent US 10,404,718
Granted Patent B2
US 10,404,718 · App. 15/373,679 · Granted Sep 3, 2019

Method and device for transmitting software

Inventors: Christopher Huth (Leonberg, DE); Paulius Duplys (Markgroeningen, DE)
Assignee: Robert Bosch GmbH
H04L63/123H04L9/0869H04L9/3234H04L9/3236H04L63/0428
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,404,718
App. No.
15/373,679
Granted
Sep 3, 2019
Kind
B2
Abstract

A method for transmitting software in which a checker generates two random numbers. The checker calculates a cryptographic key based on the second random number based on a measured hardware function of the device. The checker encrypts the software into a cryptogram using the key, and transmits the cryptogram to the device. The checker transmits the first random number to the device, and receives a checksum from the device. The checker calculates a reference value based on the first random number and an emulated random access memory of the device, with the aid of the measured hardware function and a predefined cryptographic hash function. The checker subjects the checksum to a check based on the reference value, and if the check is successful, the checker transmits the second random number to the device.

Claims (43)

1. A method for transmitting software to a remote device, comprising:

generating, by a checker, a first random number and a second random number;

calculating, by the checker, a cryptographic key based on the second random number using an emulation function which emulates a physical unclonable function (PUF) of the device;

encrypting, by the checker, the software into a cryptogram using the key;

transmitting to the device by the checker the cryptogram;

transmitting to the device by the checker the first random number;

receiving from the device by the checker a checksum;

calculating, by the checker, a reference value based on the first random number and the cryptogram, using the emulation function and a predefined cryptographic hash function;

checking, by the checker, the checksum based on the reference value; and

transmitting, by the checker, the second random number to the device only when the checking is successful.

2. The method as recited in claim 1 , wherein, between the transmission of the first random number and the reception of the checksum, the checker measures a measured variable, the measured variable being a time span between the transmission of the first random number and the reception of the checksum, and the checker subjects the measured variable to a further checking, wherein the transmitting, by the checker, of the second random number occurs only when the further checking is successful.

3. The method as recited in claim 1 , wherein:

the device receives the cryptogram and the first random number from the checker;

the device stores the cryptogram in a local random access memory of the device;

the device calculates the checksum based on the first random number and the received cryptogram, using the hash function and the PUF of the device;

the device transmits the checksum to the checker;

the device receives the second random number from the checker;

the device calculates the key based on the second random number, using the PUF; and

the device decrypts the software from the cryptogram using the key.

4. The method as recited in claim 3 , wherein the software includes an executable program, and the device executes the program after the decryption of the software.

5. The method as recited in claim 1 , further comprising:

padding the software, by the checker, before the encryption in such a way that the cryptogram fills a random access memory of the device.

6. The method as recited in claim 1 , wherein at least one of: i) the checksum and the reference value are message authentication codes based on the hash function, ii) the hash function is a secure hash algorithm, and iii) the check is a cyclic redundancy check.

7. A non-transitory machine-readable storage medium on which is stored a computer program for transmitting software to a remote device, the computer program, when executed by a processor, causing the processor to perform:

generating a first random number and a second random number;

calculating a cryptographic key based on the second random number using an emulation function which emulates a physical unclonable function (PUF) of the device;

encrypting the software into a cryptogram using the key;

transmitting to the device by the checker the cryptogram;

transmitting to the device by the checker the first random number;

receiving from the device by the checker a checksum;

calculating a reference value based on the first random number and the cryptogram, using the emulation function and a predefined cryptographic hash function;

checking the checksum based on the reference value; and

transmitting the second random number to the device only when the checking is successful.

8. A device for transmitting software to a remote device, the device designed to:

generate a first random number and a second random number;

calculate a cryptographic key based on the second random number using an emulation function which emulates a physical unclonable function (PUF) of the remote device;

encrypt the software into a cryptogram using the key;

transmit to the remote device the cryptogram;

transmitting to the remote device the first random number;

receive from the remote device a checksum;

calculating a reference value based on the first random number and the cryptogram, using the emulation function and a predefined cryptographic hash function;

check the checksum based on the reference value; and

transmit the second random number to the remote device when the checking is successful.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2017
From: HUTH, CHRISTOPHER; DUPLYS, PAULIUS
To: ROBERT BOSCH GMBH
Reel/Frame 041252/0179 →
Priority Claims (1)
DE 10 2015 225 651 · Dec 17, 2015 · national
Continuity (1)
Related Publication 20170180392A1 · Jun 22, 2017
Cited By (1)
US 12,231,553