JP2017069941A - 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法 - Google Patents

不正検知電子制御ユニット、車載ネットワークシステム及び通信方法 Download PDF

Info

Publication number
JP2017069941A
JP2017069941A JP2016114879A JP2016114879A JP2017069941A JP 2017069941 A JP2017069941 A JP 2017069941A JP 2016114879 A JP2016114879 A JP 2016114879A JP 2016114879 A JP2016114879 A JP 2016114879A JP 2017069941 A JP2017069941 A JP 2017069941A
Authority
JP
Japan
Prior art keywords
frame
bus
transmission
fraud detection
error
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
JP2016114879A
Other languages
English (en)
Other versions
JP6836340B2 (ja
Inventor
博史 天野
Hiroshi Amano
博史 天野
中野 稔久
Toshihisa Nakano
稔久 中野
松崎 なつめ
Natsume Matsuzaki
なつめ 松崎
芳賀 智之
Tomoyuki Haga
智之 芳賀
良浩 氏家
Yoshihiro Ujiie
良浩 氏家
剛 岸川
Takeshi Kishikawa
剛 岸川
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
Priority to EP16850576.6A priority Critical patent/EP3358788B1/en
Priority to CN201680002239.XA priority patent/CN107113214B/zh
Priority to PCT/JP2016/004008 priority patent/WO2017056395A1/ja
Publication of JP2017069941A publication Critical patent/JP2017069941A/ja
Priority to US15/879,962 priority patent/US10693905B2/en
Application granted granted Critical
Publication of JP6836340B2 publication Critical patent/JP6836340B2/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
    • 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/1441Countermeasures against malicious traffic
    • 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
    • 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
    • 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
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
    • H04W12/122Counter-measures against attacks; Protection against rogue devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

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

Abstract

【課題】不正なフレームを検知して無効化するためにエラーフレームを送信することが正規のECUへ及ぼす悪影響を低減し得る不正検知電子制御ユニット(不正検知ECU)を提供する。【解決手段】CAN(Controller Area Network)プロトコルに従って通信する複数の電子制御ユニット(ECU)が通信に用いるバス200に接続された不正検知ECU100は、バス200へ送信が開始されたフレームを受信する受信部110と、受信部110により受信されたフレームが不正を示す所定条件に該当した場合にそのフレームの最後尾が送信される前にエラーフレームをバス200へ送信し、エラーフレームの送信後にCANプロトコルに従ったフレームである正常フレームをバス200へ送信する送信部120とを備える。エラーフレームの影響でバス200に接続されたECUの受信エラーカウンタが増大しても正常フレームによって減少させ得る。【選択図】図6

Description

本発明は、車両等に搭載される電子制御ユニットが通信を行うネットワークにおいて不正なフレームの検知等を行う不正検知電子制御ユニットに関する。
近年、自動車の中のシステムには、電子制御ユニット(ECU:Electronic Control Unit)と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在する。その中でも最も主流な車載ネットワークの一つに、ISO11898−1で規定されているCAN(Controller Area Network)という規格が存在する。なお、CANは、自動車の他に、電車、産業機械、ロボット、医療機器等といった各種分野のシステムで制御ネットワークとして利用されている。
従来、CANのネットワークで正規のECUになりすまして不正なフレーム(不正なデータフレーム)を送信する脅威に対する対策として、CANの通信路であるバス(CANバス)に接続した不正検知機能を有するECU(不正検知ECU)により、不正なフレームを検知するとエラーフレームを送信することで不正なフレームを無効化する技術(不正なフレームの送信を阻止する技術)が知られている(例えば、特許文献1、非特許文献1、非特許文献2参照)。
特開2014−236248号公報
中野学/松本勉/Camille Vuillaume/小谷誠剛著、「自動車の情報セキュリティ」、日経BP社、2013年12月27日 畑正人/田邊正人/吉岡克成/松本勉著、「CANにおける不正送信阻止方式の実装と評価」、信学技報、電子情報通信学会、2012年12月
しかしながら、不正なフレームを無効化するためにエラーフレームが送信されると、CANバスに接続された正規のECUの受信エラーカウンタが増大する。ECUの受信エラーカウンタの増大は、そのECUが、データフレーム等の迅速な送信が制限されるパッシブ状態に遷移してしまう事態を、引き起こし得る。
そこで、本発明は、不正なフレームを検知して無効化するためにエラーフレームを送信することが正規のECUへ及ぼす悪影響を低減し得る不正検知電子制御ユニット(不正検知ECU)を提供する。また、本発明は、不正なフレームを無効化するためのエラーフレームの送信が正規のECUへ及ぼす悪影響を低減し得る車載ネットワークシステム、及び、その車載ネットワークシステムで用いられる通信方法を提供する。
上記課題を解決するために本発明の一態様に係る不正検知電子制御ユニットは、CAN(Controller Area Network)プロトコルに従って通信する複数の電子制御ユニットが通信に用いるバスに接続される不正検知電子制御ユニットであって、前記バスへ送信が開始されたフレームを受信する受信部と、前記受信部により受信されたフレームが不正を示す所定条件に該当した場合に、当該フレームの最後尾が送信される前にエラーフレームを前記バスへ送信し、エラーフレームの送信後にCANプロトコルに従ったフレームである正常フレームを前記バスへ送信する送信部とを備える不正検知電子制御ユニットである。
また、上記課題を解決するために本発明の一態様に係る車載ネットワークシステムは、CAN(Controller Area Network)プロトコルに従ってバスを介して通信する複数の電子制御ユニットと、当該バスに接続される不正検知電子制御ユニットとを備える車載ネットワークシステムであって、前記不正検知電子制御ユニットは、前記バスへ送信が開始されたフレームを受信する受信部と、前記受信部により受信されたフレームが不正を示す所定条件に該当した場合に、当該フレームの最後尾が送信される前にエラーフレームを前記バスへ送信し、エラーフレームの送信後にCANプロトコルに従ったフレームである正常フレームを前記バスへ送信する送信部とを備え、前記電子制御ユニットは、受信エラーカウンタを含みCANプロトコルに従って前記バスでの通信を制御するCANコントローラを備え、前記バスからの正常フレームの受信に成功した場合には前記受信エラーカウンタの値を減少させる車載ネットワークシステムである。
また、上記課題を解決するために本発明の一態様に係る通信方法は、CAN(Controller Area Network)プロトコルに従ってバスを介して通信する複数の電子制御ユニットを備える車載ネットワークシステムにおいて用いられる通信方法であって、前記バスへ送信が開始されたフレームを受信する受信ステップと、前記受信ステップで受信されたフレームが不正を示す所定条件に該当した場合に、当該フレームの最後尾が送信される前にエラーフレームを前記バスへ送信し、エラーフレームの送信後にCANプロトコルに従ったフレームである正常フレームを前記バスへ送信する送信ステップとを含む通信方法である。
本発明によれば、不正なフレームを無効化するためのエラーフレームの送信による正規のECUへの悪影響が低減され得る。
実施の形態1に係る車載ネットワークシステムの全体構成を示す図である。 CANプロトコルで規定されるデータフレームのフォーマットを示す図である。 CANプロトコルで規定されるエラーフレームのフォーマットを示す図である。 不正なフレームを無効化するためのエラーフレームによるエラーカウンタの増加の一例を示す図である。 不正検知ECU及び正規ECUの構成図である。 不正検知ECUの機能ブロック図である。 実施の形態1に係る不正検知ECUの動作例1を示すフローチャートである。 実施の形態1に係る不正検知ECUの動作例2を示すフローチャートである。 実施の形態1に係る不正検知ECUの動作例3を示すフローチャートである。 実施の形態1に係る不正検知ECUの動作例4を示すフローチャートである。 実施の形態1に係る不正検知ECUの動作例5を示すフローチャートである。 実施の形態1に係る不正検知ECUの動作例6を示すフローチャートである。 実施の形態2に係る不正検知ECUの構成図である。 実施の形態2に係る不正検知ECUの機能ブロック図である。 実施の形態2に係る不正検知ECUの動作例を示すフローチャートである。
本発明の一態様に係る不正検知電子制御ユニット(不正検知ECU)は、CAN(Controller Area Network)プロトコルに従って通信する複数の電子制御ユニットが通信に用いるバスに接続される不正検知電子制御ユニットであって、前記バスへ送信が開始されたフレームを受信する受信部と、前記受信部により受信されたフレームが不正を示す所定条件に該当した場合に、当該フレームの最後尾が送信される前にエラーフレームを前記バスへ送信し、エラーフレームの送信後にCANプロトコルに従ったフレームである正常フレームを前記バスへ送信する送信部とを備える不正検知電子制御ユニットである。これにより、不正なフレームを無効化するためにエラーフレームが送信された後に、正常フレームが送信される。この正常フレームを受信することで、CANバスに接続された正規のECUの受信エラーカウンタが減少する。従って、不正なフレームを無効化するためにエラーフレームを送信することが正規のECUに及ぼす悪影響が、低減され得る。
また、前記不正検知電子制御ユニットは、前記バスに接続される通信インタフェースと、前記通信インタフェースに接続され、CANプロトコルに従って前記バスでの通信を制御するCANコントローラと、前記CANコントローラを制御し、前記受信部及び前記送信部を実現するCPUとを備えることとしても良い。これにより、CPUが、制御プログラムを実行することでCANコントローラを制御して、不正なフレームを無効化するためのエラーフレームの送信に続くCANバスへの正常フレームの送信を実現する。このため、不正なフレームを無効化するためにエラーフレームを送信することが正規のECUに及ぼす悪影響の低減化を、制御プログラムによって比較的容易に実装可能となる。
また、前記送信部は、エラーフレームの前記送信後において前記バスが最初にアイドル状態になった際に、前記正常フレームの前記送信を行うこととしても良い。これにより、不正なフレームを無効化するためにエラーフレームを送信することで正規のECUの受信エラーカウンタが増大した状態を、速やかにエラーフレームの送信前の状態へと回復させ得る。
また、前記送信部は、送信したエラーフレームの数と同数の正常フレームを送信することとしても良い。これにより、エラーフレームにより正規のECUの受信エラーカウンタが増大した分だけ、正常フレームによりその受信エラーカウンタを減少させ得る。
また、前記送信部は、正常フレームの前記送信に失敗した場合に、正常フレームを送信することとしても良い。これにより、エラーフレームの送信後に送信した正常フレームについて通信調停等により送信失敗となっても、再び正常フレームを送信するので、エラーフレームの送信の影響で増大した、正規のECUの受信エラーカウンタを、減少させることができる可能性が増加し得る。
また、前記送信部は、送信した前記エラーフレームの数から、前記エラーフレームの送信後に前記所定条件に該当しない正常フレームを前記バスから受信した数を、減算して得られる数以上の正常フレームを送信することとしても良い。これにより、エラーフレームの送信後にバスに流れた適正フレーム(不正でない正常フレーム)と送信した正常フレームとの合計数がエラーフレームの数と同数以上となるので、エラーフレームの送信の影響で増大した、正規のECUの受信エラーカウンタを、エラーフレームの送信前における値へと減少(回復)させることができる可能性が増加し得る。
また、前記送信部は、正常フレームの前記送信に失敗した場合に、当該正常フレームのIDフィールドが示すIDより小さい値のIDをIDフィールドで示す正常フレームを送信することとしても良い。これにより、最初は優先度の相対的に低いID(メッセージID)を用いた正常データフレームを送信して他のECUの通信への影響を抑えることができる。そして、正常データフレームの送信に失敗した場合において例えば無条件或いは一定条件下で、正常フレーム(正常データフレーム)に用いるメッセージIDを、優先度のより高いものへと変更して、通信調停で負けにくくすることができる。このため、正規のECUの受信エラーカウンタを減少させることができる可能性が増加し得る。
また、前記送信部が、エラーフレームの送信後に送信する前記正常フレームは、データフィールドの長さがゼロであるデータフレームであることとしても良い。これにより、送信される正常フレーム(正常データフレーム)によるバス占有時間が短くなり、バス帯域への影響が抑制される。
また、前記送信部が、エラーフレームの送信後に送信する前記正常フレームのIDフィールドが示すIDは、前記不正検知電子制御ユニット以外の、前記バスに接続されたいずれの前記電子制御ユニットにおいても当該IDを識別して行うべき処理が定められていないIDであることとしても良い。これにより、送信される正常データフレームを受信した正規のECUが誤動作を行うことが防止され得る。
また、前記送信部は、前記エラーフレームの送信後から正常フレームの前記送信の前までに、前記所定条件に該当しない正常フレームを前記バスから受信したときには、正常フレームの前記送信を抑止することとしても良い。これにより、エラーフレームの送信後に、不正でないフレームがバスに流れて正規のECUの受信エラーカウンタが減少している場合において、不要な正常フレームの送信を抑止してバス帯域への悪影響を低減し得る。
また、前記不正検知電子制御ユニットは、複数のバスに接続され、一方のバスから受信したフレームを他方のバスに転送する機能を有し、受信した当該フレームが前記所定条件に該当した場合には当該転送を抑止し、前記送信部は、前記受信部により受信されたフレームが前記所定条件に該当した場合に、当該フレームの最後尾が送信される前にエラーフレームを当該フレームが受信されたバスへ送信し、エラーフレームの送信後に前記正常フレームを当該バスへ送信することとしても良い。これにより、不正検知ECUが、不正なフレームを無効化するためのエラーフレームの送信、及び、受信エラーカウンタの増加を抑制するための正常データフレームの送信を、不正なフレームを検知したバスに対してのみ行うことで、あるバスで発生した不正なフレームの影響が他のバスへ波及することを抑制し得る。
また、本発明の一態様に係る車載ネットワークシステムは、CAN(Controller Area Network)プロトコルに従ってバスを介して通信する複数の電子制御ユニットと、当該バスに接続される不正検知電子制御ユニットとを備える車載ネットワークシステムであって、前記不正検知電子制御ユニットは、前記バスへ送信が開始されたフレームを受信する受信部と、前記受信部により受信されたフレームが不正を示す所定条件に該当した場合に、当該フレームの最後尾が送信される前にエラーフレームを前記バスへ送信し、エラーフレームの送信後にCANプロトコルに従ったフレームである正常フレームを前記バスへ送信する送信部とを備え、前記電子制御ユニットは、受信エラーカウンタを含みCANプロトコルに従って前記バスでの通信を制御するCANコントローラを備え、前記バスからの正常フレームの受信に成功した場合には前記受信エラーカウンタの値を減少させる車載ネットワークシステムである。これにより、不正検知ECUから不正なフレームを無効化するためにエラーフレームが送信された後に、正常フレームが送信される。この正常フレームを受信したECUでは、受信エラーカウンタが減少する。従って、不正なフレームを無効化するためにエラーフレームを送信することが正規のECUに及ぼす悪影響が、低減され得る。
また、本発明の一態様に係る通信方法は、CAN(Controller Area Network)プロトコルに従ってバスを介して通信する複数の電子制御ユニットを備える車載ネットワークシステムにおいて用いられる通信方法であって、前記バスへ送信が開始されたフレームを受信する受信ステップと、前記受信ステップで受信されたフレームが不正を示す所定条件に該当した場合に、当該フレームの最後尾が送信される前にエラーフレームを前記バスへ送信し、エラーフレームの送信後にCANプロトコルに従ったフレームである正常フレームを前記バスへ送信する送信ステップとを含む通信方法である。これにより、不正なフレームを無効化するためにエラーフレームを送信することが正規のECUに及ぼす悪影響を、低減し得る。
なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD−ROM等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されても良い。
以下、実施の形態に係る不正検知ECUを含む車載ネットワークシステムについて、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本発明の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、ステップ(工程)及びステップの順序等は、一例であって本発明を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
(実施の形態1)
以下、本発明の実施の形態として、複数の電子制御ユニット(ECU)がバスを介して通信する車載ネットワークシステム10について、図面を用いて説明する。
[1.1 車載ネットワークシステム10の全体構成]
図1は、実施の形態1に係る車載ネットワークシステム10の全体構成を示す図である。車載ネットワークシステム10は、CANプロトコルに従って通信するネットワーク通信システムの一例であり、制御装置、センサ等の各種機器が搭載された自動車におけるネットワーク通信システムである。車載ネットワークシステム10は、バス200と不正検知ECU(ヘッドユニット)100、各種機器に接続されたECU400a〜400d等のECUといったバスに接続された各ノードとを含んで構成される。なお、図1では省略しているものの、車載ネットワークシステム10には、不正検知ECU100及びECU400a〜400d以外にもいくつものECUが含まれ得る。ECUは、例えば、プロセッサ(マイクロプロセッサ)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ROM、RAM等であり、プロセッサにより実行される制御プログラム(コンピュータプログラム)を記憶することができる。例えばプロセッサが、制御プログラム(コンピュータプログラム)に従って動作することにより、ECUは各種機能を実現することになる。なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
ECU400a〜400dは、バス200と接続され、それぞれエンジン310、ブレーキ320、ドア開閉センサ330、窓開閉センサ340に接続されている。ECU400a〜400dのそれぞれは、接続されている機器(エンジン310等)の状態を取得し、定期的に状態を表すフレーム(後述するデータフレーム)等をネットワーク(つまりバス)に送信している。
不正検知ECU(ヘッドユニット)100は、一種のECUであり、ECU400a〜400dから送信されるフレームを受信し、各種状態をディスプレイ(図示しない)に表示して、ユーザに提示する機能を持つ。また、不正検知ECU100が取得する各情報を示すフレームを生成して、そのフレームを、バス200を介して1台以上のECUに送信する機能を持つ。また、不正検知ECU100は、送受信するフレームについてルールへの適合性を判定することで、不正なフレーム(つまりルールに適合しないフレーム)か否かの判別を行い、不正なフレームを検知するとエラーフレームを送信する不正検知機能を有する。不正なフレームは、不正を示す所定条件に該当するフレームであるとも言える。なお、不正検知ECU(ヘッドユニット)100は、例えばカーナビゲーション、音楽再生、動画再生、ウェブページ表示、スマートフォンとの連携、アプリケーションプログラムのダウンロード及び実行等の機能を有し得る。本実施の形態では、ヘッドユニットである不正検知ECU100の不正検知機能に関連した動作に注目して説明する。
車載ネットワークシステム10においてはCANプロトコルに従って、各ECUがフレームの授受を行う。CANプロトコルにおけるフレームには、データフレーム、リモートフレーム、オーバーロードフレーム及びエラーフレームがある。
[1.2 CANでのデータの伝送]
CANでは、通信路は2本のワイヤで構成されたバス(上述のバス200等)であり、バスに接続されているECUはノードと呼ばれる。バスに接続されている各ノードは、フレームと呼ばれるメッセージを送受信する。フレームを送信する送信ノードは、2本のワイヤで電位差を発生させることによって、レセシブと呼ばれる「1」の値と、ドミナントと呼ばれる「0」の値を送信する。2本のワイヤの電位差が大きい状態がドミナントであり、逆に電位差が小さい状態がレセシブである。複数の送信ノードが同一のタイミングで、レセシブとドミナントをバスに送出(送信)した場合は、ドミナントが優先されて送信される。受信ノードは、受け取ったフレームのフォーマットに異常がある場合には、エラーフレームと呼ばれるフレームを送信する。エラーフレームとは、ドミナントを6bit連続して送信することで、送信ノードや他の受信ノードにフレームの異常を通知するものである。
またCANでは送信先や送信元を指す識別子は存在せず、送信ノードはフレーム毎にメッセージIDと呼ばれるIDを付けて送信し(つまりバスに信号を送出し)、各受信ノードは予め定められたIDのフレームのみを受信する(つまりバスから信号を読み取る)。また、CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)方式を採用しており、複数ノードの同時送信時にはメッセージIDによる調停が行われ、メッセージIDの値が小さいフレームが優先的に送信される。
CANのデータ通信はデータフレームを用いて行われ、CAN2.0規格では1フレームで8バイトまでのデータを送信できる。
[1.3 データフレームフォーマット]
以下、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.4 エラーフレームフォーマット]
図3は、CANプロトコルで規定されるエラーフレームのフォーマットを示す図である。エラーフレームは、エラーフラグ(プライマリ)と、エラーフラグ(セカンダリ)と、エラーデリミタとから構成される。
エラーフラグ(プライマリ)は、エラーの発生を他のECU(ノード)に知らせるために使用される。エラーを検知したノードはエラーの発生を他のノードに知らせるために6bitのドミナントを連続で送信する。この送信は、CANプロトコルにおけるビットスタッフィングルール(連続して同じ値を6bit以上送信しない)に違反し、他のノードからのエラーフレーム(セカンダリ)の送信を引き起こす。
エラーフラグ(セカンダリ)は、エラーの発生を他のノードに知らせるために使用される連続した6ビットのドミナントで構成される。エラーフラグ(プライマリ)を受信してビットスタッフィングルール違反を検知した全てのノードがエラーフラグ(セカンダリ)を送信することになる。
エラーデリミタ「DEL」は、8bitの連続したレセシブであり、エラーフレームの終了を示す。
[1.5 エラーカウンタ]
CANプロトコルに従って、CANバスで通信する各ECUではエラー発生時にエラーカウンタを増加させる。
CANバス上へのエラーフレームの送信が開始されると、それまでにバスに流れていたフレームの送信は、レセシブより優先されるドミナントが連続するエラーフレームにより上書き(つまり無効化)されることで、中断される。そして、それまでバスに流れていたフレームを送信したECU(送信ノード)は、送信エラーを確認すると、そのECUのCANコントローラにおける送信エラーカウンタを1増加する。
また、エラーフレーム(プライマリ)がCANバスに送信されると、CANバスに接続されたECU(受信ノード)では、上述のビットスタッフィングルール違反のため受信エラーとなり、エラーフレーム(セカンダリ)を送信してそのECUのCANコントローラにおける受信エラーカウンタを1増加する。
図4は、不正なフレームがCANバスに送信された後におけるエラーカウンタの一例を示す図である。この例では、CANバスに接続された不正ECUが不正なフレームを送信し、不正検知ECUがこの不正なフレームを検知すると無効化するためのエラーフレーム(プライマリ)を送信し、正規ECU(正規のECU)がエラーフレーム(セカンダリ)を送信した場合における各ECUのエラーカウンタの増加値を示している。
CANでは、データフレームに送信元を検証する手段がなく、データフレームを送信するとバス上のすべてのノード(ECU)にブロードキャストされるため、バスに接続されたECUが一度不正に攻撃者に侵入されて操られる(コントロールされる)と、このECUが重要な制御を担う他のECUになりすまして、不正に機器の制御が行われてしまう脅威がある。不正ECUの一例は、この侵入されたECUである。なお、故障したECU等も不正ECUとなり得る。上述のように不正検知ECU(ヘッドユニット)100では、不正ECUが送信するフレームが、車載ネットワークシステムにおいて予め定めているルールに適合しているか否かにより、不正であるか否かを判別する。
CANでは、各ECUで、受信エラーカウンタが一定閾値より大きくなると迅速な送信が制限されるパッシブ状態と呼ばれる状態に遷移する。通常状態ではECUは、CANバスがバスアイドル状態になった後、つまりデータフレーム後の3ビットのレセシブであるITM(Intermission)の後にならないと、データフレームを送信できない。これに対して、パッシブ状態では、更に、ITMの終了後に8ビットのレセシブを受信した後でないと、データフレームを送信できないので、迅速な送信は制限される。
不正なフレームの送信阻止(無効化)のためのエラーフレームにより、正規ECUの受信エラーカウンタが増えて、迅速な送信が制限される状態へと移行してしまうというエラーフレームの送信の悪影響を抑制するために、不正検知ECU100は、エラーフレームの送信後に一定条件下で速やかに正常フレームを送信する機能を有している。CANプロトコルに従って動作する正規ECUは、正常フレーム(つまりCANプロトコルに従ったフレーム)を受信エラーなく受信できれば、受信エラーカウンタを1減少させる。これにより、パッシブ状態へ移行する可能性が低減する。
[1.6 不正検知ECU100及びECU400aの構成]
図5は、不正検知ECU(ヘッドユニット)100、正規ECU400a等の構成の一例を示す構成図である。同図では、図1に示した車載ネットワークシステム10のバス200に接続されたECUのうち、不正検知機能を有するECUである不正検知ECU(ヘッドユニット)100、及び、正規ECUの1つであるECU400aを、説明の便宜上抽出して、示している。図5には、例えば故障状態、或いは、攻撃者にコントロールされた状態等により不正なデータフレームを送信するECUとしての不正ECU2001を付記している。
不正ECU2001、正規ECU400a、及び、不正検知ECU100は、バス200を介して、電子機器制御に関するデータフレームの送受信等を行う。
不正検知ECU100は、CANプロトコルに従い、データフレーム及びエラーフレームを送信する機能を有し、バス200を監視し、不正なデータフレームがバス200上に流れている場合、エラーフレームを用いて、不正なデータフレームの送信を阻止(つまり不正なデータフレームを無効化)する機能を有する。
不正検知ECU100は、図5に示すように、演算部3001、通信制御部3002、及び、通信インタフェース(通信I/F)3003を備える。演算部3001と通信制御部3002とは、有線又は無線で相互に通信可能となるように構成され、通信制御部3002と通信I/F3003とは、同様に有線又は無線で相互に通信可能となるように構成されている。通信I/F3003は、バス200(CANバス)に接続してフレームの送受信を行う通信回路であるCANトランシーバ等である。通信制御部3002は、バス200での通信を制御してCANプロトコルに係る処理を行うプロセッサであるCANコントローラであり、通信I/F3003を介して受信した情報を演算部3001から読み出し可能なデータとする機能、及び、演算部3001からの指示に応じて通信I/F3003を介してCANプロトコルに従ったデータフレーム或いはエラーフレームを送信する機能を有する。また、CANコントローラである通信制御部3002は、エラーカウンタ(送信エラーカウンタ及び受信エラーカウンタ)を含み、エラーカウンタの操作及びエラーカウンタに応じた制御等を行う。演算部3001は、CPU(Central Processing Unit)及びメモリで構成され、メモリに格納された制御プログラムをCPUで実行することにより、通信制御部3002を制御し、受信したフレームに基づく処理及び送信すべきフレームの生成等に係る各種機能を実現する。
ECU400a(正規ECU)は、CANプロトコルに従い、データフレーム及びエラーフレームを送信する機能、バス200を流れるデータのエラーを検出した場合にエラーフレームを送信し、受信エラーカウンタをインクリメントする(増加させる)機能、並びに、バス200を流れるデータフレームを正常に(受信エラーなく)受信したときに受信エラーカウンタをデクリメントする(減少させる)機能を有する。
ECU400aは、図5に示すように、有線又は無線で相互に通信可能となるように構成された演算部3011、通信制御部3012、及び、通信インタフェース(通信I/F)3013を備える。演算部3011、通信制御部3012及び通信I/F3013は、それぞれ、演算部3001、通信制御部3002、通信I/F3003と同様である。通信制御部3012は、受信エラーカウンタを含みCANプロトコルに従ってバス200での通信を制御するCANコントローラであり、バス200からの正常フレームの受信に成功した場合には受信エラーカウンタの値を減少させる。なお、図5では省略しているが、ECU400b〜400dも、ECU400aと同様の構成を備える。
[1.7 不正検知ECU100の機能構成]
図6は、不正検知ECU(ヘッドユニット)100の機能ブロック図である。
不正検知ECU100は、機能面において図6に示すように、受信部110及び送信部120を備え、送信部120は不正判定部121を備える。受信部110及び送信部120の機能は、制御プログラムを実行するCPUである演算部3001により実現される。なお、ヘッドユニットとしての不正検知ECU100は、ここでは説明を省略するが、他の正規ECUとの間でデータフレームの授受を行い、ヘッドユニットとしての各種機能(例えばカーナビゲーション、音楽再生、動画再生、ウェブページ表示、スマートフォンとの連携等の機能)を実現し得る。
受信部110は、バス200へ送信が開始されたフレームを受信する機能を有し、通信制御部3002が受信したフレームに係るデータを読み出す。
不正判定部121は、受信部110で受信されたデータフレームのデータから、バス200を流れるデータフレームが不正なフレームかどうかを検知する機能を有する。即ち、不正判定部121は、データフレームについて予め定められた判定ルールへの適合性の判定(データフレームが不正であるか否かの判定)を行う。判定ルールは、車載ネットワークシステム10において予め定められたものであれば、いかなるルールであっても良い。判定ルールの例としては、例えば、予め定められたメッセージIDのリストに記載されたメッセージIDを有するフレームであるというルールが挙げられる。また、別の例としては、例えば、定期的に送信されるように定められているメッセージIDを有するデータフレームが受信される時間間隔が、予め定められた適正周期からプラスマイナス一定のマージンの範囲内に収まっているというルールが挙げられる。
送信部120は、不正判定部121により不正なデータフレームが検知された場合にエラーフレームを送信する機能、正規ECUの受信エラーカウンタを適切に制御するためにエラーフレームの送信後に一定条件下で速やかに正常フレーム(CANプロトコルに従ったデータフレーム)を送信する機能等を有する。送信部120は、フレーム内容を与えて通信制御部3002を制御し、バス200へのフレームの送信を実現させる。
以下、不正なフレームを検知した場合の不正検知ECU100による処理についての各動作例を説明する。不正検知ECU100は、例えば、演算部(CPU)3001がそれぞれの処理に対応した制御プログラムを実行することで、各動作例に係る動作を実現し得る。なお、以下説明する各動作例は、一例に過ぎず、例えば、不正検知ECU100は、以下の複数の動作例における一部の処理手順を組み合わせて実行しても良い。
[1.8 不正検知ECU100の動作例1]
図7は、本実施の形態における不正検知ECU100の動作例1に係る処理手順を示すフローチャートである。以下、同図に即して動作例1について説明する。
図7に示すように、まず、不正検知ECU100は、バス200に流れるフレームを監視し、受信部110で受信したフレームが不正なフレームであるか否かを不正判定部121で判定する(ステップS401)。即ち、不正検知ECU100は、いずれかのECUによりバス200に送信が開始されたフレームを1ビットずつ受信して監視し、判定ルールに適合しているか否かを判定する。判定ルールに適合しているか否かの判定は、不正を示す所定条件(判定ルールに適合しないという条件)に該当するか否かの判定とも言える。例えば、不正ECU2001は、CANプロトコルには適合するが、不正を示す所定条件に該当する(判定ルールに適合しない)データフレームを送信し得る。この不正ECU2001により送信された不正なデータフレームが、ステップS401で不正なフレームであると判定され得る。ステップS401での判定により、判定ルールに適合していない(つまり不正を示す所定条件に該当した)不正なフレームが検知され得る。不正なフレームが検知されない場合は、ステップS401での処理が繰り返される。
不正なフレームを検知した場合には、不正検知ECU100は、送信部120等により、エラーフレームを送信する(ステップS402)。このエラーフレームの送信は、不正なフレームの最後尾が送信される前のタイミングで行われ、これにより、バス200上で、不正なフレームの少なくとも一部はエラーフレームに上書きされることで無効化される。従って、エラーフレームの送信により、正規ECUが不正なフレームを受信してその不正なフレームに対応した機能処理等を実行してしまうことが、阻止される。続いて、不正検知ECU100は、送信部120等により、CANプロトコルに従った正常フレーム(正常データフレーム)を送信する(ステップS403)。ステップS403での正常フレームの送信は、例えば、ステップS402でエラーフレームを送信した後においてバス200が最初にアイドル状態(バスアイドル)になった際に、行われる。ステップS403での正常フレームの送信は、必ずしもバス200が最初にバスアイドルになった瞬間に行われる必要はないが、エラーフレームによる正規ECUへの悪影響(受信エラーカウンタの増大)を低減させる観点において、正常フレームの送信が速やかに行われることは有用である。なお、不正検知ECU100がステップS402でエラーフレームを送信して、不正なフレームを無効化した場合に、不正ECU2001が直ちに不正なデータフレームの送信を繰り返すようなときにおいては、不正検知ECU100は、更に、エラーフレームの送信を行っても良く、その後においてバスアイドルになった際等において正常フレームを送信しても良い。
[1.9 動作例1の効果]
本実施の形態の動作例1では、不正検知ECU100が、エラーフレームを用いて不正なフレームの送信阻止(無効化)を行う際に、正常データフレームを続けて送信する。不正検知ECU100は、不正なフレームを検知してエラーフレームを送信するので、受信ノードによる問題ではなく、不正なフレームを送信した送信ノードによる問題であることが明らかであるので、受信エラーカウンタを増大させることを抑制するために正常フレームを送信している。これにより、正規ECUの受信エラーカウンタがデクリメントされる。即ち、不正検知ECU100によるエラーフレームの送信後の正常フレームの送信により、正規ECUの受信エラーカウンタが一方的に増大してしまうことが抑制され、正規ECUがパッシブ状態に遷移する可能性が低減され得る。従って、不正なフレームの無効化のためのエラーフレームによって正規ECUの動作が制限されてしまうことが防止され得る。
[1.10 不正検知ECU100の動作例2]
図8は、本実施の形態における不正検知ECU100の動作例2に係る処理手順を示すフローチャートである。以下、同図に即して動作例2について説明する。
不正検知ECU100は、バス200に流れるフレームを監視し、受信部110で受信したフレームが不正なフレームであるか否かを不正判定部121で判定する(ステップS501)。不正なフレームが検知されない場合は、ステップS501での処理が繰り返される。判定ルールに適合していない不正なフレームを検知した場合には、不正検知ECU100は、送信部120等により、エラーフレームを送信する(ステップS502)。なお、ステップS501、S502はそれぞれ、上述のステップS401、S402と同様である。
次に、不正検知ECU100は、送信部120等により、データフィールドの長さが0(ゼロ)である正常データフレームを送信する(ステップS503)。データフィールドの長さが0である正常データフレームは、CANプロトコルに従ったデータフレームであって、データフィールドにデータを含まないのでDLCの値が0のデータフレームである。なお、ステップS503でのデータフィールドの長さが0である正常データフレームの送信は、例えば、ステップS502でエラーフレームを送信した後にバス200が最初にバスアイドルになった際等に行われる。
[1.11 動作例2の効果]
本実施の形態の動作例2では、不正検知ECU100が、エラーフレームを用いて不正なフレームの送信阻止(無効化)を行った場合にその後に、正常データフレームを送信する。これにより、正規ECUの受信エラーカウンタが一方的に増大してしまうことを抑制し、正規ECUが、パッシブ状態に遷移する可能性を低減し得る。従って、不正なフレームの無効化のためのエラーフレームによって正規ECUの動作が制限されてしまうことが防止され得る。また、正規ECUの受信エラーカウンタをデクリメントするために不正検知ECU100により送信される正常データフレームは、データフィールドの長さが0のデータフレームであるので、送信される正常データフレームによるバス占有時間が短くなり、バス帯域への影響が抑制される。
[1.12 不正検知ECU100の動作例3]
図9は、本実施の形態における不正検知ECU100の動作例3に係る処理手順を示すフローチャートである。以下、同図に即して動作例3について説明する。
不正検知ECU100は、バス200に流れるフレームを監視し、受信部110で受信したフレームが不正なフレームであるか否かを不正判定部121で判定する(ステップS601)。不正なフレームが検知されない場合は、ステップS601での処理が繰り返される。判定ルールに適合していない不正なフレームを検知した場合には、不正検知ECU100は、送信部120等により、エラーフレームを送信する(ステップS602)。なお、ステップS601、S602はそれぞれ、上述のステップS401、S402と同様である。
次に、不正検知ECU100は、送信部120等により、他のECUで利用されないID(メッセージID)を有する正常データフレームを送信する(ステップS603)。他のECUで利用されないメッセージIDとは、車載ネットワークシステム10においてバス200に接続された、不正検知ECU100以外の、いずれのECU(ECU400a〜400d)においてもそのメッセージIDを識別して行うべき処理が定められていないメッセージIDである。例えば、不正検知ECU100以外の、バス200に接続されたいずれのECUも、0x200というメッセージIDのデータフレームを送信せず、0x200というメッセージIDのデータフレームを受信した場合にそのデータフレームに対応した機能処理等を実行しない場合において、ステップS603において不正検知ECU100は、0x200というメッセージIDの正常データフレームを送信する。ステップS603で送信される正常データフレームは、例えばデータフィールドの長さが0であるデータフレームであることが有用であるが、必ずしもデータフィールドの長さが0でなくても良い。なお、ステップS603での正常データフレームの送信は、例えば、ステップS602でエラーフレームを送信した後にバス200が最初にバスアイドルになった際等に行われる。
[1.13 動作例3の効果]
本実施の形態の動作例3では、不正検知ECU100が、エラーフレームを用いて不正なフレームの送信阻止(無効化)を行った場合にその後に、正常データフレームを送信する。これにより、正規ECUの受信エラーカウンタが一方的に増大してしまうことを抑制し、正規ECUが、パッシブ状態に遷移する可能性を低減し得る。従って、不正なフレームの無効化のためのエラーフレームによって正規ECUの動作が制限されてしまうことが防止され得る。また、正規ECUの受信エラーカウンタをデクリメントするために不正検知ECU100により送信される正常データフレームのメッセージIDは、他のECUで利用されないIDであるため、正常データフレームを受信した正規ECUが誤動作を行うことが防止され得る。
[1.14 不正検知ECU100の動作例4]
図10は、本実施の形態における不正検知ECU100の動作例4に係る処理手順を示すフローチャートである。以下、同図に即して動作例4について説明する。
不正検知ECU100は、バス200に流れるフレームを監視し、受信部110で受信したフレームが不正なフレームであるか否かを不正判定部121で判定する(ステップS701)。即ち、不正検知ECU100は、いずれかのECUによりバス200に送信が開始されたフレームを1ビットずつ受信して監視し、判定ルールに適合しているか否か(不正を示す所定条件に該当するか否か)を判定する。これにより、判定ルールに適合していない(つまり不正を示す所定条件に該当した)不正なフレームが検知され得る。ステップS701で不正なフレームが検知されない場合は、ステップS702及びステップS703をスキップしてステップS704での処理に進む。
ステップS701で、不正なフレームを検知した場合には、不正検知ECU100は、送信部120等により、エラーフレームを送信する(ステップS702)。このエラーフレームの送信は、不正なフレームの最後尾が送信される前のタイミングで行われ、これにより、バス200上で、不正なフレームの少なくとも一部はエラーフレームに上書きされることで無効化される。従って、エラーフレームの送信により、正規ECUが不正なフレームを受信してその不正なフレームに対応した機能処理等を実行してしまうことが、阻止される。続いて、不正検知ECU100は、正常データフレームの送信管理用のカウンタである正常データフレーム送信回数カウンタを、+1(インクリメント)する(ステップS703)。この正常データフレーム送信回数カウンタは、送信したエラーフレームの数と同数の正常フレームを送信するために用いられ、初期値が0(ゼロ)であり、エラーフレームの送信毎に1増加させられ、正常データフレームの送信に成功する毎に1減少させられる。
ステップS703の後において、或いは、ステップS701で不正なフレームが検知されない場合において、不正検知ECU100は、正常データフレーム送信回数カウンタの値を確認し(ステップS704)、0であれば、ステップS701に遷移する。
ステップS704において正常データフレーム送信回数カウンタの値が0でなければ、不正検知ECU100は、送信部120等により、正常データフレームを送信する(ステップS705)。ステップS705での正常データフレームの送信は、バスアイドルとなったバス200に対して正常データフレームを1ビットずつ送出することで行われる。不正検知ECU100は、その正常データフレームの送信が成功したか否かを判定する(ステップS706)。ステップS706では、ステップS705でバス200に1ビットずつ送出を開始した正常データフレームについて、他のECUによるデータフレームの同時送信の可能性があるので、CANにおける通信調停の結果等として送信が成功したか否かを判定する。送信が成功したか否かの判定は、例えば、送信した正常データフレームとバス200に現れたビット値とが一致するか否かにより、行われ、また例えば送信した正常データフレームについてのバス200に現れたACKスロットがドミナントであるか否か等により、行われても良い。なお、不正検知ECU100の演算部(CPU)3001が、通信制御部(CANコントローラ)3002から送信が成功したか否かを識別可能な送信完了通知を受けること等によって、送信が成功したか否かを判定することとしても良い。ステップS706で、正常データフレームの送信が成功したと判定した場合には、不正検知ECU100は、正常データフレーム送信回数カウンタを、−1(デクリメント)して(ステップS707)、ステップS701に遷移する。
ステップS706で、通信調停に負ける等により正常データフレームの送信に成功しなかった(つまり送信に失敗した)と判定した場合には、不正検知ECU100は、ステップS707をスキップして、ステップS701に遷移する。これにより、不正検知ECU100の送信部120等により、正常データフレームの送信に失敗した場合において、再び正常データフレームが送信されることになる。不正検知ECU100がステップS702でエラーフレームを送信して、不正なフレームを無効化した場合に、例えば不正ECU2001が直ちに不正なデータフレームの送信を繰り返すようなときにおいては、不正検知ECU100がステップS705で送信する正常データフレームがその不正なデータフレームによって通信調停に負ける可能性がある。このようなときでも不正検知ECU100は、正常データフレーム送信回数カウンタに従っていずれ正常データフレームを送信し得る。
[1.15 動作例4の効果]
本実施の形態の動作例4では、不正検知ECU100が、エラーフレームを用いて不正なフレームの送信阻止(無効化)を行った場合にその後に、正常データフレームを送信する。これにより、正規ECUの受信エラーカウンタが一方的に増大してしまうことを抑制し、正規ECUが、パッシブ状態に遷移する可能性を低減し得る。従って、不正なフレームの無効化のためのエラーフレームによって正規ECUの動作が制限されてしまうことが防止され得る。また、不正検知ECU100は正常データフレーム送信回数カウンタを用いて、送信したエラーフレームの数と同数の正常データフレームを送信する。これにより、万が一、正常データフレームが通信調停等によって一時的に送信できなかった場合でも、正規ECUの受信エラーカウンタをデクリメントするために正常データフレームが送信されることを保証し得る。このため、不正なフレームの無効化のためのエラーフレームによって正規ECUの動作が制限されてしまうことが防止され得る。
[1.16 不正検知ECU100の動作例5]
図11は、本実施の形態における不正検知ECU100の動作例5に係る処理手順を示すフローチャートである。以下、同図に即して動作例5について説明する。
不正検知ECU100は、バス200に流れるフレームを監視し、受信部110で受信したフレームが不正なフレームであるか否か(つまり不正を示す所定条件に該当するか否か)を不正判定部121で判定する(ステップS801)。ステップS801で不正なフレームが検知されない場合は、ステップS802及びステップS803をスキップしてステップS804での処理に進む。
ステップS801で、不正なフレームを検知した場合には、不正検知ECU100は、送信部120等により、エラーフレームを送信する(ステップS802)。続いて、不正検知ECU100は、正常データフレームの送信管理用のカウンタである正常データフレーム送信回数カウンタを、+1(インクリメント)する(ステップS803)。
ステップS803の後において、或いは、ステップS801で不正なフレームが検知されない場合において、不正検知ECU100は、正常データフレーム送信回数カウンタの値を確認し(ステップS804)、0であれば、ステップS801に遷移する。
ステップS804において正常データフレーム送信回数カウンタの値が0でなければ、不正検知ECU100は、送信部120等により、正常データフレームを送信する(ステップS805)。続いて、不正検知ECU100は、その正常データフレームの送信が成功したか否かを判定する(ステップS806)。ステップS806で、正常データフレームの送信が成功したと判定した場合には、不正検知ECU100は、正常データフレーム送信回数カウンタを、−1(デクリメント)して(ステップS807)、ステップS808に遷移する。
ステップS806で、通信調停に負ける等により正常データフレームの送信が成功しなかったと判定した場合には、不正検知ECU100は、ステップS807をスキップして、ステップS808に遷移する。
なお、ステップS801、S802、S803、S804、S805、S806、S807はそれぞれ、上述のステップS701、S702、S703、S704、S705、S706、S707と同様である。
ステップS807の後において、或いは、ステップS806で正常データフレームの送信に成功しなかったと判定した場合において、不正検知ECU100は、バス200上に正常データフレームが流れたか否かを確認(判定)する(ステップS808)。具体的にはステップS808では、不正検知ECU100は、例えば、CANプロトコルに従った正常データフレームであって不正なフレームでない(つまり不正を示す所定条件に該当しない)正常データフレームをバス200から受信したか否かを確認する。ステップS808で、バス200上に正常データフレームが流れなかったと判定した場合には、ステップS809及びステップS810をスキップしてステップS801に遷移する。
ステップS808で、バス200上に正常データフレームが流れたことを確認した場合には、不正検知ECU100は、正常データフレーム送信回数カウンタが0より大きい限り(ステップS809)、正常データフレーム送信回数カウンタをー1(デクリメント)して(ステップS810)、ステップS801に遷移する。この正常データフレーム送信回数カウンタは、送信したエラーフレームの数から、エラーフレームの送信後に不正なフレームでない正常データフレームがバス200から受信された数を減算して得られる数以上の正常データフレームを送信するために用いられる。正常データフレーム送信回数カウンタは、初期値が0であり、概ね、エラーフレームの送信に対応して増加させられ、正常データフレームの送信に成功した場合或いはバス200上に他のECUにより正常データフレームが送信された場合に対応して減少させられる。
[1.17 動作例5の効果]
本実施の形態の動作例5では、不正検知ECU100が、エラーフレームを用いて不正なフレームの送信阻止(無効化)を行った場合にその後に、正常データフレームを送信する。これにより、正規ECUの受信エラーカウンタが一方的に増大してしまうことを抑制し、正規ECUが、パッシブ状態に遷移する可能性を低減し得る。従って、不正なフレームの無効化のためのエラーフレームによって正規ECUの動作が制限されてしまうことが防止され得る。また、不正検知ECU100は正常データフレーム送信回数カウンタを用いて、送信したエラーフレームの数と同数の正常データフレームがバス200上に流れるようにする。これにより、万が一、正常データフレームが通信調停等によって一時的に送信できなかった場合でも、正規ECUの受信エラーカウンタをデクリメントするために正常データフレームが送信されることを保証し得る。このため、不正なフレームの無効化のためのエラーフレームによって正規ECUの動作が制限されてしまうことが防止され得る。また、バス200を流れた正常データフレームの数の分だけ、不正検知ECU100は、正規ECUの受信エラーカウンタをデクリメントするために自ら送信する正常データフレームの数を減らす。これにより、正規ECUの受信エラーカウンタをデクリメントするために送信する正常データフレームによるバス占有時間が短くなり、バス帯域への影響が抑制される。
[1.18 不正検知ECU100の動作例6]
図12は、本実施の形態における不正検知ECU100の動作例6に係る処理手順を示すフローチャートである。以下、同図に即して動作例6について説明する。
不正検知ECU100は、バス200に流れるフレームを監視し、受信部110で受信したフレームが不正なフレームであるか否か(つまり不正を示す所定条件に該当するか否か)を不正判定部121で判定する(ステップS901)。ステップS901で不正なフレームが検知されない場合は、ステップS902及びステップS903をスキップしてステップS904での処理に進む。
ステップS901で、不正なフレームを検知した場合には、不正検知ECU100は、送信部120等により、エラーフレームを送信する(ステップS902)。続いて、不正検知ECU100は、正常データフレームの送信管理用のカウンタである正常データフレーム送信回数カウンタを、+1(インクリメント)する(ステップS903)。
ステップS903の後において、或いは、ステップS901で不正なフレームが検知されない場合において、不正検知ECU100は、正常データフレーム送信回数カウンタの値を確認し(ステップS904)、0であれば、ステップS901に遷移する。
ステップS904において正常データフレーム送信回数カウンタの値が0でなければ、不正検知ECU100は、正常データフレーム送信回数カウンタの値が閾値より大きくなっていれば(ステップS905)、ステップS907で送信する正常データフレームのIDフィールドに含ませるメッセージIDの値を、より小さい値へ変更する(ステップS906)。CANではメッセージIDの値が小さいほどバス上での通信調停において優先度が高くなる。正常データフレーム送信回数カウンタの初期値は0であり、閾値は、0以上の予め定められた値であり、例えば0、1、5等といった値をとり得る。閾値が0であれば、正常データフレームの送信に失敗した場合において正常データフレームに用いるメッセージIDをより小さい値へ変更することになり得る。また、正常データフレームの送信に失敗した場合において一定条件下(例えば1以上の閾値を超える条件の下)で、正常データフレームに用いるメッセージIDを、優先度のより高いものへと変更しても良い。例えば、正常データフレームのメッセージIDの初期値としては、CANの通信調停における優先度が比較的低いところの大きな値のメッセージIDが用いられ、通信調停に負ける等により送信に失敗し、送信すべき正常データフレームの数が増加した場合等においては、ステップS906の処理で、それより優先度が高いメッセージID(つまりメッセージIDの値が、より小さなもの)に変更される。
ステップS905で正常データフレーム送信回数カウンタの値が閾値より大きくなっていない場合において、或いは、ステップS906の後において、不正検知ECU100は、送信部120等により、正常データフレームを送信する(ステップS907)。
続いて、不正検知ECU100は、その正常データフレームの送信が成功したか否かを判定する(ステップS908)。ステップS908で、正常データフレームの送信が成功したと判定した場合には、不正検知ECU100は、正常データフレーム送信回数カウンタを、−1(デクリメント)して(ステップS909)、ステップS910に遷移する。
ステップS908で、通信調停に負ける等により正常データフレームの送信が成功しなかったと判定した場合には、不正検知ECU100は、ステップS909をスキップして、ステップS910に遷移する。
ステップS909の後において、或いは、ステップS908で正常データフレームの送信に成功しなかったと判定した場合において、不正検知ECU100は、バス200上に正常データフレームが流れたか否かを確認(判定)する(ステップS910)。ステップS910で、バス200上に正常データフレームが流れなかったと判定した場合には、ステップS911及びステップS912をスキップしてステップS901に遷移する。
ステップS910で、バス200上に正常データフレームが流れたことを確認した場合には、不正検知ECU100は、正常データフレーム送信回数カウンタが0より大きい限り(ステップS911)、正常データフレーム送信回数カウンタをー1(デクリメント)して(ステップS912)、ステップS901に遷移する。
なお、ステップS901〜S904、S907〜S912はそれぞれ、上述のステップS801〜S804、S805〜S810と同様である。また、ステップS906で、より小さい値に変更した、送信する正常データフレームにおけるメッセージIDを、不正検知ECU100は、何らかのタイミングで(例えば、正常データフレーム送信回数カウンタが0になったとき等において)、初期値に戻すようにしても良い。
[1.19 動作例6の効果]
本実施の形態の動作例6では、不正検知ECU100が、エラーフレームを用いて不正なフレームの送信阻止(無効化)を行った場合にその後に、正常データフレームを送信する。これにより、正規ECUの受信エラーカウンタが一方的に増大してしまうことを抑制し、正規ECUが、パッシブ状態に遷移する可能性を低減し得る。従って、不正なフレームの無効化のためのエラーフレームによって正規ECUの動作が制限されてしまうことが防止され得る。また、不正検知ECU100は正常データフレーム送信回数カウンタを用いて、送信したエラーフレームの数と同数の正常データフレームがバス200上に流れるようにする。これにより、万が一、正常データフレームが通信調停等によって一時的に送信できなかった場合でも、正規ECUの受信エラーカウンタをデクリメントするために正常データフレームが送信されることを保証し得る。このため、不正なフレームの無効化のためのエラーフレームによって正規ECUの動作が制限されてしまうことが防止され得る。また、バス200を流れた正常データフレームの数の分だけ、不正検知ECU100は、正規ECUの受信エラーカウンタをデクリメントするために自ら送信する正常データフレームの数を減らす。これにより、正規ECUの受信エラーカウンタをデクリメントするために送信する正常データフレームによるバス占有時間が短くなり、バス帯域への影響が抑制される。また、不正検知ECU100は、正常データフレーム送信回数カウンタがある閾値を超えた場合は、正規ECUの受信エラーカウンタをデクリメントするために送信する正常データフレームの優先度を高くする。これにより、最初は優先度の低いメッセージIDを用いた正常データフレームを送信して他のECUの通信への影響を抑えることができる。そして、正常データフレーム送信回数カウンタがある閾値を超えた場合に正常データフレームに用いるメッセージIDを、優先度のより高いものへと変更して、通信調停で負けにくくして、正規ECUの受信エラーカウンタのデクリメントの実行の確保を図ることができる。
(実施の形態2)
以下、実施の形態1で示した車載ネットワークシステム10の一部を変形した車載ネットワークシステムについて説明する。
本実施の形態に係る車載ネットワークシステムは、実施の形態1で示したECU400a等が接続されたバス200と、別のバス1200との両方に接続された不正検知ECU100aを備える。不正検知ECU100aは、実施の形態1で示した不正検知ECU100の一部を変形したものであり、不正なフレームを検知するとエラーフレームを送信する不正検知機能の他に、バス間でデータフレームを転送する転送機能を有する。
[2.1 不正検知ECU100aの構成]
図13は、不正検知ECU100a等の構成の一例を示す構成図である。同図では、図5に示したバス200と、このバス200に接続されたECU400a及び不正ECU2001とに加えて、バス1200と、バス1200に接続された正規ECU1400と、不正ECU2011と、バス200及びバス1200の両方に接続された不正検知ECU100aとを示している。正規ECU1400は、実施の形態1で示したECU400aと同様の構成及び機能を有する。なお、不正ECU2011は、例えば故障状態、或いは、攻撃者にコントロールされた状態等により不正なデータフレームを送信するECUである。
不正検知ECU100aは、CANプロトコルに従い、データフレーム及びエラーフレームを送信する機能を有し、バス200を監視し、不正なデータフレームがバス200上に流れている場合、エラーフレームを用いて、不正なデータフレームの送信を阻止(つまり不正なデータフレームを無効化)する機能を有する。また、不正検知ECU100aは、バス200とバス1200との間で、一定条件下で、一方のバスから他方のバスへとデータフレームを転送する転送機能を有する。この転送機能を有する不正検知ECU100aにより、例えばバス200に接続された正規ECU400aとバス1200に接続された正規ECU1400との間でのデータフレーム(メッセージ)の授受が可能となる。
バス200ではCANプロトコルに従ったフレームが送受信され、バス1200でも同様にCANプロトコルに従ったフレームが送受信され得る。なお、バス1200での通信に用いられるプロトコルが必ずしもバス200での通信に用いられるプロトコルと一致しなくても良く、例えば、バス200での通信にはCANプロトコルが用いられ、バス1200での通信にはCAN−FD(CAN with Flexible Data Rate)プロトコルが用いられることとしても良い。両バスのプロトコルが一致しない場合においては、不正検知ECU100aが、例えば、フレームの転送に際してプロトコル変換を行う機能(ゲートウェイ機能)を有することとしても良い。ここでは、バス200での通信にもバス1200での通信にもCANプロトコルが用いられるものとして説明を続ける。
不正検知ECU100aは、図13に示すように、演算部3001a、通信制御部3002、通信制御部3002a、通信I/F3003、及び、通信I/F3003aを備える。演算部3001aは通信制御部3002、3002aと、有線又は無線で相互に通信可能となるように構成され、通信制御部3002と通信I/F3003とは、有線又は無線で相互に通信可能となるように構成され、通信制御部3002aと通信I/F3003aとは、同様に、有線又は無線で相互に通信可能となるように構成されている。図13では、図5に示した構成要素と同様の構成要素については、同じ符号を付しており、ここでは説明を省略する。通信I/F3003aは、CANバス(バス1200)に接続してフレームの送受信を行う通信回路であるCANトランシーバ等である。通信制御部3002aは、バス1200での通信を制御してCANプロトコルに係る処理を行うプロセッサであるCANコントローラであり、通信I/F3003aを介して受信した情報を演算部3001aから読み出し可能なデータとする機能、及び、演算部3001aからの指示に応じて通信I/F3003aを介してCANプロトコルに従ったデータフレーム或いはエラーフレームを送信する機能を有する。また、CANコントローラである通信制御部3002aは、エラーカウンタ(送信エラーカウンタ及び受信エラーカウンタ)を含み、エラーカウンタの操作及びエラーカウンタに応じた制御等を行う。演算部3001aは、CPU及びメモリで構成され、メモリに格納された制御プログラムをCPUで実行することにより、通信制御部3002、3002aを制御し、受信したフレームに基づく処理及び送信すべきフレームの生成等に係る各種機能を実現する。
正規ECU400a、正規ECU1400、及び、不正検知ECU100aは、バス200或いはバス1200を介して、電子機器制御に関するデータフレームの送受信等を行う。
[2.2 不正検知ECU100aの機能構成]
図14は、不正検知ECU100aの機能ブロック図である。
不正検知ECU100aは、機能面において図14に示すように、受信部110a及び送信部120aを備え、送信部120aは不正判定部121を備える。受信部110a及び送信部120aの機能は、制御プログラムを実行するCPUである演算部3001aにより実現される。なお、不正検知ECU100aは、例えば、ヘッドユニットとしての各種機能(例えばカーナビゲーション等の機能)を有しても良い。
受信部110aは、バス200或いはバス1200へ送信が開始されたフレームを受信する機能を有し、通信制御部3002或いは通信制御部3002aが受信したフレームに係るデータを読み出す。
不正判定部121は、実施の形態1で示したものと同様であり(図6参照)、受信部110aで受信されたデータフレームのデータから、そのデータフレームが不正なフレームかどうかを検知する機能を有する。即ち、不正判定部121は、データフレームについて予め定められた判定ルールへの適合性の判定(データフレームが不正であるか否かの判定)を行う。
送信部120aは、不正判定部121により不正なデータフレームが検知された場合に、バス200及びバス1200のうちいずれのバスにおいて不正なフレームが送信されたかを判別して、その不正なフレームが送信されているバスへとエラーフレームを送信する機能と、正規ECUの受信エラーカウンタを適切に制御するためにエラーフレームの送信後に一定条件下で速やかに正常フレーム(そのバスでの通信に用いられるプロトコルに従ったデータフレーム)を送信する機能とを有する。送信部120aは、不正なデータフレームが送信されているバス上に、その不正なデータフレームの最後尾が送信される前にエラーフレームを送信することで、不正なデータフレームの送信を阻止する(不正なデータフレームを無効化する)。送信部120aは、フレーム内容を与えて通信制御部3002或いは通信制御部3002aを制御し、バス200或いはバス1200へのフレームの送信を実現させる。
以下、不正なフレームを検知した場合の不正検知ECU100aによる処理についての動作例を説明する。不正検知ECU100aは、例えば、演算部(CPU)3001aが制御プログラムを実行することで、この動作例に係る動作を実現し得る。
[2.3 不正検知ECU100aの動作例]
図15は、本実施の形態における不正検知ECU100aの動作例に係る処理手順を示すフローチャートである。以下、同図に即して不正検知ECU100aの動作例について説明する。
不正検知ECU100aは、バス200及びバス1200に流れるフレームを監視し、受信部110aでバス200及びバス1200のいずれかから受信したフレームが不正なフレームであるか否かを不正判定部121で判定する(ステップS101)。即ち、不正検知ECU100aは、いずれかのECUによりバス200或いはバス1200に送信が開始されたフレームを1ビットずつ受信して監視し、判定ルールに適合しているか否かを判定する。判定ルールに適合しているか否かの判定は、不正を示す所定条件(判定ルールに適合しないという条件)に該当するか否かの判定とも言える。これにより、判定ルールに適合していない(つまり不正を示す所定条件に該当した)不正なフレームが検知され得る。不正なフレームが検知されない場合は、ステップS101での処理が繰り返される。
不正なフレームを検知した場合には、不正検知ECU100aは、バス200及びバス1200のうちいずれのバスにおいて不正なフレームが送信されたかを判別する(ステップS102)。
ステップS102で不正なフレームがバス200で送信されたと判別した場合には、不正検知ECU100aは、送信部120a等により、その不正なフレームが送信されているバス200へとエラーフレームを送信する(ステップS103)。このエラーフレームの送信は、不正なフレームの最後尾が送信される前のタイミングで行われ、これにより、バス200上で、不正なフレームの少なくとも一部はエラーフレームに上書きされることで無効化される。従って、エラーフレームの送信により、正規ECU400a等が不正なフレームを受信してその不正なフレームに対応した機能処理等を実行してしまうことが、阻止される。続いて、不正検知ECU100aは、送信部120等により、CANプロトコルに従った正常フレーム(正常データフレーム)をバス200へと送信する(ステップS104)。ステップS104での正常フレームの送信は、例えば、ステップS103でエラーフレームをバス200に送信した後においてバス200が最初にバスアイドルになった際に、行われる。なお、ステップS104での正常フレームの送信は、必ずしもバス200が最初にバスアイドルになった瞬間に行われる必要はないが、エラーフレームによる正規ECUへの悪影響(受信エラーカウンタの増大)を低減させる観点において、正常フレームの送信が速やかに行われることは有用である。
ステップS102で不正なフレームがバス1200で送信されたと判別した場合には、不正検知ECU100aは、送信部120a等により、その不正なフレームが送信されているバス1200へとエラーフレームを送信する(ステップS105)。続いて、不正検知ECU100aは、送信部120等により、CANプロトコルに従った正常フレーム(正常データフレーム)をバス1200へと送信する(ステップS106)。ステップS105及びステップS106は、送信先のバスがバス1200である点以外については、ステップS103及びステップS104と同様である。ステップS105でのエラーフレームの送信は、不正なフレームの最後尾が送信される前のタイミングで行われ、これにより、バス1200上で、不正なフレームの少なくとも一部はエラーフレームに上書きされることで無効化される。従って、エラーフレームの送信により、正規ECU1400等が不正なフレームを受信してその不正なフレームに対応した機能処理等を実行してしまうことが、阻止される。なお、ステップS104或いはステップS106で送信される正常データフレームは、例えばデータフィールドの長さが0であるデータフレームであることが有用であるが、必ずしもデータフィールドの長さが0でなくても良い。また、ステップS104或いはステップS106で送信される正常データフレームのメッセージIDは、他のECUで利用されないメッセージIDであることが有用である。ここで、他のECUで利用されないメッセージIDとは、例えば、バス200に正常データフレームを送信する場合においては、バス200に接続された、不正検知ECU100a以外の、いずれのECUにおいてもそのメッセージIDを識別して行うべき処理が定められていないメッセージIDである。また、他のECUで利用されないメッセージIDとは、例えばバス1200に正常データフレームを送信する場合においては、バス1200に接続された、不正検知ECU100a以外の、いずれのECUにおいてもそのメッセージIDを識別して行うべき処理が定められていないメッセージIDである。
なお、不正検知ECU100aは、バス200で不正なデータフレームではないデータフレームを受信した場合において、予め定められた転送ルールに基づいて、そのデータフレームをバス1200に転送し得る。また、不正検知ECU100aは、バス1200で不正なデータフレームではないデータフレームを受信した場合において、予め定められた転送ルールに基づいて、そのデータフレームをバス200に転送し得る。しかし、不正検知ECU100aは、不正なデータフレームを受信した場合には、転送を行わない。
[2.4 実施の形態2の効果]
本実施の形態では、不正検知ECU100aが、エラーフレームを用いて不正なフレームの送信阻止(無効化)を行う際に、正常データフレームを続けて送信する。不正検知ECU100aは、不正なフレームを検知してエラーフレームを送信するので、受信ノードによる問題ではなく、不正なフレームを送信した送信ノードによる問題であることが明らかであるので、受信エラーカウンタを増大させることを抑制するために正常フレームを送信している。これにより、正規ECUの受信エラーカウンタがデクリメントされる。即ち、不正検知ECU100aによるエラーフレームの送信後の正常フレームの送信により、正規ECUの受信エラーカウンタが一方的に増大してしまうことが抑制され、正規ECUがパッシブ状態に遷移する可能性が低減され得る。従って、不正なフレームの無効化のためのエラーフレームによって正規ECUの動作が制限されてしまうことが防止され得る。不正検知ECU100aは、不正なフレームを無効化するためのエラーフレームの送信、及び、受信エラーカウンタの増加を抑制するための正常データフレームの送信を、不正なフレームを検知したバスに対してのみ行うことで、あるバスで発生した不正なフレームの影響が他のバスへ波及することを抑制し得る。
(他の実施の形態)
以上のように、本発明に係る技術の例示として実施の形態1、2を説明した。しかしながら、本発明に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本発明の一実施態様に含まれる。
(1)上記実施の形態では、不正検知ECU100の送信部120が、バス200へのエラーフレームの送信に続けてバス200へ正常データフレーム(正常フレーム)を送信する例を示したが、送信部120は、そのエラーフレームの送信後から正常フレームの送信の前までに、不正を示す所定条件に該当しない正常フレームをバス200から受信したときには、正常フレームのその送信を抑止しても良い。
(2)上記実施の形態では、CANプロトコルにおけるデータフレームを標準IDフォーマットで記述しているが、拡張IDフォーマットであっても良い。
(3)上記実施の形態では不正検知ECUが、ヘッドユニットである一例を示したが、不正検知ECUは、不正検知機能を有するECUであれば良く、必ずしもヘッドユニットとしての機能を有する必要はない。
(4)上記実施の形態では車載ネットワークシステムを例として説明したが、上述した不正検知ECU100、100aは、CANプロトコルに従って通信される複数のECUを接続するネットワークであれば車載ネットワークに限らず利用可能であり、例えば、産業機械、ロボット等に搭載された複数のECU間をCANバスで接続したネットワークにおいて利用され得る。
(5)上述したCANプロトコルは、TTCAN(Time-Triggered CAN)、CAN−FD(CAN with Flexible Data Rate)等の派生的なプロトコルをも包含する広義の意味を有するものであっても良い。
(6)上記実施の形態における各ECU(不正検知ECUを含む)は、例えば、プロセッサ、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置であることとしたが、ハードディスク装置、ディスプレイ、キーボード、マウス等の他のハードウェア構成要素を含んでいても良い。また、メモリに記憶された制御プログラムがプロセッサにより実行されてソフトウェア的に機能を実現する代わりに、専用のハードウェア(デジタル回路等)によりその機能を実現することとしても良い。また、各ECUにおけるCPU、CANコントローラ、CANトランシーバ等の構成要素は一例に過ぎず、これらの各構成要素は任意の単位で結合或いは分離された集積回路等であっても良い。
(7)上記実施の形態における各装置を構成する構成要素の一部または全部は、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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
(8)上記各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしても良い。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしても良い。
(9)本発明の一態様としては、上述した車載ネットワークにおいて不正なフレームの無効化及びその影響の低減化のための通信方法等の方法であるとしても良い。例えば、通信方法は、CANバスへ送信が開始されたフレームを受信する受信ステップと、受信ステップで受信されたフレームが不正を示す所定条件に該当した場合に、そのフレームの最後尾が送信される前にエラーフレームをそのバスへ送信し、エラーフレームの送信後にCANプロトコルに従ったフレームである正常フレームをそのバスへ送信する送信ステップとを含む。また、この方法をコンピュータにより実現するコンピュータプログラムであるとしても良いし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明の一態様としては、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されている前記デジタル信号であるとしても良い。また、本発明の一態様としては、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしても良い。また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
(10)上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
本発明は、ネットワークで送信された不正なフレームを検知して無効化する車載ネットワークシステム等において利用可能である。
10 車載ネットワークシステム
100、100a 不正検知電子制御ユニット(不正検知ECU)
110、110a 受信部
120、120a 送信部
121 不正判定部
200、1200 バス
310 エンジン
320 ブレーキ
330 ドア開閉センサ
340 窓開閉センサ
400a、400b、400c、400d、1400 電子制御ユニット(ECU)
2001、2011 不正ECU
3001、3001a、3011 演算部(CPU)
3002、3002a、3012 通信制御部(CANコントローラ)
3003、3003a、3013 通信インタフェース(通信I/F)

Claims (13)

  1. CAN(Controller Area Network)プロトコルに従って通信する複数の電子制御ユニットが通信に用いるバスに接続される不正検知電子制御ユニットであって、
    前記バスへ送信が開始されたフレームを受信する受信部と、
    前記受信部により受信されたフレームが不正を示す所定条件に該当した場合に、当該フレームの最後尾が送信される前にエラーフレームを前記バスへ送信し、エラーフレームの送信後にCANプロトコルに従ったフレームである正常フレームを前記バスへ送信する送信部とを備える
    不正検知電子制御ユニット。
  2. 前記不正検知電子制御ユニットは、
    前記バスに接続される通信インタフェースと、
    前記通信インタフェースに接続され、CANプロトコルに従って前記バスでの通信を制御するCANコントローラと、
    前記CANコントローラを制御し、前記受信部及び前記送信部を実現するCPUとを備える
    請求項1記載の不正検知電子制御ユニット。
  3. 前記送信部は、エラーフレームの前記送信後において前記バスが最初にアイドル状態になった際に、前記正常フレームの前記送信を行う
    請求項1又は2記載の不正検知電子制御ユニット。
  4. 前記送信部は、送信したエラーフレームの数と同数の正常フレームを送信する
    請求項1〜3のいずれか一項に記載の不正検知電子制御ユニット。
  5. 前記送信部は、正常フレームの前記送信に失敗した場合に、正常フレームを送信する
    請求項1〜3のいずれか一項に記載の不正検知電子制御ユニット。
  6. 前記送信部は、送信した前記エラーフレームの数から、前記エラーフレームの送信後に前記所定条件に該当しない正常フレームを前記バスから受信した数を、減算して得られる数以上の正常フレームを送信する
    請求項5記載の不正検知電子制御ユニット。
  7. 前記送信部は、正常フレームの前記送信に失敗した場合に、当該正常フレームのIDフィールドが示すIDより小さい値のIDをIDフィールドで示す正常フレームを送信する
    請求項5記載の不正検知電子制御ユニット。
  8. 前記送信部が、エラーフレームの送信後に送信する前記正常フレームは、データフィールドの長さがゼロであるデータフレームである
    請求項1〜7のいずれか一項に記載の不正検知電子制御ユニット。
  9. 前記送信部が、エラーフレームの送信後に送信する前記正常フレームのIDフィールドが示すIDは、前記不正検知電子制御ユニット以外の、前記バスに接続されたいずれの前記電子制御ユニットにおいても当該IDを識別して行うべき処理が定められていないIDである
    請求項1〜8のいずれか一項に記載の不正検知電子制御ユニット。
  10. 前記送信部は、前記エラーフレームの送信後から正常フレームの前記送信の前までに、前記所定条件に該当しない正常フレームを前記バスから受信したときには、正常フレームの前記送信を抑止する
    請求項1又は2記載の不正検知電子制御ユニット。
  11. 前記不正検知電子制御ユニットは、複数のバスに接続され、一方のバスから受信したフレームを他方のバスに転送する機能を有し、受信した当該フレームが前記所定条件に該当した場合には当該転送を抑止し、
    前記送信部は、前記受信部により受信されたフレームが前記所定条件に該当した場合に、当該フレームの最後尾が送信される前にエラーフレームを当該フレームが受信されたバスへ送信し、エラーフレームの送信後に前記正常フレームを当該バスへ送信する
    請求項1記載の不正検知電子制御ユニット。
  12. CAN(Controller Area Network)プロトコルに従ってバスを介して通信する複数の電子制御ユニットと、当該バスに接続される不正検知電子制御ユニットとを備える車載ネットワークシステムであって、
    前記不正検知電子制御ユニットは、
    前記バスへ送信が開始されたフレームを受信する受信部と、
    前記受信部により受信されたフレームが不正を示す所定条件に該当した場合に、当該フレームの最後尾が送信される前にエラーフレームを前記バスへ送信し、エラーフレームの送信後にCANプロトコルに従ったフレームである正常フレームを前記バスへ送信する送信部とを備え、
    前記電子制御ユニットは、受信エラーカウンタを含みCANプロトコルに従って前記バスでの通信を制御するCANコントローラを備え、前記バスからの正常フレームの受信に成功した場合には前記受信エラーカウンタの値を減少させる
    車載ネットワークシステム。
  13. CAN(Controller Area Network)プロトコルに従ってバスを介して通信する複数の電子制御ユニットを備える車載ネットワークシステムにおいて用いられる通信方法であって、
    前記バスへ送信が開始されたフレームを受信する受信ステップと、
    前記受信ステップで受信されたフレームが不正を示す所定条件に該当した場合に、当該フレームの最後尾が送信される前にエラーフレームを前記バスへ送信し、エラーフレームの送信後にCANプロトコルに従ったフレームである正常フレームを前記バスへ送信する送信ステップとを含む
    通信方法。
JP2016114879A 2015-09-29 2016-06-08 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法 Active JP6836340B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP16850576.6A EP3358788B1 (en) 2015-09-29 2016-09-02 Illegality detection electronic control unit, vehicle onboard network system, and communication method
CN201680002239.XA CN107113214B (zh) 2015-09-29 2016-09-02 不正常检测电子控制单元、车载网络系统以及通信方法
PCT/JP2016/004008 WO2017056395A1 (ja) 2015-09-29 2016-09-02 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法
US15/879,962 US10693905B2 (en) 2015-09-29 2018-01-25 Invalidity detection electronic control unit, in-vehicle network system, and communication method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015192327 2015-09-29
JP2015192327 2015-09-29

Publications (2)

Publication Number Publication Date
JP2017069941A true JP2017069941A (ja) 2017-04-06
JP6836340B2 JP6836340B2 (ja) 2021-02-24

Family

ID=58495433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016114879A Active JP6836340B2 (ja) 2015-09-29 2016-06-08 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法

Country Status (4)

Country Link
US (1) US10693905B2 (ja)
EP (1) EP3358788B1 (ja)
JP (1) JP6836340B2 (ja)
CN (1) CN107113214B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018181003A1 (ja) 2017-03-31 2018-10-04 三菱重工業株式会社 情報提供装置、情報提供システム、情報提供方法及びプログラム
JP2019193208A (ja) * 2018-04-27 2019-10-31 株式会社Soken 電子制御装置
JP2020524951A (ja) * 2017-06-23 2020-08-20 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh 通信の異常をチェックすることによって、車両の通信システムにおける途絶を検出するための方法
JP2020527316A (ja) * 2017-07-21 2020-09-03 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングRobert Bosch Gmbh 通信ネットワークの加入者局用のタイムスタンプユニットおよび通信制御ユニット
JP2020174298A (ja) * 2019-04-11 2020-10-22 株式会社デンソーテン 電子制御装置、および電子制御装置の制御方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6404848B2 (ja) * 2016-03-15 2018-10-17 本田技研工業株式会社 監視装置、及び、通信システム
US10484425B2 (en) * 2017-09-28 2019-11-19 The Mitre Corporation Controller area network frame override
JP6863227B2 (ja) * 2017-10-26 2021-04-21 トヨタ自動車株式会社 電子制御装置、通信管理方法、及びプログラム
WO2020090108A1 (ja) * 2018-11-02 2020-05-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正制御防止システムおよび、不正制御防止方法
CN109617756B (zh) * 2018-11-23 2022-12-23 上海神添实业有限公司 一种用于高速数据用户线的智能化测试设备和测试方法
IT201800021550A1 (it) * 2018-12-31 2020-07-01 Magneti Marelli Spa "Procedimento di protezione da attacchi informatici al veicolo e corrispondente dispositivo"
CN109995632B (zh) * 2019-05-16 2021-11-02 阳光电源股份有限公司 多机通信系统的通信方法、装置及系统
EP3772839B1 (en) 2019-08-06 2023-01-04 Nxp B.V. Security module for a serial communications device
EP3772840B1 (en) 2019-08-06 2023-03-15 Nxp B.V. A security module for a can node
EP3772841B1 (en) 2019-08-06 2023-06-14 Nxp B.V. A security module for a can node
JP7147721B2 (ja) * 2019-09-05 2022-10-05 トヨタ自動車株式会社 車載通信装置及び通信方法
FR3106421B1 (fr) * 2020-01-17 2021-12-10 Continental Automotive Passerelle de communication de trames de données pour véhicule automobile
JP7247905B2 (ja) * 2020-01-22 2023-03-29 トヨタ自動車株式会社 第1中継装置、第2中継装置、第1中継方法、第2中継方法、第1中継プログラム、第2中継プログラム、及び中継システム
US11481283B2 (en) 2020-01-28 2022-10-25 Hyundai Motor Company Systems and methods providing backup database for protecting messages on a CAN bus
GB2592924A (en) 2020-03-10 2021-09-15 Daimler Ag Method for detecting a fraud device in a communication network of a vehicle
US11522872B2 (en) * 2020-06-18 2022-12-06 Nxp B.V. CAN transceiver
JP7409247B2 (ja) * 2020-07-14 2024-01-09 株式会社デンソー 不正侵入防止装置、不正侵入防止方法、及び不正侵入防止用プログラム
CN113347053B (zh) * 2021-04-26 2022-04-15 江铃汽车股份有限公司 一种汽车can总线采样点测试方法及系统
US20240231982A9 (en) * 2022-10-19 2024-07-11 Qualcomm Incorporated Safety monitoring of a system-on-a-chip

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004363761A (ja) * 2003-06-03 2004-12-24 Nissan Motor Co Ltd データ通信方法
JP2012039446A (ja) * 2010-08-09 2012-02-23 Nagoya Univ 通信システム及び通信装置
JP2013131907A (ja) * 2011-12-21 2013-07-04 Toyota Motor Corp 車両ネットワーク監視装置
JP2015053568A (ja) * 2013-09-06 2015-03-19 日立オートモティブシステムズ株式会社 通信制御装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4092493A (en) * 1976-11-30 1978-05-30 Bell Telephone Laboratories, Incorporated Speech recognition system
GB8612396D0 (en) * 1986-05-21 1986-06-25 Hewlett Packard Ltd Chain-configured interface bus system
US5224096A (en) * 1989-09-22 1993-06-29 Hitachi, Ltd. Frame strip method and apparatus therefor
US20050190037A1 (en) 2002-11-08 2005-09-01 Konami Sports Life Corporation Locker system, locker, portable key device, locker locking and unlocking method, and machine readable medium storing thereon computer program
JP4290410B2 (ja) 2002-11-08 2009-07-08 株式会社コナミスポーツ&ライフ ロッカーシステム、ロッカー、携帯キー装置、ロッカー施錠及び開錠方法、及びコンピュータプログラム
JP3991927B2 (ja) * 2003-06-12 2007-10-17 株式会社デンソー 盗難防止システム
JP4457041B2 (ja) * 2005-05-20 2010-04-28 株式会社日立製作所 ベリファイ処理方法及び光ディスク装置
US8934351B2 (en) 2011-03-24 2015-01-13 Fujitsu Ten Limited Communication apparatus and communication system
JP5671389B2 (ja) 2011-03-24 2015-02-18 富士通テン株式会社 通信装置および通信システム
JP5770602B2 (ja) * 2011-10-31 2015-08-26 トヨタ自動車株式会社 通信システムにおけるメッセージ認証方法および通信システム
US9225544B2 (en) * 2011-12-22 2015-12-29 Toyota Jidosha Kabushiki Kaisha Communication system and communication method
US9479275B2 (en) * 2012-06-01 2016-10-25 Blackberry Limited Multiformat digital audio interface
EP2856690B1 (en) * 2012-06-01 2020-12-02 BlackBerry Limited Universal synchronization engine based on probabilistic methods for guarantee of lock in multiformat audio systems
JP2014236248A (ja) 2013-05-30 2014-12-15 日立オートモティブシステムズ株式会社 電子制御装置、電子制御システム
EP2849064B1 (en) 2013-09-13 2016-12-14 NTT DOCOMO, Inc. Method and apparatus for network virtualization
JP6126980B2 (ja) * 2013-12-12 2017-05-10 日立オートモティブシステムズ株式会社 ネットワーク装置およびネットワークシステム
CN110843706B (zh) * 2014-04-03 2024-07-12 松下电器(美国)知识产权公司 网络通信系统、不正常检测电子控制单元以及不正常应对方法
CN111934966B (zh) * 2014-12-01 2022-09-20 松下电器(美国)知识产权公司 不正常检测电子控制单元、车载网络系统以及不正常检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004363761A (ja) * 2003-06-03 2004-12-24 Nissan Motor Co Ltd データ通信方法
JP2012039446A (ja) * 2010-08-09 2012-02-23 Nagoya Univ 通信システム及び通信装置
JP2013131907A (ja) * 2011-12-21 2013-07-04 Toyota Motor Corp 車両ネットワーク監視装置
JP2015053568A (ja) * 2013-09-06 2015-03-19 日立オートモティブシステムズ株式会社 通信制御装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
畑 正人: "不正送信阻止:CANではそれが可能である How to Stop Unauthorized Transmission in Controller Area N", CSS2011コンピュータセキュリティシンポジウム2011論文集 併催 マルウェア対策研究人材育成ワ, vol. 第2011巻 第3号, JPN6020008727, 12 October 2011 (2011-10-12), JP, pages 624 - 629, XP008171193, ISSN: 0004356056 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018181003A1 (ja) 2017-03-31 2018-10-04 三菱重工業株式会社 情報提供装置、情報提供システム、情報提供方法及びプログラム
JP2020524951A (ja) * 2017-06-23 2020-08-20 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh 通信の異常をチェックすることによって、車両の通信システムにおける途絶を検出するための方法
JP2020527316A (ja) * 2017-07-21 2020-09-03 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングRobert Bosch Gmbh 通信ネットワークの加入者局用のタイムスタンプユニットおよび通信制御ユニット
US11258633B2 (en) 2017-07-21 2022-02-22 Robert Bosch Gmbh Timestamp unit and communication control unit for a user station of a communication network
JP2019193208A (ja) * 2018-04-27 2019-10-31 株式会社Soken 電子制御装置
JP7040993B2 (ja) 2018-04-27 2022-03-23 株式会社Soken 電子制御装置
JP2020174298A (ja) * 2019-04-11 2020-10-22 株式会社デンソーテン 電子制御装置、および電子制御装置の制御方法
JP7218234B2 (ja) 2019-04-11 2023-02-06 株式会社デンソーテン 電子制御装置、および電子制御装置の制御方法

Also Published As

Publication number Publication date
US20180152472A1 (en) 2018-05-31
EP3358788A4 (en) 2018-08-08
CN107113214B (zh) 2020-09-18
US10693905B2 (en) 2020-06-23
EP3358788B1 (en) 2019-01-30
JP6836340B2 (ja) 2021-02-24
EP3358788A1 (en) 2018-08-08
CN107113214A (zh) 2017-08-29

Similar Documents

Publication Publication Date Title
JP6836340B2 (ja) 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法
US11595422B2 (en) Method for preventing electronic control unit from executing process based on malicious frame transmitted to bus
JP7027592B2 (ja) ゲートウェイ装置、方法及び車載ネットワークシステム
US20210152287A1 (en) In-vehicle information processing for unauthorized data
US10680847B2 (en) Gateway device determining whether or not received frame is appropriate
EP3435617B1 (en) A node, a vehicle, an integrated circuit and method for updating at least one rule in a controller area network
JP7182559B2 (ja) ログ出力方法、ログ出力装置及びプログラム
JP7280082B2 (ja) 不正検知方法、不正検知装置及びプログラム
CN109104352B (zh) 车辆网络操作协议和方法
US11516045B2 (en) Anomaly determination method, anomaly determination device, and recording medium
JP2014236248A (ja) 電子制御装置、電子制御システム
US20210144124A1 (en) Security apparatus, attack detection method, and storage medium
JP6527647B1 (ja) 不正検知方法、不正検知装置及びプログラム
JP2018182713A (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
WO2017056395A1 (ja) 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法
WO2018020833A1 (ja) フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム
JP2019097206A (ja) 不正対処方法、不正検知電子制御ユニット、および、ネットワーク通信システム
JP6788717B1 (ja) 接続装置、接続方法およびプログラム
CN117749555A (zh) 控制器区域网络系统和用于系统的方法
CN115150220A (zh) 控制器局域网装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200407

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20201006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201116

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20201116

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20201125

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20201201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210205

R150 Certificate of patent or registration of utility model

Ref document number: 6836340

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150