JP6699407B2 - メッセージの認証異常判別装置 - Google Patents

メッセージの認証異常判別装置 Download PDF

Info

Publication number
JP6699407B2
JP6699407B2 JP2016133364A JP2016133364A JP6699407B2 JP 6699407 B2 JP6699407 B2 JP 6699407B2 JP 2016133364 A JP2016133364 A JP 2016133364A JP 2016133364 A JP2016133364 A JP 2016133364A JP 6699407 B2 JP6699407 B2 JP 6699407B2
Authority
JP
Japan
Prior art keywords
authentication
message
counter
unit
node
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
JP2016133364A
Other languages
English (en)
Other versions
JP2018007102A (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.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2016133364A priority Critical patent/JP6699407B2/ja
Priority to DE102017210960.2A priority patent/DE102017210960B4/de
Publication of JP2018007102A publication Critical patent/JP2018007102A/ja
Application granted granted Critical
Publication of JP6699407B2 publication Critical patent/JP6699407B2/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
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/002Countermeasures against attacks on cryptographic mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)

Description

本発明は、メッセージの認証異常判別装置に関する。
従来、送信ノードと受信ノードとの間でメッセージを送受信するときに、メッセージ認証コード(以下、MACと称す)を利用してメッセージの認証を行う方法が提案されている(例えば、特許文献1参照)。特許文献1記載の技術によれば、送信ノードがメインメッセージおよびカウンタ値に基づいて生成されるMACを含むMACメッセージを送信し、受信ノードがメインメッセージおよび受信ノードに記憶されているカウンタ値に基づいて生成されるMACと、MACメッセージに含まれるMACとが一致するか否かによりメインメッセージの正当性を検証している。
特許第5770602号公報
特許文献1記載の技術を採用したときには、例えば通信エラー等により送信ノード、受信ノードのそれぞれに設けられるカウンタ値がずれてしまった場合、MACの値も異なってしまう。このとき、受信ノードがメッセージの検証時にNGとなる。また例えば、不正機器がネットワークに接続されることで当該不正機器が送信ノードに成りすましたときにも、受信ノードがメッセージの検証時にNGとなる。このため、これらの区別ができなくなる。
本発明の目的は、認証異常を区別できるようにしたメッセージの認証異常判別装置を提供することにある。
請求項1記載の発明によれば、データ生成部が送信対象となるデータを生成し、第1認証用カウンタがデータ生成の度に所定値を加減算する。そして、メッセージ送信部は、データ及び第1認証用カウンタの値に基づいてメッセージ認証コード(以下、MAC)を生成し、データと共にMACをネットワークに送信する。
受信ノードでは、メッセージ受信部がデータ及びMACを受信する。第2認証用カウンタは、メッセージの受信の度に所定値を加減算する。MAC生成部は、データ及び第2認証用カウンタからMACを生成する。そして一致判定部は、メッセージ送信部によりネットワークに送信されたMACを受信し当該MACとMAC生成部により生成されたMACとを比較し一致するか否かを判定することでMAC検証OK/NGを判定する。累積NG回数計数部は、一致判定部によりNGと判定されてからNGの累積回数を計数する。異常種類判別部は、NG継続計測部の計測結果及び累積NG回数計数部の計数結果の何れが先にそれぞれの閾値に達したかに基づいて認証異常の種類を判別する。
例えば受信ノードがハードウェア上でメッセージを正常に取得できないときには、第2認証用カウンタは所定値の加減算処理をしない。このため、受信ノードがハードウェア上でメッセージを一度でも受信失敗すると、第1及び第2認証用カウンタの値はずれ続け、一致判定部によりMAC検証NGと判定され続けることになる。すると、NG継続計測部はその後NG継続時間を計測し続ける。これにより異常判別できる。特に、請求項2に示すように、所定時間以上となったときに第1及び第2認証用カウンタのずれを発生していると判別できる。
また、例えば受信ノードがハードウェア上でメッセージを正常に取得し続けているときには送信ノードの第1認証用カウンタ及び受信ノードの第2認証用カウンタの値は一致することになる。このため、一致判定部によりMAC検証OKと判定されることでNG継続計数部はNG継続時間をクリアすることになる。このため第1及び第2認証用カウンタのカウンタずれに基づくMAC検証NGではないことを判別できる。また、例えば不正機器がネットワークに接続されている場合には、累積NG回数計数部により計数されるNGの累積回数は増加し続けることになる。このため、特に請求項4、5に示すように累積回数が所定回数以上となったときには不正メッセージの受信であると判別できる。このようにして認証異常の種類を区別できる。
第1実施形態について示す通信システムの電気的構成図 CANのデータフレームの一部を示す図 ECUの電気的構成を機能的に示す図 メッセージの管理テーブルの内容例 送信ノードの処理の流れを示す説明図 受信ノードの処理の流れを示す説明図 認証用カウンタの変化を示すタイミングチャート 検証NG要因の監視処理を説明するフローチャート 周期的な処理内容を示すフローチャート 受信失敗時における動作を示すタイミングチャート 不正機器による不正処理を想定した場合の動作を示すタイミングチャート 第2実施形態についてスレーブノード(受信ノード)によるカウンタ初期化処理の内容を説明するフローチャート マスタノードによるカウンタ初期化処理の内容を説明するフローチャート 認証用カウンタの値の変化を示すタイミングチャート 第3実施形態について検証NG要因の監視処理を説明するフローチャート 周期的な処理を示すフローチャート
以下、メッセージの認証異常判別装置の幾つかの実施形態を説明する。以下の実施形態中では、各実施形態間で同一機能または類似機能を備えた部分に同一符号を付して説明を行い、同一又は類似機能を備えた構成及びその作用、連携動作説明等を必要に応じて省略する。
(第1実施形態)
図1〜図11は、第1実施形態の説明図を示す。図1に通信システム1の構成例を示す。ネットワーク2には例えばCAN(Controller Area Network)が採用されている。CANは相互接続された機器間のデータ伝送に用いられる通信プロトコルを採用したネットワークである。
このネットワーク2には様々なECU(Electronic Control Unit)、すなわち、ECU_A3、ECU_B4、ECU_C5が接続されている。これらのECU3〜5はネットワーク2に接続されており相互に通信可能であるため、以下では、これらのECU3〜5をそれぞれ通信ノード3〜5として説明する。また図1に示すように、ネットワーク2には不正機器6が接続される虞もある。CANにはバス型アーキテクチャが用いられているため、ネットワーク2に伝送されるメッセージを全ての通信ノード3〜5、6が参照可能となっている。
図2はCANに用いられるフレームの一部の内容例を示している。例えば、データフレーム7は、識別子フィールド(所謂CANID)8と、データを格納するデータフィールド9と、を含む。例えばデータフレーム7は、その他のフィールドも備えるが、その説明は割愛する。識別子フィールド8は、メッセージがどのようなメッセージであるかを示すものであり、通信ノード3〜5がメッセージを受信するときに識別子フィールド8に格納されるCANIDを参照し、自ノードが処理すべきデータであるかを判定し、必要に応じてカウンタ(後述の各種カウンタ18〜20の説明参照)の更新処理を行い、必要に応じてデータ処理を行う。また、データフィールド7にはデータの内容が格納される。
図3は通信ノード3〜5の電気的構成を機能的に示している。各通信ノード3〜5は、例えばCPU、ROM、RAM、A/D変換回路等(何れも図示せず)を有するマイクロコンピュータを備えて構成され、その他、センサやアクチュエータ(図示せず)を接続するインタフェースを備える。
通信ノード3〜5は、送信用としてメッセージ送信部10及びデータ生成部11としての機能を備え、受信用として、メッセージ受信部12、メッセージ認証コード(以下MAC)生成部13、一致判定部14、NG継続計測部15、累積NG回数計数部16、異常種類判別部17としての機能を備える。これらの各種機能10〜17は、各通信ノード3〜5が非遷移的記憶媒体となるメモリ(例えばROM)に格納されたプログラムを実行することで実現される機能を示しており、メッセージ送信及びメッセージの受信に必要な処理内容が選択的に実行される。
また、各通信ノード3〜5は、送信用及び受信用の認証用カウンタ18、NG継続カウンタ19、累計カウンタ20による各種カウンタ18〜20を備える。これらのカウンタ18〜20の値は、メモリの管理テーブル21に格納される。また各通信ノード3〜5は、NG継続フラグなど各種フラグを利用してソフトウェア処理を実行するようになっているが、この図示は省略している。
図4は各通信ノード3〜5の内部に用意されている管理テーブル21の内容を示す。各通信ノード3〜5において、認証用カウンタ18は、通常、識別子(CANID)毎に用意されている。識別子をID1〜ID6…としたとき、認証用カウンタ18の値AuthC1〜C6…はこれらの識別子ID1〜ID6…に対応して管理テーブル21に格納される。通信ノード3のNG継続カウンタ19の値ContC3〜C6…は、「受信」に対応する識別子ID3〜ID6…に対応して管理テーブル21に格納される。
通信ノード4のNG継続カウンタ19の値ContC1、C3…は、「受信」に対応する識別子ID1、ID3…に対応して管理テーブル21に格納される。通信ノード5のNG継続カウンタ19の値ContC1、C2…は、「受信」識別子ID1、ID2…に対応して管理テーブル21に格納される。
また通信ノード3の累計カウンタ20の値TotalC3〜C6…は、「受信」識別子ID3〜ID6…に対応して管理テーブル21に格納される。通信ノード4の累計カウンタ20の値TotalC1、C3…もまた、「受信」識別子ID1、ID3…に対応して管理テーブル21に格納される。
通信ノード5の累計カウンタ20の値TotalC1、C3…は、「受信」識別子ID1、ID2…に対応して管理テーブル21に格納される。これらのNG継続カウンタ19及び累計カウンタ20は、通信ノード3〜5が、受信時にMAC検証NGの原因を検証するために設けられるカウンタである。
本実施形態では、ネットワーク2においてメッセージの不正検証を可能にすると共に通信エラーによる受信失敗であるか否かを判別可能にする。以下の説明では、説明の簡単化のため、メッセージを送信する通信ノードを「送信ノード3」とし、この送信されたメッセージを受信する通信ノードを「受信ノード4」とする。
図5及び図6には、送信ノード3及び受信ノード4がメッセージの送受信時にソフトウェア上で実行する処理を概略的に示している。図5に示すように、送信ノード3は、データ生成部11により送信対象となるデータを生成した後、S1においてこの生成の度に認証用カウンタ18をインクリメントし、S2において識別子、認証用カウンタ18の値、データからMACを生成する。このMACの生成方法は例えば特許文献1に記載の技術を適用すれば良いためその説明を省略する。そして、送信ノード3は、メッセージ送信部10により、S3において送信対象のデータ、及び、生成したMACをメッセージとしてネットワーク2に送信する。
図6に示すように、受信ノード4は、メッセージ受信部12によりT1においてネットワーク2からメッセージを受信すると、当該メッセージからMACを取得する。受信ノード4は、T2においてメッセージの受信の度に認証用カウンタ18をインクリメントする。また、受信ノード4は、MAC生成部13によりT3において識別子、認証用カウンタ18、データからMACを生成する。そして、受信ノード4は、一致判定部14によりT4においてT1にて受信したMACとT3にて生成したMACとを比較し、T5においてT4で比較したMACが一致するか否かを判定する。これにより、MAC検証OK/NGを判定する。ここでMACが一致していれば、T6においてMAC認証OKと判断し、一致しなければ、T7においてMAC検証NGと判断する。
受信ノード4は、図6に示すソフトウェア処理を実行する前にネットワーク2上に送信されたメッセージをハードウェア上で正常に受信できないこともある。このような場合、受信ノード4は図6に示すソフトウェア処理を実行することはない。
受信ノード4が図6に示すソフトウェア処理を実行しないと、T2における認証用カウンタ18のインクリメント処理(加減算処理相当)が行われないことになる。図7に認証用カウンタ18(第1認証用カウンタ、第2認証用カウンタ相当)の時間的変化を示す。この図7において、白抜き三角は送信ノード3の送信タイミング及び受信ノード4の受信タイミングを示す。図7に示すように、受信失敗の時点において、受信ノード4の認証用カウンタ18のカウント数が、送信ノード3の認証用カウンタ18のカウント数に比較して目減りし、その後のカウント数は、送信ノード3及び受信ノード4の間でずれる。このため、一旦、受信ノード4が受信失敗すると、その後、送信ノード3の管理テーブル21中の「送信」欄の認証用カウンタ18の値と、受信ノード4の管理テーブル21中の「受信」欄の認証用カウンタ18の値と、が互いに異なる値になる。
したがって、受信ノード4が、図6のT7においてMAC検証NGと判断したとしても、この認証用カウンタ18のずれに起因するものであるか、不正機器6から不正メッセージを受信したことに起因するものであるか、図6のT7の時点では判断できないことになる。
この原因を判別するため、受信ノード4は、図6に示す処理を終了した後、図8に示す処理を実行する。また受信ノード4は、タイマ割込処理を用いて図9に示す処理も周期的に実行する。この周期的タスクの実行周期は、受信ノード4がメッセージを受信する周期より短く設定されている。
受信ノード4は、図6のT6でメッセージのMAC検証OKであると判断したときには、図8のU1においても受信したメッセージのMAC検証OKであると判断する。この場合、受信ノード4は、図8のU2においてNG継続フラグをオフし、図8のU3においてNG継続カウンタ19をクリアする。受信ノード4は、図8のU6においてNG継続カウンタが規定値(所謂、閾値)以上であるか、図8のU7において累積カウンタ20が規定値(所謂、閾値)以上であるか、否かを判定し、これらの判定結果の何れも満たさない場合には、監視処理を終了する。
図8のU6において、NG継続カウンタ19が規定値以上となっていると判定したときには、受信ノード4は、図8のU6にてYESと判定し、図8のU8にて検証NG要因を送信ノード3及び受信ノード4の間の認証用カウンタ18のずれであると判別する。このとき受信ノード4は、図8のU9においてカウンタ初期化処理を行う。カウンタ初期化処理は、ネットワーク2に接続されている全通信ノード3〜5の認証用カウンタ18の値を一致させる処理であり、本実施形態では詳細説明を省略する。
また図8のU6において、NG継続カウンタ19が規定値未満となっていると判定したときには、受信ノード4は図8のU6にてNOと判定する。そして受信ノード4は、累積カウンタ20が規定値以上であると判定したときには、図8のU7にてYESと判定する。受信ノード4は、図8のU10において検証NG要因を不正機器6による不正メッセージの注入であると判別する。
また、受信ノード4は、図9に示すタスクを周期的に実行する。受信ノード4は、図9のV1にてNG継続フラグがオンであると判定されたことを条件として、図9のV2においてNG継続カウンタ19をインクリメントする。
受信ノード4は、このような一連の処理を行うことで、異常種類判別部17によりNG継続カウンタ19の計測結果、及び、累計カウンタ20の計数結果に基づいて認証異常の種類を判別できる。
以下、事例別に図10、図11に示すタイミングチャートを参照しながら説明する。図10は、受信ノード4がハードウェア上で受信失敗したことを想定した場合のNG継続カウンタ19及び累計カウンタ20の時間変化をタイミングチャートを用いて示している。図11は、ネットワーク2に不正に接続された不正機器6により不正メッセージが注入されたことを想定した場合のNG継続カウンタ19及び累計カウンタ20の時間変化をタイミングチャートを用いて示している。これらの図10及び図11中における実線は、NG継続カウンタ19の値の時間的変化を示しており、破線は累計カウンタ20の時間的変化を示しており、白抜き三角は受信ノード4の受信タイミングを示している。
累計カウンタ20は、図8のU1においてMAC検証NGであると判定されたときにインクリメントされる。このため、受信ノード4が一旦ハードウェア上で受信失敗したときには、図10に示すように、累積カウンタ20はこのタイミングから受信タイミング毎に徐々に増加する。また、受信ノード4が受信失敗すると、このタイミングの後、NG継続カウンタ19は、受信ノード4が図9の周期タスクを実行する度に増加する。このときNG継続カウンタ19は、NG発生からのNG継続時間を計測するNG継続計測部15として用いられる。
この場合、累積カウンタ20が受信タイミング毎にインクリメントして閾値に達する前に、NG継続カウンタ19により計測されるNG継続時間がその閾値となる所定時間に早く達するように予め設定されていれば、受信失敗から所定時間経過したことを確実に検出できる。
図9に示される周期タスクが所定回実行されることでNG継続時間が所定時間に達すると、受信ノード4は、図8のU6にてYESと判定し、この結果、図8のU8にて送信ノード3及び受信ノード4の間のカウンタずれと判別できる。なお、図示していないが、NG継続時間が所定時間に達することなく、受信ノード4がMAC検証OKと判定したときにはNG継続時間はクリアされることになる。
特に、例えば、NG継続時間の閾値となる所定時間が、正規のメッセージの受信周期の2以上の所定倍程度に設定されている場合、受信ノード4が、当該所定時間以内にMAC検証OKと判定することなく、MAC検証NGの判定を継続したときには、送信ノード3及び受信ノード4の間の認証用カウンタ18のずれに起因したNGであることを確実に特定できる。
また、不正機器6が通信ノード3〜5になりすましてネットワーク2に接続されているときには、不正機器6が定期的又は不定期にメッセージをネットワーク2に送信することが想定される。図11中における黒塗り三角は、受信ノード4がこのメッセージをハードウェア上で正常に受信するタイミングを示している。
不正機器6がメッセージを定期的にネットワーク2に送信したときには、受信ノード4がこのメッセージを受信し、図6のMACの検証比較処理を行ったとしても図6のT7にてMAC検証NGと判断する。このとき、受信ノード4は、図8のU1にてNGと判定するため、この判定結果に応じて、図8のU5において累積カウンタ20がインクリメントされる。累積カウンタ20は、MAC検証NGと判定されてから図8のU5を実行する度にインクリメントされる。このため、累積カウンタ20はNGの累積回数を計数する累積NG回数計数部16として機能する。
他方、NG継続カウンタ19は、前述したように図9の周期タスクの実行に伴いインクリメントされるが、受信ノード4が、送信ノード3から送信される正規のメッセージを受信したときにはMAC検証OKと判定する。これは、送信ノード3及び受信ノード4の認証用カウンタ18が一致しているためである。受信ノード4が図6のT6にてMAC検証OKと判定すると、NG継続カウンタ19は図8のU3にてクリアされる。
NG継続カウンタ19は正規にメッセージを受信したタイミングでクリアされるものの、累積カウンタ20は、受信ノード4が不正機器6から不正メッセージを受信する度にカウンタを累積する。このため受信ノード4は、その累積カウンタ20がその閾値に達することで、不正メッセージの受信回数が閾値に達したと判定する。この累積カウンタ20の閾値は、通信システム1が正常に動作していれば通常では到達することが不可能となる値に設定することが望ましい。特に、累積カウンタ20の閾値となる所定回数は、NG計測時間の閾値となる所定時間内では超えないように予め設定されていると良い。
このため、受信ノード4はU7にてYESと判定し、U10にて不正機器6による不正メッセージの注入であると判別できる。このように判別したときには、例えば外部の管理サーバ(図示せず)への通知、又は攻撃履歴をメモリに記憶しておくことで、攻撃があったことを通知、記録することが可能となる。
以下、本実施形態の特徴部分をまとめる。受信ノード4が例えばハードウェア上でメッセージを受信失敗したときには、認証用カウンタ18をインクリメントしない。すると、送信ノード3と受信ノード4との間で認証用カウンタ18がずれ続ける。したがって、受信ノード4は、MAC検証NGと判定し続け、NG継続カウンタ19がインクリメントされることによってNG継続時間を計測し続ける。これにより異常判別できる。特に、このNG継続時間が所定時間以上となったときに、送信ノード3の認証用カウンタ18と受信ノード4の認証用カウンタ18のずれに起因した異常であると判別できる。
また、受信ノード4がハードウェア上でメッセージを正常に取得し続けているときには送信ノード3及び受信ノード4の認証用カウンタ18の値は一致する。このため、図11に示すように、受信ノード4が正常に受信したタイミングにおいてNG継続時間はクリアされ、送信ノード3及び受信ノード4の認証用カウンタ18の値のずれに基づくMAC検証NGではないことを判別できる。
また、不正機器6がネットワーク2に接続されている場合には、累積カウンタ20により計数されるNGの累積回数は増加し続けることになる。このため、特に、この累積カウンタ20が計数するNG累積回数が所定回数以上となったときには、不正メッセージを受信していると判別できる。このようにして異常の内容を判別できる。
また、NG継続カウンタ19の閾値は、データ受信不能な期間が通信システム1として許容できる範囲内で設定することが望ましく、例えば受信周期の2以上の所定倍(例えば3倍程度)とすることが望ましい。
また累積カウンタ20の閾値は、不正機器6から連続して不正フレームが送信される攻撃を想定しているため、正規のメッセージを正常に受信したときにはNG継続カウンタ19が閾値に達しないように設定することが望ましい。このため、本実施形態では受信ノード4が正規のメッセージを正常に受信したときにはNG継続カウンタ19の値をクリアしている。
また累計カウンタ20は、送信ノード3及び受信ノード4の間の認証用カウンタ18のずれに応じてインクリメントされるものの、累計カウンタ20の閾値を超える前にNG継続カウンタ19が閾値を先に超えるように設定されている。このため、認証用カウンタ18のずれを不正機器6による不正メッセージの注入に起因するものと誤判別する可能性をなくすことができる。
(第2実施形態)
図12〜図14は第2実施形態の追加説明図を示す。第2実施形態では、図8のU9に示したカウンタ初期化処理の詳細について説明する。
通信システム1は、認証用カウンタ18の値を全通信ノード3〜5の間で同一値とすることで正常に通信継続できる。通信システム1の起動中において、送信ノード3がデータを生成するときに認証用カウンタ18をカウントし、受信ノード4がメッセージの受信の度に認証用カウント18をカウントすることで、全通信ノード3〜5は認証用カウンタ18を同一値にすることができる。しかし、受信ノード4が、図8のU8においてカウンタずれに起因した異常を生じていると判定したときには、次のように処理することで、全通信ノード3〜5の間で認証用カウンタ18の値を共通化する。
図12は、カウンタ初期化処理を要求するスレーブノードの処理をフローチャートで示す。スレーブノード4は、第1実施形態の受信ノード4に相当する通信ノードを示しているため、符号4を付して説明を行う。本実施形態において、受信ノード4は、初期化通知要求部、リセット部としての機能を備える。
また図13は、カウンタ初期化処理を行い認証用カウンタ18の初期値を配信するマスタノード3の処理についてフローチャートを用いて示している。図14は、認証用カウンタの値の変化を示している。本実施形態では、説明の簡単化のため、マスタノード3を送信ノード3として説明を行う。マスタノード3は、受信ノード4以外の通信ノードであれば、任意の通信ノード(例えば5)であっても良い。
スレーブノード4が、図8のU9にてカウンタ初期化処理を実行するときには、まず図12のW1にてマスタノード3へ認証用カウンタ18の初期化通知要求を行い、図12のW2にてカウンタ初期化メッセージを待機する。
図13に示すように、マスタノード3は、スレーブノード4から初期化通知要求の待機をしているが、X1にてこの初期化通知要求を受信し受付けるとYESと判定し、通信システム1の初期化対象となる全ての識別子、すなわちメッセージ認証が必要なメッセージに対応する識別子、について、認証用カウンタ18の初期値を全通信ノード3〜5に通知する。
マスタノード3は、全通信ノードに認証用カウンタ18の初期値を通知するため、まず図13のX2にて識別子(CANID)を選択し、X3にて乱数を発生させ、X4にて識別子と関連付けて乱数をカウンタ初期化メッセージにより送信する。このとき、マスタノード3は、初期化対象となる全ての識別子を対象として送信するまで、X2〜X4の処理を繰り返す。
図12に参照図面を戻すと、スレーブノード4は、マスタノード3からカウンタ初期化メッセージを受信すると、W3にてこのカウンタ初期化メッセージから乱数を取得し、W4において得られた数値(=乱数)を認証用カウンタ18の初期値として内部メモリ(例えばRAM)に記憶させる。通信ノード3〜5は、マスタノード3とスレーブノード4、5とに分けられるが、これらの一連の処理を行うことで、これらの通信ノード3〜5は、同一識別子の認証用カウンタ18の値を互いに一致させることができる。また、受信ノード4は、W5において累積カウンタ20の値をクリアすることで累積回数をクリアし、NG継続カウンタ19をクリアすることでNG継続時間をリセットする。
図14の前半時間t0〜t3は受信失敗前後の変化を示す。図14のタイミングt0付近に示すように、受信ノード4が正常に受信している間、認証用カウンタ18の値が全通信ノード3〜5の間で一致する。例えば、受信ノード4が受信失敗すると、認証用カウンタ18の値が、図14のタイミングt1〜t2に示すように、送信ノード3と受信ノード4との間でずれることになる。この間、受信ノード4のNG継続カウンタ19及び累積カウンタ20は何れも増加する。
NG継続カウンタ19が、その閾値に達すると、受信ノード4は図8のU9においてカウンタ初期化処理を行う。このときマスタノード3は、乱数を発生し、全スレーブノード4、5に乱数をカウンタ初期化メッセージとして送信する。これにより、図14のタイミングt2〜t3に示すように、認証用カウンタ18の値は全通信ノード3〜5の間で一致する。ここでは説明をわかりやすくするため、認証用カウンタ18の初期値として「15」を図14には図示しているが、この値はノード3〜5間の共通鍵を用いて暗号化して得た値を初期値として使用することが望ましく、これにより機密性を高く確保できる。
また、図14の後半時間t3〜t4は、不正メッセージの受信前後における認証用カウンタ18の値の変化を示す。図14のタイミングt3〜t4に示すように、受信ノード4が不正メッセージを受信したとしても、認証用カウンタ18の値は送信ノード3と受信ノード4との間でずれることはなく、累計カウンタ20が累積的に増加する。認証用カウンタ18は、正規のメッセージを受信したときにクリアされる。このため、NG継続カウンタ19が閾値に達することはなく、カウンタ初期化処理が行われることはない。これにより、正常に動作を継続させることができる。
以下、本実施形態の内容を概念的にまとめる。通信システム1は、認証用カウンタ18の初期値を配信するマスタノード3を備え、受信ノード4は、認証用カウンタ18のカウンタずれを生じていると判別すると、マスタノード3へ認証用カウンタ18の初期化通知要求を行っている。これにより、マスタノード3は、認証用カウンタ18を全通信ノード3〜5の間で一致させることができ、初期化できる。
また、このタイミングt2において、受信ノード4は、W5においてNG継続カウンタ19、累積カウンタ20をクリアして累積回数及びNG継続時間をクリアしている。このため、全通信ノード3〜5の各種カウンタ18〜20をクリアでき、新たな処理を正常に開始、継続できる。これにより、以降における不正機器6による攻撃の検知、判別、又は、認証用カウンタ18のカウンタずれに起因した異常の判別を正常に行うことができる。
(第3実施形態)
図15及び図16は第3実施形態の追加説明図を示す。これらの図15、図16は、それぞれ図8、図9に対応して示しており、同一処理を行う部分には同一符号を付しており、類似の処理を行う部分には類似の符号を付している。
図15に示すように、受信ノード4は、U0、U2a、U3a、U4a、U5a、U6a、U7aにおいて対象となる識別子(対象識別子)毎に第1実施形態で説明した処理を行うようにしている。また図16に示すように、周期的には、V1aにおいて対象識別子のNG継続フラグを確認し、フラグオンとされていることを条件として、V2aにおいて対象識別子のNG継続カウンタをインクリメントするようにしている。ここで受信ノード4は、V3aにおいて周期的に全ての識別子について確認したか否かを判定している。
これにより、対象となる全ての識別子を対象として、これらの認証用カウンタ18、NG継続カウンタ19、累計カウンタ20の値を制御できるようになる。本実施形態によっても前述実施形態と同様の作用効果を奏することになり、全てのメッセージについてMACによるメッセージ認証を行う必要はなく、例えば重要なメッセージについてメッセージ認証を行っても良い。
(他の実施形態)
本発明は、前述した実施形態に限定されるものではなく、種々変形して実施することができ、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。例えば以下に示す変形又は拡張が可能である。
前述実施形態には示していないが、例えばAES等の規格化された共通鍵を用いた共通鍵暗号方式等で暗号化してメッセージを送受信するようにしても良い。
前述実施形態では、CANに対して適用した実施例を説明したが、CAN以外であってもCANと類似するプロトコルに依存した通信システムであれば適用できる。
また前述実施形態においては、識別子とデータと識別子に対応する認証用カウンタ18の値からMACを生成しているが、データと認証用カウンタ18の値からMACを生成するようにしても良い。このようにしても、前述同様に異常の判別は可能となる。
また前述実施形態の説明においては、メッセージ受信時および送信時に認証用カウンタ18の値をインクリメントし、インクリメント後の認証用カウンタ18の値を使用してMACを算出しているが、インクリメント前のカウンタ値を用いてMACを算出しても良い。送信ノード3、受信ノード4、共に認証用カウンタ18をプラス1するインクリメント処理を行うことで加減算処理するようにしているが、加算する値は1に限られず各種の所定値を加算しても良いし、減算するようにしても良い。
NG継続カウンタ19を用いてNG継続時間を計測する形態を示したが、タイマなど他の手段を用いて計測しても良い。
前述した複数の実施形態を組み合わせて構成しても良い。なお、特許請求の範囲に記載した括弧内の符号は、本発明の一つの態様として前述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
図面中、1は通信システム、2はネットワーク、3は通信ノード(送信ノード、マスタノード)、4は通信ノード(認証異常判別装置、受信ノード、スレーブノード)、5は通信ノード、6は不正機器、10はメッセージ送信部、12はメッセージ受信部、13はMAC生成部、14は一致判定部、15はNG継続計測部、16は累積NG回数計数部、17は異常種類判別部、18は認証用カウンタ(第1認証用カウンタ、第2認証用カウンタ)、19はNG継続カウンタ(NG継続計測部)、20は累計カウンタ(累積NG回数計数部)、を示す。

Claims (8)

  1. 送信ノード(3)がネットワーク(2)にメッセージを送信し、受信ノード(4)がネットワークからメッセージを受信する通信システム(1)であり、
    前記送信ノード(3)は、送信対象のデータを生成するデータ生成部(11)と、前記データの生成の度に所定値を加減算する送信用の第1認証用カウンタ(18)と、前記データ及び前記第1認証用カウンタの値に基づいてメッセージ認証コード(以下MACと略す)を生成し、前記データと共に前記MACをメッセージとしてネットワークに送信するメッセージ送信部(10)と、を備え、
    前記受信ノード(4)は、前記メッセージ送信部により送信されたデータ及びMACをメッセージとして受信するメッセージ受信部(12)と、前記メッセージの受信の度に前記所定値を加減算する受信用の第2認証用カウンタ(18)と、前記受信されたデータ及び前記第2認証用カウンタからMACを生成するMAC生成部(13、T3)と、前記メッセージ送信部によりネットワークに送信されたMACを受信し当該MACと前記MAC生成部により生成されたMACとを比較し一致するか否かを判定することでMAC検証OK/NGを判定する一致判定部(14、T4〜T7)と、を備えた通信システム(1)における前記受信ノード(4)に構成される認証異常判別装置(4)であって、
    前記一致判定部によりNGと判定されると当該NG発生からのNG継続時間を計測しOKと判定されるとNG継続時間をクリアするNG継続計測部(15、19)と、
    前記一致判定部によりNGと判定されてから当該一致判定部により判定されるNGの累積回数を計数する累積NG回数計数部(16、20)と、
    前記NG継続計測部の計測結果及び前記累積NG回数計数部の計数結果の何れが先にそれぞれの閾値に達したかに基づいて認証異常の種類を判別する異常種類判別部(17、U8、U10)と、
    を備えるメッセージの認証異常判別装置。
  2. 請求項1記載の認証異常判別装置において、
    前記異常種類判別部は、
    前記NG継続計測部によるNG継続時間が所定時間以上となったときには前記第1及び第2認証用カウンタのずれを発生していると判別するメッセージの認証異常判別装置。
  3. 請求項2記載の認証異常判別装置において、
    前記所定時間は前記メッセージの受信周期の2以上の所定倍に設定されているメッセージの認証異常判別装置。
  4. 請求項1または2記載の認証異常判別装置において、
    前記異常種類判別部は、
    前記累積NG回数計数部により計数される累積回数が所定回数以上となったときには不正メッセージの受信であると判別するメッセージの認証異常判別装置。
  5. 請求項3記載の認証異常判別装置において、
    前記異常種類判別部は、
    前記累積NG回数計数部により計数される累積回数が所定回数以上となったときには不正メッセージの受信であると判別するメッセージの認証異常判別装置。
  6. 請求項5記載の認証異常判別装置において、
    前記累積回数の閾値となる所定回数は、前記NG継続時間の閾値となる所定時間内では超えないように予め設定されているメッセージの認証異常判別装置。
  7. 請求項2記載の認証異常判別装置において、
    前記通信システム(1)は、前記第1認証用カウンタ及び前記第2認証用カウンタの初期値を配信するマスタノード(3)を備えた通信システム(1)であって、
    前記異常種類判別部が前記第1及び第2認証用カウンタのカウンタずれを生じていると判別すると(U8)、前記マスタノードへ前記第1及び第2認証用カウンタの初期化通知要求を行う初期化通知要求部(W1)、をさらに備えるメッセージの認証異常判別装置。
  8. 請求項7記載の認証異常判別装置において、
    前記第1及び第2認証用カウンタが初期化されるときには、前記累積回数及び前記NG継続時間をリセットするリセット部(W5)、をさらに備えるメッセージの認証異常判別装置。
JP2016133364A 2016-07-05 2016-07-05 メッセージの認証異常判別装置 Active JP6699407B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016133364A JP6699407B2 (ja) 2016-07-05 2016-07-05 メッセージの認証異常判別装置
DE102017210960.2A DE102017210960B4 (de) 2016-07-05 2017-06-28 Authentifizierungsabnormalitätsermittlungsvorrichtung für eine nachricht

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016133364A JP6699407B2 (ja) 2016-07-05 2016-07-05 メッセージの認証異常判別装置

Publications (2)

Publication Number Publication Date
JP2018007102A JP2018007102A (ja) 2018-01-11
JP6699407B2 true JP6699407B2 (ja) 2020-05-27

Family

ID=60676741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016133364A Active JP6699407B2 (ja) 2016-07-05 2016-07-05 メッセージの認証異常判別装置

Country Status (2)

Country Link
JP (1) JP6699407B2 (ja)
DE (1) DE102017210960B4 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5254697B2 (ja) * 2008-08-05 2013-08-07 株式会社東海理化電機製作所 通信システム
JP5770602B2 (ja) * 2011-10-31 2015-08-26 トヨタ自動車株式会社 通信システムにおけるメッセージ認証方法および通信システム
DE112012004804T5 (de) * 2011-11-19 2014-07-31 International Business Machines Corporation Speichereinheit
US20140176301A1 (en) * 2012-12-20 2014-06-26 Lear Corporation Remote Function Fob for Enabling Communication Between a Vehicle and a Device and Method for Same
EP3142291B1 (en) 2014-05-08 2019-02-13 Panasonic Intellectual Property Corporation of America On-vehicle network system, fraud-detection electronic control unit, and method for tackling fraud

Also Published As

Publication number Publication date
DE102017210960A1 (de) 2018-01-11
DE102017210960B4 (de) 2023-10-05
JP2018007102A (ja) 2018-01-11

Similar Documents

Publication Publication Date Title
JP6685023B2 (ja) 電子制御装置、通信方法およびプログラム
JP6684690B2 (ja) 不正検知方法、監視電子制御ユニット及び車載ネットワークシステム
US10826684B1 (en) System and method of validating Internet of Things (IOT) devices
CN106936835B (zh) 设备接入的方法及系统
JP2020512708A5 (ja)
US20150264080A1 (en) Testing Integrity of Property Data of a Device Using a Testing Device
JP6332194B2 (ja) 通信装置、通信方法、及び通信プログラム
CN111147437B (zh) 基于错误帧归因总线断开攻击
CN108134713B (zh) 一种通信方法及装置
JP2017028567A (ja) 通信中継装置、通信ネットワーク、通信中継プログラム及び通信中継方法
CN112865959B (zh) 分布式节点设备的共识方法、节点设备及分布式网络
KR101972457B1 (ko) Can 통신 기반 해킹공격 탐지 방법 및 시스템
CN112887282A (zh) 一种身份认证方法、装置、系统及电子设备
CN112073381B (zh) 一种连接互联网设备接入内网检测方法
Han et al. A practical solution to achieve real-time performance in the automotive network by randomizing frame identifier
CN113660216B (zh) 口令攻击检测方法、装置、电子装置和存储介质
JP6699407B2 (ja) メッセージの認証異常判別装置
JP2020167494A (ja) メッセージ監視システム、メッセージ送信電子制御装置、および監視用電子制御装置
CN110766529B (zh) 运行验证方法、装置、空调器以及存储介质
US11100229B2 (en) Secure hybrid boot systems and secure boot procedures for hybrid systems
Murvay et al. A brief look at the security of DeviceNet communication in industrial control systems
JP2019134262A (ja) 電子制御装置
JP2020107237A (ja) 情報処理装置
CN116418541B (zh) 通信方法、装置和设备
WO2023095394A1 (ja) 情報処理装置および鍵管理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191024

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200413

R151 Written notification of patent or utility model registration

Ref document number: 6699407

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250