A computing device, in particular, for a control unit of a motor vehicle. The computing device is configured to receive messages from at least one external unit. The computing device is configured to store the received messages at least temporarily and to transmit a plurality of the received messages to a cryptographic module, which is configured to execute a check of the transmitted messages.
|
11. A cryptographic module for a computing device for control of a motor vehicle, the cryptographic module configured to:
while at least one processor of the computing device performs processing of a plurality of first messages received by the at least one processor from at least one external unit for the motor vehicle control, receive, as a single message block, a plurality of second messages from the computing device that were previously received individually by the computing device from at least one external unit, wherein the receipt as the single message block is due to a delay by the at least one processor to provide the second messages until (a) expiration of a predefined time period during which the receipt of the second messages by the computing device occurred or (b) a number of the second messages received by the computing device reaches a predefined threshold number;
execute an authentication procedure respectively for each of the second messages individually, the respective authentication procedure including (a) a respective check of whether the respective individual one of the second messages received by the cryptographic module is authentic or (b) a respective assignment of a respective cryptographic signature to the respective individual one of the second messages; and
provide results of the authentication procedure to the computing device, the at least one processor of which is configured to delay the processing of any respective one of the second messages for the motor vehicle control until after a respective one of the results of the authentication procedure corresponding to the respective one of the second messages is received by the computing device from the cryptographic module.
1. A computing device for control of a motor vehicle comprising:
at least one processor, wherein the at least one processor is configured to:
receive from at least one external unit (a) first messages for processing for the motor vehicle control and (b) subsequent to the receipt of the first messages, second messages for processing for the motor vehicle control;
provide the first messages to a cryptographic module;
while the at least one processor performs the processing of the first messages after the cryptographic module has provided a result an authentication procedure executed for the first messages that had been provided to the cryptographic module, store individual respective ones of the second messages at least temporarily into a memory, message by message, as the individual respective ones of the second messages are received by the at least one processor without providing any of the individual respective ones of the received second messages to the cryptographic module; and
after the storing of all of the received second messages and responsive to (a) expiration of a predefined time period during which the receipt of the second messages occurred or (b) a number of the received second messages reaching a predefined threshold number, provide all of the stored second messages to the cryptographic module, which is configured to execute the authentication procedure respectively for each of the second messages individually, the respective authentication procedure including (a) a respective check of whether the respective individual one of the second messages provided to the cryptographic module is authentic or (b) a respective assignment of a respective cryptographic signature to the respective individual one of the second messages.
10. A method of a computing device for control of a motor vehicle, the method comprising:
receiving, by at least one processor of the computing device and from at least one external unit, (a) first messages for processing for the motor vehicle control and (b) subsequent to the receipt of the first messages, second messages for processing for the motor vehicle control;
while the at least one processor performs the processing of the first messages after the cryptographic module has provided a result an authentication procedure executed for the first messages that had been provided to the cryptographic module, storing, by the computing device, individual respective ones of the received second messages at least temporarily into a memory, message by message, as the individual respective ones of the second messages are received by the at least one processor without providing any of the individual respective ones of the received second messages to the cryptographic module; and
after the storing of all of the received second messages and responsive to (a) expiration of a predefined time period during which the receipt of the second messages occurred or (b) a number of the received second messages reaching a predefined threshold number, providing, by the at least one processor, all of the stored second messages to the cryptographic module, which is configured to execute the authentication procedure respectively for each of the second messages individually, the respective authentication procedure including (a) a respective check of whether the respective individual one of the second messages provided to the cryptographic module is authentic or (b) a respective assignment of a respective cryptographic signature to the respective individual one of the second messages.
2. The computing device as recited in
3. The computing device as recited in
4. The computing device as recited in
5. The computing device as recited in
6. The computing device as recited in
7. The computing device as recited in
8. The computing device as recited in
9. The computing device as recited in
12. The cryptographic module as recited in
13. The cryptographic module as recited in
14. The computing device as recited in
15. The method as recited in
|
The present invention relates to a computing device, in particular, for a control unit of a motor vehicle; the computing device being configured to receive messages from at least one external unit.
The present invention further relates to a method for operating such a computing device.
Preferred specific embodiments of the present invention relate to a computing device, in particular, for a control unit of a motor vehicle; the computing device being configured to receive messages from at least one external unit, for example, from further control units; the computing device being configured to store the received messages at least temporarily and to transmit a plurality of the received messages to a cryptographic module, which is configured to execute a check of the transmitted messages. This allows the plurality of transmitted messages may be checked in an efficient manner.
In further preferred specific embodiments of the present invention, the computing device is configured to receive a result of the check from the cryptographic module and to process at least one of the plurality of received messages as a function of the result of the check.
In further preferred specific embodiments of the present invention, the computing device is configured to wait for a specifiable minimum number of received messages, before the plurality of received messages are transmitted to the cryptographic module.
In further preferred specific embodiments of the present invention, the computing device is configured to wait for a specifiable period of time, before the plurality of messages received, in particular, during the specifiable period of time, are transmitted to the cryptographic module.
In further preferred specific embodiments of the present invention, the at least temporary storage of received messages includes at least temporary storage of the received messages in a storage device, which both the computing device and the cryptographic module may access; the transmission including the following steps: transferring first control information items, which characterize a storage area of the storage device, in which the received messages are stored.
In further preferred specific embodiments of the present invention, the first control information items include at least a pointer and/or a number of received messages.
In further preferred specific embodiments of the present invention, the computing device is configured to transfer second control information items to the cryptographic module; the second control information items characterizing a storage area and/or an address in the storage device, in which storage area and/or at which address the cryptographic module should write a/the result of the check.
In further preferred specific embodiments of the present invention, the computing device is configured not to carry out processing of a received message, if the received message has not already been checked by the cryptographic module. This ensures that only messages checked by the cryptographic module are processed.
In further preferred specific embodiments of the present invention, the cryptographic module is integrated in the computing device, and/or the cryptographic module is situated on the same semiconductor substrate as the computing device, which yields a particularly compact configuration.
In further preferred variants of the present invention, as an alternative to, or in addition to, the messages N to be received from an external unit, the computing device may generally receive and/or ascertain data and/or messages from other sources (for example, even data and/or messages formed by the computing device, as well), and optionally process them or have them processed (in particular, by the cryptographic module), using a cryptographic method, e.g., provide them with a cryptographic signature. To this end, in further preferred specific embodiments, the computing device may transmit the above-mentioned messages (obtained from other sources or formed by itself), preferably, in turn, a plurality of the above-mentioned messages, to the cryptographic module; in further preferred specific embodiments, (e.g., in place of the check described above) the cryptographic module providing these messages with the cryptographic signature, preferably, providing all of the above-mentioned plurality of messages with the signature initially, and, in further preferred specific embodiments, then transmitting the messages provided with the signature to the computing device, which, in further preferred specific embodiments, then transmits the signed messages, for example, to further computing devices and/or control units.
Further preferred specific embodiments of the present invention relate to a method of operating a computing device, in particular, for a control unit of a motor vehicle. In accordance with an example embodiment of the present invention, the computing device receives messages from at least one external unit; the computing device storing the received messages at least temporarily and transmitting a plurality of the received messages to a cryptographic module, which is configured to execute a check of the transmitted messages.
Further preferred specific embodiments of the present invention relate to a cryptographic module for a computing device, in particular, for a computing device according to the specific embodiments; the cryptographic module being configured to receive a plurality of messages from the computing device and to execute a check of the received messages.
In further preferred specific embodiments of the present invention, the check is carried out, using a cipher-based message authentication code, CMAC. This allows particularly efficient checking. An Internet publication, which relates to an exemplary embodiment of the CMAC method, may be found, for example, at https://doi.org/10.6028%2Fnist.sp.800-38b.
In further preferred specific embodiments of the present invention, the cryptographic module is configured to transmit a result of the check to the computing device; the transmission including, in particular, the writing of result information items characterizing the result to a specifiable storage area of a storage device, which may be accessed by both the computing device and the cryptographic module.
Further preferred specific embodiments of the present invention relate to use of the computing device according to the specific embodiments and/or of the method according to the specific embodiments and/or of the cryptographic module according to the specific embodiments, for processing messages, in particular, messages transmitted via a bus system of a vehicle, in particular, a motor vehicle.
Additional features, uses and advantages of the present invention are derived from the following description of exemplary embodiments of the present invention, which are represented in the figures. In this context, all of the described or illustrated features form the subject matter of the present invention, either alone or in any combination, irrespective of their wording and representation in the description and in the figures, respectively.
In further preferred specific embodiments, computing device 100 is configured to receive a result E (
In further preferred specific embodiments of the present invention, after the transmission from step 304 and, in particular, prior to the reception of result E according to step 306, computing device 100 may execute further tasks, which means that the time frame, which cryptographic module 400 possibly needs for checking the messages to be checked that were ascertained beforehand, may be used by computing device 100 for a different purpose. For example, results communicated earlier by cryptographic module 400 and/or corresponding, received messages may be processed by computing device 100 in the above-mentioned time frame.
In further preferred specific embodiments of the present invention, one or more reference values for the check 502, in particular, one or more CMAC reference values for messages to be checked by cryptographic module 400, may be supplied to cryptographic module 400 by computing device 100. For example, together with the plurality N′ of messages to be checked, computing device 100 may transmit the reference values and/or CMAC reference values to cryptographic module 400.
In further preferred specific embodiments of the present invention, for example, the following data format may be used for this. A message to be checked (plaintext) is assigned an index value, which enables unequivocal identification of the message within the plurality N′ of the messages to be checked. The message to be checked is optionally assigned a (CMAC) reference value. As a further option, the message to be checked is assigned a key information item (key ID), which characterizes a specific cryptographic cipher key that is associated with the message to be checked. Accordingly, in further preferred specific embodiments, a data record of the data format described above by way of example may include at least one of the following elements: a) index value; b) contents of the message (plaintext); c) (CMAC) reference value; d) key information item (key ID). In further preferred specific embodiments, in transmission step 304 (
In step 504 according to
In further preferred specific embodiments of the present invention, additional advantages are produced by the transmission 302 (
In further preferred specific embodiments of the present invention, cf. the simplified flow chart from
In further preferred specific embodiments of the present invention, cf. the simplified flow chart from
In further preferred specific embodiments of the present invention, cf. the simplified flow chart according to
In further preferred specific embodiments of the present invention, in this manner, in addition to the transmission of the plurality M′ of the messages to be checked, one or more of the elements a) index value, c) (CMAC) reference value, d) key information item (key ID) associated with the respective message may additionally be transmitted to cryptographic module 400 in an efficient manner, as well.
In further preferred specific embodiments of the present invention, processing unit 102 includes at least one of the following elements: a microprocessor, a microcontroller, a digital signal processor (DSP), a programmable logic unit (e.g., field-programmable gate array, FPGA), an ASIC (application-specific integrated circuit), a hardware circuit. Combinations of these are also conceivable in further preferred specific embodiments.
In further preferred specific embodiments of the present invention, storage device 104 includes at least one of the following elements: a volatile memory 104a, in particular, working memory (RAM), a nonvolatile memory 104b, in particular, flash-EEPROM. Computer program PRG is preferably stored in nonvolatile memory 104b.
In further preferred specific embodiments of the present invention, the storage device 104′, which is already described above, and which both computing device 100, 100a and cryptographic module 400 may access, is also provided. As already described, as well, in further preferred specific embodiments, messages N received from computing device 100, 100a may be stored at least temporarily in storage device 104′. For this, in further preferred specific embodiments, at least one receive buffer may be defined for messages to be received.
In further preferred specific embodiments of the present invention, storage device 104′ may also form a part of storage device 104 and/or be integrated into it. In this manner, messages N may be transmitted from computing device 100 to cryptographic module 400 in a particularly efficient manner. For example, in further preferred specific embodiments, the transmission of first control information items S1 from computing device 100 to cryptographic module 400 may be sufficient, in order for cryptographic module 400 to be able to read and/or load messages to be checked from storage device 104′.
In further preferred specific embodiments of the present invention, first control information items S1 include at least a pointer (for example, to a storage area of storage device 104′ containing the messages N to be checked), and/or a number of received messages.
In further preferred specific embodiments of the present invention, computing device 100, 100a is configured to transfer second control information items S2 (
In further preferred specific embodiments of the present invention, computing device 100, 100a is configured not to carry out processing of a received message N, if the received message has not already been checked by cryptographic module 400. This ensures that only messages checked by cryptographic module 400 are processed.
In further preferred specific embodiments of the present invention, cf. the simplified block diagram according to
In further preferred specific embodiments of the present invention, cf. the simplified block diagram according to
In further preferred specific embodiments of the present invention, cryptographic module 400, 400′ is configured to transmit a result E of the check 502 (
Further preferred specific embodiments of the present invention relate to use of computing device 100, 100a according to the specific embodiments and/or of the method according to the specific embodiments and/or of cryptographic module 400, 400′ according to the specific embodiments, for processing messages N (or, in general, any data), in particular, messages transmitted via a bus system of a vehicle, in particular, a motor vehicle.
In further preferred specific embodiments of the present invention, cf. the schematic block diagram according to
In further preferred variants of the present invention, as an alternative to, or in addition to, the messages N to be received from external unit 200, computing device 100 may generally receive and/or ascertain data and/or messages from other sources (for example, even data and/or messages formed by computing device 100, as well) and optionally process them, using a cryptographic method, for example, provide them with a cryptographic signature. To this end, in further preferred specific embodiments, in a manner comparable to the operation described above with reference to
The features according to the specific embodiments allow particularly efficient processing of messages N by computing device 100, 100a. This relates to the processing of both messages, which are received in computing device 100, 100a from external unit 200, and messages, which are intended to be formed and/or signed in computing device 100. The specific transmission of a plurality N′ of messages to cryptographic module 400 and/or processing of the plurality N′ of messages by cryptographic module 400 saves, in particular, computing resources of computing device 100, 100a and prevents communications overhead, which occurs in conventional systems, and in which messages to be checked are processed individually by the computing device and/or may be transmitted individually to a cryptographic module 400.
In addition, the use of the features according to the specific embodiments minimizes transmission events from computing device 100, 100a to cryptographic module 400, in particular, regarding information critical with regard to safety, which means that the level of security is increased further.
In further preferred specific embodiments of the present invention, a value of the plurality N′ of messages may be selected and/or parameterized in the same manner as the specifiable minimum number of received messages, which are waited for (cf. step 310 from
Pohl, Christopher, Stumpf, Frederic
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
11702424, | Apr 04 2014 | Pfizer Inc | Bicyclic-fused heteroaryl or aryl compounds |
7712139, | Sep 01 2000 | Robert Bosch GmbH | Data transmission method |
8316235, | Feb 16 2009 | Robert Bosch GmbH | Method and device for manipulation-proof transmission of data |
9904531, | Oct 18 2013 | Fujitsu Limited; Toyota Jidosha Kabushiki Kaisha | Apparatus and method for installing vehicle correction program |
9935774, | May 22 2015 | NXP B.V. | Configurable cryptographic controller area network (CAN) device |
20020042878, | |||
20080256320, | |||
20080282041, | |||
20140301550, | |||
20140304511, | |||
20150113521, | |||
20150270954, | |||
20160344552, | |||
20160344705, | |||
20180083785, | |||
20180131522, | |||
20180302422, | |||
20220043918, | |||
20220255994, | |||
20230239693, | |||
20230239945, | |||
CN101529937, | |||
CN104101376, | |||
CN107040368, | |||
CN108292993, | |||
CN108496322, | |||
DE102013206202, | |||
DE102015104167, | |||
DE102017125826, | |||
JP2006146837, | |||
JP2009005738, | |||
JP2009065294, | |||
JP2018133743, | |||
JP2018511248, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 27 2019 | Robert Bosch GmbH | (assignment on the face of the patent) | / | |||
Jun 15 2021 | POHL, CHRISTOPHER | Robert Bosch GmbH | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 066318 | /0709 | |
Jun 15 2021 | STUMPF, FREDERIC | Robert Bosch GmbH | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 066318 | /0709 |
Date | Maintenance Fee Events |
Jun 10 2021 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Date | Maintenance Schedule |
Apr 16 2027 | 4 years fee payment window open |
Oct 16 2027 | 6 months grace period start (w surcharge) |
Apr 16 2028 | patent expiry (for year 4) |
Apr 16 2030 | 2 years to revive unintentionally abandoned end. (for year 4) |
Apr 16 2031 | 8 years fee payment window open |
Oct 16 2031 | 6 months grace period start (w surcharge) |
Apr 16 2032 | patent expiry (for year 8) |
Apr 16 2034 | 2 years to revive unintentionally abandoned end. (for year 8) |
Apr 16 2035 | 12 years fee payment window open |
Oct 16 2035 | 6 months grace period start (w surcharge) |
Apr 16 2036 | patent expiry (for year 12) |
Apr 16 2038 | 2 years to revive unintentionally abandoned end. (for year 12) |