JP6181493B2 - 書換検出システム、書換検出装置及び情報処理装置 - Google Patents

書換検出システム、書換検出装置及び情報処理装置 Download PDF

Info

Publication number
JP6181493B2
JP6181493B2 JP2013195647A JP2013195647A JP6181493B2 JP 6181493 B2 JP6181493 B2 JP 6181493B2 JP 2013195647 A JP2013195647 A JP 2013195647A JP 2013195647 A JP2013195647 A JP 2013195647A JP 6181493 B2 JP6181493 B2 JP 6181493B2
Authority
JP
Japan
Prior art keywords
hash value
rewrite detection
unit
information
rewrite
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.)
Expired - Fee Related
Application number
JP2013195647A
Other languages
English (en)
Other versions
JP2015058896A (ja
Inventor
高田 広章
広章 高田
弘喜 高倉
弘喜 高倉
宮下 之宏
之宏 宮下
啓史 堀端
啓史 堀端
岡田 宏
宏 岡田
直樹 足立
直樹 足立
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.)
Nagoya University NUC
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Tokai National Higher Education and Research System NUC
Original Assignee
Nagoya University NUC
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Tokai National Higher Education and Research System NUC
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 Nagoya University NUC, Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd, Tokai National Higher Education and Research System NUC filed Critical Nagoya University NUC
Priority to JP2013195647A priority Critical patent/JP6181493B2/ja
Priority to CN201480051281.1A priority patent/CN105555615B/zh
Priority to DE112014004313.3T priority patent/DE112014004313T5/de
Priority to US14/917,352 priority patent/US10049232B2/en
Priority to PCT/JP2014/074188 priority patent/WO2015041161A1/ja
Publication of JP2015058896A publication Critical patent/JP2015058896A/ja
Application granted granted Critical
Publication of JP6181493B2 publication Critical patent/JP6181493B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Description

本発明は、車輌に搭載されたECU(Electronic Control Unit)などの情報処理装置に対するプログラム又はデータの不正な書き換えを検出する書換検出システム、並びにこのシステムを構成する書換検出装置及び情報処理装置に関する。
車輌に搭載されたECUなどの情報処理装置は、ROM(Read Only Memory)などの記憶部に記憶されたプログラム及びデータに基づいてCPU(Central Processing Unit)などの処理部が種々の処理を行っている。近年の車輌では、CAN(Controller Area Network)などの車内ネットワークを介して情報処理装置の記憶部に記憶されたプログラム及びデータの書き換えを行う機能が実用化されている。これにより情報処理装置のソフトウェアのバージョンアップなどが容易化され、情報処理装置の高機能化の実現を容易化することができる。
特許文献1においては、車載制御装置を認証する構成管理装置を備え、この構成管理装置が、構成証明を実施するために用いる構成証明データを、車載ネットワークに接続する登録装置を介して車載制御装置に配信する車載ネットワークシステムが提案されている。
特開2013−17140号公報
情報処理装置の記憶部に記憶されたプログラム及びデータを書換可能な構成とすることによって、不正なプログラム及びデータの書き換えが行われる虞がある。例えばカーシェアリング又はレンタカー等のように不特定多数のユーザが車輌を利用する場合、悪意のユーザによって不正な書き換えが行われる虞がある。また例えば自らが所有する車輌に対してもユーザが不正な改造を行うことが可能である。
例えば情報処理装置に高度な認証機能又は暗号化機能等を搭載することによって、記憶部のプログラム又はデータの不正な書き換えを防止することが考えられる。しかしながらこのような機能を情報処理装置に搭載することによって、情報処理装置の高コスト化を招来するという問題がある。また不正な書き換えを完全に防止することは容易ではない。特許文献1に記載の車載ネットワークシステムも同様の問題を有している。
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、情報処理装置の記憶部に記憶されたプログラム又はデータに対する不正な書き換えが行われたことを検出し得る書換検出システム、書換検出装置及び情報処理装置を提供することにある。
本発明に係る書換検出システムは、プログラム又はデータを記憶した記憶部、該記憶部に記憶されたプログラム又はデータに基づく処理を行う処理部、並びに、ネットワークを介して他の装置との通信を行う通信部を有する情報処理装置に対して、前記記憶部に記憶されたプログラム又はデータの書き換えを検出する書換検出システムであって、前記ネットワークを介して前記情報処理装置へ種情報を送信する種情報送信手段、該種情報送信手段が送信した種情報に応じて前記情報処理装置から送信されるハッシュ値を受信するハッシュ値受信手段、並びに、該ハッシュ値受信手段が受信したハッシュ値の正否を判定するハッシュ値判定手段を有し、該ハッシュ値判定手段の判定結果に応じて書き換えを検出する書換検出装置を備え、前記情報処理装置は、前記種情報送信手段が送信した種情報及び前記記憶部に記憶したプログラム又はデータに基づくハッシュ値を算出するハッシュ値算出手段を有し、該ハッシュ値算出手段が算出したハッシュ値を前記書換検出装置へ送信するようにしてあり、前記書換検出装置の前記種情報送信手段は、不連続な複数の領域の間隔を指定する情報を含み前記記憶部の記憶領域を指定する記憶領域指定情報を、前記種情報と共に前記情報処理装置へ送信し、前記情報処理装置の前記ハッシュ値算出手段は、前記種情報と、該種情報と共に送信された前記記憶領域指定情報にて指定された前記記憶部の記憶領域に記憶したプログラム又はデータとに基づいてハッシュ値を算出するようにしてあることを特徴とする。
また、本発明に係る書換検出システムは、プログラム又はデータを記憶した記憶部、該記憶部に記憶されたプログラム又はデータに基づく処理を行う処理部、並びに、ネットワークを介して他の装置との通信を行う通信部を有する情報処理装置に対して、前記記憶部に記憶されたプログラム又はデータの書き換えを検出する書換検出システムであって、前記ネットワークを介して前記情報処理装置へ種情報を送信する種情報送信手段、該種情報送信手段が送信した種情報に応じて前記情報処理装置から送信されるハッシュ値を受信するハッシュ値受信手段、並びに、該ハッシュ値受信手段が受信したハッシュ値の正否を判定するハッシュ値判定手段を有し、該ハッシュ値判定手段の判定結果に応じて書き換えを検出する書換検出装置を備え、前記情報処理装置は、前記種情報送信手段が送信した種情報及び前記記憶部に記憶したプログラム又はデータに基づくハッシュ値を算出するハッシュ値算出手段を有し、該ハッシュ値算出手段が算出したハッシュ値を前記書換検出装置へ送信するようにしてあり、前記書換検出装置の前記種情報送信手段は、前記記憶部の記憶領域を指定する記憶領域指定情報を前記種情報と共に前記情報処理装置へ送信し、前記情報処理装置の前記ハッシュ値算出手段は、前記種情報と、該種情報と共に送信された前記記憶領域指定情報にて指定された前記記憶部の記憶領域に記憶したプログラム又はデータとに基づいてハッシュ値を算出するようにしてあり、前記情報処理装置は、前記種情報と共に受信した前記記憶領域指定情報による記憶領域の指定が所定条件を満たさない場合に、前記書換検出装置へのハッシュ値の送信を行わないようにしてあることを特徴とする。
また、本発明に係る書換検出システムは、前記情報処理装置は、前記記憶領域指定情報により指定された記憶領域のサイズが、所定サイズ又は該所定サイズの定数倍サイズでない場合に、前記書換検出装置へのハッシュ値の送信を行わないようにしてあることを特徴とする。
また、本発明に係る書換検出システムは、前記種情報送信手段が、記憶領域の先頭位置と、前記記憶領域の末尾位置又はサイズを指定する情報を含む前記記憶領域指定情報を送信するようにしてあることを特徴とする。
また、本発明に係る書換検出システムは、プログラム又はデータを記憶した記憶部、該記憶部に記憶されたプログラム又はデータに基づく処理を行う処理部、並びに、ネットワークを介して他の装置との通信を行う通信部を有する情報処理装置に対して、前記記憶部に記憶されたプログラム又はデータの書き換えを検出する書換検出システムであって、前記ネットワークを介して前記情報処理装置へ種情報を送信する種情報送信手段、該種情報送信手段が送信した種情報に応じて前記情報処理装置から送信されるハッシュ値を受信するハッシュ値受信手段、並びに、該ハッシュ値受信手段が受信したハッシュ値の正否を判定するハッシュ値判定手段を有し、該ハッシュ値判定手段の判定結果に応じて書き換えを検出する書換検出装置を備え、前記情報処理装置は、前記種情報送信手段が送信した種情報及び前記記憶部に記憶したプログラム又はデータに基づくハッシュ値を算出するハッシュ値算出手段を有し、該ハッシュ値算出手段が算出したハッシュ値を前記書換検出装置へ送信するようにしてあり、前記書換検出装置は、前記種情報送信手段による種情報の送信から前記ハッシュ値受信手段によるハッシュ値の受信までの時間を計測する計測手段を有し、該計測手段が計測した時間に応じて書き換えを検出するようにしてあることを特徴とする。
また、本発明に係る書換検出システムは、前記情報処理装置が、前記種情報送信手段が送信した種情報に基づいて、ハッシュ値の算出対象とすべき前記記憶部の記憶領域を決定し、前記ハッシュ値算出手段は、種情報に基づいて決定した記憶領域に記憶したプログラム又はデータに基づいてハッシュ値を算出するようにしてあることを特徴とする。
また、本発明に係る書換検出システムは、前記情報処理装置が、ハッシュ値を前記書換検出装置へ送信した後、所定時間が経過するまでハッシュ値の送信を行わないようにしてあることを特徴とする。
また、本発明に係る書換検出システムは、前記記憶部には、前記プログラム又はデータが記憶された記憶領域以外の余剰領域にランダムなデータが記憶してあることを特徴とする。
また、本発明に係る書換検出システムは、前記種情報送信手段が、ランダムな値を前記種情報として送信するようにしてあることを特徴とする。
また、本発明に係る書換検出システムは、前記種情報に対する前記ハッシュ値の期待値を送信する送信手段を有するサーバ装置を更に備え、前記書換検出装置は、前記種情報に対する前記ハッシュ値の期待値を前記サーバ装置へ問い合わせる問い合わせ手段と、該問い合わせ手段の問い合わせに対して前記サーバ装置から送信される前記期待値を受信する受信手段とを有し、前記ハッシュ値判定手段は、前記受信手段が受信した期待値に基づいて、前記ハッシュ値受信手段が受信したハッシュ値の正否を判定するようにしてあることを特徴とする。
また、本発明に係る書換検出システムは、前記種情報及び前記ハッシュ値の期待値を送信する送信手段を有するサーバ装置を更に備え、前記書換検出装置は、前記種情報及び前記期待値を前記サーバ装置へ問い合わせる問い合わせ手段と、該問い合わせ手段の問い合わせに対して前記サーバ装置から送信される前記種情報及び前記期待値を受信する受信手段とを有し、前記種情報送信手段は、前記受信手段が前記サーバ装置から受信した前記種情報を前記情報処理装置へ送信するようにしてあり、前記ハッシュ値判定手段は、前記受信手段が受信した期待値に基づいて、前記ハッシュ値受信手段が受信したハッシュ値の正否を判定するようにしてあることを特徴とする。
また、本発明に係る書換検出システムは、前記書換検出装置が、移動体に搭載されており、前記サーバ装置との通信が可能な場合に前記問い合わせ手段による問い合わせ及び前記受信手段による前記期待値の受信を行って、受信した前記期待値を記憶しておき、前記ハッシュ値判定手段は、記憶した前記期待値に基づいて、前記ハッシュ値受信手段が受信したハッシュ値の正否を判定するようにしてあることを特徴とする。
また、本発明に係る書換検出システムは、前記書換検出装置が、移動体に搭載されていることを特徴とする。
また、本発明に係る書換検出システムは、前記書換検出装置が、前記ネットワークに対して着脱可能に構成されていることを特徴とする。
また、本発明に係る書換検出装置は、他の装置の記憶部に記憶されたプログラム又はデータの書き換えを検出する書換検出装置であって、ネットワークを介して前記他の装置へ種情報を送信する種情報送信手段と、該種情報送信手段が送信した種情報に応じて前記他の装置から送信されるハッシュ値を受信するハッシュ値受信手段と、該ハッシュ値受信手段が受信したハッシュ値の正否を判定するハッシュ値判定手段と、前記種情報送信手段による種情報の送信から前記ハッシュ値受信手段によるハッシュ値の受信までの時間を計測する計測手段とを備え、該ハッシュ値判定手段の判定結果に応じて書き換えを検出すると共に、前記計測手段が計測した時間に応じて書き換えを検出するようにしてあることを特徴とする。
本発明においては、書換検出装置が種情報を生成して情報処理装置へ送信し、情報処理装置が受信した種情報と記憶部に記憶されたプログラム又はデータとに基づいてハッシュ値を算出して書換検出装置へ送信する。種情報には、例えば所定ビット数のランダムな値を生成して用いることができる。書換検出装置は、情報処理装置から受信したハッシュ値の正否を判定し、プログラム又はデータに対する不正な書き換えが行われたか否かを判定する。即ち書換検出装置は、ハッシュ値が正しいものである場合には不正な書き換えが行われていないと判断し、ハッシュ値が正しいものでない場合には不正な書き換えが行われたと判断することができる。
これにより、情報処理装置のプログラム又はデータに対する不正な書き換えを検出し、不正な書き換えがなされた情報処理装置の動作停止、修理又は交換等の手当てを適切に行うことが可能となる。情報処理装置にはハッシュ値を算出する機能を追加すればよく、このシステムを実現するための情報処理装置のコスト上昇を抑えることができる。不正な書き換えを防止する機能を搭載する場合と比較して、本システムは低コスト且つ容易に実現可能である。
また、本発明においては、書換検出装置が種情報を情報処理装置へ送信する際に、ハッシュ値算出の対象とすべき記憶部の領域を指定した記憶領域指定情報を共に送信する。情報処理装置は、記憶領域指定情報にて指定された記憶領域に記憶されたプログラム又はデータに基づいてハッシュ値の算出を行う。
記憶部に記憶されたプログラム又はデータの量が多く、情報処理装置の処理能力が低い場合などには、記憶部全体を処理対象とするとハッシュ値の算出に多大な時間を要する虞がある。そこで、情報処理装置によるハッシュ値の算出を記憶部の一部に限定して行うことによって、ハッシュ値を算出する処理に要する時間を短縮することができる。なお書換検出装置は、ハッシュ値算出の対象領域を変化させながら、複数回に亘って情報処理装置からハッシュ値を取得して不正書き換えの有無を判定してよい。
また、本発明においては、記憶領域指定情報は、記憶領域の先頭位置及び末尾位置を指定する情報、又は、記憶領域の先頭位置及びサイズを指定する情報を含む。これにより書換検出装置は、情報処理装置の記憶部について「X番地からY番地まで」又は「X番地からYバイト分」等のようにその一部をハッシュ値算出対象とする記憶領域として指定できる。
またハッシュ値算出の対象とする記憶領域は、記憶部において連続した1つの領域である必要はなく、不連続な複数の領域を指定することができる構成としてよい。この場合に記憶領域指定情報は、例えば複数の領域の間隔を指定する情報とすることができる。これにより書換検出装置は、情報処理装置の記憶部について「Z番地(又はZバイト)間隔」の複数の記憶領域をハッシュ値算出の対象領域として指定できる。
なおこれらを組み合わせて「X番地からY番地までZ番地間隔」などの記憶領域の指定を行うことも可能である。
また、本発明においては、書換検出装置からの種情報に基づいて、情報処理装置がハッシュ値算出の対象とすべき記憶領域を決定し、この記憶領域の記憶内容に基づいてハッシュ値を算出して書換検出装置へ送信する。これにより、情報処理装置によるハッシュ値の算出処理の要する時間を短縮することができると共に、書換検出装置から情報処理装置へ送信する情報が増加することを防止できる。
上記のように記憶領域の一部を対象としてハッシュ値の算出を行うことが可能な構成とした場合、悪意のユーザなどが微小な領域を指定してハッシュ値を繰り返し取得し、取得したハッシュ値を解析することによって記憶部に記憶されたプログラム又はデータが解読される虞がある。
そこで本発明においては、書換検出装置から記憶領域指定情報が与えられ、記憶領域の指定が所定条件を満たさない場合、車載装置はハッシュ値の送信を行わない構成とする。所定条件として、例えば指定された記憶領域のサイズが所定サイズ又は所定サイズの定数倍サイズであるか否かを判定する構成とすることができる。これにより不正に取得したハッシュ値に基づくプログラム又はデータの解読を困難化することができる。
また、本発明においては、書換検出装置からの種情報に基づいてハッシュ値を算出して書換検出装置へ送信した後、情報処理装置は、所定時間が経過するまで、書換検出装置から次の種情報が与えられたとしても、ハッシュ値の送信を行わない。これにより一定の時間で得られるハッシュ値の量を制限することができるため、ハッシュ値を不正に取得してプログラム又はデータを解読することを困難化できる。
例えば記憶部に記憶された正当なプログラム又はデータを圧縮し、これにより得られる記憶部の未使用領域(プログラム又はデータが記憶されていない領域)に不正なプログラム又はデータを記憶させることにより、不正な処理が行われる虞がある。
そこで本発明においては、正当なプログラム又はデータを記憶部に記憶した場合に、プログラム又はデータが記憶されない余剰領域にはランダムなデータを記憶しておく。これにより記憶部に記憶されたプログラム又はデータの圧縮を困難化することができる。
なお、記憶部に余剰領域が散在するようにプログラム又はデータを記憶し、余剰領域に書き込むランダムデータを記憶部に散在させてもよい。
上記のようにプログラム又はデータを圧縮して不正な処理を行うためには、書換検出装置からの要求に応じてハッシュ値を算出する際に、不正なプログラムは圧縮された正当なプログラム又はデータに基づいて正当なハッシュ値を算出する必要があり、このような処理は通常のハッシュ値算出処理と比較して長い時間を要する。
そこで本発明においては、書換検出装置が種情報を送信してからハッシュ値を受信するまでの時間を計測し、計測した時間が予め設定された閾値などを超えて長い場合、書換検出装置は不正な書き換えがなされた(又はその可能性がある)と判断する。
また、本発明においては、種情報に対するハッシュ値の期待値をサーバ装置が記憶しておき、書換検出装置がサーバ装置から期待値を取得する。又は、正当なプログラム又はデータをサーバ装置が記憶しておき、種情報に対する期待値をサーバ装置が算出する構成としてもよい。書換検出装置は、情報処理装置へ送信した種情報に対するハッシュ値の期待値をサーバ装置へ問い合わせ、この問い合わせに対してサーバ装置から送信される期待値を受信する。書換検出装置は、サーバ装置から受信した期待値と、情報処理装置から受信したハッシュ値とを比較し、両値が一致しない場合に不正な書き換えがなされたと判断することができる。
例えば書換検出装置が期待値を記憶しておく構成とした場合、記憶された期待値が不正に書き換えられるなどの虞がある。書換検出装置がサーバ装置から期待値を取得する構成とすることによって、期待値の不正な書き換えを防止することができ、情報処理装置のプログラム又はデータの書換検出の精度を高めることができる。
また、サーバ装置が種情報及び期待値を書換検出装置へ送信し、書換検出装置はサーバ装置から取得した種情報を情報処理装置へ送信する。情報処理装置はこれに応じてハッシュ値を算出して書換検出装置へ送信し、書換検出装置は、情報処理装置からのハッシュ値とサーバ装置からの期待値とに基づいて不正な書き換えの有無を判断する構成としてもよい。
また、本発明においては、書換検出装置を車輌に搭載する。例えば車輌に搭載されたゲートウェイ又はカーナビゲーション装置等が、書換検出装置の機能を有する構成としてもよい。これにより例えば車輌のエンジン始動毎に不正な書き換えの検出処理を行うなど、検出処理を行う頻度を高めることが容易である。
ただし書換検出装置を車輌に搭載した場合、書換検出装置は常にサーバ装置と通信可能であるとは限らない。そこで書換検出装置は、サーバ装置からハッシュ値の期待値を取得して記憶しておく。検出処理を行う際にサーバ装置と通信不可能である場合には、書換検出装置は、予め記憶しておいた期待値を用いて検出処理を行うことができる。
また、本発明においては、書換検出装置を車内ネットワークに対して着脱可能な構成とする。例えば書換検出装置を可搬型の装置とし、ケーブルなどを介して車輌のコネクタに接続することで、書換検出装置が車内ネットワークを介して情報処理装置と通信可能となる構成とすることができる。
このような書換検出装置を例えば車輌のディーラ又は整備工場等に設け、車輌の車検、定期検査又は修理等の際に情報処理装置のプログラム又はデータの不正書換検出を行うことができる。また例えばレンタカー又はカーシェアリング等の車輌の場合に、車輌返却後に書換検出装置にて不正書換検出を行うことができる。
本発明による場合は、情報処理装置の記憶部に記憶されたプログラム又はデータに対する不正な書き換えが行われたことを書換検出装置が検出することができる。
実施の形態1に係る書換検出システムの構成を示す模式図である。 ECUの構成を示すブロック図である。 ECUの記憶部の構成を示す模式図である。 書換検出装置の構成を示すブロック図である。 サーバ装置の構成を示すブロック図である。 書換検出データベースの第1構成例を示す模式図である。 書換検出データベースの第2構成例を示す模式図である。 書換検出装置による書換検出処理を説明するための模式図である。 書換検出装置が行う書換検出処理の手順を示すフローチャートである。 ECUが行う書換検出処理の手順を示すフローチャートである。 サーバ装置が行う書換検出処理の手順を示すフローチャートである。 実施の形態2に係るECUが行う書換検出処理の手順を示すフローチャートである。 実施の形態3に係る書換検出システムの構成を示す模式図である。 ゲートウェイの構成を示すブロック図である。 実施の形態3に係るゲートウェイが行う書換検出処理の手順を示すフローチャートである。
(実施の形態1)
<システム構成>
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。図1は、実施の形態1に係る書換検出システムの構成を示す模式図である。図において1は車輌であり、車輌1には例えばボディECU及びエンジンECU等の種々のECU2が搭載されている。車輌1に搭載された複数のECU2は、CANなどの車内ネットワーク3を介して接続され、相互に情報の送受信を行うことができる。また車輌1には、車内ネットワーク3に対して他の装置を接続するためのコネクタ4が設けられている。
実施の形態1に係る書換検出システムは、車輌1に搭載されたECU2のプログラム又はデータに対する不正な書き換えが行われたことを検出する書換検出装置5を備えている。書換検出装置5は、可搬型の装置であり、例えば車輌1のディーラ又は修理工場等に保管される。書換検出装置5は、車輌1に設けられたコネクタ4に通信ケーブル6を介して接続されることにより、車内ネットワーク3を介してECU2との通信が可能となる。書換検出装置5は、コネクタ4に通信ケーブル6が接続された状態で、ECU2のプログラム又はデータに対する不正な書き換えの検出処理を行う。
また書換検出装置5は、無線LAN(Local Area Network)又は携帯電話網等を利用した無線通信を行う機能を有している。本実施の形態において書換検出装置5はこの無線通信機能を利用し、インターネットなどのネットワーク9を介してサーバ装置7との通信を行う。サーバ装置7は、例えば車輌1の製造会社又は販売会社等が管理・運営する装置である。サーバ装置7は、書換検出装置5による書換検出処理に必要な情報を記憶しており、書換検出処理を行う際に与えられる書換検出装置5からの要求に応じて、必要な情報を書換検出装置5へ送信する。
図2は、ECU2の構成を示すブロック図である。ECU2は、処理部21、記憶部22及び通信部23等を備えて構成されている。処理部21は、CPU(Central Processing Unit)などの演算処理装置を用いて構成されている。処理部21は、記憶部22に記憶されたプログラムを読み出して実行することにより、車輌1に係る種々の情報処理を行う。
記憶部22は、フラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性でデータ書き換え可能なメモリ素子を用いて構成されている。記憶部22は、処理部21が実行するプログラムと、これにより行われる処理に必要な種々のデータとが記憶されている。本実施の形態においては、記憶部22はROMとして用いられ、処理部21の処理により記憶部22に記憶されたプログラム又はデータが書き換えられることはないものとする。ただしプログラムのバージョンアップなどによる書き換えを行うことは可能である。
通信部23は、例えばCANなどの通信プロトコルに従って、車内ネットワーク3を介した他のECU2との通信を行う。通信部23は、処理部21から与えられた送信用の情報を、通信プロトコルに従った送信信号に変換し、車内ネットワーク3を構成する通信線に変換した信号を出力することで他のECU2への情報送信を行う。通信部23は、車内ネットワーク3の通信線の電位をサンプリングすることによって、他のECU2が出力した信号を取得し、この信号を通信プロトコルに従って2値の情報に変換することで情報の受信を行い、受信した情報を処理部21へ与える。
また本実施の形態においてECU2の処理部21は、書換検出装置5からの指示に応じてハッシュ値を算出するハッシュ値算出部24を有している。ハッシュ値算出部24は、書換検出装置5から与えられたランダムシード(種情報)と、記憶部22に記憶されたプログラム又はデータとに基づいて、所定のハッシュ算出アルゴリズム(ハッシュ関数)によりハッシュ値を算出する。ハッシュ値算出部24は、ソフトウェアとして実現されるものであってもよく、ハードウェアとして実現されるものであってもよい。ハッシュ値の算出方法の詳細については後述する。
図3は、ECU2の記憶部22の構成を示す模式図である。図示の例では、記憶部22はアドレスが0000h〜FFFFhで表される記憶領域を有している。記憶部22には、処理部21にて実行される2つのプログラム(プログラム1及びプログラム2)と、各プログラムの実行にそれぞれ必要な2種のデータ(データ1及びデータ2)とが記憶されている。記憶部22には、アドレスの先頭側からプログラム1、プログラム2、データ1、データ2の順に記憶されているが、それぞれの間の記憶領域及びアドレスの末尾側の記憶領域にはダミーデータが記憶されている。
ダミーデータはどのような値であってもよいが、例えばランダムに決定された値を記憶しておくことができる。ダミーデータは記憶部22の余剰領域の全てに書き込まれる。即ち記憶部22には、その全記憶領域に何らかのデータが記憶されている。これにより、記憶部22の余剰領域に不正なプログラムを記憶して不正な処理が行われることを防止できる。また記憶部22に記憶されたプログラム及びデータを圧縮することを困難化することができる。
図4は、書換検出装置5の構成を示すブロック図である。書換検出装置5は、処理部51、記憶部52、操作部53、表示部54、有線通信部55及び無線通信部56等を備えて構成されている。処理部51は、CPUなどの演算処理装置を用いて構成されている。処理部51は、記憶部52に記憶されたプログラムを読み出して実行することにより、車輌1に搭載されたECU2のプログラム又はデータに対する不正書き換えの検出処理を行う。記憶部52は、フラッシュメモリなどの不揮発性のメモリ素子を用いて構成され、処理部51が実行するプログラム及び実行に必要な種々のデータが記憶される。書換検出装置5は、処理部51の処理過程などにて発生した一時的な情報を記憶部52に記憶してもよく、一時的な情報を記憶するRAM(Random Access Memory)を備えていてもよい。
操作部53は、プッシュスイッチ又はタッチパネル等を用いて構成され、ユーザの操作を受け付けて処理部51へ通知する。表示部54は、液晶パネルなどを用いて構成され、処理部51からの指示に応じて、ユーザに対する種々の画像及びメッセージ等を表示する。有線通信部55は、例えばCANなどの通信プロトコルに従って、通信ケーブル6を介した他の装置との通信を行う。通信ケーブル6が車輌1のコネクタ4に接続された場合、有線通信部55は、車輌1の車内ネットワーク3を介してECU2との通信を行うことができる。無線通信部56は、無線LAN又は携帯電話網等を利用した無線通信を行うことによって、インターネットなどのネットワーク9を介してサーバ装置7との通信を行う。
図5は、サーバ装置7の構成を示すブロック図である。サーバ装置7は、処理部71、記憶部72及び通信部73等を備えて構成されている。処理部71は、CPUなどの演算処理装置を用いて構成されている。処理部71は、記憶部72に記憶されたプログラムを読み出して実行することにより、書換検出装置5の書換検出処理に必要な情報を送信する処理を行う。通信部73は、インターネットなどのネットワーク9を介して他の装置との通信を行うものである。本実施の形態において通信部73は、書換検出装置5との間で通信を行い、書換検出装置5から受信した情報を処理部71へ与えると共に、処理部71から与えられた送信用の情報を書換検出装置5へ送信する。
記憶部72は、ハードディスクなどの大容量の記憶装置を用いて構成されている。本実施の形態においては、記憶部72には、書換検出データベース75が構築されている。書換検出データベース75は、書換検出装置5の書換検出処理に必要な情報を記憶したデータベースである。書換検出データベース75にはいくつかの構成が考えられるが、以下に2つの構成例を示す。
図6は、書換検出データベース75の第1構成例を示す模式図である。第1構成例の書換検出データベース75には、”車種”、”ECU種別”、”ランダムシード”及び”期待値”が対応付けて記憶されている。書換検出データベース75の”車種”は、車輌1の種類を識別するための識別情報などが記憶される。車輌1の車名及び外観等が同じであっても、グレードなどが異なり、搭載されるECU2の構成が異なる場合、本実施の形態においてはこれらを異なる車種として扱う。図示の例では、書換検出データベース75に”車種”として車種A、車種B…の情報が記憶されている。書換検出データベース75の”ECU種別”は、例えばボディECU又はエンジンECU等のECU20の種類を識別するための識別情報などが記憶される。図示の例では、書換検出データベース75に”ECU種別”としてECUa、ECUb…の情報が記憶されている。
書換検出データベース75の”ランダムシード”は、書換検出装置5が生成するランダムシードであり、本実施の形態では16進数で4桁の数値である。図示の例では、書換検出データベース75の”ランダムシード”は、”ECU種別”毎に0000h〜FFFFhの65536通りの値が設定される。書換検出データベース75の”期待値”は、”ランダムシード”に対してECU3にて算出されるべきハッシュ値であり、本実施の形態では16進数で4桁の数値である。”期待値”は、ECU2の記憶部22の記憶内容(プログラム、データ及びダミーデータ)に対して、対応する”ランダムシード”を用いて予めハッシュ値を算出して記憶したものである。なお図示の”期待値”は一例である。
書換検出装置5は車種、ECU種別及びランダムシードを指定してサーバ装置7へ期待値を問い合わせる。サーバ装置7は、この問い合わせに応じて書換検出データベース75から対応する期待値を読み出して書換検出装置5へ送信する。
図7は、書換検出データベース75の第2構成例を示す模式図である。第2構成例の書換検出データベース75には、”車種”、”ECU種別”及び”記憶内容”が対応付けて記憶されている。これらのうち”車種”及び”ECU種別”は、第1の構成例と同じである。書換検出データベース75の”記憶内容”は、対応するECU2の記憶部22の記憶内容のコピーである。
第1の構成例の場合と同様に、書換検出装置5は車種、ECU種別及びランダムシードを指定してサーバ装置7へ期待値を問い合わせる。サーバ装置7は、この問い合わせに係る車種及びECU種別に対応する記憶内容を読み出す。サーバ装置7は、問い合わせに係るランダムシードと、読み出した記憶内容とに基づいてハッシュ値の算出を行い、算出したハッシュ値を期待値として書換検出装置5へ送信する。このため、サーバ装置7は、ECU2のハッシュ値算出部24が用いるハッシュ関数と同じものを記憶している。
なお本実施の形態においては、車種及びECU種別が同じであれば、ECU2の記憶部22に記憶されているプログラム及びデータが同じものであるとしてある。ただし車輌1の仕向け又はプログラムのバージョン違い等により、車種及びECU種別が同じであっても記憶されているプログラム及びデータが異なる場合があり得る。このような場合には、例えば書換検出データベース75にはプログラムのバージョンなどの項目を設け、バージョン毎にランダムシード及び期待値を記憶しておくか、又は、バージョン毎に記憶部22の記憶内容を記憶しておく。書換検出装置5は、書換検出処理の対象とするECU2のプログラムのバージョンをこのECU2から取得し、サーバ装置7へ期待値の問い合わせを行う際にランダムシード及び車種等の情報と共にプログラムのバージョン情報を送信する。サーバ装置7は、書換検出装置5からのランダムシード、車種、ECU種別及びプログラムのバージョン情報等に基づいて、書換検出データベース75から期待値を取得又は算出し、書換検出装置5へ送信することができる。
<ハッシュ値算出方法>
ECU2のハッシュ値算出部24は、例えばMD(Message Digest)4、MD5、SHA−1、SHA−256、SHA−384、SHA−512、EIPEMD−160又はSHA−3等の既存のハッシュ関数を利用してハッシュ値の算出を行う構成とすることができる。これらはいわゆる一方向のハッシュ関数であり、入力された情報に対して一つのハッシュ値を出力する関数である。ハッシュ関数に入力される情報は、本実施の形態においてECU2の記憶部22に記憶されたプログラム又はデータの一部又は全部である。ハッシュ関数に入力されるものがプログラム若しくはデータのいずれであっても、又は、プログラム及びデータの両方であっても、ハッシュ関数は入力されたものを単に2値の情報として扱い、ハッシュ値を算出することができる。ハッシュ値算出部24は、予め定められたハッシュ関数を記憶しており、このハッシュ関数を用いてハッシュ値の算出を行う。
以下、ハッシュ値算出部24がSHA−1のハッシュ関数を用いてハッシュ値を算出する場合について、簡単に説明する。なおSHA−1のハッシュ関数の詳細な処理、及び、ハッシュ値算出部24が他のハッシュ関数を用いる場合については、これらのハッシュ関数は既存の技術であるため、説明を省略する。
SHA−1のハッシュ関数を利用する場合、ハッシュ値算出部24は、まずパディング処理を行う。パディング処理においてハッシュ値算出部24は、入力情報の後に余分なデータを付け加えることによって、処理対象の情報のサイズを所定値(512ビット)の整数倍となるように調整する。次いでハッシュ値算出部24は、パディング処理された情報を512ビット毎のブロックに分割し、各ブロックについて80個の値を算出する第1処理を行う。
次いでハッシュ値算出部24は、所定サイズ(160ビット)の初期値に対して、第1処理にて算出した値を用いた演算を行い、演算後の160ビットの値をハッシュ値とする第2処理を行う。第2処理において、まずハッシュ値算出部24は、160ビットの初期値に対して、1つのブロックについて算出した80個の値を用いて80ステップの演算を行う。この80ステップの演算により、160ビットの初期値に対して、ブロックの情報を混ぜ込むことができ、出力として160ビットの値が得られる。ハッシュ値算出部24は、得られた160ビットの値を初期値として、次のブロックについて算出した80個の値を用いて同様に80ステップの演算を行う。ハッシュ値算出部24は、全ブロックについて同様の80ステップの処理を行い、最終的に得られた160ビットの値をハッシュ値とする。
また本実施の形態においてハッシュ値算出部24は、書換検出装置5から与えられたランダムシードを利用してハッシュ値の算出を行う必要がある。例えばハッシュ値算出部24は、上記のパディング処理において、入力情報に付加するデータにランダムシードを用いることができる。また例えばハッシュ値算出部24は、上記の第2処理において、160ビットの初期値にランダムシードを用いることができる。本実施の形態においては、第2処理の初期値にランダムシードを用いるものとする。
なおハッシュ値算出部24によるランダムシードの利用方法は上記のものに限らない。例えばハッシュ値算出部24は、ハッシュ値算出の対象とする記憶部22の情報とランダムシードとの論理演算値(排他的論理和など)をハッシュ関数への入力情報とすることができる。また例えばハッシュ値算出部24は、ハッシュ値算出の対象とする記憶部22の情報の先頭部分又は末尾部分等の所定位置にランダムシードを付加したものをハッシュ関数への入力情報とすることができる。
<書換検出処理>
例えば車輌1の車検、定期検査又は修理等の際に、ディーラ又は修理工場等の作業者は、書換検出装置5の通信ケーブル6を車輌1のコネクタ4に接続して、書換検出装置5を車輌1の車内ネットワーク3に接続する。作業者は、書換検出装置5の操作部53に対する操作を行い、車輌1のECU2に対する不正書換の検出処理を開始する指示を書換検出装置5へ与える。
書換検出装置5は、操作部53にて不正書換検出処理の開始指示を受け付けた場合、有線通信部55にて車輌1のECU2との通信を開始する。本実施の形態において書換検出装置5は、車輌1に搭載された複数のECU2から1つを適宜に選択し、選択したECU2の記憶部22に記憶されたプログラム及びデータに対する不正書換の検出処理を行う。書換検出装置5は、1つのECU2について検出処理を終えた後、未処理のECU2に対する検出処理を行う。書換検出装置5は、これらを繰り返すことによって複数のECU2に対して順次的に検出処理を行い、車輌1に搭載された検出対象となり得る全てのECU2に対して不正書換の検出処理を行う。
なお書換検出装置5は、車内ネットワーク3に接続された複数のECU2に対して一斉に不正書換の検出処理を行う構成としてもよい。ただし本実施の形態においては、上記のように書換検出装置5が複数のECU2に対して順次的に不正書換の検出処理を行うものとする。また以下においては、説明を簡略化するため、書換検出装置5が1つのECU2に対する不正書換の検出処理を行う場合について説明する。複数のECU2に対しては同様の処理を繰り返し行えばよい。
図8は、書換検出装置5による書換検出処理を説明するための模式図である。車輌2の車内ネットワーク3に接続された書換検出装置5は、書換検出処理の対象となるECU2に対して、書換検出処理を開始する旨などを通知する。これに応じて対象のECU2は、例えば他の処理を中断してハッシュ値算出部24の処理の準備などを行う(ただし必ずしも他の処理を中断する必要はなく、他の処理と並行してハッシュ値算出部24が処理を行うことが可能な構成であってもよい)。
書換検出装置5は、適宜の乱数発生アルゴリズムに基づいてランダムな値を生成し、これをランダムシードとしてECU2へ送信する。ランダムシードは、例えば64ビット以上のランダムな値とすることができる。ハッシュ値算出部24がハッシュ関数としてSHA−1を用いる場合、ランダムシードは例えば160ビットとすることができる。書換検出装置5からのランダムシードを受信したECU2は、受信したランダムシードと、記憶部22の記憶内容とに基づき、予め定められたハッシュ関数を用いてハッシュ値を算出する。ECU2は、算出したハッシュ値を書換検出装置5へ送信する。
また書換検出装置5は、生成したランダムシードをサーバ装置7へ送信し、このランダムシードに対するハッシュ値の期待値を問い合わせる。このときに書換検出装置5は、書換検出処理を行っている車輌1の車輌ID(IDentifier)又は車種等の車輌情報と、処理対象のECU2を識別するIDなどのECU識別情報とを、ランダムシードと共にサーバ装置7へ送信する。これらの情報を受信したサーバ装置7は、記憶部72の書換検出データベース75を参照する。サーバ装置7は、問い合わせのランダムシード、車種及びECU種別に応じた期待値を書換検出データベース75から取得し、取得した期待値を書換検出装置5へ送信する。
書換検出装置5は、ECU2から受信したハッシュ値と、サーバ装置7から受信した期待値とを比較する。書換検出装置5は、ハッシュ値及び期待値が一致する場合、ECU2の記憶部22に記憶されたプログラム及びデータに対する不正な書き換えが行われていないと判定する。これに対してハッシュ値及び期待値が一致しない場合、書換検出装置5は、ECU2のプログラム及びデータに対する不正な書き換えが行われたと判定する。書換検出装置5は、書換検出処理の処理結果として、不正な書き換えが行われていたか否かを表示部54に表示する。
また書換検出装置5は、ECU2へランダムシードを送信してからハッシュ値を受信するまでの時間を計測する。書換検出装置5は、計測した時間が閾値を超えるか否かを判定し、計測時間が閾値を超える場合、ECU2のプログラム及びデータに対する不正な書き換えが行われたと判定する。なお判定に用いる閾値は、書換検出装置5及びECU2の通信速度、及び、ECU2の処理能力等を考慮し、本システムの設計段階などにおいて予め決定しておく。
図9は、書換検出装置5が行う書換検出処理の手順を示すフローチャートである。書換検出装置5の処理部51は、乱数発生アルゴリズムに基づいてランダムシードを生成する(ステップS1)。処理部51は、生成したランダムシードを、有線通信部55にて処理対象のECU2へ送信する(ステップS2)。処理部51は、内部のタイマなどを利用した時間の計測を開始する(ステップS3)。
処理部51は、ランダムシードに対して処理対象のECU2から送信されるハッシュ値を、有線通信部55にて受信したか否かを判定し(ステップS4)、受信していない場合は(S4:NO)、ハッシュ値を受信するまで待機する。ハッシュ値を受信した場合(S4:YES)、処理部51は、ランダムシードの送信からハッシュ値の受信までの計測時間が所定の閾値を超えるか否かを判定する(ステップS5)。計測時間が閾値を超える場合(S5:YES)、処理部51は、不正な書き換えがなされていると判定し(ステップS10)、その旨を表示部54にて通知して処理を終了する。
計測時間が閾値を超えない場合(S5:NO)、処理部51は、無線通信部56にてサーバ装置7へランダムシード、車輌情報及びECU識別情報を送信して、期待値の問い合わせを行う(ステップS6)。処理部51は、問い合わせに対してサーバ装置7から送信される期待値を受信したか否かを判定し(ステップS7)、期待値を受信していない場合には(S7:NO)、期待値を受信するまで待機する。
サーバ装置7から期待値を受信した場合(S7:YES)、処理部51は、ステップS4にて受信したハッシュ値と、ステップS7にて受信した期待値とが一致するか否かを判定する(ステップS8)。ハッシュ値及び期待値が一致する場合(S8:YES)、処理部51は、不正な書き換えがなされていないと判定し(ステップS9)、その旨を表示部54にて通知して処理を終了する。ハッシュ値及び期待値が一致しない場合(S8:NO)、処理部51は、不正な書き換えがなされていると判定し(ステップS10)、その旨を表示部54にて通知して処理を終了する。
図10は、ECU2が行う書換検出処理の手順を示すフローチャートである。ECU2の処理部21は、書換検出装置5が送信するランダムシードを通信部23にて受信したか否かを判定し(ステップS21)、ランダムシードを受信していない場合は(S21:NO)、ランダムシードを受信するまで待機する。ランダムシードを受信した場合(S21:YES)、処理部21のハッシュ値算出部24は、書換検出装置5からのランダムシードと、記憶部22の記憶内容とに基づき、所定のハッシュ関数を用いてハッシュ値の算出を行う(ステップS22)。処理部21は、ハッシュ値算出部24が算出したハッシュ値を、通信部23にて書換検出装置5へ送信し(ステップS23)、処理を終了する。
図11は、サーバ装置7が行う書換検出処理の手順を示すフローチャートである。サーバ装置7の処理部71は、書換検出装置5からの期待値の問い合わせを、通信部73にて受信したか否かを判定し(ステップS31)、受信していない場合には(S31:NO)、問い合わせを受信するまで待機する。書換検出装置5からの問い合わせを受信した場合(S31:YES)、処理部71は、問い合わせに含まれるランダムシード、車輌情報及びECU識別情報等に基づいて、記憶部72の書換検出データベース75から期待値を取得する(ステップS32)。処理部71は、取得した期待値を通信部73にて書換検出装置5へ送信し(ステップS33)、処理を終了する。
<まとめ>
以上の構成の実施の形態1に係る書換検出システムは、書換検出装置5がランダムシードを生成してECU2へ送信し、ECU2は、受信したランダムシードと記憶部52の記憶内容(プログラム又はデータ)とに基づき、所定のハッシュ関数を用いてハッシュ値を算出して書換検出装置5へ送信する。書換検出装置5は、ECU2から受信したハッシュ値の正否を判定し、プログラム又はデータに対する不正な書き換えが行われたか否かを判定する。即ち書換検出装置5は、ハッシュ値が正しいものである場合には不正な書き換えが行われていないと判断し、ハッシュ値が正しいものでない場合には不正な書き換えが行われたと判断することができる。
これにより、ECU2のプログラム又はデータに対する不正な書き換えを書換検出装置5が検出し、不正な書き換えがなされたECU2の動作停止、修理又は交換等の手当てを適切に行うことが可能となる。ECU2にハッシュ値を算出する機能を追加すればよく、このシステムを実現するためのECU2のコスト上昇を抑えることができる。不正な書き換えを防止する機能を搭載する場合と比較して、本システムは低コスト且つ容易に実現可能である。
またECU2の記憶部22には、正当なプログラム及びデータを記憶した場合の余剰領域に、ランダムな値のダミーデータを記憶しておく。例えば記憶部22に記憶された正当なプログラム又はデータを圧縮し、これにより得られる記憶部22の未使用領域に不正なプログラム又はデータを記憶させることにより不正な処理が行われる虞があるが、余剰領域にダミーデータを記憶しておくことでプログラム又はデータの圧縮を困難化することができる。なお、記憶部22に余剰領域が散在するようにプログラム又はデータを記憶し、記憶部22のダミーデータを複数箇所に散在させる構成とすることで、不正な処理を行うことをより困難化することができる。
また書換検出装置5は、ECU2へのランダムシードの送信からハッシュ値の受信までの時間を計測し、計測した時間が予め設定された閾値を超える場合、不正な書き換えがなされた(又はその可能性がある)と判断する。これにより例えばECU2のプログラム又はデータ等を圧縮して利用するなどの不正な処理が行われ、ハッシュ値の送信までに正常時と比較して長い時間を要した場合に、これを検出することができる。
また書換検出装置5からの問い合わせに応じてサーバ装置7が期待値を送信し、書換検出装置5がサーバ装置7から受信した期待値とECU2から受信したハッシュ値とが一致するか否かに応じて書換の検出を行う。例えば書換検出装置5がハッシュ値の期待値を記憶しておく構成とした場合には、書換検出装置5の期待値が不正に書き換えられる虞があるが、サーバ装置7から期待値を取得する構成とすることによってこのような期待値の不正な書き換えを防止できる。
また書換検出装置5は、車輌1の車内ネットワーク3のコネクタ4に通信ケーブル6を介して着脱可能な構成である。このような書換検出装置5を例えば車輌1のディーラ又は整備工場等に設け、車輌1の車検、定期検査又は修理等の際にECU2のプログラム又はデータの不正書換検出を行うことができる。また例えばレンタカー又はカーシェアリング等の車輌1の場合、車輌返却後に書換検出装置5にて不正書換検出を行うことができる。
なお本実施の形態においては、書換検出装置5と車輌1との間の通信を、通信ケーブル6を介した有線通信にて行う構成としたが、これに限るものではなく、無線LANなどの無線通信を行う構成としてもよい。また書換検出装置5は、無線通信部56にてサーバ装置7との通信を行う構成としたが、これに限るものではなく、有線通信によりサーバ装置7との通信を行う構成としてもよい。また書換検出装置5を、車輌1の車内ネットワーク3のコネクタ4に接続する構成としたが、これに限るものではなく、例えば車輌1に搭載されたゲートウェイなどの装置に書換検出装置5を接続し、書換検出装置5がゲートウェイを介して車内ネットワーク3に接続されたECU2との通信を行う構成としてもよい。
また、書換検出装置5は、ECU2からハッシュ値を取得した後で、サーバ装置7から期待値を取得する構成としたが、これに限るものではなく、期待値を取得した後でハッシュ値を取得してもよく、ハッシュ値及び期待値を並列的に取得してもよい。また、書換検出装置5は、車輌1に搭載された複数のECU2に対して、不正書換の検出を1つずつ順番に行う構成としたが、これに限るものではない。書換検出装置5は、例えばランダムシードを複数のECU2に対してブロードキャストにより一斉送信し、複数のECU2からハッシュ値を取得して、複数のECU2についての書換検出処理を同時的に行ってもよい。
また、書換検出データベース75をサーバ装置7が備えるのではなく、書換検出装置5が備える構成としてもよい。即ち、書換検出システムがサーバ装置7を備えず、ハッシュ値に対する期待値を書換検出装置5が記憶又は算出する構成としてもよい。また、本実施の形態においては、車輌1に搭載されたECU2のプログラム又はデータに対する書換検出を行う書換検出システムを例に説明を行ったが、これに限るものではなく、例えば飛行機又は船舶等のその他の移動体に搭載された情報処理装置のプログラム又はデータに対する書換検出を行う構成としてもよい。
(変形例)
上述の実施の形態1に係る書換検出システムは、書換検出装置5がランダムシードを生成する構成としたが、これに限るものではない。例えばサーバ装置7がランダムシードを生成する構成としてもよい。この構成の場合、書換検出装置5は、サーバ装置7に対してランダムシード及び期待値の送信を依頼する。この依頼に応じてサーバ装置7は、ランダムシードを作成し、対応する期待値を書換検出データベース75に基づいて取得又は算出し、ランダムシード及び期待値を書換検出装置5へ送信する。書換検出装置5は、サーバ装置7から受信したランダムシードをECU2へ送信し、このランダムシードに基づいて算出されたハッシュ値をECU2から受信し、サーバ装置7からの期待値とECU2からのハッシュ値とを比較して不正な書き換えを検出する。
(実施の形態2)
上述の実施の形態1に係る書換検出システムでは、ECU2の記憶部22の全体を、ハッシュ値算出部24によるハッシュ値算出の対象としている。例えばECU2の記憶部22の記憶容量が大きく、且つ、処理部21の演算処理能力が低い場合、ハッシュ値の算出に多大な時間を要する虞がある。そこで実施の形態2に係る書換検出システムでは、ECU2のハッシュ値算出を高速化する方法について説明する。
実施の形態2に係る書換検出システムは、ECU2のハッシュ値算出部24がハッシュ値算出の対象とする記憶部22の記憶領域を、書換検出装置5が指定することが可能である。書換検出装置5は、例えば「X番地からY番地までZ番地間隔で」又は「X番地からYバイト分をZ番地間隔で」のように記憶領域を指定することができる。書換検出装置5は、上記のX、Y、Zの値を記憶領域指定情報として、ランダムシードと共にECU2へ送信する。なおX、Y、Zの値は、予め定められたものであってもよく、その都度ランダムに決定してもよい。
なお記憶領域の指定方法は上記の例に限らない。例えば「X番地からY番地まで」のように1つの連続領域を指定する方法を採用してもよい。また例えば「Z番地間隔で」のように、先頭位置及び末尾位置を指定せずに記憶領域の間隔のみを指定することによって、不連続な複数の領域を指定する方法を採用してもよい。また例えば「X1番地からY1番地まで、X2番地からY2番地まで、…、Xn番地からYn番地まで」のように、先頭位置及び末尾位置を複数指定して不連続な複数の領域を指定する方法を採用してもよい。
書換検出装置5は、このようなECU2の記憶部22の一部分に応じたハッシュ値の取得を1回行い、1つのハッシュ値に基づいて書換検出を行ってもよい。また書換検出装置5は、指定する記憶領域を変化させながらハッシュ値の取得を複数回行い、複数のハッシュ値に基づいて書換検出を行ってもよい。なお、記憶部22の全記憶領域を網羅するように記憶領域の指定を行って、書換検出装置5がハッシュ値の取得を複数回行うことが好ましい。
書換検出装置5から記憶領域指定情報が与えられたECU2は、指定された記憶領域からデータを読み出し、読み出したデータと書換検出装置5からのランダムシードとに基づいて、ハッシュ値算出部24がハッシュ値の算出を行う。ECU2は、算出したハッシュ値を書換検出装置5へ送信する。
ただしECU2は、書換検出装置5からの記憶領域指定情報による記憶領域の指定が所定条件を満たさない場合、ハッシュ値の算出及び送信を行わない。例えばECU2は、指定された記憶領域の記憶容量がAバイトなどの所定サイズであるか、又は、この所定サイズの定数倍(N×Aバイトなど)であることを所定条件とし、ハッシュ値の送信を行うか否かを判断する。
またECU2は、書換検出装置5へハッシュ値の送信を行った際に、内部のタイマなどによる時間の計測を開始し、予め設定された待機時間が経過するまで、書換検出装置5から次のランダムシード及び領域指定情報等を受信した場合であってもハッシュ値の送信を行わない。このようなハッシュ値の送信に対する制限をECU2が行うことによって、記憶部22の部分的なデータに対するハッシュ値算出の機能が悪用されることを防止できる。
また書換検出装置5は、サーバ装置7へ期待値の問い合わせを行う際に、記憶領域指定情報(X、Y、Zの値)をランダムシード、車輌情報及びECU識別情報等と共にサーバ装置7へ送信する。サーバ装置7は、書換検出装置5から与えられたこれらの情報に基づいて適切な期待値を取得又は算出して書換検出装置5へ送信する。
なおサーバ装置7の書換検出データベース75が図6に示すように期待値を予め算出して記憶しておくものである場合、実施の形態2に係る書換検出デーベース75は、指定され得るX、Y、Zの組に対してそれぞれ期待値を記憶しておく必要がある。また書換検出データベース75が図7に示すように記憶部22の記憶内容を記憶しておくものである場合、実施の形態2に係るサーバ装置7は、同様の書換検出データベース75を利用できる。この場合、サーバ装置7は、問い合わせと共に書換検出装置5から与えられた記憶領域指定情報に基づき、書換検出データベース75の記憶内容から必要な一部分を抽出してハッシュ値を算出すればよい。
書換検出装置5は、ECU2から受信したハッシュ値と、サーバ装置7から受信した期待値とを比較し、両値が一致した場合に不正な書き換えが行われていないと判断し、両値が一致しない場合に不正な書き換えが行われたと判断する。
図12は、実施の形態2に係るECU2が行う書換検出処理の手順を示すフローチャートである。実施の形態2に係るECU2の処理部21は、書換検出装置5が送信するランダムシードを通信部23にて受信したか否かを判定し(ステップS41)、ランダムシードを受信していない場合は(S41:NO)、ランダムシードを受信するまで待機する。ランダムシードを受信した場合(S41:YES)、処理部21は、書換検出装置5に対する前回のハッシュ値の送信から所定の待機時間が経過したか否かを判定する(ステップS42)。待機時間が経過していない場合(S42:NO)、処理部21は処理を終了する。
前回のハッシュ値の送信から所定の待機時間が経過している場合(S42:YES)、処理部21は、ランダムシードと共に書換検出装置5から受信した記憶領域指定情報を取得し(ステップS43)、記憶領域指定情報による記憶領域の指定が所定の条件を満たすか否かを判定する(ステップS44)。記憶領域の指定が所定の条件を満たさない場合(S44:NO)、処理部21は、処理を終了する。記憶領域の指定が所定の条件を満たす場合(S44:YES)、処理部21は、指定された記憶領域のデータを読み出す(ステップS45)。
処理部21のハッシュ値算出部24は、書換検出装置5からのランダムシードと、指定された記憶領域のデータとに基づき、所定のハッシュ関数を用いてハッシュ値の算出を行う(ステップS46)。処理部21は、ハッシュ値算出部24が算出したハッシュ値を、通信部23にて書換検出装置5へ送信する(ステップS47)。次いで処理部21は、ハッシュ値の送信から待機時間の経過を判定するため、内部のタイマなどを用いた時間の計測を開始し(ステップS48)、処理を終了する。
なお実施の形態2に係る書換検出装置5及びサーバ装置7の処理の手順については、フローチャートの図示を省略する。実施の形態2に係る書換検出装置5は、図9に示したフローチャートのステップS2にてランダムシードをECU2へ送信する際、及び、ステップS6にて期待値の問い合わせをサーバ装置7に対して行う際に、記憶領域指定情報をECU2又はサーバ装置7へ送信すればよい。また実施の形態2に係るサーバ装置7は、図11に示したステップS32にて書換検出データベースから期待値を取得する際に、書換検出装置5からの記憶領域指定情報を考慮して期待値の取得を行えばよい。
以上の構成の実施の形態2に係る書換検出システムは、書換検出装置5がランダムシードをECU2へ送信する際に、ハッシュ値算出の対象とすべき記憶部22の領域を指定した記憶領域指定情報を共に送信する。ECU2は、記憶領域指定情報にて指定された記憶領域に記憶されたプログラム又はデータに基づいてハッシュ値の算出を行う。これによりECU2のハッシュ値算出処理の時間を短縮することができる。なお書換検出装置5は、ハッシュ値算出の対象領域を変化させながら、複数回に亘ってECU2からハッシュ値を取得して不正書換の有無を判定してよい。
また記憶領域指定情報は、記憶領域の先頭位置及び末尾位置を指定する情報、又は、記憶領域の先頭位置及びサイズを指定する情報を含んでよい。またハッシュ値算出の対象とする記憶領域は、不連続な複数の領域を指定することができる構成としてよく、記憶領域指定情報は、例えば複数の領域の間隔を指定する情報とすることができる。書換検出装置5は、これらを組み合わせて、例えば「X番地からY番地までZ番地間隔」などの記憶領域の指定を行うことができる。
また、ランダムシードに基づいてハッシュ値を算出して書換検出装置5へ送信した後、ECU2は、所定時間が経過するまで、書換検出装置5から次のランダムシードが与えられたとしても、ハッシュ値の送信を行わない。これにより一定の時間で得られるハッシュ値の量を制限することができるため、ハッシュ値を不正に所得してプログラム又はデータを解読することを困難化できる。
なお、実施の形態2においては、記憶領域指定情報を書換検出装置5が生成してECU2及びサーバ装置7へ送信する構成としたが、これに限るものではない。例えばランダムシードに基づいて記憶領域の先頭位置、末尾位置及び間隔等を算出する演算式をECU2及びサーバ装置7が記憶しておき、書換検出装置5からのランダムシードを受信して演算式による演算を行うことで、記憶領域の先頭位置、末尾位置及び間隔等を決定する構成としてもよい。またこのような構成の場合、ランダムシードは記憶領域の決定に用い、ハッシュ値の算出には直接的に関与しない構成としてもよい。
また実施の形態2に係る書換検出システムのその他の構成は、実施の形態1に係る書換検出システムの構成と同様であるため、同様の箇所には同じ符号を付して詳細な説明を省略する。
(実施の形態3)
上述の実施の形態1、2に係る書換検出システムは、書換検出装置5を車輌1の車内ネットワーク3に対して着脱可能な構成としたが、これに限るものではない。実施の形態3においては、書換検出装置5を車輌1に搭載する構成について説明する。
図13は、実施の形態3に係る書換検出システムの構成を示す模式図である。実施の形態3に係る書換検出システムは、車輌1に搭載されたゲートウェイ305に書換検出処理を行う機能を設けた構成である。ゲートウェイ305は、車輌1の車内ネットワーク3を構成する複数の通信線が接続され、これら通信線間の情報送受信を中継する処理を行う。またゲートウェイ305は、無線通信機能を有しており、これを利用してインターネットなどのネットワーク9を介してサーバ装置7との通信を行うことができる。ただしゲートウェイ305が無線通信機能を有するのではなく、車輌1に搭載された無線通信器をゲートウェイ305が利用してサーバ装置7との通信を行う構成としてもよい。
図14は、ゲートウェイ305の構成を示すブロック図である。実施の形態3に係るゲートウェイ305は、処理部51、記憶部52、有線通信部55及び無線通信部56等を備えて構成されている。処理部51は、CPUなどの演算処理装置を用いて構成され、通信線間の情報の送受信を中継する処理を行うと共に、実施の形態1、2の書換検出装置5と同様の書換検出処理を行う。記憶部52は、フラッシュメモリなどのメモリ素子を用いて構成され、処理部51にて実行されるプログラム及び実行に必要なデータ等が記憶されている。また実施の形態3においては、ゲートウェイ305の記憶部52に期待値バックアップ情報が記憶される。
またゲートウェイ305は、有線通信部55を複数有しており、各有線通信部55に車内ネットワーク3の通信線が接続される。処理部51は、一の有線通信部55にて受信した情報を取得し、これ以外の有線通信部55へ与えて送信を行わせることで情報の中継を行う。無線通信部56は、無線LAN又は携帯電話網等を利用した無線通信を行うものである。ただし車輌1の周辺環境などによっては、ゲートウェイ305は、無線通信部56による無線通信を必ずしも行うことができるとは限らない。
ゲートウェイ305は、例えば車輌1のイグニッションスイッチがオン状態に切り替えられた場合など、予め定められた所定のタイミングにて書換検出処理を行う。書換検出処理においてECU2のプログラム又はデータに対する不正な書き換えが行われていると判断した場合、ゲートウェイ305は、車輌1の運転席近傍に設けられて表示部(図示は省略する)に警告メッセージなどを表示する。また不正な書き換えが行われていた場合に、ゲートウェイ305が車輌1の走行を禁止するなどの処理を行ってもよい。
また上記のように無線通信部56によるサーバ装置7との無線通信は、常に行うことができるとは限らない。そこでゲートウェイ305は、無線通信が可能な際にサーバ装置7から取得した期待値に関する情報を、記憶部52に期待値バックアップ情報として記憶する。書換検出処理を行う際にサーバ装置7との通信を行うことができない場合、ゲートウェイ305は、記憶部52に記憶した期待値バックアップ情報に基づいて、ECU2から得られたハッシュ値の正否を判定する。
図15は、実施の形態3に係るゲートウェイ305が行う書換検出処理の手順を示すフローチャートである。例えば車輌1のイグニッションスイッチがオン状態に切り替えられた場合などの所定タイミングに至った場合に、ゲートウェイ305の処理部51は、乱数発生アルゴリズムに基づいてランダムシードを生成すると共に(ステップS51)、生成したランダムシードを処理対象のECU2へ送信する(ステップS52)。処理部51は、ランダムシードに対して処理対象のECU2から送信されるハッシュ値を、有線通信部55にて受信したか否かを判定し(ステップS53)、受信していない場合は(S53:NO)、ハッシュ値を受信するまで待機する。ハッシュ値を受信した場合(S53:YES)、処理部51は、無線通信部56によるサーバ装置7との通信が可能であるか否かを判定する(ステップS54)。
無線通信が可能である場合(S54:YES)、処理部51は、無線通信部56にてサーバ装置7へ期待値の問い合わせを行う(ステップS55)。なお実施の形態3においては、ゲートウェイ305から期待値の問い合わせを受信したサーバ装置7は、1つのランダムシードに対応する1つの期待値をゲートウェイ305へ送信するのではなく、対象となる車輌1のECU2に関する全ての期待値を書換検出データベース75から抽出してゲートウェイ305へ送信する。ゲートウェイ305の処理部51は、問い合わせに対してサーバ装置7から送信される期待値を受信したか否かを判定し(ステップS56)、期待値を受信していない場合には(S56:NO)、期待値を受信するまで待機する。サーバ装置7から期待値を受信した場合(S56:YES)、処理部51は、受信した全ての期待値を期待値バックアップ情報として記憶部52に記憶し(ステップS57)、受信した全ての期待値から必要なものを抽出してステップS59へ処理を進める。無線通信が不可能である場合(S54:NO)、処理部51は、記憶部52の期待値バックアップ情報から必要な期待値を読み出して(ステップS58)、ステップS59へ処理を進める。
処理部51は、ECU2から受信したハッシュ値と、サーバ装置7から受信した期待値又は記憶部52から読み出した期待値とを比較し、ハッシュ値及び期待値が一致するか否かを判定する(ステップS59)。ハッシュ値及び期待値が一致する場合(S59:YES)、処理部51は、不正な書き換えがなされていないと判定し(ステップS60)、その旨を表示部54にて通知して処理を終了する。ハッシュ値及び期待値が一致しない場合(S59:NO)、処理部51は、不正な書き換えがなされていると判定し(ステップS61)、その旨を表示部54にて通知して処理を終了する。
以上の構成の実施の形態3に係る書換検出システムは、書換検出装置5と同様の機能を有するゲートウェイ305を車輌1に搭載し、ゲートウェイ305がECU2のプログラム又はデータの不正な書き換えを検出する処理を行う。これにより、例えば車輌1のエンジン始動毎に不正な書き換えの検出を行うなど、検出処理を行う頻度を高めることが容易である。
またゲートウェイ305は、サーバ装置7との通信が可能である場合に期待値を取得して記憶部52に期待値バックアップ情報として記憶しておく。検出処理を行う際にサーバ装置7との通信が不可能である場合、ゲートウェイ305は、記憶しておいた期待値バックアップ情報に基づいて検出処理を行う。これにより、サーバ装置7との通信が不可能である場合であっても、ゲートウェイ305が検出処理を行うことが可能となる。
なお実施の形態3においては、車輌1に搭載されたゲートウェイ305がECU2のプログラム又はデータに対する不正な書き換えの検出を行う構成としたが、これに限るものではない。例えば車輌1に搭載されたカーナビゲーション装置又はいずれかのECU2等が検出処理を行う構成としてもよい。またゲートウェイ305は、検出処理においてサーバ装置7から期待値を取得できた場合に期待値バックアップ情報の記憶を行う構成としたが、これに限るものではない。ゲートウェイ305がサーバ装置7からの期待値の取得及び期待値バックアップ情報としての記憶を行うタイミングは、これ以外の種々のタイミングであってよい。またゲートウェイ305は、サーバ装置7との通信が可能な場合に検出処理を行い、通信が不可能な場合には検出処理を行わない構成としてもよい。
また実施の形態3に係る書換検出システムのその他の構成は、実施の形態1に係る書換検出システムの構成と同様であるため、同様の箇所には同じ符号を付して詳細な説明を省略する。
1 車輌(移動体)
2 ECU(情報処理装置)
3 車内ネットワーク(ネットワーク)
4 コネクタ
5 書換検出装置
6 通信ケーブル
7 サーバ装置
9 ネットワーク
21 処理部
22 記憶部
23 通信部
24 ハッシュ値算出部(ハッシュ値算出手段)
51 処理部(種情報送信手段、ハッシュ値受信手段、ハッシュ値判定手段、計測手段、問い合わせ手段、受信手段)
52 記憶部
53 操作部
54 表示部
55 有線通信部
56 無線通信部
71 処理部
72 記憶部
73 通信部
75 書換検出データベース
305 ゲートウェイ(書換検出装置)

Claims (15)

  1. プログラム又はデータを記憶した記憶部、該記憶部に記憶されたプログラム又はデータに基づく処理を行う処理部、並びに、ネットワークを介して他の装置との通信を行う通信部を有する情報処理装置に対して、前記記憶部に記憶されたプログラム又はデータの書き換えを検出する書換検出システムであって、
    前記ネットワークを介して前記情報処理装置へ種情報を送信する種情報送信手段、該種情報送信手段が送信した種情報に応じて前記情報処理装置から送信されるハッシュ値を受信するハッシュ値受信手段、並びに、該ハッシュ値受信手段が受信したハッシュ値の正否を判定するハッシュ値判定手段を有し、該ハッシュ値判定手段の判定結果に応じて書き換えを検出する書換検出装置を備え、
    前記情報処理装置は、前記種情報送信手段が送信した種情報及び前記記憶部に記憶したプログラム又はデータに基づくハッシュ値を算出するハッシュ値算出手段を有し、該ハッシュ値算出手段が算出したハッシュ値を前記書換検出装置へ送信するようにしてあり、
    前記書換検出装置の前記種情報送信手段は、不連続な複数の領域の間隔を指定する情報を含み前記記憶部の記憶領域を指定する記憶領域指定情報を、前記種情報と共に前記情報処理装置へ送信し、
    前記情報処理装置の前記ハッシュ値算出手段は、前記種情報と、該種情報と共に送信された前記記憶領域指定情報にて指定された前記記憶部の記憶領域に記憶したプログラム又はデータとに基づいてハッシュ値を算出するようにしてあること
    を特徴とする書換検出システム。
  2. プログラム又はデータを記憶した記憶部、該記憶部に記憶されたプログラム又はデータに基づく処理を行う処理部、並びに、ネットワークを介して他の装置との通信を行う通信部を有する情報処理装置に対して、前記記憶部に記憶されたプログラム又はデータの書き換えを検出する書換検出システムであって、
    前記ネットワークを介して前記情報処理装置へ種情報を送信する種情報送信手段、該種情報送信手段が送信した種情報に応じて前記情報処理装置から送信されるハッシュ値を受信するハッシュ値受信手段、並びに、該ハッシュ値受信手段が受信したハッシュ値の正否を判定するハッシュ値判定手段を有し、該ハッシュ値判定手段の判定結果に応じて書き換えを検出する書換検出装置を備え、
    前記情報処理装置は、前記種情報送信手段が送信した種情報及び前記記憶部に記憶したプログラム又はデータに基づくハッシュ値を算出するハッシュ値算出手段を有し、該ハッシュ値算出手段が算出したハッシュ値を前記書換検出装置へ送信するようにしてあり、
    前記書換検出装置の前記種情報送信手段は、前記記憶部の記憶領域を指定する記憶領域指定情報を前記種情報と共に前記情報処理装置へ送信し、
    前記情報処理装置の前記ハッシュ値算出手段は、前記種情報と、該種情報と共に送信された前記記憶領域指定情報にて指定された前記記憶部の記憶領域に記憶したプログラム又はデータとに基づいてハッシュ値を算出するようにしてあり、
    前記情報処理装置は、前記種情報と共に受信した前記記憶領域指定情報による記憶領域の指定が所定条件を満たさない場合に、前記書換検出装置へのハッシュ値の送信を行わないようにしてあること
    を特徴とする書換検出システム。
  3. 前記情報処理装置は、前記記憶領域指定情報により指定された記憶領域のサイズが、所定サイズ又は該所定サイズの定数倍サイズでない場合に、前記書換検出装置へのハッシュ値の送信を行わないようにしてあること
    を特徴とする請求項に記載の書換検出システム。
  4. 前記種情報送信手段は、記憶領域の先頭位置と、前記記憶領域の末尾位置又はサイズを指定する情報を含む前記記憶領域指定情報を送信するようにしてあること
    を特徴とする請求項1乃至請求項3のいずれか1つに記載の書換検出システム。
  5. プログラム又はデータを記憶した記憶部、該記憶部に記憶されたプログラム又はデータに基づく処理を行う処理部、並びに、ネットワークを介して他の装置との通信を行う通信部を有する情報処理装置に対して、前記記憶部に記憶されたプログラム又はデータの書き換えを検出する書換検出システムであって、
    前記ネットワークを介して前記情報処理装置へ種情報を送信する種情報送信手段、該種情報送信手段が送信した種情報に応じて前記情報処理装置から送信されるハッシュ値を受信するハッシュ値受信手段、並びに、該ハッシュ値受信手段が受信したハッシュ値の正否を判定するハッシュ値判定手段を有し、該ハッシュ値判定手段の判定結果に応じて書き換えを検出する書換検出装置を備え、
    前記情報処理装置は、前記種情報送信手段が送信した種情報及び前記記憶部に記憶したプログラム又はデータに基づくハッシュ値を算出するハッシュ値算出手段を有し、該ハッシュ値算出手段が算出したハッシュ値を前記書換検出装置へ送信するようにしてあり、
    前記書換検出装置は、前記種情報送信手段による種情報の送信から前記ハッシュ値受信手段によるハッシュ値の受信までの時間を計測する計測手段を有し、該計測手段が計測した時間に応じて書き換えを検出するようにしてあること
    を特徴とする書換検出システム。
  6. 前記情報処理装置は、前記種情報送信手段が送信した種情報に基づいて、ハッシュ値の算出対象とすべき前記記憶部の記憶領域を決定し、
    前記ハッシュ値算出手段は、種情報に基づいて決定した記憶領域に記憶したプログラム又はデータに基づいてハッシュ値を算出するようにしてあること
    を特徴とする請求項に記載の書換検出システム。
  7. 前記情報処理装置は、ハッシュ値を前記書換検出装置へ送信した後、所定時間が経過するまでハッシュ値の送信を行わないようにしてあること
    を特徴とする請求項1乃至請求項のいずれか1つに記載の書換検出システム。
  8. 前記記憶部には、前記プログラム又はデータが記憶された記憶領域以外の余剰領域にランダムなデータが記憶してあること
    を特徴とする請求項1乃至請求項のいずれか1つに記載の書換検出システム。
  9. 前記種情報送信手段は、ランダムな値を前記種情報として送信するようにしてあること
    を特徴とする請求項1乃至請求項のいずれか1つに記載の書換検出システム。
  10. 前記種情報に対する前記ハッシュ値の期待値を送信する送信手段を有するサーバ装置を更に備え、
    前記書換検出装置は、
    前記種情報に対する前記ハッシュ値の期待値を前記サーバ装置へ問い合わせる問い合わせ手段と、
    該問い合わせ手段の問い合わせに対して前記サーバ装置から送信される前記期待値を受信する受信手段と
    を有し、
    前記ハッシュ値判定手段は、前記受信手段が受信した期待値に基づいて、前記ハッシュ値受信手段が受信したハッシュ値の正否を判定するようにしてあること
    を特徴とする請求項1乃至請求項のいずれか1つに記載の書換検出システム。
  11. 前記種情報及び前記ハッシュ値の期待値を送信する送信手段を有するサーバ装置を更に備え、
    前記書換検出装置は、
    前記種情報及び前記期待値を前記サーバ装置へ問い合わせる問い合わせ手段と、
    該問い合わせ手段の問い合わせに対して前記サーバ装置から送信される前記種情報及び前記期待値を受信する受信手段と
    を有し、
    前記種情報送信手段は、前記受信手段が前記サーバ装置から受信した前記種情報を前記情報処理装置へ送信するようにしてあり、
    前記ハッシュ値判定手段は、前記受信手段が受信した期待値に基づいて、前記ハッシュ値受信手段が受信したハッシュ値の正否を判定するようにしてあること
    を特徴とする請求項1乃至請求項のいずれか1つに記載の書換検出システム。
  12. 前記書換検出装置は、移動体に搭載されており、前記サーバ装置との通信が可能な場合に前記問い合わせ手段による問い合わせ及び前記受信手段による前記期待値の受信を行って、受信した前記期待値を記憶しておき、
    前記ハッシュ値判定手段は、記憶した前記期待値に基づいて、前記ハッシュ値受信手段が受信したハッシュ値の正否を判定するようにしてあること
    を特徴とする請求項10又は請求項11に記載の書換検出システム。
  13. 前記書換検出装置は、移動体に搭載されていること
    を特徴とする請求項1乃至請求項11のいずれか1つに記載の書換検出システム。
  14. 前記書換検出装置は、前記ネットワークに対して着脱可能に構成されていること
    を特徴とする請求項1乃至請求項11のいずれか1つに記載の書換検出システム。
  15. 他の装置の記憶部に記憶されたプログラム又はデータの書き換えを検出する書換検出装置であって、
    ネットワークを介して前記他の装置へ種情報を送信する種情報送信手段と、
    該種情報送信手段が送信した種情報に応じて前記他の装置から送信されるハッシュ値を受信するハッシュ値受信手段と、
    該ハッシュ値受信手段が受信したハッシュ値の正否を判定するハッシュ値判定手段と
    前記種情報送信手段による種情報の送信から前記ハッシュ値受信手段によるハッシュ値の受信までの時間を計測する計測手段と
    を備え、
    該ハッシュ値判定手段の判定結果に応じて書き換えを検出すると共に、前記計測手段が計測した時間に応じて書き換えを検出するようにしてあること
    を特徴とする書換検出装置。
JP2013195647A 2013-09-20 2013-09-20 書換検出システム、書換検出装置及び情報処理装置 Expired - Fee Related JP6181493B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2013195647A JP6181493B2 (ja) 2013-09-20 2013-09-20 書換検出システム、書換検出装置及び情報処理装置
CN201480051281.1A CN105555615B (zh) 2013-09-20 2014-09-12 改写检测系统以及改写检测装置
DE112014004313.3T DE112014004313T5 (de) 2013-09-20 2014-09-12 Überschreiboperation-Erkennungssystem, Überschreiboperation-Erkennungseinrichtung und Informationsverarbeitungseinrichtung
US14/917,352 US10049232B2 (en) 2013-09-20 2014-09-12 Rewrite detection system, rewrite detection device and information processing device
PCT/JP2014/074188 WO2015041161A1 (ja) 2013-09-20 2014-09-12 書換検出システム、書換検出装置及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013195647A JP6181493B2 (ja) 2013-09-20 2013-09-20 書換検出システム、書換検出装置及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2015058896A JP2015058896A (ja) 2015-03-30
JP6181493B2 true JP6181493B2 (ja) 2017-08-16

Family

ID=52688812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013195647A Expired - Fee Related JP6181493B2 (ja) 2013-09-20 2013-09-20 書換検出システム、書換検出装置及び情報処理装置

Country Status (5)

Country Link
US (1) US10049232B2 (ja)
JP (1) JP6181493B2 (ja)
CN (1) CN105555615B (ja)
DE (1) DE112014004313T5 (ja)
WO (1) WO2015041161A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3101535B1 (en) * 2015-06-01 2022-04-13 OpenSynergy GmbH Method for updating a control unit for an automotive vehicle, control unit for an automotive vehicle, and computer program product
WO2017002611A1 (ja) * 2015-06-30 2017-01-05 日立オートモティブシステムズ株式会社 車両データ書換制御装置および車両データ書換認証システム
KR101694355B1 (ko) * 2015-07-03 2017-01-09 국민대학교산학협력단 전자제어유닛 커넥터, 이를 이용한 전자제어유닛 맵핑 시스템 및 이를 이용한 전자제어유닛 맵핑 방법
WO2017046980A1 (ja) 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP6675271B2 (ja) 2015-09-14 2020-04-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP6684690B2 (ja) 2016-01-08 2020-04-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知方法、監視電子制御ユニット及び車載ネットワークシステム
US9866563B2 (en) * 2016-04-12 2018-01-09 Gaurdknox Cyber Technologies Ltd. Specially programmed computing systems with associated devices configured to implement secure communication lockdowns and methods of use thereof
JP6712538B2 (ja) * 2016-11-14 2020-06-24 日本電信電話株式会社 改竄検知システム
JP6956624B2 (ja) * 2017-03-13 2021-11-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理方法、情報処理システム、及びプログラム
JP7094670B2 (ja) * 2017-07-03 2022-07-04 矢崎総業株式会社 設定装置及びコンピュータ
JP7025200B2 (ja) * 2017-12-22 2022-02-24 株式会社デンソーテン プログラム制御装置、プログラム制御システムおよびプログラム制御方法
FR3076014B1 (fr) * 2017-12-26 2020-09-25 Ledger Controle d'integrite d'un dispositif electronique
JP7363497B2 (ja) 2020-01-14 2023-10-18 富士通株式会社 制御方法、デバイス及び制御システム
US11080387B1 (en) * 2020-03-16 2021-08-03 Integrity Security Services Llc Validation of software residing on remote computing devices
US11979742B2 (en) * 2021-04-22 2024-05-07 Ford Global Technologies, Llc Unauthorized device resource drain prevention
CN113655776B (zh) * 2021-07-26 2022-08-12 深圳市元征信息技术开发有限公司 车辆检测方法、装置、电子设备及存储介质
JP7826705B2 (ja) * 2022-01-18 2026-03-10 富士電機株式会社 生成装置、生成方法、生成プログラム、および更新システム
US20260087139A1 (en) * 2024-09-24 2026-03-26 Denso Corporation Verifier device and remote attestation system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1030257B1 (en) 1999-02-17 2011-11-02 Nippon Telegraph And Telephone Corporation Original data circulation method, system, apparatus, and computer readable medium
KR20020046486A (ko) * 2000-12-14 2002-06-21 박종섭 디브이디상의 미러신호 감지회로
DE10318031A1 (de) * 2003-04-19 2004-11-04 Daimlerchrysler Ag Verfahren zur Sicherstellung der Integrität und Authentizität von Flashware für Steuergeräte
JP2005182509A (ja) * 2003-12-19 2005-07-07 Ntt Docomo Inc 計算機システム並びにデータ改竄検出方法
JP2005242871A (ja) * 2004-02-27 2005-09-08 Denso Corp 通信システム
JP4576936B2 (ja) 2004-09-02 2010-11-10 ソニー株式会社 情報処理装置、情報記録媒体、コンテンツ管理システム、およびデータ処理方法、並びにコンピュータ・プログラム
CN101218588B (zh) 2005-05-05 2010-05-19 塞尔蒂卡姆公司 具有可认证的固件的附件设备及布置和认证该固件的方法
JP4605079B2 (ja) * 2006-04-07 2011-01-05 株式会社デンソー プログラム管理システム
JP2009043085A (ja) 2007-08-09 2009-02-26 Nec Corp 改ざん検出システム、改ざん検出方法、無線ネットワーク制御装置及び携帯電話端末
US8392764B2 (en) * 2009-11-16 2013-03-05 Cooper Technologies Company Methods and systems for identifying and configuring networked devices
JP2011108167A (ja) * 2009-11-20 2011-06-02 Toyota Infotechnology Center Co Ltd コンピューターシステム
JP5671388B2 (ja) 2011-03-24 2015-02-18 富士通テン株式会社 通信システムおよび通信装置
JP5479408B2 (ja) 2011-07-06 2014-04-23 日立オートモティブシステムズ株式会社 車載ネットワークシステム
JP5641244B2 (ja) * 2011-09-12 2014-12-17 トヨタ自動車株式会社 車両用ネットワークシステム及び車両用情報処理方法

Also Published As

Publication number Publication date
WO2015041161A1 (ja) 2015-03-26
JP2015058896A (ja) 2015-03-30
US10049232B2 (en) 2018-08-14
CN105555615A (zh) 2016-05-04
CN105555615B (zh) 2017-11-14
US20160224806A1 (en) 2016-08-04
DE112014004313T5 (de) 2016-07-07

Similar Documents

Publication Publication Date Title
JP6181493B2 (ja) 書換検出システム、書換検出装置及び情報処理装置
JP6342281B2 (ja) 書換検出システム及び情報処理装置
JP6724717B2 (ja) 車載機器判定システム
JP6696468B2 (ja) 車載更新装置及び車載更新システム
JP6641241B2 (ja) 情報共有システム、計算機、及び、情報共有方法
US10397212B2 (en) Information device, data processing system, data processing method, and non-transitory storage medium for executing content upon authentication
CN104572320B (zh) 用于确认校正程序的方法以及信息处理设备
US10229547B2 (en) In-vehicle gateway device, storage control method, and computer program product
CN101420427B (zh) 密码加密模块选择设备
US10110377B2 (en) Communication system and key information sharing method
US20190207813A1 (en) Device provisioning system
JP6190188B2 (ja) 情報配信システムおよびそれに用いるサーバ、車載端末、通信端末
KR100823738B1 (ko) 컴퓨팅 플랫폼의 설정 정보를 은닉하면서 무결성 보증을제공하는 방법
CN104955680A (zh) 访问限制装置、车载通信系统及通信限制方法
CN103778367A (zh) 基于应用证书来检测应用安装包的安全性的方法、终端以及辅助服务器
US11935341B2 (en) Data storage device and non-transitory tangible computer readable storage medium
JP2013060047A (ja) 車両用ネットワークシステム及び車両用情報処理方法
US20180310173A1 (en) Information processing apparatus, information processing system, and information processing method
JP2018073245A (ja) 検査装置、検査システム、情報処理装置、検査方法およびコンピュータプログラム
JP7494944B2 (ja) ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム
KR102528678B1 (ko) 원격 검증 관리 장치 및 방법
US10621334B2 (en) Electronic device and system
JP2019149103A (ja) データ処理装置、測定システムおよびデータ処理用プログラム
CN121814338A (zh) 数据传输方法、装置、系统、设备及计算介质
CN121397024A (zh) 车辆诊断方法、电子设备、存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170208

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: 20170627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170720

R150 Certificate of patent or registration of utility model

Ref document number: 6181493

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees