WO2018029893A1 - データ提供システム、データ保安装置、データ提供方法、及びコンピュータプログラム - Google Patents
データ提供システム、データ保安装置、データ提供方法、及びコンピュータプログラム Download PDFInfo
- Publication number
- WO2018029893A1 WO2018029893A1 PCT/JP2017/012720 JP2017012720W WO2018029893A1 WO 2018029893 A1 WO2018029893 A1 WO 2018029893A1 JP 2017012720 W JP2017012720 W JP 2017012720W WO 2018029893 A1 WO2018029893 A1 WO 2018029893A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- vehicle
- security device
- ecu
- interface unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/023—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/44—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/106—Packet or message integrity
Abstract
データ提供システムは、データ提供装置と、車両に搭載されるデータ保安装置とを備える。前記データ提供装置は、前記車両とデータを送受する車両インタフェースと、前記車両に搭載される車載コンピュータに適用される適用データの期待値を計算する期待値計算部と、を備え、前記適用データ及び前記期待値を前記車両インタフェースにより前記車両に送信する。前記データ保安装置は、前記データ保安装置の外部の装置とデータを送受するインタフェース部と、前記インタフェース部により前記データ提供装置から受信した前記適用データの測定値を計算し、前記インタフェース部により前記データ提供装置から受信した前記期待値に基づいて該測定値を検証する測定部と、を備え、前記測定値の検証が合格した前記適用データを前記インタフェース部により前記車載コンピュータに送信する。
Description
本発明は、データ提供システム、データ保安装置、データ提供方法、及びコンピュータプログラムに関する。
本願は、2016年8月10日に、日本に出願された特願2016-158121号に基づき優先権を主張し、その内容をここに援用する。
本願は、2016年8月10日に、日本に出願された特願2016-158121号に基づき優先権を主張し、その内容をここに援用する。
従来、自動車は、ECU(Electronic Control Unit:電子制御装置)を有し、ECUによってエンジン制御等の機能を実現する。ECUは、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。複数のECUをCAN(Controller Area Network)に接続して構成される車載制御システムについてのセキュリティ技術が例えば非特許文献1に記載されている。
竹森敬祐、"セキュアエレメントを基点とした車載制御システムの保護 -要素技術の整理と考察-"、電子情報通信学会、信学技報、vol. 114、no. 508、pp. 73-78、2015年3月
STMicroelectronics、"AN4240 Application note"、[平成28年8月3日検索]、インターネット<URL:http://www.st.com/web/en/resource/technical/document/application_note/DM00075575.pdf>
INTERNATIONAL STANDARD、ISO14229-1、「Road vehicles Unifieddiagnostic services (UDS) Part 1: Specification and requirements」、Second edition、2013-03-15
自動車の車載制御システムのECUに適用される更新プログラム等のデータの信頼性を向上させることが一つの課題であった。
本発明は、このような事情を考慮してなされたものであり、ECU等の車載コンピュータに適用されるデータの信頼性を向上させることができるデータ提供システム、データ保安装置、データ提供方法、及びコンピュータプログラムを提供することを課題とする。
(1)本発明の一態様は、データ提供装置と、車両に搭載されるデータ保安装置とを備え、前記データ提供装置は、前記車両とデータを送受する車両インタフェースと、前記車両に搭載される車載コンピュータに適用される適用データの期待値を計算する期待値計算部と、を備え、前記適用データ及び前記期待値を前記車両インタフェースにより前記車両に送信し、前記データ保安装置は、前記データ保安装置の外部の装置とデータを送受するインタフェース部と、前記インタフェース部により前記データ提供装置から受信した前記適用データの測定値を計算し、前記インタフェース部により前記データ提供装置から受信した前記期待値に基づいて該測定値を検証する測定部と、を備え、前記測定値の検証が合格した前記適用データを前記インタフェース部により前記車載コンピュータに送信する、データ提供システムである。
(2)本発明の一態様は、上記(1)のデータ提供システムにおいて、前記データ保安装置は、前記インタフェース部により、前記車載コンピュータに送信した前記適用データの前記車載コンピュータへの適用の合否を示すデータ適用結果を前記車載コンピュータから受信して前記データ提供装置へ転送する、データ提供システムである。
本発明の一態様においては、前記データ保安装置は、前記測定値の検証が合格した前記適用データと、当該適用データについてのメッセージ認証符号とを前記インタフェース部により前記車載コンピュータに送信してもよい。
本発明の一態様においては、前記メッセージ認証符号は、前記測定値の検証が合格した前記適用データを格納して前記車載コンピュータに伝送するパケットに関するメッセージ認証符号であってもよい。
本発明の一態様においては、前記データ保安装置は、前記測定値の検証が合格した前記適用データを複数のブロックに分割し、該ブロック毎に前記メッセージ認証符号を計算し、該ブロックと該メッセージ認証符号とを前記インタフェース部により前記車載コンピュータに送信してもよい。
(2)本発明の一態様は、上記(1)のデータ提供システムにおいて、前記データ保安装置は、前記インタフェース部により、前記車載コンピュータに送信した前記適用データの前記車載コンピュータへの適用の合否を示すデータ適用結果を前記車載コンピュータから受信して前記データ提供装置へ転送する、データ提供システムである。
本発明の一態様においては、前記データ保安装置は、前記測定値の検証が合格した前記適用データと、当該適用データについてのメッセージ認証符号とを前記インタフェース部により前記車載コンピュータに送信してもよい。
本発明の一態様においては、前記メッセージ認証符号は、前記測定値の検証が合格した前記適用データを格納して前記車載コンピュータに伝送するパケットに関するメッセージ認証符号であってもよい。
本発明の一態様においては、前記データ保安装置は、前記測定値の検証が合格した前記適用データを複数のブロックに分割し、該ブロック毎に前記メッセージ認証符号を計算し、該ブロックと該メッセージ認証符号とを前記インタフェース部により前記車載コンピュータに送信してもよい。
(3)本発明の一態様は、車両に搭載されるデータ保安装置であり、前記データ保安装置の外部の装置とデータを送受するインタフェース部と、前記インタフェース部によりデータ提供装置から受信した適用データの測定値を計算し、前記インタフェース部により前記データ提供装置から受信した期待値に基づいて該測定値を検証する測定部と、を備え、前記測定値の検証が合格した前記適用データを前記インタフェース部により前記車両に搭載される車載コンピュータに送信する、データ保安装置である。
(4)本発明の一態様は、データ提供装置と、車両に搭載されるデータ保安装置とを備えるデータ提供システムのデータ提供方法であって、前記データ提供装置が、前記車両に搭載される車載コンピュータに適用される適用データの期待値を計算し、前記データ提供装置が、前記適用データ及び前記期待値を、前記車両とデータを送受する車両インタフェースにより前記車両に送信し、前記データ保安装置が、前記データ保安装置の外部の装置とデータを送受するインタフェース部により前記データ提供装置から受信した前記適用データの測定値を計算し、前記インタフェース部により前記データ提供装置から受信した前記期待値に基づいて該測定値を検証し、前記データ保安装置が、前記測定値の検証が合格した前記適用データを前記インタフェース部により前記車載コンピュータに送信する、データ提供方法である。
(5)本発明の一態様は、車両に搭載されるデータ保安装置のコンピュータに、前記データ保安装置の外部の装置とデータを送受するインタフェース部によりデータ提供装置から受信した適用データの測定値を計算し、前記インタフェース部により前記データ提供装置から受信した期待値に基づいて該測定値を検証し、前記測定値の検証が合格した前記適用データを前記インタフェース部により前記車両に搭載される車載コンピュータに送信する、処理を実行させるコンピュータプログラムである。
本発明によれば、ECU等の車載コンピュータに適用されるデータの信頼性を向上させることができるという効果が得られる。
以下、図面を参照し、本発明の実施形態について説明する。なお、以下に示す実施形態では、車両として自動車を例に挙げて説明する。
図1は、一実施形態に係るデータ提供システム及び自動車1001の構成例を示す図である。本実施形態では、車載コンピュータの一例として、自動車1001に搭載されるECU(電子制御装置)を挙げて説明する。
図1において、自動車1001は、データ保安装置1010と複数のECU1020とを備える。ECU1020は、自動車1001に備わる車載コンピュータである。ECU1020は、自動車1001のエンジン制御等の制御機能を有する。ECU1020として、例えば、エンジン制御機能を有するECU、ハンドル制御機能を有するECU、ブレーキ制御機能を有するECUなどがある。データ保安装置1010は、自動車1001に搭載されたECU1020に適用されるデータのセキュリティ(保安)の機能を有する。
なお、自動車1001に搭載されたいずれかのECUをデータ保安装置1010として機能させてもよい。
なお、自動車1001に搭載されたいずれかのECUをデータ保安装置1010として機能させてもよい。
データ保安装置1010と複数のECU1020とは、自動車1001に備わるCAN(Controller Area Network)1030に接続される。CAN1030は通信ネットワークである。CANは車両に搭載される通信ネットワークの一つとして知られている。データ保安装置1010は、CAN1030を介して、各ECU1020との間でデータを交換する。ECU1020は、CAN1030を介して、他のECU1020との間でデータを交換する。
なお、車両に搭載される通信ネットワークとして、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を介してデータを交換してもよい。
自動車1001に備わる車載コンピュータシステム1002は、データ保安装置1010と複数のECU1020とがCAN1030に接続されて構成される。本実施形態において、車載コンピュータシステム1002は、自動車1001の車載制御システムとして機能する。
ゲートウェイ1070は、車載コンピュータシステム1002の内部と外部の間の通信を監視する。ゲートウェイ1070はCAN1030に接続される。また、ゲートウェイ1070は、車載コンピュータシステム1002の外部の装置の例として、インフォテイメント機器1040、TCU(Tele Communication Unit)1050及び診断ポート1060と接続される。データ保安装置1010及びECU1020は、ゲートウェイ1070を介して、車載コンピュータシステム1002の外部の装置と通信を行う。
なお、CAN1030の構成として、CAN1030が複数のバス(通信線)を備え、該複数のバスがゲートウェイ1070に接続されてもよい。この場合、一つのバスに、一つのECU1020又は複数のECU1020が接続される。また、同じバスにデータ保安装置1010とECU1020とが接続されてもよく、又は、データ保安装置1010が接続されるバスとECU1020が接続されるバスとが別個にされてもよい。
自動車1001は診断ポート1060を備える。診断ポート1060として、例えばOBD(On-board Diagnostics)ポートが使用されてもよい。診断ポート1060には、自動車1001の外部の装置を接続可能である。診断ポート1060に接続可能な自動車1001の外部の装置として、例えば、図1に示されるメンテナンスツール2100などがある。データ保安装置1010と、診断ポート1060に接続された装置、例えばメンテナンスツール2100とは、診断ポート1060及びゲートウェイ1070を介して、データが交換される。メンテナンスツール2100は、OBDポートに接続される従来の診断端末の機能を有していてもよい。
自動車1001はインフォテイメント(Infotainment)機器1040を備える。インフォテイメント機器1040として、例えば、ナビゲーション機能、位置情報サービス機能、音楽や動画などのマルチメディア再生機能、音声通信機能、データ通信機能、インターネット接続機能などを有するものが挙げられる。
自動車1001は、TCU1050を備える。TCU1050は通信装置である。TCU1050は通信モジュール1051を備える。通信モジュール1051は、無線通信ネットワークを利用して無線通信を行う。通信モジュール1051は、SIM(Subscriber Identity Module)1052を備える。SIM1052は、無線通信ネットワークを利用するための情報が書き込まれたSIMである。通信モジュール1051は、SIM1052を使用することにより該無線通信ネットワークに接続して無線通信を行うことができる。なお、SIM1052として、eSIM(Embedded Subscriber Identity Module)が使用されてもよい。
データ保安装置1010は、ゲートウェイ1070を介して、TCU1050とデータを交換する。なお、TCU1050とデータ保安装置1010とを通信ケーブルで直接接続し、TCU1050とデータ保安装置1010は該通信ケーブルを介してデータを交換してもよい。例えば、USB(universal serial bus)ケーブルでTCU1050とデータ保安装置1010とを直接接続し、TCU1050とデータ保安装置1010は該USBケーブルを介してデータを交換してもよい。また、TCU1050とデータ保安装置1010とをUSBケーブル等の通信ケーブルで直接接続し、該通信ケーブルを介してTCU1050とデータ保安装置1010間のデータの交換を行う場合、TCU1050とデータ保安装置1010とのうち送信側の装置は、受信側の装置に送信するデータを一時的に蓄えるバッファを備えてもよい。
なお、TCU1050の他の接続形態として、例えば、TCU1050をインフォテイメント機器1040に接続し、データ保安装置1010が、ゲートウェイ1070及びインフォテイメント機器1040を介して、TCU1050とデータを交換してもよい。又は、TCU1050を診断ポート1060に接続し、データ保安装置1010が、ゲートウェイ1070及び診断ポート1060を介して、該診断ポート1060に接続されたTCU1050とデータを交換してもよい。又は、データ保安装置1010が、SIM1052を含む通信モジュール1051を備えてもよい。データ保安装置1010がSIM1052を含む通信モジュール1051を備える場合には、自動車1001はTCU1050を備えなくてもよい。
データ保安装置1010は、メイン演算器1011とHSM(Hardware Security Module)1012とを備える。メイン演算器1011は、データ保安装置1010の機能を実現させるためのコンピュータプログラムを実行する。HSM1012は暗号処理機能等を有する。HSM1012は耐タンパー性(Tamper Resistant)を有する。HSM1012はセキュアエレメント(Secure Element:SE)の例である。HSM1012は、データを記憶する記憶部1013を備える。メイン演算器1011はHSM1012を使用する。
ECU1020は、メイン演算器1021とSHE(Secure Hardware Extension)1022とを備える。メイン演算器1021は、ECU1020の機能を実現させるためのコンピュータプログラムを実行する。SHE1022は暗号処理機能等を有する。SHE1022は耐タンパー性を有する。SHE1022はセキュアエレメントの例である。SHE1022は、データを記憶する記憶部1023を備える。メイン演算器1021はSHE1022を使用する。
サーバ装置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は、データの暗号化及び暗号化データの復号を行う。
サーバ装置2000の機能は、該サーバ装置2000が備えるCPU(Central Processing Unit)がコンピュータプログラムを実行することにより実現される。なお、サーバ装置2000として、汎用のコンピュータ装置を使用して構成されてもよく、又は、専用のハードウェア装置として構成されてもよい。
図3は、データ保安装置1010の構成例を示す図である。図3において、データ保安装置1010は、メイン演算器1011とHSM1012とインタフェース部20とを備える。メイン演算器1011は、制御部21と記憶部22とを備える。HSM1012は、記憶部1013と暗号処理部32と測定部33とを備える。
インタフェース部20は、自データ保安装置1010の外部の装置とデータを送受する。インタフェース部20は、CAN1030を介してデータを送受するインタフェースを備える。メイン演算器1011は、インタフェース部20を介して、データ保安装置1010以外の他の装置とデータの送受を行う。
制御部21は、データ保安装置1010の制御を行う。記憶部22は、データを記憶する。記憶部1013は、データを記憶する。暗号処理部32は、データの暗号化及び暗号化データの復号を行う。測定部33は、ECUコード等のデータの測定値を計算し、該測定値を期待値に基づいて検証する。
図4は、ECU1020の構成例を示す図である。図4において、ECU1020は、メイン演算器1021とSHE1022とインタフェース部40とを備える。メイン演算器1021は、制御部41と記憶部42とを備える。SHE1022は、記憶部1023と暗号処理部52と測定部53とを備える。
インタフェース部40は、自ECU1020の外部の装置とデータを送受する。インタフェース部40は、CAN1030を介してデータを送受するインタフェースを備える。メイン演算器1021は、インタフェース部40を介して、自ECU1020以外の他の装置とデータの送受を行う。
制御部41は、ECU1020の制御を行う。記憶部42は、データを記憶する。記憶部1023は、データを記憶する。暗号処理部52は、データの暗号化及び暗号化データの復号を行う。測定部53は、ECUコード等のデータの測定値を計算し、該測定値を期待値に基づいて検証する。
なお、本実施形態では、データ保安装置1010にHSMが使用されているが、データ保安装置1010においてHSMの代わりにSHEが使用されてもよい。なお、SHEについては、例えば非特許文献2に記載されている。
次に図5を参照して、本実施形態に係るデータ提供方法の例を説明する。図5は、本実施形態に係るデータ提供方法の例を示すシーケンスチャートである。
サーバ装置2000は、マスタ鍵Master_Secretと、ECU1020のECUコードとを予め記憶部2012に格納している。ECU1020のECUコードは、ECU1020に適用する予定のECUコードを含む。データ保安装置1010は、署名鍵Kbc及び暗号鍵Kecを予めHSM1012の記憶部1013に格納している。ECU1020は、署名鍵Kbeを予めSHE1022の記憶部1023に格納している。
以下、サーバ装置2000は、通信部2011により、自動車1001のTCU1050と通信を行い、TCU1050及びゲートウェイ1070を介して、自動車1001のCAN1030に接続されるデータ保安装置1010との間でデータを送受する。なお、サーバ装置2000とデータ保安装置1010との間の通信路として、暗号化通信路が使用されてもよい。例えば、サーバ装置2000とデータ保安装置1010は、暗号化通信路の一例として、https(hypertext transfer protocol secure)通信を行ってもよい。
(ステップS101)サーバ装置2000の鍵生成部2015は、自動車1001に搭載されているデータ保安装置1010の署名鍵Kbc及び暗号鍵Kec、並びに、ECU1020の署名鍵Kbeを生成する。
鍵生成部2015の鍵生成方法の例を説明する。鍵生成部2015は、記憶部2012に格納されているマスタ鍵Master_Secretと、鍵生成対象装置の識別子UNIT_IDと、変数Nkとを使用して、次式により鍵(共通鍵)を生成する。
共通鍵=ダイジェスト(Master_Secret、UNIT_ID、Nk)
共通鍵=ダイジェスト(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とを入力値に使用して算出されるハッシュ関数値である。
変数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を予め格納している。
署名鍵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を予め格納している。
なお、本実施形態に係る鍵(共通鍵)の生成方法の他の例として、署名鍵をハッシュ関数により算出される値とし、暗号鍵を排他的論理和演算により算出される値としてもよい。又は、その逆、つまり、署名鍵を排他的論理和演算により算出される値とし、暗号鍵をハッシュ関数により算出される値としてもよい。
(ステップS102)サーバ装置2000の期待値計算部2013は、自動車1001に搭載されているECU1020に適用する予定のECUコードのCMACを、データ保安装置1010の署名鍵Kbcにより計算する。この計算結果のCMACは、該ECUコードについての期待値である。なお、本実施形態では、ECUコードの測定値の一例として、CMACを使用する。期待値計算部2013が計算したECUコードの期待値(CMAC)は、該ECUコードの測定値(CMAC)の検証に使用される。記憶部2012は、ECUコードの期待値(CMAC)を格納する。
(ステップS103)サーバ装置2000は、通信部2011により、ECU1020に適用されるECUコードと、期待値計算部2013が計算した期待値(CMAC)とを、データ保安装置1010に送信する。データ保安装置1010は、サーバ装置2000から送信された、ECUコードと期待値(CMAC)とを受信する。
(ステップ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を計算する。
よって、測定部33は、記憶部1013に格納している署名鍵Kbcにより、ECUコードのCMACを計算する。
測定部33は、期待値のCMACと、計算した測定値のCMACとを比較する。この比較の結果、両者が一致する場合には測定値(CMAC)の検証が合格であり、両者が一致しない場合には測定値(CMAC)の検証が不合格である。HSM1012は、測定値の検証結果「合格又は不合格」を制御部21に渡す。制御部21は、ECUコードの測定値の検証結果が合格である場合に、ステップS105に処理を進める。一方、制御部21は、ECUコードの測定値の検証結果が不合格である場合には、図5の処理を終了する。
なお、ECUコードの測定値の検証結果が不合格である場合には、制御部21は、所定のエラー処理を実行してもよい。例えば、制御部21は、ECUコードの測定値の検証結果が不合格であることを示すエラーメッセージを、サーバ装置2000に送信してもよい。サーバ装置2000は、該エラーメッセージに応じて、所定のエラー処理を実行してもよい。例えば、サーバ装置2000は、ECUコードと期待値(CMAC)とをデータ保安装置1010に再送信したり、又は、期待値(CMAC)を再生成してデータ保安装置1010に送信したりしてもよい。
(ステップS105)データ保安装置1010の制御部21は、ECUコードの測定値の検証が合格したECUコードを、インタフェース部20によりECU1020に送信する。ECU1020は、データ保安装置1010から送信されたECUコードを受信する。
(ステップS106)ECU1020の制御部41は、データ保安装置1010から受信したECUコードを自ECU1020に適用する。
(ステップ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により計算する。そして、サーバ装置2000は、この計算結果の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間で共有される。
なお、ECU1020のセキュアブートで使用される期待値は、サーバ装置2000又はデータ保安装置1010からECU1020に予め供給される。サーバ装置2000がECU1020にセキュアブートで使用される期待値を供給する場合、サーバ装置2000の期待値計算部2013がECU1020の署名鍵KbeによりECUコードの期待値(CMAC)を計算する。ECU1020の署名鍵Kbeは、予め、ECU1020とサーバ装置2000間で共有される。また、サーバ装置2000は、「ECU1020のセキュアブートで使用される期待値(CMAC)」の期待値(CMAC)を、上記ステップS102と同様にデータ保安装置1010の署名鍵Kbcにより計算する。そして、サーバ装置2000は、この計算結果の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間で共有される。
(ステップS108)ECU1020の制御部41は、インタフェース部40により、セキュアブート結果「合格又は不合格」をデータ保安装置1010に送信する。データ保安装置1010は、ECU1020から受信したセキュアブート結果「合格又は不合格」をサーバ装置2000に転送する。セキュアブート結果「合格又は不合格」は、ECUコードのECU1020への適用の合否を示すデータ適用結果に対応する。
サーバ装置2000は、通信部2011により、データ保安装置1010から送信されたセキュアブート結果「合格又は不合格」を受信する。サーバ装置2000は、データ保安装置1010から受信したセキュアブート結果「合格又は不合格」に応じて、所定の処理を実行する。例えば、セキュアブート結果が合格である場合には、その旨を記録する。
一方、セキュアブート結果が不合格である場合には、サーバ装置2000は、所定のエラー処理を実行してもよい。例えば、エラー処理として、サーバ装置2000は、ECUコードと期待値(CMAC)とをデータ保安装置1010に再送信したり、又は、期待値(CMAC)を再生成してデータ保安装置1010に送信したりしてもよい。また、該エラー処理を、セキュアブート結果が合格になるまで繰り返す、又は、所定回数だけ繰り返してもよい。
一方、セキュアブート結果が不合格である場合には、サーバ装置2000は、所定のエラー処理を実行してもよい。例えば、エラー処理として、サーバ装置2000は、ECUコードと期待値(CMAC)とをデータ保安装置1010に再送信したり、又は、期待値(CMAC)を再生成してデータ保安装置1010に送信したりしてもよい。また、該エラー処理を、セキュアブート結果が合格になるまで繰り返す、又は、所定回数だけ繰り返してもよい。
なお、上記したステップS107のECUコードの適用後のセキュアブートは、必須ではなく、実行しなくてもよい。
次に、上述した図5のデータ提供方法の変形例を説明する。
<データ提供方法の変形例1>
ステップS103において、サーバ装置2000は、暗号処理部2016によりECUコードを暗号化して、データ保安装置1010に送信する。この暗号化に用いる鍵は、データ保安装置1010の暗号鍵Kecである。データ保安装置1010は、サーバ装置2000から受信した暗号化データを、HSM1012の暗号処理部32により、記憶部1013に格納されている暗号鍵Kecで復号して、ECUコードを取得する。
ステップS103において、サーバ装置2000は、暗号処理部2016によりECUコードを暗号化して、データ保安装置1010に送信する。この暗号化に用いる鍵は、データ保安装置1010の暗号鍵Kecである。データ保安装置1010は、サーバ装置2000から受信した暗号化データを、HSM1012の暗号処理部32により、記憶部1013に格納されている暗号鍵Kecで復号して、ECUコードを取得する。
<データ提供方法の変形例2>
ステップS105において、データ保安装置1010は、HSM1012の暗号処理部32によりECUコードを暗号化して、ECU1020に送信する。この暗号化に用いる鍵は、予め、データ保安装置1010とECU1020間で共有される。ECU1020は、データ保安装置1010から受信した暗号化データを、SHE1022の暗号処理部52により、記憶部1023に格納されている該当の鍵で復号して、ECUコードを取得する。
ステップS105において、データ保安装置1010は、HSM1012の暗号処理部32によりECUコードを暗号化して、ECU1020に送信する。この暗号化に用いる鍵は、予め、データ保安装置1010とECU1020間で共有される。ECU1020は、データ保安装置1010から受信した暗号化データを、SHE1022の暗号処理部52により、記憶部1023に格納されている該当の鍵で復号して、ECUコードを取得する。
<データ提供方法の変形例3>
ステップS105において、ECUコードは、CAN1030のパケットに格納されて、データ保安装置1010からECU1020に伝送される。データ保安装置1010は、該パケットに、該パケットについてのCMACをさらに含める。該CMACの生成に使用する鍵は、予め、データ保安装置1010とECU1020間で共有される。ECU1020は、データ保安装置1010から受信したパケットに含まれるCMACを、該当の鍵で検証する。ECU1020は、該CMACの検証が合格した場合に当該ECUコードを適用する。一方、ECU1020は、該CMACの検証が不合格である場合には当該ECUコードを適用しない。
ステップS105において、ECUコードは、CAN1030のパケットに格納されて、データ保安装置1010からECU1020に伝送される。データ保安装置1010は、該パケットに、該パケットについてのCMACをさらに含める。該CMACの生成に使用する鍵は、予め、データ保安装置1010とECU1020間で共有される。ECU1020は、データ保安装置1010から受信したパケットに含まれるCMACを、該当の鍵で検証する。ECU1020は、該CMACの検証が合格した場合に当該ECUコードを適用する。一方、ECU1020は、該CMACの検証が不合格である場合には当該ECUコードを適用しない。
なお、ECUコードを格納するパケットに含めるCMACとして、該ECUコードの全て又は一部についてのCMACが使用されてもよい。例えば、データ保安装置1010は、ECUコードを一定サイズのブロックに分割し、ブロック毎にCMACを計算して、該ブロックと該CMACとをパケットに格納してもよい。ECU1020は、ブロック毎にCMACを検証しながらECUコードを取得する。該CMACの生成に使用する鍵は、予め、データ保安装置1010とECU1020間で共有される。
<データ提供方法の変形例4>
ステップS108において、ECU1020からサーバ装置2000に送信するセキュアブート結果「合格又は不合格」は所定値とする。例えば、合格は「1」であり、不合格は「0」である。
ステップS108において、ECU1020からサーバ装置2000に送信するセキュアブート結果「合格又は不合格」は所定値とする。例えば、合格は「1」であり、不合格は「0」である。
<データ提供方法の変形例5>
ステップS108において、ECU1020からサーバ装置2000に送信するセキュアブート結果「合格又は不合格」は、ステップS107のセキュアブートで計算された結果のECUコードのCMACとする。サーバ装置2000の検証部2014は、ステップS103でデータ保安装置1010に送信したECUコードのCMACを、ECU1020の署名鍵Kbeにより計算する。サーバ装置2000の検証部2014は、該計算結果のCMACと、ECU1020のセキュアブート結果のCMACとを比較する。サーバ装置2000の検証部2014は、該比較の結果、両者が一致する場合にはECU1020のセキュアブート結果が合格であると判断し、両者が一致しない場合にはECU1020のセキュアブート結果が不合格であると判断する。
ステップS108において、ECU1020からサーバ装置2000に送信するセキュアブート結果「合格又は不合格」は、ステップS107のセキュアブートで計算された結果のECUコードのCMACとする。サーバ装置2000の検証部2014は、ステップS103でデータ保安装置1010に送信したECUコードのCMACを、ECU1020の署名鍵Kbeにより計算する。サーバ装置2000の検証部2014は、該計算結果のCMACと、ECU1020のセキュアブート結果のCMACとを比較する。サーバ装置2000の検証部2014は、該比較の結果、両者が一致する場合にはECU1020のセキュアブート結果が合格であると判断し、両者が一致しない場合にはECU1020のセキュアブート結果が不合格であると判断する。
<データ提供方法の変形例6>
サーバ装置2000は、検証値(例えば、乱数)を予めECU1020に供給する。ステップS108において、ECU1020は、セキュアブート結果が合格である場合にはセキュアブート結果「合格」に検証値を含め、一方、セキュアブート結果が不合格である場合にはセキュアブート結果「不合格」に検証値を含めない。サーバ装置2000の検証部2014は、ECU1020のセキュアブート結果「合格」に含まれる検証値と、予めECU1020に供給した元の検証値とを比較する。サーバ装置2000の検証部2014は、該比較の結果、両者が一致する場合にはECU1020のセキュアブート結果が合格であると判断し、両者が一致しない場合にはECU1020のセキュアブート結果が不合格であると判断する。
サーバ装置2000は、検証値(例えば、乱数)を予めECU1020に供給する。ステップS108において、ECU1020は、セキュアブート結果が合格である場合にはセキュアブート結果「合格」に検証値を含め、一方、セキュアブート結果が不合格である場合にはセキュアブート結果「不合格」に検証値を含めない。サーバ装置2000の検証部2014は、ECU1020のセキュアブート結果「合格」に含まれる検証値と、予めECU1020に供給した元の検証値とを比較する。サーバ装置2000の検証部2014は、該比較の結果、両者が一致する場合にはECU1020のセキュアブート結果が合格であると判断し、両者が一致しない場合にはECU1020のセキュアブート結果が不合格であると判断する。
<データ提供方法の変形例7>
上記のデータ提供方法の変形例4,5,6のいずれか複数を組合せて適用する。
上記のデータ提供方法の変形例4,5,6のいずれか複数を組合せて適用する。
<データ提供方法の変形例8>
上記のデータ提供方法の変形例4,5,6,7において、ECU1020は、SHE1022の暗号処理部52によりセキュアブート結果を暗号化して、サーバ装置2000に送信する。この暗号化に用いる鍵は、予め、サーバ装置2000とECU1020間で共有される。サーバ装置2000は、ECU1020からの暗号化データを、暗号処理部2016により、記憶部2012に格納されている該当の鍵で復号して、セキュアブート結果を取得する。なお、該暗号化に用いる鍵として、セキュアブート結果が合格である場合にのみSHE1022で使用可能となる暗号鍵が、使用されてもよい。この場合、セキュアブート結果「合格」が該暗号鍵により暗号化されてもよい。
上記のデータ提供方法の変形例4,5,6,7において、ECU1020は、SHE1022の暗号処理部52によりセキュアブート結果を暗号化して、サーバ装置2000に送信する。この暗号化に用いる鍵は、予め、サーバ装置2000とECU1020間で共有される。サーバ装置2000は、ECU1020からの暗号化データを、暗号処理部2016により、記憶部2012に格納されている該当の鍵で復号して、セキュアブート結果を取得する。なお、該暗号化に用いる鍵として、セキュアブート結果が合格である場合にのみSHE1022で使用可能となる暗号鍵が、使用されてもよい。この場合、セキュアブート結果「合格」が該暗号鍵により暗号化されてもよい。
次に、上述した図5のデータ提供方法におけるデータ保安装置1010とECU1020間の実施例を説明する。図6から図8は、本実施形態に係るデータ提供方法の実施例を示すフローチャートである。本実施例では、非特許文献3に記載される15章の「Non-volatile server memory programming process」において、「15.2.1.2 Programming stepof phase #1 - Download of application software and data」の手順と、「15.2.1.3Post-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.」における適用例が示されている。
図6において、符号S1001で示されるステップは、データ保安装置1010のセキュリティ・アクセス(Security Access)の処理に対応する。図7において、符号S1002で示されるステップは、データ保安装置1010のECUコードのブロック毎の復号及び電子署名の検証の処理に対応する。図7において、符号S1003で示されるステップは、ECU1020のECUコードの検証の処理に対応する。図8において、符号S1004で示されるステップは、ECU1020のECUコードの適用後のセキュアブートの処理に対応する。
上述した実施形態によれば、データ保安装置1010は、サーバ装置2000から提供されたECUコードの期待値(CMAC)に基づいて、該ECUコードの測定値(CMAC)を検証し、この測定値(CMAC)の検証が合格したECUコードをECU1020に送信する。これにより、ECU1020に適用されるECUコードの信頼性を向上させることができる。また、サーバ装置2000がECU1020にセキュアブートで使用される期待値を供給する場合、データ保安装置1010は、ECUコードと同様に、サーバ装置2000から受信した「ECU1020のセキュアブートで使用される期待値」と該期待値の期待値(CMAC)について検証を行う。これにより、ECU1020に適用される「セキュアブートで使用される期待値」の信頼性を向上させることができる。
上述した実施形態において、サーバ装置2000はデータ提供装置に対応する。
なお、メンテナンスツール2100が、サーバ装置2000と同様の機能を備えてもよい。メンテナンスツール2100は、サーバ装置2000と同様のデータ提供方法により、診断ポート1060及びデータ保安装置1010を介してECU1020にECUコードを提供する。
また、自動車1001のTCU1050又はゲートウェイ1070が、データ保安装置1010の機能を有してもよい。
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
上述した実施形態では、データ保安装置1010やECU1020にHSMやSHEが使用されたが、HSM及びSHE以外の暗号処理チップが使用されてもよい。データ保安装置1010に対して、例えば「TPM(Trusted Platform Module)f」と呼ばれる暗号処理チップが使用されてもよい。TPMfは耐タンパー性を有する。TPMfはセキュアエレメントの例である。ECU1020に対して、例えば「TPMt」と呼ばれる暗号処理チップが使用されてもよい。TPMtは耐タンパー性を有する。TPMtはセキュアエレメントの例である。
上述した実施形態は、自動車の製造工場において、自動車の製造工程で自動車に搭載されたECUに適用されてもよい。また、上述した実施形態は、自動車の整備工場や販売店等において、自動車に搭載されているECUに適用されてもよい。
上述した実施形態では、車両として自動車を例に挙げたが、原動機付自転車や鉄道車両等の自動車以外の他の車両にも適用可能である。
また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
本発明によれば、ECU等の車載コンピュータに適用されるデータの信頼性を向上させることができるという効果が得られる。
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…メンテナンスツール
Claims (8)
- データ提供装置と、車両に搭載されるデータ保安装置とを備え、
前記データ提供装置は、
前記車両とデータを送受する車両インタフェースと、
前記車両に搭載される車載コンピュータに適用される適用データの期待値を計算する期待値計算部と、を備え、前記適用データ及び前記期待値を前記車両インタフェースにより前記車両に送信し、
前記データ保安装置は、
前記データ保安装置の外部の装置とデータを送受するインタフェース部と、
前記インタフェース部により前記データ提供装置から受信した前記適用データの測定値を計算し、前記インタフェース部により前記データ提供装置から受信した前記期待値に基づいて該測定値を検証する測定部と、を備え、前記測定値の検証が合格した前記適用データを前記インタフェース部により前記車載コンピュータに送信する、
データ提供システム。 - 前記データ保安装置は、前記インタフェース部により、前記車載コンピュータに送信した前記適用データの前記車載コンピュータへの適用の合否を示すデータ適用結果を前記車載コンピュータから受信して前記データ提供装置へ転送する、
請求項1に記載のデータ提供システム。 - 前記データ保安装置は、前記測定値の検証が合格した前記適用データと、当該適用データについてのメッセージ認証符号とを前記インタフェース部により前記車載コンピュータに送信する、
請求項1又は2のいずれか1項に記載のデータ提供システム。 - 前記メッセージ認証符号は、前記測定値の検証が合格した前記適用データを格納して前記車載コンピュータに伝送するパケットに関するメッセージ認証符号である、
請求項3に記載のデータ提供システム。 - 前記データ保安装置は、前記測定値の検証が合格した前記適用データを複数のブロックに分割し、該ブロック毎に前記メッセージ認証符号を計算し、該ブロックと該メッセージ認証符号とを前記インタフェース部により前記車載コンピュータに送信する、
請求項3又は4のいずれか1項に記載のデータ提供システム。 - 車両に搭載されるデータ保安装置であり、
前記データ保安装置の外部の装置とデータを送受するインタフェース部と、
前記インタフェース部によりデータ提供装置から受信した適用データの測定値を計算し、前記インタフェース部により前記データ提供装置から受信した期待値に基づいて該測定値を検証する測定部と、を備え、
前記測定値の検証が合格した前記適用データを前記インタフェース部により前記車両に搭載される車載コンピュータに送信する、
データ保安装置。 - データ提供装置と、車両に搭載されるデータ保安装置とを備えるデータ提供システムのデータ提供方法であって、
前記データ提供装置が、前記車両に搭載される車載コンピュータに適用される適用データの期待値を計算し、
前記データ提供装置が、前記適用データ及び前記期待値を、前記車両とデータを送受する車両インタフェースにより前記車両に送信し、
前記データ保安装置が、前記データ保安装置の外部の装置とデータを送受するインタフェース部により前記データ提供装置から受信した前記適用データの測定値を計算し、前記インタフェース部により前記データ提供装置から受信した前記期待値に基づいて該測定値を検証し、
前記データ保安装置が、前記測定値の検証が合格した前記適用データを前記インタフェース部により前記車載コンピュータに送信する、
データ提供方法。 - 車両に搭載されるデータ保安装置のコンピュータに、
前記データ保安装置の外部の装置とデータを送受するインタフェース部によりデータ提供装置から受信した適用データの測定値を計算し、前記インタフェース部により前記データ提供装置から受信した期待値に基づいて該測定値を検証し、
前記測定値の検証が合格した前記適用データを前記インタフェース部により前記車両に搭載される車載コンピュータに送信する、
処理を実行させるコンピュータプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/307,414 US10970398B2 (en) | 2016-08-10 | 2017-03-28 | Data provision system, data security device, data provision method, and computer program |
EP17838969.8A EP3499792A4 (en) | 2016-08-10 | 2017-03-28 | DATA PROVIDING SYSTEM, DATA SECURITY DEVICE, DATA PROVIDING METHOD AND COMPUTER PROGRAM |
CN201780035235.6A CN109314644B (zh) | 2016-08-10 | 2017-03-28 | 数据提供系统、数据保护装置、数据提供方法以及存储介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016158121 | 2016-08-10 | ||
JP2016-158121 | 2016-08-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018029893A1 true WO2018029893A1 (ja) | 2018-02-15 |
Family
ID=61161945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/012720 WO2018029893A1 (ja) | 2016-08-10 | 2017-03-28 | データ提供システム、データ保安装置、データ提供方法、及びコンピュータプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US10970398B2 (ja) |
EP (1) | EP3499792A4 (ja) |
CN (1) | CN109314644B (ja) |
WO (1) | WO2018029893A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7429780B2 (ja) | 2019-12-06 | 2024-02-08 | アッサ アブロイ アーベー | セキュアな要素をセキュアに更新するための方法及びプロセス |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11265154B2 (en) * | 2017-01-05 | 2022-03-01 | Koninklijke Philips N.V. | Network device and trusted third party device |
US10841284B2 (en) * | 2018-05-30 | 2020-11-17 | Lear Corporation | Vehicle communication network and method |
JP7408937B2 (ja) * | 2018-08-10 | 2024-01-09 | 株式会社デンソー | センター装置,配信パッケージの生成方法及び配信パッケージ生成用プログラム |
DE102019212958B3 (de) | 2019-08-28 | 2021-03-04 | Volkswagen Aktiengesellschaft | Verfahren und Vorrichtung zur Erzeugung von kryptographischen Schlüsseln nach einem Schlüsselableitungsmodell sowie Fahrzeug |
CN111881015B (zh) * | 2020-06-19 | 2024-02-02 | 无锡融卡科技有限公司 | 应用测试方法与应用测试装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120093312A1 (en) * | 2010-10-15 | 2012-04-19 | Infineon Technologies Ag | Data Transmitter with a Secure and Efficient Signature |
JP2013192091A (ja) * | 2012-03-14 | 2013-09-26 | Denso Corp | 通信システム、中継装置、車外装置及び通信方法 |
JP2016072675A (ja) * | 2014-09-26 | 2016-05-09 | Kddi株式会社 | 管理装置、車両、管理方法およびコンピュータプログラム |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11205308A (ja) | 1997-10-29 | 1999-07-30 | Hitachi Ltd | 認証方法および情報システム |
US7068147B2 (en) | 1999-12-07 | 2006-06-27 | Denso Corporation | Control information rewriting system |
US7853336B2 (en) * | 2007-02-27 | 2010-12-14 | Rockwell Automation Technologies, Inc. | Dynamic versioning utilizing multiple controller engine instances to limit complications |
JP2008239021A (ja) | 2007-03-28 | 2008-10-09 | Denso Corp | 車両制御装置及びそのデータ書換システム |
US9464905B2 (en) | 2010-06-25 | 2016-10-11 | Toyota Motor Engineering & Manufacturing North America, Inc. | Over-the-air vehicle systems updating and associate security protocols |
EP2484564B1 (en) * | 2011-02-08 | 2014-01-15 | Delphi Technologies Holding S.à.r.l. | Method and apparatus for vehicle security |
JP5438051B2 (ja) * | 2011-03-07 | 2014-03-12 | 株式会社東海理化電機製作所 | 電子キーシステム |
WO2012130257A1 (en) | 2011-03-29 | 2012-10-04 | Volvo Lastvagnar Ab | Secured repair data package |
CN102495601A (zh) | 2011-12-12 | 2012-06-13 | 深圳市航盛电子股份有限公司 | 一种跨网络电控单元的软件刷新系统及方法 |
DE102013101508A1 (de) | 2012-02-20 | 2013-08-22 | Denso Corporation | Datenkommunikationsauthentifizierungssystem für ein Fahrzeug, Netzkopplungsvorrichtung für ein Fahrzeug, Datenkommunikationssystem für ein Fahrzeug und Datenkommunikationsvorrichtung für ein Fahrzeug |
US10038565B2 (en) | 2012-12-20 | 2018-07-31 | GM Global Technology Operations LLC | Methods and systems for bypassing authenticity checks for secure control modules |
JP2014182571A (ja) | 2013-03-19 | 2014-09-29 | Denso Corp | 車載電子制御装置のプログラム書換システム及び車載中継装置 |
JP5975964B2 (ja) | 2013-10-18 | 2016-08-23 | 富士通株式会社 | 情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム |
CN104579664B (zh) * | 2013-10-25 | 2017-12-19 | 成都国恒信息安全技术有限责任公司 | 可有效保障数据安全的移动警务终端及其使用方法 |
JP5949732B2 (ja) | 2013-11-27 | 2016-07-13 | 株式会社オートネットワーク技術研究所 | プログラム更新システム及びプログラム更新方法 |
JP6188672B2 (ja) | 2014-10-29 | 2017-08-30 | Kddi株式会社 | 鍵管理システム |
CN104601329B (zh) * | 2014-12-26 | 2018-10-26 | 深圳市金溢科技股份有限公司 | 车载终端、车辆信息发布系统及方法 |
-
2017
- 2017-03-28 WO PCT/JP2017/012720 patent/WO2018029893A1/ja unknown
- 2017-03-28 EP EP17838969.8A patent/EP3499792A4/en not_active Withdrawn
- 2017-03-28 CN CN201780035235.6A patent/CN109314644B/zh not_active Expired - Fee Related
- 2017-03-28 US US16/307,414 patent/US10970398B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120093312A1 (en) * | 2010-10-15 | 2012-04-19 | Infineon Technologies Ag | Data Transmitter with a Secure and Efficient Signature |
JP2013192091A (ja) * | 2012-03-14 | 2013-09-26 | Denso Corp | 通信システム、中継装置、車外装置及び通信方法 |
JP2016072675A (ja) * | 2014-09-26 | 2016-05-09 | Kddi株式会社 | 管理装置、車両、管理方法およびコンピュータプログラム |
Non-Patent Citations (3)
Title |
---|
KEISUKE TAKEMORI ET AL.: "Key Managements for ECU and Code Authentications Using Tamper- resistant Secure Element", IEICE TECHNICAL REPORT, vol. 115, no. 366, 10 December 2015 (2015-12-10), pages 227 - 232, XP055586088 * |
KEISUKE TAKEMORI ET AL.: "Protection for Automotive Control System Using Secure Boot and Authentication", IEICE TECHNICAL REPORT, vol. 114, no. 225, 12 September 2014 (2014-09-12), pages 47 - 54, XP008182241 * |
See also references of EP3499792A4 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7429780B2 (ja) | 2019-12-06 | 2024-02-08 | アッサ アブロイ アーベー | セキュアな要素をセキュアに更新するための方法及びプロセス |
Also Published As
Publication number | Publication date |
---|---|
US10970398B2 (en) | 2021-04-06 |
EP3499792A1 (en) | 2019-06-19 |
CN109314644A (zh) | 2019-02-05 |
CN109314644B (zh) | 2021-08-27 |
EP3499792A4 (en) | 2020-01-01 |
US20190347421A1 (en) | 2019-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6260067B1 (ja) | 管理システム、鍵生成装置、車載コンピュータ、管理方法、及びコンピュータプログラム | |
WO2018043386A1 (ja) | 車両情報収集システム、車載コンピュータ、車両情報収集装置、車両情報収集方法、及びコンピュータプログラム | |
WO2018029893A1 (ja) | データ提供システム、データ保安装置、データ提供方法、及びコンピュータプログラム | |
JP6683588B2 (ja) | 再利用システム、サーバ装置、再利用方法、及びコンピュータプログラム | |
WO2018029905A1 (ja) | データ提供システム、データ保安装置、データ提供方法、及びコンピュータプログラム | |
WO2017006862A1 (ja) | ソフトウェア配布処理装置、車両、ソフトウェア配布処理方法及びコンピュータプログラム | |
JP6288219B1 (ja) | 通信システム | |
WO2017115751A1 (ja) | 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム | |
WO2017033602A1 (ja) | 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム | |
JP6260068B1 (ja) | 保守装置、保守方法、及びコンピュータプログラム | |
JP6299039B2 (ja) | 車両情報収集システム、データ保安装置、車両情報収集方法、及びコンピュータプログラム | |
JP6203798B2 (ja) | 車載制御システム、車両、管理装置、車載コンピュータ、データ共有方法、及びコンピュータプログラム | |
JP2018082439A (ja) | 通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラム | |
JP6554704B2 (ja) | データ提供システム及びデータ提供方法 | |
JP6464466B2 (ja) | 保守装置、保守方法、及びコンピュータプログラム | |
JP6354099B2 (ja) | データ提供システム及びデータ提供方法 | |
JP6454919B2 (ja) | 管理システム、データ提供装置、車載コンピュータ、管理方法、及びコンピュータプログラム | |
JP2018057044A (ja) | 車両情報収集システム、データ保安装置、車両情報収集装置、車両情報収集方法、及びコンピュータプログラム | |
JP2017208731A (ja) | 管理システム、管理装置、車載コンピュータ、管理方法、及びコンピュータプログラム | |
WO2018131270A1 (ja) | 通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラム | |
JP2017225186A (ja) | 車載制御システム、車両、管理装置、車載コンピュータ、データ共有方法、及びコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17838969 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2017838969 Country of ref document: EP Effective date: 20190311 |