JP2021013122A - データ保存装置、及びデータ保存プログラム - Google Patents

データ保存装置、及びデータ保存プログラム Download PDF

Info

Publication number
JP2021013122A
JP2021013122A JP2019127114A JP2019127114A JP2021013122A JP 2021013122 A JP2021013122 A JP 2021013122A JP 2019127114 A JP2019127114 A JP 2019127114A JP 2019127114 A JP2019127114 A JP 2019127114A JP 2021013122 A JP2021013122 A JP 2021013122A
Authority
JP
Japan
Prior art keywords
data
hash value
block
storage
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019127114A
Other languages
English (en)
Other versions
JP7176488B2 (ja
Inventor
陽 三谷
Akira Mitani
陽 三谷
▲シン▼ 徐
Shin Jo
▲シン▼ 徐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2019127114A priority Critical patent/JP7176488B2/ja
Priority to DE102020208245.6A priority patent/DE102020208245A1/de
Priority to CN202010631585.2A priority patent/CN112199439A/zh
Priority to US16/920,816 priority patent/US11935341B2/en
Publication of JP2021013122A publication Critical patent/JP2021013122A/ja
Application granted granted Critical
Publication of JP7176488B2 publication Critical patent/JP7176488B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3239Cryptographic 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 non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)

Abstract

【課題】移動体にて取得される取得データを、信用性を確保しつつ保存可能なデータ保存装置等の提供。【解決手段】車載ECU100は、車両Aでの取得データを、ブロックチェーンBCを用いて保存するデータ保存装置である。車載ECU100は、ブロックチェーンBCの最終ブロックLBに基づくハッシュ値と、取得データに基づくハッシュ値とを含む新規ブロックABを生成する。車載ECU100は、ノーマルワールドNWと、ノーマルワールドNWからのアクセスが制限されたセキュアワールドSWとを規定する。ノーマルワールドNWのノーマルストレージUSには、取得データが保存される。一方、セキュアワールドSWのセキュアストレージTSには、新規ブロックに基づくハッシュ値がブロックハッシュ値HvBとして保存される。【選択図】図1

Description

この明細書による開示は、移動体にて取得される取得データを保存するデータ保存の技術に関する。
特許文献1に開示のドライブレコーダは、車両の運転情報を受信及び記録を行う記録手段と、所定の条件が成立した場合に、記録手段に記録された運転情報をフラッシュメモリ等の記録媒体に不揮発的に記録する不揮発記録手段とを備えている。
特開2007−141213号公報
近年では、車両等の移動体にて取得される取得データの重要性が高まってきている。しかし、特許文献1のドライブレコーダでは、記録媒体への外部からのアクセスが制限されていない。故に、保存された運転情報等のデータの信用性が確保されない虞があった。
本開示は、移動体にて取得される取得データを、信用性を確保しつつ保存可能なデータ保存装置及びデータ保存プログラムの提供を目的とする。
上記目的を達成するため、開示された一つの態様は、移動体(A)において用いられ、ノーマルワールド(NW)及び当該ノーマルワールドからのアクセスが制限されるセキュアワールド(SW)を規定し、移動体にて取得される取得データを、ブロックチェーン(BC)を用いて保存するデータ保存装置であって、ノーマルワールドのストレージ領域(US)に、取得データを保存するノーマル保存処理部(53)と、ブロックチェーンの最後に連結された最終ブロック(LB)に基づくハッシュ値、及び取得データに基づくハッシュ値、を含む新規ブロック(AB)を生成するブロック生成部(52)と、新規ブロックに基づくハッシュ値を、セキュアワールドのストレージ領域(TS)にブロックハッシュ値(HvB)として保存するセキュア保存処理部(54)と、を備えるデータ保存装置とされる。
また開示された一つの態様は、移動体(A)において用いられ、ノーマルワールド(NW)及び当該ノーマルワールドからのアクセスが制限されるセキュアワールド(SW)を規定し、移動体にて取得される取得データを、ブロックチェーン(BC)を用いて保存するデータ保存プログラムであって、少なくとも一つのプロセッサ(11)に、ノーマルワールドのストレージ領域(US)に、取得データを保存し(S107)、ブロックチェーンの最後に連結された最終ブロック(LB)に基づくハッシュ値、及び取得データに基づくハッシュ値、を含む新規ブロック(AB)を生成し(S110)、新規ブロックに基づくハッシュ値を、セキュアワールドのストレージ領域(TS)にブロックハッシュ値(HvB)として保存する(S113)、ことを含む処理を実施させるデータ保存プログラムとされる。
これらの態様では、ブロックチェーンに新たに連結される新規ブロックのハッシュ値が、ノーマルワールドからのアクセスを制限されたセキュアワールドのストレージ領域に、ブロックハッシュ値として保存される。故に、移動体にて取得される取得データの改竄等が、セキュアワールドにて保護されるブロックハッシュ値を用いた比較によって検知され得る。したがって、移動体にて取得される取得データを、信用性を確保しつつ保存することが可能になる。
尚、上記括弧内の参照番号は、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、技術的範囲を何ら制限するものではない。
本開示の第一実施形態による車載ECUの電気構成を、関連する車載構成と共に示すブロック図である。 ブロックチェーンの詳細を示す図である。 ロガーにて実施されるロガー処理の詳細を示すフローチャートである。 オーディタにて実施されるデータ提供処理の詳細を示すフローチャートである。 ユーザインターフェースに表示されるデータ提供画面の一例を示す図である。 オブザーバにて実施されるシステム監視処理の詳細を示すフローチャートである。 本開示の第二実施形態による車載ECUの電気構成を示すブロック図である。
以下、本開示の複数の実施形態を図面に基づいて説明する。尚、各実施形態において対応する構成要素には同一の符号を付すことにより、重複する説明を省略する場合がある。各実施形態において構成の一部分のみを説明している場合、当該構成の他の部分については、先行して説明した他の実施形態の構成を適用することができる。また、各実施形態の説明において明示している構成の組み合わせばかりではなく、特に組み合わせに支障が生じなければ、明示していなくても複数の実施形態の構成同士を部分的に組み合わせることができる。そして、複数の実施形態及び変形例に記述された構成同士の明示されていない組み合わせも、以下の説明によって開示されているものとする。
(第一実施形態)
図1に示す本開示の第一実施形態におけるデータ保存装置の機能は、車載ECU(Electronic Control Unit)100に実装されている。車載ECU100は、車両Aに搭載された複数の電子制御ユニットのうちの一つである。車載ECU100は、例えばボディ系の統合ECUであってもよく、自動運転又は高度運転支援のための自動運転ECUであってもよい。さらに、車載ECU100は、取得データを保存するための専用ECUであってもよい。車載ECU100は、DCM40、V2X通信器30、及び複数の車載センサ20等と直接的又は間接的に電気接続されている。
DCM(Data Communication Module)40は、車両Aに搭載される通信モジュールである。DCM40は、LTE(Long Term Evolution)及び5G等の通信規格に沿った無線通信により、車両Aの周囲の基地局との間で電波を送受信する。DCM40は、クラウドCLDと車載機器との連携(Cloud to Car)を可能にする。DCM41の搭載により、車両Aは、インターネットに接続可能なコネクテッドカーとなる。DCM40は、クラウドCLD上に設置されたバックアップサーバBSへ向けて、車載ECU100に保存されたデータのバックアップを送信する。加えてDCM40は、バックアップサーバBSに保存されたバックアップデータを受信する。
V2X(Vehicle to Everything)通信器30は、車車間通信、路車間通信、及び歩車間通信等を実現する車載通信機である。V2X通信器30は、他車両に搭載された車載器、道路に設置された路側機、及び歩行者の所持する携帯端末等が通信範囲に存在する場合、これらの通信構成と双方向通信可能である。V2X通信器30は、通信を通じて取得した通信データを、例えば車載通信ネットワークの通信バス等を通じて、車載ECU100に提供可能である。
車載センサ20は、車両Aに搭載される種々の検出構成である。車載センサ20には、車両Aの走行状態を検出する車速センサ及び慣性センサ(Inertial Measurement Unit,IMU)が含まれている。車載センサ20には、ドライバの状態や運転操作を検出する車内カメラ、ペダルセンサ及びステアセンサが含まれている。車載センサ20には、運転支援又は自動運転に用いられる車外カメラ、ミリ波レーダ及びライダが含まれている。各車載センサ20は、例えば車載通信ネットワークの通信バス等を通じて、車載ECU100に検出データを提供可能である。
車載ECU100は、車両Aにて発生したデータを取得し、当該取得データをログデータLDとして改竄困難な状態で蓄積する車載コンピュータである。車載ECU100は、プロセッサ11、RAM12、記憶部13及び入出力インターフェース14等を含む制御回路を主体に構成されている。
プロセッサ11は、RAM12と結合された演算処理のためのハードウェアであり、RAM12へのアクセス処理により、種々のプログラムを実行可能である。記憶部13は、不揮発性の記憶媒体を含む構成であり、プロセッサ11によって実行される種々のプログラムを格納している。記憶部13には、車両Aにて発生したログデータLDの蓄積、提供及び監視に関連するデータ保存プログラムが少なくとも記憶されている。
車載ECU100は、ノーマルワールドNW及びセキュアワールドSWという少なくとも二つの異なる処理領域をシステム内に規定する。ノーマルワールドNW及びセキュアワールドSWは、ハードウェア上で物理的に分離されていてもよく、又はハードウェア及びソフトウェアの連携によって仮想的に分離されていてもよい。車載ECU100は、コンテキストスイッチ等の機能を利用し、アプリケーションの実行に必要なリソースを、ノーマルワールドNW及びセキュアワールドSWに時間的に分離させている。
ノーマルワールドNWは、オペレーションシステム及びアプリケーションを実行させる通常の領域である。ノーマルワールドNWには、データ保存のためのストレージ領域(Untrusted Storage)として、ノーマルストレージUSが設けられている。
セキュアワールドSWは、ノーマルワールドNWから隔離された領域である。セキュアワールドSWでは、セキュリティを要求される処理のためのセキュアなオペレーションシステム及びアプリケーションが実行される。ノーマルワールドNWからセキュアワールドSWへのアクセスは、プロセッサ11の機能によって制限されている。そのため、ノーマルワールドNWからは、セキュアワールドSWの存在が認識不可能となり、セキュアワールドSWにて実行される処理及びセキュアワールドSWに保存された情報等の安全性が確保される。セキュアワールドSWには、データ保存のためのストレージ領域(Trusted Storage)として、セキュアストレージTSが設けられている。セキュアストレージTSの容量は、ノーマルストレージUSの容量よりも少なくされてよい。
車載ECU100は、ログデータLDを保存するロガー処理(図3参照)、ロガー処理によって蓄積されたログデータLDを外部に提供するデータ提供処理(図4参照)、及びシステムの状態を監視するシステム監視処理(図6参照)等を実行する。上記の各処理を実行する機能ユニットとして、車載ECU100には、ノーマルワールドNWにて作動するロガー50及びオーディタ60と、セキュアワールドSWにて作動するオブザーバ70とが設けられる。
ロガー50は、ロガー処理の実行により、車両Aにて発生した種々のデータをブロックチェーンBCに関連付けて保存する機能ユニットである。ロガー50は、データ取得部51、ブロック生成部52、データ保存部53及びハッシュ値保存部54等の機能部を有している。
データ取得部51は、例えば車載通信ネットワークの通信バスに電気的に接続されている。データ取得部51は、通信データ及び検出データ等、車両Aに発生した種々のデータを、通信バスを通じて取得可能である。データ取得部51は、車載センサ20及びV2X通信器30によって通信バスに逐次出力されるデータの中から予め設定されたデータを抽出し、保存対象とする取得データとして選択的に取得する。
図1及び図2に示すブロック生成部52は、データ取得部51にて取得された取得データを、ログデータLDとして保存する。ブロック生成部52は、例えばSH−256等のハッシュ関数を用いてハッシュ値を計算する機能を有している。ブロック生成部52は、ハッシュ関数を利用して、ログデータLDをハッシュチェーン状のデータ構造に変換し、ノーマルストレージUSに保存する。ブロック生成部52は、予め設定された指定数又は指定容量のログデータLDに基づき、一つのブロックを作成する。ブロック生成部52は、一つのブロックのデータをハッシュ関数に入力して得られるハッシュ値を、次のブロックに含ませることにより、多数のブロックを直鎖状に連結させてなるブロックチェーンBCを生成する。
ブロック生成部52は、データ取得部51によって取得された指定数又は指定容量のログデータLDに基づき、各ブロックに本体データとして格納されるハッシュ値を算出する。ブロック生成部52は、多数のログデータLDそれぞれについてのハッシュ値を個別に計算してもよく、又は多数のログデータLDのマークルルートを計算してもよい。
データ保存部53は、データ取得部51によって取得されたログデータLDを、ノーマルストレージUS内に指定されたファイルパスに保存する。データ保存部53は、ブロック生成部52にて生成されるブロックチェーンBCのデータを、ノーマルストレージUSに保存する。データ保存部53は、特定のブロックと、その特定のブロックに含まれるログデータLDのファイルパスとを紐づける紐づけ情報Linを、ノーマルストレージUSに保存する。
ハッシュ値保存部54は、セキュアワールドSWへのアクセスを可能にする所定の命令(例えば、セキュアモニタコール等)の実行により、セキュアストレージTSに保存されたブロックハッシュ値HvB及びブロックナンバーNoBを更新可能である。ブロックハッシュ値HvBは、ブロックチェーンBCの現在の最終ブロックLBに基づくハッシュ値である。ブロックハッシュ値HvBは、最終ブロックLBの全データをハッシュ関数へ入力する演算処理により、出力として得られる256ビットの値(文字列)である。
ブロックナンバーNoBは、最終ブロックLBに割り振られた固有の値であり、初期ブロックを「0」としたとき、現在の最終ブロックLBがブロックチェーンBCにおいて何番目のブロックなのかを示す値である。ブロックナンバーNoBは、ブロックチェーンBCに現在連結されているブロックの数を示す値でもある。ハッシュ値保存部54は、ブロック生成部52にて新規ブロックABの生成及びそのハッシュ値の計算が行われる毎に、セキュアストレージTSのブロックハッシュ値HvB及びブロックナンバーNoBを更新する。
以上のロガー50によって実施されるロガー処理の詳細を、図3に示すフローチャートに基づき、図1及び図2を参照しつつ、以下説明する。ロガー処理は、車載ECU100への電力供給の開始に基づき開始され、電力供給の終了まで継続実施される。
S101では、ノーマルストレージUSにブロックチェーンBCの初期ブロックが既に生成されているか否かを判定する。S101にて、初期ブロックがあると判定した場合、105に進む。一方、S101にて、初期ブロックがないと判定した場合、初期処理を行うS102に進む。
S102では、任意のデータに基づいたハッシュ値を計算し、当該ハッシュ値を格納する初期ブロックを設定して、S103に進む。S103では、S102にて設定した初期ブロックのハッシュ値を計算し、S104に進む。S104では、S103にて算出したハッシュ値を、ブロックハッシュ値HvBの初期値としてセキュアストレージTSに保存し、S105に進む。加えてS104では、ブロックナンバーNoBを保存するセキュアストレージTSのアドレスに、初期値としての「0」を記録する。
S105では、ログデータLDとして蓄積するデータの取得処理を開始し、S106に進む。S106では、保存対象とされた取得データが取得できたか否かを判定する。保存対象となるデータが取得されない場合、S106の判定を繰り返す処理により、該当データの発生を待機する。そして、通信バスから保存対象となるデータを取得したタイミングで、S106からS107に進む。
S107では、ファイルパスの指示に従い、ノーマルストレージUSの特定の記憶領域に、取得データをログデータLDとして保存し、S108に進む。S108では、S107にて保存されたログデータLDのハッシュ値を計算し、S109に進む。S107及びS108にて、ログデータLDの取得とハッシュ値の算出とが逐次実行されることにより、処理負荷が時間的に分散される。
S109では、新規ブロックABに格納するログデータLDが指定数又は指定容量に到達したか否かを判定する。S109にて、ログデータLDが指定数又は指定容量に未達であると判定した場合、S106に戻り、ログデータLDの収集を継続する。一方、S109にて、ログデータLDが指定数又は指定容量に到達したと判定した場合、S110に進む。尚、S109では、前回の新規ブロックAB生成時からの経過時間をカウントし、所定の経過時間が経過したこと(タイムアウト)に基づいて、S110に進むことができる。
S110では、現在の最終ブロックLBに基づくハッシュ値と、S108にて計算したログデータLDのハッシュ値とをセットとし、これらハッシュ値を少なくとも含む新規ブロックABを生成し、S111に進む。新規ブロックABは、ノーマルストレージUSに保存され、ブロックチェーンBCに新たな最終ブロックLBとして連結される。
S111では、紐づけ情報Linを生成し、当該紐づけ情報LinをノーマルストレージUSに保存して、S112に進む。紐づけ情報Linは、S110にて生成した新規ブロックABと、当該新規ブロックABにハッシュ値が含まれるログデータLDの保存先を規定したファイルパスとを紐づける情報である。
S112では、新規ブロックABのハッシュ値を計算し、S113に進む。S113では、S112にて計算したハッシュ値により、セキュアストレージTSのブロックハッシュ値HvBを更新する。加えてS113では、セキュアストレージTSに記録されたブロックナンバーNoBの値をインクリメントし、新規ブロックABのブロックナンバーと一致させる。以上のS106〜S113の繰り返しにより、ブロックチェーンBCに関連付けたログデータLDの保存が実現される。
図1及び図2に示すオーディタ60は、ロガー50によって蓄積されたログデータLDをユーザUに提供するデータ提供処理(図4参照)と、ログデータLDのバックアップ及び復元に関連するデータ保守処理とを実行する機能ユニットである。オーディタ60は、データ提供処理に関連する機能部として、データ提供部61及びデータ検証部62を有している。
データ提供部61は、車載ECU100の外部のユーザインターフェースUI(図5参照)と、有線又は無線にて通信可能である。ユーザインターフェースUIは、例えば車両Aに搭載されたHMI機器、或いはスマートフォン、タブレット又はパーソナルコンピュータ等のユーザ端末である。ユーザインターフェースUIには、ログデータLDを参照するためのユーザ操作が、ユーザUによって入力される。ユーザインターフェースUIは、ユーザ操作に基づき、データ提供部61へ向けて参照要求を出力する。
データ提供部61は、ユーザインターフェースUIによって出力された参照要求を受け付ける。参照要求では、ユーザUが参照を希望するログデータLDのファイルパスが指定される。データ提供部61は、取得した参照要求のファイルパスを抽出し、データ検証部62にファイルパスを提供する。データ提供部61は、データ検証部62による検証結果に問題がない場合、ファイルパスにて指定されたログデータLDを、参照要求の要求元であるユーザインターフェースUIに返却する。
データ検証部62は、データ提供部61による参照要求の受け付けをトリガとして、参照要求にて要求された特定のログデータLD(要求データ)の改竄の有無等を含む異常を、セキュアストレージTSに保存されたブロックハッシュ値HvBを用いて検証する。データ検証部62は、参照要求にて指定されたファイルパスの紐づくブロックナンバーを、紐づけ情報Linに基づいて特定する。データ検証部62は、特定したブロック(以下、「特定ブロックSB」)と、当該特定ブロックSBよりも新しいブロック(図2 破線の範囲参照)に対して、ログデータLDに基づく各ハッシュ値の再計算を実行し、ブロックチェーンBCの整合性を検証する。
データ検証部62は、再計算された最終ブロックLBに基づくハッシュ値と、セキュアストレージTSに保存されたブロックハッシュ値HvBとが一致するか否かに基づき、ログデータLDの異常を判断する。データ検証部62は、再計算した最終ブロックLBのハッシュ値と、ブロックハッシュ値HvBとが一致した場合、ログデータLDには改竄等の異常がないと判断する。一方で、再計算した最終ブロックLBのハッシュ値と、ブロックハッシュ値HvBとが一致しない場合、ログデータLDに改竄等の異常の可能性があると判断する。
以上のデータ提供部61及びデータ検証部62によって実施されるデータ提供処理の詳細を、図4に示すフローチャートに基づき、図1及び図2を参照しつつ、さらに説明する。データ提供処理は、ユーザインターフェースUIからの参照要求の受信に基づき、オーディタ60にて開始される。
S131では、ユーザインターフェースUIから送信された参照要求を受け付け、S132に進む。S132では、S131にて取得した参照要求のファイルパスと、ノーマルストレージUSに保存された紐づけ情報Linとに基づき、ファイルパスの紐づく特定ブロックSBを特定し、S133に進む。特定ブロックSBは、ユーザUが参照を希望するログデータLDのハッシュ値を格納しているブロックである。S133では、特定ブロックSB以降連結されたブロックについて、関連するログデータLDを読み出し、ハッシュ値の再計算を実行し、S134に進む。
S134では、S133にて再計算した最終ブロックLBのハッシュ値が、セキュアストレージTSに保存されたブロックハッシュ値HvBと一致するか否かを判定する。S132にて、今回算出したハッシュ値が、ブロックハッシュ値HvBと一致すると判定した場合、S135に進む。S135では、S133の再計算に使用した全てのログデータLDに改竄がない旨の正常判定を実施する。S135では、こうした正常判定に基づき、参照要求に対応するログデータLDの一覧を、ユーザインターフェースUIに返却し、一連のデータ提供処理を終了する。
一方、S134にて、二つのハッシュ値が一致しないと判定した場合、S136に進む。S136では、S133の再計算に使用したいずれかのログデータLDに改竄の可能性がある旨の異常判定を行う。S136では、こうした異常判定に基づき、ユーザインターフェースUIへのエラー通知を返却し、一連のデータ提供処理を終了する。
ユーザインターフェースUIは、S135又はS136によるデータ取得部51からの応答に基づき、図5に示すデータ提供画面80をディスプレイに表示させる。データ提供画面80は、ブロック構造表示域81、ファイルパス表示域82及びファイル内容表示域83等によって構成されている。
ブロック構造表示域81は、ブロックチェーンBCの構造と、ブロックチェーンBCに格納された各種情報とを、概略的に画像表示する表示域である。ファイルパス表示域82は、参照要求に含ませたファイルパスを表示する表示域である。ファイル内容表示域83は、返却されたログデータLDを表示する標示域である。ユーザインターフェースUIにエラー通知が返却された場合、ファイル内容表示域83にはエラーメッセージ等が表示される。
オーディタ60は、図1に示すように、データ保守処理に関連する機能部として、バックアップ送信部63及びデータ復元部64を有している。バックアップ送信部63及びデータ復元部64は、DCM40と連携し、バックアップサーバBSとの間でログデータLDの共有を可能にしている。
バックアップ送信部63は、ブロック生成部52による新規ブロックABの生成を検知する。バックアップ送信部63は、ブロック生成部52にて新規ブロックABが生成されると、当該新規ブロックABにハッシュ値が格納された多数のログデータLDのバックアップデータを、外部のバックアップサーバBSへ向けて送信する。バックアップサーバBSは、バックアップ送信部63より送信されるバックアップデータを、車載ECU100のID情報と紐づけて、ハードディスクドライブ等の大容量の記憶媒体に保存する。
バックアップ送信部63は、DCM40による通信が不可能な状況では、バックアップサーバBSへのログデータLDの送信を保留する。この場合、DCM40が通信可能な状態に復帰したタイミングで、バックアップ送信部63は、未送信分のバックアップデータの送信を再開する。
データ復元部64は、データ検証部62による異常判定を検知する。データ復元部64は、ログデータLD等に改竄又は欠損等の異常が生じ、データ検証部62にてログデータLDの異常判定がなされた場合に、バックアップサーバBSに保存されたバックアップデータを用いて、ログデータLDを復元する。データ復元部64は、データ検証部62の検証対象とされた特定ブロックSB(図2参照)以降の各ブロックにハッシュ値が組み込まれた複数のログデータLDについて、バックアップデータの送信をバックアップサーバBSに要求する。データ復元部64は、バックアップサーバBSより受信したバックアップデータを正常なログデータLDとし、ファイルパスの指定するログデータLDを、対応するバックアップデータで上書きする。尚、データ復元部64は、全てのバックアップデータをバックアップサーバBSから取得し、全てのログデータLDを更新する処理を実施してもよい。
オブザーバ70は、セキュアワールドSWにて作動することにより、車載ECU100の外部及びノーマルワールドNWからの改竄から保護されている。オブザーバ70は、ノーマルワールドNWのロガー50及びオーディタ60の状態を、セキュアワールドSWから定期的に監視する機能ユニットである。
オブザーバ70は、定期的な監視のため、システム監視処理(図6参照)を予め規定された周期で開始する。オブザーバ70は、ロガー処理の実行に必要とされるロガー50の実行ファイル、及びデータ提供処理及びデータ保守処理の実行に必要とされるオーディタ60の実行ファイルを、ノーマルワールドNWから取得する(図6 S151参照)。
ロガー50の実行ファイルは、換言すれば、データ取得部51、ブロック生成部52、データ保存部53及びハッシュ値保存部54それぞれに関連する実行ファイルである。同様に、オーディタ60の実行ファイルは、換言すれば、データ提供部61、データ検証部62、バックアップ送信部63及びデータ復元部64それぞれに関連する実行ファイルである。オブザーバ70は、各実行ファイルの全体を網羅的に取得する。実行ファイルには、例えばバイナリファイルが含まれている。さらに、コンパイラ、リンカ及びライブラリ等も、実行ファイルに含まれてよい。
オブザーバ70は、予め規定された順序で、各実行ファイルをハッシュ関数に入力し、ロガー50のハッシュ値及びオーディタ60のハッシュ値をそれぞれ計算する(S152参照)。
セキュアストレージTSには、改竄の無いことが保証された初期の実行ファイルに基づくハッシュ値が、監視用ハッシュ値として保存されている。具体的には、正常なロガー50の実行ファイルに基づくロガーハッシュ値HvLと、正常なオーディタ60の実行ファイルに基づくオーディタハッシュ値HvAとが、監視用ハッシュ値として、セキュアストレージTSに保存されている。ロガーハッシュ値HvL及びオーディタハッシュ値HvAは、セキュアストレージTSに保存されることで、外部及びノーマルワールドNWからのアクセスによる改竄から保護されている。
オブザーバ70は、今回のシステム監視処理にて取得したロガー50の実行ファイルに基づくハッシュ値が、セキュアストレージTSに保存されたロガーハッシュ値HvLと一致するか否かを判定する(S153参照)。同様に、オブザーバ70は、今回取得したオーディタ60の実行ファイルに基づくハッシュ値が、セキュアストレージTSに保存されたオーディタハッシュ値HvAと一致するか否かを判定する(S153参照)。
オブザーバ70は、ロガー50及びオーディタ60のそれぞれについて、今回算出した各ハッシュ値が監視用の各ハッシュ値HvL,HvAと一致すると判定した場合、各実行ファイルが改竄されていない旨の正常判定を行う(S154参照)。一方、今回算出した各ハッシュ値の少なくとも一つが各ハッシュ値HvL,HvAと一致しないと判定した場合、オブザーバ70は、実行ファイルに改竄可能性がある旨の異常判定を行う(S155参照)。この場合、ユーザUへ向けてのエラー通知が実施され、一連のシステム監視処理は終了される。
ここまで説明した第一実施形態では、ブロックチェーンBCに新たに連結される新規ブロックABのハッシュ値が、ノーマルワールドNWからのアクセスを制限されたセキュアストレージTSにブロックハッシュ値HvBとして保存される。故に、車両Aにて取得されるログデータLDの改竄等が、セキュアワールドSWにて保護されたブロックハッシュ値HvBを用いた比較によって検知され得る。
詳記すると、個々のログデータLDのハッシュ値がブロックチェーンBCに組み込まれているため、ログデータLDの一つが変更されただけでも、最後のブロックハッシュ値HvBは、変化する。故に、ブロックハッシュ値HvBさえ保護されていれば、ブロックハッシュ値HvBとの照合に基づき、全てのログデータLDの改竄が検知され得る。
したがって、車両Aにて取得されるログデータLDを、信用性を確保しつつ保存することが可能になる。
加えて第一実施形態では、ログデータLDとブロックチェーンBCとの紐づけに関連する紐づけ情報LinがノーマルストレージUSに保存されている。故に、ユーザインターフェースUIからの参照要求に応じて、要求されたログデータLDに関連する特定ブロックSBが、紐づけ情報Linに基づき迅速に特定され得る。以上によれば、ログデータLDを参照するユーザUの利便性が確保され易くなる。
また第一実施形態では、特定のログデータLDの参照要求を受け付けると、要求されたログデータLDについての改竄の有無が、データ検証部62によって検証される。こうした改竄の検証には、セキュアストレージTSに保存されたブロックハッシュ値HvBが用いられる。以上のように、ログデータLDについての改竄可能性の検証が参照要求の受け付け毎に実施されれば、ユーザインターフェースUIに提供されるログデータLDの信用性が適切に確保され得る。
さらに第一実施形態のデータ検証部62は、特定ブロックSB以降に連結されたブロックに関連するハッシュ値を再計算し、最終ブロックLBのハッシュ値が、セキュアストレージTSのブロックハッシュ値HvBと一致する場合に、改竄がないと判定する。こうした処理によれば、セキュアストレージTSに保存させるデータ容量を削減しつつ、多量のログデータLDに対する改竄の有無が正確に検証可能となる。
加えて第一実施形態のロガー50及びオーディタ60は、ノーマルワールドNWにおいて作動する。故に、セキュアワールドSWのリソースの消費が低減され得る。
また第一実施形態では、オブザーバ70がセキュアワールドSWにおいて作動し、ロガー50及びオーディタ60の各実行ファイルの改竄の有無を判定する。以上によれば、ロガー50及びオーディタ60をそれぞれノーマルワールドNWにて作動させていても、これらの正しい作動が、セキュアワールドSWにて作動するオブザーバ70によって担保される。以上によれば、ログデータLDの信用性を確保しつつ、車載ECU100のリソースの有効利用が可能になる。
さらに第一実施形態では、セキュアストレージTSには、ロガー50及びオーディタ60の正常な各実行ファイルに基づくロガーハッシュ値HvL及びオーディタハッシュ値HvAが保存されている。そして、オブザーバ70は、現在の各実行ファイルに基づくハッシュ値と、監視用の各ハッシュ値HvL,HvAとが一致している場合に、実行ファイルが改竄されていないと判定する。こうした処理によれば、セキュアストレージTSに保存するデータ容量を削減しつつ、大容量となり易い各実行ファイルについての改竄の有無が正確に検証可能となる。
加えて第一実施形態では、車載ECU100の外部に設けられたバックアップサーバBSにログデータLDが送信され、当該バックアップサーバBSにバックアップデータとして保存される。そして、車載ECU100に保存されたログデータLDに異常が生じた場合には、バックアップサーバBSに保存されたバックアップデータを用いて、車載ECU100のログデータLDの復元が実行される。以上のように、バックアップからの復元手段が確保されていれば、ノーマルストレージUSにログデータLDを保存させても、信用性が確保され得る。
尚、第一実施形態では、車両Aが「移動体」に相当し、バックアップサーバBSが「保存装置」に相当し、ユーザインターフェースUIが「要求元」に相当する。また、ノーマルストレージUSが「ノーマルワールドのストレージ領域」に相当し、セキュアストレージTSが「セキュアワールドのストレージ領域」に相当し、ロガーハッシュ値HvL及びブロックハッシュ値HvBがそれぞれ「監視用ハッシュ値」に相当する。さらに、カードリーダ15が「ストレージ接続部」に相当し、データ保存部53が「ノーマル保存処理部」に相当し、ハッシュ値保存部54が「セキュア保存処理部」に相当し、オブザーバ70が「ファイル監視部」に相当する。そして、車載ECU100が「データ保存装置」に相当する。
(第二実施形態)
図7に示す本開示の第二実施形態は、第一実施形態の変形例である。第二実施形態の車載ECU100の制御回路には、カードリーダ15が設けられている。カードリーダ15に設けられたスロット部には、メモリカードMCが挿入される。メモリカードMCは、カードリーダ15に対し着脱自在なリムーバブルメディアである。メモリカードMCは、カードリーダ15と電気的に接続され、制御回路の補助的な記憶装置として機能する。カードリーダ15は、メモリカードMCへのデータの書き込み、及びメモリカードMCからのデータの読み出しを行う。
ロガー50には、外部メディア保存部55がさらに設けられている。外部メディア保存部55は、カードリーダ15に接続されたメモリカードMCに、ログデータLDを保存する。外部メディア保存部55は、ノーマルストレージUSの一部として、メモリカードMCの記憶領域を使用する。メモリカードMCによってノーマルストレージUSが拡張される場合、ログデータLDは、記憶部13及びメモリカードMCの両方に保存されてもよく、又はメモリカードMCのみに記憶されてもよい。
オーディタ60のデータ検証部62は、メモリカードMCに保存されたログデータLDに対しても、改竄等の異常の有無を、ブロックハッシュ値HvBを用いて検証可能である。一例として、データ検証部62は、カードリーダ15へのメモリカードMCの接続をトリガとし、メモリカードMCに保存されたログデータLDを読み出す。そしてデータ検証部62は、読み出したログデータLDに基づき、ブロックチェーンBCに従う順序でハッシュ値の再計算を行い、最終ブロックLBのハッシュ値を取得する。
データ検証部62は、再計算した最終ブロックLBのハッシュ値が、セキュアストレージTSのブロックハッシュ値HvBと一致する場合、メモリカードMC内のログデータLDが正常であると判定する。対して、再計算した最終ブロックLBのハッシュ値が、セキュアストレージTSのブロックハッシュ値HvBと一致しない場合、データ検証部62は、メモリカードMC内のログデータLDに改竄の可能性があると異常判定する。
ここまで説明した第二実施形態でも、セキュアストレージTSに記憶させたブロックハッシュ値HvBを用いることで、信用性を確保しつつログデータLDを保存することが可能になる。
加えて第二実施形態では、ログデータLDがメモリカードMCに保存可能であり、データ検証部62は、メモリカードMCに保存されたログデータLDの改竄の有無を、ブロックハッシュ値HvBを用いて検証できる。以上によれば、ログデータLDの信用性を損なわないようにしつつ、ログデータLDを保存するストレージ領域の拡張が可能になる。
尚、第二実施形態では、メモリカードMCが「外部ストレージ」に相当し、カードリーダ15が「ストレージ接続部」に相当し、外部メディア保存部55が「外部領域保存部」に相当する。
(他の実施形態)
以上、本開示の複数の実施形態について説明したが、本開示は、上記実施形態に限定して解釈されるものではなく、本開示の要旨を逸脱しない範囲内において種々の実施形態及び組み合わせに適用することができる。
上記実施形態のオーディタ60は、ノーマルワールドNWで作動していた。しかし、上記実施形態の変形例1において、オーディタ60は、セキュアワールドSWで作動する。以上のように、セキュアワールドSWの演算リソースに余裕がれば、変形例1のように、オーディタ60をセキュアワールドSWに配置してもよい。この場合、オーディタ60を監視するオブザーバ70の機能は、省略可能となる。
上記実施形態の変形例2では、バックアップサーバBSにバックアップデータを送信する機能が省略されている。こうした形態の車載ECU100は、コネクテッドカーではない車両Aにも搭載可能となる。さらに、変形例2の車載ECU100は、メモリカードMCにバックアップデータを保存可能である。車載ECU100は、記憶部13よりなるノーマルワールドNWのログデータLDに異常が生じた場合に、メモリカードMCのバックアップから、ログデータLDを復旧可能である。
上記実施形態の変形例3では、取得データの一部のみが、ブロックチェーンBCに紐づけた状態で保存される。こうした変形例3のように、取得データの重要度に応じて、保護された状態で保存するログデータLDと、保護されない状態で保存するログデータLDとが選別されてもよい。さらに、ストレージ容量を削減するため、一部のログデータLDが、例えば古いデータから順に削除されてもよい。加えて、データ容量削減のために、権限の与えられたユーザによるデータの削除が可能とされていてもよい。
上記第二実施形態の変形例4では、メモリカードMCに替えて、車載通信ネットワークに接続された記憶装置が、外部ストレージとして使用される。さらに、上記実施形態の変形例5では、メモリカードMCに替えて、車載ECU100とペアリングされたユーザ端末の記憶部が、外部ストレージとして使用される。以上の変形例4,5のように、外部ストレージは、メモリカードMCに限定されない。データ検証部62は、種々の外部メディアに保存されたログデータLDに対して、ブロックハッシュ値HvBを用いた検証処理を実行可能である。
上記実施形態の変形例6では、ロガー処理におけるログデータLDのハッシュ値の計算タイミングが異なっている。具体的に、変形例6のロガー処理では、ログデータLDが指定数又は指定容量に到達したと判定した場合に、一つのブロックに組み込む全てのログデータLDの各ハッシュ値を計算する。以上のように、全てのログデータLDが揃ってから、それらのデータのハッシュを一気に計算するフローが採用されてもよい。
データ保存装置によって保存可能なデータは、テキストデータに限定されない。ノーマルストレージUSの容量に応じて、例えば音声データ、画像データ及び映像データ等の保存が可能であってもよい。さらに、ブロックチェーンBCの個々のブロックに格納されるデータも、適宜変更されてよい。
上記実施形態の車載ECU100にて使用されるハッシュ関数は、暗号学的ハッシュ関数である。暗号学的ハッシュ関数は、違う入力から同一のハッシュ値を出力することがなく、且つ、出力されたハッシュ値から入力を推測することが実質不可能という特性を有している。SHA−2の一つである上述のSHA−256に替えて、SHA−1、SHA−2及びSHA−3の各アルゴリズムが、必要とされる出力長(ビット数)に合わせて適宜使用されてよい。
車載ECU100を搭載する車両Aは、特定のオーナーによって個人所有され、当該オーナー等による使用を想定されたオーナーカーであってよい。オーナーカーへの適用によれば、詐称から保護された状態で蓄積されるユーザの運転履歴を示すログデータLDは、例えば運転状況に応じて保険料を設定するサービス業者にとって、高い価値を有するようになる。
また車載ECU100を搭載する車両は、レンタカー用の車両、有人タクシー用の車両、ライドシェア用の車両、貨物車両及びバス等であってもよい。さらに、モビリティサービスに用いられるドライバーレス車両に、車載ECU100が搭載されてもよい。今後のモビリティサービスの拡がりに伴い、車載ECU100にて蓄積されるログデータLDの重要性は、いっそう大きくなると想定される。
さらに、データ保存装置の機能を備えたECUは、車両とは異なる移動体にも搭載可能である。例えば、作業現場で運用される重機、アミューズメント施設等に配列された運転遊具、鉄道車両、トラム、及び航空機等に、データ保存装置の機能を備えたECUは搭載可能である。
上記実施形態にて、車載ECU100によって提供されていた各機能は、ソフトウェア及びそれを実行するハードウェア、ソフトウェアのみ、ハードウェアのみ、あるいはそれらの複合的な組合せによっても提供可能である。こうした機能がハードウェアとしての電子回路によって提供される場合、各機能は、多数の論理回路を含むデジタル回路、又はアナログ回路によっても提供可能である。
上記実施形態の各プロセッサは、CPU(Central Processing Unit)及びGPU(Graphics Processing Unit)等の演算コアを少なくとも一つ含む構成であってよい。さらに、プロセッサは、FPGA(Field-Programmable Gate Array)及び他の専用機能を備えたIPコア等をさらに含む構成であってよい。
上記実施形態の記憶部として採用され、本開示のデータ保存方法に関連した各プログラムを記憶する記憶媒体の形態は、適宜変更されてよい。例えば上記第二実施形態のように、記憶媒体は、回路基板上に設けられた構成に限定されず、メモリカード等の形態で提供され、スロット部に挿入されて、コンピュータのバスに電気的に接続される構成であってよい。さらに、記憶媒体は、コンピュータへのプログラムのコピー基となる光学ディスク及びのハードディスクドライブ等であってもよい。
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサを構成する専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の装置及びその手法は、専用ハードウェア論理回路により、実現されてもよい。もしくは、本開示に記載の装置及びその手法は、コンピュータプログラムを実行するプロセッサと一つ以上のハードウェア論理回路との組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
A 車両(移動体)、BS バックアップサーバ(保存装置)、BC ブロックチェーン、LB 最終ブロック、AB 新規ブロック、SB 特定ブロック、HvB ブロックハッシュ値、HvA オーディタハッシュ値(監視用ハッシュ値)、HvL ロガーハッシュ値(監視用ハッシュ値)、Lin 紐づけ情報、MC メモリカード(外部ストレージ)、NW ノーマルワールド、US ノーマルストレージ(ノーマルワールドのストレージ領域)、SW セキュアワールド、TS セキュアストレージ(セキュアワールドのストレージ領域)、UI ユーザインターフェース(要求元)、11 プロセッサ、15 カードリーダ(ストレージ接続部)、52 ブロック生成部、53 データ保存部(ノーマル保存処理部)、54 ハッシュ値保存部(セキュア保存処理部)、55 外部メディア保存部(外部領域保存部)、62 データ検証部、63 バックアップ送信部、64 データ復元部、70 オブザーバ(ファイル監視部)、100 車載ECU(データ保存装置)

Claims (11)

  1. 移動体(A)において用いられ、ノーマルワールド(NW)及び当該ノーマルワールドからのアクセスが制限されるセキュアワールド(SW)を規定し、前記移動体にて取得される取得データを、ブロックチェーン(BC)を用いて保存するデータ保存装置であって、
    前記ノーマルワールドのストレージ領域(US)に、前記取得データを保存するノーマル保存処理部(53)と、
    前記ブロックチェーンの最後に連結された最終ブロック(LB)に基づくハッシュ値、及び前記取得データに基づくハッシュ値、を含む新規ブロック(AB)を生成するブロック生成部(52)と、
    前記新規ブロックに基づくハッシュ値を、前記セキュアワールドのストレージ領域(TS)にブロックハッシュ値(HvB)として保存するセキュア保存処理部(54)と、を備えるデータ保存装置。
  2. ノーマル保存処理部は、前記取得データと前記ブロックチェーンとの紐づけに関連する紐づけ情報(Lin)を、前記ノーマルワールドのストレージ領域に保存する請求項1に記載のデータ保存装置。
  3. 特定の前記取得データの参照要求を受け付け、前記参照要求の要求元(UI)に要求データとして提供する前記取得データの改竄の有無を、前記ブロックハッシュ値を用いて検証するデータ検証部(62)、をさらに備える請求項1又は2に記載のデータ保存装置。
  4. 前記データ検証部は、
    前記要求データと紐づいた特定ブロック(SB)を特定し(S132)、
    前記特定ブロック以降に連結されたブロックに関連するハッシュ値を再計算し(S133)、
    再計算された現在の前記最終ブロックのハッシュ値が、前記セキュアワールドの前記ブロックハッシュ値と一致する場合に、改竄がないと判定する(S135)、請求項3に記載のデータ保存装置。
  5. 前記データ検証部は、前記ノーマルワールドにおいて作動する請求項3又は4に記載のデータ保存装置。
  6. 前記取得データを、ストレージ接続部(15)に接続された外部ストレージ(MC)に保存する外部領域保存部(55)、をさらに備え、
    前記データ検証部は、前記外部領域保存部により前記外部ストレージに保存された前記取得データの改竄の有無を、前記ブロックハッシュ値を用いて検証する請求項3〜5のいずれか一項に記載のデータ保存装置。
  7. 前記セキュアワールドにおいて作動し、前記データ検証部に関連する実行ファイルの改竄の有無を判定するファイル監視部(70)、をさらに備える請求項3〜6のいずれか一項に記載のデータ保存装置。
  8. 前記ファイル監視部は、前記ブロック生成部、前記ノーマル保存処理部及び前記セキュア保存処理部の少なくとも一つに関連する実行ファイルの改竄の有無を判定する請求項7に記載のデータ保存装置。
  9. 前記セキュアワールドのストレージ領域には、正常な前記実行ファイルに基づくハッシュ値が監視用ハッシュ値(HvL,HvA)として保存されており、
    前記ファイル監視部は、現在の前記実行ファイルに基づくハッシュ値と、前記監視用ハッシュ値とが一致している場合に、前記実行ファイルが改竄されていないと判定する請求項8に記載のデータ保存装置。
  10. 前記取得データのバックアップデータを、外部の保存装置(BS)へ向けて送信するバックアップ送信部(63)と、
    前記取得データに異常が生じた場合に、前記保存装置に保存された前記バックアップデータを用いて、前記取得データを復元するデータ復元部(64)と、をさらに備える請求項1〜9のいずれか一項に記載のデータ保存装置。
  11. 移動体(A)において用いられ、ノーマルワールド(NW)及び当該ノーマルワールドからのアクセスが制限されるセキュアワールド(SW)を規定し、前記移動体にて取得される取得データを、ブロックチェーン(BC)を用いて保存するデータ保存プログラムであって、
    少なくとも一つのプロセッサ(11)に、
    前記ノーマルワールドのストレージ領域(US)に、前記取得データを保存し(S107)、
    前記ブロックチェーンの最後に連結された最終ブロック(LB)に基づくハッシュ値、及び前記取得データに基づくハッシュ値、を含む新規ブロック(AB)を生成し(S110)、
    前記新規ブロックに基づくハッシュ値を、前記セキュアワールドのストレージ領域(TS)にブロックハッシュ値(HvB)として保存する(S113)、
    ことを含む処理を実施させるデータ保存プログラム。
JP2019127114A 2019-07-08 2019-07-08 データ保存装置、及びデータ保存プログラム Active JP7176488B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019127114A JP7176488B2 (ja) 2019-07-08 2019-07-08 データ保存装置、及びデータ保存プログラム
DE102020208245.6A DE102020208245A1 (de) 2019-07-08 2020-07-01 Datenspeicherungsvorrichtung und Datenspeicherungsprogramm
CN202010631585.2A CN112199439A (zh) 2019-07-08 2020-07-03 数据存储设备和非暂态有形计算机可读存储介质
US16/920,816 US11935341B2 (en) 2019-07-08 2020-07-06 Data storage device and non-transitory tangible computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019127114A JP7176488B2 (ja) 2019-07-08 2019-07-08 データ保存装置、及びデータ保存プログラム

Publications (2)

Publication Number Publication Date
JP2021013122A true JP2021013122A (ja) 2021-02-04
JP7176488B2 JP7176488B2 (ja) 2022-11-22

Family

ID=74005689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019127114A Active JP7176488B2 (ja) 2019-07-08 2019-07-08 データ保存装置、及びデータ保存プログラム

Country Status (4)

Country Link
US (1) US11935341B2 (ja)
JP (1) JP7176488B2 (ja)
CN (1) CN112199439A (ja)
DE (1) DE102020208245A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022137945A1 (ja) * 2020-12-25 2022-06-30 株式会社デンソー データ保存装置、データ保存方法、およびデータ保存プログラム
WO2023074072A1 (ja) 2021-10-26 2023-05-04 株式会社デンソー データ保存システム、移動体、及びデータ保存プログラム
WO2023136288A1 (ja) 2022-01-13 2023-07-20 株式会社デンソー データ保存装置、移動体、及びデータ削除プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12001712B2 (en) 2021-11-17 2024-06-04 Samsung Electronics Co., Ltd. Storage device for autonomous driving and operating method thereof
CN114221798A (zh) * 2021-12-07 2022-03-22 北京安天网络安全技术有限公司 一种计算机攻击信息存储方法、装置、电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018133744A (ja) * 2017-02-16 2018-08-23 パナソニックIpマネジメント株式会社 通信システム、車両、および監視方法
WO2019034621A1 (en) * 2017-08-16 2019-02-21 Autoliv Development Ab METHOD FOR A DRIVER ASSISTANCE SYSTEM FOR A MOTOR VEHICLE
CN109583898A (zh) * 2018-12-07 2019-04-05 四川长虹电器股份有限公司 基于tee和区块链进行支付的智能终端及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4437246A (en) * 1981-10-07 1984-03-20 Paris Manufacturing Company, Inc. Pressing and creasing apparatus
JP2007141213A (ja) 2006-08-24 2007-06-07 Fujitsu Ten Ltd 警告装置、ドライブレコーダおよび警告方法
JP6340120B1 (ja) * 2017-06-16 2018-06-06 アイビーシー株式会社 デバイスプロビジョニングシステム
KR20210142981A (ko) * 2020-05-19 2021-11-26 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018133744A (ja) * 2017-02-16 2018-08-23 パナソニックIpマネジメント株式会社 通信システム、車両、および監視方法
WO2019034621A1 (en) * 2017-08-16 2019-02-21 Autoliv Development Ab METHOD FOR A DRIVER ASSISTANCE SYSTEM FOR A MOTOR VEHICLE
CN109583898A (zh) * 2018-12-07 2019-04-05 四川长虹电器股份有限公司 基于tee和区块链进行支付的智能终端及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MARTIN GOESE ET AL.: "Analysis of Blockchain Technology in the Mobility Sector", FSBC WORKING PAPER, JPN6022042841, April 2018 (2018-04-01), pages 1 - 16, ISSN: 0004892603 *
岡部 達哉 ほか: "ブロックチェーン技術を用いた車両データ・製品トレーサビリティデータの改ざん防止", DENSO TECHNICAL REVIEW, vol. 24, JPN6022042842, 30 November 2019 (2019-11-30), JP, pages 42 - 52, ISSN: 0004892604 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022137945A1 (ja) * 2020-12-25 2022-06-30 株式会社デンソー データ保存装置、データ保存方法、およびデータ保存プログラム
WO2023074072A1 (ja) 2021-10-26 2023-05-04 株式会社デンソー データ保存システム、移動体、及びデータ保存プログラム
WO2023136288A1 (ja) 2022-01-13 2023-07-20 株式会社デンソー データ保存装置、移動体、及びデータ削除プログラム

Also Published As

Publication number Publication date
CN112199439A (zh) 2021-01-08
US20210012591A1 (en) 2021-01-14
JP7176488B2 (ja) 2022-11-22
US11935341B2 (en) 2024-03-19
DE102020208245A1 (de) 2021-01-14

Similar Documents

Publication Publication Date Title
JP7176488B2 (ja) データ保存装置、及びデータ保存プログラム
US11662991B2 (en) Vehicle-mounted device upgrade method and related device
US11163549B2 (en) Vehicle information communication system
JP5949732B2 (ja) プログラム更新システム及びプログラム更新方法
US10049232B2 (en) Rewrite detection system, rewrite detection device and information processing device
US20210105143A1 (en) Verification method, verification apparatus, and storage medium including program stored therein
JP2013060047A (ja) 車両用ネットワークシステム及び車両用情報処理方法
US11579865B2 (en) Vehicle information communication system
US20170302693A1 (en) Rewrite detection system and information processing device
CN115756908A (zh) 用于实时ecu崩溃报告和恢复的方法
CN115733652A (zh) 车辆软件节点之间的临时密钥交换
US20230336356A1 (en) Data storage device, data storage method, and non-transitory computer readable storage medium
JP7447864B2 (ja) Otaマスタ、方法およびプログラム
CN115765904A (zh) 汽车嵌入式系统计时
CN115761935A (zh) 用于启用持久性车辆软件接口的系统和方法
CN115761936A (zh) 改进的目标单元测试
US20240361935A1 (en) Data storage device, mobile object, and storage medium storing data deletion program
US20240275581A1 (en) Data storage system, mobile object, and non-transitory computer readable storage medium
JP7552624B2 (ja) データ保存装置、移動体、及びデータ削除プログラム
JP7466819B2 (ja) 管理装置、管理方法及びプログラム
US20240354394A1 (en) Signature verification device, signature verification method, storage medium storing signature verification program, and encryption processing device
CN117597683A (zh) 中心装置、车辆侧系统、内容的保护方法以及内容保护用程序

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220915

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221011

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221024

R151 Written notification of patent or utility model registration

Ref document number: 7176488

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151