JP2018026874A - Data providing system and data providing method - Google Patents
Data providing system and data providing method Download PDFInfo
- Publication number
- JP2018026874A JP2018026874A JP2017201990A JP2017201990A JP2018026874A JP 2018026874 A JP2018026874 A JP 2018026874A JP 2017201990 A JP2017201990 A JP 2017201990A JP 2017201990 A JP2017201990 A JP 2017201990A JP 2018026874 A JP2018026874 A JP 2018026874A
- Authority
- JP
- Japan
- Prior art keywords
- data
- vehicle
- authentication code
- message authentication
- ecu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は、データ提供システム及びデータ提供方法に関する。 The present invention relates to a data providing system and a data providing method.
従来、自動車は、ECU(Electronic Control Unit:電子制御装置)を有し、ECUによってエンジン制御等の機能を実現する。ECUは、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。複数のECUをCAN(Controller Area Network)に接続して構成される車載制御システムについてのセキュリティ技術が例えば非特許文献1に記載されている。 2. Description of the Related Art Conventionally, an automobile has an ECU (Electronic Control Unit), and functions such as engine control are realized by the ECU. The ECU is a kind of computer and realizes a desired function by a computer program. For example, Non-Patent Document 1 discloses a security technique for an in-vehicle control system configured by connecting a plurality of ECUs to a CAN (Controller Area Network).
自動車の車載制御システムのECUに適用される更新プログラム等のデータの信頼性を向上させることが一つの課題であった。 One problem has been to improve the reliability of data such as update programs applied to ECUs for in-vehicle control systems of automobiles.
本発明は、このような事情を考慮してなされたものであり、ECU等の車載コンピュータに適用されるデータの信頼性を向上させることができるデータ提供システム及びデータ提供方法を提供することを課題とする。 The present invention has been made in view of such circumstances, and it is an object of the present invention to provide a data providing system and a data providing method capable of improving the reliability of data applied to an in-vehicle computer such as an ECU. And
(1)本発明の一態様は、データ提供装置と、車両に搭載される車載コンピュータとを備え、前記データ提供装置は、前記車両とデータを送受する車両インタフェースを備え、前記車載コンピュータに適用されるコンピュータプログラム又は設定データである第1データと前記第1データの第1メッセージ認証符号とを前記車両インタフェースにより前記車両に送信し、前記車載コンピュータは、自車載コンピュータの外部の装置とデータを送受する第1インタフェース部と、前記データ提供装置から提供された前記第1データを自車載コンピュータに適用し、前記データ提供装置から提供された前記第1メッセージ認証符号をセキュアブートで使用される期待値に設定し、前記第1データの自車載コンピュータへの適用後にセキュアブートを実行する制御部と、セキュアブートにおいて、自車載コンピュータに適用された前記第1データを対象にして第2メッセージ認証符号を計算し、該第2メッセージ認証符号を前記期待値に基づいて検証する第1測定部と、を備え、前記制御部は、前記第1測定部の検証の結果に基づいた前記第1データの自車載コンピュータへの適用の合否を示すデータ適用結果を前記第1インタフェース部により送信し、前記データ提供装置は、前記車両インタフェースにより前記車両から前記データ適用結果を受信する、データ提供システムである。
(2)本発明の一態様は、上記(1)のデータ提供システムにおいて、前記データ提供装置は、前記車載コンピュータの第1共通鍵を使用して前記第1メッセージ認証符号を計算する期待値計算部をさらに備え、前記第1測定部は、自車載コンピュータの前記第1共通鍵を使用して前記第2メッセージ認証符号を計算する、データ提供システムである。
(3)本発明の一態様は、上記(1)又は(2)のいずれかのデータ提供システムにおいて、データ保安装置をさらに備え、前記データ提供装置は、前記第1メッセージ認証符号の第3メッセージ認証符号を前記車両インタフェースにより前記車両に送信し、前記データ保安装置は、自データ保安装置の外部の装置とデータを送受する第2インタフェース部と、前記第2インタフェース部により前記データ提供装置から受信した前記第1メッセージ認証符号の第4メッセージ認証符号を計算し、前記第2インタフェース部により前記データ提供装置から受信した前記第3メッセージ認証符号に基づいて該第4メッセージ認証符号を検証する第2測定部と、を備え、前記第4メッセージ認証符号の検証が合格した前記第1メッセージ認証符号を前記第2インタフェース部により前記車載コンピュータに送信する、データ提供システムである。
(4)本発明の一態様は、上記(3)のデータ提供システムにおいて、前記期待値計算部は、前記データ保安装置の第2共通鍵を使用して前記第3メッセージ認証符号を計算し、前記第2測定部は、自データ保安装置の前記第2共通鍵を使用して前記第4メッセージ認証符号を計算する、データ提供システムである。
(1) One aspect of the present invention includes a data providing device and an in-vehicle computer mounted on a vehicle, and the data providing device includes a vehicle interface that transmits and receives data to and from the vehicle, and is applied to the in-vehicle computer. First data that is a computer program or setting data and a first message authentication code of the first data are transmitted to the vehicle by the vehicle interface, and the in-vehicle computer transmits and receives data to and from an external device of the in-vehicle computer. An expected value used in a secure boot by applying the first data provided from the data providing device to the in-vehicle computer, and using the first message authentication code provided from the data providing device To secure boot after application of the first data to the in-vehicle computer In the secure boot, the second message authentication code is calculated for the first data applied to the in-vehicle computer, and the second message authentication code is verified based on the expected value. A first measurement unit, and the control unit displays a data application result indicating whether the first data is applied to the in-vehicle computer based on the verification result of the first measurement unit by the first interface unit. And the data providing device receives the data application result from the vehicle via the vehicle interface.
(2) According to one aspect of the present invention, in the data providing system according to (1), the data providing device calculates the first message authentication code by using the first common key of the in-vehicle computer. A data providing system in which the first measurement unit calculates the second message authentication code using the first common key of the in-vehicle computer.
(3) One aspect of the present invention is the data providing system according to any one of (1) and (2), further including a data security device, wherein the data providing device includes a third message of the first message authentication code. An authentication code is transmitted to the vehicle through the vehicle interface, and the data security device receives a second interface unit that transmits / receives data to / from an external device of the data security device, and receives from the data providing device through the second interface unit. Calculating a fourth message authentication code of the first message authentication code and verifying the fourth message authentication code based on the third message authentication code received from the data providing apparatus by the second interface unit; A first measuring unit that has passed the verification of the fourth message authentication code. Transmitting to the vehicle computer by serial second interface unit is a data providing system.
(4) According to one aspect of the present invention, in the data providing system according to (3), the expected value calculation unit calculates the third message authentication code using a second common key of the data security device, The second measurement unit is a data providing system that calculates the fourth message authentication code using the second common key of the own data security device.
(5)本発明の一態様は、データ提供装置と、車両に搭載される車載コンピュータとを備えるデータ提供システムのデータ提供方法であって、前記データ提供装置が、前記車載コンピュータに適用されるコンピュータプログラム又は設定データである第1データと前記第1データの第1メッセージ認証符号とを前記車両インタフェースにより前記車両に送信するデータ提供ステップと、前記車載コンピュータが、前記データ提供装置から提供された前記第1データを自車載コンピュータに適用し、前記データ提供装置から提供された前記第1メッセージ認証符号をセキュアブートで使用される期待値に設定し、前記第1データの自車載コンピュータへの適用後にセキュアブートを実行する実行ステップと、前記車載コンピュータが、セキュアブートにおいて、自車載コンピュータに適用された前記第1データを対象にして第2メッセージ認証符号を計算し、該第2メッセージ認証符号を前記期待値に基づいて検証する測定ステップと、前記車載コンピュータが、前記測定ステップの検証の結果に基づいた前記第1データの自車載コンピュータへの適用の合否を示すデータ適用結果を、自車載コンピュータの外部の装置とデータを送受する第1インタフェース部により送信する送信ステップと、前記データ提供装置が、前記車両インタフェースにより前記車両から前記データ適用結果を受信する受信ステップと、を含むデータ提供方法である。 (5) One aspect of the present invention is a data providing method of a data providing system including a data providing apparatus and an in-vehicle computer mounted on a vehicle, wherein the data providing apparatus is applied to the in-vehicle computer. A data providing step of transmitting first data as a program or setting data and a first message authentication code of the first data to the vehicle by the vehicle interface; and the in-vehicle computer provided from the data providing device After applying the first data to the in-vehicle computer, setting the first message authentication code provided from the data providing device to an expected value used in secure boot, and applying the first data to the in-vehicle computer An execution step of executing secure boot and the in-vehicle computer A measurement step of calculating a second message authentication code for the first data applied to the in-vehicle computer and verifying the second message authentication code based on the expected value; Transmits a data application result indicating whether the first data is applied to the in-vehicle computer based on the verification result of the measurement step by the first interface unit that transmits / receives data to / from an external device of the in-vehicle computer. The data providing method includes: a transmitting step for receiving; and a receiving step in which the data providing apparatus receives the data application result from the vehicle through the vehicle interface.
本発明によれば、ECU等の車載コンピュータに適用されるデータの信頼性を向上させることができるという効果が得られる。 According to the present invention, it is possible to improve the reliability of data applied to an in-vehicle computer such as an ECU.
以下、図面を参照し、本発明の実施形態について説明する。なお、以下に示す実施形態では、車両として自動車を例に挙げて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following embodiment, a vehicle will be described as an example of a vehicle.
図1は、一実施形態に係るデータ提供システム及び自動車1001の構成例を示す図である。本実施形態では、車載コンピュータの一例として、自動車1001に搭載されるECU(電子制御装置)を挙げて説明する。
FIG. 1 is a diagram illustrating a configuration example of a data providing system and an
図1において、自動車1001は、データ保安装置1010と複数のECU1020とを備える。ECU1020は、自動車1001に備わる車載コンピュータである。ECU1020は、自動車1001のエンジン制御等の制御機能を有する。ECU1020として、例えば、エンジン制御機能を有するECU、ハンドル制御機能を有するECU、ブレーキ制御機能を有するECUなどがある。データ保安装置1010は、自動車1001に搭載されたECU1020に適用されるデータのセキュリティ(保安)の機能を有する。なお、自動車1001に搭載されたいずれかのECUをデータ保安装置1010として機能させてもよい。
In FIG. 1, an
データ保安装置1010と複数のECU1020は、自動車1001に備わるCAN(Controller Area Network)1030に接続される。CAN1030は通信ネットワークである。CANは車両に搭載される通信ネットワークの一つとして知られている。データ保安装置1010は、CAN1030を介して、各ECU1020との間でデータを交換する。ECU1020は、CAN1030を介して、他のECU1020との間でデータを交換する。
The
なお、車両に搭載される通信ネットワークとして、CAN以外の通信ネットワークを自動車1001に備え、CAN以外の通信ネットワークを介して、データ保安装置1010とECU1020との間のデータの交換、及び、ECU1020同士の間のデータの交換が行われてもよい。例えば、LIN(Local Interconnect Network)を自動車1001に備えてもよい。また、CANとLINとを自動車1001に備えてもよい。また、自動車1001において、LINに接続するECU1020を備えてもよい。また、データ保安装置1010は、CANとLINとに接続されてもよい。また、データ保安装置1010は、CANを介して該CANに接続されるECU1020との間でデータを交換し、また、LINを介して該LINに接続されるECU1020との間でデータを交換してもよい。また、ECU1020同士が、LINを介してデータを交換してもよい。
In addition, as a communication network mounted on the vehicle, a communication network other than CAN is provided in the
自動車1001に備わる車載コンピュータシステム1002は、データ保安装置1010と複数のECU1020とがCAN1030に接続されて構成される。本実施形態において、車載コンピュータシステム1002は、自動車1001の車載制御システムとして機能する。
An in-
ゲートウェイ1070は、車載コンピュータシステム1002の内部と外部の間の通信を監視する。ゲートウェイ1070はCAN1030に接続される。また、ゲートウェイ1070は、車載コンピュータシステム1002の外部の装置の例として、インフォテイメント機器1040、TCU(Tele Communication Unit)1050及び診断ポート1060と接続される。データ保安装置1010及びECU1020は、ゲートウェイ1070を介して、車載コンピュータシステム1002の外部の装置と通信を行う。
The
なお、CAN1030の構成として、CAN1030が複数のバス(通信線)を備え、該複数のバスをゲートウェイ1070に接続してもよい。この場合、一つのバスに、一つのECU1020又は複数のECU1020が接続される。また、同じバスにデータ保安装置1010とECU1020とが接続されてもよく、又は、データ保安装置1010が接続されるバスとECU1020が接続されるバスとを別個にしてもよい。
As a configuration of the CAN 1030, the CAN 1030 may include a plurality of buses (communication lines), and the plurality of buses may be connected to the
自動車1001は診断ポート1060を備える。診断ポート1060として、例えばOBD(On-board Diagnostics)ポートを使用してもよい。診断ポート1060には、自動車1001の外部の装置を接続可能である。診断ポート1060に接続可能な自動車1001の外部の装置として、例えば、図1に示されるメンテナンスツール2100などがある。データ保安装置1010と、診断ポート1060に接続された装置、例えばメンテナンスツール2100とは、診断ポート1060及びゲートウェイ1070を介して、データを交換する。メンテナンスツール2100は、OBDポートに接続される従来の診断端末の機能を有していてもよい。
The
自動車1001はインフォテイメント(Infotainment)機器1040を備える。インフォテイメント機器1040として、例えば、ナビゲーション機能、位置情報サービス機能、音楽や動画などのマルチメディア再生機能、音声通信機能、データ通信機能、インターネット接続機能などを有するものが挙げられる。
The
自動車1001は、TCU1050を備える。TCU1050は通信装置である。TCU1050は通信モジュール1051を備える。通信モジュール1051は、無線通信ネットワークを利用して無線通信を行う。通信モジュール1051は、SIM(Subscriber Identity Module)1052を備える。SIM1052は、無線通信ネットワークを利用するための情報が書き込まれたSIMである。通信モジュール1051は、SIM1052を使用することにより該無線通信ネットワークに接続して無線通信を行うことができる。なお、SIM1052として、eSIM(Embedded Subscriber Identity Module)を使用してもよい。
The
データ保安装置1010は、ゲートウェイ1070を介して、TCU1050とデータを交換する。なお、TCU1050とデータ保安装置1010とを通信ケーブルで直接接続し、TCU1050とデータ保安装置1010は該通信ケーブルを介してデータを交換してもよい。例えば、USB(universal serial bus)ケーブルでTCU1050とデータ保安装置1010とを直接接続し、TCU1050とデータ保安装置1010は該USBケーブルを介してデータを交換してもよい。また、TCU1050とデータ保安装置1010とをUSBケーブル等の通信ケーブルで直接接続し、該通信ケーブルを介してTCU1050とデータ保安装置1010間のデータの交換を行う場合、TCU1050とデータ保安装置1010とのうち送信側の装置は、受信側の装置に送信するデータを一時的に蓄えるバッファを備えてもよい。
The
なお、TCU1050の他の接続形態として、例えば、TCU1050をインフォテイメント機器1040に接続し、データ保安装置1010が、ゲートウェイ1070及びインフォテイメント機器1040を介して、TCU1050とデータを交換してもよい。又は、TCU1050を診断ポート1060に接続し、データ保安装置1010が、ゲートウェイ1070及び診断ポート1060を介して、該診断ポート1060に接続されたTCU1050とデータを交換してもよい。又は、データ保安装置1010が、SIM1052を含む通信モジュール1051を備えてもよい。データ保安装置1010がSIM1052を含む通信モジュール1051を備える場合には、自動車1001はTCU1050を備えなくてもよい。
As another connection form of the
データ保安装置1010は、メイン演算器1011とHSM(Hardware Security Module)1012を備える。メイン演算器1011は、データ保安装置1010の機能を実現させるためのコンピュータプログラムを実行する。HSM1012は暗号処理機能等を有する。HSM1012は耐タンパー性(Tamper Resistant)を有する。HSM1012はセキュアエレメント(Secure Element:SE)の例である。HSM1012は、データを記憶する記憶部1013を備える。メイン演算器1011はHSM1012を使用する。
The
ECU1020は、メイン演算器1021とSHE(Secure Hardware Extension)1022を備える。メイン演算器1021は、ECU1020の機能を実現させるためのコンピュータプログラムを実行する。SHE1022は暗号処理機能等を有する。SHE1022は耐タンパー性を有する。SHE1022はセキュアエレメントの例である。SHE1022は、データを記憶する記憶部1023を備える。メイン演算器1021はSHE1022を使用する。
The
サーバ装置2000は、通信回線を介して、自動車1001のTCU1050の通信モジュール1051とデータを送受する。サーバ装置2000は、自動車1001のTCU1050の通信モジュール1051が利用する無線通信ネットワークを介して、該通信モジュール1051とデータを送受する。又は、サーバ装置2000は、インターネット等の通信ネットワークと該無線通信ネットワークとを介して、該通信モジュール1051とデータを送受してもよい。また、例えば、サーバ装置2000と通信モジュール1051との間をVPN(Virtual Private Network)回線等の専用回線で接続し、該専用回線でデータを送受してもよい。例えば、SIM1052に対応する無線通信ネットワークによって、VPN回線等の専用回線が提供されてもよい。なお、サーバ装置2000と自動車1001とを通信ケーブルで接続してもよい。例えば、サーバ装置2000と自動車1001のゲートウェイ1070とを通信ケーブルで接続するように構成してもよい。
サーバ装置2000は、ECU1020に適用されるECUコード(ECU code)を自動車1001に提供する。ECUコードは、ECU1020に適用されるデータの例である。ECUコードは、ECU1020にインストールされる更新プログラム等のコンピュータプログラムであってもよく、又は、ECU1020に設定されるパラメータ設定値などの設定データであってもよい。
図2は、サーバ装置2000の構成例を示す図である。図2において、サーバ装置2000は、通信部2011と記憶部2012と期待値計算部2013と検証部2014と鍵生成部2015と暗号処理部2016とを備える。通信部2011は、通信回線を介して、他の装置と通信を行う。通信部2011は車両インタフェースに対応する。記憶部2012は、データを記憶する。期待値計算部2013は、ECUコードについての期待値を計算する。検証部2014は、ECU1020の測定値の検証に係る処理を行う。鍵生成部2015は、鍵を生成する。暗号処理部2016は、データの暗号化及び暗号化データの復号を行う。
FIG. 2 is a diagram illustrating a configuration example of the
サーバ装置2000の機能は、該サーバ装置2000が備えるCPUがコンピュータプログラムを実行することにより実現される。なお、サーバ装置2000として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。
The functions of the
図3は、データ保安装置1010の構成例を示す図である。図3において、データ保安装置1010は、メイン演算器1011とHSM1012とインタフェース部20とを備える。メイン演算器1011は、制御部21と記憶部22とを備える。HSM1012は、記憶部1013と暗号処理部32と測定部33とを備える。
FIG. 3 is a diagram illustrating a configuration example of the
インタフェース部20は、自データ保安装置1010の外部の装置とデータを送受する。インタフェース部20は、CAN1030を介してデータを送受するインタフェースを備える。メイン演算器1011は、インタフェース部20を介して、データ保安装置1010以外の他の装置とデータの送受を行う。
The
制御部21は、データ保安装置1010の制御を行う。記憶部22は、データを記憶する。記憶部1013は、データを記憶する。暗号処理部32は、データの暗号化及び暗号化データの復号を行う。測定部33は、ECUコード等のデータの測定値を計算し、該測定値を期待値に基づいて検証する。
The
図4は、ECU1020の構成例を示す図である。図4において、ECU1020は、メイン演算器1021とSHE1022とインタフェース部40とを備える。メイン演算器1021は、制御部41と記憶部42とを備える。SHE1022は、記憶部1023と暗号処理部52と測定部53とを備える。
FIG. 4 is a diagram illustrating a configuration example of the
インタフェース部40は、自ECU1020の外部の装置とデータを送受する。インタフェース部40は、CAN1030を介してデータを送受するインタフェースを備える。メイン演算器1021は、インタフェース部40を介して、自ECU1020以外の他の装置とデータの送受を行う。
The
制御部41は、ECU1020の制御を行う。記憶部42は、データを記憶する。記憶部1023は、データを記憶する。暗号処理部52は、データの暗号化及び暗号化データの復号を行う。測定部53は、ECUコード等のデータの測定値を計算し、該測定値を期待値に基づいて検証する。
The
なお、本実施形態では、データ保安装置1010にHSMを使用しているが、データ保安装置1010においてHSMの代わりにSHEを使用してもよい。なお、SHEについては、例えば非特許文献2に記載されている。
In this embodiment, HSM is used for the
次に図5を参照して、本実施形態に係るデータ提供方法の例を説明する。図5は、本実施形態に係るデータ提供方法の例を示すシーケンスチャートである。 Next, an example of a data providing method according to the present embodiment will be described with reference to FIG. FIG. 5 is a sequence chart showing an example of a data providing method according to the present embodiment.
サーバ装置2000は、マスタ鍵Master_Secretと、ECU1020のECUコードとを予め記憶部2012に格納している。ECU1020のECUコードは、ECU1020に適用する予定のECUコードを含む。データ保安装置1010は、署名鍵Kbc及び暗号鍵Kecを予めHSM1012の記憶部1013に格納している。ECU1020は、署名鍵Kbeを予めSHE1022の記憶部1023に格納している。
The
以下、サーバ装置2000は、通信部2011により、自動車1001のTCU1050と通信を行い、TCU1050及びゲートウェイ1070を介して、自動車1001のCAN1030に接続されるデータ保安装置1010との間でデータを送受する。なお、サーバ装置2000とデータ保安装置1010との間の通信路として、暗号化通信路を使用してもよい。例えば、サーバ装置2000とデータ保安装置1010は、暗号化通信路の一例として、https(hypertext transfer protocol secure)通信を行ってもよい。
Hereinafter, the
(ステップS101)サーバ装置2000の鍵生成部2015は、自動車1001に搭載されているデータ保安装置1010の署名鍵Kbc及び暗号鍵Kec、並びに、ECU1020の署名鍵Kbeを生成する。
(Step S101) The
鍵生成部2015の鍵生成方法の例を説明する。鍵生成部2015は、記憶部2012に格納されているマスタ鍵Master_Secretと、鍵生成対象装置の識別子UNIT_IDと、変数Nkとを使用して、次式により鍵(共通鍵)を生成する。
共通鍵=ダイジェスト(Master_Secret、UNIT_ID、Nk)
An example of a key generation method of the
Common key = digest (Master_Secret, UNIT_ID, Nk)
但し、鍵生成対象装置がデータ保安装置1010である場合には、UNIT_IDはデータ保安装置1010の識別子SecU_IDである。鍵生成対象装置がECU1020である場合には、UNIT_IDはECU1020の識別子ECU_IDである。ダイジェスト(Master_Secret、UNIT_ID、Nk)は、マスタ鍵Master_Secretと識別子UNIT_IDと変数Nkとから生成されるダイジェスト値である。ダイジェスト値として、例えば、ハッシュ(hash)関数により算出される値、排他的論理和演算により算出される値、又は、CMAC(Cipher-based Message Authentication Code)などが挙げられる。例えば、共通鍵は、マスタ鍵Master_Secretと識別子UNIT_IDと変数Nkとを入力値に使用して算出されるハッシュ関数値である。
However, when the key generation target device is the
変数Nkの値が異なれば、ダイジェスト値は異なる。変数Nkの値を変えることによって、同じマスタ鍵Master_Secretと識別子UNIT_IDとから、異なる共通鍵を生成することができる。例えば、署名鍵用の変数Nkの値をNk_aとし、暗号鍵用の変数Nkの値をNk_bとする。鍵生成部2015は、マスタ鍵Master_Secretと、データ保安装置1010の識別子SecU_IDと、変数Nk_a,Nk_bとを使用して、
署名鍵Kbc=ダイジェスト(Master_Secret、SecU_ID、Nk_a)、
暗号鍵Kec=ダイジェスト(Master_Secret、SecU_ID、Nk_b)、
により、データ保安装置1010の署名鍵Kbcと暗号鍵Kecとを異なる鍵として生成する。また、鍵生成部2015は、マスタ鍵Master_Secretと、ECU1020の識別子ECU_IDと、変数Nk_aとを使用して、
署名鍵Kbe=ダイジェスト(Master_Secret、ECU_ID、Nk_a)、
により、ECU1020の署名鍵Kbeを生成する。記憶部2012は、データ保安装置1010の署名鍵Kbc及び暗号鍵Kec、並びに、ECU1020の署名鍵Kbeを格納する。データ保安装置1010のHSM1012の記憶部1013は、サーバ装置2000と同じ鍵生成方法によって生成された署名鍵Kbc及び暗号鍵Kecを予め格納している。ECU1020のSHE1022の記憶部1023は、サーバ装置2000と同じ鍵生成方法によって生成された署名鍵Kbeを予め格納している。
If the value of the variable Nk is different, the digest value is different. By changing the value of the variable Nk, different common keys can be generated from the same master key Master_Secret and identifier UNIT_ID. For example, the value of the signature key variable Nk is Nk_a, and the value of the encryption key variable Nk is Nk_b. The
Signature key Kbc = Digest (Master_Secret, SecU_ID, Nk_a),
Encryption key Kec = digest (Master_Secret, SecU_ID, Nk_b),
Thus, the signature key Kbc and the encryption key Kec of the
Signature key Kbe = Digest (Master_Secret, ECU_ID, Nk_a),
Thus, the signature key Kbe of the
なお、本実施形態に係る鍵(共通鍵)の生成方法の他の例として、署名鍵をハッシュ関数により算出される値とし、暗号鍵を排他的論理和演算により算出される値としてもよい。又は、その逆、つまり、署名鍵を排他的論理和演算により算出される値とし、暗号鍵をハッシュ関数により算出される値としてもよい。 As another example of the key (common key) generation method according to the present embodiment, the signature key may be a value calculated by a hash function, and the encryption key may be a value calculated by an exclusive OR operation. Or vice versa, that is, the signature key may be a value calculated by an exclusive OR operation, and the encryption key may be a value calculated by a hash function.
(ステップS102)サーバ装置2000の期待値計算部2013は、自動車1001に搭載されているECU1020に適用する予定のECUコードのCMACを、データ保安装置1010の署名鍵Kbcにより計算する。この計算結果のCMACは、該ECUコードについての期待値である。なお、本実施形態では、ECUコードの測定値の一例として、CMACを使用する。期待値計算部2013が計算したECUコードの期待値(CMAC)は、該ECUコードの測定値(CMAC)の検証に使用される。記憶部2012は、ECUコードの期待値(CMAC)を格納する。
(Step S102) The expected
(ステップS103)サーバ装置2000は、通信部2011により、ECU1020に適用されるECUコードと、期待値計算部2013が計算した期待値(CMAC)とを、データ保安装置1010に送信する。データ保安装置1010は、サーバ装置2000から送信されたECUコードと期待値(CMAC)とを受信する。
(Step S <b> 103) The
(ステップS104)データ保安装置1010の制御部21は、サーバ装置2000から受信した期待値のCMACをHSM1012に渡し、該CMACをHSM1012における測定値の期待値に設定する。制御部21は、サーバ装置2000から受信したECUコードをHSM1012に渡し、HSM1012にECUコードの測定を実行させる。HSM1012の測定部33は、記憶部1013に格納している署名鍵Kbcにより、ECUコードの測定値を計算する。本実施形態では、測定値の一例としてCMACを使用する。よって、測定部33は、記憶部1013に格納している署名鍵Kbcにより、ECUコードのCMACを計算する。
(Step S104) The
測定部33は、測定値のCMACと、測定値のCMACとを比較する。この比較の結果、両者が一致する場合には測定値(CMAC)の検証が合格であり、両者が一致しない場合には測定値(CMAC)の検証が不合格である。HSM1012は、測定値の検証結果「合格又は不合格」を制御部21に渡す。制御部21は、ECUコードの測定値の検証結果が合格である場合に、ステップS105に処理を進める。一方、制御部21は、ECUコードの測定値の検証結果が不合格である場合には、図5の処理を終了する。
The measuring
なお、ECUコードの測定値の検証結果が不合格である場合には、制御部21は、所定のエラー処理を実行してもよい。例えば、制御部21は、ECUコードの測定値の検証結果が不合格であることを示すエラーメッセージを、サーバ装置2000に送信してもよい。サーバ装置2000は、該エラーメッセージに応じて、所定のエラー処理を実行してもよい。例えば、サーバ装置2000は、ECUコードと期待値(CMAC)とをデータ保安装置1010に再送信したり、又は、期待値(CMAC)を再生成してデータ保安装置1010に送信したりしてもよい。
In addition, when the verification result of the measured value of the ECU code is unacceptable, the
(ステップS105)データ保安装置1010の制御部21は、ECUコードの測定値の検証が合格したECUコードを、インタフェース部20によりECU1020に送信する。ECU1020は、データ保安装置1010から送信されたECUコードを受信する。
(Step S <b> 105) The
(ステップS106)ECU1020の制御部41は、データ保安装置1010から受信したECUコードを自ECU1020に適用する。
(Step S106) The
(ステップS107)ECU1020の制御部41は、ECUコードの適用後に、セキュアブートを実行する。このセキュアブートでは、SHE1022の測定部53は、記憶部1023に格納している署名鍵KbeによりECUコードの測定値を計算する。本実施形態では、測定値の一例として、CMACを使用する。よって、測定部53は、記憶部1023に格納している署名鍵Kbeにより、ECUコードのCMACを計算する。測定部53は、該計算結果のCMACと期待値との比較を行う。制御部41は、セキュアブートの実行前に、予め、期待値をSHE1022に設定する。該計算結果のCMACと期待値との比較の結果、両者が一致する場合にはセキュアブート結果が合格であり、両者が一致しない場合にはセキュアブート結果が不合格である。SHE1022は、セキュアブート結果を制御部41に渡す。制御部41は、セキュアブート結果が合格である場合にECUコードの実行を進める。一方、制御部41は、セキュアブート結果が不合格である場合にはECUコードの実行を停止する。
なお、ECU1020のセキュアブートで使用される期待値は、サーバ装置2000又はデータ保安装置1010からECU1020に予め供給される。サーバ装置2000がECU1020にセキュアブートで使用される期待値を供給する場合、サーバ装置2000の期待値計算部2013がECU1020の署名鍵KbeによりECUコードの期待値(CMAC)を計算する。ECU1020の署名鍵Kbeは、予め、ECU1020とサーバ装置2000間で共有しておく。また、サーバ装置2000は、「ECU1020のセキュアブートで使用される期待値(CMAC)」の期待値(CMAC)を、上記ステップS102と同様にデータ保安装置1010の署名鍵Kbcにより計算し、この計算結果のCMACと「ECU1020のセキュアブートで使用される期待値(CMAC)」とを上記ステップS103と同様にデータ保安装置1010に送信してもよい。データ保安装置1010は、サーバ装置2000から受信した「ECU1020のセキュアブートで使用される期待値(CMAC)」と該期待値のCMACについて、上記ステップS104と同様に、自己の署名鍵Kbcにより検証を行う。データ保安装置1010は、上記ステップS105と同様に、該検証が合格した場合に、サーバ装置2000から受信した「ECU1020のセキュアブートで使用される期待値(CMAC)」をECU1020に送信する。「ECU1020のセキュアブートで使用される期待値(CMAC)」は、ECU1020に適用されるデータの例である。
一方、データ保安装置1010がECU1020にセキュアブートで使用される期待値を供給する場合には、データ保安装置1010は、期待値計算部を有し、ECU1020の署名鍵KbeによりECUコードの期待値(CMAC)を計算する。ECU1020の署名鍵Kbeは、予め、ECU1020とデータ保安装置1010間で共有しておく。
(Step S107) The
Note that the expected value used in the secure boot of the
On the other hand, when the
(ステップS108)ECU1020の制御部41は、インタフェース部40により、セキュアブート結果「合格又は不合格」をデータ保安装置1010に送信する。データ保安装置1010は、ECU1020から受信したセキュアブート結果「合格又は不合格」をサーバ装置2000に転送する。セキュアブート結果「合格又は不合格」は、ECUコードのECU1020への適用の合否を示すデータ適用結果に対応する。
(Step S <b> 108) The
サーバ装置2000は、通信部2011により、データ保安装置1010から送信されたセキュアブート結果「合格又は不合格」を受信する。サーバ装置2000は、データ保安装置1010から受信したセキュアブート結果「合格又は不合格」に応じて、所定の処理を実行する。例えば、セキュアブート結果が合格である場合には、その旨を記録する。一方、セキュアブート結果が不合格である場合には、サーバ装置2000は、所定のエラー処理を実行してもよい。例えば、エラー処理として、サーバ装置2000は、ECUコードと期待値(CMAC)とをデータ保安装置1010に再送信したり、又は、期待値(CMAC)を再生成してデータ保安装置1010に送信したりしてもよい。また、該エラー処理を、セキュアブート結果が合格になるまで繰り返す、又は、所定回数だけ繰り返してもよい。
The
なお、上記したステップS107のECUコードの適用後のセキュアブートは、必須ではなく、実行しなくてもよい。 The secure boot after application of the ECU code in step S107 described above is not essential and may not be executed.
次に、上述した図5のデータ提供方法の変形例を説明する。 Next, a modification of the above-described data providing method of FIG. 5 will be described.
<データ提供方法の変形例1>
ステップS103において、サーバ装置2000は、暗号処理部2016によりECUコードを暗号化して、データ保安装置1010に送信する。この暗号化に用いる鍵は、データ保安装置1010の暗号鍵Kecである。データ保安装置1010は、サーバ装置2000から受信した暗号化データを、HSM1012の暗号処理部32により、記憶部1013に格納されている暗号鍵Kecで復号して、ECUコードを取得する。
<Variation 1 of data providing method>
In step S <b> 103, the
<データ提供方法の変形例2>
ステップS105において、データ保安装置1010は、HSM1012の暗号処理部32によりECUコードを暗号化して、ECU1020に送信する。この暗号化に用いる鍵は、予め、データ保安装置1010とECU1020間で共有しておく。ECU1020は、データ保安装置1010から受信した暗号化データを、SHE1022の暗号処理部52により、記憶部1023に格納されている該当の鍵で復号して、ECUコードを取得する。
<
In step S <b> 105, the
<データ提供方法の変形例3>
ステップS105において、ECUコードは、CAN1030のパケットに格納されて、データ保安装置1010からECU1020に伝送される。データ保安装置1010は、該パケットに、該パケットについてのCMACをさらに含める。該CMACの生成に使用する鍵は、予め、データ保安装置1010とECU1020間で共有しておく。ECU1020は、データ保安装置1010から受信したパケットに含まれるCMACを、該当の鍵で検証する。ECU1020は、該CMACの検証が合格した場合に当該ECUコードを適用する。一方、ECU1020は、該CMACの検証が不合格である場合には当該ECUコードを適用しない。
<
In step S105, the ECU code is stored in a packet of
なお、ECUコードを格納するパケットに含めるCMACとして、該ECUコードの全て又は一部についてのCMACを使用してもよい。例えば、ECUコードを一定サイズのブロックに分割し、ブロック毎にCMACを計算して、該ブロックと該CMACとをパケットに格納してもよい。ECU1020は、ブロック毎にCMACを検証しながらECUコードを取得する。該CMACの生成に使用する鍵は、予め、データ保安装置1010とECU1020間で共有しておく。
Note that CMAC for all or part of the ECU code may be used as the CMAC included in the packet storing the ECU code. For example, the ECU code may be divided into blocks of a certain size, CMAC may be calculated for each block, and the block and the CMAC may be stored in a packet. The
<データ提供方法の変形例4>
ステップS108において、ECU1020からサーバ装置2000に送信するセキュアブート結果「合格又は不合格」は所定値とする。例えば、合格は「1」であり、不合格は「0」である。
<Modification 4 of Data Providing Method>
In step S108, the secure boot result “pass or fail” transmitted from the
<データ提供方法の変形例5>
ステップS108において、ECU1020からサーバ装置2000に送信するセキュアブート結果「合格又は不合格」は、ステップS107のセキュアブートで計算された結果のECUコードのCMACとする。サーバ装置2000の検証部2014は、ステップS103でデータ保安装置1010に送信したECUコードのCMACを、ECU1020の署名鍵Kbeにより計算する。サーバ装置2000の検証部2014は、該計算結果のCMACと、ECU1020のセキュアブート結果のCMACとを比較する。サーバ装置2000の検証部2014は、該比較の結果、両者が一致する場合にはECU1020のセキュアブート結果が合格であると判断し、両者が一致しない場合にはECU1020のセキュアブート結果が不合格であると判断する。
<
In step S108, the secure boot result “pass or fail” transmitted from the
<データ提供方法の変形例6>
サーバ装置2000は、検証値(例えば、乱数)を予めECU1020に供給する。ステップS108において、ECU1020は、セキュアブート結果が合格である場合にはセキュアブート結果「合格」に検証値を含め、一方、セキュアブート結果が不合格である場合にはセキュアブート結果「不合格」に検証値を含めない。サーバ装置2000の検証部2014は、ECU1020のセキュアブート結果「合格」に含まれる検証値と、予めECU1020に供給した元の検証値とを比較する。サーバ装置2000の検証部2014は、該比較の結果、両者が一致する場合にはECU1020のセキュアブート結果が合格であると判断し、両者が一致しない場合にはECU1020のセキュアブート結果が不合格であると判断する。
<
The
<データ提供方法の変形例7>
上記のデータ提供方法の変形例4,5,6のいずれか複数を組合せて適用する。
<Modification 7 of data providing method>
Any one of
<データ提供方法の変形例8>
上記のデータ提供方法の変形例4,5,6,7において、ECU1020は、SHE1022の暗号処理部52によりセキュアブート結果を暗号化して、サーバ装置2000に送信する。この暗号化に用いる鍵は、予め、サーバ装置2000とECU1020間で共有しておく。サーバ装置2000は、ECU1020からの暗号化データを、暗号処理部2016により、記憶部2012に格納されている該当の鍵で復号して、セキュアブート結果を取得する。なお、該暗号化に用いる鍵として、セキュアブート結果が合格である場合にのみSHE1022で使用可能となる暗号鍵を使用してもよい。この場合、セキュアブート結果「合格」を該暗号鍵により暗号化してもよい。
<Modification 8 of Data Providing Method>
In
次に、上述した図5のデータ提供方法におけるデータ保安装置1010とECU1020間の実施例を説明する。図6から図8は、本実施形態に係るデータ提供方法の実施例を示すフローチャートである。本実施例では、非特許文献3に記載される15章の「Non-volatile server memory programming process」において、「15.2.1.2 Programming step of phase #1 − Download of application software and data」の手順と、「15.2.1.3 Post-Programming step of phase #1 − Re-synchronization of vehicle network」の手順と、を利用する。図6及び図7には、非特許文献3に記載される「15.2.1.2 Programming step of phase #1 − Download of application software and data」の図33の「graphically depicts the functionality embedded in the programming step of phase #1.」における適用例が示されている。図8には、非特許文献3に記載される「15.2.1.3 Post-Programming step of phase #1 − Re-synchronization of vehicle network」の図34の「graphically depicts the functionality embedded in the post-programming step of phase #1.」における適用例が示されている。
Next, an embodiment between the
図6において、符号S1001で示されるステップは、データ保安装置1010のセキュリティ・アクセス(Security Access)の処理に対応する。図7において、符号S1002で示されるステップは、データ保安装置1010のECUコードのブロック毎の復号及び電子署名の検証の処理に対応する。図7において、符号S1003で示されるステップは、ECU1020のECUコードの検証の処理に対応する。図8において、符号S1004で示されるステップは、ECU1020のECUコードの適用後のセキュアブートの処理に対応する。
In FIG. 6, the step indicated by reference numeral S1001 corresponds to the security access processing of the
上述した実施形態によれば、データ保安装置1010は、サーバ装置2000から提供されたECUコードの期待値(CMAC)に基づいて、該ECUコードの測定値(CMAC)を検証し、この測定値(CMAC)の検証が合格したECUコードをECU1020に送信する。これにより、ECU1020に適用されるECUコードの信頼性を向上させることができる。また、サーバ装置2000がECU1020にセキュアブートで使用される期待値を供給する場合、ECUコードと同様に、データ保安装置1010がサーバ装置2000から受信した「ECU1020のセキュアブートで使用される期待値」と該期待値の期待値(CMAC)について検証を行うことにより、ECU1020に適用される「セキュアブートで使用される期待値」の信頼性を向上させることができる。
According to the above-described embodiment, the
上述した実施形態において、サーバ装置2000はデータ提供装置に対応する。
In the embodiment described above, the
なお、メンテナンスツール2100が、サーバ装置2000と同様の機能を備え、サーバ装置2000と同様のデータ提供方法により、診断ポート1060及びデータ保安装置1010を介してECU1020にECUコードを提供するように構成してもよい。
The
また、自動車1001のTCU1050又はゲートウェイ1070が、データ保安装置1010の機能を有してもよい。
Further, the
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。 As mentioned above, although embodiment of this invention was explained in full detail with reference to drawings, the specific structure is not restricted to this embodiment, The design change etc. of the range which does not deviate from the summary of this invention are included.
上述した実施形態では、データ保安装置1010やECU1020にHSMやSHEを使用したが、HSM及びSHE以外の暗号処理チップを使用してもよい。データ保安装置1010に対して、例えば「TPM(Trusted Platform Module)f」と呼ばれる暗号処理チップを使用してもよい。TPMfは耐タンパー性を有する。TPMfはセキュアエレメントの例である。ECU1020に対して、例えば「TPMt」と呼ばれる暗号処理チップを使用してもよい。TPMtは耐タンパー性を有する。TPMtはセキュアエレメントの例である。
In the above-described embodiment, HSM and SHE are used for the
上述した実施形態は、自動車の製造工場において、自動車の製造工程で自動車に搭載されたECUに適用してもよい。また、上述した実施形態は、自動車の整備工場や販売店等において、自動車に搭載されているECUに適用してもよい。 The above-described embodiment may be applied to an ECU mounted on a car in a car manufacturing process in a car manufacturing factory. Further, the above-described embodiment may be applied to an ECU mounted on an automobile in an automobile maintenance factory, a dealer, or the like.
上述した実施形態では、車両として自動車を例に挙げたが、原動機付自転車や鉄道車両等の自動車以外の他の車両にも適用可能である。 In the above-described embodiment, an automobile is taken as an example of the vehicle, but the present invention can also be applied to vehicles other than automobiles such as a motorbike and a railway vehicle.
また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
In addition, a computer program for realizing the functions of each device described above may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read into a computer system and executed. Here, the “computer system” may include an OS and hardware such as peripheral devices.
“Computer-readable recording medium” refers to a flexible disk, a magneto-optical disk, a ROM, a writable nonvolatile memory such as a flash memory, a portable medium such as a DVD (Digital Versatile Disc), and a built-in computer system. A storage device such as a hard disk.
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
Further, the “computer-readable recording medium” means a volatile memory (for example, DRAM (Dynamic DRAM) in a computer system that becomes a server or a client when a program is transmitted through a network such as the Internet or a communication line such as a telephone line. Random Access Memory)), etc., which hold programs for a certain period of time.
The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.
22,42,2012…記憶部、2013…期待値計算部、2014…検証部、32,52,2016…暗号処理部、20,40…インタフェース部、21,41…制御部、33,53…測定部、1001…自動車、1002…車載コンピュータシステム、1010…データ保安装置、1011,1021…メイン演算器、1012…HSM、1013,1023…記憶部、1020…ECU、1022…SHE、1030…CAN、1040…インフォテイメント機器、1050…TCU、1051…通信モジュール、1052…SIM、1060…診断ポート、1070…ゲートウェイ、2000…サーバ装置、2011…通信部、2015…鍵生成部、2100…メンテナンスツール 22, 42, 2012 ... storage unit, 2013 ... expected value calculation unit, 2014 ... verification unit, 32, 52, 2016 ... cryptographic processing unit, 20, 40 ... interface unit, 21, 41 ... control unit, 33, 53 ... measurement , 1001... Car, 1002. In-vehicle computer system, 1010. ... infotainment device, 1050 ... TCU, 1051 ... communication module, 1052 ... SIM, 1060 ... diagnostic port, 1070 ... gateway, 2000 ... server device, 2011 ... communication unit, 2015 ... key generation unit, 2100 ... maintenance tool
Claims (5)
前記データ提供装置は、前記車両とデータを送受する車両インタフェースを備え、前記車載コンピュータに適用されるコンピュータプログラム又は設定データである第1データと前記第1データの第1メッセージ認証符号とを前記車両インタフェースにより前記車両に送信し、
前記車載コンピュータは、
自車載コンピュータの外部の装置とデータを送受する第1インタフェース部と、
前記データ提供装置から提供された前記第1データを自車載コンピュータに適用し、前記データ提供装置から提供された前記第1メッセージ認証符号をセキュアブートで使用される期待値に設定し、前記第1データの自車載コンピュータへの適用後にセキュアブートを実行する制御部と、
セキュアブートにおいて、自車載コンピュータに適用された前記第1データを対象にして第2メッセージ認証符号を計算し、該第2メッセージ認証符号を前記期待値に基づいて検証する第1測定部と、を備え、
前記制御部は、前記第1測定部の検証の結果に基づいた前記第1データの自車載コンピュータへの適用の合否を示すデータ適用結果を前記第1インタフェース部により送信し、
前記データ提供装置は、前記車両インタフェースにより前記車両から前記データ適用結果を受信する、
データ提供システム。 A data providing device and an in-vehicle computer mounted on the vehicle;
The data providing apparatus includes a vehicle interface that transmits and receives data to and from the vehicle, and receives first data that is a computer program or setting data applied to the in-vehicle computer and a first message authentication code of the first data. Transmitted to the vehicle by interface,
The in-vehicle computer is
A first interface unit for transmitting / receiving data to / from an external device of the in-vehicle computer;
The first data provided from the data providing device is applied to an in-vehicle computer, the first message authentication code provided from the data providing device is set to an expected value used in secure boot, and the first data A control unit that executes secure boot after data is applied to the vehicle-mounted computer;
In secure boot, a first measurement unit that calculates a second message authentication code for the first data applied to the in-vehicle computer and verifies the second message authentication code based on the expected value; Prepared,
The control unit transmits, by the first interface unit, a data application result indicating whether the first data is applied to the in-vehicle computer based on the verification result of the first measurement unit,
The data providing device receives the data application result from the vehicle by the vehicle interface;
Data provision system.
前記第1測定部は、自車載コンピュータの前記第1共通鍵を使用して前記第2メッセージ認証符号を計算する、
請求項1に記載のデータ提供システム。 The data providing apparatus further includes an expected value calculation unit that calculates the first message authentication code using a first common key of the in-vehicle computer,
The first measurement unit calculates the second message authentication code using the first common key of the in-vehicle computer.
The data providing system according to claim 1.
前記データ提供装置は、前記第1メッセージ認証符号の第3メッセージ認証符号を前記車両インタフェースにより前記車両に送信し、
前記データ保安装置は、
自データ保安装置の外部の装置とデータを送受する第2インタフェース部と、
前記第2インタフェース部により前記データ提供装置から受信した前記第1メッセージ認証符号の第4メッセージ認証符号を計算し、前記第2インタフェース部により前記データ提供装置から受信した前記第3メッセージ認証符号に基づいて該第4メッセージ認証符号を検証する第2測定部と、を備え、前記第4メッセージ認証符号の検証が合格した前記第1メッセージ認証符号を前記第2インタフェース部により前記車載コンピュータに送信する、
請求項1又は2のいずれか1項に記載のデータ提供システム。 A data security device,
The data providing device transmits a third message authentication code of the first message authentication code to the vehicle by the vehicle interface,
The data security device is
A second interface unit for transmitting / receiving data to / from an external device of the data security device;
A fourth message authentication code of the first message authentication code received from the data providing device by the second interface unit is calculated, and based on the third message authentication code received from the data providing device by the second interface unit. A second measuring unit that verifies the fourth message authentication code, and transmits the first message authentication code that has passed the verification of the fourth message authentication code to the in-vehicle computer by the second interface unit.
The data provision system of any one of Claim 1 or 2.
前記第2測定部は、自データ保安装置の前記第2共通鍵を使用して前記第4メッセージ認証符号を計算する、
請求項3に記載のデータ提供システム。 The expected value calculation unit calculates the third message authentication code using a second common key of the data security device;
The second measuring unit calculates the fourth message authentication code using the second common key of the own data security device.
The data provision system according to claim 3.
前記データ提供装置が、前記車載コンピュータに適用されるコンピュータプログラム又は設定データである第1データと前記第1データの第1メッセージ認証符号とを前記車両インタフェースにより前記車両に送信するデータ提供ステップと、
前記車載コンピュータが、前記データ提供装置から提供された前記第1データを自車載コンピュータに適用し、前記データ提供装置から提供された前記第1メッセージ認証符号をセキュアブートで使用される期待値に設定し、前記第1データの自車載コンピュータへの適用後にセキュアブートを実行する実行ステップと、
前記車載コンピュータが、セキュアブートにおいて、自車載コンピュータに適用された前記第1データを対象にして第2メッセージ認証符号を計算し、該第2メッセージ認証符号を前記期待値に基づいて検証する測定ステップと、
前記車載コンピュータが、前記測定ステップの検証の結果に基づいた前記第1データの自車載コンピュータへの適用の合否を示すデータ適用結果を、自車載コンピュータの外部の装置とデータを送受する第1インタフェース部により送信する送信ステップと、
前記データ提供装置が、前記車両インタフェースにより前記車両から前記データ適用結果を受信する受信ステップと、
を含むデータ提供方法。 A data providing method of a data providing system comprising a data providing device and an in-vehicle computer mounted on a vehicle,
A data providing step in which the data providing device transmits first data which is a computer program or setting data applied to the in-vehicle computer and a first message authentication code of the first data to the vehicle by the vehicle interface;
The in-vehicle computer applies the first data provided from the data providing apparatus to the own in-vehicle computer, and sets the first message authentication code provided from the data providing apparatus to an expected value used in secure boot. And executing the secure boot after applying the first data to the in-vehicle computer,
A measurement step in which the in-vehicle computer calculates a second message authentication code for the first data applied to the in-vehicle computer in secure boot, and verifies the second message authentication code based on the expected value. When,
A first interface through which the in-vehicle computer transmits / receives data application results indicating whether the first data is applied to the in-vehicle computer based on the result of the verification of the measurement step to / from an external device of the in-vehicle computer. A transmission step of transmitting by the unit;
The data providing device receives the data application result from the vehicle by the vehicle interface; and
A method of providing data including:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017201990A JP6554704B2 (en) | 2017-10-18 | 2017-10-18 | Data providing system and data providing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017201990A JP6554704B2 (en) | 2017-10-18 | 2017-10-18 | Data providing system and data providing method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016158121 Division | 2016-08-10 | 2016-08-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018026874A true JP2018026874A (en) | 2018-02-15 |
JP6554704B2 JP6554704B2 (en) | 2019-08-07 |
Family
ID=61194227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017201990A Active JP6554704B2 (en) | 2017-10-18 | 2017-10-18 | Data providing system and data providing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6554704B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021083110A (en) * | 2020-02-19 | 2021-05-27 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッドBeijing Baidu Netcom Science Technology Co., Ltd. | In-vehicle electronic control unit upgrade method, device, apparatus, and vehicle system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010002814A1 (en) * | 1999-12-07 | 2001-06-07 | Takeshi Suganuma | Control information rewriting system |
US20110320089A1 (en) * | 2010-06-25 | 2011-12-29 | Toyota Motor Engineering & Manufacturing North America, Inc. | Over-the-Air Vehicle Systems Updating and Associate Security Protocols |
US20140181526A1 (en) * | 2012-12-20 | 2014-06-26 | GM Global Technology Operations LLC | Methods and systems for bypassing authenticity checks for secure control modules |
JP2014182571A (en) * | 2013-03-19 | 2014-09-29 | Denso Corp | On-vehicle electronic control device program rewriting system and on-vehicle relay device |
JP2015103163A (en) * | 2013-11-27 | 2015-06-04 | 株式会社オートネットワーク技術研究所 | Program update system and program update method |
JP2016092811A (en) * | 2014-10-29 | 2016-05-23 | Kddi株式会社 | Key management system, key management server device, management device, vehicle, key management method and computer program |
-
2017
- 2017-10-18 JP JP2017201990A patent/JP6554704B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010002814A1 (en) * | 1999-12-07 | 2001-06-07 | Takeshi Suganuma | Control information rewriting system |
US20110320089A1 (en) * | 2010-06-25 | 2011-12-29 | Toyota Motor Engineering & Manufacturing North America, Inc. | Over-the-Air Vehicle Systems Updating and Associate Security Protocols |
US20140181526A1 (en) * | 2012-12-20 | 2014-06-26 | GM Global Technology Operations LLC | Methods and systems for bypassing authenticity checks for secure control modules |
JP2014182571A (en) * | 2013-03-19 | 2014-09-29 | Denso Corp | On-vehicle electronic control device program rewriting system and on-vehicle relay device |
JP2015103163A (en) * | 2013-11-27 | 2015-06-04 | 株式会社オートネットワーク技術研究所 | Program update system and program update method |
JP2016092811A (en) * | 2014-10-29 | 2016-05-23 | Kddi株式会社 | Key management system, key management server device, management device, vehicle, key management method and computer program |
Non-Patent Citations (3)
Title |
---|
竹森 敬祐 ほか: "セキュアエレメントを活用したECU認証とコード認証の鍵管理", 電子情報通信学会技術研究報告, vol. 115, no. 365, JPN6017011703, 10 December 2015 (2015-12-10), JP, pages 227 - 232, ISSN: 0004052021 * |
竹森 敬祐 ほか: "セキュアブート+認証による車載制御システムの保護", 電子情報通信学会技術研究報告, vol. 114, no. 225, JPN6016000807, 12 September 2014 (2014-09-12), JP, pages 47 - 54, ISSN: 0003924572 * |
竹森 敬祐: "セキュアエレメントを基点とした車載制御システムの保護 −要素技術の整理と考察−", 第17回 組込みシステム技術に関するサマーワークショップ(SWEST17), vol. セッション(s3) s3a, JPN6017012154, 28 August 2015 (2015-08-28), ISSN: 0004052020 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021083110A (en) * | 2020-02-19 | 2021-05-27 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッドBeijing Baidu Netcom Science Technology Co., Ltd. | In-vehicle electronic control unit upgrade method, device, apparatus, and vehicle system |
Also Published As
Publication number | Publication date |
---|---|
JP6554704B2 (en) | 2019-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6260067B1 (en) | Management system, key generation device, in-vehicle computer, management method, and computer program | |
WO2018029905A1 (en) | Data provision system, data security device, data provision method, and computer program | |
US11265170B2 (en) | Vehicle information collection system, vehicle-mounted computer, vehicle information collection device, vehicle information collection method, and computer program | |
JP6683588B2 (en) | Reuse system, server device, reuse method, and computer program | |
WO2017006862A1 (en) | Software distribution processing device, vehicle, software distribution processing method, and computer program | |
WO2018029893A1 (en) | Data provision system, data security device, data provision method, and computer program | |
JP6288219B1 (en) | Communications system | |
JP6190443B2 (en) | In-vehicle computer system, vehicle, management method, and computer program | |
JP2017046038A (en) | On-vehicle computer system, vehicle, management method, and computer program | |
JP6260068B1 (en) | Maintenance device, maintenance method, and computer program | |
JP6299039B2 (en) | Vehicle information collection system, data security device, vehicle information collection method, and computer program | |
JP2018082439A (en) | Communication system, vehicle, server device, communication method, and computer program | |
JP6554704B2 (en) | Data providing system and data providing method | |
JP2018006782A (en) | Data providing system, data providing apparatus, on-vehicle computer, data providing method, and computer program | |
JP6464466B2 (en) | Maintenance device, maintenance method, and computer program | |
JP6354099B2 (en) | Data providing system and data providing method | |
JP6454919B2 (en) | Management system, data providing apparatus, in-vehicle computer, management method, and computer program | |
JP6672243B2 (en) | Data providing system, data providing device, data providing method, and data providing program | |
JP2018057044A (en) | Vehicle information gathering system, data safety device, vehicle information gathering device, vehicle information gathering method, and computer program | |
JP2017208731A (en) | Management system, management device, on-vehicle computer, management method, and computer program | |
WO2018131270A1 (en) | Communication system, vehicle, server device, communication method, and computer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190122 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190611 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190617 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6554704 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |