(57)【要約】【課題】自動車等の車両が外部のサーバ装置と通信を行う際の安全性を向上させること。【解決手段】第２演算処理装置が車両秘密鍵とサーバ公開鍵とを使用してサーバ装置との間で相互に公開鍵暗号方式の認証処理を行う認証処理ステップと、第２演算処理装置が車両秘密鍵を使用する暗号通信によりサーバ装置との間で共通鍵を送信又は受信する鍵送受ステップと、第１演算処理装置が共通鍵を使用してサーバ装置との間で暗号通信を行う通信ステップと、を含む。【選択図】図８
2018113641.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＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えばコネクテッドカー（Connected Car）と称される自動車が外部のサーバ装置と通信を行う際の安全性を向上させることが一つの課題であった。
【０００５】
本発明は、このような事情を考慮してなされたものであり、自動車等の車両が外部のサーバ装置と通信を行う際の安全性を向上させることができる、通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
（１）本発明の一態様は、車両とサーバ装置との間の通信を行う通信システムであり、前記サーバ装置と、前記車両に搭載される第１演算処理装置と、前記車両に搭載されるセキュアエレメントである第２演算処理装置とを備え、前記第２演算処理装置は、前記車両の秘密鍵である車両秘密鍵と前記サーバ装置の公開鍵であるサーバ公開鍵とを格納する車両鍵記憶部と、前記車両秘密鍵と前記サーバ公開鍵とを使用して前記サーバ装置との間で相互に公開鍵暗号方式の認証処理を行う車両認証処理部と、前記車両秘密鍵又は前記サーバ公開鍵を使用する暗号通信により、前記サーバ装置との間で共通鍵を送信又は受信する車両鍵送受部と、を備え、前記第１演算処理装置は、前記共通鍵を使用して、前記サーバ装置との間で暗号通信を行う車両通信部を備え、前記サーバ装置は、前記車両の公開鍵である車両公開鍵と前記サーバ装置の秘密鍵であるサーバ秘密鍵とを格納するサーバ鍵記憶部と、前記車両公開鍵と前記サーバ秘密鍵とを使用して前記車両の前記車両認証処理部との間で相互に公開鍵暗号方式の認証処理を行うサーバ認証処理部と、前記車両公開鍵又は前記サーバ秘密鍵を使用する暗号通信により、前記車両の前記車両鍵送受部との間で前記共通鍵を送信又は受信するサーバ鍵送受部と、前記共通鍵を使用して、前記車両の前記車両通信部との間で暗号通信を行うサーバ通信部と、を備える、通信システムである。
【０００７】
（２）本発明の一態様は、サーバ装置と通信を行う車両であり、第１演算処理装置と、セキュアエレメントである第２演算処理装置とを備え、前記第２演算処理装置は、前記車両の秘密鍵である車両秘密鍵と前記サーバ装置の公開鍵であるサーバ公開鍵とを格納する車両鍵記憶部と、前記車両秘密鍵と前記サーバ公開鍵とを使用して前記サーバ装置との間で相互に公開鍵暗号方式の認証処理を行う車両認証処理部と、前記車両秘密鍵又は前記サーバ公開鍵を使用する暗号通信により、前記サーバ装置との間で共通鍵を送信又は受信する車両鍵送受部と、を備え、前記第１演算処理装置は、前記共通鍵を使用して、前記サーバ装置との間で暗号通信を行う車両通信部を備える、車両である。
【０００８】
（３）本発明の一態様は、車両と通信を行うサーバ装置であり、前記車両の公開鍵である車両公開鍵と前記サーバ装置の秘密鍵であるサーバ秘密鍵とを格納するサーバ鍵記憶部と、前記車両公開鍵と前記サーバ秘密鍵とを使用して前記車両のセキュアエレメントである第２演算処理装置の車両認証処理部との間で相互に公開鍵暗号方式の認証処理を行うサーバ認証処理部と、前記車両公開鍵又は前記サーバ秘密鍵を使用する暗号通信により、前記第２演算処理装置の車両鍵送受部との間で共通鍵を送信又は受信するサーバ鍵送受部と、前記共通鍵を使用して、前記車両の車両通信部との間で暗号通信を行うサーバ通信部と、を備えるサーバ装置である。
【０００９】
（４）本発明の一態様は、車両とサーバ装置との間の通信方法であり、前記車両は、第１演算処理装置と、セキュアエレメントである第２演算処理装置とを備え、前記第２演算処理装置が、前記車両の秘密鍵である車両秘密鍵と前記サーバ装置の公開鍵であるサーバ公開鍵とを格納する鍵記憶ステップと、前記第２演算処理装置が、前記車両秘密鍵と前記サーバ公開鍵とを使用して前記サーバ装置との間で相互に公開鍵暗号方式の認証処理を行う認証処理ステップと、前記第２演算処理装置が、前記車両秘密鍵又は前記サーバ公開鍵を使用する暗号通信により、前記サーバ装置との間で共通鍵を送信又は受信する鍵送受ステップと、前記第１演算処理装置が、前記共通鍵を使用して、前記サーバ装置との間で暗号通信を行う通信ステップと、を含む通信方法である。
【００１０】
（５）本発明の一態様は、サーバ装置と通信を行う車両に備わる、セキュアエレメントである第２コンピュータに、前記車両の秘密鍵である車両秘密鍵と前記サーバ装置の公開鍵であるサーバ公開鍵とを格納する車両鍵記憶機能と、前記車両秘密鍵と前記サーバ公開鍵とを使用して前記サーバ装置との間で相互に公開鍵暗号方式の認証処理を行う車両認証処理機能と、前記車両秘密鍵又は前記サーバ公開鍵を使用する暗号通信により、前記サーバ装置との間で共通鍵を送信又は受信する車両鍵送受機能と、を実現させ、前記車両に備わる第１コンピュータに、前記共通鍵を使用して、前記サーバ装置との間で暗号通信を行う車両通信機能を実現させるためのコンピュータプログラムである。
【００１１】
（６）本発明の一態様は、車両と通信を行うサーバ装置のコンピュータに、前記車両の公開鍵である車両公開鍵と前記サーバ装置の秘密鍵であるサーバ秘密鍵とを格納するサーバ鍵記憶機能と、前記車両公開鍵と前記サーバ秘密鍵とを使用して前記車両のセキュアエレメントである第２演算処理装置の車両認証処理部との間で相互に公開鍵暗号方式の認証処理を行うサーバ認証処理機能と、前記車両公開鍵又は前記サーバ秘密鍵を使用する暗号通信により、前記第２演算処理装置の車両鍵送受部との間で共通鍵を送信又は受信するサーバ鍵送受機能と、前記共通鍵を使用して、前記車両の車両通信部との間で暗号通信を行うサーバ通信機能と、を実現させるためのコンピュータプログラムである。
【発明の効果】
【００１２】
本発明によれば、自動車等の車両が外部のサーバ装置と通信を行う際の安全性を向上させることができるという効果が得られる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態に係る通信システム及び自動車１００１の構成例を示す図である。
【図２】一実施形態に係るサーバ装置２０００の構成例を示す図である。
【図３】一実施形態に係るインフォテイメント機器１０４０のハードウェア構成例を示すブロック図である。
【図４】一実施形態に係るＴＣＵ１０５０のハードウェア構成例を示すブロック図である。
【図５】一実施形態に係る第１演算処理装置５００の機能構成例を示す図である。
【図６】一実施形態に係る第２演算処理装置６００の機能構成例を示す図である。
【図７】一実施形態に係るインフォテイメント機器１０４０の他のハードウェア構成例を示すブロック図である。
【図８】一実施形態に係る通信方法の例１を示すシーケンスチャートである。
【図９】一実施形態に係る通信方法の例２を示すシーケンスチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照し、本発明の実施形態について説明する。なお、以下に示す実施形態では、車両として自動車を例に挙げて説明する。
【００１５】
図１は、本実施形態に係る通信システム及び自動車１００１の構成例を示す図である。図１において、自動車１００１は、データ保安装置１０１０と複数のＥＣＵ（電子制御装置）１０２０とインフォテイメント（Infotainment）機器１０４０とＴＣＵ（Tele Communication Unit）１０５０とを備える。ＥＣＵ１０２０は、自動車１００１に備わる車載コンピュータである。ＥＣＵ１０２０は、自動車１００１のエンジン制御等の制御機能を有する。ＥＣＵ１０２０として、例えば、エンジン制御機能を有するＥＣＵ、ハンドル制御機能を有するＥＣＵ、ブレーキ制御機能を有するＥＣＵなどがある。データ保安装置１０１０は、自動車１００１に搭載されたＥＣＵ１０２０に適用されるデータのセキュリティ（保安）の機能を有する。なお、自動車１００１に搭載されたいずれかのＥＣＵをデータ保安装置１０１０として機能させてもよい。
【００１６】
データ保安装置１０１０と複数のＥＣＵ１０２０は、自動車１００１に備わるＣＡＮ（Controller Area Network）１０３０に接続される。ＣＡＮ１０３０は通信ネットワークである。ＣＡＮは車両に搭載される通信ネットワークの一つとして知られている。データ保安装置１０１０は、ＣＡＮ１０３０を介して、各ＥＣＵ１０２０との間でデータを交換する。ＥＣＵ１０２０は、ＣＡＮ１０３０を介して、他のＥＣＵ１０２０との間でデータを交換する。
【００１７】
なお、車両に搭載される通信ネットワークとして、ＣＡＮ以外の通信ネットワークを自動車１００１に備え、ＣＡＮ以外の通信ネットワークを介して、データ保安装置１０１０とＥＣＵ１０２０との間のデータの交換、及び、ＥＣＵ１０２０同士の間のデータの交換が行われてもよい。例えば、ＬＩＮ（Local Interconnect Network）を自動車１００１に備えてもよい。また、ＣＡＮとＬＩＮとを自動車１００１に備えてもよい。また、自動車１００１において、ＬＩＮに接続するＥＣＵ１０２０を備えてもよい。また、データ保安装置１０１０は、ＣＡＮとＬＩＮとに接続されてもよい。また、データ保安装置１０１０は、ＣＡＮを介して該ＣＡＮに接続されるＥＣＵ１０２０との間でデータを交換し、また、ＬＩＮを介して該ＬＩＮに接続されるＥＣＵ１０２０との間でデータを交換してもよい。また、ＥＣＵ１０２０同士が、ＬＩＮを介してデータを交換してもよい。
【００１８】
自動車１００１に備わる車載コンピュータシステム１００２は、データ保安装置１０１０と複数のＥＣＵ１０２０とがＣＡＮ１０３０に接続されて構成される。本実施形態において、車載コンピュータシステム１００２は、自動車１００１の車載制御システムとして機能する。
【００１９】
データ保安装置１０１０は、車載コンピュータシステム１００２の内部と外部の間の通信を監視する。データ保安装置１０１０は、車載コンピュータシステム１００２の外部の装置の例として、インフォテイメント機器１０４０、ＴＣＵ１０５０及び診断ポート１０６０と接続される。ＥＣＵ１０２０は、データ保安装置１０１０を介して、車載コンピュータシステム１００２の外部の装置と通信を行う。
【００２０】
なお、ＣＡＮ１０３０の構成として、ＣＡＮ１０３０が複数のバス（通信線）を備え、該複数のバスをデータ保安装置１０１０に接続してもよい。この場合、一つのバスに、一つのＥＣＵ１０２０又は複数のＥＣＵ１０２０が接続される。
【００２１】
自動車１００１は診断ポート１０６０を備える。診断ポート１０６０として、例えばＯＢＤ（On-board Diagnostics）ポートを使用してもよい。診断ポート１０６０には、自動車１００１の外部の装置を接続可能である。診断ポート１０６０に接続可能な自動車１００１の外部の装置として、例えば、図１に示されるメンテナンスツール２１００などがある。データ保安装置１０１０と、診断ポート１０６０に接続された装置、例えばメンテナンスツール２１００とは、診断ポート１０６０を介して、データを交換する。メンテナンスツール２１００は、ＯＢＤポートに接続される従来の診断端末の機能を有していてもよい。
【００２２】
自動車１００１はインフォテイメント機器１０４０を備える。インフォテイメント機器１０４０として、例えば、ナビゲーション機能、位置情報サービス機能、音楽や動画などのマルチメディア再生機能、音声通信機能、データ通信機能、インターネット接続機能などを有するものが挙げられる。インフォテイメント機器１０４０は、一般に、車載インフォテイメント（In-Vehicle Infotainment：ＩＶＩ）システムと称されたりする。
【００２３】
自動車１００１はＴＣＵ１０５０を備える。ＴＣＵ１０５０は通信装置である。ＴＣＵ１０５０は通信モジュール１０５１を備える。通信モジュール１０５１は、無線通信ネットワークを利用して無線通信を行う。通信モジュール１０５１は、ＳＩＭ（Subscriber Identity Module）１０５２を備える。ＳＩＭ１０５２は、無線通信ネットワークを利用するための情報が書き込まれたＳＩＭである。通信モジュール１０５１は、ＳＩＭ１０５２を使用することにより該無線通信ネットワークに接続して無線通信を行うことができる。なお、ＳＩＭ１０５２として、ｅＳＩＭ（Embedded Subscriber Identity Module）を使用してもよい。ＳＩＭ及びｅＳＩＭはセキュアエレメント（Secure Element：ＳＥ）の例である。ＳＩＭ及びｅＳＩＭは耐タンパー性（Tamper Resistant）を有する。
【００２４】
インフォテイメント機器１０４０とＴＣＵ１０５０とはデータを交換する。例えば、インフォテイメント機器１０４０とＴＣＵ１０５０とを通信ケーブルで接続し、インフォテイメント機器１０４０とＴＣＵ１０５０とは該通信ケーブルを介してデータを送受してもよい。インフォテイメント機器１０４０とＴＣＵ１０５０との間の通信方式として、例えば、ユニバーサル・シリアル・バス（Universal Serial Bus：ＵＳＢ）を使用してもよい。又は、インフォテイメント機器１０４０とＴＣＵ１０５０とをＣＡＮで接続してもよい。
【００２５】
データ保安装置１０１０はＴＣＵ１０５０とデータを交換する。例えば、データ保安装置１０１０とＴＣＵ１０５０とを通信ケーブルで接続し、データ保安装置１０１０とＴＣＵ１０５０とは該通信ケーブルを介してデータを送受してもよい。例えば、データ保安装置１０１０とＴＣＵ１０５０とをＣＡＮで接続してもよい。又は、データ保安装置１０１０とＴＣＵ１０５０との間の通信方式として、例えば、ＵＳＢを使用してもよい。
【００２６】
なお、データ保安装置１０１０が、インフォテイメント機器１０４０を介して、ＴＣＵ１０５０とデータを交換してもよい。又は、ＴＣＵ１０５０を診断ポート１０６０に接続し、データ保安装置１０１０が、診断ポート１０６０を介して、該診断ポート１０６０に接続されたＴＣＵ１０５０とデータを交換してもよい。又は、データ保安装置１０１０が、ＳＩＭ１０５２を含む通信モジュール１０５１を備えてもよい。データ保安装置１０１０がＳＩＭ１０５２を含む通信モジュール１０５１を備える場合には、自動車１００１はＴＣＵ１０５０を備えなくてもよい。
【００２７】
又は、インフォテイメント機器１０４０が、ＳＩＭ１０５２を含む通信モジュール１０５１を備えてもよい。インフォテイメント機器１０４０がＳＩＭ１０５２を含む通信モジュール１０５１を備える場合には、自動車１００１はＴＣＵ１０５０を備えなくてもよい。インフォテイメント機器１０４０がＳＩＭ１０５２を含む通信モジュール１０５１を備える場合には、データ保安装置１０１０は、インフォテイメント機器１０４０に備わる通信モジュール１０５１とデータを交換してもよい。
【００２８】
データ保安装置１０１０は、メイン演算器１０１１とＨＳＭ（Hardware Security Module）１０１２を備える。メイン演算器１０１１は、データ保安装置１０１０の機能を実現させるためのコンピュータプログラムを実行する。ＨＳＭ１０１２は暗号処理機能等を有する。ＨＳＭ１０１２は耐タンパー性を有する。ＨＳＭ１０１２はセキュアエレメントの例である。ＨＳＭ１０１２は、データを記憶する記憶部１０１３を備える。メイン演算器１０１１はＨＳＭ１０１２を使用する。
【００２９】
ＥＣＵ１０２０は、メイン演算器１０２１とＳＨＥ（Secure Hardware Extension）１０２２を備える。メイン演算器１０２１は、ＥＣＵ１０２０の機能を実現させるためのコンピュータプログラムを実行する。ＳＨＥ１０２２は暗号処理機能等を有する。ＳＨＥ１０２２は耐タンパー性を有する。ＳＨＥ１０２２はセキュアエレメントの例である。ＳＨＥ１０２２は、データを記憶する記憶部１０２３を備える。メイン演算器１０２１はＳＨＥ１０２２を使用する。なお、ＳＨＥについては、例えば非特許文献３に記載されている。
【００３０】
なお、本実施形態では、データ保安装置１０１０にＨＳＭを使用しているが、データ保安装置１０１０においてＨＳＭの代わりにＳＨＥを使用してもよい。
【００３１】
サーバ装置２０００は、通信回線を介して、自動車１００１のＴＣＵ１０５０の通信モジュール１０５１とデータを送受する。サーバ装置２０００は、自動車１００１のＴＣＵ１０５０の通信モジュール１０５１が利用する無線通信ネットワークを介して、該通信モジュール１０５１とデータを送受する。又は、サーバ装置２０００は、インターネット等の通信ネットワークと該無線通信ネットワークとを介して、該通信モジュール１０５１とデータを送受してもよい。また、例えば、サーバ装置２０００と通信モジュール１０５１との間をＶＰＮ（Virtual Private Network）回線等の専用回線で接続し、該専用回線でデータを送受してもよい。例えば、ＳＩＭ１０５２に対応する無線通信ネットワークによって、ＶＰＮ回線等の専用回線が提供されてもよい。
【００３２】
サーバ装置２０００は、自動車１００１のＴＣＵ１０５０と通信を行い、ＴＣＵ１０５０を介して、自動車１００１のデータ保安装置１０１０及びインフォテイメント機器１０４０との間でデータを送受する。
【００３３】
なお、データ保安装置１０１０がＳＩＭ１０５２を含む通信モジュール１０５１を備える場合には、サーバ装置２０００は、該データ保安装置１０１０の通信モジュール１０５１と通信を行ってもよい。また、インフォテイメント機器１０４０がＳＩＭ１０５２を含む通信モジュール１０５１を備える場合には、サーバ装置２０００は、該インフォテイメント機器１０４０の通信モジュール１０５１と通信を行ってもよい。
【００３４】
また、サーバ装置２０００と自動車１００１とを通信ケーブルで接続してもよい。例えば、サーバ装置２０００と自動車１００１のデータ保安装置１０１０とを通信ケーブルで接続するように構成してもよい。又は、サーバ装置２０００と自動車１００１とは、有線又は無線の通信ネットワークを介して通信を行うように構成してもよい。例えば、サーバ装置２０００と自動車１００１とを、有線又は無線のＬＡＮ（Local Area Network）で接続してもよい。
【００３５】
図２は、本実施形態に係るサーバ装置２０００の構成例を示す図である。図２において、サーバ装置２０００は、通信部１１と、記憶部１２と、鍵生成部１５と、鍵送受部１６と、認証処理部１８とを備える。通信部１１は、通信回線を介して、他の装置と通信を行う。記憶部１２は、データを記憶する。鍵生成部１５は、鍵を生成する。鍵送受部１６は、自動車１００１との間で鍵の送信又は受信を行う。認証処理部１８は、自動車１００１との間で認証処理を行う。
【００３６】
サーバ装置２０００の機能は、該サーバ装置２０００が備えるＣＰＵ（Central Processing Unit：中央演算処理装置）がコンピュータプログラムを実行することにより実現される。なお、サーバ装置２０００として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。
【００３７】
図３は、本実施形態に係るインフォテイメント機器１０４０のハードウェア構成例を示すブロック図である。図３において、インフォテイメント機器１０４０は、ＣＰＵ１１０と、記憶部１１２と、インタフェース部１１６と、タッチパネル１１８と、マイクロフォン（マイク）１２０と、スピーカ１２２とを備える。これら各部はデータを交換できるように構成されている。
【００３８】
ＣＰＵ１１０はインフォテイメント機器１０４０の制御を行う。この制御機能は、ＣＰＵ１１０がコンピュータプログラムを実行することにより実現される。記憶部１１２は、ＣＰＵ１１０で実行されるコンピュータプログラムや各種のデータを記憶する。記憶部１１２は、インフォテイメント機器１０４０の各種の機能を実現させるためのコンピュータプログラムを記憶する。ＣＰＵ１１０が該コンピュータプログラムを実行することにより、インフォテイメント機器１０４０の各種の機能が実現される。
【００３９】
インタフェース部１１６は、自インフォテイメント機器１０４０の外部の装置とデータを送受する。インタフェース部１１６は、ＴＣＵ１０５０とデータを送受するインタフェースと、データ保安装置１０１０とデータを送受するインタフェースとを備える。タッチパネル１１８は、液晶パネル等の表示画面を備え、表示画面へのデータ表示と、利用者による表示画面へのタッチ操作に応じたデータ入力とを行う。マイク１２０は音声の入力を行う。スピーカ１２２は音声の再生を行う。
【００４０】
図４は、本実施形態に係るＴＣＵ１０５０のハードウェア構成例を示すブロック図である。図４において、ＴＣＵ１０５０は、ＣＰＵ２１０と、記憶部２１２と、インタフェース部２１６と、通信モジュール１０５１とを備える。これら各部はデータを交換できるように構成されている。通信モジュール１０５１は、ＳＩＭ１０５２を備える。
【００４１】
ＣＰＵ２１０はＴＣＵ１０５０の制御を行う。この制御機能は、ＣＰＵ２１０がコンピュータプログラムを実行することにより実現される。記憶部２１２は、ＣＰＵ２１０で実行されるコンピュータプログラムや各種のデータを記憶する。記憶部２１２は、ＴＣＵ１０５０の各種の機能を実現させるためのコンピュータプログラムを記憶する。ＣＰＵ２１０が該コンピュータプログラムを実行することにより、ＴＣＵ１０５０の各種の機能が実現される。
【００４２】
インタフェース部２１６は、自ＴＣＵ１０５０の外部の装置とデータを送受する。インタフェース部２１６は、インフォテイメント機器１０４０とデータを送受するインタフェースと、データ保安装置１０１０とデータを送受するインタフェースとを備える。通信モジュール１０５１及びＳＩＭ１０５２は上述した通りである。
【００４３】
図５は、本実施形態に係る第１演算処理装置５００の機能構成例を示す図である。図５において、第１演算処理装置５００は、通信部５０１と、記憶部５０２とを備える。通信部５０１は、第１演算処理装置５００の外部の装置との間で通信を行う。記憶部５０２は、データを記憶する。
【００４４】
本実施形態では、自動車１００１のインフォテイメント機器１０４０が第１演算処理装置５００の機能を備えてもよい。又は、自動車１００１のＴＣＵ１０５０が第１演算処理装置５００の機能を備えてもよい。又は、自動車１００１のデータ保安装置１０１０が第１演算処理装置５００の機能を備えてもよい。
【００４５】
図６は、本実施形態に係る第２演算処理装置６００の機能構成例を示す図である。図６において、第２演算処理装置６００は、鍵生成部６０１と、記憶部６０２と、鍵送受部６０３と、認証処理部６０４とを備える。鍵生成部６０１は、鍵を生成する。記憶部６０２は、データを記憶する。鍵送受部６０３は、サーバ装置２０００との間で鍵の送信又は受信を行う。認証処理部６０４は、サーバ装置２０００との間で認証処理を行う。
【００４６】
第２演算処理装置６００はセキュアエレメントである。第２演算処理装置６００は、耐タンパー性を有する半導体製品であってもよい。例えば、ＳＩＭ、ｅＳＩＭ、ＨＳＭ、ＳＨＥ又はＩＣ（Integrated Circuit）チップを使用して第２演算処理装置６００を構成してもよい。
【００４７】
本実施形態では、自動車１００１のＴＣＵ１０５０の通信モジュール１０５１のＳＩＭ１０５２が第２演算処理装置６００の機能を備えてもよい。ＳＩＭ１０５２はセキュアエレメントである。ＳＩＭ１０５２は耐タンパー性を有する。又は、自動車１００１のデータ保安装置１０１０のＨＳＭ１０１２が第２演算処理装置６００の機能を備えてもよい。ＨＳＭ１０１２はセキュアエレメントである。ＨＳＭ１０１２は耐タンパー性を有する。又は、自動車１００１のインフォテイメント機器１０４０にセキュアエレメントであり耐タンパー性を有するＩＣチップを備え、該ＩＣチップが第２演算処理装置６００の機能を備えてもよい。
【００４８】
［第１演算処理装置と第２演算処理装置との構成例］
本実施形態に係る第１演算処理装置と第２演算処理装置との構成例を説明する。
【００４９】
（第１演算処理装置と第２演算処理装置との構成例１）
第１演算処理装置と第２演算処理装置との構成例１では、第１演算処理装置５００の一例としてインフォテイメント機器１０４０が第１演算処理装置５００の機能を備え、第２演算処理装置６００の一例としてＴＣＵ１０５０の通信モジュール１０５１のＳＩＭ１０５２が第２演算処理装置６００の機能を備える。インフォテイメント機器１０４０のＣＰＵ１１０が第１演算処理装置５００の機能を実現させるためのコンピュータプログラムを実行することにより、第１演算処理装置５００の機能が実現される。ＴＣＵ１０５０の通信モジュール１０５１のＳＩＭ１０５２が第２演算処理装置６００の機能を実現させるためのコンピュータプログラムを実行することにより、第２演算処理装置６００の機能が実現される。
【００５０】
第１演算処理装置５００（インフォテイメント機器１０４０）と第２演算処理装置６００（ＳＩＭ１０５２）との間の通信は、インフォテイメント機器１０４０のインタフェース部１１６とＴＣＵ１０５０のインタフェース部２１６とがデータを送受することにより実現される。第１演算処理装置５００（インフォテイメント機器１０４０）は、本実施形態に係る一例としてＴＣＵ１０５０を介して、サーバ装置２０００と通信を行う。
【００５１】
（第１演算処理装置と第２演算処理装置との構成例２）
第１演算処理装置と第２演算処理装置との構成例２では、第１演算処理装置５００の一例としてデータ保安装置１０１０が第１演算処理装置５００の機能を備え、第２演算処理装置６００の一例としてＴＣＵ１０５０の通信モジュール１０５１のＳＩＭ１０５２が第２演算処理装置６００の機能を備える。データ保安装置１０１０のメイン演算器１０１１が第１演算処理装置５００の機能を実現させるためのコンピュータプログラムを実行することにより、第１演算処理装置５００の機能が実現される。ＴＣＵ１０５０の通信モジュール１０５１のＳＩＭ１０５２が第２演算処理装置６００の機能を実現させるためのコンピュータプログラムを実行することにより、第２演算処理装置６００の機能が実現される。
【００５２】
第１演算処理装置５００（データ保安装置１０１０）と第２演算処理装置６００（ＳＩＭ１０５２）との間の通信は、データ保安装置１０１０のインタフェース部（図示せず）とＴＣＵ１０５０のインタフェース部２１６とがデータを送受することにより実現される。データ保安装置１０１０のインタフェース部は、自データ保安装置１０１０の外部の装置とデータを送受する。データ保安装置１０１０のインタフェース部は、ＣＡＮ１０３０を介してデータを送受するインタフェースと、インフォテイメント機器１０４０とデータを送受するインタフェースと、ＴＣＵ１０５０とデータを送受するインタフェースと、診断ポート１０６０を介してデータを送受するインタフェースとを備える。メイン演算器１０１１は、該インタフェース部を介して、データ保安装置１０１０以外の他の装置とデータの送受を行う。第１演算処理装置５００（データ保安装置１０１０）は、本実施形態に係る一例としてＴＣＵ１０５０を介して、サーバ装置２０００と通信を行う。
【００５３】
（第１演算処理装置と第２演算処理装置との構成例３）
第１演算処理装置と第２演算処理装置との構成例３では、第１演算処理装置５００の一例としてデータ保安装置１０１０が第１演算処理装置５００の機能を備え、第２演算処理装置６００の一例としてデータ保安装置１０１０のＨＳＭ１０１２が第２演算処理装置６００の機能を備える。データ保安装置１０１０のメイン演算器１０１１が第１演算処理装置５００の機能を実現させるためのコンピュータプログラムを実行することにより、第１演算処理装置５００の機能が実現される。データ保安装置１０１０のＨＳＭ１０１２が第２演算処理装置６００の機能を実現させるためのコンピュータプログラムを実行することにより、第２演算処理装置６００の機能が実現される。
【００５４】
第１演算処理装置５００（データ保安装置１０１０）と第２演算処理装置６００（ＨＳＭ１０１２）との間の通信は、メイン演算器１０１１とＨＳＭ１０１２とがデータを送受することにより実現される。第１演算処理装置５００（データ保安装置１０１０）は、本実施形態に係る一例としてＴＣＵ１０５０を介して、サーバ装置２０００と通信を行う。
【００５５】
（第１演算処理装置と第２演算処理装置との構成例４）
図７は、本実施形態に係るインフォテイメント機器１０４０の他のハードウェア構成例を示すブロック図である。図７において、図３の各部に対応する部分には同一の符号を付している。図７に示すインフォテイメント機器１０４０は、図３の構成においてさらに通信モジュール１０５１を備える。通信モジュール１０５１は、ＳＩＭ１０５２を備える。通信モジュール１０５１は、ＳＩＭ１０５２を使用することにより該ＳＩＭ１０５２に対応する無線通信ネットワークに接続して無線通信を行うことができる。なお、ＳＩＭ１０５２として、ｅＳＩＭを使用してもよい。ＳＩＭ及びｅＳＩＭはセキュアエレメントの例である。ＳＩＭ及びｅＳＩＭは耐タンパー性を有する。
【００５６】
図７に示すインフォテイメント機器１０４０は、自己の通信モジュール１０５１を使用して、自動車１００１の外部の装置と通信を行う。例えば、図７に示すインフォテイメント機器１０４０は、自己の通信モジュール１０５１を使用して、サーバ装置２０００と通信を行ってもよい。
【００５７】
第１演算処理装置と第２演算処理装置との構成例４では、図７に示すインフォテイメント機器１０４０を適用する。第１演算処理装置５００の一例としてインフォテイメント機器１０４０が第１演算処理装置５００の機能を備え、第２演算処理装置６００の一例としてインフォテイメント機器１０４０の通信モジュール１０５１のＳＩＭ１０５２が第２演算処理装置６００の機能を備える。インフォテイメント機器１０４０のＣＰＵ１１０が第１演算処理装置５００の機能を実現させるためのコンピュータプログラムを実行することにより、第１演算処理装置５００の機能が実現される。インフォテイメント機器１０４０の通信モジュール１０５１のＳＩＭ１０５２が第２演算処理装置６００の機能を実現させるためのコンピュータプログラムを実行することにより、第２演算処理装置６００の機能が実現される。
【００５８】
第１演算処理装置５００（インフォテイメント機器１０４０）と第２演算処理装置６００（インフォテイメント機器１０４０の通信モジュール１０５１のＳＩＭ１０５２）との間の通信は、インフォテイメント機器１０４０のＣＰＵ１１０とインフォテイメント機器１０４０の通信モジュール１０５１とがデータを送受することにより実現される。第１演算処理装置５００（インフォテイメント機器１０４０）は、本実施形態に係る一例としてインフォテイメント機器１０４０の通信モジュール１０５１を介して、サーバ装置２０００と通信を行う。なお、第１演算処理装置５００（インフォテイメント機器１０４０）は、本実施形態に係る一例としてＴＣＵ１０５０を介して、サーバ装置２０００と通信を行ってもよい。また、インフォテイメント機器１０４０がＳＩＭ１０５２を含む通信モジュール１０５１を備える場合には、自動車１００１はＴＣＵ１０５０を備えなくてもよい。
【００５９】
（第１演算処理装置と第２演算処理装置との構成例５）
第１演算処理装置と第２演算処理装置との構成例５では、第１演算処理装置５００の一例としてＴＣＵ１０５０が第１演算処理装置５００の機能を備え、第２演算処理装置６００の一例としてＴＣＵ１０５０の通信モジュール１０５１のＳＩＭ１０５２が第２演算処理装置６００の機能を備える。ＴＣＵ１０５０のＣＰＵ２１０が第１演算処理装置５００の機能を実現させるためのコンピュータプログラムを実行することにより、第１演算処理装置５００の機能が実現される。ＴＣＵ１０５０の通信モジュール１０５１のＳＩＭ１０５２が第２演算処理装置６００の機能を実現させるためのコンピュータプログラムを実行することにより、第２演算処理装置６００の機能が実現される。
【００６０】
第１演算処理装置５００（ＴＣＵ１０５０）と第２演算処理装置６００（ＳＩＭ１０５２）との間の通信は、ＣＰＵ２１０と通信モジュール１０５１とがデータを送受することにより実現される。第１演算処理装置５００（ＴＣＵ１０５０）は、本実施形態に係る一例として通信モジュール１０５１により、サーバ装置２０００と通信を行う。
【００６１】
［通信方法の例］
次に本実施形態に係る通信方法の例を説明する。以下の通信方法の例の説明では、公開鍵暗号方式の認証処理の一例として、チャレンジ・レスポンス認証方法を使用する。また、サーバ装置２０００と第１演算処理装置５００との間の通信路として、暗号化通信路を使用してもよい。例えば、サーバ装置２０００と第１演算処理装置５００は、暗号化通信路の一例として、ｈｔｔｐｓ（hypertext transfer protocol secure）通信を行ってもよい。また、サーバ装置２０００と第１演算処理装置５００は、ＶＰＮ回線等の専用回線を使用して通信を行ってもよい。
【００６２】
＜通信方法の例１＞
図８を参照して本実施形態に係る通信方法の例１を説明する。図８は、本実施形態に係る通信方法の例１を示すシーケンスチャートである。
【００６３】
図８において、サーバ装置２０００は、Ｒｏｏｔ公開鍵証明書Ｋｐ＿ｒと、サーバ公開鍵証明書Ｋｐ＿ｓと、サーバ秘密鍵Ｋｓ＿ｓとを予め記憶部１２に格納する。第２演算処理装置６００は、Ｒｏｏｔ公開鍵証明書Ｋｐ＿ｒと、サーバ公開鍵証明書Ｋｐ＿ｓと、車両公開鍵証明書Ｋｐ＿ｃと、車両秘密鍵Ｋｓ＿ｃとを予め記憶部６０２に格納する。サーバ装置２０００が記憶部１２に格納するＲｏｏｔ公開鍵証明書Ｋｐ＿ｒと、第２演算処理装置６００が記憶部６０２に格納するＲｏｏｔ公開鍵証明書Ｋｐ＿ｒとは、同じである。サーバ装置２０００が記憶部１２に格納するサーバ公開鍵証明書Ｋｐ＿ｓと、第２演算処理装置６００が記憶部６０２に格納するＲｏｏｔ公開鍵証明書Ｋｐ＿ｒとは、同じである。
【００６４】
Ｒｏｏｔ公開鍵証明書Ｋｐ＿ｒは、公開鍵暗号基盤（Public Key Infrastructure：PKI）における第三者機関（Trusted Third Party：TTP）の認証局（Certificate Authority：CA）が発行した公開鍵証明書であってもよく、又は、プライベート認証局が発行した公開鍵証明書であってもよい。プライベート認証局として、例えば、自動車１００１の製造会社が備える認証局であってもよい。
【００６５】
サーバ公開鍵証明書Ｋｐ＿ｓのサーバ公開鍵とサーバ秘密鍵Ｋｓ＿ｓとは、ペアの公開鍵と秘密鍵として生成される。サーバ公開鍵証明書Ｋｐ＿ｓは、Ｒｏｏｔ公開鍵証明書Ｋｐ＿ｒとペアのＲｏｏｔ秘密鍵を使用して生成される。サーバ公開鍵証明書Ｋｐ＿ｓは、サーバ装置２０００の公開鍵証明書として生成される。
【００６６】
車両公開鍵証明書Ｋｐ＿ｃの車両公開鍵と車両秘密鍵Ｋｓ＿ｃとは、ペアの公開鍵と秘密鍵として生成される。車両公開鍵証明書Ｋｐ＿ｃは、Ｒｏｏｔ公開鍵証明書Ｋｐ＿ｒとペアのＲｏｏｔ秘密鍵を使用して生成される。車両公開鍵証明書Ｋｐ＿ｃは、自動車１００１の公開鍵証明書として生成される。
【００６７】
第２演算処理装置６００の一例としてのＳＩＭ１０５２には、例えば、ＳＩＭ１０５２の製造工場で、Ｒｏｏｔ公開鍵証明書Ｋｐ＿ｒと、サーバ公開鍵証明書Ｋｐ＿ｓと、車両公開鍵証明書Ｋｐ＿ｃと、車両秘密鍵Ｋｓ＿ｃとがＳＩＭ１０５２に格納される。又は、自動車１００１、通信モジュール１０５１若しくはＴＣＵ１０５０の製造工場などで、Ｒｏｏｔ公開鍵証明書Ｋｐ＿ｒと、サーバ公開鍵証明書Ｋｐ＿ｓと、車両公開鍵証明書Ｋｐ＿ｃと、車両秘密鍵Ｋｓ＿ｃとがＳＩＭ１０５２に格納されてもよい。
【００６８】
通信方法の例１は、自動車１００１の生産又は保守の段階（生産保守フェーズ）と、自動車１００１の一般の走行の段階（市場走行フェーズ）とから構成される。
【００６９】
（生産保守フェーズ）
通信方法の例１の生産保守フェーズを説明する。生産保守フェーズは、自動車製造会社での自動車１００１の生産時、又は、自動車整備工場や自動車販売店等での自動車１００１の保守時に実施される。
【００７０】
（ステップＳ１）第１演算処理装置５００は、自動車１００１の車両識別番号（Vehicle Identification Number：ＶＩＮ）を取得する。車両識別番号（ＶＩＮ）については、例えば非特許文献２に記載されている。自動車１００１の車両識別番号ＶＩＮは、予め第１演算処理装置５００に格納されてもよく、又は、所定の契機で外部から第１演算処理装置５００に車両識別番号ＶＩＮが通知されてもよい。
【００７１】
例えば、自動車１００１のエンジン制御機能を有するＥＣＵ１０２０が該自動車１００１の車両識別番号ＶＩＮを格納している場合、該ＥＣＵ１０２０の起動後に該ＥＣＵ１０２０から第１演算処理装置５００に該自動車１００１の車両識別番号ＶＩＮを通知してもよい。
【００７２】
又は、自動車１００１の車両識別番号ＶＩＮは、例えば自動車１００１の自動車製造会社や自動車販売店などで管理されている車両識別番号ＶＩＮが第１演算処理装置５００に供給されてもよい。例えば、自動車１００１の自動車製造会社が車両識別番号ＶＩＮのデータベースを備え、該データベースから通信により車両識別番号ＶＩＮを自動車１００１の第１演算処理装置５００に通知してもよい。
【００７３】
（ステップＳ２）第１演算処理装置５００は、車両公開鍵証明書Ｋｐ＿ｃの要求メッセージを第２演算処理装置６００に送信する。
【００７４】
（ステップＳ３）第２演算処理装置６００は、第１演算処理装置５００から受信した車両公開鍵証明書Ｋｐ＿ｃの要求メッセージに応じて、記憶部６０２に格納される車両公開鍵証明書Ｋｐ＿ｃを第１演算処理装置５００に送信する。
【００７５】
（ステップＳ４）第１演算処理装置５００は、自動車１００１の車両識別番号ＶＩＮと、第２演算処理装置６００から受信した車両公開鍵証明書Ｋｐ＿ｃとをサーバ装置２０００に送信する。
【００７６】
（ステップＳ５）サーバ装置２０００は、自動車１００１の第１演算処理装置５００から受信した車両公開鍵証明書Ｋｐ＿ｃを、記憶部１２に格納されるＲｏｏｔ公開鍵証明書Ｋｐ＿ｒを使用して、正当性の検証を行う。サーバ装置２０００は、車両公開鍵証明書Ｋｐ＿ｃの正当性の検証の結果が合格である場合には、車両公開鍵証明書Ｋｐ＿ｃと自動車１００１の車両識別番号ＶＩＮとを関連付けて記憶部１２に格納する。一方、サーバ装置２０００は、車両公開鍵証明書Ｋｐ＿ｃの正当性の検証の結果が不合格である場合には、車両公開鍵証明書Ｋｐ＿ｃを破棄する。また、所定のエラー処理を実行してもよい。
【００７７】
以上が通信方法の例１の生産保守フェーズの説明である。
【００７８】
なお、サーバ装置２０００が、予め、自動車１００１の車両識別番号ＶＩＮと車両公開鍵証明書Ｋｐ＿ｃとを関連付けて記憶部１２に格納しておいてもよい。この場合には、上記した生産保守フェーズのステップＳ１からステップＳ５までの手順を実行しなくてもよい。
【００７９】
（市場走行フェーズ）
通信方法の例１の市場走行フェーズを説明する。市場走行フェーズは、自動車１００１の一般の走行の段階において、例えば、自動車１００１のエンジン始動時や、自動車１００１とサーバ装置２０００との通信の開始時などに実施される。
【００８０】
（ステップＳ１１）第１演算処理装置５００は、自動車１００１の車両識別番号ＶＩＮとチャレンジ（乱数ｃ）とをサーバ装置２０００に送信する。第１演算処理装置５００は、乱数ｃを発生し、乱数ｃをチャレンジに使用する。第１演算処理装置５００は、チャレンジ（乱数ｃ）を保持しておく。
【００８１】
（ステップＳ１２）サーバ装置２０００の認証処理部１８は、第１演算処理装置５００から受信したチャレンジ（乱数ｃ）を、記憶部１２に格納されるサーバ秘密鍵Ｋｓ＿ｓで暗号化する。このチャレンジ（乱数ｃ）の暗号化データはレスポンスＫｓ＿ｓ（乱数ｃ）である。
【００８２】
（ステップＳ１３）サーバ装置２０００の認証処理部１８は、乱数ｓを発生し、乱数ｓをチャレンジに使用する。認証処理部１８は、レスポンスＫｓ＿ｓ（乱数ｃ）と、チャレンジ（乱数ｓ）とを第１演算処理装置５００に送信する。認証処理部１８は、チャレンジ（乱数ｓ）を保持しておく。
【００８３】
（ステップＳ１４）第１演算処理装置５００は、サーバ装置２０００に送信したチャレンジ（乱数ｃ）と、サーバ装置２０００から受信したレスポンスＫｓ＿ｓ（乱数ｃ）及びチャレンジ（乱数ｓ）とを第２演算処理装置６００に送信する。
【００８４】
（ステップＳ１５）第２演算処理装置６００の認証処理部６０４は、第１演算処理装置５００から受信したレスポンスＫｓ＿ｓ（乱数ｃ）の検証を行う。このレスポンス検証では、認証処理部６０４は、第１演算処理装置５００から受信したチャレンジ（乱数ｃ）と、記憶部６０２に格納されるサーバ公開鍵証明書Ｋｐ＿ｓとを使用して、レスポンスＫｓ＿ｓ（乱数ｃ）の正当性を検証する。認証処理部６０４は、サーバ公開鍵証明書Ｋｐ＿ｓのサーバ公開鍵でレスポンスＫｓ＿ｓ（乱数ｃ）を復号し、この復号結果とチャレンジ（乱数ｃ）とを比較する。この比較の結果、両者が一致する場合にはレスポンスＫｓ＿ｓ（乱数ｃ）の検証が合格であり、両者が不一致の場合にはレスポンスＫｓ＿ｓ（乱数ｃ）の検証が不合格である。
【００８５】
レスポンスＫｓ＿ｓ（乱数ｃ）の検証が合格である場合には、ステップＳ１６に進む。一方、レスポンスＫｓ＿ｓ（乱数ｃ）の検証が不合格である場合には、図８の処理を終了する。レスポンスＫｓ＿ｓ（乱数ｃ）の検証が不合格である場合には、第２演算処理装置６００は所定のエラー処理を実行してもよい。
【００８６】
（ステップＳ１６）第２演算処理装置６００の認証処理部６０４は、第１演算処理装置５００から受信したチャレンジ（乱数ｓ）を、記憶部６０２に格納される車両秘密鍵Ｋｓ＿ｃで暗号化する。このチャレンジ（乱数ｓ）の暗号化データはレスポンスＫｓ＿ｃ（乱数ｓ）である。
【００８７】
（ステップＳ１７）第２演算処理装置６００の認証処理部６０４は、レスポンスＫｓ＿ｃ（乱数ｓ）を第１演算処理装置５００に送信する。
【００８８】
（ステップＳ１８）第１演算処理装置５００は、第２演算処理装置６００から受信したレスポンスＫｓ＿ｃ（乱数ｓ）をサーバ装置２０００に送信する。
【００８９】
（ステップＳ１９）サーバ装置２０００の認証処理部１８は、自動車１００１の第１演算処理装置５００から受信したレスポンスＫｓ＿ｃ（乱数ｓ）の検証を行う。このレスポンス検証では、認証処理部１８は、第１演算処理装置５００に送信したチャレンジ（乱数ｓ）と、自動車１００１の車両識別番号ＶＩＮに関連付けて記憶部１２に格納される車両公開鍵証明書Ｋｐ＿ｃとを使用して、レスポンスＫｓ＿ｃ（乱数ｓ）の正当性を検証する。認証処理部６０４は、車両公開鍵証明書Ｋｐ＿ｃの車両公開鍵でレスポンスＫｓ＿ｃ（乱数ｓ）を復号し、この復号結果とチャレンジ（乱数ｓ）とを比較する。この比較の結果、両者が一致する場合にはレスポンスＫｓ＿ｃ（乱数ｓ）の検証が合格であり、両者が不一致の場合にはレスポンスＫｓ＿ｃ（乱数ｓ）の検証が不合格である。
【００９０】
レスポンスＫｓ＿ｃ（乱数ｓ）の検証が合格である場合には、ステップＳ２０に進む。一方、レスポンスＫｓ＿ｃ（乱数ｓ）の検証が不合格である場合には、図８の処理を終了する。レスポンスＫｓ＿ｃ（乱数ｓ）の検証が不合格である場合には、サーバ装置２０００は所定のエラー処理を実行してもよい。
【００９１】
（ステップＳ２０）サーバ装置２０００の鍵生成部１５は、セッション鍵Ｋ＿ｃｏｍを生成する。例えば、鍵生成部１５は、乱数を発生し、発生した乱数に基づいてセッション鍵Ｋ＿ｃｏｍを生成してもよい。記憶部１２は、セッション鍵Ｋ＿ｃｏｍを自動車１００１の車両識別番号ＶＩＮに対応付けて格納する。セッション鍵Ｋ＿ｃｏｍは共通鍵に対応する。
【００９２】
（ステップＳ２１）サーバ装置２０００の鍵送受部１６は、自動車１００１の車両識別番号ＶＩＮに関連付けて記憶部１２に格納される車両公開鍵証明書Ｋｐ＿ｃの車両公開鍵でセッション鍵Ｋ＿ｃｏｍを暗号化し、暗号化セッション鍵ＥＫｐ＿ｃ（Ｋ＿ｃｏｍ）を生成する。鍵送受部１６は、暗号化セッション鍵ＥＫｐ＿ｃ（Ｋ＿ｃｏｍ）を自動車１００１の第１演算処理装置５００に送信する。
【００９３】
（ステップＳ２２）第１演算処理装置５００は、サーバ装置２０００から受信した暗号化セッション鍵ＥＫｐ＿ｃ（Ｋ＿ｃｏｍ）を第２演算処理装置６００に送信する。
【００９４】
（ステップＳ２３）第２演算処理装置６００の鍵送受部６０３は、第１演算処理装置５００から受信した暗号化セッション鍵ＥＫｐ＿ｃ（Ｋ＿ｃｏｍ）を、記憶部６０２に格納される車両秘密鍵Ｋｓ＿ｃで復号する。この復号の結果としてセッション鍵Ｋ＿ｃｏｍが取得される。これにより、サーバ装置２０００と自動車１００１とは同じセッション鍵Ｋ＿ｃｏｍを保持する。
【００９５】
（ステップＳ２４）第２演算処理装置６００の鍵送受部６０３は、セッション鍵Ｋ＿ｃｏｍを第１演算処理装置５００に送信する。第１演算処理装置５００の記憶部５０２は、第２演算処理装置６００から受信したセッション鍵Ｋ＿ｃｏｍを格納する。
【００９６】
（ステップＳ２５）サーバ装置２０００の通信部１１と、自動車１００１の第１演算処理装置５００の通信部５０１とは、セッション鍵Ｋ＿ｃｏｍを使用して暗号通信を行う。この暗号通信では、セッション鍵Ｋ＿ｃｏｍを使用してデータが暗号化された暗号化データＫ＿ｃｏｍ（データ）が、サーバ装置２０００の通信部１１と、自動車１００１の第１演算処理装置５００の通信部５０１との間で送受される。これにより、サーバ装置２０００の通信部１１と、自動車１００１の第１演算処理装置５００の通信部５０１との間で、セッション鍵Ｋ＿ｃｏｍを使用した暗号通信路が構築される。
【００９７】
以上が通信方法の例１の市場走行フェーズの説明である。
【００９８】
上述した通信方法の例１によれば、サーバ装置２０００と自動車１００１の第２演算処理装置６００とは、サーバ装置２０００の公開鍵及び秘密鍵のペアと、自動車１００１の公開鍵及び秘密鍵のペアとを使用して、相互に公開鍵暗号方式の認証処理を行い、自動車１００１の公開鍵及び秘密鍵のペアを使用する暗号通信によりセッション鍵Ｋ＿ｃｏｍ（共通鍵）を送受する。これにより、サーバ装置２０００と自動車１００１の第１演算処理装置５００との間の暗号通信に使用されるセッション鍵Ｋ＿ｃｏｍ（共通鍵）の安全性が向上する。このことは、自動車１００１が外部のサーバ装置２０００と通信を行う際の安全性を向上させる効果を奏する。
【００９９】
また、自動車１００１の秘密鍵（車両秘密鍵Ｋｓ＿ｃ）は、自動車１００１においてセキュアエレメントである第２演算処理装置６００で保管される。これにより、自動車１００１の秘密鍵の漏洩を防止する効果が得られる。
【０１００】
また、サーバ装置２０００と自動車１００１との間の暗号通信に使用されるセッション鍵Ｋ＿ｃｏｍ（共通鍵）は、自動車１００１において第１演算処理装置５００で保管される。セキュアエレメントに限定されない第１演算処理装置５００には、比較的処理能力の高いＣＰＵを使用することにより、サーバ装置２０００と自動車１００１との間の暗号通信の通信速度を向上させることができる。
【０１０１】
＜通信方法の例２＞
図９を参照して本実施形態に係る通信方法の例２を説明する。図９は、本実施形態に係る通信方法の例２を示すシーケンスチャートである。図９において図８の各ステップに対応する部分には同一の符号を付している。
【０１０２】
図９において、サーバ装置２０００は、図８の通信方法の例１と同様に、Ｒｏｏｔ公開鍵証明書Ｋｐ＿ｒと、サーバ公開鍵証明書Ｋｐ＿ｓと、サーバ秘密鍵Ｋｓ＿ｓとを予め記憶部１２に格納する。第２演算処理装置６００は、図８の通信方法の例１と同様に、Ｒｏｏｔ公開鍵証明書Ｋｐ＿ｒと、サーバ公開鍵証明書Ｋｐ＿ｓと、車両公開鍵証明書Ｋｐ＿ｃと、車両秘密鍵Ｋｓ＿ｃとを予め記憶部６０２に格納する。
【０１０３】
通信方法の例２は、通信方法の例１と同様に生産保守フェーズと市場走行フェーズとから構成される。
【０１０４】
（生産保守フェーズ）
通信方法の例２の生産保守フェーズは、通信方法の例１の生産保守フェーズと同じである。通信方法の例２の生産保守フェーズにおいて、通信方法の例１と同様に、ステップＳ１からステップＳ５までが実施される。これにより、サーバ装置２０００の記憶部１２には、正当性の検証の結果が合格である車両公開鍵証明書Ｋｐ＿ｃと自動車１００１の車両識別番号ＶＩＮとが関連付けて格納される。
【０１０５】
以上が通信方法の例２の生産保守フェーズの説明である。
【０１０６】
なお、サーバ装置２０００が、予め、自動車１００１の車両識別番号ＶＩＮと車両公開鍵証明書Ｋｐ＿ｃとを関連付けて記憶部１２に格納しておいてもよい。この場合には、生産保守フェーズのステップＳ１からステップＳ５までの手順を実行しなくてもよい。
【０１０７】
（市場走行フェーズ）
通信方法の例２の市場走行フェーズを説明する。通信方法の例２の市場走行フェーズにおいて、ステップＳ１１からステップＳ１９までが実行される。ステップＳ１１からステップＳ１９までは、通信方法の例１と同じである。
【０１０８】
（ステップＳ３１）第２演算処理装置６００の鍵生成部６０１は、セッション鍵Ｋ＿ｃｏｍを生成する。例えば、鍵生成部６０１は、乱数を発生し、発生した乱数に基づいてセッション鍵Ｋ＿ｃｏｍを生成してもよい。記憶部６０２は、セッション鍵Ｋ＿ｃｏｍを格納する。セッション鍵Ｋ＿ｃｏｍは共通鍵に対応する。
【０１０９】
（ステップＳ３２）第２演算処理装置６００の鍵送受部６０３は、記憶部６０２に格納されるサーバ公開鍵証明書Ｋｐ＿ｓのサーバ公開鍵でセッション鍵Ｋ＿ｃｏｍを暗号化し、暗号化セッション鍵ＥＫｐ＿ｓ（Ｋ＿ｃｏｍ）を生成する。鍵送受部６０３は、暗号化セッション鍵ＥＫｐ＿ｓ（Ｋ＿ｃｏｍ）を第１演算処理装置５００に送信する。
【０１１０】
（ステップＳ３３）第１演算処理装置５００は、第２演算処理装置６００から受信した暗号化セッション鍵ＥＫｐ＿ｓ（Ｋ＿ｃｏｍ）をサーバ装置２０００に送信する。
【０１１１】
（ステップＳ３４）サーバ装置２０００の鍵送受部１６は、第１演算処理装置５００から受信した暗号化セッション鍵ＥＫｐ＿ｓ（Ｋ＿ｃｏｍ）を、記憶部１２に格納されるサーバ秘密鍵Ｋｓ＿ｓで復号する。この復号の結果としてセッション鍵Ｋ＿ｃｏｍが取得される。記憶部１２は、セッション鍵Ｋ＿ｃｏｍを自動車１００１の車両識別番号ＶＩＮに対応付けて格納する。これにより、サーバ装置２０００と自動車１００１とは同じセッション鍵Ｋ＿ｃｏｍを保持する。
【０１１２】
（ステップＳ３５）第２演算処理装置６００の鍵送受部６０３は、セッション鍵Ｋ＿ｃｏｍを第１演算処理装置５００に送信する。第１演算処理装置５００の記憶部５０２は、第２演算処理装置６００から受信したセッション鍵Ｋ＿ｃｏｍを格納する。
【０１１３】
（ステップＳ３６）サーバ装置２０００の通信部１１と、自動車１００１の第１演算処理装置５００の通信部５０１とは、セッション鍵Ｋ＿ｃｏｍを使用して暗号通信を行う。この暗号通信では、セッション鍵Ｋ＿ｃｏｍを使用してデータが暗号化された暗号化データＫ＿ｃｏｍ（データ）が、サーバ装置２０００の通信部１１と、自動車１００１の第１演算処理装置５００の通信部５０１との間で送受される。これにより、サーバ装置２０００の通信部１１と、自動車１００１の第１演算処理装置５００の通信部５０１との間で、セッション鍵Ｋ＿ｃｏｍを使用した暗号通信路が構築される。
【０１１４】
以上が通信方法の例２の市場走行フェーズの説明である。
【０１１５】
上述した通信方法の例２によれば、サーバ装置２０００と自動車１００１の第２演算処理装置６００とは、サーバ装置２０００の公開鍵及び秘密鍵のペアと、自動車１００１の公開鍵及び秘密鍵のペアとを使用して、相互に公開鍵暗号方式の認証処理を行い、サーバ装置２０００の公開鍵及び秘密鍵のペアを使用する暗号通信によりセッション鍵Ｋ＿ｃｏｍ（共通鍵）を送受する。これにより、サーバ装置２０００と自動車１００１の第１演算処理装置５００との間の暗号通信に使用されるセッション鍵Ｋ＿ｃｏｍ（共通鍵）の安全性が向上する。このことは、自動車１００１が外部のサーバ装置２０００と通信を行う際の安全性を向上させる効果を奏する。
【０１１６】
また、自動車１００１の秘密鍵（車両秘密鍵Ｋｓ＿ｃ）は、自動車１００１においてセキュアエレメントである第２演算処理装置６００で保管される。これにより、自動車１００１の秘密鍵の漏洩を防止する効果が得られる。
【０１１７】
また、サーバ装置２０００と自動車１００１との間の暗号通信に使用されるセッション鍵Ｋ＿ｃｏｍ（共通鍵）は、自動車１００１において第１演算処理装置５００で保管される。セキュアエレメントに限定されない第１演算処理装置５００には、比較的処理能力の高いＣＰＵを使用することにより、サーバ装置２０００と自動車１００１との間の暗号通信の通信速度を向上させることができる。
【０１１８】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【０１１９】
なお、上述した実施形態では、サーバ装置２０００がＲｏｏｔ公開鍵証明書Ｋｐ＿ｒを備えたが、車両公開鍵証明書Ｋｐ＿ｃの正当性の検証を実施しない場合には、サーバ装置２０００はＲｏｏｔ公開鍵証明書Ｋｐ＿ｒを備えなくてもよい。
【０１２０】
自動車１００１の第２演算処理装置６００は、Ｒｏｏｔ公開鍵証明書Ｋｐ＿ｒを使用してサーバ公開鍵証明書Ｋｐ＿ｓの正当性の検証を実行してもよい。一方、サーバ公開鍵証明書Ｋｐ＿ｓの正当性の検証を実施しない場合には、自動車１００１はＲｏｏｔ公開鍵証明書Ｋｐ＿ｒを備えなくてもよい。
【０１２１】
なお、第１演算処理装置５００がＪＴＡＧ（Joint Test Action Group）等のデバッグポートを備える場合、該デバッグポートに対してＩＤ（識別子）による認証機能を設けてもよい。これにより、第１演算処理装置５００に対するメモリダンプやタッピング攻撃などの攻撃によってセッション鍵Ｋ＿ｃｏｍが漏洩することを抑制することができる。例えば、インフォテイメント機器１０４０やデータ保安装置１０１０のデバッグポートに対してＩＤによる認証機能を設けてもよい。
【０１２２】
上述した実施形態では、データ保安装置１０１０やＥＣＵ１０２０にＨＳＭやＳＨＥを使用したが、ＨＳＭ及びＳＨＥ以外の暗号処理チップを使用してもよい。データ保安装置１０１０に対して、例えば「ＴＰＭ（Trusted Platform Module）ｆ」と呼ばれる暗号処理チップを使用してもよい。ＴＰＭｆは耐タンパー性を有する。ＴＰＭｆはセキュアエレメントの例である。ＥＣＵ１０２０に対して、例えば「ＴＰＭｔ」と呼ばれる暗号処理チップを使用してもよい。ＴＰＭｔは耐タンパー性を有する。ＴＰＭｔはセキュアエレメントの例である。
【０１２３】
上述した実施形態は、例えば、自動車の製造工場や整備工場、販売店等において、自動車１００１に適用してもよい。
【０１２４】
上述した実施形態では、車両として自動車を例に挙げたが、原動機付自転車や鉄道車両等の自動車以外の他の車両にも適用可能である。
【０１２５】
また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disc）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１２６】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【０１２７】
１１，５０１…通信部、１２，１１２，２１２，５０２，６０２…記憶部、１５，６０１…鍵生成部、１６，６０３…鍵送受部、１８，６０４…認証処理部、１１０，２１０…ＣＰＵ、１１６，２１６…インタフェース部、１１８…タッチパネル、１２０…マイクロフォン、１２２…スピーカ、１００１…自動車、１００２…車載コンピュータシステム、１０１０…データ保安装置、１０１１，１０２１…メイン演算器、１０１２…ＨＳＭ、１０１３，１０２３…記憶部、１０２０…ＥＣＵ、１０２２…ＳＨＥ、１０３０…ＣＡＮ、１０４０…インフォテイメント機器、１０５０…ＴＣＵ、１０５１…通信モジュール、１０５２…ＳＩＭ、１０６０…診断ポート、２０００…サーバ装置、２１００…メンテナンスツール
【図１】
2018113641.tif 000003
【図２】
2018113641.tif 000004
【図３】
2018113641.tif 000005
【図４】
2018113641.tif 000006
【図５】
2018113641.tif 000007
【図６】
2018113641.tif 000008
【図７】
2018113641.tif 000009
【図８】
2018113641.tif 000010
【図９】
2018113641.tif 000011