JP6218184B2 - 情報処理装置、メッセージ認証方法 - Google Patents

情報処理装置、メッセージ認証方法 Download PDF

Info

Publication number
JP6218184B2
JP6218184B2 JP2014230715A JP2014230715A JP6218184B2 JP 6218184 B2 JP6218184 B2 JP 6218184B2 JP 2014230715 A JP2014230715 A JP 2014230715A JP 2014230715 A JP2014230715 A JP 2014230715A JP 6218184 B2 JP6218184 B2 JP 6218184B2
Authority
JP
Japan
Prior art keywords
message
shared information
processing step
security code
shared
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
JP2014230715A
Other languages
English (en)
Other versions
JP2016096419A (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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
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 Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2014230715A priority Critical patent/JP6218184B2/ja
Priority to EP15858297.3A priority patent/EP3220576B1/en
Priority to PCT/JP2015/081740 priority patent/WO2016076358A1/ja
Priority to CN201580056690.5A priority patent/CN107005412B/zh
Priority to US15/525,978 priority patent/US10425231B2/en
Publication of JP2016096419A publication Critical patent/JP2016096419A/ja
Application granted granted Critical
Publication of JP6218184B2 publication Critical patent/JP6218184B2/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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • 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

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)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、ネットワークに接続されて利用される情報処理装置と、ネットワークに接続された複数の情報処理装置間のメッセージ認証方法に関する。
現在では、自動車の車載ネットワークにおける代表的な標準プロトコルとして、CAN(Controller Area Network)が普及している。さらに今後は、CANを拡張したCAN FD(Flexible Data−Rate)も普及してくることが予想されている。
このような車載ネットワークでは、侵入者により通信に対する不正な攻撃が行われる危険性がある。車両には一般的に、OBD2(On−Board−Diagnostics 2)ポートと呼ばれる、車載ネットワークに直接繋がっている診断用のインタフェースが設けられている。たとえば、このOBD2ポートに侵入者が不正な機器を接続し、これを用いて、車載ネットワークに対するリプレイ攻撃などが行なわれる危険性がある。ここで、リプレイ攻撃とは、通信路上を流れるメッセージを侵入者が盗聴して事前に取得し、取得したメッセージを再送することで、車載ネットワークの各機器に不正な動作を引き起こす攻撃である。他にも、たとえば車外のシステムと連携して動作する情報処理装置をマルウェアに感染させることで、感染した当該装置が偽のメッセージを車載ネットワークに送信するようにして、このメッセージを受信した制御装置に誤動作を引き起こすといった攻撃なども考えられる。
上記のような不正攻撃の脅威に対する有効な対策としては、車載ネットワークの各情報処理装置間を流れるメッセージに対して、改ざん検知符号としてMAC(Message Authentication Code)を用いたメッセージ認証を実施することが知られている(特許文献1)。この特許文献1に開示された技術では、各情報処理装置において、メッセージIDごとにメッセージが送信された回数をカウントする。そして、メッセージを送信する側の情報処理装置は、データ、送信回数、メッセージIDからMACを生成し、メッセージとは別に送信する。一方、メッセージを受信する側の情報処理装置は、受信したメッセージにおける、データ、送信回数、メッセージIDを基にMACを算出し、これを送信側の情報処理装置から別途受信したMACと比較する。その結果、これらのMAC同士が異なっている場合は、受信したメッセージが不正なものと認識し、以降では、そのメッセージIDを用いたメッセージを受け付けなくする。これにより、リプレイ攻撃やデータの改ざんによる情報処理装置の誤作動を防止する。
特開2013−98719号公報
特許文献1に記載の技術において用いられるMACには、一般にノイズに弱いという特性がある。そのため、メッセージにノイズが混ざることでMACの値が変化した場合は、不正なメッセージでないにも関わらず、これを受信した情報処理装置において不正なメッセージとして認識されることになる。その結果、当該情報処理装置は、不正な攻撃が行われたと誤って判断してしまい、本来は不正な攻撃を受けたときにのみ実施すべき上記のような対策を、ノイズが混ざったときも実施することになる。これにより、不正な攻撃を受けていないにも関わらず、たとえば自動車の運転を妨げるような動作が受信側の情報処理装置において行われ、実用性に乏しい運用をユーザが強いられてしまうおそれがある。
本発明は、以上の問題に鑑みなされたものである。本発明の主な目的は、ネットワークに接続された各情報処理装置において受信したメッセージが不正な攻撃によるものか否かを正しく判別することにある。
本発明の第1の態様による情報処理装置は、ネットワークを介して接続された他の情報処理装置から送信されたメッセージを受信する情報処理装置であって、前記他の情報処理装置と共有される共有情報を生成する共有情報生成部と、前記メッセージを受信する通信部と、前記メッセージに含まれる共有情報と、前記共有情報生成部により生成された共有情報とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正当性を検証する共有情報検証部と、前記共有情報に基づくセキュリティ用符号を生成するセキュリティ用符号生成部と、前記メッセージに含まれるセキュリティ用符号と、前記セキュリティ用符号生成部により生成されたセキュリティ用符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証するセキュリティ用符号検証部と、前記共有情報検証部による検証結果と、前記セキュリティ用符号検証部による検証結果とに基づいて、前記メッセージの正常性を判断する処理判断制御部と、を備え、前記セキュリティ用符号生成部は、前記共有情報の誤りを検知するための誤り検知符号を前記セキュリティ用符号として生成し、前記セキュリティ用符号検証部は、前記メッセージに含まれる誤り検知符号と、前記セキュリティ用符号生成部により生成された誤り検知符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証し、前記処理判断制御部は、前記共有情報検証部により前記メッセージに含まれる共有情報が正当であると判断された場合には、前記メッセージが正常であると判断し、前記共有情報検証部により前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記セキュリティ用符号検証部により前記メッセージに含まれる共有情報に誤りがないと判断された場合には、前記メッセージが不正な攻撃によるものであると判断し、前記処理判断制御部により前記メッセージの正常性を判断するために用いられるカウンタ値を記憶する通信情報記憶部をさらに備え、前記処理判断制御部は、前記共有情報検証部により前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記セキュリティ用符号検証部により前記メッセージに含まれる共有情報に誤りがあると判断された場合には、前記カウンタ値を更新し、前記カウンタ値と所定の閾値とを比較し、その比較結果に基づいて、前記メッセージが不正な攻撃によるものであるか否かを判断する。
本発明の第2の態様による情報処理装置は、ネットワークを介して接続された他の情報処理装置から送信されたメッセージを受信する情報処理装置であって、前記他の情報処理装置と共有される共有情報を生成する共有情報生成部と、前記メッセージを受信する通信部と、前記メッセージに含まれる共有情報と、前記共有情報生成部により生成された共有情報とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正当性を検証する共有情報検証部と、前記共有情報に基づくセキュリティ用符号を生成するセキュリティ用符号生成部と、前記メッセージに含まれるセキュリティ用符号と、前記セキュリティ用符号生成部により生成されたセキュリティ用符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証するセキュリティ用符号検証部と、前記共有情報検証部による検証結果と、前記セキュリティ用符号検証部による検証結果とに基づいて、前記メッセージの正常性を判断する処理判断制御部と、を備え、前記セキュリティ用符号生成部は、前記共有情報の誤りを検知するための誤り検知符号を前記セキュリティ用符号として生成し、前記セキュリティ用符号検証部は、前記メッセージに含まれる誤り検知符号と、前記セキュリティ用符号生成部により生成された誤り検知符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証し、前記セキュリティ用符号生成部は、前記誤り検知符号または前記誤り訂正符号に加えて、前記メッセージに含まれるデータおよび共有情報の改ざんを検知するための改ざん検知符号を前記セキュリティ用符号としてさらに生成し、前記セキュリティ用符号検証部は、前記メッセージに含まれる改ざん検知符号と、前記セキュリティ用符号生成部により生成された改ざん検知符号とを比較し、その比較結果に基づいて、前記メッセージの正当性をさらに検証し、前記処理判断制御部は、前記共有情報検証部により前記メッセージに含まれる共有情報が正当であると判断され、かつ前記セキュリティ用符号検証部により前記メッセージが正当であると判断された場合には、前記メッセージが正常であると判断し、前記共有情報検証部により前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記セキュリティ用符号検証部により前記メッセージに含まれる共有情報に誤りがないと判断された場合には、前記メッセージが不正な攻撃によるものであると判断し、前記処理判断制御部により前記メッセージの正常性を判断するために用いられるカウンタ値を記憶する通信情報記憶部をさらに備え、前記処理判断制御部は、前記共有情報検証部により前記メッセージに含まれる共有情報が正当であると判断され、かつ前記セキュリティ用符号検証部により前記メッセージが正当ではないと判断された場合、または、前記共有情報検証部により前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記セキュリティ用符号検証部により前記メッセージに含まれる共有情報に誤りがあると判断された場合には、前記カウンタ値を更新し、前記カウンタ値と所定の閾値とを比較し、その比較結果に基づいて、前記メッセージが不正な攻撃によるものであるか否かを判断する。
本発明の第3の態様によるメッセージの認証方法は、ネットワークを介して接続された2つの情報処理装置間で送受信されるメッセージの認証方法であって、前記メッセージを受信する情報処理装置により、前記2つの情報処理装置間で共有される共有情報を生成する第1の処理ステップと、前記メッセージを受信する第2の処理ステップと、前記第2の処理ステップで受信したメッセージに含まれる共有情報と、前記第1の処理ステップで生成した共有情報とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正当性を検証する第3の処理ステップと、前記共有情報に基づくセキュリティ用符号を生成する第4の処理ステップと、前記第2の処理ステップで受信したメッセージに含まれるセキュリティ用符号と、前記第4の処理ステップで生成したセキュリティ用符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証する第5の処理ステップと、前記第3の処理ステップでの検証結果と、前記第5の処理ステップでの検証結果とに基づいて、前記メッセージの正常性を判断する第6の処理ステップと、前記第6の処理ステップにより前記メッセージの正常性を判断するために用いられるカウンタ値を記憶する第7の処理ステップとを実行し、前記第4の処理ステップには、前記共有情報の誤りを検知するための誤り検知符号を前記セキュリティ用符号として生成することを含み、前記第5の処理ステップは、前記メッセージに含まれる誤り検知符号と、前記第4の処理ステップにより生成された誤り検知符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証することを含み、前記第6の処理ステップには、前記第3の処理ステップにより前記メッセージに含まれる共有情報が正当であると判断された場合には、前記メッセージが正常であると判断することと、前記第3の処理ステップにより前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記第5の処理ステップにより前記メッセージに含まれる共有情報に誤りがないと判断された場合には、前記メッセージが不正な攻撃によるものであると判断することを含み、前記第6の処理ステップには、前記第3の処理ステップにより前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記第5の処理ステップにより前記メッセージに含まれる共有情報に誤りがあると判断された場合には、前記カウンタ値を更新することと、前記カウンタ値と所定の閾値とを比較し、その比較結果に基づいて、前記メッセージが不正な攻撃によるものであるか否かを判断することとを含む。
本発明の第4の態様によるメッセージの認証方法は、ネットワークを介して接続された2つの情報処理装置間で送受信されるメッセージの認証方法であって、前記メッセージを受信する情報処理装置により、前記2つの情報処理装置間で共有される共有情報を生成する第1の処理ステップと、前記メッセージを受信する第2の処理ステップと、前記第2の処理ステップで受信したメッセージに含まれる共有情報と、前記第1の処理ステップで生成した共有情報とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正当性を検証する第3の処理ステップと、前記共有情報に基づくセキュリティ用符号を生成する第4の処理ステップと、前記第2の処理ステップで受信したメッセージに含まれるセキュリティ用符号と、前記第4の処理ステップで生成したセキュリティ用符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証する第5の処理ステップと、前記第3の処理ステップでの検証結果と、前記第5の処理ステップでの検証結果とに基づいて、前記メッセージの正常性を判断する第6の処理ステップと、前記第6の処理ステップにより前記メッセージの正常性を判断するために用いられるカウンタ値を記憶する第7の処理ステップとを実行し、前記第4の処理ステップには、前記共有情報の誤りを検知するための誤り検知符号を前記セキュリティ用符号として生成することを含み、前記第5の処理ステップには、前記メッセージに含まれる誤り検知符号と、前記第4の処理ステップにより生成された誤り検知符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証することを含み、前記第4の処理ステップには、前記誤り検知符号または前記誤り訂正符号に加えて、前記メッセージに含まれるデータおよび共有情報の改ざんを検知するための改ざん検知符号を前記セキュリティ用符号としてさらに生成することを含み、前記第5の処理ステップには、前記メッセージに含まれる改ざん検知符号と、前記第4の処理ステップにより生成された改ざん検知符号とを比較し、その比較結果に基づいて、前記メッセージの正当性をさらに検証することを含み、前記第6の処理ステップには、前記第3の処理ステップにより前記メッセージに含まれる共有情報が正当であると判断され、かつ前記第5の処理ステップにより前記メッセージが正当であると判断された場合には、前記メッセージが正常であると判断することと、前記第3の処理ステップにより前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記第5の処理ステップにより前記メッセージに含まれる共有情報に誤りがないと判断された場合には、前記メッセージが不正な攻撃によるものであると判断することを含み、前記第6の処理ステップにはさらに、前記第3の処理ステップにより前記メッセージに含まれる共有情報が正当であると判断され、かつ前記第5の処理ステップにより前記メッセージが正当ではないと判断された場合、または、前記第3の処理ステップにより前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記第5の処理ステップにより前記メッセージに含まれる共有情報に誤りがあると判断された場合には、前記カウンタ値を更新することと、前記カウンタ値と所定の閾値とを比較し、その比較結果に基づいて、前記メッセージが不正な攻撃によるものであるか否かを判断することを含む。
本発明によれば、ネットワークに接続された各情報処理装置において受信したメッセージが不正な攻撃によるものか否かを正しく判別することができる。
情報処理システムの構成例を示す図 情報処理装置の構成例を示す図 CPUが実行する処理のフローチャート 共有情報生成処理のフローチャート 共有情報のテーブル構成の例を示す図 第1の実施形態によるメッセージ送信処理のフローチャート 送信メッセージのデータ構造の例を示す図 メッセージ受信処理のフローチャート 第1の実施形態によるメッセージ種別判断処理のフローチャート 第2の実施形態によるメッセージ送信処理のフローチャート 送信メッセージのデータ構造の例を示す図 第2の実施形態によるメッセージ種別判断処理のフローチャート 送信メッセージを4つのメッセージに分割した例を示す図 通信路カウンタ値の同期をとるためのメッセージのデータ構造の例を示す図
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
−第1の実施形態−
以下では、本発明の一実施形態に係る情報処理装置およびメッセージ認証方法について説明する。本実施形態では、ネットワークを介して接続された複数の情報処理装置において、各情報処理装置間で共有される共有情報と、セキュリティ用符号である誤り検知符号とを用いて、各情報処理装置間で送受信されるメッセージの認証を行う例を説明する。
図1は、本発明の一実施形態における情報処理システムの構成例を示す図である。図1に示す情報処理システムは、複数の情報処理装置1がネットワーク2を介して互いに接続されることにより構成されている。たとえば、車両に搭載されている様々な種類のECU(Electronic Control Unit)を、車両内のネットワークであるCAN(Controller Area Network)やCAN FDを介して互いに接続することで、図1の情報処理システムが構成される。この場合、各ECUが情報処理装置1に対応し、CANやCAN FDがネットワーク2に対応する。ただし、本発明の適用範囲はこれに限定されるものではなく、様々な種類の情報処理システムにおいて本発明を適用可能である。
図2は、情報処理装置1の構成例を示す図である。情報処理装置1は、図2に示すように、CPU10、メモリ20および通信部30がバス40を介して互いに接続されることにより構成されている。
CPU10は、共有情報生成部101、共有情報管理部102、鍵管理部103、メッセージ生成部104、セキュリティ用符号生成部105、メッセージ解析部108、処理判断制御部109、共有情報検証部110およびセキュリティ用符号検証部111を機能的に有している。CPU10は、所定のプログラムを実行することにより、メモリ20や通信部30を制御して、これらの各機能部として動作することができる。なお、これらの各機能部については、後で詳しく説明する。
CPU10で実行されるプログラムは、予めメモリ20に格納されていてもよい。または、不図示の入出力インタフェースに接続された記憶媒体や不図示の通信媒体を介して、CPU10の動作に必要なプログラムを取得してもよい。この場合、取得したプログラムはメモリ20に記憶しておくこともできる。
メモリ20は、上記のプログラムや、CPU10の動作に必要な各種のデータを記憶するための部分である。メモリ20には、たとえば一次記憶装置や二次記憶装置などを含むことができる。CPU10とメモリ20の間でのデータ通信は、バス40を介して行われる。メモリ20は、暗号情報記憶部206と、通信情報記憶部207とを機能的に有する。なお、これらの各機能部については、後で詳しく説明する。
通信部30は、図1のネットワーク2と接続されており、CPU10の制御に応じて動作する。通信部30は、ネットワーク2を介して、他の情報処理装置1へのメッセージの送信や、他の情報処理装置1から送信されたメッセージの受信を行う。通信部30により他の情報処理装置1へと送信されるメッセージは、バス40を介してCPU10から通信部30に出力される。また、通信部30により他の情報処理装置1から受信したメッセージは、バス40を介して通信部30からCPU10に出力される。
次に、CPU10とメモリ20がそれぞれ有する各機能部について説明する。
共有情報生成部101は、各情報処理装置1間で共有される共有情報を生成する。共有情報生成部101により生成された共有情報は、暗号情報記憶部206に記憶される。
共有情報管理部102は、共有情報の管理を行う。たとえば、共有情報生成部101が共有情報を生成するために必要な情報を取得したり、メッセージ数やメッセージ種類に応じて共有情報を更新したりする。
鍵管理部103は、暗号化された共有情報やセキュリティ用符号を生成するために用いられる鍵データの管理を行う。
メッセージ生成部104は、情報処理装置1から他の情報処理装置1への送信メッセージを生成する。メッセージ生成部104により生成された送信メッセージは、通信部30に出力され、通信部30から他の情報処理装置1へ送信される。
セキュリティ用符号生成部105は、他の情報処理装置1との間で送受信されるメッセージの認証に用いるためのセキュリティ用符号を生成する。なお、本実施形態では、セキュリティ用符号生成部105は、セキュリティ用符号として誤り検知符号を生成するものとする。
メッセージ解析部108は、通信部30で受信された他の情報処理装置1からの受信メッセージのデータ構造を解析し、その受信メッセージに含まれるデータ、共有情報、セキュリティ用符号などを抽出する。
共有情報検証部110は、メッセージ解析部108で抽出された受信メッセージの共有情報と、共有情報生成部101で生成された共有情報とを比較し、その比較結果に基づいて、受信メッセージに含まれる共有情報の正当性を検証する。
セキュリティ用符号検証部111は、メッセージ解析部108で抽出された受信メッセージのセキュリティ用符号と、セキュリティ用符号生成部105生成されたセキュリティ用符号とを比較し、その比較結果に基づいて、受信メッセージに含まれる共有情報の正当性を検証する。
暗号情報記憶部206は、共有情報およびセキュリティ用符号の暗号化に関する暗号情報を記憶する。たとえば、共有情報生成部101やセキュリティ用符号生成部105が共有情報やセキュリティ用符号を暗号化する際に用いられる初期値や前述の鍵データなどが、暗号情報として暗号情報記憶部206に記憶される。
通信情報記憶部207は、他の情報処理装置1との間でメッセージを送受信するために必要な通信情報を記憶する。たとえば、メッセージのカウンタ値や、メッセージ種別の判断に用いられる処理判断カウンタ値などが、通信情報として通信情報記憶部207に記憶される。
なお、以上説明した機能部のうち、メッセージ生成部104やセキュリティ用符号生成部105を除いて情報処理装置1を構成してもよい。すなわち、CPU10は、共有情報生成部101、共有情報管理部102、鍵管理部103、メッセージ解析部108、処理判断制御部109、共有情報検証部110およびセキュリティ用符号検証部111のみを有する構成としてもよい。この場合、情報処理装置1は、メッセージ送信機能を有しないメッセージ認証向けの情報処理装置として利用することができる。
図3は、CPU10が実行する処理のフローチャートである。CPU10は、所定の周期ごとに、図3のフローチャートに従った処理を繰り返し実行する。
ステップS10では、CPU10は、共有情報を生成するか否かを判定する。共有情報は、たとえば車両のエンジン起動時や、他の情報処理装置1との間で通信を開始する直前または通信の合間など、所定のタイミングで生成される。こうした共有情報の生成タイミングに該当する場合、CPU10は、共有情報を生成すると判定してステップS20に進み、そうでない場合はステップS30に進む。
ステップS20では、CPU10は、共有情報生成部101および共有情報管理部102により、共有情報生成処理を実行する。この共有情報生成処理の具体的な内容は、後で図4のフローチャートを参照して説明する。
ステップS30では、CPU10は、他の情報処理装置1への送信メッセージの有無を判定する。送信メッセージが存在する場合はステップS40に進み、存在しない場合はステップS50に進む。
ステップS40では、CPU10は、メッセージ生成部104およびセキュリティ用符号生成部105により、メッセージ送信処理を実行する。このメッセージ送信処理の具体的な内容は、後で図6のフローチャートを参照して説明する。
ステップS50では、CPU10は、他の情報処理装置1からの受信メッセージの有無を判定する。受信メッセージが存在する場合はステップS60に進み、存在しない場合は図3のフローチャートの処理を終了する。
ステップS60では、CPU10は、メッセージ解析部108、処理判断制御部109、共有情報検証部110およびセキュリティ用符号検証部111により、メッセージ受信処理を実行する。このメッセージ受信処理の具体的な内容は、後で図8のフローチャートを参照して説明する。ステップS60の処理を実行したら、CPU10は、図3のフローチャートの処理を終了する。
なお、前記ステップS10からステップS40までの処理と、前記ステップS50からステップ60までの処理は、別プロセスとして並行して行なわれてもよい。
次に、図3のステップS20で実行される共有情報生成処理について説明する。ステップS20において、CPU10は、共有情報生成部101において、たとえば擬似乱数生成器を用いてシーケンス番号を生成することにより、共有情報を生成することができる。図4は、この場合の共有情報生成処理のフローチャートである。
ステップS201では、共有情報管理部102は、擬似乱数生成器により疑似乱数を生成するのに必要な付随情報を暗号情報記憶部206から取得する。ここでは、予め設定された付随情報の参照先を示す情報に基づいて、暗号情報記憶部206の所定の場所に記憶されている付随情報を読み出すことにより、付随情報を取得することができる。共有情報管理部102は、擬似乱数生成器のシード、擬似乱数を生成するための補助情報、擬似乱数生成器の内部状態などを付随情報として取得する。なお、補助情報とは、たとえば、擬似乱数生成器の初期値を決定するための初期化ベクトル(IV)である。また、擬似乱数生成器の内部状態とは、次回以降の疑似乱数を生成するために必要な情報であり、擬似乱数生成器がこれまでに生成済みの疑似乱数の個数に応じて変化する。
ステップS202では、共有情報生成部101は、ステップS201で取得した付随情報を用いて擬似乱数列を生成する。
ステップS203では、共有情報生成部101は、ステップS202で生成した擬似乱数列に基づいてシーケンス番号列を作成する。ここでは、予め定められた方法に従って、擬似乱数列を構成する各疑似乱数に対してシーケンス番号を順に作成して並べることにより、シーケンス番号列を作成することができる。
ステップS204では、共有情報管理部102は、ステップS203で生成したシーケンス番号列を共有情報として暗号情報記憶部206に格納する。
図5は、ステップS204で暗号情報記憶部206に格納される共有情報1070のテーブル構成の例を示す図である。共有情報1070において、通信路カウンタ値1071は、各シーケンス番号に対応する通信路カウンタ値を示す。乱数1072は、シーケンス番号として使用される乱数を示す。
図4の説明に戻ると、ステップS205では、共有情報管理部102は、暗号情報記憶部206に記憶されている暗号情報のうち、ステップS203で疑似乱数列からシーケンス番号列を生成するのに必要な情報を更新する。ここで、暗号情報記憶部206には、たとえば、ステップS202で生成した擬似乱数列に含まれる疑似乱数のうちで、ステップS203でのシーケンス番号列の生成において未使用の擬似乱数の個数や先頭アドレスを示す情報などが、シーケンス番号列を生成するのに必要な情報として記憶されている。共有情報管理部102は、疑似乱数列の使用状況に応じて、これらの情報を更新する。
たとえば、擬似乱数列に含まれる各疑似乱数のデータサイズをbビットとし、疑似乱数の個数をmとすると、前述のステップS202では、b×mビット分の擬似乱数列が生成される。このような場合に、擬似乱数列に含まれる疑似乱数の一つから生成されたシーケンス番号を含む送信メッセージが生成されて他の情報処理装置1に送信されると、共有情報管理部102は、暗号情報記憶部206に記憶されている暗号情報のうち、未使用の疑似乱数の個数を1つ減少させると共に、その先頭アドレスをbビット分だけ変化させる。このようにして、シーケンス番号列を生成するのに必要な情報が更新される。
なお、上記のステップS205で情報が更新された結果、未使用の擬似乱数の個数が予め定められた所定値以下になった場合は、図4の処理フローを実行することで新たに疑似乱数列を生成し、これに基づいてシーケンス番号列を作成することが好ましい。さらに、予め定められた数を各情報処理装置間で事前に共有しておき、1つのシードから生成された擬似乱数列のバイト長がこの数に到達する度に、リシード(エントロピーソースの追加)を行ったり、シードの更新を行ったりしてもよい。リシードを行う場合、たとえば、NISTのSP800−90Aに記載されている方法を用いることができる。ただし、リシードの方法はこれに限定されず、実現可能な方法であればよい。また、シードの更新を行う場合、たとえば、ある情報処理装置1において更新用のシードを生成し、これを暗号化して他の情報処理装置1に送信するようにすればよい。ただし、シードの更新方法はこれに限定されず、実現可能な方法であればよい。このようにしてリシードやシードの更新を実施することにより、シードを把握していない第三者はシーケンス番号の予測がさらに困難になる、という効果がある。
ステップS205の処理を実行したら、図4の共有情報生成処理を終了し、図3のステップS30に進む。以上説明した共有情報生成処理により、情報処理装置1は、他の情報処理装置1との間で共有される共有情報を生成できる。
次に、図3のステップS40で実行されるメッセージ送信処理について説明する。ステップS40において、CPU10は、メッセージ生成部104により、ステップS20で生成された共有情報を利用して、不正なリプレイ攻撃の有無を判別するための送信メッセージを生成し、他の情報処理装置1に送信することができる。図6は、本発明の第1の実施形態によるメッセージ送信処理のフローチャートである。
ステップS301では、メッセージ生成部104は、図1のネットワーク2を介して送受信されたメッセージの合計数を表す通信路カウンタ値を通信情報記憶部207から取得する。ここで取得される通信路カウンタ値は、全ての情報処理装置間で一致した値であればよい。たとえば、ネットワーク2を介してメッセージが流れるたびに、各情報処理装置1のメッセージ生成部104が通信路カウンタ値をインクリメントして通信情報記憶部207に格納してもよい。なお、通信路カウンタ値の更新には、全ての情報処理装置1で共通の方法を用いてもよい。または、全ての情報処理装置1で更新後のカウンタ値が一致していれば、各情報処理装置1が異なる更新方法を用いてもよい。
ステップS302では、メッセージ生成部104は、通信情報記憶部207からヘッダ情報とデータを取得するとともに、ステップS301で取得した通信路カウンタ値に対応する共有情報を暗号情報記憶部206から取得する。ここで、ヘッダ情報とは、たとえば、ネットワーク2としてCAN FDを用いた場合には、アービトレーションフィールドやコントロールフィールドなどの情報である。他の通信プロトコルにおいては、たとえば、通信先、通信元、データ長等を示す情報をヘッダ情報として取得することができる。ただし、ヘッダ情報として必要な情報を含むものであれば、ステップS302で取得するヘッダ情報はこれらに限定されるものではない。
ステップS303では、セキュリティ用符号生成部105は、ステップS302で取得した共有情報に対する誤り検知符号を生成する。ここでは、取得した共有情報に基づき、所定のアルゴリズムを用いて、その共有情報の誤りを検知するための誤り検知符号を生成する。たとえば、CRC(Cyclic Redundancy Check)などのアルゴリズムに従って、共有情報に対する誤り検知符号を生成することができる。
ステップS304では、メッセージ生成部104は、ステップS302で取得したヘッダ情報、データおよび共有情報と、ステップS303で生成した誤り検知符号と、これらに対応するフッタ情報とに基づいて、送信メッセージを生成する。ここで、フッタ情報とは、たとえば、ネットワーク2としてCAN FDを用いた場合には、周期的冗長性チェックフィールドやアクノレッジフィールドの情報である。ただし、フッタ情報として必要な情報を含むものであれば、ステップS304で取得するフッタ情報はこれらに限定されるものではない。
図7は、ステップS304で生成される送信メッセージのデータ構造の例を示す図である。送信メッセージは、ヘッダ情報411、データ412、共有情報413、誤り検知符号414、フッタ情報415から成る。
図6の説明に戻ると、ステップS305では、メッセージ生成部104は、ステップS304で生成した送信メッセージを通信部30に出力する。これにより、生成した送信メッセージが通信部30からネットワーク2を介して他の情報処理装置1に送信されるようにする。
ステップS306では、メッセージ生成部104は、ステップS301で取得した通信路カウンタ値を更新し、通信情報記憶部207に格納する。
ステップS306の処理を実行したら、図6のメッセージ送信処理を終了し、図3のステップS50に進む。以上説明したメッセージ送信処理により、情報処理装置1は、セキュリティ用符号として共有情報に対する誤り検知符号を付与したメッセージを通信路に送信できる。
次に、図3のステップS60で実行されるメッセージ受信処理について説明する。ステップS60において、CPU10は、他の情報処理装置1から図6に示したデータ構造のメッセージを受信したときに、メッセージ解析部108を用いてその受信メッセージのデータ構造を解析し、受信メッセージが不正な攻撃によるものなのかどうかを判別することができる。図8は、メッセージ受信処理のフローチャートである。
ステップS501では、メッセージ解析部108は、通信部30を用いて、他の情報処理装置1から送信されたメッセージを受信する。ここでは、通信部30により受信されて通信部30からCPU10に出力された他の情報処理装置1からのメッセージを取得することで、受信メッセージを取得する。
ステップS502では、メッセージ解析部108は、通信情報記憶部207から通信路カウンタ値を取得し、その通信路カウンタ値を更新する。なお、各情報処理装置間で管理する通信路カウンタ値にずれが生じても同期できるように、任意の情報処理装置が同期用のIDが付与されたメッセージを通信路に定期的に送信してもよい。
図14は、通信路カウンタ値の同期をとるためのメッセージのデータ構造の例を示す図である。本メッセージのデータ構造は、同期用ID904が付与されたヘッダ情報901と、通信路カウンタ値902と、フッタ情報903から成る。
図8の説明に戻ると、ステップS503では、メッセージ解析部108は、ステップS501で受信したメッセージのデータ構造を解析する。ここでは、図7に示したようなデータ構造を基に受信メッセージのデータ構造を解析することで、受信メッセージに含まれるデータ、共有情報、誤り検知符号をそれぞれ抽出する。
ステップS504では、処理判断制御部109は、ステップS501で受信メッセージから抽出した共有情報および誤り検知符号に基づいて、受信メッセージの種別を判断するためのメッセージ種別判断処理を行う。このメッセージ種別判断処理の具体的な内容は、後で図9のフローチャートを参照して説明する。
ステップS505では、処理判断制御部109は、ステップS504のメッセージ種別判断処理によって受信メッセージの種別を特定できたか否かを判断する。受信メッセージの種別を特定できた場合はステップS506に進み、特定できなかった場合はステップS510に進む。
ステップS505からステップS506に進んだ場合、ステップS506では、処理判断制御部109は、受信メッセージの種別を特定できたかどうかを示す処理判断カウンタの値をクリアする。これにより、ステップS504のメッセージ種別判断処理によって受信メッセージの種別を特定できた場合は、処理判断カウンタの値をクリアし、所定の初期値(たとえば0)に戻す。ここで、処理判断カウンタは、前述のように受信メッセージの種別の判断に用いられるものであり、通信情報記憶部207に記憶されている。
ステップS507では、処理判断制御部109は、ステップS504のメッセージ種別判断処理によって特定した受信メッセージの種別が、「正常」または「攻撃」のいずれであるかを判断する。受信メッセージの種別が「正常」である場合、すなわち受信メッセージが正常であるとの判断がステップS504でなされた場合は、ステップS508に進む。一方、受信メッセージの種別が「攻撃」である場合、すなわち受信メッセージが不正な攻撃によるものであるとの判断がステップS504でなされた場合は、ステップS509に進む。
ステップS508では、処理判断制御部109は、受信メッセージを受け入れる。これにより、CPU10において、受信メッセージに含まれるデータに基づく制御処理が実行されるようになる。
ステップS509では、処理判断制御部109は、受信メッセージを破棄し、所定の対策モードに移行する。ここで、対策モードとは、受信メッセージが不正な攻撃によるものと判断された場合に、情報処理装置1を、その情報処理装置1が含まれる情報処理システムの運用に悪影響を及ぼさないような制御状態へと移行させるためのモードである。たとえば、車両に搭載された情報処理システムであれば、情報処理装置1を車両の安全運転に影響を及ぼさないような制御状態へと移行させるように、対策モードを設定することが好ましい。
対策モードに移行した情報処理装置1では、たとえば、当該受信メッセージと同じIDが設定された他の情報処理装置1からの受信メッセージを、以降では全て破棄する。または、攻撃の種類に応じて対策内容を変化させてもよい。たとえば、ステップS504で受信メッセージがリプレイ攻撃によるものであると判断した場合は、シーケンス番号を再生成すると共に、ユーザに対する警告を行うことなどが考えられる。車両に搭載された情報処理システムであれば、カーナビゲーション装置や車両に接続された携帯端末装置などに所定の警告画面を表示することで、ユーザへの警告を行うことができる。
一方、ステップS505からステップS510に進んだ場合、ステップS510では、処理判断制御部109は、通信情報記憶部207に記憶されている処理判断カウンタの値をインクリメントして更新する。これにより、ステップS504のメッセージ種別判断処理によって受信メッセージの種別を特定できなかった場合は、処理判断カウンタの値を1つ増加させる。
ステップS511では、処理判断制御部109は、ステップS510でインクリメントした処理判断カウンタ値と所定の閾値とを比較する。その結果、処理判断カウンタ値が閾値よりも大きい場合は、ステップS509に進む。一方、処理判断カウンタ値が閾値以下である場合は、ステップS512に進む。なお、ステップS511で処理判断カウンタ値と比較される閾値の大きさは、ネットワーク2の通信品質などに応じて変化させてもよい。その場合、情報処理システムの設計情報や運用開始前のテスト結果などに基づいて事前に閾値を設定してもよいし、ネットワーク2の通信品質をリアルタイムで計測し、その計測結果に基づいて閾値を逐次変化させてもよい。
ステップS511からステップS509に進むと、処理判断制御部109は、これまでの受信メッセージが不正な攻撃によるものと判断して、前述のように受信メッセージを破棄し、所定の対策モードに移行する。
ステップS512では、処理判断制御部109は、受信メッセージを破棄し、次のメッセージが受信されるまで待機する。この場合は、次のメッセージが受信されると、図8のステップS501以降の処理が再度実行される。
ステップS508、S509またはS512のいずれかの処理を実行したら、図8のメッセージ受信処理を終了する。以上説明したメッセージ受信処理により、情報処理装置1は、受信メッセージが正常であるか、それとも不正な攻撃によるものかを判別することができる。
続いて、図8のステップS504で実行されるメッセージ種別判断処理について説明する。図9は、本発明の第1の実施形態によるメッセージ種別判断処理のフローチャートである。
ステップS5001では、処理判断制御部109は、共有情報検証部110を用いて、受信メッセージに含まれる共有情報の正当性の検証を行う。ここで、共有情報検証部110は、図3のステップS20の共有情報生成処理により生成されて格納された共有情報を暗号情報記憶部206から取得する。そして、取得した共有情報と、受信メッセージに含まれる共有情報とを比較して、これらが一致するか否かを判定する。この判定は、予め決められたルールに従って実施されればよい。たとえば、受信メッセージに含まれる共有情報のシーケンス番号をrKとし、共有情報検証部110が取得した共有情報において受信メッセージに対応するシーケンス番号をNとすると、N=rKであるか否かを判定する。その結果、N=rKであれば、受信メッセージに含まれる共有情報が正当なものと判断して、検証結果をOKとする。一方、N≠rKであれば、受信メッセージに含まれる共有情報が不正なものと判断して、検証結果をNGとする。なお、共有情報検証部110がシーケンス番号列を共有情報として取得した場合、そのシーケンス番号列の中でどのシーケンス番号が受信メッセージに対応するかの判断は、図8のステップS502で取得される通信路カウンタ値に基づいて行うことができる。
ステップS5002では、処理判断制御部109は、ステップS5001で行われた共有情報の正当性の検証結果がOKまたはNGのいずれであったかを判定する。検証結果がOKであった場合はステップS5003に進み、NGであった場合はステップS5004に進む。
ステップS5003では、処理判断制御部109は、受信メッセージを正常なものとして判断する。これにより、受信メッセージの種別が「正常」であることが特定される。
ステップS5004では、処理判断制御部109は、セキュリティ用符号生成部105を用いて、受信メッセージに含まれる共有情報に基づく誤り検知符号を生成する。ここで、セキュリティ用符号生成部105は、図6のステップS303と同様の処理を行うことにより、受信メッセージに含まれる共有情報に対するセキュリティ用符号としての誤り検知符号を生成することができる。
ステップS5005では、処理判断制御部109は、セキュリティ用符号検証部111を用いて、受信メッセージに含まれる共有情報の正誤の検証を行う。ここで、セキュリティ用符号検証部111は、ステップS5004で生成された誤り検知符号をセキュリティ用符号生成部105から取得する。そして、取得した誤り検知情報と、受信メッセージに含まれるセキュリティ用符号としての誤り検知符号とを比較して、これらが一致するか否かを判定する。その結果、両方の誤り検知符号が一致していれば、受信メッセージに含まれる共有情報には誤りがないと判断して、検証結果をOKとする。一方、誤り検知符号が一致していなければ、受信メッセージに含まれる共有情報には誤りがあると判断して、検証結果をNGとする。
ステップS5006では、処理判断制御部109は、ステップS5005で行われた共有情報の正誤の検証結果がOKまたはNGのいずれであったかを判定する。検証結果がOKであった場合はステップS5008に進み、NGであった場合はステップS5007に進む。
ステップS5007では、処理判断制御部109は、受信メッセージをリプレイ攻撃以外の原因による異常なメッセージと判断する。この場合、受信メッセージの種別は特定されない。なお、こうした異常メッセージの原因としては、たとえば、ネットワーク2におけるノイズ等による偶発的な通信ビット誤りや、リプレイ攻撃以外の不正な攻撃などが考えられる。
ステップS5008では、処理判断制御部109は、受信メッセージを不正なリプレイ攻撃によるものと判断する。すなわち、この場合には、共有情報が正当ではなく、かつ共有情報には誤りがないことから、その共有情報が既に使用済みであり、これを不正に入手した第三者がリプレイ攻撃を行ったと判断できる。これにより、受信メッセージの種別が「攻撃」であることが特定される。
ステップS5003、S5007またはS5008のいずれかを実行したら、図9のメッセージ種別判断処理を終了し、図8のステップS505に進む。以上説明したメッセージ種別判断処理により、情報処理装置1は、受信メッセージがリプレイ攻撃なのかどうかを判別できる。
以上説明した本発明の第1の実施形態によれば、以下の作用効果を奏する。
(1)情報処理装置1は、ネットワーク2を介して接続された他の情報処理装置1から送信されたメッセージを受信する。情報処理装置1は、共有情報生成部101、通信部30、共有情報検証部110、セキュリティ用符号生成部105、セキュリティ用符号検証部111および処理判断制御部109を備える。共有情報生成部101は、他の情報処理装置1と共有される共有情報を生成する(ステップS20)。通信部30は、他の情報処理装置1から送信されたメッセージを受信する(ステップS501)。共有情報検証部110は、この受信メッセージに含まれる共有情報と共有情報生成部101により生成された共有情報とを比較し、その比較結果に基づいて、受信メッセージに含まれる共有情報の正当性を検証する(ステップS5001)。セキュリティ用符号生成部105は、共有情報に基づくセキュリティ用符号を生成する(ステップS5004)。セキュリティ用符号検証部111は、受信メッセージに含まれるセキュリティ用符号と、セキュリティ用符号生成部105により生成されたセキュリティ用符号とを比較し、その比較結果に基づいて、受信メッセージに含まれる共有情報の正誤を検証する(ステップS5005)。処理判断制御部109は、共有情報検証部110による検証結果と、セキュリティ用符号検証部111による検証結果とに基づいて、受信メッセージの正常性を判断する(ステップS5003、S5007、S5008)。このようにしたので、ネットワーク2に接続された各情報処理装置1において受信したメッセージが不正な攻撃によるものか否かを正しく判別することができる。
(2)ステップS5004では、セキュリティ用符号生成部105は、共有情報の誤りを検知するための誤り検知符号をセキュリティ用符号として生成する。ステップS5005では、セキュリティ用符号検証部111は、受信メッセージに含まれる誤り検知符号と、セキュリティ用符号生成部105により生成された誤り検知符号とを比較し、その比較結果に基づいて、受信メッセージに含まれる共有情報の正誤を検証する。このようにしたので、共有情報の正誤を簡単に、かつ正確に検証することができる。
(3)処理判断制御部109は、ステップS5001で共有情報検証部110により受信メッセージに含まれる共有情報が正当であると判断された場合には、ステップS5003において受信メッセージが正常であると判断する。一方、ステップS5001で共有情報検証部110により受信メッセージに含まれる共有情報が正当ではないと判断され、かつステップS5005でセキュリティ用符号検証部111により受信メッセージに含まれる共有情報に誤りがないと判断された場合には、ステップS5008において受信メッセージが不正なリプレイ攻撃によるものであると判断する。このようにしたので、受信メッセージが正常であるか、それとも不正なリプレイ攻撃によるものであるかを、確実に判断することができる。
(4)情報処理装置1は、処理判断制御部109により受信メッセージの正常性を判断するために用いられる処理判断カウンタ値を記憶する通信情報記憶部207をさらに備える。処理判断制御部109は、ステップS5001で共有情報検証部110により受信メッセージに含まれる共有情報が正当ではないと判断され、かつステップS5005でセキュリティ用符号検証部111により受信メッセージに含まれる共有情報に誤りがあると判断されることで、ステップS5007の処理を実行した場合には、処理判断カウンタ値をインクリメントして更新する(ステップS510)。そして、処理判断カウンタ値と所定の閾値とを比較し(ステップS511)、その比較結果に基づいて、受信メッセージが不正な攻撃によるものであるか否かを判断する(ステップS509、S512)。このようにしたので、受信メッセージがリプレイ攻撃以外の不正な攻撃によるものである場合にも、これを判断することができる。
(5)情報処理装置1は、共有情報生成部101、通信部30、共有情報検証部110、セキュリティ用符号生成部105、セキュリティ用符号検証部111および処理判断制御部109に加えてさらに、メッセージ生成部104を備える。メッセージ生成部104は、共有情報生成部101により生成された共有情報およびセキュリティ用符号生成部105により生成されたセキュリティ用符号を含む送信メッセージを生成する(ステップS304)。通信部30は、この送信メッセージを他の情報処理装置1に送信すると共に、他の情報処理装置1からの受信メッセージを受信する。このようにしたので、複数の情報処理装置1間でメッセージを送受信し、メッセージ認証を行うことができる。
−第2の実施形態−
以下では、本発明の第2の実施形態について説明する。第2の実施形態では、第1の実施形態で説明した誤り検知符号に替えて、誤り訂正符号や改ざん検知符号をセキュリティ用符号として使用する場合の例を説明する。なお、本実施形態に係る情報処理システムの構成や、情報処理装置1の構成については、第1の実施形態と同様であるため、説明を省略する。また、CPU10が実行する処理は、図6に示したメッセージ送信処理および図9に示したメッセージ種別判断処理以外については、第1の実施形態と共通であるため、説明を省略する。
図10は、本発明の第2の実施形態によるメッセージ送信処理のフローチャートである。このフローチャートは、図6に示した第1の実施形態によるメッセージ送信処理のフローチャートと比べて、ステップS303およびS304の処理に替えて、ステップS3031、S3032およびS3041の処理を実行する点が異なっている。
ステップS3031では、セキュリティ用符号生成部105は、ステップS302で取得した共有情報に対する誤り訂正符号を生成する。ここでは、取得した共有情報に基づき、所定のアルゴリズムを用いて、その共有情報の誤りを検知および訂正するための誤り訂正符号を生成する。たとえば、所定の多項式を用いることで、共有情報に対応するECC(Error CorrectingCode)を算出することにより、誤り訂正符号を生成することができる。このとき、送信メッセージが通過するネットワーク2の通信品質に基づいて、生成する誤り訂正符号の訂正範囲を設定してもよい。たとえば、送信メッセージがネットワーク2を通過する際に生じる平均的な通信エラーのビット数がnビットである場合、ステップS3031では、nビット以上の訂正能力を有する誤り訂正符号を生成することが好ましい。なお、誤り訂正符号の訂正範囲の設定は、たとえばECCの算出に用いる多項式を適切に選定することで実現できる。
ステップS3032では、セキュリティ用符号生成部105は、ステップS302で取得したヘッダ情報、データおよび共有情報に対する改ざん検知符号を生成する。ここでは、取得したヘッダ情報、データおよび共有情報に基づいて、これらの情報に対する改ざんの有無を検知するための改ざん検知符号を生成する。たとえば、所定のアルゴリズムを利用してMAC(Message Authentication Code)を算出することにより、改ざん検知符号を生成することができる。なお、MACの算出方法としては、たとえばハッシュ関数を用いるものや、ブロック暗号アルゴリズムを用いるものなどが知られている。また、共通鍵ブロック暗号アルゴリズムであるAESを用いてもよい。具体的には、MACの算出対象とするヘッダ情報、データおよび共有情報を含み、かつブロック長に合わせて付与されたパディング用データを加えたデータ列を入力メッセージとして所定の処理を行うと、128ビット等のブロック暗号が出力される。このブロック暗号をMACとして利用することができる。その他にも、任意の手法を利用して改ざん検知符号を生成することができる。なお、送信メッセージのヘッダ情報、データおよび共有情報のうち一部の情報に基づいて、改ざん検知符号を生成してもよい。
ステップS3041では、メッセージ生成部104は、ステップS302で取得したヘッダ情報、データおよび共有情報と、ステップS3031で生成した誤り訂正符号と、ステップS3032で生成した改ざん検知符号と、これらに対応するフッタ情報とに基づいて、送信メッセージを生成する。ステップS305では、この送信メッセージが通信部30に出力されて送信される。
図11は、ステップS3041で生成される送信メッセージのデータ構造の例を示す図である。送信メッセージは、ヘッダ情報421、データ422、共有情報423、誤り訂正符号424、改ざん検知符号425およびフッタ情報426から成る。なお、ヘッダ情報421、データ422、共有情報423、フッタ情報426については、第1の実施形態で説明した図7の送信メッセージにおけるヘッダ情報411、データ412、共有情報413とそれぞれ同様のものである。
図12は、本発明の第2の実施形態によるメッセージ種別判断処理のフローチャートである。
ステップS6001、S6002では、処理判断制御部109は、図9のステップS5001、S5002とそれぞれ同様の処理を行う。
ステップS6003では、処理判断制御部109は、セキュリティ用符号生成部105を用いて、受信メッセージに含まれる共有情報に基づく誤り訂正符号を生成する。ここで、セキュリティ用符号生成部105は、図10のステップS3031と同様の処理を行うことにより、受信メッセージに含まれる共有情報に対するセキュリティ用符号としての誤り訂正符号を生成することができる。
ステップS6004では、処理判断制御部109は、セキュリティ用符号検証部111を用いて、受信メッセージに含まれる共有情報の正誤の検証を行う。ここで、セキュリティ用符号検証部111は、ステップS6003で生成された誤り訂正符号を誤り検知符号の代わりに用いて、図9のステップS5005と同様の処理を行う。その結果、受信メッセージに含まれる共有情報に誤りがなければ検証結果をOKとし、誤りがあれば検証結果をNGとする。
ステップS6005では、処理判断制御部109は、ステップS6004で行われた共有情報の正誤の検証結果がOKまたはNGのいずれであったかを判定する。検証結果がOKであった場合はステップS6010に進み、NGであった場合はステップS6006に進む。
ステップS6006では、処理判断制御部109は、セキュリティ用符号検証部111を用いて、受信メッセージに含まれる共有情報を訂正する。ここで、セキュリティ用符号検証部111は、ステップS6003で生成された誤り訂正符号を用いて、所定のアルゴリズムに従った計算を行うことにより、受信メッセージに含まれる共有情報を訂正する。これにより、たとえば、誤り訂正符号であるECCのハミング距離が一定以内である場合に、受信メッセージの共有情報に含まれる誤りを訂正することができる。ただし、受信メッセージに含まれる共有情報に誤りが多い場合は、誤り訂正符号を用いても共有情報を完全には訂正できないため、誤りが残ってしまうことがある。
ステップS6007では、処理判断制御部109は、共有情報検証部110を用いて、受信メッセージに含まれる共有情報の正当性の再検証を行う。ここで、共有情報検証部110は、暗号情報記憶部206から取得した共有情報と、ステップS6006で誤り訂正された共有情報とを比較して、ステップS6001と同様に、これらが一致するか否かを判定する。その結果、取得した共有情報と誤り訂正後の共有情報とが一致していれば、受信メッセージに含まれる共有情報が正当なものと判断して、再検証結果をOKとする。一方、これらが一致していなければ、受信メッセージに含まれる共有情報が不正なものと判断して、再検証結果をNGとする。
ステップS6008では、処理判断制御部109は、ステップS6007で行われた共有情報の正当性の再検証結果がOKまたはNGのいずれであったかを判定する。再検証結果がOKであった場合はステップS6011に進み、NGであった場合はステップS6009に進む。
ステップS6009では、処理判断制御部109は、受信メッセージを、事前に生成された偽メッセージが用いられた不正な攻撃による異常なメッセージか、または、誤り訂正不可能な共有情報のノイズによる異常なメッセージと判断する。この場合、受信メッセージの種別は特定されない。
ステップS6010では、処理判断制御部109は、図9のステップS5008と同様に、受信メッセージを不正なリプレイ攻撃によるものと判断する。これにより、受信メッセージの種別が「攻撃」であることが特定される。
ステップS6011では、処理判断制御部109は、セキュリティ用符号生成部105を用いて、受信メッセージに含まれるヘッダ情報、データおよび共有情報に基づく改ざん検知符号を生成する。ここで、セキュリティ用符号生成部105は、図10のステップS3032と同様の処理を行うことにより、受信メッセージに含まれるヘッダ情報、データおよび共有情報に対するセキュリティ用符号としての改ざん検知符号を生成することができる。
ステップS6012では、処理判断制御部109は、セキュリティ用符号検証部111を用いて、受信メッセージの正当性の検証を行う。ここで、セキュリティ用符号検証部111は、ステップS6011で生成された改ざん検知符号をセキュリティ用符号生成部105から取得する。そして、取得した改ざん検知符号と、受信メッセージに含まれるセキュリティ用符号としての改ざん検知符号とを比較して、これらが一致するか否かを判定する。その結果、両方の改ざん検知符号が一致していれば、受信メッセージが改ざんされていない正当なものと判断して、検証結果をOKとする。一方、改ざん検知符号が一致していなければ、受信メッセージが改ざんされた不正なものと判断して、検証結果をNGとする。
ステップS6013では、処理判断制御部109は、ステップS6012で行われた受信メッセージの正当性の検証結果がOKまたはNGのいずれであったかを判定する。検証結果がOKであった場合はステップS6014に進み、NGであった場合はステップS6015に進む。
ステップS6014では、処理判断制御部109は、図9のステップS5003と同様に、受信メッセージを正常なものとして判断する。これにより、受信メッセージの種別が「正常」であることが特定される。
ステップS6015では、処理判断制御部109は、受信メッセージを、ヘッダ情報、データ等がリアルタイムに改ざんされて生成された偽メッセージが用いられた不正な攻撃による異常なメッセージか、または、ヘッダ情報、データ等に対するノイズによる異常なメッセージと判断する。この場合も、ステップS6009と同様に、受信メッセージの種別は特定されない。
ステップS6009、S6010、S6014またはS6015のいずれかを実行したら、図12のメッセージ種別判断処理を終了し、図8のステップS505に進む。以上説明したメッセージ種別判断処理により、情報処理装置1は、受信メッセージがリプレイ攻撃、事前に用意された偽メッセージによる攻撃、またはリアルタイムに生成された偽メッセージによる攻撃なのかどうかを判別できる。
以上説明した本発明の第2の実施形態によれば、第1の実施形態で説明した(1)、(5)の作用効果に加えて、さらに以下の作用効果を奏する。
(6)ステップS6003では、セキュリティ用符号生成部105は、共有情報の誤りを検知および訂正するための誤り訂正符号をセキュリティ用符号として生成する。ステップS6004では、セキュリティ用符号検証部111は、受信メッセージに含まれる誤り訂正符号と、セキュリティ用符号生成部105により生成された誤り訂正符号とを比較し、その比較結果に基づいて、受信メッセージに含まれる共有情報の正誤を検証する。このようにしたので、共有情報の正誤を簡単に、かつ正確に検証することができる。
(7)セキュリティ用符号検証部111は、ステップS6004で受信メッセージに含まれる共有情報に誤りがあることを検知した場合に、その共有情報を誤り訂正符号に基づいて訂正する(ステップS6006)。共有情報検証部110は、セキュリティ用符号検証部111により訂正された共有情報と、共有情報生成部101により生成された共有情報とを比較し、その比較結果に基づいて、受信メッセージに含まれる共有情報の正当性を再検証する(ステップS6007)。このようにしたので、偶発的な通信ビット誤り等によって受信メッセージの共有情報の一部に誤りが生じた場合でも、その共有情報が正当であるか否かを確実に判断することができる。
(8)セキュリティ用符号生成部105は、誤り訂正符号に加えて、受信メッセージに含まれるデータおよび共有情報の改ざんを検知するための改ざん検知符号をセキュリティ用符号としてさらに生成する(ステップS6011)。セキュリティ用符号検証部111は、受信メッセージに含まれる改ざん検知符号と、セキュリティ用符号生成部105により生成された改ざん検知符号とを比較し、その比較結果に基づいて、受信メッセージの正当性をさらに検証する(ステップS6012)。このようにしたので、受信メッセージが不正な攻撃によるものか否かをさらに正しく判別することができる。
(9)処理判断制御部109は、ステップS6001で共有情報検証部110により受信メッセージに含まれる共有情報が正当であると判断され、かつステップS6012でセキュリティ用符号検証部111により受信メッセージが正当であると判断された場合には、ステップS6014において受信メッセージが正常であると判断する。一方、ステップS6001で共有情報検証部110により受信メッセージに含まれる共有情報が正当ではないと判断され、かつステップS6004でセキュリティ用符号検証部111により受信メッセージに含まれる共有情報に誤りがないと判断された場合には、ステップS6010において受信メッセージが不正なリプレイ攻撃によるものであると判断する。このようにしたので、受信メッセージが正常であるか、それとも不正なリプレイ攻撃によるものであるかを、確実に判断することができる。
(10)情報処理装置1は、処理判断制御部109により受信メッセージの正常性を判断するために用いられる処理判断カウンタ値を記憶する通信情報記憶部207をさらに備える。処理判断制御部109は、ステップS6001で共有情報検証部110により受信メッセージに含まれる共有情報が正当であると判断され、かつステップS6012でセキュリティ用符号検証部111により受信メッセージが正当ではないと判断されることで、ステップS6015の処理を実行した場合、または、ステップS6001で共有情報検証部110により受信メッセージに含まれる共有情報が正当ではないと判断され、かつステップS6004でセキュリティ用符号検証部111により受信メッセージに含まれる共有情報に誤りがあると判断されることで、ステップS6009の処理を実行した場合には、処理判断カウンタ値をインクリメントして更新する(ステップS510)。そして、処理判断カウンタ値と所定の閾値とを比較し(ステップS511)、その比較結果に基づいて、受信メッセージが不正な攻撃によるものであるか否かを判断する(ステップS509、S512)。このようにしたので、受信メッセージがリプレイ攻撃以外の不正な攻撃によるものである場合にも、これを判断することができる。
(11)セキュリティ用符号生成部105は、ネットワーク2の通信品質に基づいて、誤り訂正符号の訂正範囲を設定してもよい。このようにすれば、誤り訂正符号の訂正範囲を適切に設定することができる。
なお、以上説明した第2の実施形態において、誤り訂正符号や改ざん検知符号の代わりに誤り検知符号を用いてもよい。誤り訂正符号の代わりに誤り検知符号を用いる場合、図10のステップS3031では、セキュリティ用符号生成部105は、図6のステップS303と同様の処理を行う。また、図12のステップS6003でも同様にして、誤り検知符号を生成する。この場合、図12のステップS6006〜S6008の処理は実行されない。一方、改ざん検知符号の代わりに誤り検知符号を用いる場合、図10のステップS3032では、セキュリティ用符号生成部105は、ステップS302で取得したヘッダ情報、データおよび共有情報に基づいて、これらの情報に対する誤りの有無を検知するための誤り検知符号を生成する。また、図12のステップS6011でも同様にして、誤り検知符号を生成する。なお、この場合に生成される誤り検知符号は、少なくともデータを誤り検知の対象に含んでいればよい。このようにしても、上記と同様の作用効果を奏することができる。
また、以上説明した第2の実施形態において、情報処理装置1間で送受信されるメッセージに改ざん検知符号を付与しないこととしてもよい。この場合、図10のステップS3032の処理や、図12のステップS6011〜S6013およびS6015の処理は実施されない。このようにしても、上記と同様の作用効果を奏することができる。
−第3の実施形態−
以下では、本発明の第3の実施形態について説明する。第3の実施形態では、複数の情報処理装置1間でメッセージを分割して送信する例を説明する。たとえば、ネットワーク2としてCANを利用した場合に、メッセージを分割することで、CANの通信プロトコルに従ってメッセージの送受信が行われるようにする。なお、本実施形態に係る情報処理システムの構成や、情報処理装置1の構成については、第1および第2の実施形態と同様であるため、説明を省略する。また、CPU10が実行する処理は、第1の実施形態または第2の実施形態と共通であるため、説明を省略する。
本実施形態において、送信側の情報処理装置1のメッセージ生成部104は、図6または図10のステップS305において送信メッセージを通信部30に出力する際に、送信メッセージを複数に分割して出力することができる。これにより、元のメッセージ構造が分割された状態で、通信部30からネットワーク2を介して他の情報処理装置1にメッセージが送信されるようにする。
図13は、メッセージ生成部104が送信メッセージを4つのメッセージに分割した例を示す図である。図13の例では、ヘッダ情報801、データ802、共有情報803、誤り訂正符号804、改ざん検知符号805およびフッタ情報806から成る送信メッセージを4つに分割した場合の例を示している。なお、分割前の送信メッセージは、第2の実施形態で説明したような方法で生成することができる。
図13に示した分割後の送信メッセージにそれぞれ付されたヘッダ情報807、809、811および814と、フッタ情報808、810、813および816とは、CANの通信プロトコルに固有の情報である。一方、一つ目の分割メッセージにおけるデータ802と、二つ目の分割メッセージにおける共有情報803および804とは、分割前のものと同一である。また、三つ目の分割メッセージにおける改ざん検知符号812は、分割前の改ざん検知符号805の下位64ビット分に対応し、四つ目の分割メッセージにおける改ざん検知符号815は、分割前の改ざん検知符号805の上位64ビット分に対応する。なお、図13の例では、CANの通信プロトコルにおけるデータフィールドが64ビットであり、データ802のビット数および共有情報803と誤り訂正符号804の合計ビット数がそれぞれ64ビットである場合を示している。たとえば、このようにして送信メッセージを分割することができる。ただし、メッセージの分割方法はこれに限らない。たとえば、データフィールドの64ビットに対して余りがある場合は、0ビット値を用いたパディングを行ってもよい。
一方、受信側の情報処理装置1のメッセージ解析部108は、上記のようにして複数に分割されたメッセージを通信部30により受信したら、その複数の分割メッセージを元のメッセージ長になるまで蓄積する。分割メッセージが元のメッセージ長まで蓄積されたら、メッセージ解析部108は、各分割メッセージからヘッダ情報やフッタ情報を除去して順に並べることで、元の分割前のメッセージを再現する。その後、再現された分割前のメッセージを用いて、図8のメッセージ受信処理を行う。このとき、図8のステップS502では、メッセージ解析部108は、最初の分割メッセージを受信したときにのみ通信路カウンタ値を更新し、残りの分割メッセージを受信したときは更新しないことが好ましい。なお、受信側の情報処理装置1のメッセージ解析部108は、分割された各メッセージを対応付ける方法として、たとえば、データ802を含むメッセージのIDと、共有情報803と誤り訂正符号804と改ざん検知符号805を含むメッセージのIDを別系統にしておき、それぞれのIDの対応表を用いることで判断してもよい。ただし、メッセージの対応付け方法はこれに限らない。
以上説明した本発明の第3の実施形態によれば、情報処理装置1は、他の情報処理装置1がメッセージを複数に分割して送信した場合に、通信部30により受信された複数の分割メッセージを元のメッセージ長まで蓄積することにより、分割前のメッセージを再現する。このようにしたので、複数の情報処理装置の間で、ネットワークの通信プロトコルに従ってメッセージの送受信を行うことができる。
なお、以上説明した第3の実施形態において、送信側の情報処理装置1では、送信メッセージを分割して送信するか否かを任意に選択できるようにしてもよい。さらにこの場合、メッセージ生成部104は、分割しないで送信される場合と比べて、分割して送信される送信メッセージの共有情報やセキュリティ用符号の情報量が少なくなるように、送信メッセージを生成してもよい。その場合、送信メッセージを分割して送信する場合の各分割送信メッセージに含まれる共有情報とセキュリティ用符号をそれぞれ合計した情報量のいずれか少なくとも一つは、送信メッセージを分割しないで送信する場合の送信メッセージに含まれる共有情報の情報量またはセキュリティ用符号の情報量よりも少なくなる。このようにすれば、送信メッセージを分割して送信する場合でも、分割に伴う通信データ量の増加をなるべく抑えることができる。
具体的には、たとえば、送信メッセージを分割する場合としない場合とで、送信側の情報処理装置1において共有情報生成部101が共有情報を生成する際の設定条件や、セキュリティ用符号生成部105がセキュリティ用符号を生成する際の設定条件などを変化させる。これにより、メッセージ生成部104で生成される送信メッセージにおける共有情報やセキュリティ用符号の情報量を任意に調節して、上記のような状態とすることができる。
なお、以上説明した各実施形態や各種の変化例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されない。本発明は上述した実施形態や変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々の変更が可能である。
1 情報処理装置
2 ネットワーク
20 メモリ
30 通信部
40 バス
101 共有情報生成部
102 共有情報管理部
103 鍵管理部
104 メッセージ生成部
105 セキュリティ用符号生成部
108 メッセージ解析部
109 処理判断制御部
110 共有情報検証部
111 セキュリティ用符号検証部
206 暗号情報記憶部
207 通信情報記憶部

Claims (4)

  1. ネットワークを介して接続された他の情報処理装置から送信されたメッセージを受信する情報処理装置であって、
    前記他の情報処理装置と共有される共有情報を生成する共有情報生成部と、
    前記メッセージを受信する通信部と、
    前記メッセージに含まれる共有情報と、前記共有情報生成部により生成された共有情報とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正当性を検証する共有情報検証部と、
    前記共有情報に基づくセキュリティ用符号を生成するセキュリティ用符号生成部と、
    前記メッセージに含まれるセキュリティ用符号と、前記セキュリティ用符号生成部により生成されたセキュリティ用符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証するセキュリティ用符号検証部と、
    前記共有情報検証部による検証結果と、前記セキュリティ用符号検証部による検証結果とに基づいて、前記メッセージの正常性を判断する処理判断制御部と、を備え
    前記セキュリティ用符号生成部は、前記共有情報の誤りを検知するための誤り検知符号を前記セキュリティ用符号として生成し、
    前記セキュリティ用符号検証部は、前記メッセージに含まれる誤り検知符号と、前記セキュリティ用符号生成部により生成された誤り検知符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証し、
    前記処理判断制御部は、
    前記共有情報検証部により前記メッセージに含まれる共有情報が正当であると判断された場合には、前記メッセージが正常であると判断し、
    前記共有情報検証部により前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記セキュリティ用符号検証部により前記メッセージに含まれる共有情報に誤りがないと判断された場合には、前記メッセージが不正な攻撃によるものであると判断し、
    前記処理判断制御部により前記メッセージの正常性を判断するために用いられるカウンタ値を記憶する通信情報記憶部をさらに備え、
    前記処理判断制御部は、
    前記共有情報検証部により前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記セキュリティ用符号検証部により前記メッセージに含まれる共有情報に誤りがあると判断された場合には、前記カウンタ値を更新し、
    前記カウンタ値と所定の閾値とを比較し、その比較結果に基づいて、前記メッセージが不正な攻撃によるものであるか否かを判断する情報処理装置。
  2. ネットワークを介して接続された他の情報処理装置から送信されたメッセージを受信する情報処理装置であって、
    前記他の情報処理装置と共有される共有情報を生成する共有情報生成部と、
    前記メッセージを受信する通信部と、
    前記メッセージに含まれる共有情報と、前記共有情報生成部により生成された共有情報とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正当性を検証する共有情報検証部と、
    前記共有情報に基づくセキュリティ用符号を生成するセキュリティ用符号生成部と、
    前記メッセージに含まれるセキュリティ用符号と、前記セキュリティ用符号生成部により生成されたセキュリティ用符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証するセキュリティ用符号検証部と、
    前記共有情報検証部による検証結果と、前記セキュリティ用符号検証部による検証結果とに基づいて、前記メッセージの正常性を判断する処理判断制御部と、を備え、
    前記セキュリティ用符号生成部は、前記共有情報の誤りを検知するための誤り検知符号を前記セキュリティ用符号として生成し、
    前記セキュリティ用符号検証部は、前記メッセージに含まれる誤り検知符号と、前記セキュリティ用符号生成部により生成された誤り検知符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証し、
    前記セキュリティ用符号生成部は、前記誤り検知符号または前記誤り訂正符号に加えて、前記メッセージに含まれるデータおよび共有情報の改ざんを検知するための改ざん検知符号を前記セキュリティ用符号としてさらに生成し、
    前記セキュリティ用符号検証部は、前記メッセージに含まれる改ざん検知符号と、前記セキュリティ用符号生成部により生成された改ざん検知符号とを比較し、その比較結果に基づいて、前記メッセージの正当性をさらに検証し、
    前記処理判断制御部は、
    前記共有情報検証部により前記メッセージに含まれる共有情報が正当であると判断され、かつ前記セキュリティ用符号検証部により前記メッセージが正当であると判断された場合には、前記メッセージが正常であると判断し、
    前記共有情報検証部により前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記セキュリティ用符号検証部により前記メッセージに含まれる共有情報に誤りがないと判断された場合には、前記メッセージが不正な攻撃によるものであると判断し、
    前記処理判断制御部により前記メッセージの正常性を判断するために用いられるカウンタ値を記憶する通信情報記憶部をさらに備え、
    前記処理判断制御部は、
    前記共有情報検証部により前記メッセージに含まれる共有情報が正当であると判断され、かつ前記セキュリティ用符号検証部により前記メッセージが正当ではないと判断された場合、または、前記共有情報検証部により前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記セキュリティ用符号検証部により前記メッセージに含まれる共有情報に誤りがあると判断された場合には、前記カウンタ値を更新し、
    前記カウンタ値と所定の閾値とを比較し、その比較結果に基づいて、前記メッセージが不正な攻撃によるものであるか否かを判断する情報処理装置。
  3. ネットワークを介して接続された2つの情報処理装置間で送受信されるメッセージの認証方法であって、
    前記メッセージを受信する情報処理装置により、
    前記2つの情報処理装置間で共有される共有情報を生成する第1の処理ステップと、
    前記メッセージを受信する第2の処理ステップと、
    前記第2の処理ステップで受信したメッセージに含まれる共有情報と、前記第1の処理ステップで生成した共有情報とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正当性を検証する第3の処理ステップと、
    前記共有情報に基づくセキュリティ用符号を生成する第4の処理ステップと、
    前記第2の処理ステップで受信したメッセージに含まれるセキュリティ用符号と、前記第4の処理ステップで生成したセキュリティ用符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証する第5の処理ステップと、
    前記第3の処理ステップでの検証結果と、前記第5の処理ステップでの検証結果とに基づいて、前記メッセージの正常性を判断する第6の処理ステップと、
    前記第6の処理ステップにより前記メッセージの正常性を判断するために用いられるカウンタ値を記憶する第7の処理ステップとを実行し、
    前記第4の処理ステップには、前記共有情報の誤りを検知するための誤り検知符号を前記セキュリティ用符号として生成することを含み、
    前記第5の処理ステップは、前記メッセージに含まれる誤り検知符号と、前記第4の処理ステップにより生成された誤り検知符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証することを含み、
    前記第6の処理ステップには、
    前記第3の処理ステップにより前記メッセージに含まれる共有情報が正当であると判断された場合には、前記メッセージが正常であると判断することと、
    前記第3の処理ステップにより前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記第5の処理ステップにより前記メッセージに含まれる共有情報に誤りがないと判断された場合には、前記メッセージが不正な攻撃によるものであると判断することを含み、
    前記第6の処理ステップには、
    前記第3の処理ステップにより前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記第5の処理ステップにより前記メッセージに含まれる共有情報に誤りがあると判断された場合には、前記カウンタ値を更新することと、
    前記カウンタ値と所定の閾値とを比較し、その比較結果に基づいて、前記メッセージが不正な攻撃によるものであるか否かを判断することとを含むメッセージ認証方法。
  4. ネットワークを介して接続された2つの情報処理装置間で送受信されるメッセージの認証方法であって、
    前記メッセージを受信する情報処理装置により、
    前記2つの情報処理装置間で共有される共有情報を生成する第1の処理ステップと、
    前記メッセージを受信する第2の処理ステップと、
    前記第2の処理ステップで受信したメッセージに含まれる共有情報と、前記第1の処理ステップで生成した共有情報とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正当性を検証する第3の処理ステップと、
    前記共有情報に基づくセキュリティ用符号を生成する第4の処理ステップと、
    前記第2の処理ステップで受信したメッセージに含まれるセキュリティ用符号と、前記第4の処理ステップで生成したセキュリティ用符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証する第5の処理ステップと、
    前記第3の処理ステップでの検証結果と、前記第5の処理ステップでの検証結果とに基づいて、前記メッセージの正常性を判断する第6の処理ステップと、
    前記第6の処理ステップにより前記メッセージの正常性を判断するために用いられるカウンタ値を記憶する第7の処理ステップとを実行し、
    前記第4の処理ステップには、前記共有情報の誤りを検知するための誤り検知符号を前記セキュリティ用符号として生成することを含み、
    前記第5の処理ステップには、前記メッセージに含まれる誤り検知符号と、前記第4の処理ステップにより生成された誤り検知符号とを比較し、その比較結果に基づいて、前記メッセージに含まれる共有情報の正誤を検証することを含み、
    前記第4の処理ステップには、前記誤り検知符号または前記誤り訂正符号に加えて、前記メッセージに含まれるデータおよび共有情報の改ざんを検知するための改ざん検知符号を前記セキュリティ用符号としてさらに生成することを含み、
    前記第5の処理ステップには、前記メッセージに含まれる改ざん検知符号と、前記第4の処理ステップにより生成された改ざん検知符号とを比較し、その比較結果に基づいて、前記メッセージの正当性をさらに検証することを含み、
    前記第6の処理ステップには、
    前記第3の処理ステップにより前記メッセージに含まれる共有情報が正当であると判断され、かつ前記第5の処理ステップにより前記メッセージが正当であると判断された場合には、前記メッセージが正常であると判断することと、
    前記第3の処理ステップにより前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記第5の処理ステップにより前記メッセージに含まれる共有情報に誤りがないと判断された場合には、前記メッセージが不正な攻撃によるものであると判断することを含み、
    前記第6の処理ステップにはさらに、
    前記第3の処理ステップにより前記メッセージに含まれる共有情報が正当であると判断され、かつ前記第5の処理ステップにより前記メッセージが正当ではないと判断された場合、または、前記第3の処理ステップにより前記メッセージに含まれる共有情報が正当ではないと判断され、かつ前記第5の処理ステップにより前記メッセージに含まれる共有情報に誤りがあると判断された場合には、前記カウンタ値を更新することと、
    前記カウンタ値と所定の閾値とを比較し、その比較結果に基づいて、前記メッセージが不正な攻撃によるものであるか否かを判断することを含むメッセージ認証方法。
JP2014230715A 2014-11-13 2014-11-13 情報処理装置、メッセージ認証方法 Active JP6218184B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014230715A JP6218184B2 (ja) 2014-11-13 2014-11-13 情報処理装置、メッセージ認証方法
EP15858297.3A EP3220576B1 (en) 2014-11-13 2015-11-11 Information processing device and message authentication method
PCT/JP2015/081740 WO2016076358A1 (ja) 2014-11-13 2015-11-11 情報処理装置、メッセージ認証方法
CN201580056690.5A CN107005412B (zh) 2014-11-13 2015-11-11 信息处理装置、消息认证方法
US15/525,978 US10425231B2 (en) 2014-11-13 2015-11-11 Information processing apparatus and method for authenticating message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014230715A JP6218184B2 (ja) 2014-11-13 2014-11-13 情報処理装置、メッセージ認証方法

Publications (2)

Publication Number Publication Date
JP2016096419A JP2016096419A (ja) 2016-05-26
JP6218184B2 true JP6218184B2 (ja) 2017-10-25

Family

ID=55954437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014230715A Active JP6218184B2 (ja) 2014-11-13 2014-11-13 情報処理装置、メッセージ認証方法

Country Status (5)

Country Link
US (1) US10425231B2 (ja)
EP (1) EP3220576B1 (ja)
JP (1) JP6218184B2 (ja)
CN (1) CN107005412B (ja)
WO (1) WO2016076358A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6846991B2 (ja) * 2016-07-05 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法
JP6693368B2 (ja) * 2016-09-21 2020-05-13 株式会社オートネットワーク技術研究所 通信システム、中継装置及び通信方法
JP6723955B2 (ja) * 2017-05-12 2020-07-15 日立オートモティブシステムズ株式会社 情報処理装置及び異常対処方法
JP6761793B2 (ja) * 2017-10-13 2020-09-30 日立オートモティブシステムズ株式会社 車両用制御装置
US10581609B2 (en) * 2017-10-23 2020-03-03 Nxp B.V. Log message authentication with replay protection
CN108833074B (zh) * 2018-04-28 2021-02-26 西安电子科技大学 基于同态加密的车辆自组织网络的认证系统及方法
JP7016783B2 (ja) * 2018-10-17 2022-02-07 日立Astemo株式会社 情報処理装置、管理装置
US20230261898A1 (en) * 2020-10-19 2023-08-17 Nissan Motor Co., Ltd. Relay device, communication network system, and communication control method
CN112383555B (zh) * 2020-11-17 2022-06-03 宏图智能物流股份有限公司 一种物流网络中的网络请求有效性验证方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4447668B2 (ja) * 1997-03-26 2010-04-07 ソニー株式会社 データ送受信方法及び装置
JP4459660B2 (ja) * 2004-03-04 2010-04-28 三菱電機株式会社 誤り訂正装置および誤り訂正方法
JP5301034B2 (ja) * 2010-05-19 2013-09-25 三洋電機株式会社 車載器
JP2013048374A (ja) * 2011-08-29 2013-03-07 Toyota Motor Corp 保護通信方法
JP5770602B2 (ja) 2011-10-31 2015-08-26 トヨタ自動車株式会社 通信システムにおけるメッセージ認証方法および通信システム
US8983069B2 (en) 2013-03-14 2015-03-17 Robert Bosch Gmbh System and method for counter mode encrypted communication with reduced bandwidth
CN104077690B (zh) * 2014-06-24 2020-08-28 北京安讯奔科技有限责任公司 一次性密码生成的方法、装置及认证方法、认证系统

Also Published As

Publication number Publication date
EP3220576A4 (en) 2018-05-30
WO2016076358A1 (ja) 2016-05-19
US20170324557A1 (en) 2017-11-09
EP3220576B1 (en) 2019-03-06
EP3220576A1 (en) 2017-09-20
CN107005412B (zh) 2020-04-07
CN107005412A (zh) 2017-08-01
JP2016096419A (ja) 2016-05-26
US10425231B2 (en) 2019-09-24

Similar Documents

Publication Publication Date Title
JP6218184B2 (ja) 情報処理装置、メッセージ認証方法
CN110493197B (zh) 一种登录处理方法及相关设备
US9252945B2 (en) Method for recognizing a manipulation of a sensor and/or sensor data of the sensor
US8520839B2 (en) Data transmitter with a secure and efficient signature
US11245535B2 (en) Hash-chain based sender identification scheme
CN106257863A (zh) 用于防止待经由总线系统传输的有效数据包被操纵的方法
JP2017123639A (ja) 不正検知方法、監視電子制御ユニット及び車載ネットワークシステム
WO2017119027A1 (ja) 不正検知方法、監視電子制御ユニット及び車載ネットワークシステム
US10461938B2 (en) Method for manipulation protection
KR20160104565A (ko) 통신 시스템 및 통신 장치
US20190123908A1 (en) Arithmetic Device, Authentication System, and Authentication Method
JP2014138380A (ja) 車両不正状態検出方法、車載システムにおける制御方法、およびシステム
US20150350241A1 (en) Data frame for protected data transmissions
US10726161B2 (en) Information processing device and malicious message detection method
US10122755B2 (en) Method and apparatus for detecting that an attacker has sent one or more messages to a receiver node
US10862675B2 (en) Method for exchanging messages between security-relevant devices
KR101492514B1 (ko) 보안 콘텐츠 보호 시스템을 사용하는 방법, 장치 및 시스템
EP1615370A1 (en) Authentication of short messages
KR102462736B1 (ko) 센서의 측정값들에 서명하기 위한 방법, 장치 및 명령어들을 포함하는 컴퓨터 판독 가능 저장 매체
US10200348B2 (en) Method to detect an OTA (over the air) standard message affected by an error
KR20150109202A (ko) 차량용 통신 데이터 인증 방법 및 시스템
WO2014156328A1 (ja) 車載通信システム及び通信装置
EP3087714B1 (en) A method and apparatus for detecting that an attacker has sent one or more messages to a receiver node
CN113395253A (zh) 用于在网络中传输数据的方法和设备

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170815

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

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170927

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170920

R150 Certificate of patent or registration of utility model

Ref document number: 6218184

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350