(57)【要約】【課題】ＥＣＵ等の車載コンピュータに適用されるデータの信頼性を向上させること。【解決手段】データ提供装置は、車載コンピュータに適用される第１データと第１データの第１メッセージ認証符号とを車両に送信する。車載コンピュータは、データ提供装置から提供された第１データを自車載コンピュータに適用し、データ提供装置から提供された第１メッセージ認証符号をセキュアブートで使用される期待値に設定し、第１データの自車載コンピュータへの適用後にセキュアブートを実行し、セキュアブートにおいて、自車載コンピュータに適用された第１データを対象にして第２メッセージ認証符号を計算し、該第２メッセージ認証符号を該期待値に基づいて検証し、該検証の結果に基づいたデータ適用結果を送信する。【選択図】図１
2018026874.tif 000002
【特許請求の範囲】
【請求項１】
データ提供装置と、車両に搭載される車載コンピュータとを備え、
前記データ提供装置は、前記車両とデータを送受する車両インタフェースを備え、前記車載コンピュータに適用されるコンピュータプログラム又は設定データである第１データと前記第１データの第１メッセージ認証符号とを前記車両インタフェースにより前記車両に送信し、
前記車載コンピュータは、
自車載コンピュータの外部の装置とデータを送受する第１インタフェース部と、
前記データ提供装置から提供された前記第１データを自車載コンピュータに適用し、前記データ提供装置から提供された前記第１メッセージ認証符号をセキュアブートで使用される期待値に設定し、前記第１データの自車載コンピュータへの適用後にセキュアブートを実行する制御部と、
セキュアブートにおいて、自車載コンピュータに適用された前記第１データを対象にして第２メッセージ認証符号を計算し、該第２メッセージ認証符号を前記期待値に基づいて検証する第１測定部と、を備え、
前記制御部は、前記第１測定部の検証の結果に基づいた前記第１データの自車載コンピュータへの適用の合否を示すデータ適用結果を前記第１インタフェース部により送信し、
前記データ提供装置は、前記車両インタフェースにより前記車両から前記データ適用結果を受信する、
データ提供システム。
【請求項２】
前記データ提供装置は、前記車載コンピュータの第１共通鍵を使用して前記第１メッセージ認証符号を計算する期待値計算部をさらに備え、
前記第１測定部は、自車載コンピュータの前記第１共通鍵を使用して前記第２メッセージ認証符号を計算する、
請求項１に記載のデータ提供システム。
【請求項３】
データ保安装置をさらに備え、
前記データ提供装置は、前記第１メッセージ認証符号の第３メッセージ認証符号を前記車両インタフェースにより前記車両に送信し、
前記データ保安装置は、
自データ保安装置の外部の装置とデータを送受する第２インタフェース部と、
前記第２インタフェース部により前記データ提供装置から受信した前記第１メッセージ認証符号の第４メッセージ認証符号を計算し、前記第２インタフェース部により前記データ提供装置から受信した前記第３メッセージ認証符号に基づいて該第４メッセージ認証符号を検証する第２測定部と、を備え、前記第４メッセージ認証符号の検証が合格した前記第１メッセージ認証符号を前記第２インタフェース部により前記車載コンピュータに送信する、
請求項１又は２のいずれか１項に記載のデータ提供システム。
【請求項４】
前記期待値計算部は、前記データ保安装置の第２共通鍵を使用して前記第３メッセージ認証符号を計算し、
前記第２測定部は、自データ保安装置の前記第２共通鍵を使用して前記第４メッセージ認証符号を計算する、
請求項３に記載のデータ提供システム。
【請求項５】
データ提供装置と、車両に搭載される車載コンピュータとを備えるデータ提供システムのデータ提供方法であって、
前記データ提供装置が、前記車載コンピュータに適用されるコンピュータプログラム又は設定データである第１データと前記第１データの第１メッセージ認証符号とを前記車両インタフェースにより前記車両に送信するデータ提供ステップと、
前記車載コンピュータが、前記データ提供装置から提供された前記第１データを自車載コンピュータに適用し、前記データ提供装置から提供された前記第１メッセージ認証符号をセキュアブートで使用される期待値に設定し、前記第１データの自車載コンピュータへの適用後にセキュアブートを実行する実行ステップと、
前記車載コンピュータが、セキュアブートにおいて、自車載コンピュータに適用された前記第１データを対象にして第２メッセージ認証符号を計算し、該第２メッセージ認証符号を前記期待値に基づいて検証する測定ステップと、
前記車載コンピュータが、前記測定ステップの検証の結果に基づいた前記第１データの自車載コンピュータへの適用の合否を示すデータ適用結果を、自車載コンピュータの外部の装置とデータを送受する第１インタフェース部により送信する送信ステップと、
前記データ提供装置が、前記車両インタフェースにより前記車両から前記データ適用結果を受信する受信ステップと、
を含むデータ提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ提供システム及びデータ提供方法に関する。
【背景技術】
【０００２】
従来、自動車は、ＥＣＵ（Electronic Control Unit：電子制御装置）を有し、ＥＣＵによってエンジン制御等の機能を実現する。ＥＣＵは、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。複数のＥＣＵをＣＡＮ（Controller Area Network）に接続して構成される車載制御システムについてのセキュリティ技術が例えば非特許文献１に記載されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】竹森敬祐、“セキュアエレメントを基点とした車載制御システムの保護  −要素技術の整理と考察−”、電子情報通信学会、信学技報、vol. 114、no. 508、pp. 73-78、2015年3月
【非特許文献２】STMicroelectronics、“AN4240 Application note”、［平成２８年８月３日検索］、インターネット＜ＵＲＬ：http://www.st.com/web/en/resource/technical/document/application_note/DM00075575.pdf＞
【非特許文献３】INTERNATIONAL STANDARD、ISO14229-1、「Road vehicles Unified diagnostic services (UDS) Part 1: Specification and requirements」、Second edition、2013-03-15
【発明の概要】
【発明が解決しようとする課題】
【０００４】
自動車の車載制御システムのＥＣＵに適用される更新プログラム等のデータの信頼性を向上させることが一つの課題であった。
【０００５】
本発明は、このような事情を考慮してなされたものであり、ＥＣＵ等の車載コンピュータに適用されるデータの信頼性を向上させることができるデータ提供システム及びデータ提供方法を提供することを課題とする。
【課題を解決するための手段】
【０００６】
（１）本発明の一態様は、データ提供装置と、車両に搭載される車載コンピュータとを備え、前記データ提供装置は、前記車両とデータを送受する車両インタフェースを備え、前記車載コンピュータに適用されるコンピュータプログラム又は設定データである第１データと前記第１データの第１メッセージ認証符号とを前記車両インタフェースにより前記車両に送信し、前記車載コンピュータは、自車載コンピュータの外部の装置とデータを送受する第１インタフェース部と、前記データ提供装置から提供された前記第１データを自車載コンピュータに適用し、前記データ提供装置から提供された前記第１メッセージ認証符号をセキュアブートで使用される期待値に設定し、前記第１データの自車載コンピュータへの適用後にセキュアブートを実行する制御部と、セキュアブートにおいて、自車載コンピュータに適用された前記第１データを対象にして第２メッセージ認証符号を計算し、該第２メッセージ認証符号を前記期待値に基づいて検証する第１測定部と、を備え、前記制御部は、前記第１測定部の検証の結果に基づいた前記第１データの自車載コンピュータへの適用の合否を示すデータ適用結果を前記第１インタフェース部により送信し、前記データ提供装置は、前記車両インタフェースにより前記車両から前記データ適用結果を受信する、データ提供システムである。
（２）本発明の一態様は、上記（１）のデータ提供システムにおいて、前記データ提供装置は、前記車載コンピュータの第１共通鍵を使用して前記第１メッセージ認証符号を計算する期待値計算部をさらに備え、前記第１測定部は、自車載コンピュータの前記第１共通鍵を使用して前記第２メッセージ認証符号を計算する、データ提供システムである。
（３）本発明の一態様は、上記（１）又は（２）のいずれかのデータ提供システムにおいて、データ保安装置をさらに備え、前記データ提供装置は、前記第１メッセージ認証符号の第３メッセージ認証符号を前記車両インタフェースにより前記車両に送信し、前記データ保安装置は、自データ保安装置の外部の装置とデータを送受する第２インタフェース部と、前記第２インタフェース部により前記データ提供装置から受信した前記第１メッセージ認証符号の第４メッセージ認証符号を計算し、前記第２インタフェース部により前記データ提供装置から受信した前記第３メッセージ認証符号に基づいて該第４メッセージ認証符号を検証する第２測定部と、を備え、前記第４メッセージ認証符号の検証が合格した前記第１メッセージ認証符号を前記第２インタフェース部により前記車載コンピュータに送信する、データ提供システムである。
（４）本発明の一態様は、上記（３）のデータ提供システムにおいて、前記期待値計算部は、前記データ保安装置の第２共通鍵を使用して前記第３メッセージ認証符号を計算し、前記第２測定部は、自データ保安装置の前記第２共通鍵を使用して前記第４メッセージ認証符号を計算する、データ提供システムである。
【０００７】
（５）本発明の一態様は、データ提供装置と、車両に搭載される車載コンピュータとを備えるデータ提供システムのデータ提供方法であって、前記データ提供装置が、前記車載コンピュータに適用されるコンピュータプログラム又は設定データである第１データと前記第１データの第１メッセージ認証符号とを前記車両インタフェースにより前記車両に送信するデータ提供ステップと、前記車載コンピュータが、前記データ提供装置から提供された前記第１データを自車載コンピュータに適用し、前記データ提供装置から提供された前記第１メッセージ認証符号をセキュアブートで使用される期待値に設定し、前記第１データの自車載コンピュータへの適用後にセキュアブートを実行する実行ステップと、前記車載コンピュータが、セキュアブートにおいて、自車載コンピュータに適用された前記第１データを対象にして第２メッセージ認証符号を計算し、該第２メッセージ認証符号を前記期待値に基づいて検証する測定ステップと、前記車載コンピュータが、前記測定ステップの検証の結果に基づいた前記第１データの自車載コンピュータへの適用の合否を示すデータ適用結果を、自車載コンピュータの外部の装置とデータを送受する第１インタフェース部により送信する送信ステップと、前記データ提供装置が、前記車両インタフェースにより前記車両から前記データ適用結果を受信する受信ステップと、を含むデータ提供方法である。
【発明の効果】
【０００８】
本発明によれば、ＥＣＵ等の車載コンピュータに適用されるデータの信頼性を向上させることができるという効果が得られる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係るデータ提供システム及び自動車１００１の構成例を示す図である。
【図２】一実施形態に係るサーバ装置２０００の構成例を示す図である。
【図３】一実施形態に係るデータ保安装置１０１０の構成例を示す図である。
【図４】一実施形態に係るＥＣＵ１０２０の構成例を示す図である。
【図５】一実施形態に係るデータ提供方法の例を示すシーケンスチャートである。
【図６】一実施形態に係るデータ提供方法の実施例を示すフローチャートである。
【図７】一実施形態に係るデータ提供方法の実施例を示すフローチャートである。
【図８】一実施形態に係るデータ提供方法の実施例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照し、本発明の実施形態について説明する。なお、以下に示す実施形態では、車両として自動車を例に挙げて説明する。
【００１１】
図１は、一実施形態に係るデータ提供システム及び自動車１００１の構成例を示す図である。本実施形態では、車載コンピュータの一例として、自動車１００１に搭載されるＥＣＵ（電子制御装置）を挙げて説明する。
【００１２】
図１において、自動車１００１は、データ保安装置１０１０と複数のＥＣＵ１０２０とを備える。ＥＣＵ１０２０は、自動車１００１に備わる車載コンピュータである。ＥＣＵ１０２０は、自動車１００１のエンジン制御等の制御機能を有する。ＥＣＵ１０２０として、例えば、エンジン制御機能を有するＥＣＵ、ハンドル制御機能を有するＥＣＵ、ブレーキ制御機能を有するＥＣＵなどがある。データ保安装置１０１０は、自動車１００１に搭載されたＥＣＵ１０２０に適用されるデータのセキュリティ（保安）の機能を有する。なお、自動車１００１に搭載されたいずれかのＥＣＵをデータ保安装置１０１０として機能させてもよい。
【００１３】
データ保安装置１０１０と複数のＥＣＵ１０２０は、自動車１００１に備わるＣＡＮ（Controller Area Network）１０３０に接続される。ＣＡＮ１０３０は通信ネットワークである。ＣＡＮは車両に搭載される通信ネットワークの一つとして知られている。データ保安装置１０１０は、ＣＡＮ１０３０を介して、各ＥＣＵ１０２０との間でデータを交換する。ＥＣＵ１０２０は、ＣＡＮ１０３０を介して、他のＥＣＵ１０２０との間でデータを交換する。
【００１４】
なお、車両に搭載される通信ネットワークとして、ＣＡＮ以外の通信ネットワークを自動車１００１に備え、ＣＡＮ以外の通信ネットワークを介して、データ保安装置１０１０とＥＣＵ１０２０との間のデータの交換、及び、ＥＣＵ１０２０同士の間のデータの交換が行われてもよい。例えば、ＬＩＮ（Local Interconnect Network）を自動車１００１に備えてもよい。また、ＣＡＮとＬＩＮとを自動車１００１に備えてもよい。また、自動車１００１において、ＬＩＮに接続するＥＣＵ１０２０を備えてもよい。また、データ保安装置１０１０は、ＣＡＮとＬＩＮとに接続されてもよい。また、データ保安装置１０１０は、ＣＡＮを介して該ＣＡＮに接続されるＥＣＵ１０２０との間でデータを交換し、また、ＬＩＮを介して該ＬＩＮに接続されるＥＣＵ１０２０との間でデータを交換してもよい。また、ＥＣＵ１０２０同士が、ＬＩＮを介してデータを交換してもよい。
【００１５】
自動車１００１に備わる車載コンピュータシステム１００２は、データ保安装置１０１０と複数のＥＣＵ１０２０とがＣＡＮ１０３０に接続されて構成される。本実施形態において、車載コンピュータシステム１００２は、自動車１００１の車載制御システムとして機能する。
【００１６】
ゲートウェイ１０７０は、車載コンピュータシステム１００２の内部と外部の間の通信を監視する。ゲートウェイ１０７０はＣＡＮ１０３０に接続される。また、ゲートウェイ１０７０は、車載コンピュータシステム１００２の外部の装置の例として、インフォテイメント機器１０４０、ＴＣＵ（Tele Communication Unit）１０５０及び診断ポート１０６０と接続される。データ保安装置１０１０及びＥＣＵ１０２０は、ゲートウェイ１０７０を介して、車載コンピュータシステム１００２の外部の装置と通信を行う。
【００１７】
なお、ＣＡＮ１０３０の構成として、ＣＡＮ１０３０が複数のバス（通信線）を備え、該複数のバスをゲートウェイ１０７０に接続してもよい。この場合、一つのバスに、一つのＥＣＵ１０２０又は複数のＥＣＵ１０２０が接続される。また、同じバスにデータ保安装置１０１０とＥＣＵ１０２０とが接続されてもよく、又は、データ保安装置１０１０が接続されるバスとＥＣＵ１０２０が接続されるバスとを別個にしてもよい。
【００１８】
自動車１００１は診断ポート１０６０を備える。診断ポート１０６０として、例えばＯＢＤ（On-board Diagnostics）ポートを使用してもよい。診断ポート１０６０には、自動車１００１の外部の装置を接続可能である。診断ポート１０６０に接続可能な自動車１００１の外部の装置として、例えば、図１に示されるメンテナンスツール２１００などがある。データ保安装置１０１０と、診断ポート１０６０に接続された装置、例えばメンテナンスツール２１００とは、診断ポート１０６０及びゲートウェイ１０７０を介して、データを交換する。メンテナンスツール２１００は、ＯＢＤポートに接続される従来の診断端末の機能を有していてもよい。
【００１９】
自動車１００１はインフォテイメント（Infotainment）機器１０４０を備える。インフォテイメント機器１０４０として、例えば、ナビゲーション機能、位置情報サービス機能、音楽や動画などのマルチメディア再生機能、音声通信機能、データ通信機能、インターネット接続機能などを有するものが挙げられる。
【００２０】
自動車１００１は、ＴＣＵ１０５０を備える。ＴＣＵ１０５０は通信装置である。ＴＣＵ１０５０は通信モジュール１０５１を備える。通信モジュール１０５１は、無線通信ネットワークを利用して無線通信を行う。通信モジュール１０５１は、ＳＩＭ（Subscriber Identity Module）１０５２を備える。ＳＩＭ１０５２は、無線通信ネットワークを利用するための情報が書き込まれたＳＩＭである。通信モジュール１０５１は、ＳＩＭ１０５２を使用することにより該無線通信ネットワークに接続して無線通信を行うことができる。なお、ＳＩＭ１０５２として、ｅＳＩＭ（Embedded Subscriber Identity Module）を使用してもよい。
【００２１】
データ保安装置１０１０は、ゲートウェイ１０７０を介して、ＴＣＵ１０５０とデータを交換する。なお、ＴＣＵ１０５０とデータ保安装置１０１０とを通信ケーブルで直接接続し、ＴＣＵ１０５０とデータ保安装置１０１０は該通信ケーブルを介してデータを交換してもよい。例えば、ＵＳＢ（universal serial bus）ケーブルでＴＣＵ１０５０とデータ保安装置１０１０とを直接接続し、ＴＣＵ１０５０とデータ保安装置１０１０は該ＵＳＢケーブルを介してデータを交換してもよい。また、ＴＣＵ１０５０とデータ保安装置１０１０とをＵＳＢケーブル等の通信ケーブルで直接接続し、該通信ケーブルを介してＴＣＵ１０５０とデータ保安装置１０１０間のデータの交換を行う場合、ＴＣＵ１０５０とデータ保安装置１０１０とのうち送信側の装置は、受信側の装置に送信するデータを一時的に蓄えるバッファを備えてもよい。
【００２２】
なお、ＴＣＵ１０５０の他の接続形態として、例えば、ＴＣＵ１０５０をインフォテイメント機器１０４０に接続し、データ保安装置１０１０が、ゲートウェイ１０７０及びインフォテイメント機器１０４０を介して、ＴＣＵ１０５０とデータを交換してもよい。又は、ＴＣＵ１０５０を診断ポート１０６０に接続し、データ保安装置１０１０が、ゲートウェイ１０７０及び診断ポート１０６０を介して、該診断ポート１０６０に接続されたＴＣＵ１０５０とデータを交換してもよい。又は、データ保安装置１０１０が、ＳＩＭ１０５２を含む通信モジュール１０５１を備えてもよい。データ保安装置１０１０がＳＩＭ１０５２を含む通信モジュール１０５１を備える場合には、自動車１００１はＴＣＵ１０５０を備えなくてもよい。
【００２３】
データ保安装置１０１０は、メイン演算器１０１１とＨＳＭ（Hardware Security Module）１０１２を備える。メイン演算器１０１１は、データ保安装置１０１０の機能を実現させるためのコンピュータプログラムを実行する。ＨＳＭ１０１２は暗号処理機能等を有する。ＨＳＭ１０１２は耐タンパー性（Tamper Resistant）を有する。ＨＳＭ１０１２はセキュアエレメント（Secure Element：ＳＥ）の例である。ＨＳＭ１０１２は、データを記憶する記憶部１０１３を備える。メイン演算器１０１１はＨＳＭ１０１２を使用する。
【００２４】
ＥＣＵ１０２０は、メイン演算器１０２１とＳＨＥ（Secure Hardware Extension）１０２２を備える。メイン演算器１０２１は、ＥＣＵ１０２０の機能を実現させるためのコンピュータプログラムを実行する。ＳＨＥ１０２２は暗号処理機能等を有する。ＳＨＥ１０２２は耐タンパー性を有する。ＳＨＥ１０２２はセキュアエレメントの例である。ＳＨＥ１０２２は、データを記憶する記憶部１０２３を備える。メイン演算器１０２１はＳＨＥ１０２２を使用する。
【００２５】
サーバ装置２０００は、通信回線を介して、自動車１００１のＴＣＵ１０５０の通信モジュール１０５１とデータを送受する。サーバ装置２０００は、自動車１００１のＴＣＵ１０５０の通信モジュール１０５１が利用する無線通信ネットワークを介して、該通信モジュール１０５１とデータを送受する。又は、サーバ装置２０００は、インターネット等の通信ネットワークと該無線通信ネットワークとを介して、該通信モジュール１０５１とデータを送受してもよい。また、例えば、サーバ装置２０００と通信モジュール１０５１との間をＶＰＮ（Virtual Private Network）回線等の専用回線で接続し、該専用回線でデータを送受してもよい。例えば、ＳＩＭ１０５２に対応する無線通信ネットワークによって、ＶＰＮ回線等の専用回線が提供されてもよい。なお、サーバ装置２０００と自動車１００１とを通信ケーブルで接続してもよい。例えば、サーバ装置２０００と自動車１００１のゲートウェイ１０７０とを通信ケーブルで接続するように構成してもよい。
【００２６】
サーバ装置２０００は、ＥＣＵ１０２０に適用されるＥＣＵコード（ECU code）を自動車１００１に提供する。ＥＣＵコードは、ＥＣＵ１０２０に適用されるデータの例である。ＥＣＵコードは、ＥＣＵ１０２０にインストールされる更新プログラム等のコンピュータプログラムであってもよく、又は、ＥＣＵ１０２０に設定されるパラメータ設定値などの設定データであってもよい。
【００２７】
図２は、サーバ装置２０００の構成例を示す図である。図２において、サーバ装置２０００は、通信部２０１１と記憶部２０１２と期待値計算部２０１３と検証部２０１４と鍵生成部２０１５と暗号処理部２０１６とを備える。通信部２０１１は、通信回線を介して、他の装置と通信を行う。通信部２０１１は車両インタフェースに対応する。記憶部２０１２は、データを記憶する。期待値計算部２０１３は、ＥＣＵコードについての期待値を計算する。検証部２０１４は、ＥＣＵ１０２０の測定値の検証に係る処理を行う。鍵生成部２０１５は、鍵を生成する。暗号処理部２０１６は、データの暗号化及び暗号化データの復号を行う。
【００２８】
サーバ装置２０００の機能は、該サーバ装置２０００が備えるＣＰＵがコンピュータプログラムを実行することにより実現される。なお、サーバ装置２０００として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。
【００２９】
図３は、データ保安装置１０１０の構成例を示す図である。図３において、データ保安装置１０１０は、メイン演算器１０１１とＨＳＭ１０１２とインタフェース部２０とを備える。メイン演算器１０１１は、制御部２１と記憶部２２とを備える。ＨＳＭ１０１２は、記憶部１０１３と暗号処理部３２と測定部３３とを備える。
【００３０】
インタフェース部２０は、自データ保安装置１０１０の外部の装置とデータを送受する。インタフェース部２０は、ＣＡＮ１０３０を介してデータを送受するインタフェースを備える。メイン演算器１０１１は、インタフェース部２０を介して、データ保安装置１０１０以外の他の装置とデータの送受を行う。
【００３１】
制御部２１は、データ保安装置１０１０の制御を行う。記憶部２２は、データを記憶する。記憶部１０１３は、データを記憶する。暗号処理部３２は、データの暗号化及び暗号化データの復号を行う。測定部３３は、ＥＣＵコード等のデータの測定値を計算し、該測定値を期待値に基づいて検証する。
【００３２】
図４は、ＥＣＵ１０２０の構成例を示す図である。図４において、ＥＣＵ１０２０は、メイン演算器１０２１とＳＨＥ１０２２とインタフェース部４０とを備える。メイン演算器１０２１は、制御部４１と記憶部４２とを備える。ＳＨＥ１０２２は、記憶部１０２３と暗号処理部５２と測定部５３とを備える。
【００３３】
インタフェース部４０は、自ＥＣＵ１０２０の外部の装置とデータを送受する。インタフェース部４０は、ＣＡＮ１０３０を介してデータを送受するインタフェースを備える。メイン演算器１０２１は、インタフェース部４０を介して、自ＥＣＵ１０２０以外の他の装置とデータの送受を行う。
【００３４】
制御部４１は、ＥＣＵ１０２０の制御を行う。記憶部４２は、データを記憶する。記憶部１０２３は、データを記憶する。暗号処理部５２は、データの暗号化及び暗号化データの復号を行う。測定部５３は、ＥＣＵコード等のデータの測定値を計算し、該測定値を期待値に基づいて検証する。
【００３５】
なお、本実施形態では、データ保安装置１０１０にＨＳＭを使用しているが、データ保安装置１０１０においてＨＳＭの代わりにＳＨＥを使用してもよい。なお、ＳＨＥについては、例えば非特許文献２に記載されている。
【００３６】
次に図５を参照して、本実施形態に係るデータ提供方法の例を説明する。図５は、本実施形態に係るデータ提供方法の例を示すシーケンスチャートである。
【００３７】
サーバ装置２０００は、マスタ鍵Ｍａｓｔｅｒ＿Ｓｅｃｒｅｔと、ＥＣＵ１０２０のＥＣＵコードとを予め記憶部２０１２に格納している。ＥＣＵ１０２０のＥＣＵコードは、ＥＣＵ１０２０に適用する予定のＥＣＵコードを含む。データ保安装置１０１０は、署名鍵Ｋｂｃ及び暗号鍵Ｋｅｃを予めＨＳＭ１０１２の記憶部１０１３に格納している。ＥＣＵ１０２０は、署名鍵Ｋｂｅを予めＳＨＥ１０２２の記憶部１０２３に格納している。
【００３８】
以下、サーバ装置２０００は、通信部２０１１により、自動車１００１のＴＣＵ１０５０と通信を行い、ＴＣＵ１０５０及びゲートウェイ１０７０を介して、自動車１００１のＣＡＮ１０３０に接続されるデータ保安装置１０１０との間でデータを送受する。なお、サーバ装置２０００とデータ保安装置１０１０との間の通信路として、暗号化通信路を使用してもよい。例えば、サーバ装置２０００とデータ保安装置１０１０は、暗号化通信路の一例として、ｈｔｔｐｓ（hypertext transfer protocol secure）通信を行ってもよい。
【００３９】
（ステップＳ１０１）サーバ装置２０００の鍵生成部２０１５は、自動車１００１に搭載されているデータ保安装置１０１０の署名鍵Ｋｂｃ及び暗号鍵Ｋｅｃ、並びに、ＥＣＵ１０２０の署名鍵Ｋｂｅを生成する。
【００４０】
鍵生成部２０１５の鍵生成方法の例を説明する。鍵生成部２０１５は、記憶部２０１２に格納されているマスタ鍵Ｍａｓｔｅｒ＿Ｓｅｃｒｅｔと、鍵生成対象装置の識別子ＵＮＩＴ＿ＩＤと、変数Ｎｋとを使用して、次式により鍵（共通鍵）を生成する。
共通鍵＝ダイジェスト（Ｍａｓｔｅｒ＿Ｓｅｃｒｅｔ、ＵＮＩＴ＿ＩＤ、Ｎｋ）
【００４１】
但し、鍵生成対象装置がデータ保安装置１０１０である場合には、ＵＮＩＴ＿ＩＤはデータ保安装置１０１０の識別子ＳｅｃＵ＿ＩＤである。鍵生成対象装置がＥＣＵ１０２０である場合には、ＵＮＩＴ＿ＩＤはＥＣＵ１０２０の識別子ＥＣＵ＿ＩＤである。ダイジェスト（Ｍａｓｔｅｒ＿Ｓｅｃｒｅｔ、ＵＮＩＴ＿ＩＤ、Ｎｋ）は、マスタ鍵Ｍａｓｔｅｒ＿Ｓｅｃｒｅｔと識別子ＵＮＩＴ＿ＩＤと変数Ｎｋとから生成されるダイジェスト値である。ダイジェスト値として、例えば、ハッシュ（hash）関数により算出される値、排他的論理和演算により算出される値、又は、ＣＭＡＣ（Cipher-based Message Authentication Code）などが挙げられる。例えば、共通鍵は、マスタ鍵Ｍａｓｔｅｒ＿Ｓｅｃｒｅｔと識別子ＵＮＩＴ＿ＩＤと変数Ｎｋとを入力値に使用して算出されるハッシュ関数値である。
【００４２】
変数Ｎｋの値が異なれば、ダイジェスト値は異なる。変数Ｎｋの値を変えることによって、同じマスタ鍵Ｍａｓｔｅｒ＿Ｓｅｃｒｅｔと識別子ＵＮＩＴ＿ＩＤとから、異なる共通鍵を生成することができる。例えば、署名鍵用の変数Ｎｋの値をＮｋ＿ａとし、暗号鍵用の変数Ｎｋの値をＮｋ＿ｂとする。鍵生成部２０１５は、マスタ鍵Ｍａｓｔｅｒ＿Ｓｅｃｒｅｔと、データ保安装置１０１０の識別子ＳｅｃＵ＿ＩＤと、変数Ｎｋ＿ａ，Ｎｋ＿ｂとを使用して、
署名鍵Ｋｂｃ＝ダイジェスト（Ｍａｓｔｅｒ＿Ｓｅｃｒｅｔ、ＳｅｃＵ＿ＩＤ、Ｎｋ＿ａ）、
暗号鍵Ｋｅｃ＝ダイジェスト（Ｍａｓｔｅｒ＿Ｓｅｃｒｅｔ、ＳｅｃＵ＿ＩＤ、Ｎｋ＿ｂ）、
により、データ保安装置１０１０の署名鍵Ｋｂｃと暗号鍵Ｋｅｃとを異なる鍵として生成する。また、鍵生成部２０１５は、マスタ鍵Ｍａｓｔｅｒ＿Ｓｅｃｒｅｔと、ＥＣＵ１０２０の識別子ＥＣＵ＿ＩＤと、変数Ｎｋ＿ａとを使用して、
署名鍵Ｋｂｅ＝ダイジェスト（Ｍａｓｔｅｒ＿Ｓｅｃｒｅｔ、ＥＣＵ＿ＩＤ、Ｎｋ＿ａ）、
により、ＥＣＵ１０２０の署名鍵Ｋｂｅを生成する。記憶部２０１２は、データ保安装置１０１０の署名鍵Ｋｂｃ及び暗号鍵Ｋｅｃ、並びに、ＥＣＵ１０２０の署名鍵Ｋｂｅを格納する。データ保安装置１０１０のＨＳＭ１０１２の記憶部１０１３は、サーバ装置２０００と同じ鍵生成方法によって生成された署名鍵Ｋｂｃ及び暗号鍵Ｋｅｃを予め格納している。ＥＣＵ１０２０のＳＨＥ１０２２の記憶部１０２３は、サーバ装置２０００と同じ鍵生成方法によって生成された署名鍵Ｋｂｅを予め格納している。
【００４３】
なお、本実施形態に係る鍵（共通鍵）の生成方法の他の例として、署名鍵をハッシュ関数により算出される値とし、暗号鍵を排他的論理和演算により算出される値としてもよい。又は、その逆、つまり、署名鍵を排他的論理和演算により算出される値とし、暗号鍵をハッシュ関数により算出される値としてもよい。
【００４４】
（ステップＳ１０２）サーバ装置２０００の期待値計算部２０１３は、自動車１００１に搭載されているＥＣＵ１０２０に適用する予定のＥＣＵコードのＣＭＡＣを、データ保安装置１０１０の署名鍵Ｋｂｃにより計算する。この計算結果のＣＭＡＣは、該ＥＣＵコードについての期待値である。なお、本実施形態では、ＥＣＵコードの測定値の一例として、ＣＭＡＣを使用する。期待値計算部２０１３が計算したＥＣＵコードの期待値（ＣＭＡＣ）は、該ＥＣＵコードの測定値（ＣＭＡＣ）の検証に使用される。記憶部２０１２は、ＥＣＵコードの期待値（ＣＭＡＣ）を格納する。
【００４５】
（ステップＳ１０３）サーバ装置２０００は、通信部２０１１により、ＥＣＵ１０２０に適用されるＥＣＵコードと、期待値計算部２０１３が計算した期待値（ＣＭＡＣ）とを、データ保安装置１０１０に送信する。データ保安装置１０１０は、サーバ装置２０００から送信されたＥＣＵコードと期待値（ＣＭＡＣ）とを受信する。
【００４６】
（ステップＳ１０４）データ保安装置１０１０の制御部２１は、サーバ装置２０００から受信した期待値のＣＭＡＣをＨＳＭ１０１２に渡し、該ＣＭＡＣをＨＳＭ１０１２における測定値の期待値に設定する。制御部２１は、サーバ装置２０００から受信したＥＣＵコードをＨＳＭ１０１２に渡し、ＨＳＭ１０１２にＥＣＵコードの測定を実行させる。ＨＳＭ１０１２の測定部３３は、記憶部１０１３に格納している署名鍵Ｋｂｃにより、ＥＣＵコードの測定値を計算する。本実施形態では、測定値の一例としてＣＭＡＣを使用する。よって、測定部３３は、記憶部１０１３に格納している署名鍵Ｋｂｃにより、ＥＣＵコードのＣＭＡＣを計算する。
【００４７】
測定部３３は、測定値のＣＭＡＣと、測定値のＣＭＡＣとを比較する。この比較の結果、両者が一致する場合には測定値（ＣＭＡＣ）の検証が合格であり、両者が一致しない場合には測定値（ＣＭＡＣ）の検証が不合格である。ＨＳＭ１０１２は、測定値の検証結果「合格又は不合格」を制御部２１に渡す。制御部２１は、ＥＣＵコードの測定値の検証結果が合格である場合に、ステップＳ１０５に処理を進める。一方、制御部２１は、ＥＣＵコードの測定値の検証結果が不合格である場合には、図５の処理を終了する。
【００４８】
なお、ＥＣＵコードの測定値の検証結果が不合格である場合には、制御部２１は、所定のエラー処理を実行してもよい。例えば、制御部２１は、ＥＣＵコードの測定値の検証結果が不合格であることを示すエラーメッセージを、サーバ装置２０００に送信してもよい。サーバ装置２０００は、該エラーメッセージに応じて、所定のエラー処理を実行してもよい。例えば、サーバ装置２０００は、ＥＣＵコードと期待値（ＣＭＡＣ）とをデータ保安装置１０１０に再送信したり、又は、期待値（ＣＭＡＣ）を再生成してデータ保安装置１０１０に送信したりしてもよい。
【００４９】
（ステップＳ１０５）データ保安装置１０１０の制御部２１は、ＥＣＵコードの測定値の検証が合格したＥＣＵコードを、インタフェース部２０によりＥＣＵ１０２０に送信する。ＥＣＵ１０２０は、データ保安装置１０１０から送信されたＥＣＵコードを受信する。
【００５０】
（ステップＳ１０６）ＥＣＵ１０２０の制御部４１は、データ保安装置１０１０から受信したＥＣＵコードを自ＥＣＵ１０２０に適用する。
【００５１】
（ステップＳ１０７）ＥＣＵ１０２０の制御部４１は、ＥＣＵコードの適用後に、セキュアブートを実行する。このセキュアブートでは、ＳＨＥ１０２２の測定部５３は、記憶部１０２３に格納している署名鍵ＫｂｅによりＥＣＵコードの測定値を計算する。本実施形態では、測定値の一例として、ＣＭＡＣを使用する。よって、測定部５３は、記憶部１０２３に格納している署名鍵Ｋｂｅにより、ＥＣＵコードのＣＭＡＣを計算する。測定部５３は、該計算結果のＣＭＡＣと期待値との比較を行う。制御部４１は、セキュアブートの実行前に、予め、期待値をＳＨＥ１０２２に設定する。該計算結果のＣＭＡＣと期待値との比較の結果、両者が一致する場合にはセキュアブート結果が合格であり、両者が一致しない場合にはセキュアブート結果が不合格である。ＳＨＥ１０２２は、セキュアブート結果を制御部４１に渡す。制御部４１は、セキュアブート結果が合格である場合にＥＣＵコードの実行を進める。一方、制御部４１は、セキュアブート結果が不合格である場合にはＥＣＵコードの実行を停止する。
なお、ＥＣＵ１０２０のセキュアブートで使用される期待値は、サーバ装置２０００又はデータ保安装置１０１０からＥＣＵ１０２０に予め供給される。サーバ装置２０００がＥＣＵ１０２０にセキュアブートで使用される期待値を供給する場合、サーバ装置２０００の期待値計算部２０１３がＥＣＵ１０２０の署名鍵ＫｂｅによりＥＣＵコードの期待値（ＣＭＡＣ）を計算する。ＥＣＵ１０２０の署名鍵Ｋｂｅは、予め、ＥＣＵ１０２０とサーバ装置２０００間で共有しておく。また、サーバ装置２０００は、「ＥＣＵ１０２０のセキュアブートで使用される期待値（ＣＭＡＣ）」の期待値（ＣＭＡＣ）を、上記ステップＳ１０２と同様にデータ保安装置１０１０の署名鍵Ｋｂｃにより計算し、この計算結果のＣＭＡＣと「ＥＣＵ１０２０のセキュアブートで使用される期待値（ＣＭＡＣ）」とを上記ステップＳ１０３と同様にデータ保安装置１０１０に送信してもよい。データ保安装置１０１０は、サーバ装置２０００から受信した「ＥＣＵ１０２０のセキュアブートで使用される期待値（ＣＭＡＣ）」と該期待値のＣＭＡＣについて、上記ステップＳ１０４と同様に、自己の署名鍵Ｋｂｃにより検証を行う。データ保安装置１０１０は、上記ステップＳ１０５と同様に、該検証が合格した場合に、サーバ装置２０００から受信した「ＥＣＵ１０２０のセキュアブートで使用される期待値（ＣＭＡＣ）」をＥＣＵ１０２０に送信する。「ＥＣＵ１０２０のセキュアブートで使用される期待値（ＣＭＡＣ）」は、ＥＣＵ１０２０に適用されるデータの例である。
一方、データ保安装置１０１０がＥＣＵ１０２０にセキュアブートで使用される期待値を供給する場合には、データ保安装置１０１０は、期待値計算部を有し、ＥＣＵ１０２０の署名鍵ＫｂｅによりＥＣＵコードの期待値（ＣＭＡＣ）を計算する。ＥＣＵ１０２０の署名鍵Ｋｂｅは、予め、ＥＣＵ１０２０とデータ保安装置１０１０間で共有しておく。
【００５２】
（ステップＳ１０８）ＥＣＵ１０２０の制御部４１は、インタフェース部４０により、セキュアブート結果「合格又は不合格」をデータ保安装置１０１０に送信する。データ保安装置１０１０は、ＥＣＵ１０２０から受信したセキュアブート結果「合格又は不合格」をサーバ装置２０００に転送する。セキュアブート結果「合格又は不合格」は、ＥＣＵコードのＥＣＵ１０２０への適用の合否を示すデータ適用結果に対応する。
【００５３】
サーバ装置２０００は、通信部２０１１により、データ保安装置１０１０から送信されたセキュアブート結果「合格又は不合格」を受信する。サーバ装置２０００は、データ保安装置１０１０から受信したセキュアブート結果「合格又は不合格」に応じて、所定の処理を実行する。例えば、セキュアブート結果が合格である場合には、その旨を記録する。一方、セキュアブート結果が不合格である場合には、サーバ装置２０００は、所定のエラー処理を実行してもよい。例えば、エラー処理として、サーバ装置２０００は、ＥＣＵコードと期待値（ＣＭＡＣ）とをデータ保安装置１０１０に再送信したり、又は、期待値（ＣＭＡＣ）を再生成してデータ保安装置１０１０に送信したりしてもよい。また、該エラー処理を、セキュアブート結果が合格になるまで繰り返す、又は、所定回数だけ繰り返してもよい。
【００５４】
なお、上記したステップＳ１０７のＥＣＵコードの適用後のセキュアブートは、必須ではなく、実行しなくてもよい。
【００５５】
次に、上述した図５のデータ提供方法の変形例を説明する。
【００５６】
＜データ提供方法の変形例１＞
ステップＳ１０３において、サーバ装置２０００は、暗号処理部２０１６によりＥＣＵコードを暗号化して、データ保安装置１０１０に送信する。この暗号化に用いる鍵は、データ保安装置１０１０の暗号鍵Ｋｅｃである。データ保安装置１０１０は、サーバ装置２０００から受信した暗号化データを、ＨＳＭ１０１２の暗号処理部３２により、記憶部１０１３に格納されている暗号鍵Ｋｅｃで復号して、ＥＣＵコードを取得する。
【００５７】
＜データ提供方法の変形例２＞
ステップＳ１０５において、データ保安装置１０１０は、ＨＳＭ１０１２の暗号処理部３２によりＥＣＵコードを暗号化して、ＥＣＵ１０２０に送信する。この暗号化に用いる鍵は、予め、データ保安装置１０１０とＥＣＵ１０２０間で共有しておく。ＥＣＵ１０２０は、データ保安装置１０１０から受信した暗号化データを、ＳＨＥ１０２２の暗号処理部５２により、記憶部１０２３に格納されている該当の鍵で復号して、ＥＣＵコードを取得する。
【００５８】
＜データ提供方法の変形例３＞
ステップＳ１０５において、ＥＣＵコードは、ＣＡＮ１０３０のパケットに格納されて、データ保安装置１０１０からＥＣＵ１０２０に伝送される。データ保安装置１０１０は、該パケットに、該パケットについてのＣＭＡＣをさらに含める。該ＣＭＡＣの生成に使用する鍵は、予め、データ保安装置１０１０とＥＣＵ１０２０間で共有しておく。ＥＣＵ１０２０は、データ保安装置１０１０から受信したパケットに含まれるＣＭＡＣを、該当の鍵で検証する。ＥＣＵ１０２０は、該ＣＭＡＣの検証が合格した場合に当該ＥＣＵコードを適用する。一方、ＥＣＵ１０２０は、該ＣＭＡＣの検証が不合格である場合には当該ＥＣＵコードを適用しない。
【００５９】
なお、ＥＣＵコードを格納するパケットに含めるＣＭＡＣとして、該ＥＣＵコードの全て又は一部についてのＣＭＡＣを使用してもよい。例えば、ＥＣＵコードを一定サイズのブロックに分割し、ブロック毎にＣＭＡＣを計算して、該ブロックと該ＣＭＡＣとをパケットに格納してもよい。ＥＣＵ１０２０は、ブロック毎にＣＭＡＣを検証しながらＥＣＵコードを取得する。該ＣＭＡＣの生成に使用する鍵は、予め、データ保安装置１０１０とＥＣＵ１０２０間で共有しておく。
【００６０】
＜データ提供方法の変形例４＞
ステップＳ１０８において、ＥＣＵ１０２０からサーバ装置２０００に送信するセキュアブート結果「合格又は不合格」は所定値とする。例えば、合格は「１」であり、不合格は「０」である。
【００６１】
＜データ提供方法の変形例５＞
ステップＳ１０８において、ＥＣＵ１０２０からサーバ装置２０００に送信するセキュアブート結果「合格又は不合格」は、ステップＳ１０７のセキュアブートで計算された結果のＥＣＵコードのＣＭＡＣとする。サーバ装置２０００の検証部２０１４は、ステップＳ１０３でデータ保安装置１０１０に送信したＥＣＵコードのＣＭＡＣを、ＥＣＵ１０２０の署名鍵Ｋｂｅにより計算する。サーバ装置２０００の検証部２０１４は、該計算結果のＣＭＡＣと、ＥＣＵ１０２０のセキュアブート結果のＣＭＡＣとを比較する。サーバ装置２０００の検証部２０１４は、該比較の結果、両者が一致する場合にはＥＣＵ１０２０のセキュアブート結果が合格であると判断し、両者が一致しない場合にはＥＣＵ１０２０のセキュアブート結果が不合格であると判断する。
【００６２】
＜データ提供方法の変形例６＞
サーバ装置２０００は、検証値（例えば、乱数）を予めＥＣＵ１０２０に供給する。ステップＳ１０８において、ＥＣＵ１０２０は、セキュアブート結果が合格である場合にはセキュアブート結果「合格」に検証値を含め、一方、セキュアブート結果が不合格である場合にはセキュアブート結果「不合格」に検証値を含めない。サーバ装置２０００の検証部２０１４は、ＥＣＵ１０２０のセキュアブート結果「合格」に含まれる検証値と、予めＥＣＵ１０２０に供給した元の検証値とを比較する。サーバ装置２０００の検証部２０１４は、該比較の結果、両者が一致する場合にはＥＣＵ１０２０のセキュアブート結果が合格であると判断し、両者が一致しない場合にはＥＣＵ１０２０のセキュアブート結果が不合格であると判断する。
【００６３】
＜データ提供方法の変形例７＞
上記のデータ提供方法の変形例４，５，６のいずれか複数を組合せて適用する。
【００６４】
＜データ提供方法の変形例８＞
上記のデータ提供方法の変形例４，５，６，７において、ＥＣＵ１０２０は、ＳＨＥ１０２２の暗号処理部５２によりセキュアブート結果を暗号化して、サーバ装置２０００に送信する。この暗号化に用いる鍵は、予め、サーバ装置２０００とＥＣＵ１０２０間で共有しておく。サーバ装置２０００は、ＥＣＵ１０２０からの暗号化データを、暗号処理部２０１６により、記憶部２０１２に格納されている該当の鍵で復号して、セキュアブート結果を取得する。なお、該暗号化に用いる鍵として、セキュアブート結果が合格である場合にのみＳＨＥ１０２２で使用可能となる暗号鍵を使用してもよい。この場合、セキュアブート結果「合格」を該暗号鍵により暗号化してもよい。
【００６５】
次に、上述した図５のデータ提供方法におけるデータ保安装置１０１０とＥＣＵ１０２０間の実施例を説明する。図６から図８は、本実施形態に係るデータ提供方法の実施例を示すフローチャートである。本実施例では、非特許文献３に記載される１５章の「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」の手順と、を利用する。図６及び図７には、非特許文献３に記載される「15.2.1.2 Programming step of phase ＃1 − Download of application software and data」の図３３の「graphically depicts the functionality embedded in the programming step of phase ＃1.」における適用例が示されている。図８には、非特許文献３に記載される「15.2.1.3 Post-Programming step of phase ＃1 − Re-synchronization of vehicle network」の図３４の「graphically depicts the functionality embedded in the post-programming step of phase ＃1.」における適用例が示されている。
【００６６】
図６において、符号Ｓ１００１で示されるステップは、データ保安装置１０１０のセキュリティ・アクセス（Security Access）の処理に対応する。図７において、符号Ｓ１００２で示されるステップは、データ保安装置１０１０のＥＣＵコードのブロック毎の復号及び電子署名の検証の処理に対応する。図７において、符号Ｓ１００３で示されるステップは、ＥＣＵ１０２０のＥＣＵコードの検証の処理に対応する。図８において、符号Ｓ１００４で示されるステップは、ＥＣＵ１０２０のＥＣＵコードの適用後のセキュアブートの処理に対応する。
【００６７】
上述した実施形態によれば、データ保安装置１０１０は、サーバ装置２０００から提供されたＥＣＵコードの期待値（ＣＭＡＣ）に基づいて、該ＥＣＵコードの測定値（ＣＭＡＣ）を検証し、この測定値（ＣＭＡＣ）の検証が合格したＥＣＵコードをＥＣＵ１０２０に送信する。これにより、ＥＣＵ１０２０に適用されるＥＣＵコードの信頼性を向上させることができる。また、サーバ装置２０００がＥＣＵ１０２０にセキュアブートで使用される期待値を供給する場合、ＥＣＵコードと同様に、データ保安装置１０１０がサーバ装置２０００から受信した「ＥＣＵ１０２０のセキュアブートで使用される期待値」と該期待値の期待値（ＣＭＡＣ）について検証を行うことにより、ＥＣＵ１０２０に適用される「セキュアブートで使用される期待値」の信頼性を向上させることができる。
【００６８】
上述した実施形態において、サーバ装置２０００はデータ提供装置に対応する。
【００６９】
なお、メンテナンスツール２１００が、サーバ装置２０００と同様の機能を備え、サーバ装置２０００と同様のデータ提供方法により、診断ポート１０６０及びデータ保安装置１０１０を介してＥＣＵ１０２０にＥＣＵコードを提供するように構成してもよい。
【００７０】
また、自動車１００１のＴＣＵ１０５０又はゲートウェイ１０７０が、データ保安装置１０１０の機能を有してもよい。
【００７１】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００７２】
上述した実施形態では、データ保安装置１０１０やＥＣＵ１０２０にＨＳＭやＳＨＥを使用したが、ＨＳＭ及びＳＨＥ以外の暗号処理チップを使用してもよい。データ保安装置１０１０に対して、例えば「ＴＰＭ（Trusted Platform Module）ｆ」と呼ばれる暗号処理チップを使用してもよい。ＴＰＭｆは耐タンパー性を有する。ＴＰＭｆはセキュアエレメントの例である。ＥＣＵ１０２０に対して、例えば「ＴＰＭｔ」と呼ばれる暗号処理チップを使用してもよい。ＴＰＭｔは耐タンパー性を有する。ＴＰＭｔはセキュアエレメントの例である。
【００７３】
上述した実施形態は、自動車の製造工場において、自動車の製造工程で自動車に搭載されたＥＣＵに適用してもよい。また、上述した実施形態は、自動車の整備工場や販売店等において、自動車に搭載されているＥＣＵに適用してもよい。
【００７４】
上述した実施形態では、車両として自動車を例に挙げたが、原動機付自転車や鉄道車両等の自動車以外の他の車両にも適用可能である。
【００７５】
また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disc）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００７６】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００７７】
２２，４２，２０１２…記憶部、２０１３…期待値計算部、２０１４…検証部、３２，５２，２０１６…暗号処理部、２０，４０…インタフェース部、２１，４１…制御部、３３，５３…測定部、１００１…自動車、１００２…車載コンピュータシステム、１０１０…データ保安装置、１０１１，１０２１…メイン演算器、１０１２…ＨＳＭ、１０１３，１０２３…記憶部、１０２０…ＥＣＵ、１０２２…ＳＨＥ、１０３０…ＣＡＮ、１０４０…インフォテイメント機器、１０５０…ＴＣＵ、１０５１…通信モジュール、１０５２…ＳＩＭ、１０６０…診断ポート、１０７０…ゲートウェイ、２０００…サーバ装置、２０１１…通信部、２０１５…鍵生成部、２１００…メンテナンスツール
【図１】
2018026874.tif 000003
【図２】
2018026874.tif 000004
【図３】
2018026874.tif 000005
【図４】
2018026874.tif 000006
【図５】
2018026874.tif 000007
【図６】
2018026874.tif 000008
【図７】
2018026874.tif 000009
【図８】
2018026874.tif 000010