JP2017092807A - 検査装置、通信システム、移動体および検査方法 - Google Patents

検査装置、通信システム、移動体および検査方法 Download PDF

Info

Publication number
JP2017092807A
JP2017092807A JP2015223105A JP2015223105A JP2017092807A JP 2017092807 A JP2017092807 A JP 2017092807A JP 2015223105 A JP2015223105 A JP 2015223105A JP 2015223105 A JP2015223105 A JP 2015223105A JP 2017092807 A JP2017092807 A JP 2017092807A
Authority
JP
Japan
Prior art keywords
data
ecu
electronic device
verification
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
JP2015223105A
Other languages
English (en)
Other versions
JP6502832B2 (ja
Inventor
雄一 駒野
Yuichi Komano
雄一 駒野
川端 健
Ken Kawabata
健 川端
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2015223105A priority Critical patent/JP6502832B2/ja
Priority to US15/262,162 priority patent/US10255428B2/en
Publication of JP2017092807A publication Critical patent/JP2017092807A/ja
Application granted granted Critical
Publication of JP6502832B2 publication Critical patent/JP6502832B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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/3271Cryptographic 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 challenge-response
    • H04L9/3278Cryptographic 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 challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Small-Scale Networks (AREA)
  • Quality & Reliability (AREA)

Abstract

【課題】電子機器が記憶する共有データまたは共有データの生成に用いるデータを適切に検査できるようにする。【解決手段】車載ゲートウェイ装置(GW)10は、ECUと共有する事前共有鍵を用いてECU(電子制御装置)に配布するセッション鍵を暗号化した暗号化データを生成する生成部130と、暗号化データをECUに送信するセッション鍵送信部121と、ECUが記憶する事前共有鍵を用いて暗号化データからセッション鍵が正しく復元できたか否かに応じて、ECUが記憶する事前共有鍵が正常か否かを判定する判定部140と、を備える。【選択図】図3

Description

本発明の実施形態は、検査装置、通信システム、移動体および検査方法に関する。
例えば、自動車などの移動体には、各種機器を制御するための様々な電子制御装置(ECU:Electronic Control Unit)が搭載されている。これらのECUは、例えばCAN(Controller Area Network)などのネットワークに接続され、ネットワークを介して信号を送受信しながら自動車の制御を行っている。
ECUなどの電子機器が接続されるネットワークでは、誤った制御が行われないようにするために、通信の正当性が保証されることが極めて重要となる。通信の正当性を保証するには、暗号技術の利用が有効である。例えば、通信を行う電子機器同士が共有すべき暗号鍵などのデータを正しく共有していれば、このデータを用いて通信の認証を行ったり、通信内容の秘匿や改竄検知などを行ったりすることができる。
しかし、特に自動車などの移動体に搭載される電子機器は過酷な使用環境に晒されることが多く、電子機器が記憶する暗号鍵などの共有データが破損することも想定される。そして、電子機器が記憶する共有データが破損すると、通信の正当性を保証できなくなる虞がある。このため、電子機器が記憶する共有データを適切に検査できるようにすることが求められる。
特許第5772692号公報
本発明が解決しようとする課題は、電子機器が記憶する共有データまたは共有データの生成に用いるデータを適切に検査することができる検査装置、通信システム、移動体および検査方法を提供することである。
実施形態の検査装置は、電子機器とネットワークを介して接続される検査装置であって、生成部と、送信部と、判定部と、を備える。生成部は、前記電子機器と共有する第1データと所定の第2データとから計算される第3データを生成する。送信部は、前記第3データを前記電子機器に送信する。判定部は、前記電子機器の前記第1データを用いて前記第3データから前記第2データが正しく復元できたか否かに応じて、前記電子機器の前記第1データが正常か否かを判定する。
車載ネットワークシステムの概要を示す模式図。 GWのハードウェア構成例を示すブロック図。 第1実施形態のGWの機能的な構成例を示すブロック図。 グループ管理情報の一例を示す図。 第1実施形態のECUの機能的な構成例を示すブロック図。 第1実施形態の処理手順の一例を示すフローチャート。 第2実施形態のGWの機能的な構成例を示すブロック図。 第2実施形態のECUの機能的な構成例を示すブロック図。 第2実施形態の処理手順の一例を示すフローチャート。 第3実施形態のGWの機能的な構成例を示すブロック図。 第3実施形態のECUの機能的な構成例を示すブロック図。 第3実施形態の処理手順の一例を示すフローチャート。
実施形態の検査装置は、例えば、移動体の一例である自動車に搭載される車載ネットワークシステム(通信システム)に適用できる。以下では、車載ネットワークシステムに含まれる車載ゲートウェイ装置(以下、「GW」と略称する)を実施形態の検査装置として構成した例を説明する。ただし、適用可能な装置やシステムは以下の例に限らない。実施形態の検査装置は、通信の送信側と受信側とで共有する暗号鍵などのデータを用いて通信の正当性を保証することが求められる様々な通信システムにおいて広く適用可能である。
<第1実施形態>
図1は、車載ネットワークシステム1の概要を示す模式図である。この車載ネットワークシステム1は、図1に示すように、検査装置として構成されるGW10と、自動車Vに搭載される電子機器である各種のECU20とが、ネットワークを介して接続された構成である。本実施形態のGW10は、車載ネットワークシステム1内のサブネットワーク間の通信を中継したり、車載ネットワークシステム1と車外のネットワークとの間の通信を中継したりといった本来のゲートウェイとしての機能に加えて、通信するECU20同士が共有している事前共有鍵を検査する機能を有する。なお、車載ネットワークシステム1の通信規格としては、例えば、CANやFlexRay(登録商標)など、車載ネットワークの規格として公知のものを利用できる。
複数のECU20が連携して自動車Vの制御を実施する場合、これら複数のECU20はネットワークを介した通信を行って制御信号を送受信する。ここでいう制御信号は、自動車Vの制御を実施するためにECU20間で送受信される信号の総称である。ECU20間で制御信号を送受信する際には、誤った制御が行われないようにするために、ECU20間の通信の正当性が保証される必要がある。通信の正当性を保証する方法は様々あるが、例えば自動車Vの走行中におけるECU20間の通信はリアルタイム性が要求されるため、通信の正当性を保証するための処理に時間をかけることができない。そこで本実施形態では、通信の認証を短時間で行うことができるMAC(Message Authentication Code)の認証技術を利用して、ECU20間の通信の正当性を保証するものとする。
MACの認証技術は、認証に必要なMAC値を導出するために、送信側と受信側とで共有する事前共有鍵または事前共有鍵から派生するセッション鍵を利用する。本実施形態では、GW10が、通信するECU20のそれぞれに対して、例えばMAC値の導出に用いるセッション鍵を配布する際に、通信するECU20同士が共有する事前共有鍵の検査を行うものとする。
車載ネットワークシステム1のノードとしてネットワークに接続される各種ECU20は、例えば、ブレーキに関する制御信号を送信または受信するECU20のグループ、車速に関する制御信号を送信または受信するECU20のグループといったように、送受信する制御信号の種類に応じてグループ分けすることができる。ここでいうグループは、送受信する制御信号の種類に応じた概念的な分類であり、ネットワーク上を流れる制御信号は、その制御信号に対応するグループに属するECU20が送信または受信し、そのグループに属さないECU20は送信も受信もしないことを意味する。1つのECU20が複数種類の制御信号を送信または受信する場合は、そのECU20が複数のグループに属することもある。また、複数種類の制御信号を送信または受信する複数のECU20を1つのグループに分類することもある。
本実施形態の車載ネットワークシステム1では、同じグループに属するECU20同士が同じ事前共有鍵を共有する。事前共有鍵は、例えば、車載ネットワークシステム1を搭載する自動車Vの組み立て時や出荷時などに、作業者によって各ECU20に設定されてもよいし、GW10がネットワークを通じて各ECU20に配布する構成であってもよい。GW10は、これらECU20のグループごとに設定される事前共有鍵を管理している。つまり、GW10は各ECU20と事前共有鍵を共有している。そして、自動車Vが出荷されて実際に運転を開始するタイミング、例えば自動車Vのイグニッションキーがオンされたときなどに、GW10が、グループごとの事前共有鍵から派生するセッション鍵を各ECU20に配布する。この際、GW10は、セッション鍵の配布を通じて各ECU20が記憶する事前共有鍵の検査を行う。そして、事前共有鍵が異常であると判定されたECU20が見つかると、GW10はエラー信号を出力して適切な対応を促すようにしている。
本実施形態では、GW10が管理するグループごとの事前共有鍵が「第1データ」に相当し、GW10が各ECU20に配布するセッション鍵が「第2データ」に相当し、事前共有鍵を用いてセッション鍵を暗号化した暗号化データが「第3データ」に相当する。
図2は、GW10のハードウェア構成例を示すブロック図である。GW10は、例えば図2に示すように、ネットワークI/F11と、マイクロコントローラ12と、を備える。ネットワークI/F11は、GW10をネットワークに接続するインタフェースである。マイクロコントローラ12は、コンピュータシステムを集積回路として組み込んだものであり、コンピュータシステム上で動作するプログラム(ソフトウェア)に従って様々な制御を実行する。GW10は、マイクロコントローラ12がネットワークI/F11を利用しながらプログラムに応じた制御を実行することにより、事前共有鍵の検査に関わる各種の機能を実現する。
図3は、本実施形態のGW10の機能的な構成例を示すブロック図である。本実施形態のGW10は、事前共有鍵の検査に関わる機能的な構成要素として、例えば図3に示すように、記憶部110と、送受信部120と、生成部130と、判定部140と、エラー出力部150と、を備える。
記憶部110は、グループ管理情報を記憶する。グループ管理情報は、上述したECU20のグループごとに設定される事前共有鍵を管理するための情報である。図4は、記憶部110が記憶するグループ管理情報の一例を示す図である。この図4のグループ管理情報30は、グループに割り当てられたグループIDに対応付けて、そのグループに属するECU20それぞれに割り当てられた機器IDの集合と、そのグループに対して設定された事前共有鍵とを格納している。事前共有鍵を更新する場合は、新たな事前共有鍵がグループに属するECU20に配布されるとともに、グループ管理情報30の事前共有鍵が新たな事前共有鍵に書き換えられる。
送受信部120は、GW10がネットワークを介してECU20と通信するモジュールであり、サブモジュールとして、セッション鍵送信部121と、検証結果受信部122と、を含む。
セッション鍵送信部121は、後述の生成部130が生成した暗号化データ(セッション鍵を事前共有鍵で暗号化したデータ)と、ECU20が事前共有鍵を用いて暗号化データを復号することによって復元したセッション鍵の正しさを検証するための検証用データとを、グループ単位で各ECU20に送信する。例えば、セッション鍵送信部121は、暗号化データおよび検証用データに対してグループIDを付加してネットワーク上にブロードキャストする処理を、グループ数分繰り返す。ネットワークに接続されている各ECU20は、GW10のセッション鍵送信部121により送信される暗号化データおよび検証用データに付加されたグループIDが、自身が属するグループに対応したものである場合に、その暗号化データおよび検証用データを受信する。
なお、セッション鍵送信部121が暗号化データおよび検証用データに対して付加するデータは、ECU20がネットワーク上にブロードキャストされた暗号化データおよび検証用データを受信すべきか否かを判断できるデータであればよく、グループIDに限らない。例えば、グループIDの代わりにグループに属するECU20間で送受信される上述の制御信号を付加してもよいし、グループに属するECU20の機器IDの集合を付加してもよい。また、暗号化データと検証用データは必ずしも同時に送信する必要はなく、暗号化データと検証用データとを異なるタイミングで送信してもよい。
検証結果受信部122は、ECU20が検証用データを用いてセッション鍵の正しさを検証した結果を示す検証結果データを各ECU20から受信する。検証結果データは、復元したセッション鍵が正しかったことを示す検証成功と、復元したセッション鍵が正しくなかったことを示す検証失敗との2値をとる。
生成部130は、GW10がECU20に配布するセッション鍵を生成する。また、生成部130は、生成したセッション鍵を、そのセッション鍵を配布するECU20のグループ(以下、「対象グループ」という)に対して設定された事前共有鍵を用いて暗号化し、暗号化データを生成する。また、生成部130は、ECU20が事前共有鍵を用いて暗号化データを復号することによって復元したセッション鍵の正しさを検証するための検証用データを生成する。これら生成部130が生成した暗号化データおよび検証用データが、セッション鍵送信部121から各ECU20に送信される。
検証用データとしては、セッション鍵のハッシュ値や、GW10とECU20の双方が記憶する所定の値をセッション鍵により暗号化した値などを用いることができる。検証用データとしてセッション鍵のハッシュ値を用いる場合、ECU20は、自身が記憶する事前共有鍵を用いて暗号化データを復号することで復元したセッション鍵のハッシュ値を算出し、この算出したハッシュ値がGW10から送信されたハッシュ値と一致するか否かを判定することで、復元したセッション鍵が正しいかどうかを検証することができる。また、検証用データとして所定の値をセッション鍵により暗号化した値を用いる場合、ECU20は、自身が記憶する事前共有鍵を用いて暗号化データを復号することで復元したセッション鍵を用いて所定の値を暗号化し、得られた値がGW10から送信された値と一致するか否かを判定することで、復元したセッション鍵が正しいかどうかを検証することができる。
判定部140は、検証結果受信部122がECU20から受信した検証結果データに基づいて、ECU20が記憶している事前共有鍵が正常か否かを判定する。すなわち、判定部140は、検証結果受信部122がECU20から受信した検証結果データが検証成功である場合、このECU20が記憶している事前共有鍵は正常であると判定する。一方、判定部140は、検証結果受信部122がECU20から受信した検証結果データが検証失敗である場合、このECU20が記憶している事前共有鍵は異常であると判定する。
検証結果受信部122がECU20から受信した検証結果データは、上述したように、ECU20が自身の記憶する事前共有鍵を用いて暗号化データを復号することにより復元したセッション鍵が正しいかどうかの検証結果を示している。ここで、ECU20が記憶する事前共有鍵が正常であれば、この事前共有鍵を用いてセッション鍵を正しく復元できるため、検証結果データは検証成功となる。一方、ECU20が記憶する事前共有鍵に異常があれば、この事前共有鍵を用いてセッション鍵の復元を試みても、セッション鍵を正しく復元できないため、検証結果データは検証失敗となる。したがって、検証結果データが検証成功か検証失敗かにより、ECU20が記憶する事前共有鍵が正常か否かを判定することができる。本実施形態では、このように、ECU20から受信した検証結果データが検証成功か検証失敗か、つまり、ECU20に配布するセッション鍵が正しくECU20で復元できたか否かに応じて、ECU20が記憶する事前共有鍵が正常か否かを判定するようにしている。
また、判定部140は、車載ネットワークシステム1のノードとして接続されたECU20のそれぞれに対して以上のような事前共有鍵の検査を行った結果、事前共有鍵が異常であると判定されたECU20の数が所定の第1閾値以下であるか否かを判定することが望ましい。この第1閾値は、事前共有鍵の異常が少数のECU20で限定的に生じているか、広範囲に及んでいるかを分別するための閾値である。事前共有鍵の異常が少数のECU20で限定的に生じている場合は、ECU20側に異常が発生していると判断できるが、広範囲に及んでいる場合は、GW10側の異常、あるいは、ネットワークの一時的な障害によりECU20側でセッション鍵を正しく復元できないことも想定される。事前共有鍵が異常であると判定されたECU20の数が第1閾値以下であるか否かを判定部140が判定することにより、ECU20側に異常が発生したか否かを正しく判断することができる。
この場合、判定部140は、事前共有鍵が異常であると判定されたECU20の数を、例えば記憶部110などに一時的に記憶される異常カウンタを用いてカウントする。すなわち、判定部140は、ECU20に対する事前共有鍵の検査を開始する際に、まず、記憶部110が保持する異常カウンタを0にセットし、検証結果受信部122が検証失敗の検証結果データを受信するたびに、異常カウンタをインクリメント(+1)する。そして、判定部140は、例えば、検証結果受信部122がすべてのECU20から検証結果データを受信した後、記憶部110が保持する異常カウンタの値を参照し、このカウンタ値を第1閾値と比較することにより、事前共有鍵が異常であると判定されたECU20の数が第1閾値以下であるか否かを判定することができる。
エラー出力部150は、ECU20が記憶している事前共有鍵が異常であると判定部140により判定された場合に、エラー信号を出力する。エラー出力部150は、例えば、自動車Vに設けられたディスプレイパネルなどにエラー信号を出力することができる。この場合、ディスプレイパネルは、エラー出力部150から入力したエラー信号に基づいて、例えば、自動車VのいずれかのECU20が正常に通信できない状態にあることを示すエラーメッセージなどを表示する。これにより、自動車Vのドライバなどに異常を知らせ、適切な対応を促すことができる。また、異常が生じたECU20の機器IDや、このECU20が属するグループのグループIDなど、異常が生じたECU20を特定するための情報をエラー信号に付加し、自動車VのどのECU20において異常が発生したか、どのグループのECU20に異常が発生したかといった情報をディスプレイパネルに併せて表示させるように構成してもよい。
また、エラー出力部150は、自動車Vに設けられた警告インジケータなどにエラー信号を出力してもよい。この場合、警告インジケータは、エラー出力部150から入力したエラー信号に基づいて、光源を点灯あるいは点滅させる。これにより、自動車Vのドライバなどに異常を知らせて、適切な対応を促すことができる。
また、エラー出力部150は、GW10の外部入出力端子や車載ネットワークシステム1を介してGW10に接続されたメンテナンスツールにエラー信号を出力する構成としてもよい。すなわち、自動車Vのメンテナンス時などに、メンテナンス作業員が使用するメンテナンスツールがGW10に接続された状態でGW10によるセッション鍵の配布が実施される場合、エラー出力部150は、上記のエラー信号をメンテナンスツールに出力する。この場合、メンテナンスツールは、エラー出力部150から入力したエラー信号に基づいて、例えば、自動車VのいずれかのECU20が正常に通信できない状態にあることを示すエラーメッセージや、自動車VのどのECU20において異常が発生したか、どのグループのECU20に異常が発生したかといった情報などを表示する。これにより、自動車Vのメンテナンスを行うメンテナンス作業員にECU20の異常を知らせ、適切な対応を促すことができる。
事前共有鍵が異常であると判定されたECU20の数が第1閾値以下であるか否かを判定部140が判定する構成とした場合、エラー出力部150は、事前共有鍵が異常であると判定されたECU20の数が第1閾値以下であれば第1エラー信号を出力し、事前共有鍵が異常であると判定されたECU20の数が第1閾値を超える場合は第2エラー信号を出力する。ここで、第1エラー信号は、ECU20側に異常があることを示すエラー信号であり、第2エラー信号は、ECU20以外、例えばGW10やネットワークに異常があることを示すエラー信号である。
このとき、エラー出力部150は、事前共有鍵が異常であると判定されたECU20の数が第1閾値を超えると判定部140により判定された場合に、すぐに第2エラー信号を出力するのではなく、各ECU20に対する上述した事前共有鍵の検査を再試行(リトライ)することを送受信部120、生成部130および判定部140に指示することが望ましい。そして、事前共有鍵が異常であると判定されたECU20の数が第1閾値を超えた回数が所定の第2閾値に達するまではリトライを繰り返し、事前共有鍵が異常であると判定されたECU20の数が第1閾値を超えた回数が第2閾値に達したときに、第2エラー信号を出力することが望ましい。ここでの第2閾値は、ネットワークの一時的な障害による検査不良の影響を排除するためのものである。つまり、リトライを行っても、事前共有鍵が異常であると判定されたECU20の数が繰り返し第1閾値を超える場合は、ネットワークの一時的な障害に起因したものではないと判断できる。
この場合、エラー出力部150は、事前共有鍵が異常であると判定されたECU20の数が第1閾値を超えた回数を、例えば記憶部110などに一時的に記憶される回数カウンタを用いてカウントする。すなわち、エラー出力部150は、ECU20に対する事前共有鍵の検査を開始する際に、まず、記憶部110が保持する回数カウンタを0にセットする。そして、事前共有鍵が異常であると判定されたECU20の数が第1閾値を超えたと判定されるたびに、回数カウンタをインクリメント(+1)し、インクリメントした回数カウンタの値を第2閾値と比較することにより、事前共有鍵が異常であると判定されたECU20の数が第1閾値を超えた回数が第2閾値に達したか否かを判定することができる。
次に、本実施形態のECU20の概要を説明する。図5は、本実施形態のECU20の機能的な構成例を示すブロック図である。本実施形態のECU20は、事前共有鍵の検査に関わる機能的な構成要素として、例えば図5に示すように、送受信部210と、検証部220と、記憶部230と、を備える。
送受信部210は、ECU20がネットワークを介してGW10と通信するモジュールであり、サブモジュールとして、セッション鍵受信部211と、検証結果送信部212と、を含む。
セッション鍵受信部211は、GW10のセッション鍵送信部121が送信した暗号化データおよび検証用データに付加されたグループIDが、当該ECU20が属するグループに対応したものである場合に、その暗号化データおよび検証用データを受信する。なお、暗号化データおよび検証用データに制御信号が付加されている場合は、セッション鍵受信部211は、その制御信号が、当該ECU20が他のECU20との間で送受信する制御信号であれば、暗号化データおよび検証用データを受信する。また、暗号化データおよび検証用データに機器IDの集合が付加されている場合は、セッション鍵受信部211は、その機器IDの集合に、当該ECU20に割り当てられた機器IDが含まれていれば、暗号化データおよび検証用データを受信する。
検証結果送信部212は、検証部220による検証結果を示す検証結果データ、つまり、復元したセッション鍵が正しかったことを示す検証成功、あるいは、復元したセッション鍵が正しくなかったことを示す検証失敗をGW10に送信する。
検証部220は、セッション鍵受信部211が受信した暗号化データを、記憶部230が記憶する事前共有鍵を用いて復号し、GW10が配信するセッション鍵を復元する。そして、検証部220は、セッション鍵受信部211が受信した検証用データを用いて、復元したセッション鍵が正しいかどうかを検証し、復元したセッション鍵が正しい場合、復元したセッション鍵を記憶部230に格納する。また、検証部220は、セッション鍵の正しさを検証した結果を送受信部210に通知する。これにより、検証部220による検証結果を示す検証結果データが、検証結果送信部212からGW10に送信される。
記憶部230は、GW10から配布された事前共有鍵やセッション鍵などを記憶する。事前共有鍵やセッション鍵の更新時には、この記憶部230が記憶する事前共有鍵やセッション鍵が、GW10から新たに配布された事前共有鍵やセッション鍵に書き換えられる。
次に、図6を参照しながら、本実施形態における事前共有鍵の検査に関わるGW10およびECU20の動作例について説明する。図6は、本実施形態の処理手順の一例を示すフローチャートである。この図6のフローチャートで示す一連の処理手順は、例えば、自動車Vのイグニッションスイッチがオンされたタイミング、あるいは、自動車Vのイグニッションスイッチがオフされたタイミング、あるいは、GW10の外部入出力端子や車載ネットワークシステム1を介してGW10にメンテナンスツールが接続されたタイミングなど、予め定めた所定のタイミングで実施される。
処理が開始されると、まず、GW10のエラー出力部150が回数カウンタを0に設定するとともに(ステップS101)、GW10の判定部140が異常カウンタを0に設定する(ステップS102)。
次に、GW10の生成部130が、対象グループを選択する(ステップS103)。そして、生成部130は、選択した対象グループに属するECU20に配布するセッション鍵を生成するとともに、対象グループに対応する事前共有鍵を用いてセッション鍵を暗号化し、暗号化データを生成する(ステップS104)。さらに、生成部130は、生成したセッション鍵に基づいて、ECU20が復元したセッション鍵の正しさを検証するための検証用データを生成する(ステップS105)。そして、GW10のセッション鍵送信部121が、生成部130により生成された暗号化データおよび検証用データにグループIDを付加してネットワーク上に送信する(ステップS106)。
GW10のセッション鍵送信部121が送信した暗号化データおよび検証用データは、対象グループに属するECU20のセッション鍵受信部211によって受信される(ステップS201)。そして、暗号化データおよび検証用データを受信したECU20の検証部220は、記憶部230が記憶する事前共有鍵を用いて、セッション鍵受信部211が受信した暗号化データを復号し、GW10から配布されたセッション鍵を復元する(ステップS202)。さらに、検証部220は、セッション鍵受信部211が受信した検証用データを用いて、復元したセッション鍵が正しいかどうかを検証する(ステップS203)。そして、ECU20の検証結果送信部212が、検証部220による検証結果を示す検証結果データをGW10に送信する(ステップS204)。
ECU20の検証結果送信部212が送信した検証結果データは、GW10の検証結果受信部122によって受信される(ステップS107)。そして、検証結果受信部122により検証結果データが受信されると、GW10の判定部140は、検証結果データにより示される検証結果が検証失敗か否かを判定し(ステップS108)、検証結果が検証失敗であれば(ステップS108:Yes)、異常カウンタをインクリメントする(ステップS109)。なお、検証結果が検証成功であれば(ステップS108:No)、異常カウンタの値はそのまま維持される。
次に、判定部140は、全てのグループが対象グループとして選択されたか否かを判定する(ステップS110)。ここで、対象グループとして選択されていないグループがあれば(ステップS110:No)、ステップS103に戻って以降の処理が繰り返される。一方、全てのグループが対象グループとして選択された場合は(ステップS110:Yes)、判定部140は、異常カウンタの値が0となっているかどうかを確認する(ステップS111)。ここで、異常カウンタの値が0となっている場合は(ステップS111:Yes)、事前共有鍵に異常が生じたECU20がないため、処理を終了する。
一方、異常カウンタの値が0でない場合は(ステップS111:No)、判定部140は、異常カウンタの値が第1閾値以下であるか否かを判定する(ステップS112)。ここで、異常カウンタの値が第1閾値以下であれば(ステップS112:Yes)、エラー出力部150が、ECU20側に異常があることを示す第1エラー信号を出力して(ステップS113)、処理を終了する。
一方、異常カウンタの値が第1閾値を超える場合は(ステップS112:No)、エラー出力部150は、回数カウンタをインクリメントして(ステップS114)、回数カウンタの値が第2閾値に達したか否かを判定する(ステップS115)。ここで、回数カウンタの値が第2閾値に達していなければ(ステップS115:No)、エラー出力部150によりリトライが指示され、ステップS102に戻って以降の処理が繰り返される。一方、回数カウンタの値が第2閾値に達すると(ステップS115:Yes)、エラー出力部150は、GW10やネットワークに異常があることを示す第2エラー信号を出力して(ステップS116)、処理を終了する。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態の車載ネットワークシステム1では、GW10が、事前共有鍵を用いてセッション鍵を暗号化した暗号化データと、ECU20が事前共有鍵を用いて暗号化データを復号することで復元したセッション鍵が正しいかどうかを検証するための検証用データとをECU20に送信する。そして、GW10は、ECU20が検証用データを用いてセッション鍵の正しさを検証した結果を示す検証結果データを受信し、この検証結果データに基づいて、ECU20が記憶する事前共有鍵が正常か否かを判定し、事前共有鍵が異常であると判定した場合に、エラー信号を出力するようにしている。このように、本実施形態によれば、ECU20が記憶する事前共有鍵を適切に検査することができる。そして、ECU20が記憶する事前共有鍵が異常であれば、エラー信号を出力することで、例えば自動車Vのドライバやメンテナンス作業員などに適切な対応を促すことができる。
また、本実施形態によれば、事前共有鍵が異常であると判定されたECU20の数が第1閾値以下であれば、ECU20側に異常があることを示す第1エラー信号を出力し、事前共有鍵が異常であると判定されたECU20の数が第1閾値を超えていれば、GW10やネットワークに異常があることを示す第2エラー信号を出力するように、GW10を構成することにより、GW10やネットワークの異常をECU20の異常として報知することを防止できる。
また、本実施形態によれば、事前共有鍵が異常であると判定されたECU20の数が第1閾値を超える回数が第2閾値に達したときに第2エラー信号を出力するように、GW10を構成することにより、ネットワークの一時的な障害、つまり時間経過により復旧する障害により正しい検査が行えなかった場合に、GW10やネットワークの異常を報知することを防止できる。
<変形例>
以上説明した第1実施形態では、GW10が、ECU20から受信した検証用データが検証失敗である場合に、このECU20が記憶する事前共有鍵が異常であると判定しているが、事前共有鍵が異常であると判定されたECU20の利用環境に関する情報に基づいて、事前共有鍵が異常となる可能性の高い他のECU20を特定するように構成してもよい。この場合、各ECU20の利用環境に関する情報を、例えばGW10の記憶部110などに記憶しておく。そして、GW10は、事前共有鍵が異常であると判定されたECU20の利用環境に関する情報に基づいて、同様の利用環境で使用されている他のECU20を、事前共有鍵が異常となる可能性の高いECU20として特定する。
具体的には、例えば、ECU20の利用環境に関する情報としてECU20が配置される位置情報(自動車V内における位置)を記憶する場合、GW10は、事前共有鍵が異常であると判定されたECU20の近くに配置される他のECU20(自動車V内の同一のエリアに配置される他のECU20や、距離が所定値以下となる他のECU20)を、事前共有鍵が異常となる可能性の高いECU20として特定する。また、ECU20の利用環境に関する情報としてECU20の使用条件に関する情報を記憶する場合、GW10は、事前共有鍵が異常であると判定されたECU20と使用条件が類似する他のECU20を、事前共有鍵が異常となる可能性の高いECU20として特定する。これにより、当該ECU20における事前共有鍵の異常を未然に検知して、事前共有鍵を更新やECU20の修理あるいは交換などを行うことができる。
また、図6に示した本実施形態の処理手順の例では、ステップS110で全てのグループが対象グループとして選択されたと判定された後に、異常カウンタの値や回数カウンタの値に応じた処理(ステップS111〜ステップS116)を行うようにしているが、これらの処理をグループ単位で行うようにしてもよい。すなわち、GW10は、ステップS108:NoあるいはステップS109の後にステップS111以降の処理を実行する。そして、GW10は、ステップS111:Yes、またはステップS113の後、またはステップS116の後に、全てのグループが対象グループとして選択されたか否かを判定し、全てのグループが対象グループとして選択されていれば処理を終了し、そうでなければステップS103に戻って以降の処理を繰り返す。これにより、GW10やネットワークに異常がある場合に、全てのグループに対する検査を行わずとも、これらの異常を報知できる。
また、上述の第1実施形態では、ECU20の事前共有鍵が異常であると判定した場合にエラー信号を出力するようにしているが、事前共有鍵が異常であると判定されたECU20が属するグループの事前共有鍵を更新する構成としてもよい。また、事前共有鍵が異常となる可能性の高いECU20を特定した場合に、そのECU20が属するグループの事前共有鍵を併せて更新するようにしてもよい。
事前共有鍵の更新に際して、GW10が各ECU20に事前共有鍵を安全に配布するために、例えば、GW10がECU20に対して過去に配布し、ECU20が正しく復元して記憶しているセッション鍵を利用することができる。つまり、上述の第1実施形態では、所定のタイミングで繰り返されるセッション鍵の配布を通じて事前共有鍵を検査するようにしているため、事前共有鍵の検査時にはそれまでのセッション鍵をGW10とECU20とが共有している。つまり、ECU20は過去に正しく復元したセッション鍵を記憶している。GW10は、新たに生成した事前共有鍵を、このような過去のセッション鍵を用いて暗号化し、これにより得られた暗号化データ(第4データ)をECU20に送信する。ECU20は、GW10から受信した暗号化データを、過去のセッション鍵を用いて復号することで、GW10によって新たに生成された事前共有鍵を復元する。そして、異常と判定されたそれまでの事前共有鍵を、この新たな事前共有鍵により更新する。
また、上述の第1実施形態では、GW10が、ECU20に送信する暗号化データおよび検証用データにグループIDを付加してネットワーク上にブロードキャストしているが、ECU20に対する暗号化データおよび検証用データの送信を、このようなグループごとに行うのではなく、ECU20ごとに個別に行う構成としてもよい。
また、上述の第1実施形態では、GW10が、ECU20に対してセッション鍵を配布する際に、ECU20が記憶する事前共有鍵を検査するようにしているが、これに限らない。例えば、GW10は、ECU20が記憶する事前共有鍵が正常か否かを判定するために任意のデータをランダムあるいは所定の規則に従って選択し、事前共有鍵を用いてこのデータを暗号化した暗号化データと、このデータに基づいて生成した検証用データとをECU20に送信するようにしてもよい。この場合、ECU20は、自身が記憶する事前共有鍵を用いてGW10から受信した暗号化データを復号することにより、GW10が選択した任意のデータを復元し、GW10から受信した検証用データを用いて、復元した任意のデータが正しいかどうかを検証する。この場合も、ECU20において任意のデータが正しく復元できたか否かにより、ECU20が記憶する事前共有鍵が正常か否かを判定することができる。
また、上述の第1実施形態では、ECU20が記憶する事前共有鍵を検査の対象としているが、これに限らない。上述した手法は、ECU20が記憶するGW10との共有データを検査する手法として、広く適用することができる。
<第2実施形態>
次に、第2実施形態について説明する。第2実施形態は、ECU20が復元したセッション鍵が正しいか否かをGW10側で検証する点が上述の第1実施形態と異なる。つまり、第1実施形態ではGW10が生成した検証用データに基づいてECU20側で検証を行っていたが、本実施形態では、ECU20が生成した検証用データに基づいて、ECU20が復元したセッション鍵が正しいか否かをGW10側で検証する。以下では、第1実施形態と共通する構成については同一の符号を付して重複した説明を適宜省略し、本実施形態に特徴的な部分についてのみ説明する。なお、以下では本実施形態のGW10を第1実施形態と区別してGW10Aと表記し、本実施形態のECU20を第1実施形態と区別してECU20Aと表記する。
図7は、本実施形態のGW10Aの機能的な構成例を示すブロック図である。本実施形態のGW10Aは、事前共有鍵の検査に関わる機能的な構成要素として、例えば図7に示すように、記憶部110と、送受信部120Aと、生成部130Aと、検証部160と、判定部140Aと、エラー出力部150と、を備える。このうち、記憶部110およびエラー出力部150は第1実施形態と共通のため、説明を省略する。
送受信部120Aは、GW10Aがネットワークを介してECU20Aと通信するモジュールであり、サブモジュールとして、セッション鍵送信部121Aと、検証用データ受信部123と、を含む。
セッション鍵送信部121Aは、第1実施形態のGW10におけるセッション鍵送信部121と同様に、ECU20Aに配布するセッション鍵を事前共有鍵で暗号化した暗号化データを送信するが、検証用データの送信は行わない。
検証用データ受信部123は、ECU20Aにおいて生成された検証用データを、ECU20Aから受信する。
生成部130Aは、第1実施形態のGW10における生成部130と同様に、GW10AがECU20Aに配布するセッション鍵を生成するとともに、ECU20Aと共有する事前共有鍵を用いてセッション鍵を暗号化することで暗号化データを生成する。ただし、本実施形態の生成部130Aは、ECU20Aで復元されたセッション鍵が正しいかどうかを検証するための検証用データの生成は行わない。生成部130が生成した暗号化データは、セッション鍵送信部121AからECU20Aに送信される。
検証部160は、検証用データ受信部123がECU20Aから受信した検証用データを用いて、ECU20Aが復元したセッション鍵が正しいかどうかを検証する。ここで、検証用データ受信部123がECU20Aから受信した検証用データは、例えば、ECU20Aが復元したセッション鍵のハッシュ値や、GW10AとECU20Aの双方が記憶する所定の値をECU20Aが復元したセッション鍵により暗号化した値などである。ECU20Aが復元したセッション鍵のハッシュ値を検証用データとして用いる場合、検証部160は、生成部130Aが生成したセッション鍵のハッシュ値を算出し、この算出したハッシュ値が、検証用データ受信部123がECU20Aから受信した検証用データと一致するか否かを判定することで、ECU20Aが復元したセッション鍵が正しいかどうかを検証することができる。また、ECU20Aが復元したセッション鍵により所定の値を暗号化した値を検証用データとして用いる場合、検証部160は、生成部130Aが生成したセッション鍵を用いて所定の値を暗号化し、得られた値が、検証用データ受信部123がECU20Aから受信した検証用データと一致するか否かを判定することで、ECU20Aが復元したセッション鍵が正しいかどうかを検証することができる。
判定部140Aは、検証部160による検証結果に基づいて、ECU20Aが記憶している事前共有鍵が正常か否かを判定する。すなわち、判定部140Aは、検証部160による検証結果が検証成功である場合、つまり、ECU20Aが復元したセッション鍵が正しい場合、このECU20Aが記憶している事前共有鍵は正常であると判定する。一方、判定部140Aは、検証部160による検証結果が検証失敗である場合、つまり、ECU20Aが復元したセッション鍵が正しくない場合、このECU20Aが記憶している事前共有鍵は異常であると判定する。なお、本実施形態の判定部140Aは、検証部160による検証結果に基づいてECU20Aが記憶している事前共有鍵が正常か否かを判定する以外は、上述した第1実施形態の判定部140と同様である。
次に、本実施形態のECU20Aの概要を説明する。図8は、本実施形態のECU20Aの機能的な構成例を示すブロック図である。本実施形態のECU20Aは、事前共有鍵の検査に関わる機能的な構成要素として、例えば図8に示すように、送受信部210Aと、記憶部230と、検証用データ生成部240と、を備える。このうち、記憶部230は第1実施形態と共通のため、説明を省略する。
送受信部210Aは、ECU20Aがネットワークを介してGW10Aと通信するモジュールであり、サブモジュールとして、セッション鍵受信部211Aと、検証用データ送信部213と、を含む。
セッション鍵受信部211Aは、第1実施形態のECU20におけるセッション鍵受信部211と同様に、GW10Aが送信した暗号化データを受信するが、検証用データはGW10Aから送信されていないため受信しない。
検証用データ送信部213は、検証用データ生成部240が生成した検証用データをGW10Aに送信する。
検証用データ生成部240は、セッション鍵受信部211Aが受信した暗号化データを、記憶部230が記憶する事前共有鍵を用いて復号し、GW10Aが配信するセッション鍵を復元する。そして、検証用データ生成部240は、復元したセッション鍵のハッシュ値、あるいは、復元したセッション鍵により所定の値を暗号化した値を、復元したセッション鍵が正しいかどうかを検証するための検証用データとして生成する。検証用データ生成部240が生成した検証用データは、検証用データ送信部213からGW10Aに送信される。
次に、図9を参照しながら、本実施形態における事前共有鍵の検査に関わるGW10AおよびECU20Aの動作例について説明する。図9は、本実施形態の処理手順の一例を示すフローチャートである。この図9のフローチャートで示す一連の処理手順は、例えば、自動車Vのイグニッションスイッチがオンされたタイミング、あるいは、自動車Vのイグニッションスイッチがオフされたタイミング、あるいは、GW10Aの外部入出力端子や車載ネットワークシステム1を介してGW10Aにメンテナンスツールが接続されたタイミングなど、予め定めた所定のタイミングで実施される。
処理が開始されると、まず、GW10Aのエラー出力部150が回数カウンタを0に設定するとともに(ステップS301)、GW10Aの判定部140Aが異常カウンタを0に設定する(ステップS302)。
次に、GW10Aの生成部130Aが、対象グループを選択する(ステップS303)。そして、生成部130Aは、選択した対象グループに属するECU20Aに配布するセッション鍵を生成するとともに、対象グループに対応する事前共有鍵を用いてセッション鍵を暗号化し、暗号化データを生成する(ステップS304)。そして、GW10Aのセッション鍵送信部121Aが、生成部130Aにより生成された暗号化データにグループIDを付加してネットワーク上に送信する(ステップS305)。
GW10Aのセッション鍵送信部121Aが送信した暗号化データは、対象グループに属するECU20Aのセッション鍵受信部211Aによって受信される(ステップS401)。そして、暗号化データを受信したECU20Aの検証用データ生成部240は、記憶部230が記憶する事前共有鍵を用いて、セッション鍵受信部211Aが受信した暗号化データを復号し、GW10Aから配布されたセッション鍵を復元する(ステップS402)。さらに、検証用データ生成部240は、復元したセッション鍵に基づいて、このセッション鍵が正しいかどうかを検証するための検証用データを生成する(ステップS403)。そして、ECU20Aの検証用データ送信部213が、検証用データ生成部240により生成された検証用データをGW10Aに送信する(ステップS404)。
ECU20Aの検証用データ送信部213が送信した検証用データは、GW10Aの検証用データ受信部123によって受信される(ステップS306)。そして、GW10Aの検証部160が、検証用データ受信部123が受信した検証用データを用いて、ECU20Aが復元したセッション鍵が正しいかどうかを検証する(ステップS307)。GW10Aの判定部140Aは、検証部160による検証結果が検証失敗か否かを判定し(ステップS308)、検証結果が検証失敗であれば(ステップS308:Yes)、異常カウンタをインクリメントする(ステップS309)。なお、検証結果が検証成功であれば(ステップS308:No)、異常カウンタの値はそのまま維持される。
次に、判定部140Aは、全てのグループが対象グループとして選択されたか否かを判定する(ステップS310)。ここで、対象グループとして選択されていないグループがあれば(ステップS310:No)、ステップS303に戻って以降の処理が繰り返される。一方、全てのグループが対象グループとして選択された場合は(ステップS310:Yes)、判定部140Aは、異常カウンタの値が0となっているかどうかを確認する(ステップS311)。ここで、異常カウンタの値が0となっている場合は(ステップS311:Yes)、事前共有鍵に異常が生じたECU20Aがないため、処理を終了する。
一方、異常カウンタの値が0でない場合は(ステップS311:No)、判定部140Aは、異常カウンタの値が第1閾値以下であるか否かを判定する(ステップS312)。ここで、異常カウンタの値が第1閾値以下であれば(ステップS312:Yes)、エラー出力部150が、ECU20A側に異常があることを示す第1エラー信号を出力して(ステップS313)、処理を終了する。
一方、異常カウンタの値が第1閾値を超える場合は(ステップS312:No)、エラー出力部150は、回数カウンタをインクリメントして(ステップS314)、回数カウンタの値が第2閾値に達したか否かを判定する(ステップS315)。ここで、回数カウンタの値が第2閾値に達していなければ(ステップS315:No)、エラー出力部150によりリトライが指示され、ステップS302に戻って以降の処理が繰り返される。一方、回数カウンタの値が第2閾値に達すると(ステップS315:Yes)、エラー出力部150は、GW10Aやネットワークに異常があることを示す第2エラー信号を出力して(ステップS316)、処理を終了する。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態の車載ネットワークシステム1では、GW10Aが、事前共有鍵を用いてセッション鍵を暗号化した暗号化データをECU20Aに送信する。そして、GW10Aは、ECU20Aが復元したセッション鍵が正しいかどうかを検証するための検証用データをECU20Aから受信し、この検証用データを用いて、ECU20Aが復元したセッション鍵が正しいかどうかを検証する。そして、その検証結果に基づいて、ECU20Aが記憶する事前共有鍵が正常か否かを判定し、事前共有鍵が異常であると判定した場合に、エラー信号を出力するようにしている。したがって、本実施形態によれば、第1実施形態と同様に、ECU20Aが記憶する事前共有鍵を適切に検査して、ECU20Aが記憶する事前共有鍵が異常であれば、エラー信号を出力することで、例えば自動車Vのドライバやメンテナンス作業員などに適切な対応を促すことができる。
<変形例>
上述した第1実施形態の変形例は、すべて本実施形態の変形例としても適用できる。
<第3実施形態>
次に、第3実施形態について説明する。第3実施形態は、車載ネットワークシステム1のノードとしてネットワークに接続される各ECU20が、装置固有のデータを出力するPUF(Physically Unclonable Function)を搭載し、装置固有のデータであるPUFの出力データ(以下、「PUF出力」と呼ぶ)を用いて、ECU20間で共有するセッション鍵を生成する点が上述の第1実施形態と異なる。PUF出力は各ECU20に固有のデータであるが、各ECU20のPUF出力の違いを吸収するように調整されたデータ(以下、「補助データ」と呼ぶ)を用いることで、PUF出力からECU20間で共有するセッション鍵などの共有鍵を生成することができる。
本実施形態では、GW10が、各ECU20のPUF出力を記憶しているものとする。つまり、GW10は各ECU20とPUF出力を共有している。そして、GW10は、各ECU20がPUF出力からセッション鍵を生成するための補助データを各ECU20に送信する際に、ECU20の固有データであるPUF出力が正常か否かを検査するものとする。したがって、本実施形態では、GW10が記憶している各ECU20のPUF出力が「第1データ」に相当し、各ECU20がPUF出力から生成するセッション鍵が「第2データ」に相当し、PUF出力からセッション鍵を生成するために用いる補助データが「第3データ」に相当する。以下では、第1実施形態や第2実施形態と共通する構成については同一の符号を付して重複した説明を適宜省略し、本実施形態に特徴的な部分についてのみ説明する。なお、以下では本実施形態のGW10を第1実施形態や第2実施形態と区別してGW10Bと表記し、本実施形態のECU20を第1実施形態や第2実施形態と区別してECU20Bと表記する。
図10は、本実施形態のGW10Bの機能的な構成例を示すブロック図である。本実施形態のGW10Bは、PUF出力の検査に関わる機能的な構成要素として、例えば図10に示すように、記憶部110Bと、送受信部120Bと、生成部130Bと、判定部140と、エラー出力部150と、を備える。このうち、判定部140およびエラー出力部150は、検査対象が事前共有鍵からPUF出力に置き換わる以外は第1実施形態と共通のため、説明を省略する。
記憶部110Bは、第1実施形態の記憶部110が記憶していたグループ管理情報に代えて、各ECU20Bの固有データであるPUF出力を、各ECU20Bの機器IDや各ECU20Bが属するグループのグループIDなどと対応付けて記憶している。各ECU20Bの固有データは、予め記憶部110Bに記憶されているものとする。
送受信部120Bは、GW10Bがネットワークを介してECU20Bと通信するモジュールであり、サブモジュールとして、補助データ送信部124と、検証結果受信部122と、を含む。このうち、検証結果受信部122は第1実施形態と共通のため、説明を省略する。
補助データ送信部124は、生成部130BがECU20Bごとに生成した補助データ、つまり、各ECU20BにおいてPUF出力からセッション鍵を生成するために用いる補助データと、ECU20BがPUF出力と補助データとを用いて生成したセッション鍵の正しさを検証するための検証用データとを、各ECU20Bに送信する。
生成部130Bは、ECU20Bに配布するセッション鍵をグループごとに生成し、記憶部110Bが記憶する各ECU20BのPUF出力と、生成したセッション鍵とに基づいて、ECU20BにおいてPUF出力からセッション鍵を生成するために用いる補助データを、ECU20Bごとに生成する。また、生成部130Bは、ECU20BがPUF出力と補助データとを用いて生成するセッション鍵の正しさを検証するための検証用データを生成する。これら生成部130Bが生成した補助データおよび検証用データが、補助データ送信部124から各ECU20Bに送信される。
検証用データとしては、第1実施形態と同様に、セッション鍵のハッシュ値や、GW10BとECU20Bの双方が記憶する所定の値をセッション鍵により暗号化した値などを用いることができる。検証用データとしてセッション鍵のハッシュ値を用いる場合、ECU20Bは、自身のPUF出力と補助データとを用いて生成したセッション鍵のハッシュ値を算出し、この算出したハッシュ値がGW10Bから送信されたハッシュ値と一致するか否かを判定することで、PUF出力と補助データとを用いて生成したセッション鍵が正しいかどうかを検証することができる。また、検証用データとして所定の値をセッション鍵により暗号化した値を用いる場合、ECU20Bは、自身のPUF出力と補助データとを用いて生成したセッション鍵を用いて所定の値を暗号化し、得られた値がGW10Bから送信された値と一致するか否かを判定することで、PUF出力と補助データとを用いて生成したセッション鍵が正しいかどうかを検証することができる。
次に、本実施形態のECU20Bの概要を説明する。図11は、本実施形態のECU20Bの機能的な構成例を示すブロック図である。本実施形態のECU20Bは、PUF出力の検査に関わる機能的な構成要素として、例えば図11に示すように、送受信部210Bと、検証部220Bと、記憶部230Bと、PUF250と、を備える。
送受信部210Bは、ECU20Bがネットワークを介してGW10Bと通信するモジュールであり、サブモジュールとして、補助データ受信部214と、検証結果送信部212と、を含む。このうち、検証結果送信部212は第1実施形態と共通のため、説明を省略する。
補助データ受信部214は、GW10Bの補助データ送信部124が送信した補助データおよび検証用データを受信する。
検証部220Bは、PUF250からPUF出力を取得して、このPUF出力と、補助データ受信部214が受信した補助データとを用いて、セッション鍵を生成する。つまり、検証部220Bは、PUF250から取得したPUF出力と補助データとを用いて、GW10Bの生成部130Bが生成したセッション鍵を復元する。そして、検証部220Bは、補助データ受信部214が受信した検証用データを用いて、復元したセッション鍵が正しいかどうかを検証し、復元したセッション鍵が正しい場合、補助データ受信部214が受信した補助データを記憶部230Bに格納する。また、検証部220Bは、PUF出力と補助データとを用いて復元したセッション鍵の正しさを検証した結果を送受信部210Bに通知する。これにより、検証部220Bによる検証結果を示す検証結果データが、検証結果送信部212からGW10Bに送信される。
記憶部230Bは、検証部220Bによる検証によって正しいと判断されたセッション鍵などを記憶する。記憶部230Bに補助データが格納されると、その後、ECU20Bは、同じグループに属する他のECU20Bと通信する際に、PUF250から取得したPUF出力と記憶部230Bが記憶する補助データとを用いてセッション鍵を生成することができる。
次に、図12を参照しながら、本実施形態におけるPUF出力の検査に関わるGW10BおよびECU20Bの動作例について説明する。図12は、本実施形態の処理手順の一例を示すフローチャートである。この図12のフローチャートで示す一連の処理手順は、例えば、自動車Vのイグニッションスイッチがオンされたタイミング、あるいは、自動車Vのイグニッションスイッチがオフされたタイミング、あるいは、GW10Bの外部入出力端子や車載ネットワークシステム1を介してGW10Bにメンテナンスツールが接続されたタイミングなど、予め定めた所定のタイミングで実施される。
処理が開始されると、まず、GW10Bのエラー出力部150が回数カウンタを0に設定するとともに(ステップS501)、GW10Bの判定部140が異常カウンタを0に設定する(ステップS502)。
次に、GW10Bの生成部130Bが、対象グループを選択する(ステップS503)。そして、生成部130Bは、選択した対象グループに属するECU20Bに配布するセッション鍵を生成するとともに、記憶部110Bが記憶する各ECU20BのPUF出力と、生成したセッション鍵とに基づいて、各ECU20Bに対応する補助データを生成する(ステップS504)。さらに、生成部130Bは、生成したセッション鍵に基づいて、ECU20BがPUF出力と補助データとを用いて生成するセッション鍵の正しさを検証するための検証用データを生成する(ステップS505)。そして、GW10Bの補助データ送信部124が、生成部130Bにより生成された補助データおよび検証用データを各ECU20Bに送信する(ステップS506)。
GW10Bの補助データ送信部124が送信した補助データおよび検証用データは、各ECU20Bの補助データ受信部214によって受信される(ステップS601)。そして、補助データおよび検証用データを受信したECU20Bの検証部220Bは、PUF250からPUF出力を取得し(ステップS602)、取得したPUF出力と補助データ受信部214が受信した補助データとを用いて、セッション鍵を生成する(ステップS603)。さらに、検証部220Bは、補助データ受信部214が受信した検証用データを用いて、生成したセッション鍵が正しいかどうかを検証する(ステップS604)。そして、ECU20Bの検証結果送信部212が、検証部220Bによる検証結果を示す検証結果データをGW10Bに送信する(ステップS605)。
ECU20Bの検証結果送信部212が送信した検証結果データは、GW10Bの検証結果受信部122によって受信される(ステップS507)。そして、検証結果受信部122により検証結果データが受信されると、GW10Bの判定部140は、検証結果データにより示される検証結果が検証失敗か否かを判定し(ステップS508)、検証結果が検証失敗であれば(ステップS508:Yes)、異常カウンタをインクリメントする(ステップS509)。なお、検証結果が検証成功であれば(ステップS508:No)、異常カウンタの値はそのまま維持される。
次に、判定部140は、全てのグループが対象グループとして選択されたか否かを判定する(ステップS510)。ここで、対象グループとして選択されていないグループがあれば(ステップS510:No)、ステップS503に戻って以降の処理が繰り返される。一方、全てのグループが対象グループとして選択された場合は(ステップS510:Yes)、判定部140は、異常カウンタの値が0となっているかどうかを確認する(ステップS511)。ここで、異常カウンタの値が0となっている場合は(ステップS511:Yes)、事前共有鍵に異常が生じたECU20Bがないため、処理を終了する。
一方、異常カウンタの値が0でない場合は(ステップS511:No)、判定部140は、異常カウンタの値が第1閾値以下であるか否かを判定する(ステップS512)。ここで、異常カウンタの値が第1閾値以下であれば(ステップS512:Yes)、エラー出力部150が、ECU20B側に異常があることを示す第1エラー信号を出力して(ステップS513)、処理を終了する。
一方、異常カウンタの値が第1閾値を超える場合は(ステップS512:No)、エラー出力部150は、回数カウンタをインクリメントして(ステップS514)、回数カウンタの値が第2閾値に達したか否かを判定する(ステップS515)。ここで、回数カウンタの値が第2閾値に達していなければ(ステップS515:No)、エラー出力部150によりリトライが指示され、ステップS502に戻って以降の処理が繰り返される。一方、回数カウンタの値が第2閾値に達すると(ステップS515:Yes)、エラー出力部150は、GW10Bやネットワークに異常があることを示す第2エラー信号を出力して(ステップS516)、処理を終了する。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態の車載ネットワークシステム1では、GW10Bが、ECU20BにおいてPUF出力からセッション鍵を生成するために用いる補助データと、ECU20BがPUF出力と補助データを用いて生成したセッション鍵が正しいかどうかを検証するための検証用データとをECU20Bに送信する。そして、GW10Bは、ECU20Bが検証用データを用いてセッション鍵の正しさを検証した結果を示す検証結果データを受信し、この検証結果データに基づいて、ECU20Bの固有データであるPUF出力が正常か否かを判定し、PUF出力が異常であると判定した場合に、エラー信号を出力するようにしている。したがって、本実施形態によれば、ECU20Bの固有データであるPUF出力を適切に検査して、ECU20BのPUF出力が異常であれば、エラー信号を出力することで、例えば自動車Vのドライバやメンテナンス作業員などに適切な対応を促すことができる。
また、特に本実施形態では、ECU20Bがセッション鍵そのものを記憶するのではなく、PUF出力からセッション鍵を生成するために用いる補助データを記憶する構成であるため、ECU20Bに対する不正な攻撃によってセッション共有鍵が漏出するリスクを低減し、より安全な車載ネットワークシステム1を実現することができる。
<変形例>
以上説明した第3実施形態では、GW10Bが、ECU20Bから受信した検証用データが検証失敗である場合に、このECU20Bの固有データであるPUF出力が異常であると判定しているが、PUF出力が異常であると判定されたECU20Bの利用環境に関する情報に基づいて、PUF出力が異常となる可能性の高い他のECU20Bを特定するように構成してもよい。この場合、各ECU20Bの利用環境に関する情報を、例えばGW10Bの記憶部110Bなどに記憶しておく。そして、GW10Bは、PUF出力が異常であると判定されたECU20Bの利用環境に関する情報に基づいて、同様の利用環境で使用されている他のECU20Bを、PUF出力が異常となる可能性の高いECU20Bとして特定する。これにより、当該ECU20BにおけるPUF出力の異常を未然に検知して、当該ECU20Bの修理あるいは交換などを行うことができる。
また、上述の第3実施形態では、ECU20BのPUF出力が異常であると判定した場合にエラー信号を出力するようにしているが、PUF出力が異常であると判定されたECU20Bの新たなPUF出力、例えば、PUF250の破損が疑われる領域とは別の領域を用いて出力される新たなPUF出力をGW10B側に送信し、GW10Bが記憶する当該ECU20BのPUF出力を新たなPUF出力で更新するようにしてもよい。また、この新たなPUF出力をECU20BからGW10Bに安全に送信するために、GW10BとECU20Bが共有している過去のセッション鍵を用いてもよい。
また、上述の第3実施形態では、GW10Bが、ECU20Bに対してセッション鍵を配布する際に、ECU20Bの固有データであるPUF出力を検査するようにしているが、これに限らない。例えば、GW10Bは、ECU20BのPUF出力が正常か否かを判定するために任意のデータをランダムあるいは所定の規則に従って選択し、GW10Bが記憶するECU20BのPUF出力とこのデータとから計算される計算結果データと、このデータに基づいて生成した検証用データとをECU20Bに送信するようにしてもよい。この場合、ECU20Bは、自身のPUF出力とGW10Bから受信した計算結果データとに基づいてGW10Bが選択した任意のデータを復元し、GW10Bから受信した検証用データを用いて、復元した任意のデータが正しいかどうかを検証する。この場合も、ECU20Bにおいて任意のデータが正しく復元できたか否かにより、ECU20BのPUF出力が正常か否かを判定することができる。
また、上述の第3実施形態では、ECU20BがPUF出力と補助データとを用いて生成したセッション鍵が正しいかどうかの検証を、第1実施形態と同様にECU20B側で行う構成であるが、第2実施形態と同様にGW10B側で行う構成としてもよい。
また、図12に示した本実施形態の処理手順の例では、ステップS510で全てのグループが対象グループとして選択されたと判定された後に、異常カウンタの値や回数カウンタの値に応じた処理(ステップS511〜ステップS516)を行うようにしているが、第1実施形態の変形例と同様に、これらの処理をグループ単位で行うようにしてもよい。
<補足説明>
GW10,10A,10Bの上述した機能は、例えば、図2に示したハードウェアとソフトウェアとの協働により実現することができる。この場合、マイクロコントローラ12がネットワークI/F11を利用しながら、ソフトウェアとして提供されるプログラムに応じた制御を実行することにより、上述した機能的な構成要素が実現される。
GW10,10A,10Bの機能的な構成要素を実現するプログラムは、例えば、マイクロコントローラ12内のメモリ領域などに予め組み込んで提供される。また、上記プログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVDなどのコンピュータ読み取り可能な記録媒体に記録されて提供されるようにしてもよい。また、上記プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記プログラムを、インターネットなどのネットワーク経由で提供または配布するように構成してもよい。なお、GW10,10A,10Bにおける上述した機能的な構成要素は、その一部または全部を、ASICやFPGAなどの専用のハードウェアを用いて実現することも可能である。
以上、本発明の実施形態を説明したが、この実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 車載ネットワークシステム
10,10A,10B GW
20,20A,20B ECU
120,120A,120B 送受信部
121,121A セッション鍵送信部
122 検証結果受信部
123 検証用データ受信部
124 補助データ送信部
130,130A,130B 生成部
140,140A 判定部
150 エラー出力部
160 検証部

Claims (14)

  1. 電子機器とネットワークを介して接続される検査装置であって、
    前記電子機器と共有する第1データと所定の第2データとから計算される第3データを生成する生成部と、
    前記第3データを前記電子機器に送信する送信部と、
    前記電子機器の前記第1データを用いて前記第3データから前記第2データが正しく復元できたか否かに応じて、前記電子機器の前記第1データが正常か否かを判定する判定部と、を備える検査装置。
  2. 前記生成部は、前記第2データの正しさを検証するための検証用データをさらに生成し、
    前記送信部は、前記検証用データを前記電子機器にさらに送信し、
    前記電子機器が前記検証用データを用いて前記第2データの正しさを検証した結果を示す検証結果データを前記電子機器から受信する受信部をさらに備え、
    前記判定部は、前記検証結果データに基づいて、前記電子機器の前記第1データが正常か否かを判定する、請求項1に記載の検査装置。
  3. 前記電子機器が復元した前記第2データの正しさを検証するための検証用データを前記電子機器から受信する受信部と、
    前記検証用データを用いて前記電子機器が復元した前記第2データの正しさを検証する検証部と、をさらに備え、
    前記判定部は、前記検証部による検証結果に基づいて、前記電子機器の前記第1データが正常か否かを判定する、請求項1に記載の検査装置。
  4. 前記電子機器の前記第1データが異常であると判定された場合にエラー信号を出力するエラー出力部をさらに備える、請求項1乃至3のいずれか一項に記載の検査装置。
  5. 前記判定部は、前記ネットワークに接続された複数の前記電子機器のそれぞれに対して前記第1データが正常か否かを判定し、
    前記エラー出力部は、前記第1データが異常であると判定された前記電子機器の数が第1閾値以下である場合は第1エラー信号を出力し、前記第1データが異常であると判定された前記電子機器の数が前記第1閾値を超える場合は第2エラー信号を出力する、請求項4に記載の検査装置。
  6. 前記エラー出力部は、前記第1データが異常であると判定された前記電子機器の数が前記第1閾値を超える場合に、前記第1データが異常であると判定された前記電子機器の数が前記第1閾値を超えた回数が第2閾値に達するまでは、前記送信部による前記第3データの送信および前記判定部による判定を繰り返すことを指示し、前記第1データが異常であると判定された前記電子機器の数が前記第1閾値を超えた回数が前記第2閾値に達すると前記第2エラー信号を出力する、請求項5に記載の検査装置。
  7. 前記送信部は、前記ネットワークに接続された複数の前記電子機器が共通の前記第1データを記憶している場合、共通の前記第1データを記憶する複数の前記電子機器に対して共通の前記第3データを送信する、請求項1乃至6のいずれか一項に記載の検査装置。
  8. 前記第1データが異常であると判定した前記電子機器の利用環境に関する情報に基づいて、前記第1データが異常となる可能性の高い他の前記電子機器を特定する、請求項1乃至7のいずれか一項に記載の検査装置。
  9. 前記生成部は、前記電子機器の前記第1データが異常であると判定された場合に、該電子機器と共有する前記第1データを新たに生成するとともに、新たに生成した前記第1データを、前記電子機器が過去に正しく復元して記憶した前記第2データを用いて暗号化した第4データを生成し、
    前記送信部は、前記電子機器の前記第1データが異常であると判定された場合に、前記第4データを前記電子機器に送信する、請求項1乃至8のいずれか一項に記載の検査装置。
  10. 前記第1データは、前記ネットワークに接続された複数の前記電子機器が共有する事前共有鍵であり、
    前記第2データは、前記事前共有鍵から派生するセッション鍵であり、
    前記第3データは、前記事前共有鍵を用いて前記セッション鍵を暗号化した暗号化データである、請求項1乃至9のいずれか一項に記載の検査装置。
  11. 前記第1データは、前記電子機器が搭載するPUFの出力データであり、
    前記第2データは、前記PUFの出力データを用いて生成されるセッション鍵であり、
    前記第3データは、前記PUFの出力データから前記セッション鍵を生成するために用いる補助データである、請求項1乃至9のいずれか一項に記載の検査装置。
  12. 請求項1乃至11のいずれか一項に記載の検査装置と、
    前記検査装置とネットワークを介して接続された前記電子機器と、を備える通信システム。
  13. 請求項12に記載の通信システムを搭載した移動体。
  14. 電子機器とネットワークを介して接続される検査装置により実行される検査方法であって、
    前記電子機器と共有する第1データと所定の第2データとから計算される第3データを生成するステップと、
    前記第3データを前記電子機器に送信するステップと、
    前記電子機器の前記第1データを用いて前記第3データから前記第2データが正しく復元できたか否かに応じて、前記電子機器の前記第1データが正常か否かを判定するステップと、を含む検査方法。
JP2015223105A 2015-11-13 2015-11-13 検査装置、通信システム、移動体および検査方法 Active JP6502832B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015223105A JP6502832B2 (ja) 2015-11-13 2015-11-13 検査装置、通信システム、移動体および検査方法
US15/262,162 US10255428B2 (en) 2015-11-13 2016-09-12 Apparatus and method for testing normality of shared data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015223105A JP6502832B2 (ja) 2015-11-13 2015-11-13 検査装置、通信システム、移動体および検査方法

Publications (2)

Publication Number Publication Date
JP2017092807A true JP2017092807A (ja) 2017-05-25
JP6502832B2 JP6502832B2 (ja) 2019-04-17

Family

ID=58690093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015223105A Active JP6502832B2 (ja) 2015-11-13 2015-11-13 検査装置、通信システム、移動体および検査方法

Country Status (2)

Country Link
US (1) US10255428B2 (ja)
JP (1) JP6502832B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018121220A (ja) * 2017-01-25 2018-08-02 トヨタ自動車株式会社 車載ネットワークシステム
US10193691B2 (en) 2016-09-09 2019-01-29 Kabushiki Kaisha Toshiba Information processing device, server device, information processing system, moving object, and information processing method
WO2019038800A1 (ja) * 2017-08-21 2019-02-28 三菱電機株式会社 鍵管理装置、通信機器および鍵共有方法
KR20190059003A (ko) * 2017-11-22 2019-05-30 동국대학교 산학협력단 차량 내 탑재되어 있는 ecu들에 대해 암호화된 방식으로 세션 키의 배포를 처리하는 키 배포 처리 장치 및 그 동작 방법
JP2019140615A (ja) * 2018-02-14 2019-08-22 株式会社デンソー ネットワークシステム
JP2019197999A (ja) * 2018-05-09 2019-11-14 株式会社デンソー 車両用電子制御システムおよび車両用電子制御装置
CN110635893A (zh) * 2019-09-21 2019-12-31 吉林大学 一种车载以太网信息安全防护方法
JP2020137009A (ja) * 2019-02-22 2020-08-31 株式会社デンソー ネットワークシステム
WO2022190580A1 (ja) * 2021-03-12 2022-09-15 住友電気工業株式会社 車載中継装置、管理装置、車載システムおよび通信管理方法
WO2022234768A1 (ja) * 2021-05-07 2022-11-10 パナソニックIpマネジメント株式会社 情報処理方法、機器、及び、プログラム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6260066B2 (ja) * 2016-01-18 2018-01-17 Kddi株式会社 車載コンピュータシステム及び車両
US10285051B2 (en) * 2016-09-20 2019-05-07 2236008 Ontario Inc. In-vehicle networking
JP6683588B2 (ja) * 2016-11-10 2020-04-22 Kddi株式会社 再利用システム、サーバ装置、再利用方法、及びコンピュータプログラム
GB2553419B (en) * 2017-07-11 2018-12-12 Spatialbuzz Ltd Fault monitoring in a utility supply network
EP3444742B1 (en) * 2017-08-16 2021-06-16 Veoneer Sweden AB A driver assistance apparatus and method
TWI638262B (zh) * 2017-11-17 2018-10-11 慧榮科技股份有限公司 資料儲存裝置及應用於其上的操作方法
CN108073156B (zh) * 2017-11-20 2019-11-01 广州汽车集团股份有限公司 一种汽车电子控制单元的安全算法管理方法及系统
US10009325B1 (en) * 2017-12-07 2018-06-26 Karamba Security End-to-end communication security
CN108259465B (zh) * 2017-12-08 2020-05-05 清华大学 一种智能汽车内部网络的认证加密方法
CN109547284A (zh) * 2018-11-05 2019-03-29 北京长城华冠汽车科技股份有限公司 一种检测控制器局域网报文掉线的方法、装置和电动汽车
US11290437B2 (en) * 2018-12-27 2022-03-29 Beijing Voyager Technology Co., Ltd. Trusted platform protection in an autonomous vehicle
JP2020167509A (ja) * 2019-03-29 2020-10-08 コベルコ建機株式会社 情報処理システム、情報処理方法、およびプログラム
CA3127711A1 (en) * 2019-04-25 2020-10-29 Deere & Company Systems, methods and controllers for secure communications
AU2019479339B2 (en) * 2019-12-17 2023-12-21 Nippon Telegraph And Telephone Corporation Verification information correction device, verification information correction method and verification information correction program
US11343097B2 (en) * 2020-06-02 2022-05-24 Bank Of America Corporation Dynamic segmentation of network traffic by use of pre-shared keys
CN112422392B (zh) * 2021-01-25 2021-07-02 武汉格罗夫氢能汽车有限公司 一种氢能汽车整车网络系统
US12095754B2 (en) * 2022-04-20 2024-09-17 Bank Of America Corporation System and method for establishing a secure session to authenticate DNS requests via dynamically configurable trusted network interface controllers

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09312643A (ja) * 1996-05-22 1997-12-02 Matsushita Electric Ind Co Ltd 鍵共有方法及び暗号通信方法
JP2002016590A (ja) * 2000-06-30 2002-01-18 Toyo Commun Equip Co Ltd 暗号鍵配送装置及び方法
JP2005341528A (ja) * 2004-04-28 2005-12-08 Denso Corp 通信システム、鍵配信装置、暗号処理装置、盗難防止装置
JP2006222800A (ja) * 2005-02-10 2006-08-24 Toyota Motor Corp 多重通信装置
JP2010011400A (ja) * 2008-06-30 2010-01-14 National Institute Of Advanced Industrial & Technology 共通鍵方式の暗号通信システム
WO2012164721A1 (ja) * 2011-06-02 2012-12-06 三菱電機株式会社 鍵情報生成装置及び鍵情報生成方法
JP2013138304A (ja) * 2011-12-28 2013-07-11 Toyota Motor Corp セキュリティシステム及び鍵データの運用方法
WO2015056410A1 (ja) * 2013-10-17 2015-04-23 株式会社デンソー 電子キーシステム、車載装置、及び携帯機
JP2016092716A (ja) * 2014-11-10 2016-05-23 パナソニックIpマネジメント株式会社 鍵管理通信装置および鍵配布方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694235B2 (en) * 2001-07-06 2004-02-17 Denso Corporation Vehicular relay device, in-vehicle communication system, failure diagnostic system, vehicle management device, server device and detection and diagnostic program
JP2008005396A (ja) 2006-06-26 2008-01-10 Nippon Telegr & Teleph Corp <Ntt> データ送信方法およびシステム、プログラム、及び、記録媒体
JP2008312024A (ja) * 2007-06-15 2008-12-25 Auto Network Gijutsu Kenkyusho:Kk 中継接続ユニット
US7979658B2 (en) * 2008-03-25 2011-07-12 Spansion Llc Secure management of memory regions in a memory
US20110083161A1 (en) * 2008-06-04 2011-04-07 Takayuki Ishida Vehicle, maintenance device, maintenance service system, and maintenance service method
JP5423088B2 (ja) * 2009-03-25 2014-02-19 ソニー株式会社 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法
JP5262936B2 (ja) 2009-04-07 2013-08-14 株式会社デンソー 車両制御装置
JP5367917B2 (ja) 2011-01-25 2013-12-11 三洋電機株式会社 車載器
JP5435022B2 (ja) * 2011-12-28 2014-03-05 株式会社デンソー 車載システム及び通信方法
DE102013101508B4 (de) * 2012-02-20 2024-10-02 Denso Corporation Datenkommunikationsauthentifizierungssystem für ein Fahrzeug und Netzkopplungsvorrichtung für ein Fahrzeug
US20130262192A1 (en) * 2012-03-29 2013-10-03 ATC Logistics & Electronics System and method for receiving quality issue log
JP5772692B2 (ja) 2012-04-12 2015-09-02 トヨタ自動車株式会社 車載制御装置の認証システム及び車載制御装置の認証方法
US9374355B2 (en) * 2013-10-28 2016-06-21 GM Global Technology Operations LLC Programming vehicle modules from remote devices and related methods and systems
JP2016046719A (ja) 2014-08-25 2016-04-04 株式会社東芝 データ生成装置、通信装置、移動体、データ生成方法およびプログラム
JP2016134671A (ja) 2015-01-16 2016-07-25 株式会社東芝 データ生成装置、通信装置、通信システム、移動体、データ生成方法およびプログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09312643A (ja) * 1996-05-22 1997-12-02 Matsushita Electric Ind Co Ltd 鍵共有方法及び暗号通信方法
JP2002016590A (ja) * 2000-06-30 2002-01-18 Toyo Commun Equip Co Ltd 暗号鍵配送装置及び方法
JP2005341528A (ja) * 2004-04-28 2005-12-08 Denso Corp 通信システム、鍵配信装置、暗号処理装置、盗難防止装置
JP2006222800A (ja) * 2005-02-10 2006-08-24 Toyota Motor Corp 多重通信装置
JP2010011400A (ja) * 2008-06-30 2010-01-14 National Institute Of Advanced Industrial & Technology 共通鍵方式の暗号通信システム
WO2012164721A1 (ja) * 2011-06-02 2012-12-06 三菱電機株式会社 鍵情報生成装置及び鍵情報生成方法
JP2013138304A (ja) * 2011-12-28 2013-07-11 Toyota Motor Corp セキュリティシステム及び鍵データの運用方法
WO2015056410A1 (ja) * 2013-10-17 2015-04-23 株式会社デンソー 電子キーシステム、車載装置、及び携帯機
JP2016092716A (ja) * 2014-11-10 2016-05-23 パナソニックIpマネジメント株式会社 鍵管理通信装置および鍵配布方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10193691B2 (en) 2016-09-09 2019-01-29 Kabushiki Kaisha Toshiba Information processing device, server device, information processing system, moving object, and information processing method
US11228602B2 (en) 2017-01-25 2022-01-18 Toyota Jidosha Kabushiki Kaisha In-vehicle network system
JP2018121220A (ja) * 2017-01-25 2018-08-02 トヨタ自動車株式会社 車載ネットワークシステム
WO2019038800A1 (ja) * 2017-08-21 2019-02-28 三菱電機株式会社 鍵管理装置、通信機器および鍵共有方法
KR20190059003A (ko) * 2017-11-22 2019-05-30 동국대학교 산학협력단 차량 내 탑재되어 있는 ecu들에 대해 암호화된 방식으로 세션 키의 배포를 처리하는 키 배포 처리 장치 및 그 동작 방법
KR101987752B1 (ko) 2017-11-22 2019-06-11 동국대학교 산학협력단 차량 내 탑재되어 있는 ecu들에 대해 암호화된 방식으로 세션 키의 배포를 처리하는 키 배포 처리 장치 및 그 동작 방법
JP2019140615A (ja) * 2018-02-14 2019-08-22 株式会社デンソー ネットワークシステム
JP2019197999A (ja) * 2018-05-09 2019-11-14 株式会社デンソー 車両用電子制御システムおよび車両用電子制御装置
JP2020137009A (ja) * 2019-02-22 2020-08-31 株式会社デンソー ネットワークシステム
JP7067508B2 (ja) 2019-02-22 2022-05-16 株式会社デンソー ネットワークシステム
CN110635893B (zh) * 2019-09-21 2020-10-20 吉林大学 一种车载以太网信息安全防护方法
CN110635893A (zh) * 2019-09-21 2019-12-31 吉林大学 一种车载以太网信息安全防护方法
WO2022190580A1 (ja) * 2021-03-12 2022-09-15 住友電気工業株式会社 車載中継装置、管理装置、車載システムおよび通信管理方法
WO2022234768A1 (ja) * 2021-05-07 2022-11-10 パナソニックIpマネジメント株式会社 情報処理方法、機器、及び、プログラム

Also Published As

Publication number Publication date
JP6502832B2 (ja) 2019-04-17
US20170139795A1 (en) 2017-05-18
US10255428B2 (en) 2019-04-09

Similar Documents

Publication Publication Date Title
JP6502832B2 (ja) 検査装置、通信システム、移動体および検査方法
US9998476B2 (en) Data distribution apparatus, communication system, moving object, and data distribution method
US10673621B2 (en) Management device, vehicle, management method, and computer program
US11522685B2 (en) Key management system, communication device and key sharing method
US10574694B2 (en) Cloaking authority system
US9577997B2 (en) Authentication system and authentication method
US20180234248A1 (en) Communication system, vehicle, and monitoring method
US20190123908A1 (en) Arithmetic Device, Authentication System, and Authentication Method
US10560286B2 (en) Gateway device and control method for the same
US20180254903A1 (en) End-to-end vehicle secure ecu unlock in a semi-offline environment
WO2019159593A1 (ja) 電子制御装置及び通信システム
US10931459B2 (en) Onboard computer system, vehicle, management method, and computer program
CN107038391B (zh) 用于通过嵌入式系统保护数据完整性的方法和设备
US20170324557A1 (en) Information processing apparatus and method for authenticating message
JP2016092716A (ja) 鍵管理通信装置および鍵配布方法
JP2013219710A (ja) 車載制御装置の認証システム及び車載制御装置の認証方法
JP2018121220A (ja) 車載ネットワークシステム
CN114785557A (zh) 一种整车对称密钥分发系统、方法及存储介质
KR102236282B1 (ko) 차량용 통신 데이터 인증 방법 및 시스템
KR20200056192A (ko) 데이터 통신 시스템과 데이터 통신 방법, 서버, 차량
CN114025328B (zh) 车辆验证方法、控制功能实体和车辆
JP7003832B2 (ja) 車両用電子制御システムおよび車両用電子制御装置
CN114650157B (zh) 路侧单元的发行方法和系统、存储介质及电子装置
WO2014156328A1 (ja) 車載通信システム及び通信装置
CN115226041A (zh) 安全的广播内容递送和验证

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190322

R151 Written notification of patent or utility model registration

Ref document number: 6502832

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151