JP6377143B2 - 車載ネットワークシステム、電子制御ユニット及び更新処理方法 - Google Patents

車載ネットワークシステム、電子制御ユニット及び更新処理方法 Download PDF

Info

Publication number
JP6377143B2
JP6377143B2 JP2016517805A JP2016517805A JP6377143B2 JP 6377143 B2 JP6377143 B2 JP 6377143B2 JP 2016517805 A JP2016517805 A JP 2016517805A JP 2016517805 A JP2016517805 A JP 2016517805A JP 6377143 B2 JP6377143 B2 JP 6377143B2
Authority
JP
Japan
Prior art keywords
electronic control
update
mac
mac key
frame
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.)
Active
Application number
JP2016517805A
Other languages
English (en)
Other versions
JPWO2015170452A1 (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.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Publication of JPWO2015170452A1 publication Critical patent/JPWO2015170452A1/ja
Application granted granted Critical
Publication of JP6377143B2 publication Critical patent/JP6377143B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • 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/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • 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
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/46Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for vehicle-to-vehicle communication [V2V]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)

Description

本開示は、電子制御ユニットが通信を行う車載ネットワークにおいて不正なフレームの送信に対抗する技術に関する。
近年、自動車の中のシステムには、電子制御ユニット(ECU:Electronic Control Unit)と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在する。その中でも最も主流な車載ネットワークの一つに、ISO11898−1で規定されているCAN(Controller Area Network)という規格が存在する(「非特許文献1」参照)。
CANでは、通信路は2本のバスで構成され、バスに接続されているECUはノードと呼ばれる。バスに接続されている各ノードは、フレームと呼ばれるメッセージを送受信する。フレームを送信する送信ノードは、2本のバスに電圧をかけ、バス間で電位差を発生させることによって、レセシブと呼ばれる「1」の値と、ドミナントと呼ばれる「0」の値を送信する。複数の送信ノードが全く同一のタイミングで、レセシブとドミナントを送信した場合は、ドミナントが優先されて送信される。受信ノードは、受け取ったフレームのフォーマットに異常がある場合には、エラーフレームと呼ばれるフレームを送信する。エラーフレームとは、ドミナントを6bit連続して送信することで、送信ノードや他の受信ノードにフレームの異常を通知するものである。
またCANでは送信先や送信元を指す識別子は存在せず、送信ノードはフレーム毎にメッセージIDと呼ばれるIDを付けて送信し(つまりバスに信号を送出し)、各受信ノードは予め定められたメッセージIDのみを受信する(つまりバスから信号を読み取る)。また、CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)方式を採用しており、複数ノードの同時送信時にはメッセージIDによる調停が行われ、メッセージIDの値が小さいフレームが優先的に送信される。
ところで、車載ネットワークにおいて不正なノードがバスに接続され、不正なノードが不正にフレームを送信することで、車体を不正にコントロールしてしまう可能性がある。このような不正なフレームの送信によるコントロールを防止するために、一般にCANにおけるデータフィールドにメッセージ認証コード(MAC:Message Authentication Code)を付加して送信する技術が知られている(「特許文献1」参照)。
特開2013−98719号公報
CAN Specification 2.0 Part A、[online]、CAN in Automation(CiA)、[平成26年11月14日検索]、インターネット(URL:http://www.can−cia.org/fileadmin/cia/specifications/CAN20A.pdf) RFC2104 HMAC: Keyed−Hashing for Message Authentication
しかしながら、CANにおけるデータフィールドに格納できるMACのデータ長は十分に長いとは言えないため、バスに接続された不正なノードによるMACに対する総当り攻撃等が懸念される。
そこで、本開示は、バスに接続された不正なノードによるMACに対する総当り攻撃への耐性を高めるための車載ネットワークシステムを提供する。また、本開示は、その車載ネットワークシステムで用いられる電子制御ユニット(ECU)、及び、不正なノードによるMACに対する総当り攻撃への耐性を高めるためにMACの生成に利用されるデータ(MAC鍵等)の更新に関連した更新処理を行う更新処理方法を提供する。
上記課題を解決するために本開示の一態様に係る更新処理方法は、CAN(Controller Area Network)プロトコルに従ってバスを介してメッセージ認証コード(MAC:Message Authentication Code)が付加されたデータフレームの授受を行う複数の電子制御ユニットを備える車載ネットワークシステムの前記複数の電子制御ユニットの各々において、当該メッセージ認証コードの生成に利用されるMAC鍵の更新のために、用いられる更新処理方法であって、前記車載ネットワークシステムを搭載する車両の走行状態を検出する検出ステップと、前記検出ステップで検出された車両の走行状態が所定状態であることを条件として前記メッセージ認証コードの生成に利用されるMAC鍵を更新する更新ステップとを含み、前記車載ネットワークシステムは複数のバスを備え、前記更新ステップでは、前記複数の電子制御ユニットのうち1以上の電子制御ユニット各々により、当該電子制御ユニットが保持して利用するMAC鍵について、前記更新が行われ、前記更新の条件となる前記所定状態は、当該電子制御ユニットが接続されているバスに対応して定められる更新処理方法である。
また、上記課題を解決するために本開示の一態様に係る車載ネットワークシステムは、CAN(Controller Area Network)プロトコルに従ってバスを介してメッセージ認証コード(MAC:Message Authentication Code)が付加されたデータフレームの授受を行う複数の電子制御ユニットを備える車載ネットワークシステムであって、メッセージ認証コードを生成して、所定メッセージIDで識別されるデータフレームに付加して送信する第1電子制御ユニットと、メッセージ認証コードを生成して、前記所定メッセージIDで識別されるデータフレームを受信して当該データフレームに当該メッセージ認証コードが付加されていることを検証する第2電子制御ユニットとを備え、前記第1電子制御ユニット及び前記第2電子制御ユニットの各々は、前記メッセージ認証コードの生成に利用されるMAC鍵を保持するMAC鍵保持部と、前記車載ネットワークシステムを搭載する車両の走行状態が所定状態であることを条件として前記MAC鍵保持部に保持されるMAC鍵を更新する更新処理部とを有し、前記車載ネットワークシステムは複数のバスを備え、前記更新処理部は、当該更新処理部を有する前記電子制御ユニットが保持して利用するMAC鍵について、前記更新を行い、前記更新の条件となる前記所定状態は、当該電子制御ユニットが接続されているバスに対応して定められる車載ネットワークシステムである。
また、上記課題を解決するために本開示の一態様に係る電子制御ユニット(ECU)は、CAN(Controller Area Network)プロトコルに従ってバスを介して、データフレームにメッセージ認証コード(MAC:Message Authentication Code)を付加して送信するため、或いは、データフレームを受信して当該データフレームにメッセージ認証コードが付加されていることを検証するために、メッセージ認証コードを生成する電子制御ユニットであって、前記メッセージ認証コードの生成に利用されるMAC鍵を保持するMAC鍵保持部と、前記電子制御ユニットを搭載する車両の走行状態が所定状態であることを条件として前記MAC鍵保持部に保持されるMAC鍵を更新する更新処理部とを備え、前記更新処理部は、前記電子制御ユニットが保持して利用するMAC鍵について、前記更新を行い、前記更新の条件となる前記所定状態は、当該電子制御ユニットが接続されているバスに対応して定められる電子制御ユニットである。
本開示によれば、CANプロトコルに従って通信するネットワーク通信システムにおいて、バスに接続された不正なノードによる攻撃への耐性を高めることができる。
実施の形態1に係る車載ネットワークシステムの全体構成を示す図である。 CANプロトコルで規定されるデータフレームのフォーマットを示す図である。 実施の形態1に係るECUの構成図である。 受信IDリストの一例を示した図である。 判定ルールの一例を示した図である。 エンジンに接続されたECUから送信されるデータフレームにおけるID及びデータフィールドの一例を示す図である。 ブレーキに接続されたECUから送信されるデータフレームにおけるID及びデータフィールドの一例を示す図である。 ドア開閉センサに接続されたECUから送信されるデータフレームにおけるID及びデータフィールドの一例を示す図である。 窓開閉センサに接続されたECUから送信されるデータフレームにおけるID及びデータフィールドの一例を示す図である。 ECUによる更新処理、及び、その更新処理の開始判断に係る処理の一例を示すフローチャートである(図11に続く)。 ECUによる更新処理、及び、その更新処理の開始判断に係る処理の一例を示すフローチャートである(図10から続く)。 ECUによる更新処理、及び、その更新処理の開始判断に係る処理の一例を示すフローチャートである(図13に続く)。 ECUによる更新処理、及び、その更新処理の開始判断に係る処理の一例を示すフローチャートである(図12から続く)。 実施の形態2に係る車載ネットワークシステムの全体構成を示す図である。 実施の形態2に係るECUの構成図である。 判定ルールの一例を示した図である。 ゲートウェイの構成図である。 転送ルールの一例を示した図である。 ゲートウェイによる更新開始フレーム送信処理の一例を示すフローチャートである。 ECUによる更新処理、及び、その更新処理の開始判断に係る処理の一例を示すフローチャートである(図21に続く)。 ECUによる更新処理、及び、その更新処理の開始判断に係る処理の一例を示すフローチャートである(図20から続く)。 ECUによる更新処理、及び、その更新処理の開始判断に係る処理の一例を示すフローチャートである(図23に続く)。 ECUによる更新処理、及び、その更新処理の開始判断に係る処理の一例を示すフローチャートである(図22から続く)。
本開示の一態様に係る更新処理方法は、CAN(Controller Area Network)プロトコルに従ってバスを介してメッセージ認証コード(MAC:Message Authentication Code)が付加されたデータフレームの授受を行う複数の電子制御ユニットを備える車載ネットワークシステムにおいて、当該メッセージ認証コードの生成に利用されるMAC鍵の更新のために、用いられる更新処理方法であって、前記車載ネットワークシステムを搭載する車両の状態を検出する検出ステップと、前記検出ステップで検出された車両の状態が所定状態であることを条件として前記メッセージ認証コードの生成に利用されるMAC鍵を更新する更新ステップとを含む更新処理方法である。車両の状態と電子制御ユニット(ECU)の処理負荷或いはバスのトラフィック量とは、ある程度の関連性を有するため、例えばMAC鍵を更新するために適した車両の状態において更新を行うことで、ECU間で同期した更新が可能になる。MACの生成に用いられるMAC鍵の更新が適切に行えるため、不正なノードによるMACに対する総当り攻撃への耐性が高まる。
また、前記複数の電子制御ユニットのうち、所定メッセージIDで識別されるデータフレームを送信する第1電子制御ユニットは、送信回数をカウントする送信カウンタの値を反映するように前記MAC鍵を用いてメッセージ認証コードを生成して前記データフレームに付加し、前記複数の電子制御ユニットのうち、前記所定メッセージIDで識別されるデータフレームを受信する第2電子制御ユニットは、受信回数をカウントする受信カウンタの値を反映するように前記MAC鍵を用いてメッセージ認証コードを生成して前記データフレームに当該メッセージ認証コードが付加されていることを検証し、前記更新処理方法は更に、前記検出ステップで検出された車両の状態が前記所定状態であることを条件として前記送信カウンタ及び前記受信カウンタをリセットするリセットステップとを含むこととしても良い。これにより、MACの生成に用いられるカウンタ値(送信カウンタ、受信カウンタ)がリセットされるため、不正なノードによるMACに対する総当り攻撃への耐性が高まる。
また、前記車載ネットワークシステムは複数のバスを備え、前記更新ステップでは、前記複数の電子制御ユニットのうち1以上の電子制御ユニット各々により、当該電子制御ユニットが保持して利用するMAC鍵について、前記更新が行われ、前記更新の条件となる前記所定状態は、当該電子制御ユニットが接続されているバスに対応して定められることとしても良い。これにより、ECUが接続されているバスに適した車両の状態に対応してMAC鍵の更新を実行できるようになる。
また、前記車載ネットワークシステムは複数のバスを備え、前記複数のバスの各々は、複数種類のグループのうちいずれかのグループに属し、前記更新ステップでは、前記複数の電子制御ユニットのうち1以上の電子制御ユニット各々により、当該電子制御ユニットが保持して利用するMAC鍵について、前記更新が行われ、前記更新の条件となる前記所定状態は、当該電子制御ユニットが接続されているバスが属するグループに対応して定められることとしても良い。これにより、ECUが接続されているバスが属するグループに適した車両の状態に対応してMAC鍵の更新を実行できるようになる。
また、前記更新ステップでは、前記MAC鍵の前回の更新時から計数される所定の数量が一定数量に達したタイミングにおいて前記検出ステップで検出された車両の状態が前記所定状態であれば、前記MAC鍵の更新を行うこととしても良い。これにより、MAC鍵の更新が一定時間を空けて実行されるようになる。
また、前記更新ステップでは、前記MAC鍵の前回の更新時から計数される所定の数量が一定数量に達したタイミングにおいて前記検出ステップで検出された車両の状態が前記所定状態でない場合に、前記検出ステップで検出された車両の状態が前記所定状態に変化したタイミングで前記MAC鍵の更新を行うこととしても良い。これにより、MAC鍵の前回の更新から一定時間を超えていれば車両の状態が所定状態になり次第更新が行われるようになる。
また、前記所定状態は、前記車両が走行していない状態であることとしても良い。また、前記所定状態は、駐車状態であることとしても良い。これにより、例えば車両の走行中におけるECUの処理負荷をMAC鍵の更新により高めることが抑制される。
また、本開示の一態様に係る車載ネットワークシステムは、CAN(Controller Area Network)プロトコルに従ってバスを介してメッセージ認証コード(MAC:Message Authentication Code)が付加されたデータフレームの授受を行う複数の電子制御ユニットを備える車載ネットワークシステムであって、メッセージ認証コードを生成して、所定メッセージIDで識別されるデータフレームに付加して送信する第1電子制御ユニットと、メッセージ認証コードを生成して、前記所定メッセージIDで識別されるデータフレームを受信して当該データフレームに当該メッセージ認証コードが付加されていることを検証する第2電子制御ユニットとを備え、前記第1電子制御ユニット及び前記第2電子制御ユニットの各々は、前記メッセージ認証コードの生成に利用されるMAC鍵を保持するMAC鍵保持部と、前記車載ネットワークシステムを搭載する車両の状態が所定状態であることを条件として前記MAC鍵保持部に保持されるMAC鍵を更新する更新処理部とを有する車載ネットワークシステムである。これにより、CANのフレーム(メッセージ)を送信するECU間で、メッセージへの付加又は検証のためにMACを生成する際に用いられるMAC鍵の更新が適切に行われるため、不正なノードによるMACに対する総当り攻撃への耐性が高まる。
また、前記第1電子制御ユニット及び前記第2電子制御ユニットの更新処理部は、予め定められた特定メッセージIDで識別される特定フレームを受信した場合に前記車両の状態が所定状態であるか否かを判定し、当該車両の状態が所定状態であるときにMAC鍵の前記更新を行うこととしても良い。これにより、各ECUは特定フレームの受信タイミングを利用して、容易にMAC鍵の更新タイミングを合わせることができる。
また、本開示の一態様に係る電子制御ユニット(ECU)は、CAN(Controller Area Network)プロトコルに従ってバスを介して、データフレームにメッセージ認証コード(MAC:Message Authentication Code)を付加して送信するため、或いは、データフレームを受信して当該データフレームにメッセージ認証コードが付加されていることを検証するために、メッセージ認証コードを生成する電子制御ユニットであって、前記メッセージ認証コードの生成に利用されるMAC鍵を保持するMAC鍵保持部と、前記電子制御ユニットを搭載する車両の状態が所定状態であることを条件として前記MAC鍵保持部に保持されるMAC鍵を更新する更新処理部とを備える電子制御ユニットである。これにより、CANのフレームへの付加又は検証のためにMACを生成する際に用いられるMAC鍵の更新を車両の状態を認識し得る他のECUと同期したタイミングで実行できる。従って、MAC鍵の更新が適切に行われ、このECUを含む車載ネットワークシステムにおいて不正なノードによるMACに対する総当り攻撃への耐性が高まる。
なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD−ROM等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されても良い。
以下、実施の形態に係る不正検知ECUを含む車載ネットワークシステムについて、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、ステップ(工程)及びステップの順序等は、一例であって本開示を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
(実施の形態1)
以下、本開示の実施の形態として、車両の状態に応じてMACの生成に利用されるデータの更新に関連した更新処理を行う更新処理方法を実現する車載ネットワークシステム10について図面を用いて説明する。
[1.1 車載ネットワークシステム10の全体構成]
図1は、実施の形態1に係る車載ネットワークシステム10の全体構成を示す図である。車載ネットワークシステム10は、CANプロトコルに従って通信するネットワーク通信システムの一例であり、制御装置、センサ等の各種機器が搭載された自動車におけるネットワーク通信システムである。車載ネットワークシステム10は、バス200と、各種機器に接続されたECU100a〜100d等のECUといったバスに接続された各ノードとを含んで構成される。なお、図1では省略しているものの、車載ネットワークシステム10にはECU100a〜100d以外にもいくつものECUが含まれ得るが、ここでは、便宜上ECU100a〜100dに注目して説明を行う。ECUは、例えば、プロセッサ(マイクロプロセッサ)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ROM、RAM等であり、プロセッサにより実行される制御プログラム(コンピュータプログラム)を記憶することができる。例えばプロセッサが、制御プログラム(コンピュータプログラム)に従って動作することにより、ECUは各種機能を実現することになる。なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。ここでは、バス200には不正なフレームを送信する不正ECUが接続されている可能性があることを前提として説明する。
ECU100a〜100dは、バス200と接続され、それぞれエンジン310、ブレーキ320、ドア開閉センサ330、窓開閉センサ340に接続されている。ECU100a〜100dのそれぞれは、接続されている機器(エンジン310等)の状態を取得し、定期的に状態を表すフレーム(後述するデータフレーム)等をネットワーク(つまりバス)に送信している。
この車載ネットワークシステム10においてはCANプロトコルに従って各ECUがフレームの授受を行う。CANプロトコルにおけるフレームには、データフレーム、リモートフレーム、オーバーロードフレーム及びエラーフレームがある。説明の便宜上、ここではデータフレーム及びエラーフレームを中心に説明する。
[1.2 データフレームフォーマット]
以下、CANプロトコルに従ったネットワークで用いられるフレームの1つであるデータフレームについて説明する。
図2は、CANプロトコルで規定されるデータフレームのフォーマットを示す図である。同図には、CANプロトコルで規定される標準IDフォーマットにおけるデータフレームを示している。データフレームは、SOF(Start Of Frame)、IDフィールド、RTR(Remote Transmission Request)、IDE(Identifier Extension)、予約ビット「r」、DLC(Data Length Code)、データフィールド、CRC(Cyclic Redundancy Check)シーケンス、CRCデリミタ「DEL」、ACK(Acknowledgement)スロット、ACKデリミタ「DEL」、及び、EOF(End Of Frame)の各フィールドで構成される。
SOFは、1bitのドミナントで構成される。バスがアイドルの状態はレセシブになっており、SOFによりドミナントへ変更することでフレームの送信開始を通知する。
IDフィールドは、11bitで構成される、データの種類を示す値であるID(メッセージID)を格納するフィールドである。複数のノードが同時に送信を開始した場合、このIDフィールドで通信調停を行うために、IDが小さい値を持つフレームが高い優先度となるよう設計されている。
RTRは、データフレームとリモートフレームとを識別するための値であり、データフレームにおいてはドミナント1bitで構成される。
IDEと「r」とは、両方ドミナント1bitで構成される。
DLCは、4bitで構成され、データフィールドの長さを示す値である。なお、IDE、「r」及びDLCを合わせてコントロールフィールドと称する。
データフィールドは、最大64bitで構成される送信するデータの内容を示す値である。8bit毎に長さを調整できる。送られるデータの仕様については、CANプロトコルで規定されておらず、車載ネットワークシステム10において定められる。従って、車種、製造者(製造メーカ)等に依存した仕様となる。
CRCシーケンスは、15bitで構成される。SOF、IDフィールド、コントロールフィールド及びデータフィールドの送信値より算出される。
CRCデリミタは、1bitのレセシブで構成されるCRCシーケンスの終了を表す区切り記号である。なお、CRCシーケンス及びCRCデリミタを合わせてCRCフィールドと称する。
ACKスロットは、1bitで構成される。送信ノードはACKスロットをレセシブにして送信を行う。受信ノードはCRCシーケンスまで正常に受信ができていればACKスロットをドミナントとして送信する。レセシブよりドミナントが優先されるため、送信後にACKスロットがドミナントであれば、送信ノードは、いずれかの受信ノードが受信に成功していることを確認できる。
ACKデリミタは、1bitのレセシブで構成されるACKの終了を表す区切り記号である。
EOFは、7bitのレセシブで構成されており、データフレームの終了を示す。
[1.3 ECU100aの構成]
図3は、ECU100aの構成図である。ECU100aは、フレーム送受信部101と、フレーム解釈部102と、受信ID判断部103と、受信IDリスト保持部104と、フレーム処理部105と、車両状態保持部106と、判定ルール保持部107と、タイマー108と、更新判定部109と、更新処理部110と、MAC鍵保持部111と、カウンタ保持部112と、MAC生成部113と、フレーム生成部114と、データ取得部115とを含んで構成される。これらの各構成要素は、機能的な構成要素であり、その各機能は、ECU400aにおける通信回路、メモリに格納された制御プログラムを実行するプロセッサ或いはデジタル回路等により実現される。なお、ECU100b〜100dも同様の構成を備える。
フレーム送受信部101は、バス200に対して、CANのプロトコルに従ったフレームを送受信する。バス200からフレームを1bitずつ受信し、フレーム解釈部102に転送する。また、フレーム生成部114より通知を受けたフレームの内容をバス200に送信する。
フレーム解釈部102は、フレーム送受信部101よりフレームの値を受け取り、CANプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行う。IDフィールドと判断した値は受信ID判断部103へ転送する。フレーム解釈部102は、受信ID判断部103から通知される判定結果に応じて、IDフィールドの値と、IDフィールド以降に現れるデータフィールドとを、フレーム処理部105へ転送するか、その判定結果を受けた以降においてフレームの受信を中止する(つまりそのフレームとしての解釈を中止する)かを決定する。また、フレーム解釈部102は、CANプロトコルに則っていないフレームと判断した場合は、エラーフレームを送信するようにフレーム生成部114へ通知する。また、フレーム解釈部102は、エラーフレームを受信した場合、つまり受け取ったフレームにおける値からエラーフレームになっていると解釈した場合には、それ以降はそのフレームを破棄する、つまりフレームの解釈を中止する。また、フレーム解釈部102は、データフレーム内のACKスロットの内容をフレーム処理部105へ通知する。
受信ID判断部103は、フレーム解釈部102から通知されるIDフィールドの値を受け取り、受信IDリスト保持部104に保持しているメッセージIDのリストに従い、そのIDフィールド以降のフレームの各フィールドを受信するかどうかの判定を行う。この判定結果を、受信ID判断部103は、フレーム解釈部102へ通知する。
受信IDリスト保持部104は、ECU100aが受信するID(メッセージID)のリストである受信IDリストを保持する。図4は、受信IDリストの一例を示した図である。
フレーム処理部105は、フレーム解釈部102より受信した全てのデータフレームのメッセージIDとデータフィールドの値とに対して、MAC鍵保持部111よりメッセージIDに対応したMAC鍵を取得し、カウンタ保持部112よりメッセージIDに対応したカウンタ値を取得し、データフィールドに含まれるMACを検証する。このMACの検証は、データフレーム(メッセージ)の正当性を検証する意義を有する。具体的には、フレーム処理部105は、MAC生成部113と同様の方法(後述)でMACを計算により生成し、生成したMACとデータフィールド中のMACとを比較して、両MACが一致すれば検証に成功したと判定し、一致しなければエラーと判定する(つまり検証に失敗したと判定する)。検証の結果、エラーと判定(つまり検証に失敗したと判定)すれば、フレーム解釈部102へ通知し、以降の受信処理を中止する。また、車両の状態(車両状態)を通知するフレームを受信した場合、車両状態保持部106へそのフレームに応じた車両状態を通知する。また、フレーム処理部105は、受信したフレームのデータに応じて、ECU毎に異なる処理を行う。例えば、エンジン310に接続されたECU100aは、時速が30kmを超えた状態でドアが開いている状態だと、アラーム音を鳴らす機能を備える。ECU100aは、例えばアラーム音を鳴らすためのスピーカ等を有している。そして、ECU100aのフレーム処理部105は、他のECUから受信したデータ(例えばドアの状態を示す情報)を管理し、エンジン310から取得された時速に基づいて一定条件下でアラーム音を鳴らす処理等を行う。ECU100cは、ブレーキがかかっていない状況でドアが開くとアラーム音を鳴らす機能を備える。ECU100b、100dでは特に何もしない。なお、ECU100a〜100dは上記以外の機能を備えていてもよい。また、フレーム処理部105は、データフレーム内のACKスロットの値を確認し、ECU100aが送信したフレームが、他のECUに正常に受信されているかどうかを確認し、確認した結果を更新処理部110へ通知する。なお、フレーム処理部105によりMACの検証が行われるので、バス200に不正ECUが接続されて不正なフレームを送信したとしても検証に失敗し、不正なフレームによる車両の制御等が阻止される。
車両状態保持部106は、フレーム処理部105より通知された現在の車両状態(つまり現在迄に最後に通知された車両状態)を保持する。具体的な車両状態の一例としては、「走行中」、「停車中」、「駐車中」が挙げられる。車載ネットワークシステム10は、例えば、車両におけるギアのセンサ等に接続されて、ギアポジション(例えばパーキング、ニュートラル、1速、2速等)から車両状態を特定して、特定した車両状態を通知するためのフレームをバス200へと送信するECU(不図示)を含み得る。また、車載ネットワークシステム10は、複数のECUから通知された情報に基づいて車両状態を特定して、特定した車両状態を通知するためのフレームを送信するECU(不図示)を含むこととしても良い。
判定ルール保持部107は、車両状態に応じて更新処理を行うかどうかを対応付けた判定ルールを保持する。図5は、車両状態に応じた判定ルールの一例を示した図である。
タイマー108は、経過時間に対応するタイマー値のカウントアップを繰り返す計時機構であり、前回の更新処理が完了してからの経過時間を更新判定部109へ通知する。また、更新判定部109からの更新処理完了通知に基づいて、リセットを行う。
更新判定部109は、タイマー108に基づき、予め定められた更新タイミングが到来したら、車両状態保持部106から現在の車両状態を取得し、車両状態に対応して判定ルール保持部107から取得した判定ルールに応じて、MACの生成に利用されるデータ(つまりMAC鍵、カウンタ値)の更新に関連する更新処理を実行するか否かを判定する。更新処理は、具体的には、MACを生成するために用いる鍵であるMAC鍵の値を更新する鍵更新処理と、MACに反映するカウンタ値をリセット(つまりゼロ等の特定値に更新)するカウンタリセット処理とを意味する。更新判定部109は、MACの生成に利用されるデータを更新すると決定(判定)した場合には、更新処理部110へ通知する。更新しないと判定(決定)した場合は、車両状態の変化を待つ。更新処理が完了した場合、更新判定部109は、タイマー108に更新処理完了通知を伝え、これによりタイマー108がリセットされる。更新タイミングは、タイマー108に基づき判定され、予め定められた一定時間(例えば6時間、1日等)が経過したタイミングである。
更新処理部110は、更新判定部109からの通知に従って更新処理を行う。即ち、更新判定部109から通知を受けた更新処理部110は、MAC鍵保持部111が保持しているMAC鍵を取得し、旧鍵としてキャッシュしておき、新たにMAC鍵候補となる鍵を生成し、MAC鍵保持部111へ通知する。また、更新判定部109から通知を受けた更新処理部110は、カウンタ保持部112が保持しているカウンタ値を取得し、キャッシュしておき(つまり一時的に記憶媒体に保持しておき)、カウンタ保持部112に対し、カウンタ値をリセットするよう通知する。また、フレーム解釈部102より正常な受信が確認できなかったという通知を受けた場合であって、かつ、MAC鍵、カウンタ値のキャッシュを持っている場合(つまり一時的に記憶媒体に保持している場合)には、キャッシュしている鍵をMAC鍵保持部111へ通知し、キャッシュしているカウンタ値をカウンタ保持部112へ通知する。また、フレーム解釈部102より正常な受信が確認できたという通知を受けた場合であって、かつ、MAC鍵、カウンタ値のキャッシュを持っている場合は、MAC鍵、カウンタ値のキャッシュを削除する(つまり記憶媒体から削除する等により一時的に保持していた値を以後使用できないものと扱う)。MAC鍵の生成方法については、例えば、現在のMAC鍵を、予め定められた一方向関数(例えばハッシュ関数等)に入力して導出される結果を新たなMAC鍵候補となる鍵とする方法を用いる。
MAC鍵保持部111は、メモリ等の記憶媒体により実現され、MAC生成部113及びフレーム処理部105がMACを計算する際に必要となるMAC鍵を、メッセージID毎に1つ保持する。MAC鍵保持部111は、更新処理部110からの通知に従って、これまで持っていた鍵を破棄し、通知された鍵をMAC鍵として保持する。
カウンタ保持部112は、メモリ等の記憶媒体を含んで実現され、MAC生成部113及びフレーム処理部105がMACを計算する際に必要となるカウンタ値を、メッセージID毎に1つ保持する。なお、カウンタ保持部112に保持されるカウンタ値は、フレームが正常に送信された場合にインクリメント(1増加)される。この方法として、データフレームを送信する場合においてはカウンタ値を送信カウンタとして扱い、送信回数をカウントする。また、データフレームを受信する場合においてはカウンタ値を受信カウンタとして扱い、受信回数をカウントする。例えば、メッセージIDが「1」のデータフレームを送信するECU100aにおいては、カウンタ保持部112に保持しているメッセージIDが「1」に対応するカウンタ値を、送信カウンタとして扱い、1回送信する毎に送信カウンタをインクリメントする。また、例えばメッセージIDが「1」のデータフレームを受信するECU100bにおいては、カウンタ保持部112に保持しているメッセージIDが「1」に対応するカウンタ値を、受信カウンタとして扱い、送信されたデータフレームが正常に受信された毎に受信カウンタをインクリメントする。またカウンタ保持部112は、更新処理部110からの通知に従って、通知されたカウンタ値を保持し、また、更新処理部110からのリセットすべき旨の通知に従って、保持しているカウンタ値をリセットする。このリセットによりカウンタ値は、ゼロ等の特定値に更新される。
MAC生成部113は、フレーム生成部114より通知されるメッセージIDとデータフィールド用のデータの値と、カウンタ保持部112で保持するカウンタ値(つまりメッセージIDに対応するカウンタ値)とを結合した値(結合値)に対し、MAC鍵保持部111で保持するMAC鍵(つまりメッセージIDに対応するMAC鍵)を用いて、MACを算出(つまりMACの値を計算により導出)して、この算出した結果であるMACをフレーム生成部114へと通知する。ここではMACの計算方法として、HMAC(Hash-based Message Authentication Code)(非特許文献2参照)を採用し、上述した結合値に対し、所定のブロック分(例えば4bytes)までパディングした値でMAC鍵を使って計算し、出てきた計算結果の先頭4bytesをMAC値とする。なお、ここでのMAC値のサイズ、計算方法は一例であり、これに限定されるものではない。フレームが送信される毎にインクリメントされるカウンタ値を反映してMACは生成されるので、たとえ同じデータの値を含むデータフレームを複数回送信したとしても、データフレームに付与(つまり付加)されるMACは送信の都度変化する。
フレーム生成部114は、フレーム解釈部102から通知されたエラーフレームの送信を指示する通知に従い、エラーフレームを構成し、エラーフレームをフレーム送受信部101へ通知して送信させる。また、フレーム生成部114は、予め定められたメッセージIDとデータ取得部115より通知されたデータの値(データフィールド用のデータの値)とをMAC生成部113へ通知することによりMACの通知を受ける。フレーム生成部114は、予め定められたメッセージIDと、通知されたMACと、通知されたデータフィールド用のデータの値とに基づきフレームを構成し、フレーム送受信部101へ通知する。なお、ECU100a〜100dのそれぞれが送信するフレームの内容については後に図6〜図9を用いて説明する。
データ取得部115は、ECUにつながっている機器、センサ等の状態を示すデータを取得し、フレーム生成部114に通知する。
[1.4 受信IDリスト例]
図4は、ECU100a〜100dのそれぞれにおいて保持される受信IDリストの一例を示す図である。同図に例示する受信IDリストは、ID(メッセージID)の値が「1」、「2」、「3」及び「4」のいずれかであるメッセージIDを含むフレームを選択的に受信して処理するために用いられる。例えば、ECUの受信IDリスト保持部104に図4の受信IDリストが保持されていると、メッセージIDが「1」、「2」、「3」及び「4」のいずれでもないフレームについては、フレーム解釈部102でのIDフィールド以後のフレームの解釈が中止される。
[1.5 判定ルール例]
図5は、ECU100a〜100dのそれぞれにおいて保持される判定ルールの一例を示す図である。この判定ルールは、更新処理を実行する条件としての、車載ネットワークシステム10を搭載している車両の状態(車両状態)を定めるものであり、車両状態が判定ルールで定められた所定状態(例えば「駐車中」等)であれば更新処理の実行が可能となる。同図に例示する判定ルールは、車両状態が「走行中」及び「停車中」のいずれかの場合には、更新タイミング(つまり鍵更新、カウンタリセットの実行タイミング)が到来しても更新処理を実施せずに待機し、その後に車両状態が「駐車中」に変化したタイミングで更新処理を実施することを示し、また、車両状態が「駐車中」の場合には、更新タイミングが到来すれば更新処理を実施することを示している。
[1.6 エンジンに係るECU100aの送信フレーム例]
図6は、エンジン310に接続されたECU100aから送信されるデータフレームにおけるID(メッセージID)及びデータフィールド(データ)の一例を示す図である。ECU100aが送信するフレームのメッセージIDは「1」である。データは、同図において1バイト毎に空白で区分して表しており、先頭の1byteが時速(km/時)を表し、次の1byteはカウンタ値を表し、次の4bytesがMACを表す。なお、図6の例においてMACは16進数で表記している。先頭1byteの時速(km/時)は、最低0(km/時)〜最高180(km/時)までの範囲の値を取る。図6の上行から下行へと、ECU100aから逐次送信される各フレームに対応する各メッセージID及びデータを例示しており、カウンタ値が次第に増加し、時速が0km/時から1km/時ずつ加速されている様子を表している。
[1.7 ブレーキに係るECU100bの送信フレーム例]
図7は、ブレーキ320に接続されたECU100bから送信されるデータフレームにおけるID(メッセージID)及びデータフィールド(データ)の一例を示す図である。ECU100bが送信するフレームのメッセージIDは「2」である。データは、同図において1バイト毎に空白で区分して表しており、先頭の1byteがブレーキのかかり具合を割合(%)で表し、次の1byteはカウンタ値を表し、次の4bytesがMACを表す。なお、図7の例においてMACは16進数で表記している。先頭1byteのブレーキのかかり具合は、ブレーキを全くかけていない状態を0(%)、ブレーキを最大限かけている状態を100(%)としたものである。図7の上行から下行へと、ECU100bから逐次送信される各フレームに対応する各メッセージID及びデータを例示しており、カウンタ値が次第に増加し、ブレーキについては100%から徐々にブレーキを弱めている様子を表している。
[1.8 ドア開閉センサに係るECU100cの送信フレーム例]
図8は、ドア開閉センサ330に接続されたECU100cから送信されるデータフレームにおけるID(メッセージID)及びデータフィールド(データ)の一例を示す図である。ECU100cが送信するフレームのメッセージIDは「3」である。データは、同図において1バイト毎に空白で区分して表しており、先頭の1byteがドアの開閉状態を表し、次の1byteはカウンタ値を表し、次の4bytesがMACを表す。なお、図8の例においてMACは16進数で表記している。先頭1byteのドアの開閉状態は、ドアが開いている状態を「1」、ドアが閉まっている状態を「0」としたものである。図8の上行から下行へと、ECU100cから逐次送信される各フレームに対応する各メッセージID及びデータを例示しており、カウンタ値が次第に増加し、ドアが開いている状態から次第に閉められた状態へと移った様子を表している。
[1.9 窓開閉センサに係るECU100dの送信フレーム例]
図9は、窓開閉センサ340に接続されたECU100dから送信されるデータフレームにおけるID(メッセージID)及びデータフィールド(データ)の一例を示す図である。ECU100dが送信するフレームのメッセージIDは「4」である。データは、同図において1バイト毎に空白で区分して表しており、先頭の1byteが窓の開閉状態を割合(%)で表し、次の1byteはカウンタ値を表し、次の4bytesがMACを表す。なお、図9の例においてMACは16進数で表記している。先頭1byteの窓の開閉状態は、窓が完全に閉まっている状態を0(%)、窓が全開の状態を100(%)としたものである。図9の上行から下行へと、ECU100dから逐次送信される各フレームに対応する各メッセージID及びデータを例示しており、カウンタ値が次第に増加し、窓が閉まっている状態から徐々に開いていく様子を表している。
[1.10 更新処理]
以下、上述した各ECUによるデータフレームの送信に際してのMACの付与、及び、データフレームの受信に際してのMACの検証において用いられるMACの生成に必要となるデータの更新に関連した更新処理について説明する。
メッセージ毎にMACの付与及び検証に用いるMAC鍵及びカウンタ値に関する更新は、各ECUにおいて同期して実行される必要がある。ここでは、一例として、ECU100aが更新の同期を確認するためのデータフレーム(「更新フレーム」と称する。)をバス200に送信し、その他のECU(ECU100b等)が更新フレームをバス200から受信する例を用いて、1つのメッセージIDに対応するMACに係る更新処理について説明する。なお、どのECUが更新フレームを送信しても良いが、例えば、メッセージID「1」のデータフレームを繰り返し送信するECU100aが、メッセージID「1」に対応するMACに係る更新処理を同期させるための更新フレームを送信することとしても良い。
図10及び図11は、ECU100aによる更新処理、及び、その更新処理の開始判断に係る処理の一例を示すフローチャートである。以下、図10及び図11に即してECU100aの動作について説明する。
ECU100aは、内部に持つタイマー108により、前回の更新処理からの経過時間を確認する(ステップS1001)。そしてECU100aは、経過時間が予め定められた一定時間に達して、更新タイミングが到来しているかどうかを判定する(ステップS1002)。更新タイミングが到来していない場合には、経過時間がその一定時間に達するまでタイマー108による経過時間の確認を繰り返す。更新タイミングが到来している場合には、ECU100aは、現在の車両状態の確認を行う(ステップS1003)。
ECU100aは、現在の車両状態に基づいて、判定ルール保持部107に保持されている判定ルールに従って、更新処理を行うかどうかを判定する(ステップS1004)。車両状態が判定ルールで定められた更新処理を行う状態に変化するまで更新処理は行わず、車両状態の確認を継続する(ステップS1003)。また、車両状態が判定ルールで定められた更新処理を行う状態であれば、図11のステップS1006以降の更新処理を開始する(ステップS1005)。図5に示した判定ルールの例に従うと、車両状態が「走行中」「停車中」であれば、車両状態が「駐車中」に変化するまで待ってから更新処理を行い、また、車両状態が「駐車中」であれば即座に更新処理を開始する(ステップS1005)。
更新処理を開始したECU100aは、MAC鍵保持部111により保持しているMAC鍵を、旧鍵としてキャッシュする(ステップS1006)。続いて、ECU100aは、新たにMAC鍵候補となる鍵を生成して、MAC鍵としてMAC鍵保持部111に保持する(ステップS1007)。
また、ECU100aは、カウンタ保持部112により保持しているカウンタ値を、キャッシュする(ステップS1008)。続いて、ECU100aは、カウンタ保持部112により保持しているカウンタ値をゼロにリセットする(ステップS1009)。
次に、ECU100aは、予め定められたメッセージIDと、データフィールド用のデータ値と、リセット後のカウンタ保持部112に保持しているカウンタ値と、新たに生成されMAC鍵保持部111に保持しているMAC鍵とを用いてMACを生成する(ステップS1010)。そして、メッセージIDとデータフィールド用のデータ値とステップS1010において生成されたMACとを含む更新フレームを生成してブロードキャスト(つまり更新フレームのバス200への送信)を行う(ステップS1011)。
ステップS1011での更新フレームの送信後にECU100aは、更新フレームの受信に成功(つまり正常に受信)したノード(ECU)が存在するかどうかを、ACKスロットの値を見ることで判定する(ステップS1012)。受信に成功したノードが存在する場合にはECU100aは、キャッシュを破棄して(ステップS1015)、更新処理を終える。
ステップS1012での判定の結果として、更新フレームの受信に成功したノードが存在しなかった場合には、ECU100aは、キャッシュしておいた旧鍵を、再度MAC鍵としてMAC鍵保持部111に保持させ(ステップS1013)、キャッシュしておいたカウンタ値を、再度カウンタ値としてカウンタ保持部112に保持させる(ステップS1014)。次に、ECU100aは、予め定められたメッセージIDと、データフィールド用のデータ値と、キャッシュから再設定したカウンタ保持部112のカウンタ値と、キャッシュから再設定したMAC鍵保持部111のMAC鍵とを用いてMACを生成する(ステップS1015)。そして、メッセージIDとデータフィールド用のデータ値とステップS1015において生成されたMACとを含む更新フレームを生成してブロードキャスト(つまり更新フレームのバス200への送信)を行う(ステップS1016)。
ステップS1016での更新フレームの送信後にECU100aは、更新フレームの受信に成功したノードが存在するかどうかを、ACKスロットの値を見ることで判定する(ステップS1017)。受信に成功したノードが存在する場合にはECU100aは、予め定められた一定時間(例えば数秒間、数分間等)待機してから再びステップS1006に戻って更新処理を実施する(ステップS1018)。また、ステップS1017において受信に成功したノードが存在しない場合には、致命的なエラーが発生したものと看做して、更新処理を中止する(ステップS1019)。更新処理を中止した場合には、ECU100aは、エラー発生について報知、ログの記録等の処理を実行しても良い。また、エラー発生の報知は、他のECUへのエラー発生を示すデータフレームの送信、ディスプレイ等への表示、音声出力、発光等により、実行され得る。
図12及び図13は、ECU100bによる更新処理、及び、その更新処理の開始判断に係る処理の一例を示すフローチャートである。なお、図12及び図13に示す処理手順(ステップ)のうち図10及び図11で示したステップと同一のステップについては、同じ符号を用いており、説明を適宜省略する。また、ECU100c及びECU100dもECU100bと同様の更新処理を行い得る。以下、図12及び図13に即してECU100bの動作について説明する。
ECU100bは、前回の更新処理からの経過時間を確認する(ステップS1001)。そしてECU100bは、経過時間が予め定められた一定時間に達して、更新タイミングが到来しているかどうかを判定する(ステップS1002)。更新タイミングが到来していない場合には、経過時間がその一定時間に達するまで経過時間の確認を繰り返す。更新タイミングが到来している場合には、ECU100bは、現在の車両状態の確認を行う(ステップS1003)。
ECU100bは、現在の車両状態に基づいて、判定ルールに従って更新処理を行うかどうかを判定する(ステップS1004)。車両状態が判定ルールで定められた更新処理を行う状態に変化するまで更新処理は行わず、車両状態の確認を継続する(ステップS1003)。また、車両状態が判定ルールで定められた更新処理を行う状態であれば、図13のステップS1101以降の更新処理を開始する(ステップS1005)。
更新処理を開始したECU100bは、バス200上に更新フレームが送信されるまで、つまり更新フレームが受信できるまで、待機する(ステップS1101)。
続いて、更新フレームを受信したECU100bは、MAC鍵保持部111により保持しているMAC鍵を、旧鍵としてキャッシュする(ステップS1006)。続いて、ECU100bは、新たにMAC鍵候補となる鍵を生成して、MAC鍵としてMAC鍵保持部111に保持する(ステップS1007)。
また、ECU100bは、カウンタ保持部112により保持しているカウンタ値を、キャッシュする(ステップS1008)。続いて、ECU100bは、カウンタ保持部112により保持しているカウンタ値をゼロにリセットする(ステップS1009)。
次に、ECU100bは、受信した更新フレームのメッセージIDと、データフィールドのデータ値と、リセット後のカウンタ保持部112に保持しているカウンタ値と、新たに生成されMAC鍵保持部111に保持しているMAC鍵とを用いてMACを生成し、更新フレームに含まれるMACと比較することによりMACを検証する(ステップS1102)。両MACが一致すれば検証に成功する。ECU100bは、MACの検証に成功したか否かを判定し(ステップS1103)、検証に成功した場合には、受信に成功した旨を示すためにACKスロットをドミナントにし、キャッシュを破棄して(ステップS1015)、更新処理を終える。
ステップS1103での判定の結果として、検証に成功しなかった場合には、ECU100bは、キャッシュしておいた旧鍵を、再度MAC鍵としてMAC鍵保持部111に保持させ(ステップS1013)、キャッシュしておいたカウンタ値を、再度カウンタ値としてカウンタ保持部112に保持させる(S1014)。次に、ECU100bは、バス200上に更新フレームが送信されるまで、つまり更新フレームが受信できるまで、待機する(ステップS1104)。
続いて、更新フレームを再び受信したECU100bは、受信した更新フレームのメッセージIDと、データフィールドのデータ値と、キャッシュからカウンタ保持部112に再設定したカウンタ値と、キャッシュからMAC鍵保持部111に再設定したMAC鍵とを用いてMACを生成し、更新フレームに含まれるMACと比較することによりMACを検証する(ステップS1105)。ECU100bは、MACの検証に成功したか否かを判定し(ステップS1106)、検証に成功した場合には、受信に成功した旨を示すためにACKスロットをドミナントにし、予め定められた一定時間(送信側のステップS1018での一定時間と同じ時間)待機してから再びステップS1101に戻って更新処理を実施する(ステップS1107)。また、ステップS1106において検証に失敗した場合には、致命的なエラーが発生したものと看做して、更新処理を中止する(ステップS1019)。更新処理を中止した場合には、ECU100bは、エラー発生について報知、ログの記録等の処理を実行しても良い。
[1.11 実施の形態1の効果]
実施の形態1で示したECUは、MACの生成に用いるデータの更新に関する更新処理(MAC鍵の更新、カウンタ値のリセット等)を、車両の状態に応じて実行する。この更新処理が適時に実行されるようになるため、バスに接続された不正ECU(不正なノード)によるMACに対する総当り攻撃への耐性が高まる。なお、ECUの実行する処理の処理量(処理負荷)は、車両の状態に応じて変動し得る。従って、例えば処理負荷の低い駐車状態等においてMAC鍵の更新等を行わせることで、効率良く、また、処理遅延等によりエラーが生じることを避けて、複数のECU(あるフレームの送信ノードと対応する受信ノード)が更新を同期して実行できるようになる。なお、同期が的確に実行できなければ、その後において送信ノードが送信したフレームを受信ノードでは正しく検証できなくなる。また、ECUが送信するフレームでバスのトラフィック量が比較的高い場合(例えば走行中の状態等)を避けるように車両の状態に応じて更新処理を行わせることが可能になる。車両状態とECUの処理負荷或いはバスのトラフィック量とは、ある程度の関連性を有するので、車両状態が適切な状態である場合に更新処理を行うことは有用である。例えば、駐車状態において更新処理を実行すること、或いは、車両が走行していない状態において更新処理を実行することは、車載ネットワークシステムにおける処理効率を高める効果を生じ、また、走行中のECUの処理負荷が高まることを抑制できる。また、適切に車両の状態に応じて更新処理を実行することで、更新処理の同期ずれによる通信エラーを抑えることができる。
(実施の形態2)
以下、本開示の別の実施の形態として、複数のバスと、バス間でフレームを転送するゲートウェイとを含む車載ネットワークシステム20について説明する。車載ネットワークシステム20は、車両の状態に応じてMACの生成に利用されるデータの更新に関連した更新処理を行う更新処理方法を実現する。車載ネットワークシステム20では、各ECUは、車両の状態と、自機が接続されているバスに送信される更新開始フレームに応じて更新処理を行う。
[2.1 車載ネットワークシステム20の全体構成]
図14は、実施の形態2に係る車載ネットワークシステム20の全体構成を示す図である。車載ネットワークシステム20は、実施の形態1で示した車載ネットワークシステム10の一部を変形したものであり、特に説明しない点は車載ネットワークシステム10と同様である。車載ネットワークシステム20は、バス2200a、2200bと、ゲートウェイ2400、及び、各種機器に接続されたECU2100a〜2100d等のECUといったバスに接続された各ノードとを含んで構成される。車載ネットワークシステム20の構成要素のうち、実施の形態1と同様の機能を有する構成要素は、同じ符号を付して説明を省略する。
ECU2100a〜2100dは、それぞれ、エンジン310、ブレーキ320、ドア開閉センサ330、窓開閉センサ340に接続されており、接続されている機器(エンジン310等)の状態を取得し、定期的に状態を表すフレームをネットワークに送信している。車載ネットワークシステム20においてはCANプロトコルに従って各ECUがフレームの授受を行う。
ゲートウェイ2400は、一種のECUであり、ECU2100a及びECU2100bがつながるバス2200aと、ECU2100c及びECU2100dがつながるバス2200bとに接続しており、それぞれのバスから受信したフレームを他のバスに転送する機能を有する。また、受信したフレームを転送するかしないかを接続されたバス間毎に切り替えることも可能である。また、ゲートウェイ2400は、内部に持つタイマーが予め定められた値になったタイミングで更新開始フレームを送信する機能を有する。更新開始フレームは、予め定められた特定メッセージIDで識別され、更新処理の開始を通知する特定フレームである。この更新開始フレームは、MACの生成に用いるデータの更新に関連する更新処理を複数のECUが同期して実行するために、有効に働く。
車載ネットワークシステム20は、実施の形態1で示した車載ネットワークシステム10と同様に、例えば、車両におけるギアのセンサ等に接続されて、ギアポジション(例えばパーキング、ニュートラル、1速、2速等)から車両状態を特定して、特定した車両状態を通知するためのフレームを送信するECU(不図示)を含み得る。また、車載ネットワークシステム10は、複数のECUから通知された情報に基づいて車両状態を特定して、特定した車両状態を通知するためのフレームを送信するECU(不図示)を含むこととしても良い。
[2.2 ECU2100aの構成]
図15は、ECU2100aの構成図である。ECU2100aは、フレーム送受信部101と、フレーム解釈部102と、受信ID判断部103と、受信IDリスト保持部104と、フレーム処理部2105と、車両状態保持部106と、判定ルール保持部2107と、更新判定部2109と、更新処理部110と、MAC鍵保持部111と、カウンタ保持部112と、MAC生成部113と、フレーム生成部114と、データ取得部115と、エリア種別保持部2116とを含んで構成される。これらの各構成要素は、機能的な構成要素であり、その各機能は、ECU2100aにおける通信回路、メモリに格納された制御プログラムを実行するプロセッサ或いはデジタル回路等により実現される。なお、ECU2100b〜2100dも同様の構成である。実施の形態1と同様の機能を有する構成要素は、同じ符号を付して説明を省略する。
判定ルール保持部2107は、エリア種別(後述)及び車両状態に応じて更新処理を行うかどうかを対応付けた判定ルールを保持する。図16は、各エリア種別についての車両状態に応じた判定ルールの一例を示した図である。
フレーム処理部2105は、実施の形態1で示したフレーム処理部105の一部を変形したものであり、フレーム解釈部102より受信した全てのデータフレームのメッセージIDとデータフィールドの値とに対して、MAC鍵保持部111よりメッセージIDに対応したMAC鍵を取得し、カウンタ保持部112よりメッセージIDに対応したカウンタ値を取得し、データフィールドに含まれるMAC値を検証する。検証の結果、エラーと判定(つまり検証に失敗したと判定)すれば、フレーム解釈部102へ通知し、以降の受信処理を中止する。また、車両状態を通知するフレームを受信した場合、車両状態保持部106へそのフレームに応じた車両状態を通知する。また、フレーム処理部2105は、更新開始フレームを受信した場合、更新判定部2109に通知する。また、フレーム処理部2105は、受信したフレームのデータに応じて、ECU毎に異なる処理を行う。例えば、ECU2100aでは、時速が30kmを超えた状態でドアが開いている状態だと、アラーム音を鳴らす機能を備える。ECU2100cでは、ブレーキがかかっていない状況でドアが開くとアラーム音を鳴らす機能を備える。ECU2100b、2100dでは特に何もしない。なお、ECU2100a〜2100dは上記以外の機能を備えていてもよい。また、データフレーム内のACKフィールドの値を確認し、ECU2100aが送信したフレームが、他のECUに正常に受信されているかどうかを確認し、確認した結果を更新処理部110へ通知する。
更新判定部2109は、ゲートウェイ2400から送信された更新開始フレームを受信した旨をフレーム処理部2105から通知されたタイミングで、エリア種別保持部2116からECU2100aが接続されたバス2200aの種別を取得し、車両状態保持部106から現在の車両状態を取得し、判定ルール保持部107から取得した判定ルールに応じて、MACの生成に利用されるデータ(つまりMAC鍵、カウンタ値)の更新に関連する更新処理を実行するか否かを判定する。更新処理は、具体的には、MACを生成するために用いる鍵であるMAC鍵の値を更新する鍵更新処理と、MACに反映するカウンタ値をリセット(つまりゼロ等の特定値に更新)するカウンタリセット処理とを意味する。更新判定部109は、MACの生成に利用されるデータを更新すると決定(判定)した場合には、更新処理部110へ通知する。更新しないと判定(決定)した場合は、車両状態の変化を待つ。
エリア種別保持部2116は、自機(ECU2100a)が接続されているバス2200aの種別としてのエリア種別を保持する。エリア種別は、バス及びそのバスに接続されたECUが、複数のグループのいずれに属しているかを識別し得るものであり、そのグループは、例えば「駆動系」、「ボディ系」等の、ECUが接続された機器群の性質等により区別される。ここでは説明の便宜上、車載ネットワークシステム20が2つのバス(バス2200a、バス2200b)を有する例示しているが、車載ネットワークシステムにおいて、より多くのバスを含むことは想定され、多数のバスのうちの一部の複数のバスが同じエリア種別に該当(つまり同じグループに所属)しても良い。バスのエリア種別の具体的な一例としては、エンジン310と接続するECU2100a及びブレーキ320と接続するECU2100aと接続されたバスは、「駆動系」というエリア種別に該当し、ドア開閉センサ330と接続するECU2100c及び窓開閉センサ340と接続するECU2100dと接続されたバスは、「ボディ系」というエリア種別に該当する。この例によれば、ECU2100aのエリア種別保持部2116には、「駆動系」というエリア種別が保持される。
[2.3 判定ルール例]
図16は、ECU2100a〜2100dが保持する判定ルールの一例を示す図である。この判定ルールは、エリア種別毎に、更新処理を実行する条件としての、車載ネットワークシステム20を搭載している車両の状態(車両状態)を定めるものであり、あるエリア種別のバスに接続されたECUにおいてそのエリア種別に対応して車両状態が判定ルールで定められた所定状態(例えば「駐車中」等)であれば、更新処理の実行が可能となる。同図に例示する判定ルールは、「駆動系」というエリア種別のバスに接続されているECU2100a及びECU2100bについては、車両状態が「走行中」及び「停車中」のいずれかの場合には、MAC鍵更新等に関する更新処理を実施すべき更新タイミング(つまり更新開始フレームを受信したタイミング)が到来しても更新処理を実施せずに待機し、その後に車両状態が「駐車中」に変化したタイミングで更新処理を実施することを示し、また、車両状態が「駐車中」の場合には、更新タイミングが到来すれば更新処理を実施することを示している。また、「ボディ系」というエリア種別のバスに接続されているECU2100c及びECU2100dについては、車両状態が「走行中」では、更新タイミングが到来しても更新処理を実施せずに待機し、その後に車両状態が「停車中」又は「駐車中」に変化したタイミングで更新処理を実施することを示し、また、車両状態が「停車中」及び「駐車中」のいずれかの場合には、更新タイミングが到来すれば更新処理を実施することを示している。
[2.4 ゲートウェイ2400の構成]
図17は、ゲートウェイ2400の構成図である。ゲートウェイ2400は、フレーム送受信部2401と、フレーム解釈部2402と、受信ID判断部2403と、受信IDリスト保持部2404と、フレーム処理部2405と、車両状態保持部2406と、判定ルール保持部2407と、更新判定部2409と、更新処理部2410と、MAC鍵保持部2411と、カウンタ保持部2412と、MAC生成部2413と、フレーム生成部2414と、エリア種別保持部2416と、転送処理部2417と、転送ルール保持部2418と、更新処理タイマー2419とを含んで構成される。これらの各構成要素は、機能的な構成要素であり、その各機能は、ゲートウェイ2400における通信回路、メモリに格納された制御プログラムを実行するプロセッサ或いはデジタル回路等により実現される。
フレーム送受信部2401は、ECU2100aのフレーム送受信部101と同様であり、バス2200a、2200bそれぞれに対して、CANプロトコルに従ったフレームを送受信する。フレーム送受信部2401は、バスからフレームを受信し、フレーム解釈部2402に転送する。また、フレーム送受信部2401は、フレーム生成部2414より通知を受けた転送先のバスを示すバス情報及びフレームに基づいて、そのフレームの内容をバス2200a、2200bに送信する。
フレーム解釈部2402は、フレーム送受信部2401よりフレームの値を受け取り、CANプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行う。IDフィールドと判断した値は受信ID判断部2403へ転送する。フレーム解釈部2402は、受信ID判断部2403から通知される判定結果に応じて、IDフィールドの値と、IDフィールド以降に現れるデータフィールド(データ)とを、転送処理部2417及びフレーム処理部2405へ転送するか、フレームの受信を中止するかを決定する。また、フレーム解釈部2402は、CANプロトコルに則っていないフレームと判断した場合は、エラーフレームを送信するように、フレーム生成部2414へ通知する。また、フレーム解釈部2402は、エラーフレームを受信した場合、受信中のフレームについてそれ以降はそのフレームを破棄する、つまりフレームの解釈を中止する。フレーム解釈部2402は、更新開始フレームにおけるACKスロットをフレーム処理部2405へと通知する。フレーム解釈部2402は、更新開始フレーム以外のデータフレームについては、転送処理部2417へと通知する。
受信ID判断部2403は、フレーム解釈部2402から通知されるIDフィールドの値を受け取り、受信IDリスト保持部2404が保持しているメッセージIDのリストに従い、そのIDフィールド以降のフレームの各フィールドを受信するかどうかの判定を行う。この判定結果を、受信ID判断部2403は、フレーム解釈部2402へ通知する。
受信IDリスト保持部2404は、ECU2100aの受信IDリスト保持部104と同様であり、ゲートウェイ2400が受信するメッセージIDのリストである受信IDリストを保持する。
フレーム処理部2405は、ECU2100aのフレーム処理部105と同様である。車両状態保持部2406は、ECU2100aの車両状態保持部106と同様である。判定ルール保持部2407は、ECU2100aの判定ルール保持部107と同様である。
更新判定部2409は、自機(ゲートウェイ2400)が送信した更新開始フレームをフレーム処理部2405より受信したタイミングで、エリア種別保持部2416からゲートウェイ2400が接続されているバス2200a及びバス2200bのそれぞれの種別を取得し、車両状態保持部106から現在の車両状態を取得し、判定ルール保持部107から取得した判定ルールに応じて、更新処理(MAC鍵の更新及びカウンタ値のリセット)を実行するか否かを判定する。更新判定部2409は、更新処理を実行すると判定した場合には、更新処理部2410へ通知する。
更新処理部2410は、ECU2100aの更新処理部110と同様である。
MAC鍵保持部2411は、メモリ等の記憶媒体で実現され、MAC生成部2413及びフレーム処理部2405がMACを計算する際に必要となるMAC鍵を、バス毎に、かつ、メッセージID毎に、1つ保持する。MAC鍵保持部2411は、更新処理部2410からの通知に従って、これまで持っていた鍵を破棄し、通知された鍵をMAC鍵として保持する。本実施の形態では、同一のメッセージIDであってもバス毎にMAC鍵が異なる方式を採るものとして説明する。
カウンタ保持部2412は、メモリ等の記憶媒体を含んで実現され、MAC生成部2413及びフレーム処理部2405がMACを計算する際に必要となるカウンタ値を、バス毎に、かつ、メッセージID毎に1つ保持する。なお、カウンタ保持部2412に保持されるカウンタ値は、フレームが正常に送信された場合にインクリメント(1増加)される。この方法として、データフレームを送信する場合にカウンタ値を送信カウンタとして扱い、送信回数をカウントする。また、データフレームを受信する場合にカウンタ値を受信カウンタとして扱い、受信回数をカウントする。また、カウンタ保持部2412は、更新処理部2410からの通知に従って、通知されたカウンタ値を保持し、また、更新処理部2410からのリセットすべき旨の通知に従って、保持しているカウンタ値をリセットする。このリセットによりカウンタ値は、ゼロ等の特定値に更新される。本実施の形態では、同一のメッセージIDであってもバス毎にカウンタ値が異なる方式を採るものとして説明する。
MAC生成部2413は、フレーム生成部2414より通知されるメッセージIDとデータフィールド用のデータの値と、カウンタ保持部2412で保持するカウンタ値(つまり送信するバスとメッセージIDに対応したカウンタ値)とを結合した値(結合値)に対し、MAC鍵保持部2411で保持するMAC鍵(つまり送信するバスとメッセージIDに対応したMAC鍵)を用いて、MACを算出(つまりMACの値を計算により導出)して、この算出した結果であるMACをフレーム生成部2414へと通知する。ここではMACの計算方法として、HMAC(非特許文献2参照)を採用し、上述した結合値に対し、所定のブロック分(例えば4bytes)までパディングした値でMAC鍵を使って計算し、出てきた計算結果の先頭4bytesをMAC値とする。なお、ここでのMAC値のサイズ、計算方法は一例であり、これに限定されるものではない。
フレーム生成部2414は、フレーム解釈部2402から通知されたエラーフレームの送信を指示する通知に従い、エラーフレームを構成し、エラーフレームをフレーム送受信部2401へ通知して送信させる。また、フレーム生成部2414は、転送処理部2417から通知されたメッセージIDと、データフィールドの値をMAC生成部2413へ通知することによりMACの通知を受ける。フレーム生成部2414は、転送処理部2417より通知されたメッセージと、データフィールドの値と、MAC生成部2413より通知されたMACとに基づきフレームを構成し、フレーム送受信部2401へ通知する。また、フレーム生成部2414は、更新処理タイマー2419より通知された送信指示に従って、更新開始フレーム用に予め決められた特定メッセージIDとデータフィールドの値とをMAC生成部2413へ通知することによりMACの通知を受け取り、その特定メッセージIDとデータフィールドの値とMACとを含む更新開始フレームを生成し、フレーム送受信部2401へ通知して送信させる。フレーム生成部2414は、更新開始フレームを送信した場合には、更新処理タイマー2419でのタイマー値(つまり計時される経過時間の値)をゼロにリセットする。
更新処理タイマー2419は、経過時間に対応するタイマー値のカウントアップを繰り返す計時機構を含んで実現され、タイマー値を0から逐次カウントアップして、タイマー値が予め更新開始フレームを送信するタイミングとして設定された経過時間(例えば、6時間、1日等)を示す値になったら、更新開始フレームを送信する指示をフレーム生成部2414へ通知する。また、フレーム生成部2414からの通知に従って、タイマー値を0にリセットする。なお、ゲートウェイ2400は、複数のバス(バス2200a、バス2200b)に接続しているため、更新処理タイマー2419は、それぞれのバスに対応する計時機構(タイマー)を持つこととして、バスそれぞれに更新開始フレームを送信するタイミングは相違しても良い。また、更新開始フレームを送信するタイミングを、計時機構に依らずに他の方法で決定しても良い。例えば、フレーム(メッセージ)の送信毎にカウントアップするカウンタを用いてカウンタ値が予め定められた閾値に到達した時等に更新開始フレームを送信してカウンタをゼロにリセットする方法等がある。
エリア種別保持部2416は、自機(ゲートウェイ2400)が接続されているバス2200a、バス2200bそれぞれの種別を保持する。例えば、バス2200aについては「駆動系」、バス2200bについては「ボディ系」というエリア種別が保持される。
転送処理部2417は、転送ルール保持部2418が保持する転送ルールに従って、受信したフレームのメッセージIDに応じて、転送するバスを決定し、転送するバスを示すバス情報とフレーム解釈部2402より通知されたメッセージIDとデータとをフレーム生成部2414へ通知する。転送されるべきフレームについては、転送元のバスからゲートウェイ2400に受信され、ゲートウェイ2400により転送先のバスに対応したMACが付与されて、転送先のバスへと送信されることになる。なお、ゲートウェイ2400は、あるバスから受信されたエラーフレーム、及び、自機が送信したバスから受信される更新開始フレームについては他のバスに転送しない。
転送ルール保持部2418は、バス毎のフレームの転送についてのルールを表す情報である転送ルールを保持する。図18は、転送ルールの一例を示した図である。
[2.5 転送ルール例]
図18は、ゲートウェイ2400が保有する転送ルールの一例を示す。この転送ルールは、転送元のバスと転送先のバスと転送対象のID(メッセージID)とを対応付けている。図18中の「*」はメッセージIDにかかわらずフレームの転送がなされることを表している。同図の例は、バス2200aから受信するフレームはメッセージIDにかかわらず、バス2200bに転送するように設定されていることを示している。また、バス2200bから受信するフレームのうちメッセージIDが「3」であるフレームのみがバス2200aに転送されるように設定されていることを示している。
[2.6 更新処理]
以下、各ECUによるデータフレームの送信に際してのMACの付与、及び、データフレームの受信に際してのMACの検証において用いられるMACの生成に必要となるデータの更新に関連した更新処理について説明する。各バスにおいて、そのバスに接続された複数のECUにおいてメッセージ毎にMACの付与及び検証に用いるMAC鍵及びカウンタ値に関する更新は、同期して実行される必要がある。ここでは、一例として、ゲートウェイ2400が、バス2200aに更新開始フレームを送信するために更新開始フレーム送信処理を実行し、その後に一定条件下でECU2100aが更新の同期を確認するための更新フレームをバス2200aに送信し、ECU2100bが更新フレームをバス2200aから受信する例を用いて、1つのバスに接続された複数のECUにおける、1つのメッセージIDに対応するMACに係る更新処理について説明する。
図19は、ゲートウェイ2400による更新開始フレーム送信処理の一例を示すフローチャートである。
ゲートウェイ2400は、更新処理タイマー2419により、前回の更新開始フレームを送信した時からの経過時間を確認する(ステップS2001)。そしてゲートウェイ2400は、経過時間が予め定められた時間に達して、更新開始フレームを送信すべきタイミングが到来しているかどうかを判定する(ステップS2002)。送信すべきタイミングが到来していない場合には、経過時間がその予め定められた時間に達するまで、経過時間の確認を繰り返す。送信すべきタイミングが到来している場合には、ゲートウェイ2400は、更新開始フレームを生成する(ステップS2003)。即ち、ゲートウェイ2400は、予め定められたメッセージID、データフィールドのデータ値、カウンタ値及びMAC鍵を用いてMACを生成して、MACを付加した更新開始フレームを生成する。
ゲートウェイ2400は、ステップS2003で生成した更新開始フレームをバス2200aへと送信する(ステップS2004)。このバス2200aに送信された更新開始フレームは、バス2200aに接続されたECU2100a及びECU2100bに受信されることになる。
図20及び図21は、ECU2100aによる更新処理、及び、その更新処理の開始判断に係る処理の一例を示すフローチャートである。なお、図20及び図21に示す処理手順(ステップ)のうち図10及び図11で示したステップと同一のステップについては、同じ符号を用いており、説明を適宜省略する。以下、図20及び図21に即してECU2100aの動作について説明する。
ECU2100aは、ゲートウェイ2400が送信した更新開始フレームを受信する(ステップS2101)。そしてECU2100aは、更新開始フレームのMACを検証する(ステップS2102)。MACの検証に失敗すれば処理を終える。
ステップS2102でのMACの検証に成功すれば、ECU2100aは、エリア種別保持部2116が保持するエリア種別を確認する(ステップS2103)。続いて、現在の車両状態を確認し(ステップS1003)、現在の車両状態に基づいて、ステップS2103で確認したエリア種別に対応して判定ルール保持部2407で保持されている判定ルールに従って、更新処理を行うかどうかを判定する(ステップS2104)。車両状態が判定ルールで定められた更新処理を行う状態に変化するまで更新処理は行わず、車両状態の確認を継続する(ステップS1003)。また、車両状態が判定ルールで定められた更新処理を行う状態であれば、図21のステップS1006以降の更新処理を開始する(ステップS1005)。図16に示した「駆動系」に対応する判定ルールの例に従うと、車両状態が「走行中」「停車中」であれば、車両状態が「駐車中」に変化するまで待ってから更新処理を行い、また、車両状態が「駐車中」であれば即座に更新処理を開始する(ステップS1005)。
更新処理を開始したECU2100aは、実施の形態1で示したECU100aと同様に更新処理を行う(図21のステップS1006〜S1019)。
図22及び図23は、ECU2100bによる更新処理、及び、その更新処理の開始判断に係る処理の一例を示すフローチャートである。なお、図22及び図23に示す処理手順(ステップ)のうち図12、図13及び図20で示したステップと同一のステップについては、同じ符号を用いており、説明を適宜省略する。以下、図22及び図23に即してECU2100bの動作について説明する。
ECU2100bは、ゲートウェイ2400が送信した更新開始フレームを受信する(ステップS2101)。そしてECU2100bは、更新開始フレームのMACを検証する(ステップS2102)。MACの検証に失敗すれば処理を終える。
ステップS2102でのMACの検証に成功すれば、ECU2100bは、エリア種別保持部2116が保持するエリア種別を確認する(ステップS2103)。続いて、現在の車両状態を確認し(ステップS1003)、現在の車両状態に基づいて、ステップS2103で確認したエリア種別に対応して判定ルール保持部2407で保持されている判定ルールに従って、更新処理を行うかどうかを判定する(ステップS2104)。車両状態が判定ルールで定められた更新処理を行う状態に変化するまで更新処理は行わず、車両状態の確認を継続する(ステップS1003)。また、車両状態が判定ルールで定められた更新処理を行う状態であれば、図23のステップS2101以降の更新処理を開始する(ステップS1005)。図16に示した「駆動系」に対応する判定ルールの例に従うと、車両状態が「走行中」「停車中」であれば、車両状態が「駐車中」に変化するまで待ってから更新処理を行い、また、車両状態が「駐車中」であれば即座に更新処理を開始する(ステップS1005)。
更新処理を開始したECU2100bは、実施の形態1で示したECU100bと同様に更新処理を行う(図23のステップS2101〜S1019)。
また、上述した図22及び図23に示した更新処理、及び、その更新処理の開始判断に係る処理については、ゲートウェイ2400もECU2100bと同様に行う。
なお、ゲートウェイ2400は、同様に更新開始フレーム送信処理(図19参照)によりバス2200bに更新開始フレームを送信することができ、これに対して、図20〜図23に示す処理手順によりECU2100c及びECU2100dが更新処理を実行し得る。
[2.7 実施の形態2の効果]
実施の形態2で示したECUは、MACの生成に用いるデータの更新に関する更新処理(MAC鍵の更新、カウンタ値のリセット等)を、自機が接続するバスのエリア種別と、車両の状態とに応じて実行する。この更新処理が適時に実行されるようになるため、不正なノードによるMACに対する総当り攻撃への耐性が高まる。なお、駆動系、ボディ系等といったエリア種別で区別されるバス毎にそのバスに接続されるECUの実行する処理の処理量と車両状態との関係は変動し得る。従って、エリア種別毎及び車両状態毎に判定ルールを定めることにより、例えば駆動系のバスに接続される複数のECUの処理負荷の低い駐車中等においてその複数のECUのMAC鍵の更新等を行わせることで、効率良く、複数のECUが更新を同期して実行できるようになる。これにより、MACの生成に用いるMAC鍵の更新及びカウンタ値のリセットを関連性の高いECUのグループ毎(接続されるバスのエリア種別毎)に分散して適切なタイミングで実行することができるようになる。また、ECUが送信するフレームでバスのトラフィック量が比較的高い場合(例えば走行中等)を避けるように車両の状態に応じて更新処理を行わせることが可能になる。
(他の実施の形態)
以上のように、本開示に係る技術の例示として実施の形態1、2を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施態様に含まれる。
(1)上記実施の形態では、ECU100a〜100d或いはECU2100a〜2100dによりフレームが定期的に送信される例を示したが、フレームは、状態変化を通知するイベントとして送信されることとしても良い。例えば、ECUは、ドアの開閉状態を定期的に送信するのではなく、ドアの開閉状態が変化した場合にのみ、フレームを送信するとしても良い。また、ECUがフレームを、定期的に送信、かつ、状態変化が発生した時に送信することとしても良い。
(2)上記実施の形態では、データ値とカウンタ値からMACを算出する例を示したが、データ値のみからMACを算出することとしても良い。またカウンタ値のみからMACを算出することとしても良い。また、データフレームに含まれる他のフィールドの値を用いてMACを算出することとしても良い。また、フレームに含まれるMACのサイズは4bytesに制限されるものではなく、送信毎に異なるサイズであっても良い。同様にカウンタ値のサイズも1byteに制限されるものではない。また、必ずしもフレームにカウンタ値が含まれていなくても良い。また、全部又は一部のカウンタ値をフレームに含めて送信しても良い。また、MACサイズは固定のサイズに限定されるものではなく、メッセージID毎に異なるサイズであってもよい。また、複数のフレームに跨ってMACが送信されるようにしても良い。
(3)上記実施の形態では、データフレームの送信回数(或いは受信回数)をカウントする構成としてカウンタ値を送信毎にインクリメントする例を示したが、カウンタの値に対する演算は、インクリメント(1増加)には限定されない。2以上の増加を行っても良いし、インクリメントによるアップカウントに限らず、デクリメントによるダウンカウントでも良い。また、カウンタ値に対する演算は、例えば、ビットシフトであっても良いし、前回の演算結果を入力値として予め定められたアルゴリズムに基づいて特定された出力値を演算結果とする演算等であっても良い。なお、更新処理では、カウンタ値をリセットによりゼロ等の特定値にする。
(4)上記実施の形態では、CANプロトコルにおけるデータフレームを標準IDフォーマットで記述しているが、拡張IDフォーマットで合っても良い。拡張IDフォーマットの場合には、標準IDフォーマットにおけるID位置のベースIDと、拡張IDとを合わせて29ビットでID(メッセージID)を表すので、この29ビットのIDを上述の実施の形態におけるID(メッセージID)と扱えば良い。
(5)上記実施の形態では、MAC算出のアルゴリズムをHMACとしているが、これCBC−MAC(Cipher Block Chaining Message Authentication Code)、CMAC(Cipher-based MAC)であっても良い。また、MAC計算に用いられるパディングについては、ゼロパディング、ISO10126、PKCS#1、PKCS#5、PKCS#7、その他、ブロックのデータサイズが計算に必要となるパディングの方式であれば何でも良い。また4bytes等のブロックへのサイズの変更方法についても、先頭、最後尾、中間のいずれの部分にパディングを行っても良い。また、MAC算出に用いるデータは、連続しているデータ(例えば4bytes分の連続データ)でなくても、特定のルールに従って1bitずつ収集して結合したものでも良い。
(6)上記実施の形態では、更新処理としてMAC鍵の更新とカウンタ値のリセットとの両方を行う例を示したが、これらの一方のみを行うこととしても良い。即ち、更新処理は、MACを生成するために用いる鍵であるMAC鍵の値を更新する鍵更新処理のみを意味することとしても良い。また、更新処理は、MACに反映するカウンタ値をリセット(つまりゼロ等の特定値に更新)するカウンタリセット処理であっても良い。また、MAC鍵の更新に際して新たなMAC鍵の生成のために専用の鍵を用いた演算を用いても良い。MAC鍵の更新には、上述したように、現在のMAC鍵(更新前のMAC鍵)を、予め定められた一方向関数に入力して導出される結果を新たなMAC鍵(更新後のMAC鍵)とする方法以外の方法を用いても良い。即ち、同期してMAC鍵の更新を行う複数のECUが同じアルゴリズム等に従って更新前のMAC鍵とは値の異なるMAC鍵を生成すれば良い。
(7)上記実施の形態では、更新タイミングの判定に使用する車両状態の例として「走行中」、「停車中」及び「駐車中」を示したが、この他の状態を用いても良い。例えば、給油口の開閉に応じて検出される「給油中」の状態を車両状態の1つとして用いても良い。また、車両が電気自動車であれば、充電プラグの接続により検出される「充電中」の状態を車両状態の1つとして用いても良い。また、単に「走行中」の状態を用いる代わりに、車両の速度に応じて「低速走行中」、「高速走行中」等と区別した状態を車両状態として用いても良い。なお、車両内のいずれかのECUがいずれかの機器から取得したセンサ値等を含むデータフレームを送信し、他のECUがそのデータフレームを受信することによって車両状態を判断することができる。
(8)上記実施の形態では、MAC鍵をメッセージID毎に1つ保持しているが、ECU毎(つまり1以上のメッセージID群毎)に1つであっても良い。また、全てのECUが同じMAC鍵を保持している必要はない。また、同一のバスに接続された各ECUは、共通のMAC鍵を保持していても良い。但し、1つのバス上で同じメッセージIDのフレームを送信するECUとそのフレームを受信して検証するECUとでは同じMAC鍵を保持する必要がある。また、上記実施の形態では、カウンタ値をメッセージID毎に1つ保持しているが、ECU毎(つまり1以上のメッセージID群毎)に1つであっても良い。また、同一のバス上を流れる全てのフレームに対して共通のカウンタ値を使用しても良い。
(9)上記実施の形態では、同一のメッセージIDであってもバス毎にMAC鍵及びカウンタ値が異なる方式を採ることとしたが、バスが異なっても同一のMAC鍵を用いるようにしても良く、バスが異なっても同一のカウンタ値を用いるようにしても良い。但し、同一のMAC鍵或いはカウンタ値を用いる各ECUは、同期してMAC鍵の更新或いはカウンタ値のリセットを行う必要がある。例えば、ゲートウェイ2400が、各バスに同時に更新開始フレームを送信することとしても良い。
(10)上記実施の形態では、更新フレームが受信されたことを送信側で確認するためにACKスロットを用いる例を示したが、更新フレームを受信したECUは、正常に受信できたことを、ACKスロットをドミナントにして示すのではなく、受信成功の旨を示すデータフレームを送信することとしても良い。特に、接続されるバスが異なる複数のECU間でMAC鍵の更新或いはカウンタ値のリセットを同期して行うためには、更新フレームに対して受信成功の旨を示すデータフレームを送信することが有用となる。なお、この場合に更新フレーム及び受信成功の旨を示すデータフレームをゲートウェイはバス間で転送する。
(11)上記実施の形態で示した判定ルールは一例であり、例示した値と異なる値にしても良い。また、複数の判定ルールがあっても良い。判定ルールは、更新処理を実行する条件として車両状態が所定状態(例えば駐車状態等)であることを定めていれば、更なる条件を付加(例えば前回の更新処理の実行から一定時間を経過している条件を付加する等)しても良い。また、判定ルールは、各ECU及びゲートウェイの出荷時に設定されても良いし、車載ネットワークシステムが搭載される車両の出荷時に設定されても良い。また、判定ルールは、外部との通信に基づいて設定されても、各種記録媒体等を用いて設定されても、ツール類等によって設定されても良い。
(12)上記実施の形態で示した更新開始フレームをゲートウェイ2400が送信する代わりに、ECU2100a〜2400dのいずれかが送信することとしても良い。また、更新開始フレームの送信専用のECUを車載ネットワークシステムに含ませることとし、そのECUが更新開始フレームを送信することとしても良い。また、更新開始フレームは、更新処理の対象となるメッセージID毎に、そのメッセージIDの識別情報を含ませて送信しても良く、この場合には、更新開始フレームを受信したECUが、そのメッセージIDに対応する更新処理(そのメッセージIDに対応するMAC鍵の更新及びそのメッセージIDに対応するカウンタ値のリセット)を行い得る。また、一度の更新開始フレームの送信に対して、この更新開始フレームを受信した全てのECUが、保持する全てのMAC鍵の更新及びカウンタ値のリセットを行うこととしても良い。
(13)上記実施の形態で示したECUにおけるタイマー108による経過時間の確認(ステップS1001、S1002)及びゲートウェイにおける更新処理タイマー2419による経過時間の確認(ステップS2001、S2002)では、経過時間を逐次確認する方式を用いたが、例えばタイマーが予め定めた一定時間の経過を通知する方式を用いて実現しても良い。また、上記実施の形態では、更新タイミングは、タイマー108で予め定められた一定時間が経過したタイミングであることとしたが、更新タイミングは、前回の更新タイミング或いは前回の更新処理を行ったタイミングから、何らかのカウンタで計数される所定の数量が一定数量に達したタイミングであることとしても良い。例えば、送信カウンタ或いは受信カウンタとしてのカウンタ値が、予め決められた上限値に達する前の閾値を超えたタイミング等を更新タイミングとしても良い。また、上記実施の形態では、更新開始フレームを送信するタイミングは、更新処理タイマー2419でのタイマー値が予め設定された経過時間を示す値になったタイミングであることとしたが、更新開始フレームを送信するタイミングは、前回の更新開始フレームを送信したタイミング(つまり更新処理が前回行われたタイミング)から、何らかのカウンタで計数される所定の数量が一定数量に達したタイミングであることとしても良い。
(14)上記実施の形態で示したエリア種別は、グループの一例に過ぎず、「駆動系」、「ボディ系」以外にも、例えば、エリア種別として、バスに接続される各ECUの性質或いはその各ECUに接続される機器の性質に応じて「パワートレイン系」、「安全走行制御系」、「外部通信系」、「AV処理系」等やその他のものがあっても良い。また、バス或いはECUは、複数のグループに属することもあり得る。このため、ECUは、複数のエリア種別を保持しても良い。また、判定ルールにおいて、エリア種別とバスとを一対一に対応させて(つまり個々のバスを区別して)、更新処理の実行条件である車両状態を定めることとしても良い。
(15)上記実施の形態で示したECU等の装置における機能構成要素の機能分割は一例にすぎず、変更し得る。例えば、更新処理部、更新判定部及びこれらに関連する機能処理要素の機能分割は例示にすぎないため、これらを一体的に、車両状態が所定状態であることを条件として更新処理(MAC鍵保持部に保持されるMAC鍵の更新等)を実行する更新処理部として構成しても良い。
(16)上記実施の形態では、ECU間で送受信されるデータフレームに対して、受信したECUがMACの検証を行っているが、車載ネットワークシステムにおいて、全てのデータフレームに付与されたMACについて検証を行うMAC検証用ECUを含んでいても良い。このMAC検証用ECUは、全てのメッセージIDに対応するMAC鍵と、カウンタ値とを保持する。MAC検証用ECUは、MAC検証の結果、エラーと判定(つまり検証失敗と判定)した場合に、他のECUでの受信を防止するため、エラーフレームを送信することとしても良い。
(17)上記実施の形態では、各ECUはデータフレームを送信することとしたが、車載ネットワークシステムは、データフレームを受信するのみでデータフレームを送信しないECUを含んでいても良い。また逆に、車載ネットワークシステムは、データフレームを送信するのみで、データフレームを受信しないECUを含んでいても良い。
(18)上記実施の形態で示したCANプロトコルは、TTCAN(Time-Triggered CAN)、CANFD(CAN with Flexible Data Rate)等の派生的なプロトコルをも包含する広義の意味を有するものであっても良い。
(19)上記の実施の形態におけるMAC鍵保持部及びカウンタ保持部は、CANコントローラと呼ばれるハードウェアのレジスタ、または、CANコントローラと接続して動作するマイコン上で動作するファームウェアに格納されていても良い。
(20)上記実施の形態における各ECUは、例えば、プロセッサ、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置であることとしたが、ハードディスク装置、ディスプレイ、キーボード、マウス等の他のハードウェア構成要素を含んでいても良い。また、メモリに記憶された制御プログラムがプロセッサにより実行されてソフトウェア的に機能を実現する代わりに、専用のハードウェア(デジタル回路等)によりその機能を実現することとしても良い。
(21)上記実施の形態における各装置(ECU等)を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしても良い。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAM等を含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又はすべてを含むように1チップ化されても良い。また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
(22)上記各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしても良い。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしても良い。
(23)本開示の一態様としては、上記に示す更新処理方法であるとしても良い。また、この方法をコンピュータにより実現するコンピュータプログラムであるとしても良いし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本開示の一態様としては、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu-ray(登録商標)Disc)、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されている前記デジタル信号であるとしても良い。また、本開示の一態様としては、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本開示の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしても良い。また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
(24)上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本開示の範囲に含まれる。
本開示は、車載ネットワークシステムにおいて不正なノードによる攻撃への耐性を高めるために利用可能である。
10,20 車載ネットワークシステム
101,2401 フレーム送受信部
102,2402 フレーム解釈部
103,2403 受信ID判断部
104,2404 受信IDリスト保持部
105,2105,2405 フレーム処理部
106,2406 車両状態保持部
107,2107,2407 判定ルール保持部
108 タイマー
109,2109,2409 更新判定部
110,2410 更新処理部
111,2411 MAC鍵保持部
112,2412 カウンタ保持部
113,2413 MAC生成部
114,2414 フレーム生成部
115 データ取得部
200,2200a,2200b バス
310 エンジン
320 ブレーキ
330 ドア開閉センサ
340 窓開閉センサ
2116,2416 エリア種別保持部
2400 ゲートウェイ
2417 転送処理部
2418 転送ルール保持部
2419 更新処理タイマー

Claims (13)

  1. CAN(Controller Area Network)プロトコルに従ってバスを介してメッセージ認証コード(MAC:Message Authentication Code)が付加されたデータフレームの授受を行う複数の電子制御ユニットを備える車載ネットワークシステムの前記複数の電子制御ユニットの各々において、当該メッセージ認証コードの生成に利用されるMAC鍵の更新のために、用いられる更新処理方法であって、
    前記車載ネットワークシステムを搭載する車両の走行状態を検出する検出ステップと、
    前記検出ステップで検出された車両の走行状態が所定状態であることを条件として前記メッセージ認証コードの生成に利用されるMAC鍵を更新する更新ステップとを含み、
    前記車載ネットワークシステムは複数のバスを備え、
    前記更新ステップでは、前記複数の電子制御ユニットのうち1以上の電子制御ユニット各々により、当該電子制御ユニットが保持して利用するMAC鍵について、前記更新が行われ、前記更新の条件となる前記所定状態は、当該電子制御ユニットが接続されているバスに対応して定められる
    更新処理方法。
  2. CAN(Controller Area Network)プロトコルに従ってバスを介してメッセージ認証コード(MAC:Message Authentication Code)が付加されたデータフレームの授受を行う複数の電子制御ユニットを備える車載ネットワークシステムの前記複数の電子制御ユニットの各々において、当該メッセージ認証コードの生成に利用されるMAC鍵の更新のために、用いられる更新処理方法であって、
    前記車載ネットワークシステムを搭載する車両の走行状態を検出する検出ステップと、
    前記検出ステップで検出された車両の走行状態が所定状態であることを条件として前記メッセージ認証コードの生成に利用されるMAC鍵を更新する更新ステップとを含み、
    前記車載ネットワークシステムは複数のバスを備え、前記複数のバスの各々は、複数種類のグループのうちいずれかのグループに属し、
    前記更新ステップでは、前記複数の電子制御ユニットのうち1以上の電子制御ユニット各々により、当該電子制御ユニットが保持して利用するMAC鍵について、前記更新が行われ、前記更新の条件となる前記所定状態は、当該電子制御ユニットが接続されているバスが属するグループに対応して定められる
    新処理方法。
  3. CAN(Controller Area Network)プロトコルに従ってバスを介してメッセージ認証コード(MAC:Message Authentication Code)が付加されたデータフレームの授受を行う複数の電子制御ユニットを備える車載ネットワークシステムの前記複数の電子制御ユニットの各々において、当該メッセージ認証コードの生成に利用されるMAC鍵の更新のために、用いられる更新処理方法であって、
    前記車載ネットワークシステムを搭載する車両の走行状態を検出する検出ステップと、
    前記検出ステップで検出された車両の走行状態が所定状態であることを条件として前記メッセージ認証コードの生成に利用されるMAC鍵を更新する更新ステップとを含み、
    前記更新ステップでは、前記MAC鍵の前回の更新時から計数される所定の数量が一定数量に達したタイミングにおいて前記検出ステップで検出された車両の走行状態が前記所定状態であれば、前記MAC鍵の更新を行う
    新処理方法。
  4. 前記更新ステップでは、前記MAC鍵の前回の更新時から計数される所定の数量が一定数量に達したタイミングにおいて前記検出ステップで検出された車両の走行状態が前記所定状態でない場合に、前記検出ステップで検出された車両の走行状態が前記所定状態に変化したタイミングで前記MAC鍵の更新を行う
    請求項記載の更新処理方法。
  5. 前記所定状態は、前記車両が走行していない状態である
    請求項1から3のいずれか1項に記載の更新処理方法。
  6. 前記所定状態は、駐車状態である
    請求項記載の更新処理方法。
  7. CAN(Controller Area Network)プロトコルに従ってバスを介してメッセージ認証コード(MAC:Message Authentication Code)が付加されたデータフレームの授受を行う複数の電子制御ユニットを備える車載ネットワークシステムであって、
    メッセージ認証コードを生成して、所定メッセージIDで識別されるデータフレームに付加して送信する第1電子制御ユニットと、
    メッセージ認証コードを生成して、前記所定メッセージIDで識別されるデータフレームを受信して当該データフレームに当該メッセージ認証コードが付加されていることを検証する第2電子制御ユニットとを備え、
    前記第1電子制御ユニット及び前記第2電子制御ユニットの各々は、
    前記メッセージ認証コードの生成に利用されるMAC鍵を保持するMAC鍵保持部と、
    前記車載ネットワークシステムを搭載する車両の走行状態が所定状態であることを条件として前記MAC鍵保持部に保持されるMAC鍵を更新する更新処理部とを有し、
    前記車載ネットワークシステムは複数のバスを備え、
    前記更新処理部は、当該更新処理部を有する前記電子制御ユニットが保持して利用するMAC鍵について、前記更新を行い、前記更新の条件となる前記所定状態は、当該電子制御ユニットが接続されているバスに対応して定められる
    車載ネットワークシステム。
  8. CAN(Controller Area Network)プロトコルに従ってバスを介してメッセージ認証コード(MAC:Message Authentication Code)が付加されたデータフレームの授受を行う複数の電子制御ユニットを備える車載ネットワークシステムであって、
    メッセージ認証コードを生成して、所定メッセージIDで識別されるデータフレームに付加して送信する第1電子制御ユニットと、
    メッセージ認証コードを生成して、前記所定メッセージIDで識別されるデータフレームを受信して当該データフレームに当該メッセージ認証コードが付加されていることを検証する第2電子制御ユニットとを備え、
    前記第1電子制御ユニット及び前記第2電子制御ユニットの各々は、
    前記メッセージ認証コードの生成に利用されるMAC鍵を保持するMAC鍵保持部と、
    前記車載ネットワークシステムを搭載する車両の走行状態が所定状態であることを条件として前記MAC鍵保持部に保持されるMAC鍵を更新する更新処理部とを有し、
    前記車載ネットワークシステムは複数のバスを備え、前記複数のバスの各々は、複数種類のグループのうちいずれかのグループに属し、
    前記更新処理部は、当該更新処理部を有する前記電子制御ユニットが保持して利用するMAC鍵について、前記更新を行い、前記更新の条件となる前記所定状態は、当該電子制御ユニットが接続されているバスが属するグループに対応して定められる
    車載ネットワークシステム。
  9. CAN(Controller Area Network)プロトコルに従ってバスを介してメッセージ認証コード(MAC:Message Authentication Code)が付加されたデータフレームの授受を行う複数の電子制御ユニットを備える車載ネットワークシステムであって、
    メッセージ認証コードを生成して、所定メッセージIDで識別されるデータフレームに付加して送信する第1電子制御ユニットと、
    メッセージ認証コードを生成して、前記所定メッセージIDで識別されるデータフレームを受信して当該データフレームに当該メッセージ認証コードが付加されていることを検証する第2電子制御ユニットとを備え、
    前記第1電子制御ユニット及び前記第2電子制御ユニットの各々は、
    前記メッセージ認証コードの生成に利用されるMAC鍵を保持するMAC鍵保持部と、
    前記車載ネットワークシステムを搭載する車両の走行状態が所定状態であることを条件として前記MAC鍵保持部に保持されるMAC鍵を更新する更新処理部とを有し、
    前記更新処理部は、前記MAC鍵の前回の更新時から計数される所定の数量が一定数量に達したタイミングにおいて前記走行状態が前記所定状態であれば、前記MAC鍵の更新を行う
    車載ネットワークシステム。
  10. 前記第1電子制御ユニット及び前記第2電子制御ユニットの更新処理部は、
    予め定められた特定メッセージIDで識別される特定フレームを受信した場合に前記車両の走行状態が所定状態であるか否かを判定し、当該車両の走行状態が所定状態であるときにMAC鍵の前記更新を行う
    請求項7から9のいずれか1項記載の車載ネットワークシステム。
  11. CAN(Controller Area Network)プロトコルに従ってバスを介して、データフレームにメッセージ認証コード(MAC:Message Authentication Code)を付加して送信するため、或いは、データフレームを受信して当該データフレームにメッセージ認証コードが付加されていることを検証するために、メッセージ認証コードを生成する電子制御ユニットであって、
    前記メッセージ認証コードの生成に利用されるMAC鍵を保持するMAC鍵保持部と、
    前記電子制御ユニットを搭載する車両の走行状態が所定状態であることを条件として前記MAC鍵保持部に保持されるMAC鍵を更新する更新処理部とを備え
    前記更新処理部は、前記電子制御ユニットが保持して利用するMAC鍵について、前記更新を行い、前記更新の条件となる前記所定状態は、当該電子制御ユニットが接続されているバスに対応して定められる
    電子制御ユニット。
  12. CAN(Controller Area Network)プロトコルに従ってバスを介して、データフレームにメッセージ認証コード(MAC:Message Authentication Code)を付加して送信するため、或いは、データフレームを受信して当該データフレームにメッセージ認証コードが付加されていることを検証するために、メッセージ認証コードを生成する電子制御ユニットであって、
    前記メッセージ認証コードの生成に利用されるMAC鍵を保持するMAC鍵保持部と、
    前記電子制御ユニットを搭載する車両の走行状態が所定状態であることを条件として前記MAC鍵保持部に保持されるMAC鍵を更新する更新処理部とを備え、
    前記電子制御ユニットが接続されているバスは、複数種類のグループのうちいずれかのグループに属し、
    前記更新処理部は、前記電子制御ユニットが保持して利用するMAC鍵について、前記更新を行い、前記更新の条件となる前記所定状態は、当該電子制御ユニットが接続されている前記バスが属するグループに対応して定められる
    電子制御ユニット。
  13. CAN(Controller Area Network)プロトコルに従ってバスを介して、データフレームにメッセージ認証コード(MAC:Message Authentication Code)を付加して送信するため、或いは、データフレームを受信して当該データフレームにメッセージ認証コードが付加されていることを検証するために、メッセージ認証コードを生成する電子制御ユニットであって、
    前記メッセージ認証コードの生成に利用されるMAC鍵を保持するMAC鍵保持部と、
    前記電子制御ユニットを搭載する車両の走行状態が所定状態であることを条件として前記MAC鍵保持部に保持されるMAC鍵を更新する更新処理部とを備え、
    前記更新処理部は、前記MAC鍵の前回の更新時から計数される所定の数量が一定数量に達したタイミングにおいて前記走行状態が前記所定状態であれば、前記MAC鍵の更新を行う
    電子制御ユニット。
JP2016517805A 2014-05-08 2015-04-21 車載ネットワークシステム、電子制御ユニット及び更新処理方法 Active JP6377143B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461990150P 2014-05-08 2014-05-08
US61/990,150 2014-05-08
JP2015032210 2015-02-20
JP2015032210 2015-02-20
PCT/JP2015/002162 WO2015170452A1 (ja) 2014-05-08 2015-04-21 車載ネットワークシステム、電子制御ユニット及び更新処理方法

Publications (2)

Publication Number Publication Date
JPWO2015170452A1 JPWO2015170452A1 (ja) 2017-04-20
JP6377143B2 true JP6377143B2 (ja) 2018-08-22

Family

ID=54392312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016517805A Active JP6377143B2 (ja) 2014-05-08 2015-04-21 車載ネットワークシステム、電子制御ユニット及び更新処理方法

Country Status (5)

Country Link
US (1) US10227053B2 (ja)
EP (1) EP3142288B1 (ja)
JP (1) JP6377143B2 (ja)
CN (1) CN105594155B (ja)
WO (1) WO2015170452A1 (ja)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6875576B2 (ja) * 2014-05-08 2021-05-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正対処方法
JP6407981B2 (ja) * 2014-05-08 2018-10-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 車載ネットワークシステム、電子制御ユニット及び不正対処方法
CN111478836B (zh) * 2014-07-10 2024-02-20 松下电器(美国)知识产权公司 车载网络***、电子控制单元、接收方法以及发送方法
CN111376848B (zh) * 2015-01-20 2024-07-02 松下电器(美国)知识产权公司 不正常检测规则更新方法、电子控制单元和车载网络***
JP6573819B2 (ja) * 2015-01-20 2019-09-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知ルール更新方法、不正検知電子制御ユニット及び車載ネットワークシステム
JP2016218932A (ja) * 2015-05-26 2016-12-22 京セラ株式会社 ソフトウェア更新装置およびソフトウェア更新システム
US9779247B2 (en) * 2015-05-29 2017-10-03 GM Global Technology Operations LLC Boot control systems and methods for vehicles
WO2017013622A1 (en) 2015-07-22 2017-01-26 Arilou Information Security Technologies Ltd. Vehicle communications bus data security
JP6555209B2 (ja) * 2015-08-07 2019-08-07 株式会社デンソー 通信システム、管理ノード、通信ノード、カウンタ同期方法、カウント値配信方法、カウント値初期化方法、プログラム、記録媒体
US10223294B2 (en) 2015-09-01 2019-03-05 Nxp Usa, Inc. Fast secure boot from embedded flash memory
JP6601244B2 (ja) * 2016-02-01 2019-11-06 トヨタ自動車株式会社 通信システム
JP6260064B2 (ja) * 2016-03-14 2018-01-17 Kddi株式会社 通信ネットワークシステム及び車両
JP6782188B2 (ja) * 2016-05-27 2020-11-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 電子制御ユニット、通信方法及び車載ネットワークシステム
JP6890025B2 (ja) * 2016-05-27 2021-06-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 電子制御ユニット、フレーム生成方法及びプログラム
WO2017203903A1 (ja) * 2016-05-27 2017-11-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 電子制御ユニット、通信方法及び車載ネットワークシステム
JP6846991B2 (ja) * 2016-07-05 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法
JP6849528B2 (ja) * 2016-07-28 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム
CN106341392B (zh) * 2016-08-23 2019-09-13 北京航空航天大学 电动汽车obdⅱ接口安全通信防护装置、***及方法
JP2018030464A (ja) * 2016-08-25 2018-03-01 株式会社オートネットワーク技術研究所 車両用認証装置
WO2018048279A1 (ko) * 2016-09-12 2018-03-15 엘지전자 주식회사 통신 시스템
US10140116B2 (en) * 2016-09-26 2018-11-27 Ford Global Technologies, Llc In-vehicle auxiliary memory storage
CN106385420A (zh) * 2016-09-29 2017-02-08 中国联合网络通信集团有限公司 一种ecu软件下载方法及装置
JP6547719B2 (ja) * 2016-09-30 2019-07-24 トヨタ自動車株式会社 車載通信ネットワーク
TWI688252B (zh) * 2016-10-03 2020-03-11 日商日本電氣股份有限公司 通信裝置、通信方法及記錄媒體
JP6756225B2 (ja) * 2016-10-04 2020-09-16 株式会社オートネットワーク技術研究所 車載更新システム、車載更新装置及び更新方法
JP6409849B2 (ja) * 2016-10-31 2018-10-24 トヨタ自動車株式会社 通信システム及び通信方法
CN108111460B (zh) * 2016-11-24 2020-12-08 飞天联合(北京)***技术有限公司 一种用户认证方法及***
US10705820B2 (en) * 2017-02-02 2020-07-07 Ford Global Technologies, Llc Method and apparatus for secure multi-cycle vehicle software updates
US10516683B2 (en) * 2017-02-15 2019-12-24 Ford Global Technologies, Llc Systems and methods for security breach detection in vehicle communication systems
CN106897627B (zh) * 2017-02-21 2020-02-11 成都信息工程大学 一种保证汽车ecu免受攻击和自动更新的方法
DE102017203185B4 (de) * 2017-02-28 2018-09-06 Audi Ag Kraftfahrzeug mit einem in mehrere getrennte Domänen eingeteilten Datennetzwerk sowie Verfahren zum Betreiben des Datennetzwerks
JP6956624B2 (ja) * 2017-03-13 2021-11-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理方法、情報処理システム、及びプログラム
JP6959155B2 (ja) * 2017-05-15 2021-11-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 検証方法、検証装置およびプログラム
CN115795435A (zh) * 2017-05-15 2023-03-14 松下电器(美国)知识产权公司 验证方法、验证装置和计算机可读取记录介质
SG10201705960QA (en) 2017-07-20 2019-02-27 Huawei Int Pte Ltd System and method for managing secure communications between modules in a controller area network
JP6828632B2 (ja) * 2017-08-03 2021-02-10 住友電気工業株式会社 検知装置、検知方法および検知プログラム
CN108073156B (zh) * 2017-11-20 2019-11-01 广州汽车集团股份有限公司 一种汽车电子控制单元的安全算法管理方法及***
EP3720055A4 (en) * 2017-12-01 2021-01-06 Panasonic Intellectual Property Corporation of America ELECTRONIC CONTROL DEVICE, SERVER FOR DETECTING AUTHORIZED USE, VEHICLE-MOUNTED NETWORK SYSTEM, VEHICLE-MOUNTED NETWORK MONITORING SYSTEM AND VEHICLE-MOUNTED NETWORK MONITORING METHOD
JP7010049B2 (ja) * 2018-02-16 2022-01-26 トヨタ自動車株式会社 車両制御装置、プログラムの更新確認方法および更新確認プログラム
CN110224907A (zh) * 2018-03-01 2019-09-10 上海汽车集团股份有限公司 一种车载ecu的刷新***、方法及终端
JP6967664B2 (ja) * 2018-04-23 2021-11-17 日立Astemo株式会社 ゲートウェイ装置
DE112018007680T5 (de) * 2018-06-29 2021-04-22 Mitsubishi Electric Corporation Aktualisierungssteuervorrichtung, Aktualisierungssteuersystem und Aktualisierungssteuerverfahren
WO2020021715A1 (ja) * 2018-07-27 2020-01-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正対処方法、不正対処装置および通信システム
DE102018215141A1 (de) * 2018-09-06 2020-03-12 Continental Teves Ag & Co. Ohg Verfahren zur Verbesserung des Nutzungsgrades einer Fahrzeug-zu-X Kommunikationsvorrichtung sowie Fahrzeug-zu-X Kommunikationsvorrichtung
CN109495893B (zh) * 2018-12-13 2019-12-24 深圳美克拉网络技术有限公司 一种移动通信数据流量异常监测***
EP3921976A1 (en) * 2019-02-06 2021-12-15 ABB Power Grids Switzerland AG Method for authenticating messages in resource limited systems
JP7163813B2 (ja) * 2019-02-18 2022-11-01 日本電気株式会社 鍵管理システム、鍵管理方法及びプログラム
WO2020179124A1 (ja) * 2019-03-05 2020-09-10 住友電気工業株式会社 管理装置、通信システム、車両、車両通信管理方法および車両通信管理プログラム
CN111835627B (zh) * 2019-04-23 2022-04-26 华为技术有限公司 车载网关的通信方法、车载网关及智能车辆
US11258755B2 (en) * 2019-09-19 2022-02-22 GM Global Technology Operations LLC Method and system for processing coherent data
US11303455B2 (en) * 2020-02-18 2022-04-12 Bae Systems Controls Inc. Authenticating devices over a public communication network
US11968639B2 (en) * 2020-11-11 2024-04-23 Magna Electronics Inc. Vehicular control system with synchronized communication between control units
JP2022190844A (ja) * 2021-06-15 2022-12-27 株式会社オートネットワーク技術研究所 車載制御装置、イーサネットスイッチおよび機器設定方法
US11940973B1 (en) * 2022-12-30 2024-03-26 Monday.com Ltd. Limiting concurrent database updates

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665601B1 (en) * 1998-12-22 2003-12-16 Case Corporation Communications system for managing messages across a vehicle data bus
JP3849675B2 (ja) * 2003-07-25 2006-11-22 トヨタ自動車株式会社 車両診断方法、車両診断システム、車両およびセンター
JP4168866B2 (ja) * 2003-07-25 2008-10-22 トヨタ自動車株式会社 車両情報通信方法、車両情報通信システムおよびセンター
JP2005203882A (ja) * 2004-01-13 2005-07-28 Denso Corp 通信システム及び鍵送信方法
KR20050091134A (ko) * 2004-03-10 2005-09-15 (주)포트컴 Can 통신을 이용한 차량 원격 제어 시스템
JP2006352706A (ja) * 2005-06-17 2006-12-28 Hitachi Ltd マイクロプロセッサ、ネットワークシステム及び通信方法
ES2391786T3 (es) * 2007-02-13 2012-11-29 Secunet Security Networks Aktiengesellschaft Unidad de seguridad
JP4922120B2 (ja) * 2007-10-05 2012-04-25 株式会社オートネットワーク技術研究所 通信システム及び中継装置
EP2194257A1 (en) * 2008-12-05 2010-06-09 Delphi Technologies Holding S.à.r.l. A method of controlling a vehicle engine system
CN102114883B (zh) * 2010-09-21 2012-11-28 浙江吉利汽车研究院有限公司 汽车电子控制单元配置自检测装置及自检测方法
WO2012040392A2 (en) * 2010-09-21 2012-03-29 Cellepathy Ltd. System and method for sensor-based determination of user role, location, and/or state of one of more in-vehicle mobile devices and enforcement of usage thereof
US8919848B2 (en) * 2011-11-16 2014-12-30 Flextronics Ap, Llc Universal console chassis for the car
US9088454B2 (en) * 2010-11-03 2015-07-21 Broadcom Corporation Vehicle network node module
CN102004478B (zh) * 2010-11-08 2012-05-23 湖北三江航天万山特种车辆有限公司 一种车辆多总线协调通信与控制***
US20120215491A1 (en) * 2011-02-21 2012-08-23 Snap-On Incorporated Diagnostic Baselining
JP5310761B2 (ja) * 2011-03-04 2013-10-09 トヨタ自動車株式会社 車両ネットワークシステム
JP5479408B2 (ja) * 2011-07-06 2014-04-23 日立オートモティブシステムズ株式会社 車載ネットワークシステム
DE102012219093A1 (de) * 2011-10-25 2013-04-25 GM Global Technology Operations LLC (n.d. Ges. d. Staates Delaware) Cyber-Sicherheit in einem Kraftfahrzeugnetzwerk
JP5770602B2 (ja) * 2011-10-31 2015-08-26 トヨタ自動車株式会社 通信システムにおけるメッセージ認証方法および通信システム
WO2013090282A1 (en) * 2011-12-12 2013-06-20 Clay Skelton Systems, devices and methods for vehicles
JP2013138304A (ja) * 2011-12-28 2013-07-11 Toyota Motor Corp セキュリティシステム及び鍵データの運用方法
WO2013128317A1 (en) * 2012-03-01 2013-09-06 Nds Limited Anti-replay counter measures
WO2013175633A1 (ja) * 2012-05-25 2013-11-28 トヨタ自動車 株式会社 通信装置、通信システム及び通信方法
CN104349947B (zh) * 2012-05-29 2016-11-02 丰田自动车株式会社 认证***和认证方法
CN202827418U (zh) * 2012-08-31 2013-03-27 长城汽车股份有限公司 适用于混合动力汽车的车载网络***
SE1250982A1 (sv) * 2012-09-03 2014-03-04 Scania Cv Ab Kommunikationssystem i motorfordon
US9231936B1 (en) * 2014-02-12 2016-01-05 Symantec Corporation Control area network authentication

Also Published As

Publication number Publication date
WO2015170452A1 (ja) 2015-11-12
JPWO2015170452A1 (ja) 2017-04-20
US20160264071A1 (en) 2016-09-15
EP3142288B1 (en) 2018-12-26
CN105594155A (zh) 2016-05-18
CN105594155B (zh) 2019-08-02
EP3142288A1 (en) 2017-03-15
EP3142288A4 (en) 2017-05-17
US10227053B2 (en) 2019-03-12

Similar Documents

Publication Publication Date Title
JP6377143B2 (ja) 車載ネットワークシステム、電子制御ユニット及び更新処理方法
JP6396464B2 (ja) 車載ネットワークシステム、電子制御ユニット、受信方法及び送信方法
JP7008100B2 (ja) 不正対処方法、不正検知電子制御ユニットおよびネットワーク通信システム
US10609049B2 (en) Method for sensing fraudulent frames transmitted to in-vehicle network
JP6713415B2 (ja) 鍵管理方法、車載ネットワークシステム及び鍵管理装置
JP6407981B2 (ja) 車載ネットワークシステム、電子制御ユニット及び不正対処方法
WO2017119246A1 (ja) 異常検知方法、異常検知装置及び異常検知システム
US11516045B2 (en) Anomaly determination method, anomaly determination device, and recording medium
JP6651662B2 (ja) 不正検知電子制御ユニット及び不正検知方法
JPWO2019187350A1 (ja) 不正検知方法、不正検知装置及びプログラム
JP6698190B2 (ja) 不正対処方法、不正検知電子制御ユニット、および、ネットワーク通信システム
CN111788800B (zh) 帧传送方法以及安全星型耦合器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180607

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180724

R150 Certificate of patent or registration of utility model

Ref document number: 6377143

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150