(57)【要約】【課題】ネットワーク負荷を極力低減しつつ、端末に格納されているプログラム又はデータの改竄を早期に検出する。【解決手段】検証端末（１０Ａ）は、自端末プログラム又は自端末データと同一のプログラム又はデータが格納されていると想定される他端末に格納されている他端末プログラム又は他端末データの他端末ハッシュ値を取得する検証値取得部（１０２）と、自端末ハッシュ値と他端末ハッシュ値との同一性に基づいて、自端末プログラム又は自端末データの健全性を検証する検証実行部（１０３）と、を備える。【選択図】図２
2019144752.tif 000002
【特許請求の範囲】
【請求項１】
プログラム又はデータの正当性検証を行う検証端末であって、
プログラム又はデータを格納する格納部（１０４）と、
前記格納部に格納されている自端末プログラム又は自端末データの自端末ハッシュ値を生成する検証値生成部（１０１）と、
前記自端末プログラム又は前記自端末データと同一のプログラム又はデータが格納されていると想定される端末であって、少なくとも１つの他端末に格納されている他端末プログラム又は他端末データの他端末ハッシュ値を取得する検証値取得部（１０２）と、
前記自端末ハッシュ値と前記他端末ハッシュ値との同一性に基づいて、前記自端末プログラム又は前記自端末データの健全性を検証する検証実行部（１０３）と、を備える検証端末。
【請求項２】
請求項１に記載の検証端末であって、
前記検証値取得部は、２以上の他端末に格納されている他端末プログラム又は他端末データの他端末ハッシュ値を取得し、
前記検証実行部は、前記自端末ハッシュ値と前記他端末ハッシュ値との同一数が少なくとも過半数の場合に、前記自端末プログラム又は前記自端末データを健全であると判断する、検証端末。
【請求項３】
請求項２に記載の検証端末であって、
前記検証値取得部は、乱数に基づいて前記他端末を選択する、検証端末。
【請求項４】
請求項１から３のいずれか１項に記載の検証端末であって、
前記検証実行部は、前記自端末ハッシュ値と前記他端末ハッシュ値とが同一でない場合に、前記自端末プログラム又は前記自端末データを健全であるとする判断を保留する、検証端末。
【請求項５】
請求項４に記載の検証端末であって、
前記検証値取得部は、２以上の他端末に格納されている他端末プログラム又は他端末データの他端末ハッシュ値を取得し、
前記検証実行部は、前記自端末ハッシュ値と同一の前記他端末ハッシュ値が過半数を超えない場合に、前記自端末プログラム又は前記自端末データを不健全であると判断する、検証端末。
【請求項６】
請求項４に記載の検証端末であって、
前記検証実行部は、前記自端末ハッシュ値と前記他端末ハッシュ値とが同一でない場合に、ネットワークを経由してハッシュ値管理サーバーに健全性の問い合わせを行う、検証端末。
【請求項７】
請求項６に記載の検証端末であって、
前記検証値取得部は、２以上の他端末に格納されている他端末プログラム又は他端末データの他端末ハッシュ値を取得し、
前記検証実行部は、前記自端末ハッシュ値と前記他端末ハッシュ値とが全て同一でない場合に、ネットワークを経由してハッシュ値管理サーバーに健全性の問い合わせを行う、検証端末。
【請求項８】
請求項７に記載の検証端末であって、
前記検証実行部は、前記ハッシュ値管理サーバーに格納されており、正当なプログラム又は正当なデータに対応するマスターハッシュ値を受信し、この受信したマスターハッシュ値と前記自端末ハッシュ値との同一性に基づいて、前記自端末プログラム又は前記自端末データの健全性を検証する、検証端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プログラム又はデータの正当性検証を行う検証端末に関する。
【背景技術】
【０００２】
自動車に通信端末を搭載し、ネットワークを介して又は直接他の車やインフラ装置やサーバーと通信を行うコネクテッドカーが普及すると、膨大な台数の端末のセキュリティを確保する必要がある。同様に、ＩｏＴ技術が更に展開されると、やはり膨大な台数の端末のセキュリティを確保する必要がある。
【０００３】
セキュリティ確保の一つの観点として、コンピューターに格納されているプログラムの正当性を検証するものが提案されている（例えば、下記特許文献１）。下記特許文献１に開示されている発明は、サーバーに格納されているプログラムとクライアントに格納されているプログラムとについて、暗号鍵を用いて差分を検出するものである。
【０００４】
自動車に搭載されているＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）に格納されているプログラムの改竄防止の観点からは、メンテナンスの際に不正なプログラムが入り込まないようにするものが提案されている（例えば、下記特許文献２）。下記特許文献２に開示されている発明は、メンテナンスの際に認証プロセスを走らせることで、正規の作業員によるメンテナンスを担保している。
【０００５】
１台の自動車に搭載されているＥＣＵは相当な数になっており、相互に通信を行うことで運転制御を実現している。この観点から、車載ＥＣＵを繋ぐネットワークに流れる不正なデータを検出することが提案されている（例えば、下記特許文献３）。下記特許文献３に開示されている発明は、車内ネットワークを流れるデータの正当性を各ＥＣＵにおいて検証するものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−１６５２８９号公報
【特許文献２】特開２０１３−１６８００７号公報
【特許文献３】特開２０１７−１１２５９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載されているように、クライアントサーバー型で中央集権的に管理する手法は、上記したように膨大な端末のセキュリティを確保する場合に、ネットワーク負荷が過大になることや、常時接続を担保しなければならないといった別の技術的課題が発生する。
【０００８】
ネットワーク負荷の課題を解決するためには、車載端末やＩｏＴ端末のようにエッジ側での対処が必要になる。しかしながら、特許文献２に記載されているように、メンテナンスの際の正当性を確認する手法では、メンテナンス後のプログラム改竄を検出することができない。また、特許文献３に記載されているように、車内ネットワークを流れるデータの正当性をＥＣＵが検証する手法では、不正なデータ検出がＥＣＵのプログラムに起因するのか、不正なトラフィックに起因するのかを検出することができない。
【０００９】
本開示は、ネットワーク負荷を極力低減しつつ、端末に格納されているプログラム又はデータの改竄を早期に検出することを目的とする。
【課題を解決するための手段】
【００１０】
本開示は、プログラム又はデータの正当性検証を行う検証端末であって、プログラム又はデータを格納する格納部（１０４）と、格納部に格納されている自端末プログラム又は自端末データの自端末ハッシュ値を生成する検証値生成部（１０１）と、自端末プログラム又は自端末データと同一のプログラム又はデータが格納されていると想定される端末であって、少なくとも１つの他端末に格納されている他端末プログラム又は他端末データの他端末ハッシュ値を取得する検証値取得部（１０２）と、自端末ハッシュ値と他端末ハッシュ値との同一性に基づいて、自端末プログラム又は自端末データの健全性を検証する検証実行部（１０３）と、を備える。
【００１１】
本開示においては、自端末プログラムと他端末プログラム又は自端末データと他端末データとが同一であるのが正常であるとの前提条件で、自端末ハッシュ値と他端末ハッシュ値との同一性を確認している。自端末プログラム又は自端末データと、他端末プログラム又は他端末データとが共に改竄もされておらず最新のバージョンであるといった健全性が確保されていれば、自端末ハッシュ値と他端末ハッシュ値とが同一になるので、自端末プログラム又は自端末データの健全性を検証することができる。このように、自端末と他端末との間の通信のみで自端末プログラム又は自端末データの健全性を検証することができるので、ネットワーク負荷を低減することができると共に、他端末を選択して比較することによるランダム性も確保できる。更に、自端末ハッシュ値と他端末ハッシュ値とを随時比較することができるので、プログラムやデータをダウンロードした場合のみならず、その後においても検証を継続することができる。
【００１２】
尚、「課題を解決するための手段」及び「特許請求の範囲」に記載した括弧内の符号は、後述する「発明を実施するための形態」との対応関係を示すものであって、「課題を解決するための手段」及び「特許請求の範囲」が、後述する「発明を実施するための形態」に限定されることを示すものではない。
【発明の効果】
【００１３】
本開示によれば、ネットワーク負荷を極力低減しつつ、端末に格納されているプログラム又はデータの改竄を早期に検出することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本実施形態の基本概念を説明するための図である。
【図２】図２は、本実施形態である検証端末の機能的な構成を説明するための図である。
【図３】図３は、検証端末の情報処理を説明するためのフローチャートである。
【図４】図４は、検証端末の情報処理を説明するためのフローチャートである。
【図５】図５は、検証端末の情報処理を説明するためのフローチャートである。
【図６】図６は、検証端末の情報処理を説明するためのフローチャートである。
【図７】図７は、検証端末の情報処理の結果を受けて表示される画面の例を示す図である。
【図８】図８は、検証端末の情報処理の結果を受けて表示される画面の例を示す図である。
【図９】図９は、検証端末の情報処理の結果を受けて表示される画面の例を示す図である。
【図１０】図１０は、検証端末の情報処理の結果を受けて表示される画面の例を示す図である。
【図１１】図１１は、検証端末の情報処理の結果を受けて表示される画面の例を示す図である。
【図１２】図１２は、検証端末の情報処理の結果を受けて表示される画面の例を示す図である。
【図１３】図１３は、本実施形態において端末間及び端末サーバー間の情報授受を説明するための図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照しながら本実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。
【００１６】
図１を参照しながら、本実施形態の基本概念を説明する。本実施形態は自動車に搭載される検証端末を例示しているが、本開示の技術的思想は全ての分散された情報端末のセキュリティ確保のために応用されうるものである。一例ではあるが、ゲームソフトをダウンロードする情報端末や、携帯電話、スマートフォン、ＩｏＴ機器といった各種情報端末のセキュリティ確保に用いることができる。
【００１７】
図１に示される例では、自動運転車１０，２０，２１，２２，２３と、管理サーバー３０とによって構成される検証網を示している。自動運転車１０が、自己のプログラム又はデータの健全性を判断するものとする。自動運転車２０，２１，２２，２３は、自動運転車１０と同種の自動運転車であり、自動運転車１０，２０，２１，２２，２３には、全て同じプログラム又はデータが格納されていることが期待される関係となっている。
【００１８】
自動運転車２０，２１は、正常な自動運転車であり、正常なハッシュ値が格納されているものとする。自動運転車２２は、異常状態にある自動運転車であり、異常なハッシュ値が格納されている。自動運転車２３は、正常な自動運転車であり、格納されているプログラム又はデータが最新版に更新されているものであって、最新版に対応する正常なハッシュ値が格納されている。
【００１９】
自動運転車１０に格納されているプログラム又はデータのハッシュ値が正常である場合、自動運転車２０，２１に格納されているプログラム又はデータのハッシュ値と照合すると、互いに整合性が取れており同一であることが確認される。
【００２０】
一方、自動運転車１０に格納されているプログラム又はデータのハッシュ値が正常である場合であって、自動運転車２２に格納されているプログラム又はデータのハッシュ値と照合すると、互いに整合性が取れず同一であることが確認できない。この場合、自動運転車１０は、自動運転車２０，２１に格納されているプログラム又はデータのハッシュ値と整合性が取れていることから、整合性が取れていないのが１台に対して整合性が取れているのが２台であることを根拠に、自動運転車２２に格納されているプログラム又はデータが不健全であると判断することができる。
【００２１】
更に、自動運転車１０に格納されているプログラム又はデータに対して、更新されている新しいプログラム又はデータが格納されている自動運転車２３を考えると、多数決によっての判断がし難くなる場合も想定される。このような場合、自動運転車１０は、管理サーバー３０に自己のハッシュ値を送信すると共に、マスターハッシュ値の送信を要求することができる。マスターハッシュ値とは、自動運転車１０，２０，２１，２２，２３において格納されるべき最新且つ正当なプログラム又はデータから算出されるハッシュ値である。自動運転車１０においては、自己のハッシュ値とマスターハッシュ値とを比較して、自己のプログラム又はデータの正当性や最新性を確認することができる。
【００２２】
自動運転車１０，２０，２１，２２，２３の相互におけるハッシュ値の送受信や、自動運転車１０と管理サーバー３０との間におけるハッシュ値の送受信には、既知の暗号化技術を用いることができる。
【００２３】
続いて、図２を参照しながら、本実施形態に係る検証端末１０Ａの機能的な構成要素について説明する。検証端末１０Ａは、自動運転車１０に搭載される通信可能な情報端末である。検証端末１０Ａは、ハードウェア的な構成要素として、ＣＰＵといった演算部、ＲＡＭやＲＯＭといった記憶部、データの授受を行うためのインターフェイス部を備えるコンピューターとして構成されている。検証端末１０Ａは、自動運転車２０，２１，２２，２３に搭載されている同様の検証端末と相互に情報送受信可能なように構成されている。検証端末１０Ａは、管理サーバー３０とも相互に情報送受信可能なように構成されている。続いて、制御装置の機能的な構成要素について説明する。
【００２４】
検証端末１０Ａは、検証値生成部１０１と、検証値取得部１０２と、検証実行部１０３と、格納部１０４と、を備えている。格納部１０４は、プログラムやデータ、プログラム又はデータから算出されるハッシュ値を格納する部分である。
【００２５】
検証値生成部１０１は、格納部１０４に格納されている自端末プログラム又は自端末データの自端末ハッシュ値を生成する部分である。
【００２６】
検証値取得部１０２は、自端末プログラム又は自端末データと同一のプログラム又はデータが格納されていると想定される端末であって、少なくとも１つの他端末に格納されている他端末プログラム又は他端末データの他端末ハッシュ値を取得する部分である。本実施形態の場合、他端末とは、自動運転車２０，２１，２２，２３に搭載されている端末である。
【００２７】
検証実行部１０３は、自端末ハッシュ値と他端末ハッシュ値との同一性に基づいて、自端末プログラム又は自端末データの健全性を検証する部分である。
【００２８】
本実施形態においては、自端末プログラムと他端末プログラム又は自端末データと他端末データとが同一であるのが正常であるとの前提条件で、自端末ハッシュ値と他端末ハッシュ値との同一性を確認している。自端末プログラム又は自端末データと、他端末プログラム又は他端末データとが共に改竄もされておらず最新のバージョンであるといった健全性が確保されていれば、自端末ハッシュ値と他端末ハッシュ値とが同一になるので、自端末プログラム又は自端末データの健全性を検証することができる。このように、自端末と他端末との間の通信のみで自端末プログラム又は自端末データの健全性を検証することができるので、ネットワーク負荷を低減することができると共に、他端末を選択して比較することによるランダム性も確保できる。更に、自端末ハッシュ値と他端末ハッシュ値とを随時比較することができるので、プログラムやデータをダウンロードした場合のみならず、その後においても検証を継続することができる。
【００２９】
本実施形態において、検証値取得部１０２は、２以上の他端末に格納されている他端末プログラム又は他端末データの他端末ハッシュ値を取得し、検証実行部１０３は、自端末ハッシュ値と他端末ハッシュ値との同一数が少なくとも過半数の場合に、自端末プログラム又は自端末データを健全であると判断することができる。２以上の他端末における他端末ハッシュ値を比較し、少なくとも過半数の同一性をもって検証するので、確実に自端末プログラム又は自端末データの健全性を検証することができる。
【００３０】
本実施形態において、検証値取得部１０２は、乱数に基づいて他端末を選択することができる。乱数に基づいて他端末を選択するので、他端末を選択して比較することによるランダム性をより高めることができる。
【００３１】
本実施形態において、検証実行部１０３は、自端末ハッシュ値と他端末ハッシュ値とが同一でない場合に、自端末プログラム又は自端末データを健全であるとする判断を保留することができる。
【００３２】
自端末ハッシュ値と他端末ハッシュ値とが同一でない場合でも、自端末プログラム又は自端末データが不健全であるのか、他端末側が不健全であるのかを判断することができない場合もある。そこで、自端末プログラム又は自端末データを健全であるとする判断を保留することで、更に他の他端末における他端末ハッシュ値と比較をしたり、管理サーバーに格納されているハッシュ値と比較したりといった手法を組み込むことができる。
【００３３】
本実施形態において、検証値取得部１０２は、２以上の他端末に格納されている他端末プログラム又は他端末データの他端末ハッシュ値を取得し、検証実行部１０３は、自端末ハッシュ値と同一の他端末ハッシュ値が過半数を超えない場合に、自端末プログラム又は自端末データを不健全であると判断することができる。
【００３４】
自端末ハッシュ値と同一の他端末ハッシュ値が過半数を超えない場合には、自端末ハッシュ値が少数派なので、改竄されていたりアップデートされていなかったりといった不健全な状態である蓋然性が高いと判断することも可能であるので、自端末プログラム又は自端末データを不健全であると判断することができる。
【００３５】
本実施形態において、検証実行部１０３は、自端末ハッシュ値と他端末ハッシュ値とが同一でない場合に、ネットワークを経由してハッシュ値管理サーバーである管理サーバー３０に健全性の問い合わせを行うことができる。
【００３６】
自端末ハッシュ値と他端末ハッシュ値とが同一でない場合、自端末プログラムが不健全な可能性があるので、ネットワークを経由して管理サーバー３０に健全性の問い合わせを行い、自端末プログラム又は自端末データの健全性を検証する。自端末ハッシュ値と他端末ハッシュ値とが同一の場合には健全性の問い合わせを実行しないので、ネットワーク負荷を低減することができる。
【００３７】
本実施形態において、検証値取得部１０２は、２以上の他端末に格納されている他端末プログラム又は他端末データの他端末ハッシュ値を取得し、検証実行部１０３は、自端末ハッシュ値と他端末ハッシュ値とが全て同一でない場合に、ネットワークを経由してハッシュ値管理サーバーである管理サーバー３０に健全性の問い合わせを行うことができる。
【００３８】
自端末ハッシュ値と他端末ハッシュ値とが全て同一でない場合、自端末プログラム又は自端末データと、他端末プログラム又は他端末データのどちらが不健全であるかが分からないので、ネットワークを経由して管理サーバー３０に健全性の問い合わせを行い、自端末プログラム又は自端末データの健全性を検証することができる。
【００３９】
本実施形態において、検証実行部１０３は、ハッシュ値管理サーバーである管理サーバー３０に格納されており、正当なプログラム又は正当なデータに対応するマスターハッシュ値を受信し、この受信したマスターハッシュ値と自端末ハッシュ値との同一性に基づいて、自端末プログラム又は自端末データの健全性を検証することができる。
【００４０】
正当なプログラム又は正当なデータに対応するマスターハッシュ値と、自端末ハッシュ値との同一性に基づいて判断するので、より確実に自端末プログラム又は自端末データの健全性を判断することができる。
【００４１】
続いて、図３を参照しながら、検証端末１０Ａの情報処理について説明する。ステップＳ１０１では、検証値取得部１０２が、イベント開始タイミングであるか否かを判断する。イベント開始タイミングが到来していなければ、ステップＳ１０１の判断を繰り返し、イベント開始タイミングが到来していれば、ステップＳ１０２の処理に進む。
【００４２】
ステップＳ１０２では、検証値生成部１０１が、ハードウェア選択処理を実行する。ステップＳ１０２のハードウェア選択処理については、図４を参照しながら説明する。
【００４３】
図４のステップＳ１５１では、検証値生成部１０１が周囲の自動運転車や情報端末のＲＳＳＩ（Ｒｅｃｅｉｖｅｄ  Ｓｉｇｎａｌ  Ｓｔｒｅｎｇｔｈ  Ｉｎｄｉｃａｔｏｒ）を取得する。ＲＳＳＩは、Ｗｉ−Ｆｉネットワークにおける受信信号強度を示すものである。ＲＳＳＩが大きいものを選択することで、近隣の端末を特定することができる。尚、近隣の端末を特定するという観点からは、ＧＰＳ情報を用いることもできる。
【００４４】
ステップＳ１５１に続くステップＳ１５２では、同一種類のハードウェアを検出する。例えば、図１に示される例では、自動運転車２０，２１，２２，２３を同一種類のハードウェアとして検出する。
【００４５】
ステップＳ１５２に続くステップＳ１５３では、ステップＳ１５２で検出したハードウェアからより少ない数のハードウェアを抽出する。例えば、図１に示される例では、自動運転車２０，２１，２２，２３を同一種類のハードウェアとして検出した上で、自動運転車２１及び自動運転車２２を抽出する。ステップＳ１５３の処理が終了すると、ハードウェア選択処理を終了し、図３のステップＳ１０３の処理に進む。
【００４６】
ステップＳ１０３では、検証値生成部１０１及び検証値取得部１０２がハッシュ値取得処理を実行する。ハッシュ値取得処理については、図５を参照しながら説明する。
【００４７】
図５のステップＳ２０１では、検証値生成部１０１が自端末ハッシュ値を計算する。ステップＳ２０１に続くステップＳ２０２では、検証値取得部１０２が、ステップＳ１０２において抽出したハードウェア（例えば、自動運転車２１及び自動運転車２２）にハッシュ値を送信する。ハッシュ値を受信した他のハードウェアは、自己が算出したハッシュ値を返信する。
【００４８】
ステップＳ２０２に続くステップＳ２０３では、検証値取得部１０２が、他のハードウェアが送信したハッシュ値を受信する。ステップＳ２０３に続くステップＳ２０４では、検証値取得部１０２が、ハッシュ値比較結果を取得する。ハッシュ値比較結果は、他のハードウェから受信したハッシュ値と、自己のハッシュ値とを検証値取得部１０２が比較算出してもよく、他のハードウェアにおいて比較算出されてもよい。
【００４９】
ステップＳ２０４に続くステップＳ２０５では、検証値取得部１０２が、ハッシュ値比較結果が所定数以上取得できたか否かを判断する。ハッシュ値比較結果が所定数集まらなければステップＳ２０４の処理に戻り、ハッシュ値比較結果が所定数集まればハッシュ値比較処理を終了し、図３のステップＳ１０４の処理に進む。
【００５０】
ステップＳ１０４では、検証実行部１０３がハッシュ値判定処理を実行する。ハッシュ値判定処理については、図６を参照しながら説明する。
【００５１】
ステップＳ２５１では、検証実行部１０３が、自端末ハッシュ値と異なる値の他端末ハッシュ値が過半数あるか否かを判断する。自端末ハッシュ値と異なる値のハッシュ値が過半数あれば、ステップＳ２５２の処理に進む。自端末ハッシュ値と異なる値のハッシュ値が過半数なければ、ステップＳ２５３の処理に進む。
【００５２】
ステップＳ２５２では、検証実行部１０３が表示画面に異常表示を行う。異常表示の例について、図７、図８、図９に示す。図７に示される例は、検証端末１０Ａが自動運転車に搭載されている場合の例である。異常発生を告知すると共に、異常の可能性に言及し、ディーラーに行って対処するように提案している。図８に示される例も、検証端末１０Ａが自動運転車に搭載されている場合の例である。異常発生を告知すると共に、異常の可能性に言及し、自動運転から手動運転に切り替えるとともにディーラーに行って対処するように提案している。図９に示される例は、検証端末１０Ａが携帯端末である場合や、ＡＩスピーカーといったＩｏＴ機器に搭載される場合の例である。異常発生を告知すると共に、異常の可能性に言及し、メーカーに連絡して対処するように提案している。
【００５３】
ステップＳ２５３では、検証実行部１０３が、自端末ハッシュ値と他端末ハッシュ値とが全て同一であるか否かを判断する。自端末ハッシュ値と他端末ハッシュ値とが全て同一であれば、ステップＳ２５４の処理に進む。自端末ハッシュ値と他端末ハッシュ値とが全て同一でなければ、ステップＳ２５５の処理に進む。
【００５４】
ステップＳ２５４では、検証実行部１０３が表示画面に正常表示を行う。正常表示の例について、図１０に示す。図１０に示される例では、制御ソフトウェアが正常である旨を表示している。
【００５５】
ステップＳ２５５では、検証値取得部１０２が、管理サーバー３０からマスターハッシュ値を取得する。ステップＳ２５５に続くステップＳ２５６では、検証実行部１０３が、自端末ハッシュ値とマスターハッシュ値とが同一であるか否かを判断する。自端末ハッシュ値とマスターハッシュ値とが同一であれば、ステップＳ２５４の処理に進む。自端末ハッシュ値とマスターハッシュ値とが同一でなければ、ステップＳ２５７の処理に進む。
【００５６】
ステップＳ２５７では、検証実行部１０３が表示画面に警告表示を行う。警告表示の例について図１１、図１２に示す。図１１に示される例は、検証端末１０Ａが自動運転車に搭載されている場合の例である。制御ソフトウェアが最新でないことを告知し、ディーラーに行って対処するように提案している。図１２に示される例は、検証端末１０Ａが携帯端末である場合や、ＡＩスピーカーといったＩｏＴ機器に搭載される場合の例である。インストールされているソフトウェアが最新のものでないことを告知し、アップデートを行うことを提案している。
【００５７】
ステップＳ２５２、ステップＳ２５４、ステップＳ２５７の処理が終了すると、ハッシュ値判定処理を終了する。
【００５８】
図１３に示されるシーケンス図は、自動運転車間や自動運転車と管理サーバーとの間の情報の授受を示すものである。自動運転車１０は、ステップＳ３０１においてハードウェア選択処理を実行する。ハードウェア選択処理については、説明済であるので詳細説明を省略する。図１３の例の場合は、自動運転車２０を選択している。
【００５９】
ステップＳ３０１に続くステップＳ３０２では、自動運転車１０が自端末ハッシュ値を計算している。続いて、自動運転車１０は自動運転車２０と通信接続を行う。ステップＳ３０３では、自動運転車１０から自動運転車２０にハッシュ値が送信される。
【００６０】
ステップＳ３３１では、自動運転車２０が自端末ハッシュ値を計算している。ステップＳ３０３では、自動運転車２０が自端末ハッシュ値を、自動運転車１０にとっての他端末ハッシュ値として送信している。他端末ハッシュ値を受信すると、自動運転車１０は自動運転車２０との通信を切断する。
【００６１】
ステップＳ３３３では、自動運転車２０がハッシュ値の比較を行う。ハッシュ値が異なっているという比較結果であれば、管理サーバー３０と通信接続を行う。ステップＳ３３４では、比較ＮＧ情報、送信アドレス（自動運転車１０のアドレス）、受信アドレス（自動運転車２０のアドレス）を送信する。ステップＳ３５１では、管理サーバー３０がＮＧ情報を記録する。
【００６２】
ステップＳ３０４では、自動運転車１０がハッシュ値の比較を行う。ハッシュ値が異なっているという比較結果であれば、管理サーバー３０と通信接続を行う。ステップＳ３０５では、比較ＮＧ情報、送信アドレス（自動運転車２０のアドレス）、受信アドレス（自動運転車１０のアドレス）を送信し、マスターハッシュ値を要求する。ステップＳ３５２では、管理サーバー３０がＮＧ情報を記録する。
【００６３】
ステップＳ３０６では、自動運転車１０が、マスターハッシュ値と自端末ハッシュ値との比較を行い、正当性を検証する。
【００６４】
以上、具体例を参照しつつ本実施形態について説明した。しかし、本開示はこれらの具体例に限定されるものではない。これら具体例に、当業者が適宜設計変更を加えたものも、本開示の特徴を備えている限り、本開示の範囲に包含される。前述した各具体例が備える各要素およびその配置、条件、形状などは、例示したものに限定されるわけではなく適宜変更することができる。前述した各具体例が備える各要素は、技術的な矛盾が生じない限り、適宜組み合わせを変えることができる。
【符号の説明】
【００６５】
１０Ａ：検証端末
１０１：検証値生成部
１０２：検証値取得部
１０３：検証実行部
１０４：格納部
【図１】
2019144752.tif 000003
【図２】
2019144752.tif 000004
【図３】
2019144752.tif 000005
【図４】
2019144752.tif 000006
【図５】
2019144752.tif 000007
【図６】
2019144752.tif 000008
【図７】
2019144752.tif 000009
【図８】
2019144752.tif 000010
【図９】
2019144752.tif 000011
【図１０】
2019144752.tif 000012
【図１１】
2019144752.tif 000013
【図１２】
2019144752.tif 000014
【図１３】
2019144752.tif 000015