(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-09
(45)【発行日】2024-09-18
(54)【発明の名称】データ保存装置、移動体、及びデータ削除プログラム
(51)【国際特許分類】
G06F 21/64 20130101AFI20240910BHJP
H04L 9/32 20060101ALI20240910BHJP
G06F 16/11 20190101ALI20240910BHJP
【FI】
G06F21/64
H04L9/32 200Z
G06F16/11
(21)【出願番号】P 2022003613
(22)【出願日】2022-01-13
【審査請求日】2023-10-27
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】100113549
【氏名又は名称】鈴木 守
(74)【代理人】
【識別番号】100115808
【氏名又は名称】加藤 真司
(74)【代理人】
【識別番号】100169199
【氏名又は名称】石本 貴幸
(72)【発明者】
【氏名】徐 ▲シン▼
(72)【発明者】
【氏名】坂本 快矢統
【審査官】宮司 卓佳
(56)【参考文献】
【文献】米国特許出願公開第2019/0155513(US,A1)
【文献】中国特許出願公開第112650733(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60-21/64
H04L 9/32
G06F 16/11
(57)【特許請求の範囲】
【請求項1】
取得したデータをブロックチェーンによって保存するデータ保存装置(14)であって、
前記ブロックチェーンに含まれるデータのうち、不要とされる前記データを削除する削除部(46)と、
前記削除部によって前記データが削除された場合に、前記ブロックチェーンの最小ブロック番号を取得して記憶領域に記憶させる最小番号保存処理部(62)と、
を備えるデータ保存装置。
【請求項2】
アクセスが制限される記憶領域である制限記憶領域(TS)が規定され、
前記最小ブロック番号は、前記制限記憶領域に記憶される、請求項1に記載のデータ保存装置。
【請求項3】
前記削除部によって削除される前記データは、バックアップサーバにアップロード済み、かつ現在時から所定期間以前のデータである、請求項1又は請求項2に記載のデータ保存装置。
【請求項4】
前記最小番号保存処理部によって記憶された前記最小ブロック番号と、前記ブロックチェーンにおける前記最小ブロック番号とが一致するか否かを判定するデータ検証部(50)を備える、請求項1から請求項3の何れか1項に記載のデータ保存装置。
【請求項5】
前記削除部によって削除される前記データはバックアップサーバにアップロード済みであり、
前記最小番号保存処理部によって記憶された前記最小ブロック番号と前記ブロックチェーンにおける最小ブロック番号とが一致しない場合、前記バックアップサーバから前記データを取得してブロックチェーンを再生成する、請求項4に記載のデータ保存装置。
【請求項6】
前記削除部が前記データを削除した場合に、前記削除部として機能するプログラムの固有値である第1固有値を算出する固有値算出部(48)と、
前記固有値算出部によって算出された前記第1固有値と前記プログラムの固有値であって予め算出して記憶されている第2固有値とが一致するか否かを判定する固有値判定部(60)と、
を備える、請求項1から請求項5の何れか1項に記載のデータ保存装置。
【請求項7】
アクセスが制限される記憶領域である制限記憶領域が規定され、
前記第2固有値は、前記制限記憶領域に記憶される、請求項6に記載のデータ保存装置。
【請求項8】
請求項1から請求項7の何れか1項に記載のデータ保存装置を備える移動体(12)。
【請求項9】
ブロックチェーンを構成するデータを削除するデータ削除プログラムであって、
コンピュータを、
前記ブロックチェーンに含まれるデータのうち、不要とされる前記データを削除する削除部と、
前記削除部によって前記データが削除された場合に、前記ブロックチェーンから最小ブロック番号を取得して記憶領域に記憶させる最小番号保存処理部と、
して機能させるデータ削除プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ保存装置、移動体、及びデータ削除プログラムに関する。
【背景技術】
【0002】
近年、車両等の移動体によって取得されるデータの重要性が高まってきている。このため、車両等の移動体によって取得されるデータを、信用性を確保しつつ保存可能な装置が求められている。
【0003】
特許文献1には、車両での取得データを車載ECUがブロックチェーンを用いて保存するデータ保存装置が記載されている。しかしながら、車両において長期間(例えば、一年以上等)に渡り取得データの蓄積が進むと、データのサイズやブロックチェーンサイズが大きくなる。一方で車両が搭載しているストレージの容量は多量のデータを記憶するにために充分ではいない。またSDメモリカード等の車載用の外付けストレージは信頼性を必要とするために高コストとなる。このため、ブロックチェーンによって車両が全ての取得データを保存することは困難である。
【0004】
また、特許文献2には、自車両の履歴情報を他車両やクラウド上のサーバにバックアップし、復元する履歴管理方法が記載されている。しかしながら、この履歴管理方法では、自車両がクラウドや他車との間でデータの送受信ができない場合には機能しない。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2021-13122号公報
【文献】特開2020-13349号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述のように、車両が搭載しているストレージの容量に限りがあることを鑑みると、ブロックチェーンに含まれる一部のデータの削除を行うことが考えられる。しかしながら、データの削除の信頼性を保つためには、ブロックチェーンに含まれるデータの削除が正規な削除であるか、悪意を持った不正な改ざんであるかの判別が必要となる。
【0007】
本発明は上記背景に鑑み、ブロックチェーンに含まれるデータの削除が正規な削除であるか不正な改ざんであるかを判定できる、データ保存装置、移動体、及びデータ削除プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は上記課題を解決するために以下の技術的手段を採用する。特許請求の範囲及びこの項に記載した括弧内の符号は、ひとつの態様として後述する実施形態に記載の具体的手段との対応関係を示す一例であって、本発明の技術的範囲を限定するものではない。
【0009】
本発明の一態様のデータ保存装置(14)は、取得したデータをブロックチェーンによって保存するデータ保存装置であって、前記ブロックチェーンに含まれるデータのうち、不要とされる前記データを削除する削除部(46)と、前記削除部によって前記データが削除された場合に、前記ブロックチェーンの最小ブロック番号を取得して記憶領域に記憶させる最小番号保存処理部(62)と、を備える。
【0010】
本構成は、ブロックチェーンに含まれるデータを削除した場合に、ブロックチェーンの最小ブロック番号を取得して記憶領域に記憶させる。このため、データの削除が正規なものであれば記憶されている最小ブロック番号は更新される。一方、データの削除が不正な改ざんであれば記憶されている最小ブロック番号は更新されない。これにより、ブロックチェーンに含まれるデータの削除が正規な削除であるか不正な改ざんであるかを判定できる。
【0011】
本発明の一態様の移動体(12)は、上記に記載のデータ保存装置を備える。
【0012】
本発明の一態様のデータ削除プログラムは、ブロックチェーンを構成するデータを削除するデータ削除プログラムであって、コンピュータを、前記ブロックチェーンに含まれるデータのうち、不要とされる前記データを削除する削除部と、前記削除部によって前記データが削除された場合に、前記ブロックチェーンから最小ブロック番号を取得して記憶領域に記憶させる最小番号保存処理部と、して機能させる。
【発明の効果】
【0013】
本発明によれば、ブロックチェーンに含まれるデータの削除が正規な削除であるか不正な改ざんであるかを判定できる。
【図面の簡単な説明】
【0014】
【
図1】実施形態のデータ保存システムの電気的構成を示す機能ブロック図である。
【
図2】実施形態のブロック及びブロックテーブルの構成を示す模式図である。
【
図3】実施形態のデータ削除処理の流れを示すフローチャートである。
【
図4】実施形態の最小ブロック番号検証処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施形態を説明する。なお、以下に説明する実施形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施形態に応じた具体的構成が適宜採用されてよい。
【0016】
図1は、本実施形態のデータ保存システム10の電気的構成を示す機能ブロック図である。データ保存システム10は、車両12が備える車載ECU(Electronic Control Unit)14とバックアップサーバ16によって構成される。
【0017】
車載ECU14は、車両12に搭載された複数の電子制御ユニットのうちの一つである。車載ECU14は、例えばボディ系の統合ECUであってもよく、自動運転又は高度運転支援のための自動運転ECUであってもよい。さらに、車載ECU14は、取得したデータを保存するための専用ECUであってもよい。車載ECU14は、DCM(Data Communication Module)20、V2X(Vehicle to Everything)通信器22、及び複数の車載センサ24等と直接的又は間接的に電気接続されている。
【0018】
DCM20は、車両12に搭載され、バックアップサーバ16等の情報処理装置とデータの送受信を行う通信モジュールである。DCM20は、例えば、車載ECU14に保存されたデータをバックアップのためにバックアップサーバ16へ送信したり、バックアップサーバ16からバックアップデータを受信したりする。
【0019】
V2X通信器22は、車車間通信、路車間通信、及び歩車間通信等を実現する車載通信機である。V2X通信器22は、他車両に搭載された車載器、道路に設置された路側機、及び歩行者の所持する携帯端末等が通信範囲に存在する場合、これらの通信構成と双方向通信可能である。V2X通信器22は、通信を通じて取得した通信データを、例えば車載通信ネットワークの通信バス等を通じて、車載ECU14へ送信する。
【0020】
車載センサ24は、車両12に搭載される複数種類のセンサを含む構成である。車載センサ24には、車両12の走行状態を検出する車速センサ及び慣性センサ、ドライバの状態や運転操作を検出する車内カメラ、ペダルセンサ、及びステアセンサが含まれる。また、車載センサ24には、運転支援又は自動運転に用いられる車外カメラ、ミリ波レーダ、及びライダが含まれる。各車載センサ24は、例えば車載通信ネットワークの通信バス等を通じて、車載ECU14に検出したデータを送信する。
【0021】
車載ECU14は、車両12にて発生したデータを取得し、当該取得データを改ざん困難な状態で蓄積するデータ保存装置の機能を有する車載コンピュータである。車載ECU14は、プロセッサ26、記憶部28、入出力インターフェース30、及びRAM(Random Access Memory)32等を含む制御回路を備える。
【0022】
プロセッサ26は、RAM32と結合された演算処理のためのハードウェアであり、RAM32へのアクセス処理により、種々のプログラムを実行する。記憶部28は、不揮発性の記憶媒体を含む構成であり、プロセッサ26によって実行される種々のプログラムを格納している。記憶部28には、車両12にて発生したデータの蓄積、提供及び監視に関連するデータ削除プログラムが少なくとも記憶されている。
【0023】
車載ECU14は、ノーマルワールドNW及びセキュアワールドSWという少なくとも二つの異なる処理領域をシステム内に規定される。ノーマルワールドNW及びセキュアワールドSWは、ハードウェア上で物理的に分離されていてもよく、又はハードウェア及びソフトウェアの連携によって仮想的に分離されていてもよい。車載ECU14は、一例として、コンテキストスイッチ等の機能を利用し、アプリケーションの実行に必要なリソースを、ノーマルワールドNW及びセキュアワールドSWに時間的に分離させている。
【0024】
ノーマルワールドNWは、オペレーションシステム及びアプリケーションを実行させる通常の領域である。ノーマルワールドNWには、データ保存のためのストレージ領域(Untrusted Storage)として、ノーマルストレージUSが設けられている。
【0025】
セキュアワールドSWは、ノーマルワールドNWから隔離された領域である。セキュアワールドSWでは、セキュリティを要求される処理のためのセキュアなオペレーションシステム及びアプリケーションが実行される。ノーマルワールドNWからセキュアワールドSWへのアクセスは、プロセッサ26の機能によって制限されている。そのため、ノーマルワールドNWからは、セキュアワールドSWの存在が認識不可能となり、セキュアワールドSWにて実行される処理及びセキュアワールドSWに保存された情報等の安全性が確保される。セキュアワールドSWには、データ保存のためのストレージ領域(Trusted Storage)であり、ノーマルワールドNWから直接アクセスができず、アクセスが制限される記憶領域であるセキュアストレージTSが設けられている。セキュアストレージTSの容量は、ノーマルストレージUSの容量よりも少なくされてよい。
【0026】
本実施形態の車載ECU14は、取得したデータをブロックチェーンによって保存する。ここで、ブロックチェーンによって保存されるデータの蓄積が進むと、ブロックチェーンのデータサイズが大きくなり、全てのデータを車載ECU14が備える記憶領域に記憶させることは困難となる。このため、本実施形態の車載ECU14は、ブロックチェーンに含まれる一部のデータの削除を所定の期間毎に行う。
【0027】
以下では、
図1を参照して、車載ECU14におけるブロックチェーンの生成及びデータの削除に関する構成について説明する。
【0028】
ノーマルワールドNWには、データ取得部40、ブロック生成部42、バックアップ送信部44、データ削除部46、プログラムハッシュ値算出部48、データ検証部50、及びデータ復元部52が備えられる。
【0029】
データ取得部40は、例えば車載通信ネットワークの通信バスに電気的に接続されており、通信データ及び検出データ等、車両12に発生した種々のデータを、通信バスを通じて取得する。データ取得部40は、車載センサ24及びV2X通信器22によって通信バスに逐次出力されるデータの中から予め設定されたデータを抽出し、保存対象とする取得データとして選択的に取得し、ノーマルストレージUSに設けられる車両データベース54に記憶させる。
【0030】
ブロック生成部42は、データ取得部40によって取得及び記憶されたデータのうち、ブロックチェーンとするデータをハッシュチェーン状のデータ構造に変換し、ノーマルストレージUSにセキュアデータファイル56として保存する。ブロック生成部42は、例えば、予め設定された指定数又は指定容量のデータに基づき、一つのブロックを作成する。ブロック生成部42は、一つのブロックのデータのハッシュ値(ブロックハッシュ値)を次のブロックに含ませることにより、多数のブロックを直鎖状に連結させてなるブロックチェーンを生成する。最後に連結されたブロックの番号(最終ブロック番号)とこのブロックハッシュ値(最終ブロックハッシュ値)は、セキュアストレージTSに保存される。
【0031】
セキュアストレージTSに記憶される最終ブロックハッシュ値は、ブロックチェーンの現在の最終ブロックに基づくハッシュ値である。最終ブロックハッシュ値は、最終ブロックの全データをハッシュ関数へ入力する演算処理により、出力として得られる256ビットの値(文字列)である。
【0032】
最終ブロック番号は、最終ブロックに割り振られた固有の値であり、初期ブロックを0としたとき、現在の最終ブロックがブロックチェーンにおいて何番目のブロックなのかを示す値である。最終ブロック番号は、ブロックチェーンに現在連結されているブロックの数を示す値でもある。ブロック生成部42は、新規のブロックの生成及びそのハッシュ値の算出を行う毎に、セキュアストレージTSに記憶されている最終ブロックハッシュ値及び最終ブロック番号を更新する。
【0033】
図2は、ブロック生成部42によって生成されてセキュアデータファイル56として記憶されるブロック70とブロックチェーンデータベース58に記憶されるブロックテーブル72の一例である。ブロック70とブロックテーブル72はブロック番号によって関連付けられている。
【0034】
ブロック70は、ブロック番号(block_no)、ブロックのデータサイズ(block_size)、ブロック生成に用いるプログラムのバージョン(block_version)、一つ前のブロックのハッシュ値(prev_hash)と共に、一つのブロック70とされるデータ(202101102359_3000.json、202101102359_0001.json)が含まれる。
【0035】
ブロックテーブル72は、ブロック番号(block_no)、ブロックのデータサイズ(block_size)、ブロック生成のバージョン(block_version)、一つ前のブロック70のハッシュ値(prev_hash)が含まれる。これらの値は、同じブロック番号のブロック70と同じである。さらにブロックテーブル72には、ブロック70が生成された日時(datetaime)、ブロック70にハッシュ値が格納されたデータがバックアップサーバ16に送信されたか否かを示すフラグ情報(send_flag)が含まれる。フラグ情報は、一例として、0又は1で示される。0のフラグ情報はデータがバックアップサーバ16に未送信であることを示し、1のフラグ情報はデータがバックアップサーバ16に送信済みであることを示す。
【0036】
バックアップ送信部44は、ブロック生成部42によって新たなブロック70が生成された場合に、当該ブロック70にハッシュ値が格納されたデータを、バックアップのためにDCM20を介してバックアップサーバ16へ送信する。バックアップサーバ16は、バックアップ送信部44によって送信されたデータを、例えば車載ECU14のID情報と紐づけて、ハードディスクドライブ等の大容量の記憶媒体に保存する。
【0037】
データ削除部46は、ブロックチェーンに含まれるデータ(ブロック70)のうち、不要とされるデータを削除する。データ削除部46によって削除されるデータは、所定条件を満たしたデータである。この所定条件を満たすデータとは、例えば、バックアップサーバ16にアップロード済み、かつ現在時から所定期間以前のデータである。所定期間とは、例えば、現在日から1週間前である。すなわち、1週間前のデータは、車両12の制御等には用いられる可能性が低い、鮮度の低いデータであり、車両12から削除しても不都合のないデータである。削除対象となるデータは、ブロックテーブル72のdatetimeとsend_flgに基づいて決定される。また、データ削除部46は、例えば1日に1回、所定時間にデータの削除を行う。なお、削除されるデータの条件は上記だけでなく、例えば、ブロックチェーンのデータサイズが一定のサイズ以上となった場合を条件とし、この条件を満たした場合にデータ削除部46がブロックチェーンに含まれる所定サイズ以上のデータを削除するとしてもよい。
【0038】
プログラムハッシュ値算出部48は、データ削除部46がデータを削除した場合に、データ削除部46として機能するプログラム(以下「データ削除プログラム」という。)の固有値である第1固有値を算出する。なお、この固有値は一例としてハッシュ値であり、以下の説明では第1固有値を算出プログラムハッシュ値という。
【0039】
データ検証部50は、ブロックチェーンの整合性を検証するものであり、ブロックチェーンの最終ブロックのハッシュ値を再計算し、再計算した最終ブロックのハッシュ値と、セキュアストレージTSに保存された最終ブロックハッシュ値とが一致するか否かに基づき、データの異常を判断する。データ検証部50は、再計算した最終ブロックのハッシュ値と、記憶されている最終ブロックハッシュ値とが一致した場合、データには改ざんや欠損等の異常がないと判断する。一方で、再計算した最終ブロックのハッシュ値と、記憶されている最終ブロックハッシュ値とが一致しない場合、データに改ざん等の異常の可能性があると判断する。
【0040】
また本実施形態のデータ検証部50は、後述するように、セキュアストレージTSに記憶された最小ブロック番号と、データ削除部46によってデータが削除されたブロックチェーンにおける最小ブロック番号とが一致するか否かを判定する。
【0041】
データ復元部52は、データ検証部50によって改ざんや欠損等の異常があったと判定された場合に、バックアップサーバ16に保存されたバックアップデータを用いて、データを復元する。
【0042】
セキュアワールドSWは、プログラムハッシュ値判定部60、最小ブロック番号保存処理部62を備える。
【0043】
プログラムハッシュ値判定部60は、プログラムハッシュ値算出部48によって算出された算出プログラムハッシュ値と、予め算出されて記憶されているデータ削除プログラムのハッシュ値である保存プログラムハッシュ値とが一致するか否かを判定する。算出プログラムハッシュ値と保存プログラムハッシュ値が異なる場合には、データ削除プログラムが改ざんされている可能性があるとプログラムハッシュ値判定部60が判定する。なお、保存プログラムハッシュ値は、セキュアストレージTSに記憶されることで、改ざんが防止される。
【0044】
最小ブロック番号保存処理部62は、データ削除部46によってデータが削除された場合に、ブロックチェーンから最小ブロック番号を取得して記憶領域に記憶させる。具体的には、ブロックチェーンからのデータの削除により、ブロックチェーンを構成するブロック70の最小ブロック番号が大きくなる。例えば、車載ECU14に保存されているブロックチェーンが20個のブロック70によって構成され、データの削除が行われていない場合、データの削除前の最小ブロック番号は0である。データの削除により0~10のブロック番号のブロック70が削除されると、ブロックチェーンの最小ブロック番号は11となり、このブロック番号の値が最小ブロック番号保存処理部62によって取得される。なお、最小ブロック番号は、セキュアストレージTSに記憶されることで、改ざんが防止される。
【0045】
図3は、本実施形態のデータ削除処理の流れを示すフローチャートである。データ削除処理は、例えば、1日に1回、所定時間に実行される。
【0046】
まず、ステップS100では、データ削除部46がブロックチェーンから削除可能データを取得する。本実施形態の削除可能データは、バックアップサーバ16にアップロード済み、かつ現在時から所定期間(一例として、1週間)以前のデータである。具体的には、データ削除部46は、ブロックテーブル72に含まれるフラグ情報(send_flg)が1となっているブロック70を生成日時(datetime)でソートし、現在日よりも1週間以前に生成されたブロック70に含まれるデータを削除可能データとして取得する。
【0047】
次のステップS102では、データ削除部46が削除可能データとして取得したデータを削除する。ここでいうデータの削除とは、セキュアデータファイル56に含まれる削除可能データを含むブロック70のセキュアデータファイル56からの削除や、このブロック70に対応するブロックテーブル72のブロックチェーンデータベース58からの削除である。このデータの削除によって、車載ECU14にとって不要となったデータがブロックチェーンから削除され、データを保存するための新たな記憶領域が確保されることとなる。
【0048】
次のステップS104では、データ削除部46がデータの削除を行った後のブロックチェーンにおける最小ブロック番号を取得する。
【0049】
次のステップS106では、プログラムハッシュ値算出部48がデータ削除プログラムのハッシュ値(算出プログラムハッシュ値)を算出する。
【0050】
次のステップS108では、最小ブロック番号と算出プログラムハッシュ値をセキュアワールドSWへ送信する。
【0051】
次のステップS110では、プログラムハッシュ値判定部60が算出プログラムハッシュ値とセキュアストレージTSに記憶されている保存プログラムハッシュ値とが一致するか否を判定し、肯定判定の場合はステップS112へ移行し、否定判定の場合はステップS114へ移行する。
【0052】
ステップS112では、最小ブロック番号保存処理部62がセキュアストレージTSに記憶されている最小ブロック番号を、ノーマルワールドNWから送信された新たな最小ブロック番号に更新して記憶させる。
【0053】
ステップS110において算出プログラムハッシュ値と保存プログラムハッシュ値とが不一致となった場合は、データ削除プログラムが改ざん又は破損等している可能性がある。そこで、ステップS114では、車載ECU14をリブートする。また、リブートした後に、削除したデータをデータ復元部52がバックアップサーバ16から取得し、ブロック生成部42がバックアップサーバ16から取得したデータを含んだブロックチェーンを再び生成する。
【0054】
図3を参照して説明したように、本実施形態の車載ECU14は、ブロックチェーンによって保存されるデータの蓄積が進むと、ブロックチェーンのデータサイズが大きくなることから、ブロックチェーンに含まれる一部のデータの削除を行う。そして、車載ECU14は、ブロックチェーンに含まれるデータを削除した場合に、ブロックチェーンに含まれる最小ブロック番号を取得し、セキュアワールドSWに更新して記憶させる。このため、データの削除が正規なものであれば記憶されている最小ブロック番号は更新される一方、データの削除が不正な改ざんであれば記憶されている最小ブロック番号は更新されない。これにより、本実施形態の車載ECU14は、ブロックチェーンに含まれるデータの削除が正規な削除であるか不正な改ざんであるかを判定できる。
【0055】
図4は、本実施形態の最小ブロック番号検証処理の流れを示すフローチャートである。最小ブロック番号検証処理は、例えば、1日に1回、所定時間に実行される。
【0056】
まず、ステップS200では、セキュアストレージTSに記憶されている最小ブロック番号の取得が行われる。
【0057】
次のステップS202では、データ検証部50がブロックチェーンから最小ブロック番号を取得する。
【0058】
次のステップS204では、データ検証部50がセキュアストレージTSに記憶されている最小ブロック番号とブロックチェーンにおける最小ブロック番号とが一致するか否かを判定し、肯定判定の場合は改ざんがないとして本最小ブロック番号検証処理を終了する。一方、一致しない場合にはデータの削除が改ざんによるものとされ、ステップS206へ移行する。
【0059】
ステップS206では、データ復元部52が、不一致とされるブロック70に含まれるデータをバックアップサーバ16から取得する。具体的には、セキュアストレージTSに記憶されている最小ブロック番号とブロックチェーンにおける最小のブロック番号との間のブロック番号のデータが改ざんにより削除されたデータであるため、このデータがバックアップサーバ16から取得される。
【0060】
次のステップS208では、ブロック生成部42が、取得したデータを含むブロックチェーンを再生成し、本最小ブロック番号検証処理を終了する。
【0061】
このように、最小ブロック番号検証処理は、セキュアストレージTSに記憶されている最小ブロック番号とブロックチェーンにおける最小ブロック番号とを比較し、一致していればデータの削除が正規に行われたと判定する。一方で、一致しなければデータの消去が不正な改ざんにより行われたと判定する。これにより、最小ブロック番号検証処理は、ブロックチェーンに含まれるデータの削除が正規な削除であるか不正な改ざんであるかを判定できる。
【0062】
以上、本発明を、上記実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更又は改良を加えることができ、該変更又は改良を加えた形態も本発明の技術的範囲に含まれる。
【0063】
上記実施形態では、車載ECU14に対してノーマルワールドNWとセキュアワールドSWを規定する形態について説明したが、これに限られず、車載ECU14にセキュアワールドSWが規定されなくてもよい。この形態の場合、ノーマルワールドNWの記憶領域にブロックチェーンの最小ブロック番号や保存プログラムハッシュ値等が記憶される。また、車載ECU14にセキュアストレージTSが備えられない場合には、ノーマルワールドNWから直接アクセスできないストレージ、又はアクセスが制限されるストレージ等のセキュアストレージTSに類似するストレージが備えられてもよい。
【0064】
データ保存装置によって保存可能なデータは、テキストデータに限定されない。ノーマルストレージUSの容量に応じて、例えば音声データ、画像データ及び映像データ等の保存が可能であってもよい。さらに、ブロックチェーンの個々のブロック70に格納されるデータも、適宜変更されてよい。
【0065】
上記実施形態の車載ECU14にて使用されるハッシュ関数は、暗号学的ハッシュ関数である。暗号学的ハッシュ関数は、違う入力から同一のハッシュ値を出力することがなく、且つ、出力されたハッシュ値から入力を推測することが実質不可能という特性を有している。SHA-2の一つである上述のSHA-256に替えて、SHA-1、SHA-2及びSHA-3の各アルゴリズムが、必要とされる出力長(ビット数)に合わせて適宜使用されてよい。また、データやプログラムの固有値となり、不可逆的な値がハッシュ値の代わりに用いられてもよい。また、データから算出される不可逆的な固有値をハッシュ値の代わりに用いてもよい。ハッシュ値の代わりになる固有値は、例えば離散コサイン変換(DCT:Discrete Cosine Transform)等である。
【0066】
車載ECU14を搭載する車両12は、特定のオーナーによって個人所有され、当該オーナー等による使用を想定されたオーナーカーであってよい。オーナーカーへの適用によれば、詐称から保護された状態で蓄積されるユーザの運転履歴を示すデータは、例えば運転状況に応じて保険料を設定するサービス業者にとって、高い価値を有するようになる。
【0067】
また車載ECU14を搭載する車両12は、レンタカー用の車両、有人タクシー用の車両、ライドシェア用の車両、貨物車両及びバス等であってもよい。さらに、モビリティサービスに用いられるドライバーレス車両に、車載ECU14が搭載されてもよい。今後のモビリティサービスの拡がりに伴い、車載ECU14にて蓄積されるデータの重要性は、いっそう大きくなると想定される。
【0068】
上記実施形態にて、車載ECU14によって提供されていた各機能は、ソフトウェア及びそれを実行するハードウェア、ソフトウェアのみ、ハードウェアのみ、あるいはそれらの複合的な組合せによっても提供可能である。こうした機能がハードウェアとしての電子回路によって提供される場合、各機能は、多数の論理回路を含むデジタル回路、又はアナログ回路によっても提供可能である。
【0069】
上記実施形態の各プロセッサは、CPU(Central Processing Unit)及びGPU(Graphics Processing Unit)等の演算コアを少なくとも一つ含む構成であってよい。さらに、プロセッサは、FPGA(Field-Programmable Gate Array)及び他の専用機能を備えたIPコア等をさらに含む構成であってよい。
【0070】
上記実施形態の記憶部として採用され、本開示のデータ保存方法に関連した各プログラムを記憶する記憶媒体の形態は、適宜変更されてよい。例えば、記憶媒体は、回路基板上に設けられた構成に限定されず、メモリカード等の形態で提供され、スロット部に挿入されて、コンピュータのバスに電気的に接続される構成であってよい。さらに、記憶媒体は、コンピュータへのプログラムのコピー基となる光学ディスク及びのハードディスクドライブ等であってもよい。
【0071】
本実施形態の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサを構成する専用コンピュータにより、実現されてもよい。あるいは、本実施形態に記載の装置及びその手法は、専用ハードウェア論理回路により、実現されてもよい。もしくは、本実施形態に記載の装置及びその手法は、コンピュータプログラムを実行するプロセッサと一つ以上のハードウェア論理回路との組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
【0072】
さらに、データ保存装置の機能を備えたECUは、車両とは異なる移動体にも搭載可能である。例えば、作業現場で運用される重機、アミューズメント施設等に配列された運転遊具、鉄道車両、トラム、及び航空機等に、データ保存装置の機能を備えたECUは搭載可能である。
【0073】
また、上記実施形態で説明した処理の流れも一例であり、本発明の主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【符号の説明】
【0074】
12・・・車両、14・・・車載ECU、46・・・データ削除部、
48・・・プログラムハッシュ値算出部、50・・・データ検証部、
60・・・プログラムハッシュ値判定部、62・・・最小ブロック番号保存処理部、
TS・・セキュアストレージ