JP2019134262A - 電子制御装置 - Google Patents
電子制御装置 Download PDFInfo
- Publication number
- JP2019134262A JP2019134262A JP2018013908A JP2018013908A JP2019134262A JP 2019134262 A JP2019134262 A JP 2019134262A JP 2018013908 A JP2018013908 A JP 2018013908A JP 2018013908 A JP2018013908 A JP 2018013908A JP 2019134262 A JP2019134262 A JP 2019134262A
- Authority
- JP
- Japan
- Prior art keywords
- mac
- message
- unit
- electronic control
- generation unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】不正機器によるなりすまし攻撃を検知できる電子制御装置を提供する。【解決手段】送信データ生成部32は、MAC生成部34によるMACがメッセージに設定されるのを停止する条件の成立可否を判定する。メッセージ生成部35は、条件不成立の非停止期間において、MAC生成部により生成された値をメッセージのMACとして設定し、条件成立の停止期間において、MAC生成部により生成される値とは異なる値をメッセージのMACとして設定する。判定部41は、受信したメッセージに設定されたMACと、受信したメッセージに基づいてMAC生成部により生成されるMACとが一致するか否かを判定する。侵入検知部43は、停止期間における判定部の判定結果であって、MAC生成部とは異なる値がMACとして設定されたメッセージを含み、該メッセージと同じ電子制御装置のIDが付与されたメッセージの判定結果に基づいて、不正侵入を検知する。【選択図】図3
Description
この明細書における開示は、ネットワークに接続され、メッセージ認証コードが設定されたメッセージを送受信する電子制御装置に関する。
特許文献1には、ネットワークに接続され、メッセージ認証コードが設定されたメッセージを送受信する電子制御装置が開示されている。この電子制御装置では、共通鍵を用いて、所定のアルゴリズムによりメッセージ認証コードを生成する。メッセージの受信時において、電子制御装置は、受信したメッセージに設定されているメッセージ認証コードと、受信したメッセージに基づいて生成されるメッセージ認証コードとが一致するか否かにより、認証判定を行う。
従来の構成では、共通鍵が外部に漏洩した場合、上記した認証判定では不正機器によるなりすまし攻撃を検知することができない。
本開示はこのような課題に鑑みてなされたものであり、不正機器によるなりすまし攻撃を検知できる電子制御装置を提供することを目的とする。
本開示は、上記目的を達成するために以下の技術的手段を採用する。なお、括弧内の符号は、ひとつの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、技術的範囲を限定するものではない。
本開示のひとつは、ネットワークに接続され、メッセージ認証コード(以下、MAC)が設定されたメッセージを送受信する電子制御装置であって、
共通鍵を用いて、MACを生成するMAC生成部(34)と、
MAC生成部によるMACがメッセージに設定されるのを停止する条件の成立可否を判定する停止判定部(32)と、
メッセージを生成するものであり、条件が成立しない非停止期間において、MAC生成部により生成された値をメッセージのMACとして設定し、条件が成立する停止期間において、MAC生成部により生成される値とは異なる値をメッセージのMACとして設定するメッセージ生成部(35)と、
メッセージ生成部にて生成されたメッセージを送信する送信部(38)と、
他の電子制御装置にて生成されたメッセージを受信する受信部(39)と、
受信したメッセージに設定されたMACと、受信したメッセージに基づいてMAC生成部により生成されるMACとが一致するか否かを判定する認証判定部(41)と、
停止期間における認証判定部の判定結果であって、MAC生成部とは異なる値がMACとして設定されたメッセージを含み、該メッセージと同じ電子制御装置のIDが付与されたメッセージの判定結果に基づいて、不正侵入を検知する侵入検知部(43)と、
を備える。
共通鍵を用いて、MACを生成するMAC生成部(34)と、
MAC生成部によるMACがメッセージに設定されるのを停止する条件の成立可否を判定する停止判定部(32)と、
メッセージを生成するものであり、条件が成立しない非停止期間において、MAC生成部により生成された値をメッセージのMACとして設定し、条件が成立する停止期間において、MAC生成部により生成される値とは異なる値をメッセージのMACとして設定するメッセージ生成部(35)と、
メッセージ生成部にて生成されたメッセージを送信する送信部(38)と、
他の電子制御装置にて生成されたメッセージを受信する受信部(39)と、
受信したメッセージに設定されたMACと、受信したメッセージに基づいてMAC生成部により生成されるMACとが一致するか否かを判定する認証判定部(41)と、
停止期間における認証判定部の判定結果であって、MAC生成部とは異なる値がMACとして設定されたメッセージを含み、該メッセージと同じ電子制御装置のIDが付与されたメッセージの判定結果に基づいて、不正侵入を検知する侵入検知部(43)と、
を備える。
この電子制御装置によれば、意図的に停止期間を設け、停止期間中において、MAC生成部により生成される値とは異なる値を、メッセージのMACとして設定することができる。このメッセージは、メッセージを受信した電子制御装置の認証判定部において不一致と判定される。よって、共通鍵の漏洩により不正機器がメッセージ送信側の電子制御装置になりすましても、この電子制御装置のIDが付与されたメッセージの判定結果に基づいて、不正侵入を検知することができる。
図面を参照しながら、複数の実施形態を説明する。複数の実施形態において、機能的に及び/又は構造的に対応する部分には同一の参照符号を付与する。
(第1実施形態)
先ず、図1に基づき、本実施形態の電子制御装置を備える通信システムについて説明する。
先ず、図1に基づき、本実施形態の電子制御装置を備える通信システムについて説明する。
図1に示す通信システム10は、CANバス20及び複数の電子制御装置(Electronic Control Unit)30を備えている。CANは、バス型ネットワークを採用したシリアル通信プロトコルである。CANは、登録商標である。以下、電子制御装置30を、ECU30と示す。複数のECU30は、CANバス20に接続されている。本実施形態では、車両に搭載された複数のECU30が、CANバス20にノードとして接続されて、車載ネットワークが構築されている。
次に、図2に基づき、データフレームについて説明する。
図2に示すように、データフレームは、IDフィールドやデータフィールドを含んでいる。それ以外にも、図示しないCRCフィールドなどを含んでいる。メッセージは、送信可能な状態のデータフレームに相当する。
IDフィールドには、保護対象データの内容や送信ノードを識別するためのIDが設定される。このIDにより、通信の優先順位も決定される。受信側のECU30は、IDを参照することで、自身が処理する必要のあるデータか否かを判断する。
データフィールドには、保護対象データが設定される。保護対象データは、車両の特定の機能、たとえば制御機能や監視機能に関する情報である。すなわち、保護すべき情報である。保護対象データとして、たとえばエンジン回転数に関する情報や、アクチュエータの駆動を指示する情報などがある。
また、データフィールドには、メッセージの正当性を判断するためのメッセージ認証コード(Message Authentication Code)も設定される。以下、メッセージ認証コードを、MACと示す。
次に、図3に基づき、本実施形態のECU30(電子制御装置)の概略構成について説明する。以下に説明する構成は、互いに通信可能に接続される複数のECU30で同じとなっている。
図3に示すように、ECU30は、マイコン31を有している。マイコン31は、CPU、ROM、RAM、フラッシュメモリ、レジスタ、及び入出力インターフェースなどを備えて構成されている。マイコン31において、CPUが、RAMやレジスタの一時記憶機能を利用しつつ、ROMに予め記憶された制御プログラムにしたがって、所定の処理を実行する。マイコン31は、機能部として、送信データ生成部32、共通鍵記憶部33、MAC生成部34、メッセージ生成部35、MAC記憶部36、送信側カウンタ37、送信部38、受信部39、メッセージ分解部40、判定部41、受信側カウンタ42、及び侵入検知部43を備えている。
送信データ生成部32は、他のECU30へ送信したいデータ、たとえば制御データから保護対象データを生成するとともに、IDを付与する。
また、送信データ生成部32は、MAC生成部34のMACがメッセージに設定されるのを停止する条件の成立可否を判定する。すなわち、停止条件が成立する停止期間であるのか、停止条件が成立しない非停止期間であるのかを判定する。このため、送信データ生成部32が、停止判定部に相当する。
本実施形態では、停止期間と判定すると、送信データ生成部32がMAC生成部34への保護対象データの出力を停止する。これにより、停止期間において、MAC生成部34によるMAC生成が停止となる。このように、MAC生成停止により、MAC生成部34によるMACのメッセージへの設定が停止となる。このため、停止条件とは、保護対象データを用いてMACを生成しない条件とも言える。
共通鍵記憶部33には、共通鍵が記憶されている。共通鍵は、メッセージが送受信されるECU30間で共通の暗号鍵である。共通鍵は、送信時及び受信時においてMACの生成に用いられる。
MAC生成部34は、送信データ生成部32にて生成された保護対象データと、共通鍵記憶部33に記憶された共通鍵を用いて、MACを生成する。MAC生成部34は、CMAC(Cipher based MAC)等のアルゴリズムによりMACを生成する。
メッセージ生成部35は、メッセージを生成する。メッセージ生成部35は、データフィールドにMACが設定されたメッセージであるMACメッセージを生成する。メッセージ生成部35は、データフレームのデータフィールドに、送信データ生成部32にて生成された保護対象データと、MACを設定する。メッセージ生成部35は、停止条件の成立可否に応じてMACを設定する。非停止期間において、メッセージ生成部35は、MAC生成部34により生成された値をMACとして設定する。停止期間において、メッセージ生成部35は、MAC記憶部36に記憶された値をMACとして設定する。また、メッセージ生成部35は、IDフィールドに、送信データ生成部32にて付与されたIDを設定する。
また、メッセージ生成部35は、MACメッセージとは別に、停止期間、非停止期間のいずれであるのかを示す期間通知信号を生成する。期間通知信号は、MACが設定されないメッセージである。メッセージ生成部35は、MACメッセージとともに、期間通知信号も生成する。メッセージ生成部35は、データフレーム生成部とも称される。
MAC記憶部36には、MACメッセージにMACとして設定するための値が記憶されている。MAC記憶部36には、MAC生成部34により生成される値とは異なる値が記憶されている。本実施形態では、固定値が記憶されている。この固定値は、MAC生成部34が生成し得ない値とされている。
送信側カウンタ37は、停止期間中のMACメッセージの生成数をカウントする。送信側カウンタ37は、MACメッセージの生成にともなって、たとえばインクリメント(カウントアップ)される。送信側カウンタ37は、停止期間から非停止期間に切り替わるとクリアされる。本実施形態では、メッセージ生成部35が、送信側カウンタ37をインクリメントするとともに、非停止期間に切り替わるとクリアする。メッセージ生成部35は、送信側カウンタ37をクリアする直前の値(送信側カウント)を、停止期間中のMACメッセージ生成数として、侵入検知部43に出力する。
送信部38は、メッセージをCANバス20に対して送信する。送信部38は、MACメッセージと期間通知信号をCANバス20に対して送信する。送信部38は、期間通知信号を先に送信し、次いで対応するMACメッセージを送信する。受信部39は、CANバス20を通じてメッセージを受信する。受信部39は、期間通知信号を受信した後に、対応するMACメッセージを受信する。
メッセージ分解部40は、受信したメッセージを、ID、保護対象データ等に分解する。すなわち、メッセージ分解部40は、メッセージを解析する。メッセージ分解部40は、IDに基づいて、受信したメッセージがECU30(自身)の処理対象であり、且つ、MACによる認証が必要かを判断する。すなわち、自身が処理するMACメッセージかを判断する。
自身の処理対象であり、且つ、認証が必要な場合、MAC生成部34は、受信したMACメッセージ中の保護対象データと、共通鍵記憶部33に記憶された共通鍵を用いて、MACを生成する。
判定部41は、受信したMACメッセージに基づいてMAC生成部34により生成されたMACと、受信したMACメッセージに設定されていたMACとを比較し、認証判定を行う。判定部41は、両MACが一致する場合に認証OKと判定し、一致しない場合に認証NGと判定する。このため、判定部41が、認証判定部に相当する。
判定部41は、期間通知信号に設定された期間情報をメッセージ分解部を介して取得し、停止期間、非停止期間のいずれであるかを判断する。判定部41は、メッセージ分解部40から、設定されていたMAC及びIDを取得し、判定結果に関連付けてIDを一時的に記憶する。
受信側カウンタ42は、停止期間中の判定部41による認証判定数をカウントする。受信側カウンタ42は、他のECU30に対応して複数設けられている。受信側カウンタ42は、自信を除くECU30ごとに設けられている。各受信側カウンタ42は、認証OK数をカウントする認証OKカウンタと、認証NG数をカウントする認証NGカウンタをそれぞれ有している。受信側カウンタ42は、停止期間中において、対応するECU30のIDが設定されたMACメッセージの認証判定数をカウントする。受信側カウンタ42は、停止期間から非停止期間に切り替わるとクリアされる。
本実施形態では、判定部41が、停止期間における判定結果に基づいて、判定したMACメッセージのIDに対応する受信側カウンタ42をインクリメントする。認証OKの場合には、認証OKカウンタをインクリメントし、認証NGの場合には、認証NGカウンタをインクリメントする。判定部41は、停止期間から非停止期間に切り替わると、期間通知信号に設定されていたIDに基づいて、期間通知信号を生成したECU30に対応する受信側カウンタ42をクリアする。また、判定部41は、受信側カウンタ42をクリアする直前の認証OK数及び認証NG数(受信側カウント)と、いずれの受信側カウンタ42かを示す情報をデータフレームに設定し、送信部38を介して送信する。認証OK数がゼロよりも大きい場合、判定部41は、認証OKと判定したMACメッセージのID情報も送信するデータフレームに設定する。
侵入検知部43は、他のECU30から送信された受信側カウントを、受信部39及びメッセージ分解部40を介して取得する。そして、侵入検知部43は、自身(ECU30)に対応する受信側カウンタ42の受信側カウントと、送信側カウンタ37から取得した送信側カウントとに基づいて、不正機器によるなりすまし攻撃、すなわち不正侵入を検知する。このように、たとえばECU30(第1のECU)が、停止期間中に生成したMACメッセージの生成結果と、他のECU30(第2のECU)が、停止期間中に第1のECU30のIDに対応するMACメッセージを認証判定した結果とに基づいて、不正侵入を検知する。このため、他のECU30から取得した受信側カウントがMACメッセージの判定情報に相当し、送信側カウンタ37から取得した送信側カウントがMACメッセージの生成情報に相当する。
侵入検知部43は、たとえば認証OK数がゼロよりも大きいことで不正侵入を検知すると、認証OKと判定されたMACメッセージのIDを不正IDとして記憶する。そして、不正IDを、送信部38を介して他のECU30に通知する。このように、侵入検知部43は、通知機能も有している。
次に、図4に基づき、マイコン31が実行する送信処理について説明する。マイコン31は、MACメッセージの構築タイミングごとに、以下に示す処理を実行する。
図4に示すように、先ず送信データ生成部32が、他のECU30へ送信したいデータ、たとえば制御データから保護対象データを生成する(ステップS10)。このとき、送信データ生成部32は、IDも付与する。
次いで、送信データ生成部32は、停止条件が成立するか否かを判定する(ステップS11)。
停止条件としては、一定周期ごとに成立する条件、たとえば100secごとに10sec間のみ成立する条件を採用することができる。それ以外にも、ある制御が動作中のみ成立する条件、たとえばクルーズコントロール機能中のみ成立する条件を採用することができる。また、ECU30(マイコン31)の処理負荷が予め設定されたしきい値よりも高いときに成立する条件、たとえばエンジン回転数が所定回転数よりも高いときに成立する条件を採用することができる。
停止条件が成立する場合、送信データ生成部32からMAC生成部34への保護対象データの出力が停止され、MAC生成部34によるMAC生成が停止となる。このため、メッセージ生成部35は、MAC記憶部36に記憶された値を読み出す(ステップS12)。
MAC記憶部36に記憶された値は、ステップS10で生成された保護対象データに基づいて、MAC生成部34により生成される値とは異なる値である。MAC記憶部36に記憶された値は、MAC生成部34が生成し得ない値とされている。本実施形態では、MAC記憶部36に固定値が記憶されており、メッセージ生成部35はこの固定値を読み出す。なお、MACとして設定される値は、固定値に限定されない。たとえばMAC記憶部36に複数の値が記憶されており、この中からメッセージ生成部35がランダムに設定してもよい。
次いで、メッセージ生成部35は、期間通知信号に停止期間を設定する(ステップS13)。メッセージ生成部35は、データフレームに停止期間を示す情報を設定して、期間通知信号を生成する。
次いで、メッセージ生成部35は、送信側カウンタ37をインクリメントする(ステップS14)。停止期間が継続している間は、ステップS14の実行ごとに、送信側カウンタ37が+1ずつ増加する。送信側カウンタ37のカウント値は、停止期間中におけるMACメッセージの生成数に一致する。ステップS14の処理が終了すると、ステップS19に移行する。なお、ステップS12〜S14の処理の実行順は、上記に例に限定されない。
一方、ステップS11において停止条件が不成立の場合、送信データ生成部32からMAC生成部34に対して保護対象データが出力される。MAC生成部34は、共通鍵記憶部33から共通鍵を読み出して、共通鍵及び保護対象データに基づきMACを生成し、メッセージ生成部35へ出力する(ステップS15)。
次いで、メッセージ生成部35は、期間通知信号に非停止期間を設定する(ステップS16)。メッセージ生成部35は、データフレームに非停止期間を示す情報を設定して、期間通知信号を生成する。
次いで、メッセージ生成部35は、停止期間から非停止期間への切り替わりタイミングか否かを判定する(ステップS17)。切り替わりタイミングの場合、メッセージ生成部35は、送信側カウンタ37のカウント値である送信側カウントを侵入検知部43に出力した後、送信側カウンタ37をクリアする(ステップS18)。
このように、メッセージ生成部35は、停止期間から非停止期間に切り替わると、送信側カウンタ37をクリアする直前の値(送信側カウント)を、停止期間中のMACメッセージ生成数として、侵入検知部43に出力する。そして、ステップS19に移行する。ステップS17において切り替わりタイミングでない場合、ステップS18の処理を実施せずにステップS19に移行する。
ステップS19において、メッセージ生成部35は、MACメッセージを生成する。メッセージ生成部35は、IDフィールドにステップS10で付与されたIDを設定するとともに、データフィールドに、ステップS10で生成された保護対象データと、MACを設定する。MACは、停止期間においてステップS12の値が設定され、非停止期間においてステップS15の値が設定される。
次いで、送信部38は、メッセージをCANバス20に対して送信する(ステップS21)。送信部38は、先に期間通知信号を送信し、次いでMACメッセージを送信する。そして、一連の処理を終了する。
次に、図5に基づき、マイコン31が実行する受信処理について説明する。
図5に示すように、先ず受信部39が、メッセージを受信する(ステップS30)。
次いで、メッセージ分解部40が、受信したメッセージを、ID、保護対象データ等に分解する(ステップS31)。MACメッセージの場合、ID、保護対象データ、MAC等に分解する。メッセージ分解部40は、IDに基づいて、受信したメッセージが自身(ECU30)の処理対象であり、且つ、MACによる認証が必要かを判断する。
自身の処理対象であり、且つ、認証が必要な場合、MAC生成部34は、受信したMACメッセージ中の保護対象データと共通鍵記憶部33に記憶された共通鍵を用いて、MACを生成し、生成したMACを判定部41に出力する(ステップS32)。認証が不要な場合、ステップS32以降の処理を行わない。
次いで、判定部41は、ステップS32で生成されたMACと、受信したMACメッセージに設定されていたMACとが一致するか否かについて認証判定を行う(ステップS33)。判定部41は、両MACが一致する場合に認証OK、すなわち不法侵入なしと判定する(ステップS34)。一方し、両MACが一致しない場合に認証NG、すなわち不法侵入ありと判定する(ステップS35)。なお、判定部41は、メッセージ分解部40からMACとともにIDも取得し、ステップS34,S35の判定結果に関連付けてIDを一時的に記憶する。
次いで、判定部41は、停止期間か否かを判定する(ステップS36)。上記したように、送信側のECU30は、期間通知信号及びMACメッセージをセットで生成するとともに、期間通知信号を先に送信する。判定部41は、メッセージ分解部40から期間通知信号に設定された期間情報を取得し、停止期間、非停止期間を判定する。判定部41は、期間通知信号のIDも取得する。
停止期間の場合、判定部41は、判定したMACメッセージのIDから送信ノードを判断し、対応する受信側カウンタ42をインクリメントする(ステップS37)。上記したように、受信側カウンタ42は自身を除くECU30ごとに設けられている。たとえばネットワークに5つのECU30が接続されており、自身が第2のECU30の場合、第1のECU30、第3のECU30、第4のECU30、及び第5のECU30用の4つの受信側カウンタ42が設けられている。第2のECU30の判定部41は、第1のECU30にて生成されたMACメッセージのMACを判定すると、第1のECU30用の受信側カウンタ42をインクリメントする。
判定部41は、認証OKの場合には、受信側カウンタ42の認証OKカウンタをインクリメントし、認証NGの場合には、受信側カウンタ42の認証NGカウンタをインクリメントする。そして、一連の処理を終了する。
一方、非停止期間の場合、判定部41は、停止期間から非停止期間への切り替わりタイミングか否かを判定する(ステップS38)。切り替わりタイミングの場合、判定部41は、期間通知信号のIDに基づいて、期間通知信号を生成したECU30に対応する受信側カウンタ42のカウント値を送信し、その後、この受信側カウンタ42をクリアする(ステップS39)。判定部41は、受信側カウンタ42をクリアする直前の認証OK数及び認証NG数(受信側カウント)と、いずれの受信側カウンタ42かを示す情報をデータフレームに設定し、送信部38を介して送信する。認証OK数がゼロよりも大きい場合、判定部41は、認証OKと判定したMACメッセージのID情報もデータフレームに設定して送信する。
このように、判定部41は、停止期間から非停止期間に切り替わると、受信側カウンタ42をクリアする直前の受信側カウントを送信する。そして、一連の処理を終了する。ステップS38において切り替わりタイミングでない場合、ステップS39の処理を実施せずに一連の処理を終了する。
なお、非停止期間において、マイコン31は、不正侵入なしと判定したMACメッセージの保護対象データを用いて、たとえば所定の制御を実行する。一方、停止期間において、マイコン31は、少なくとも不正侵入なしと判定したMACメッセージの保護対象データを用いて、たとえば所定の制御を実行する。
次に、図6に基づき、マイコン31が実行する侵入検知処理について説明する。
図6に示すように、先ず侵入検知部43は、送信側カウントを取得する(ステップS50)。上記したように、送信側カウントは、侵入検知部43を備えるECU30にて停止期間中に生成されたMACメッセージの生成数を示す。
次いで、侵入検知部43は、他のECU30から受信側カウントを取得する(ステップS51)。侵入検知部43は、受信部39及びメッセージ分解部40を介して、受信側カウントを取得する。侵入検知部43は、メッセージ分解部40から受信側カウントとともに、カウントした受信側カウンタ42がいずれのECU30用であるかを示す情報も取得する。また、認証OK数がゼロよりも大きい場合、認証OKと判定したMACメッセージのID情報も取得する。
次いで、侵入検知部43は、自身(ECU30)に対応する受信側カウントと、送信側カウントとに基づいて、不正機器によるなりすまし攻撃、すなわち不正侵入を検知する。たとえば第1のECU30の侵入検知部43は、第2のECU30から取得した、第1のECU30に対応する受信側カウンタ42の受信側カウントと、第1のECU30の送信側カウンタ37の値である送信側カウントとに基づいて、不正侵入を検知する。侵入検知部43は、受信側カウンタ42がいずれのECU30用かを示す情報に基づいて、自身(ECU30)に対応する受信カウンタか否かを判断する。
侵入検知部43は、2つの条件の少なくとも一方が成立するか否かを判定する(ステップS52)。第1に、侵入検知部43は、受信側カウントの総数、すなわち認証OK数と認証NG数の合算値が、送信側カウントよりも大きいか否かを判定する。共通鍵の漏洩により、たとえば不正機器が第1のECU30になりすまし、停止期間中に不正なMACメッセージを送信した場合、第2のECU30における第1のECU30用の受信側カウンタ42のカウント総数が、第1のECU30の送信側カウントよりも大きくなる。
第2に、侵入検知部43は、認証OK数がゼロ(0)よりも大きいか否かを判定する。上記したように、停止期間中に生成されるMACメッセージには、MAC生成部34により生成される値とは異なる値が設定される。このため、たとえば第1のECU30にて生成されたMACメッセージを、第2のECU30の判定部41で認証判定する際、MACメッセージに設定されていたMACと、第2のECU30のMAC生成部34にて生成されたMACが一致することはない。認証OKは、共通鍵の漏洩により不正機器が第1のECU30になりすまし、停止期間中に不正なメッセージを送信することで生じうる。
侵入検知部43は、第1条件である受信側カウントの総数>送信側カウントを満たすか、又は、第2条件である認証OK数>0を満たすと、不正侵入ありと判定する(ステップS53)。
認証OK数がゼロよりも大きいとして不正侵入ありと判定した場合、侵入検知部43は、認証OKと判定したMACメッセージのIDを、不正IDとして記憶するとともに、送信部38を介して他のECU30へ通知する(ステップS54)。そして、一連の処理を終了する。これにより、たとえば第1のECU30は、自身が送信するMACメッセージのうち、不正IDとIDが一致するメッセージの生成を停止するなどの処理が可能となる。また、他の第2〜第5のECU30は、不正IDのMACメッセージを破棄するなどの処理が可能となる。
なお、受信側カウントの総数が、送信側カウントよりも大きいとして不正侵入ありと判定した場合に、同様の処理を行ってもよい。すなわち、認証NGと判定したすべてのMACメッセージのIDを、不正IDとして記憶するとともに、送信部38を介して他のECU30へ通知してもよい。
一方、ステップS52においていずれの条件も満たさない場合、侵入検知部43は、不正侵入なしと判定し(ステップS55)、一連の処理を終了する。
図7は、侵入検知のシーケンス図である。図7では、ネットワークに接続された2つのECU30間の例を示している。
図7に示すように、第1のECU30のマイコン31は、上記した送信処理(図4参照)により、期間通知信号及びMACメッセージを送信する。
第2のECU30は、期間通知信号及びMACメッセージを受信し、上記した受信処理(図5参照)を実施する。そして、第2のECU30は、第1のECU30に対応する受信側カウンタ42の停止期間中のカウント値(受信側カウント)を送信する。
第1のECU30は、受信側カウントに基づいて、上記した侵入検知処理(図6参照)を実施する。そして、不正機器の侵入を検知した場合、ネットワークにつながる他のECU30(第2のECU30)へ不正IDを通知する。
次に、本実施形態のECU30及び通信システム10の効果について説明する。
本来であれば共通鍵と保護対象データに基づいて生成されたMACが、MACメッセージに設定されるべきところ、意図的に停止期間を設け、MAC生成部34により生成される値とは異なる値を、MACメッセージのMACとして設定する。停止期間中に生成されたMACメッセージは、MACメッセージを受信したECU30の判定部41において認証NGと判定される。したがって、共通鍵の漏洩により不正機器がMACメッセージ送信側のECU30になりすましても、このECU30のIDが付与されたMACメッセージの認証判定結果に基づいて、不正機器によるなりすまし攻撃(不正侵入)を検知することができる。
上記したように、停止期間中に送信側のECU30(たとえば第1のECU)で生成されたMACメッセージは、他のECU30において認証NGと判定される。このため、送信側のECU30で生成されたMACメッセージのみを受信した場合、認証OK判定がなされることはない。よって、認証OK判定(一致判定)により、不正侵入を検知することができる。
また、侵入検知部43が、認証OK数がゼロよりも大きい場合に、認証OKと判定したMACメッセージのIDを記憶するとともに、IDを他のECU30に通知する。これにより、MACメッセージを生成したECU30の場合、自身が送信するMACメッセージのうち、不正IDとIDが一致するメッセージの生成を停止するなどの処理が可能となる。また、他のECU30は、不正IDのMACメッセージを破棄するなどの処理が可能となる。
また、侵入検知部43が、上記した認証OK判定に加えて、停止期間中の判定部41による判定回数とMACメッセージの生成数に基づいた不正侵入検知も行う。具体的には、同じECU30のIDが付与されたMACメッセージについて、停止期間中の認証OK数及び認証NG数の合算値と生成数とを比較し、不正侵入検知を行う。不正機器から送信される不正メッセージは、認証OKと判定されることもあれば、認証NGと判定されることもあり得る。不正メッセージが認証OK、認証NGいずれに判定されても、不正メッセージの分、生成数よりも判定数が多くなる。したがって、不正メッセージが認証NGと判定される場合でも、不正侵入を検知することができる。
なお、停止期間中においてもMAC生成部34がMACを生成し、生成されたMACをMACメッセージに設定しない構成としてもよい。これに対し、本実施形態では、MAC生成部34が、停止期間においてMACの生成を停止する。停止期間中は、MACの生成が停止し、代わりにMAC記憶部36に記憶された値が用いられる。これにより、マイコン31の処理負荷を低減することができる。よって、処理負荷を低減しつつ、不正侵入を検知することができる。特に本実施形態では、MAC記憶部36に記憶された固定値をMACとして設定するため、これによってもマイコン31の処理負荷を低減することができる。
上記したように、送信データ生成部32が、停止条件の成立可否を判定する。このとき、停止条件として、ECU30(マイコン31)の処理負荷が予め設定されたしきい値よりも高いときに成立する条件、たとえばエンジン回転数が所定回転数よりも高いときに成立する条件を採用するとよい。これによっても、マイコン31の処理負荷を低減することができる。
また、停止条件として、一定周期ごとに成立する条件、たとえば100secごとに10sec間のみ成立する条件を採用してもよい。これによれば、定期的に不正侵入を検知することができる。
なお、本実施形態では、受信側カウントを送信し、MACメッセージを生成したECU30の侵入検知部43にて不正侵入を検知する例を示したが、これに限定されない。送信側カウントを送信部38を介して送信し、MACメッセージを受信したECU30の判定結果(受信側カウント)と、このECU30が受信した送信側カウントとに基づいて、受信側のECU30にて不正侵入を検知する構成としてもよい。
停止期間において、MACメッセージとともに期間通知信号を生成し、送信する例を示したが、これに限定されない。たとえば停止期間の開始タイミングと非停止期間の開始タイミングのみ、期間通知信号を送信してもよい。また、MACメッセージのデータフィールド内に、停止期間、非停止期間を示す期間情報を設定してもよい。その際、停止期間の開始タイミングと非停止期間の開始タイミングのみ、期間情報を設定してもよい。
停止期間から非停止期間に切り替わると、期間通知信号のIDにより、対応するECU30用の受信側カウンタ42のみ、受信側カウントを送信し、次いでクリアする例を示した。これによれば、通信負荷を低減することができる。しかしながら、非停止期間に切り替わると、すべての受信側カウンタ42の受信側カウントを送信し、次いでクリアしてもよい。これによれば、複数の受信側カウンタ42の中からひとつを選択するトリガが不要となる。
自身を除く他のECU30それぞれに対応して受信側カウンタ42を設ける例を示したが、これに限定されない。たとえば、IDごとに受信側カウンタを設けてもよい。ただし、処理負荷等を考慮すると、ECU30単位で設けたほうが良い。
(第2実施形態)
本実施形態は、先行実施形態を参照できる。このため、先行実施形態に示した通信システム10及びECU30と共通する部分についての説明は省略する。
本実施形態は、先行実施形態を参照できる。このため、先行実施形態に示した通信システム10及びECU30と共通する部分についての説明は省略する。
本実施形態では、認証OK判定のみにより、不正侵入を検知する構成とされている。その一例を以下に示す。図8に示すように、ECU30のマイコン31は、送信側カウンタ37を備えていない。受信側カウンタ42は、認証OKカウンタのみを有している。そして、侵入検知部43は、受信側カウント(認証OKカウント)に基づいて、侵入検知を行う。
送信処理及び受信処理については、図示を省略する。送信処理は、図4に示した処理に対し、ステップS14,S17,S18を省略したものとされる。すなわち、送信側カウントに関する処理を省略したものとされる。受信処理は、図5に示した処理と基本的に同じ処理とされる。ステップS39において、受信側カウントの送信先が侵入検知部43とされる。
図9は、侵入検知処理を示している。侵入検知部43は、受信側カウントを取得する(ステップS60)。ステップS60は、ステップS51に対応した処理である。侵入検知部43は、受信側カウントとともに、認証OK数がゼロよりも大きい場合、認証OKと判定したMACメッセージのID情報も取得する。
次いで、侵入検知部43は、認証OK数がゼロ(0)よりも大きいか否かを判定する(ステップS61)ステップS61は、ステップS52のうちの第2条件に相当する。
認証OK数がゼロよりも大きい場合、侵入検知部43は、不正侵入ありと判定し(ステップS62)する。そして、認証OKと判定したMACメッセージのIDを、不正IDとして記憶するとともに、送信部38を介して他のECU30へ通知する(ステップS63)。そして、一連の処理を終了する。ステップS62,S63は、ステップS53,S54に対応した処理である。
一方、ステップS61において認証OK数がゼロの場合、侵入検知部43は、不正侵入なしと判定し(ステップS64)、一連の処理を終了する。ステップS64は、ステップS55に対応した処理である。
このように、上記した構成によれば、受信側のECU30での認証OK判定(一致判定)により、不正侵入を検知することができる。また、認証OKありの場合、MACメッセージのIDを記憶するとともに、他のECU30に通知する。これにより、不正IDのMACメッセージの破棄や不正IDと同じIDのMACメッセージの生成停止などの処理が可能となる。
なお、受信側のECU30での認証OK判定による侵入検知は上記例に限定されない。期間通知信号(期間情報)と同じECU30のIDにて、期間停止中に生成されたMACメッセージの判定結果(認証OK判定)に基づいて、侵入検知を行う構成であればよい。
この明細書の開示は、例示された実施形態に制限されない。開示は、例示された実施形態と、それらに基づく当業者による変形態様を包含する。たとえば、開示は、実施形態において示された要素の組み合わせに限定されない。開示は、多様な組み合わせによって実施可能である。開示される技術的範囲は、実施形態の記載に限定されない。開示されるいくつかの技術的範囲は、特許請求の範囲の記載によって示され、さらに特許請求の範囲の記載と均等の意味及び範囲内でのすべての変更を含むものと解されるべきである。
通信プロコトルとしてCANの例を示したが、これに限定されない。電子制御装置30は、互いに通信可能にネットワークに接続されるのであれば、CANに限定されない。
第1条件である受信側カウントの総数と送信側カウントとの比較のみにより、不正侵入を検知する構成としてもよい。
メッセージ生成部35が送信側カウンタ37をインクリメント及びクリアする例を示したが、これに限定されない。停止判定部である送信データ生成部32がインクリメント及びクリアしてもよい。
10…通信システム、20…CANバス、30…ECU(電子制御装置)、31…マイコン、32…送信データ生成部、33…共通鍵記憶部、34…MAC生成部、35…メッセージ生成部、36…MAC記憶部、37…送信側カウンタ、38…送信部、39…受信部、40…メッセージ分解部、41…判定部、42…受信側カウンタ、43…侵入検知部
Claims (8)
- ネットワークに接続され、メッセージ認証コード(以下、MAC)が設定されたメッセージを送受信する電子制御装置であって、
共通鍵を用いて、前記MACを生成するMAC生成部(34)と、
前記MAC生成部によるMACが前記メッセージに設定されるのを停止する条件の成立可否を判定する停止判定部(32)と、
前記メッセージを生成するものであり、前記条件が成立しない非停止期間において、前記MAC生成部により生成された値を前記メッセージのMACとして設定し、前記条件が成立する停止期間において、前記MAC生成部により生成される値とは異なる値を前記メッセージのMACとして設定するメッセージ生成部(35)と、
前記メッセージ生成部にて生成された前記メッセージを送信する送信部(38)と、
他の前記電子制御装置にて生成された前記メッセージを受信する受信部(39)と、
受信した前記メッセージに設定されたMACと、受信した前記メッセージに基づいて前記MAC生成部により生成される前記MACとが一致するか否かを判定する認証判定部(41)と、
前記停止期間における前記認証判定部の判定結果であって、前記MAC生成部とは異なる値が前記MACとして設定された前記メッセージを含み、該メッセージと同じ前記電子制御装置のIDが付与された前記メッセージの判定結果に基づいて、不正侵入を検知する侵入検知部(43)と、
を備える電子制御装置。 - 前記侵入検知部は、前記認証判定部の一致判定に基づいて、不正侵入を検知する請求項1に記載の電子制御装置。
- 前記侵入検知部は、前記一致判定された回数がゼロよりも大きい場合に、一致判定された前記メッセージのIDを記憶するとともに他の前記電子制御装置に通知する請求項2に記載の電子制御装置。
- 前記侵入検知部は、前記一致判定された回数及び前記認証判定部により不一致判定された回数と、前記MAC生成部とは異なる値が前記MACとして設定された前記メッセージの生成数とのいずれかを他の前記電子制御装置から取得し、前記一致判定された回数及び前記不一致判定された回数の合算値と前記メッセージの生成数とに基づいて、不正侵入を検知する請求項1〜3いずれか1項に記載の電子制御装置。
- 前記停止期間において、前記MAC生成部は、前記MACの生成を停止する請求項1〜4いずれか1項に記載の電子制御装置。
- 前記停止判定部は、前記電子制御装置の処理負荷があらかじめ設定されたしきい値よりも高い場合に、前記条件が成立したと判定する請求項1〜5いずれか1項に記載の電子制御装置。
- 前記停止判定部は、一定周期ごとに前記条件が成立したと判定する請求項1〜5いずれか1項に記載の電子制御装置。
- 前記メッセージ生成部は、前記停止期間において、予め設定された固定値を前記メッセージのMACとして設定する請求項1〜7いずれか1項に記載の電子制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018013908A JP2019134262A (ja) | 2018-01-30 | 2018-01-30 | 電子制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018013908A JP2019134262A (ja) | 2018-01-30 | 2018-01-30 | 電子制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019134262A true JP2019134262A (ja) | 2019-08-08 |
Family
ID=67546530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018013908A Pending JP2019134262A (ja) | 2018-01-30 | 2018-01-30 | 電子制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019134262A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210101937A (ko) * | 2020-02-11 | 2021-08-19 | (주)유엠로직스 | 무인비행체계 악성코드 예방 시스템 및 그 동작방법 |
-
2018
- 2018-01-30 JP JP2018013908A patent/JP2019134262A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210101937A (ko) * | 2020-02-11 | 2021-08-19 | (주)유엠로직스 | 무인비행체계 악성코드 예방 시스템 및 그 동작방법 |
KR102314755B1 (ko) * | 2020-02-11 | 2021-10-19 | (주)유엠로직스 | 무인비행체계 악성코드 예방 시스템 및 그 동작방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6685023B2 (ja) | 電子制御装置、通信方法およびプログラム | |
Jo et al. | Mauth-can: Masquerade-attack-proof authentication for in-vehicle networks | |
US10104094B2 (en) | On-vehicle communication system | |
Nilsson et al. | Efficient in-vehicle delayed data authentication based on compound message authentication codes | |
Wang et al. | An entropy analysis based intrusion detection system for controller area network in vehicles | |
US8966609B2 (en) | Authentication method and apparatus for detecting and preventing source address spoofing packets | |
EP3038318B1 (en) | Communication control apparatus, communication control method and communication control program | |
JP6566400B2 (ja) | 電子制御装置、ゲートウェイ装置、及び検知プログラム | |
US20170048241A1 (en) | Transmission device, reception device, transmission method, and reception method | |
CN111147437B (zh) | 基于错误帧归因总线断开攻击 | |
WO2017026359A1 (ja) | 通信装置 | |
US10270768B2 (en) | Communication system, communication method, and communication device | |
US20190123908A1 (en) | Arithmetic Device, Authentication System, and Authentication Method | |
US20170324557A1 (en) | Information processing apparatus and method for authenticating message | |
US10721241B2 (en) | Method for protecting a vehicle network against manipulated data transmission | |
US9237010B2 (en) | Secure transmission of a message | |
KR101972457B1 (ko) | Can 통신 기반 해킹공격 탐지 방법 및 시스템 | |
Gmiden et al. | Cryptographic and Intrusion Detection System for automotive CAN bus: Survey and contributions | |
JP2019134262A (ja) | 電子制御装置 | |
JP2023535474A (ja) | アソシエーション制御方法及び関連装置 | |
Zniti et al. | A comparative study of hash algorithms with the prospect of developing a CAN bus authentication technique | |
KR101952117B1 (ko) | 차량용 캔 통신 방법 및 장치 | |
CN113795836A (zh) | 用于检测车辆系统中的侵入的方法和系统 | |
Ramesh et al. | Reset-based Recovery Mechanism through Entropy Cutoff to Counter BUS-OFF Attacks | |
JP2019041228A (ja) | 電子制御装置 |