JP6488702B2 - 通信制御装置、通信制御方法、および、通信制御プログラム - Google Patents

通信制御装置、通信制御方法、および、通信制御プログラム Download PDF

Info

Publication number
JP6488702B2
JP6488702B2 JP2014266836A JP2014266836A JP6488702B2 JP 6488702 B2 JP6488702 B2 JP 6488702B2 JP 2014266836 A JP2014266836 A JP 2014266836A JP 2014266836 A JP2014266836 A JP 2014266836A JP 6488702 B2 JP6488702 B2 JP 6488702B2
Authority
JP
Japan
Prior art keywords
data
node
authentication code
identification information
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014266836A
Other languages
English (en)
Other versions
JP2016127426A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014266836A priority Critical patent/JP6488702B2/ja
Priority to EP15191850.5A priority patent/EP3038318B1/en
Priority to US14/926,108 priority patent/US20160191408A1/en
Publication of JP2016127426A publication Critical patent/JP2016127426A/ja
Application granted granted Critical
Publication of JP6488702B2 publication Critical patent/JP6488702B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

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

Description

本発明は、通信装置間の通信の制御に関する。
自動車の車載ネットワークやファクトリーオートメーションなどに使用される装置間で、データや制御情報を送受信するために、CAN(Controller Area Network)と呼ばれるネットワーク技術が使用されることがある。CANが用いられるシステムは、複数のECU(electronic control unit)を含む。ECU同士はフレームを送受信することにより通信を行う。CANでは、通信に使用されるフレームには、フレームの識別に使用される識別情報(ID)が含まれている。また、各ECUは、受信するフレームのIDを予め記憶している。フレームはブロードキャストされ、各ECUは、ECUが受信するように設定されたIDを含むフレームを受信するが、受信対象に設定されていないIDを含むフレームは破棄する。
フレームで使用されるIDとECUの対応関係は一部を除き標準化されてはおらず、どのECUがどのIDを受信するように設定されているかは公開されない。しかし、攻撃者は、CANで送受信されているフレームの傍受と、CANを用いたシステムで行われた処理の観察を行うことにより、送信されたフレームとシステムで行われる処理を関連づけることができる。攻撃者は、関連付けで得られた結果と過去に送信されたフレームを記憶しておき、CANを用いたシステムに対して引き起こしたい挙動に対応付けられたフレームを、ネットワークに送信することができる。すると、自動車やオートメーションファクトリーでは、本来は行わない処理を、攻撃者から送信されたフレームに起因して行ってしまうことになる。以下の説明では、このような攻撃を「リプレイ攻撃」または「再送攻撃」と記載することがある。
リプレイ攻撃を防ぐために、データ、ID、IDに対応するカウンタ値から生成したメッセージ認証コード(Message Authentication Code、MAC)を用いる検証方法が提案されている。ここで、カウンタ値は、各ECUにおいてフレームのIDごとにメッセージが送信された回数をカウントすることにより得られる値である。送信元の装置は、送信対象のデータを含むメインメッセージと、メインメッセージを用いて生成したMACを通知するMACメッセージを宛先の装置に送信する。メインメッセージとMACメッセージを受信した装置は、メインメッセージからMACを生成し、MACメッセージ中のMACと一致するかを判定することにより、メインメッセージが正当なものであるかを判定する(例えば、特許文献1)。
特開2013−98719号公報
CANシステム中の各装置がデータを含むフレームを受信するたびにMACの検証を行う場合、システム中の全ての装置がカウンタ値の生成、MACの計算、フレームから計算したMACと通知されたMACの比較処理を行うことになる。このため、受信側の装置の負荷が高くなってしまう。
本発明は、フレームを受信する装置の負荷を抑えてリプレイ攻撃を検出することを目的とする。
ある1つの態様にかかる通信制御装置は、受信部と制御部を備える。受信部は、第1の識別情報または第2の識別情報を含むデータを第1のノードから受信する。制御部は、前記第1の識別情報を含む第1のデータを前記受信部が受信すると、前記第1のデータを用いて第1の認証符号を生成する。前記受信部は、前記第1のノードから、前記第2の識別情報及び前記第1のノードが前記第1のデータを用いて生成した第2の認証符号を含む第2のデータを受信する。前記制御部は、前記第1の認証符号と前記第2の認証符号との比較の結果に基づいて、第2のノードに前記第1の識別情報を用いて通知されたデータの処理を中断させるかを決定する。
フレームを受信する装置の負荷を抑えてリプレイ攻撃を検出できる。
実施形態にかかる制御方法の例を説明するシーケンス図である。 通信制御装置の構成の例を示す図である。 MACテーブルの例を示す図である。 送信ノードの構成の例を示す図である。 ハードウェア構成の例を示す図である。 送受信されるフレームのフォーマットの例を示す図である。 第1の実施形態が適用されるネットワークの例を説明する図である。 カウンタ値の初期値の設定方法の例を示すシーケンス図である。 MACの生成方法の例を説明する図である。 第1の実施形態での制御方法の例を説明するシーケンス図である。 第1の実施形態での通信制御装置の処理の例を説明するフローチャートである。 ネットワークの例を説明する図である。 第2の実施形態が適用されるネットワークの例とフレームの例を説明する図である。 第2の実施形態での制御方法の例を説明するシーケンス図である。 第2の実施形態での制御方法の例を説明するシーケンス図である。 第2の実施形態での通信制御装置の処理の例を説明するフローチャートである。 認証符号の生成方法の例を説明する図である。 認証符号テーブルの例を示す図である。 第3の実施形態での制御方法の例を説明するシーケンス図である。 第3の実施形態での通信制御装置の処理の例を説明するフローチャートである。
図1は、実施形態にかかる制御方法の例を説明するシーケンス図である。図1は、CANネットワーク中に、通信制御装置10、送信ノード40、受信ノード60が1台ずつ設置されている場合に行われる処理の例を示すがシステム中の送信ノード40と受信ノード60の数は任意である。以下の説明では、システムでの処理に使用されるデータを含むフレーム(データフレーム)を送信する装置を「送信ノード」と記載する。一方、データフレームを受信するとともに、データフレーム中のデータに基づいた処理により、システムを稼働させるための処理を行うが、リプレイ攻撃を検出するための処理を行わない装置を受信ノード60と記載する。
送信ノード40は、受信ノード60宛のデータを送信する際には第1のIDを使用し、通信制御装置10との通信には、受信ノード60で受信されない第2のIDを用いる。通信制御装置10は、第1のIDと第2のIDの両方を受信の対象とする。図1の例は、第1のIDはID=123であり、第2のIDはID=777である。
ステップS1において、送信ノード40は、受信ノード60に通知するデータAを含むデータフレームを生成する。データフレームは、第1のID(ID=123)で識別されるものとする。
ステップS2において送信ノード40は、ステップS1で生成したデータフレームを送信する。データフレームはブロードキャストされるので、受信ノード60と通信制御装置10の両方に到達する。受信ノード60はID=123を受信対象としているため、データフレームを受信し、データAを取得する。通信制御装置10もID=123を受信対象としているため、データフレームを受信し、データAを取得する。
ステップS3において、通信制御装置10は、データAからMACを計算する。図1では、通信制御装置10でのMACの計算結果をMAC1とする。MACの計算方法は、通信制御装置10と送信ノード40で共通した方法であればよく、任意の方法が使用されうる。
ステップS4に示すように、送信ノード40でも、送信したデータAを用いて、MACを計算する。図1では、送信ノード40でのMACの計算結果をMAC2とする。
ステップS5において、送信ノード40は、第2のID(ID=777)を用いて、MACの計算結果を含むデータ(データB)をブロードキャストする。第2のIDは受信ノード60では受信対象に設定されていないので、受信ノード60は、データBを含むフレームを受信せずに破棄する。一方、通信制御装置10は、第2のIDを受信する対象に設定しているため、データBを含むフレームを受信する。
ステップS6において、通信制御装置10は、データBから送信ノード40において計算されたMAC2を抽出する。通信制御装置10は、ステップS3で計算したMAC1とMAC2を比較する。MAC1とMAC2が一致する場合、通信制御装置10は、リプレイ攻撃が発生していないと判定して処理を終了する(ステップS6でYes)。
一方、MAC1とMAC2が一致しない場合、通信制御装置10は、リプレイ攻撃が発生していると判定する(ステップS6でNo、ステップS7)。そこで、通信制御装置10は、受信ノード60に対し、ID=123を用いたフレームの処理の中断を要求する(ステップS8)。
このように、図1を用いて説明した制御方法では、送信ノード40で計算されたMACの値を含むフレームは、受信ノード60で受信されない。従って、受信ノード60では、MACの受信や、受信データからMACを生成する処理などを行わなくて済むため、リプレイ攻撃の検出を行うかによって受信ノード60の負荷は変化しない。一方、通信制御装置10では、受信ノード60が受信したデータを用いて計算したMACと、送信ノード40からリプレイ攻撃の有無を検証するために通知されたMACの比較を行うことによって、リプレイ攻撃の検出を行うことができる。
さらに、図1のように、MACの生成やリプレイ攻撃の検出を通信制御装置10が行うシステムでは、MACの生成などを行うことができない受信ノード60を使用することができるという利点もある。現在普及しているシステムに含まれる装置には、MACの生成やリプレイ攻撃の検出を行うための処理回路などが搭載されていない。実施形態にかかる方法を用いると、個々の受信ノード60の代わりに通信制御装置10がリプレイ攻撃を検出できるため、データを受信する装置がMACの比較処理などを行わなくても、リプレイ攻撃を防ぐことができる。
<装置構成の例とフレームのフォーマットの例>
図2は、通信制御装置10の構成の例を示す図である。通信制御装置10は、送受信部11、カウンタ14、制御部20、記憶部30を備える。送受信部11は、送信部12と受信部13を有する。制御部20は、MAC生成部21と比較部22と有する。記憶部30はMACテーブル31を記憶する。
送信部12は、CANネットワーク中の他の装置に、適宜、フレームを送信する。受信部13は、CANネットワーク中の他の装置から送信されたフレームのうち、通信制御装置10において受信するように設定されたIDを含むフレームを受信する。受信部13は、受信したデータフレームをMAC生成部21に出力する。一方、受信部13は、送信ノード40で生成されたMACの通知に使用されているフレーム(通知フレーム)を、比較部22に出力する。カウンタ14は、MACの生成に使用されるカウンタ値を生成する。カウンタ値は、適宜、記憶部30に記憶される。
MAC生成部21は、受信部13から入力されたフレーム中のデータと、カウンタ値を用いて、MACを生成する。MACの生成方法については後述する。MAC生成部21は、生成したMACを、フレーム中のIDに対応付けてMACテーブル31に格納する。比較部22は、受信部13から入力されたフレーム中のMACとMACテーブル31に格納されているMACを比較することにより、リプレイ攻撃が行われているかを判定する。比較部22は、比較対象となっている2つのMACが一致しないと、リプレイ攻撃が発生したと判定する。
図3は、MACテーブル31の例を示す図である。MACテーブル31は、MAC生成部21で生成されたMACと、MACの生成に使用したデータの送受信に使用されたフレーム中のIDを対応付けて記憶する任意の形式である。図3の例では、フレームのID、MACの計算値、および、カウンタ値が対応付けて記録されている。カウンタ値は、MACの生成の際に使用される値であり、カウンタ14により適宜更新される。なお、MACテーブル31の形式は実装に応じて変更されうる。例えば、システム中でデータフレームの送受信には1つのIDしか使用されない場合は、MACテーブル31には、IDが含まれていなくてもよい。
図4は、送信ノード40の構成の例を示す図である。送信ノード40は、送受信部41、カウンタ44、記憶部45、フレーム処理部50を備える。送受信部41は、送信部42と受信部43を有する。フレーム処理部50は、MAC生成部51、データフレーム生成部52、通知フレーム生成部53を有する。
送信部42は、データフレーム生成部52や通知フレーム生成部53から入力されたフレームを、CANネットワーク中の他の装置に送信する。受信部43は、CANネットワーク中の他の装置から、適宜、フレームを受信する。カウンタ44は、MACの生成に使用されるカウンタ値を生成する。カウンタ値は、適宜、記憶部45に記憶される。
データフレーム生成部52は、受信ノード60に通知するデータを含むデータフレームを生成する。MAC生成部51は、データフレーム中のデータを用いてMACを計算する。通知フレーム生成部53は、MAC生成部51が計算したMACを通知するための通知フレームを生成する。なお、通知フレームでは、受信ノード60が受信しないIDが設定される。
図5は、ハードウェア構成の例を示す図である。通信制御装置10と送信ノード40のいずれも、図5に示すハードウェアによって実現されうる。図5の例では、通信制御装置10と送信ノード40のいずれも、ECU100として実現されている。ECU100は、CANトランシーバ101、CANコントローラ102、処理回路103を含む。処理回路103は、プロセッサ104とメモリ105を備える。
CANトランシーバ101は、適宜、バス電圧の調整など、ECU100がCANネットワーク中の他の装置と通信するための処理を行う。CANコントローラ102は、受信したフレームに対するCRC(Cyclic Redundancy Check)チェックやビットスタッフィングなどの処理を行うことにより、データを抽出する。CANコントローラ102は、データをプロセッサ104に出力する。プロセッサ104は、任意の処理回路である。プロセッサは、メモリ105に格納されたプログラムを読み込んで、処理を行う。
通信制御装置10では、CANトランシーバ101とCANコントローラ102により、送受信部11が実現される。プロセッサ104は、カウンタ14および制御部20として動作する。メモリ105は記憶部30として動作する。
送信ノード40では、CANトランシーバ101とCANコントローラ102は、送受信部41を実現する。プロセッサ104は、カウンタ44およびフレーム処理部50として動作する。メモリ105は記憶部45として動作する。
図6は、送受信されるフレームのフォーマットの例を示す図である。図6のF11は、一般仕様のフレームのフォーマット例であり、F12は拡張仕様で使用されるフレームのフォーマット例である。
一般仕様のフレームは、SOF(Start of Frame)、調停(arbitration)フィールド、コントロールフィールド、データフィールド、CRCフィールド、ACKフィールド、EOF(End of Frame)を含む。調停フィールドには、IDとRTR(Remote Transmission Request)が含まれる。ここで、IDは、フレームの識別に使用される識別情報である。コントロールフィールドには、IDE(Identifier Extension)、予約ビット、DLC(Data Length Code)が含まれる。CRCフィールドは、CRCシーケンスとCRCデリミタを含む。ACKフィールドは、ACKスロットとACKデリミタを含む。なお、各フィールドに含まれる情報要素のビット長は、F11の一番下の行に記載したとおりである。例えば、IDの長さは11ビットであり、データフィールドの長さは0〜64ビットの可変長である。
拡張仕様で使用されるフレーム(F12)も、SOF、調停フィールド、コントロールフィールド、データフィールド、CRCフィールド、ACKフィールド、EOFを含む。拡張仕様の調停フィールドは、IDベース、SRR(Substitute Remote Request Bit)、IDE、ID拡張、RTRを含む。拡張仕様では、IDベースとして格納されたビット列の次に、ID拡張として格納されたビット列をつなげて得られるビット列により、フレームの識別情報(ID)を表わす。コントロールフィールドからEOFまでは、拡張仕様のフォーマットでも、一般仕様のフォーマットと同様である。また、各フィールドに含まれる情報要素のビット長は、F12の一番下の行に記載したとおりである。このため、拡張フォーマットでは、送信元の識別情報として、IDベースの11ビットとID拡張の18ビットを合わせた29ビットのビット列が使用される。以下、図6のF11に示すフォーマットを用いたフレームが送受信される場合を例として、各実施形態で行われる処理の例を説明する。なお、通信に使用されるフレームが拡張仕様の場合でも、同様に処理が行われる。
<第1の実施形態>
図7は、第1の実施形態が適用されるネットワークN1の例を説明する図である。ネットワークN1では、理解しやすくするために、通信制御装置10、送信ノード40、受信ノード60が1台ずつの場合の例を示すが、システム中の送信ノード40と受信ノード60の数は任意である。ただし、第1の実施形態では、データフレームの送受信に使用されるIDは1つであるものとする。第1の実施形態では、ID=123がデータフレームの送受信に使用される場合を例とする。
通信制御装置10、受信ノード60、送信ノード40は、いずれもバス71で接続されており、いずれかの装置から送信されたフレームは、ブロードキャストされる。各装置は、その装置において、受信対象に設定されたIDを含むフレームを受信し、他のフレームは破棄する。通信制御装置10と受信ノード60の間は、通信制御装置10が受信ノード60にリプレイ攻撃を検出したことを通知する信号を送るための結線72で接続されている。
通信の開始前に、送信ノード40と通信制御装置10は、共通鍵を保持しているものとする。ここで、通信制御装置10と送信ノード40が共通鍵を取得する方法は、既知の任意の方法のいずれかである。送信ノード40と通信制御装置10は、MACの生成の際に使用するカウンタ値が共通の値になるように、カウンタ値の初期値を設定する。ここで、カウンタ値は、MACの生成の際に使用されるが、フレームごとに異なる値が使用される。また、カウンタ値自体はいずれの装置の間でも送受信されない。
図8は、カウンタ値の初期値の設定方法の例を示すシーケンス図である。通信制御装置10は、リプレイ攻撃の検出に使用するMACを計算するために使用するカウンタ値の初期値を設定するための乱数を生成する(ステップS11)。次に、通信制御装置10は、送信ノード40で受信されるが、受信ノード60で受信されないIDを用いて、生成した乱数をブロードキャストする。なお、この通信は暗号化されていてもよい。以下の例では、送信ノード40はID=777を受信し、さらに、ID=777をMACの通知にも使用するものとする。また、受信ノード60は、ID=777のフレームを受信しないものとする。そこで、通信制御装置10は、ID=777を含むフレーム中のデータフィールドに生成した乱数を含めて、ブロードキャストする(ステップS12)。
さらに、ステップS13において、通信制御装置10は、乱数を共通鍵で暗号化することにより、カウンタ14の初期値を生成する。通信制御装置10は、ステップS13で得られた初期値を、送信ノード40が受信ノード60との通信に使用するIDに対応付けて記憶する(ステップS14)。
一方、送信ノード40は、ステップS12で通信制御装置10から送信されたフレーム(ID=777)を受信し、受信フレームのデータフィールドから乱数を取得する。さらに、送信ノード40は、取得した乱数を共通鍵で暗号化することにより、カウンタ44の初期値を生成する(ステップS15)。送信ノード40は、ステップS15で得られた初期値を、カウンタ44の初期値としてセットする(ステップS16)。
図9は、MACの生成方法の例を説明する図である。MACの生成方法は、通信制御装置10と送信ノード40で共通しているので、第1の実施形態での処理の例を時系列に説明する前に説明する。MACの生成方法として、HMAC−SHA1(Hash-based Message Authentication Code - Secure Hash Algorithm 1)、HMAC−SHA256などのハッシュ関数を使う方式や、ブロック暗号アルゴリズムを使う方式が使用されうる。以下の説明では、図9を参照しながらブロック暗号アルゴリズムを用いる場合の例を説明するが、MACの生成方法は、通信制御装置10と送信ノード40で共通していれば、任意の方法でよい。
MACの生成には、MACを計算する対象のフレームのデータフィールド中のデータ、カウンタ値、MACを計算する対象のフレームのID(CAN ID)を結合した文字列が使用される。ここで、カウンタ値は、MACの計算の度に異なる値が用いられるようにカウンタ14やカウンタ44で処理された値である。図9の例では、データ、カウンタ値、CAN IDの順に連続させた文字列を生成しているが、実装に応じて、結合される要素の順序が入れ替えられても良い。次に、MACを生成する装置は、データ、カウンタ値、CAN IDから得られた文字列を、共通鍵を用いて、暗号化することにより、暗号文を生成する。MACを生成する装置は、暗号文から予め決められた方法で64ビットを選択し、得られた値をMACとする。なお、64ビットの選択方法は、通信制御装置10と送信ノード40で共通していれば、任意である。例えば、MAC生成部21やMAC生成部51は、生成した暗号文の先頭の64ビットをMACとしてもよいし、暗号文の末尾の64ビットをMACにしても良い。
図10は、第1の実施形態での制御方法の例を説明するシーケンス図である。なお、図10は一例であり、例えば、ステップS21とS22の順序を入れ替えるなどの変更が行われても良い。
送信ノード40中のMAC生成部51は、受信ノード60にデータフレームが送信される際のカウンタ値(カウンタ44の値)を取得する(ステップS21)。データフレーム生成部52は、受信ノード60に通知するデータをデータフィールドに含め、ID=123のデータフレームを生成する(ステップS22)。データフレーム生成部52は、生成したデータフレームを送信部42に出力する。送信部42は、データフレームをブロードキャストする(ステップS23)。データフレームには、受信ノード60と通信制御装置10のいずれでも受信されるID=123が使用されているため、データフレームは、受信ノード60と通信制御装置10のいずれでも受信される。
通信制御装置10の受信部13は、受信したフレームのIDがデータフレームの送受信用の値(ID=123)に設定されているため、受信したフレームをMAC生成部21に出力する。MAC生成部21は、入力されたフレーム中のデータフィールドの値とMACテーブル31中のカウンタ値を用いて、MAC(MAC1)を計算する(ステップS24)。MACの計算方法は、図9を参照しながら説明したとおりである。MAC生成部21は、MAC1を、受信フレームのID(ID=123)に対応付けて、MACテーブル31に記録する。その後、カウンタ14は、次回のMACの計算に備えて、カウンタ値をインクリメントする(ステップS25)。
一方、データフレームの送信後に、送信ノード40中のMAC生成部51は、送信したフレーム中のデータフィールドの値、カウンタ値、送信フレーム中のIDを用いて、MAC(MAC2)を計算する(ステップS26)。MAC生成部51で行われるMACの計算も図9を参照しながら説明したとおりである。その後、カウンタ44は、次回のMACの計算に備えて、カウンタ値をインクリメントする(ステップS27)。
MAC生成部51は、生成したMACを通知フレーム生成部53に出力する。通知フレーム生成部53は、入力されたMACを通知するための通知フレームを生成する。このとき、通知フレームには、通信制御装置10での受信対象であるが受信ノード60の受信対象とならないIDが設定される。図10の例では、ID=777が、通知フレームに設定されるものとする。また、通知フレームのデータフィールドには、MAC生成部51で得られたMAC2が含められる。すなわち、送信ノード40で計算されたMAC2は、通信制御装置10において、リプレイ攻撃の発生の有無を検証するために使用される値である。MAC生成部51は、送信部42を介して、通知フレームをブロードキャストする(ステップS28)。すると、通知フレームは、通信制御装置10で受信される。
通信制御装置10の受信部13は、受信したフレームのIDが通知フレームを示すID(ID=777)であるため、通知フレームを比較部22に出力する。比較部22は、通知フレームが入力されると、MACテーブル31から計算済みのMAC1を取得する。また、比較部22は、入力された通知フレームのデータフィールドに含まれているMAC(MAC2)を抽出する。比較部22は、MAC1とMAC2が等しいかを判定する(ステップS29)。MAC1とMAC2が等しい場合、比較部22は、リプレイ攻撃が検出されていないと判定して処理を終了する(ステップS29でYes)。
一方、MAC1とMAC2が異なる場合、比較部22は、リプレイ攻撃を検出したと判定する(ステップS30)。比較部22は、結線72を介して、ID=123のフレームの処理の中断を要求するための信号を、受信ノード60に送信する(ステップS31)。なお、信号の形式は、受信ノード60がID=123のフレームの処理の中断が要求されたことを認識することができる任意の形式であるものとする。
図11は、第1の実施形態での通信制御装置10の処理の例を説明するフローチャートである。受信部13は、フレームを受信するまで待機する(ステップS41でNo)。フレームを受信すると、受信部13は、受信フレームのIDがMAC通知用のIDであるかを判定する(ステップS41でYes、ステップS42)。
受信フレームのIDがMAC通知用のIDではない場合、受信部13は、受信フレームをMAC生成部21に出力する(ステップS42でNo)。MAC生成部21は、受信フレームからIDとデータを抽出する(ステップS43)。MAC生成部21は、抽出したIDがMAC検証対象の値であった場合、カウンタ値を取得する(ステップS44)。MAC生成部21は、ID、データ、および、カウンタ値を用いて、MACを生成する(ステップS45)。MAC生成部21は、受信フレームのIDに対応付けて、計算したMAC(MAC1)を記憶する(ステップS46)。次に、カウンタ14は、カウンタ値をインクリメントする(ステップS47)。
受信フレームのIDがMAC通知用のIDである場合、受信部13は、受信フレームを比較部22に出力する(ステップS42でYes)。比較部22は、入力されたフレームから、送信ノード40で計算されたMAC(MAC2)を抽出する(ステップS48)。比較部22は、MACテーブル31に記憶しているMAC(MAC1)を取得し、MAC1とMAC2を比較する(ステップS49、S50)。MAC1とMAC2が等しい場合、比較部22は処理を終了する(ステップS50でYes)。MAC1とMAC2が異なる場合、比較部22は、攻撃を検出したと判定する(ステップS50でNo、ステップS51)。その後、比較部22は、攻撃を検出したIDで識別されるフレームの処理の中止を、結線72を介して、受信ノード60に要求する。
このように、第1の実施形態では、受信ノード60がMACに関する処理を行わなくても、通信制御装置10においてリプレイ攻撃を検出できる。さらに、受信ノード60は、通信制御装置10からの通知により、リプレイ攻撃によって送信されたフレームの処理を中断することができる。従って、送信ノード40の処理負担を増大させずに、リプレイ攻撃の検出と、リプレイ攻撃からのシステムの保護を実現できる。また、受信ノード60においてはMACの処理が行われないため、通信制御装置10との間の結線72を設定することにより、既存のECUを受信ノード60として使用することができる。
なお、第1の実施形態で使用されるMACでは、カウンタ値は、MACの計算の度に異なる値が用いられるようにカウンタ14やカウンタ44で処理されている。つまり、過去に送信されたフレームが再送されたとしても、MAC生成部21が受信データを用いてMACを計算するときのカウンタ値は、再送されたフレームが1回目に送信されたときからカウンタ14によって変更されている。このため、再送されているフレームに対応して送信されたMACの通知フレームが再送されたとしても、MACの計算に用いられているカウンタ値が異なることから、比較部22は、リプレイ攻撃を検出できる。
なお、通信制御装置10は、通信制御装置に画面などのユーザへの通知手段を有していても良い。この場合、通信制御装置10は、リプレイ攻撃検知時に結線72を用いずに、画面などの通知手段を用いて攻撃を受けていることをユーザに通知してもよい。
(変形例)
図12は、ネットワークの例を説明する図である。図12を参照しながら第1の実施形態の変形例を説明する。図12に示すネットワークN2には、通信制御装置10、送信ノード40、受信ノード60、管理装置75が含まれる。ここで、管理装置75は、CANシステム中での通信を管理する管理センタに設定された装置である。通信制御装置10と管理装置75の間は結線73で接続されている。
通信制御装置10、送信ノード40、受信ノード60は、互いにフレームが送受信できるようにバスで接続されているものとする。通信制御装置10は、第1の実施形態で説明した手順によりリプレイ攻撃を検出すると、管理装置75にリプレイ攻撃の発生を通知する。管理装置75のオペレータは、管理装置75にリプレイ攻撃の検出が通知されると、リプレイ攻撃を防止するための処理を行うものとする。また、管理装置75から通知命令等が受信ノード60に出力される場合は、管理装置75と受信ノード60が接続されても良い。
さらに別の変形例では、通信制御装置10と受信ノード60とが、中止命令の暗号化に使用する共通鍵と中止命令の暗号化に使用するカウンタ値を有している。この場合、通信制御装置10は、バス71を経由して受信ノード60に中止命令を通知できる。なお、以下の説明では、リプレイ攻撃が検出されたフレーム中のIDと同じIDを含むフレームに対する処理の中止の要求を、「中止命令」と記載する。また、中止命令の暗号化に用いる共通のカウンタ値を、カウンタ14やカウンタ44で扱われるカウンタ値と容易に区別するために、中止命令の暗号化に用いる共通のカウンタ値のことを「中止カウンタ値」と記載する。中止カウンタの初期値は、図8を参照しながら説明した処理と同様の処理により、通信制御装置10と受信ノード60の間で、共通の値が設定される。
比較部22は、リプレイ攻撃を検出すると中止命令に中止カウンタ値を続けて得られる文字列を、中止命令の暗号化用の共通鍵で暗号化する。比較部22は、暗号化後の中止命令をデータフィールドに含むフレームを生成し、IDを中止命令の送信用のIDに設定する。ここで、中止命令の送信用のIDは、受信ノード60には受信されるが送信ノード40に受信されない値であるものとする。通信制御装置10は、暗号化された中止命令を含むフレームをブロードキャストする。すると、暗号化された中止命令を含むフレームは、受信ノード60で受信されるが送信ノード40では受信されない。
受信ノード60は、受信したフレームのデータフィールド中の値を、中止命令の復号化用の共通鍵で復号することにより、中止命令に中止カウンタ値を続けた文字列を取得する。受信ノード60は、得られた文字列中の中止カウンタ値が、受信ノード60に保持されている値と一致する場合、通信制御装置10から中止命令が出されたと判定して、フレームの処理を中断する。なお、この場合、受信ノード60は、1つの中止命令を正しく受信すると、全てのフレームの処理を中断するものとする。
このように変形が行われる場合でも、受信ノード60ではMACの処理が行われないので、受信ノード60の負荷を余り大きくせずに、リプレイ攻撃の検出や、リプレイ攻撃からシステムを防衛するための処理を行うことができる。
<第2の実施形態>
第1の実施形態では、データフレームに使用されるIDが1種類の場合を説明したが、データフレームの送受信に複数のIDが使用される場合もありうる。そこで、第2の実施形態では、データフレームの送受信に複数のIDが使用される場合について説明する。
図13は、第2の実施形態が適用されるネットワークの例とフレームの例を説明する図である。第2の実施形態では、図13に示すネットワークN3が使用されるものとする。ネットワークN3には、通信制御装置10、送信ノード40(40a、40b)、受信ノード60(60a、60b)が含まれる。通信制御装置10、送信ノード40a、送信ノード40b、受信ノード60a、受信ノード60bは、いずれも相互にフレームの送受信が可能になるように、バス71で接続されている。また、通信制御装置10と受信ノード60aは、結線72aで接続されている。結線72aは、受信ノード60aでの受信対象のIDを用いたリプレイ攻撃が検出された場合に、通信制御装置10から受信ノード60aにフレームの処理の中断を要求するために使用される。同様に、通信制御装置10と受信ノード60bは、結線72bで接続されている。結線72bは、受信ノード60bでの受信対象のIDを用いたリプレイ攻撃が検出された場合に、通信制御装置10から受信ノード60bにフレームの処理の中断を要求するために使用される。
図13に示すフレームF21は、第2の実施形態で使用される通知フレームの例である。第2の実施形態で使用される通知フレームは、データフィールド以外は、第1の実施形態と同様であるが、データフィールド内に、検出対象IDとMACが含められる。なお、検出対象IDは、リプレイ攻撃が行われているかを判定する対象となっているIDである。なお、第2の実施形態では、MACと検出対象IDの両方がデータフィールドに含まれるため、MACのビット長は53ビットである。第2の実施形態でのMACの生成方法は、ビット数の調整より前の手順は図9を参照しながら説明したとおりである。MACを生成する装置は、データ、カウンタ値、ID、共通鍵を用いて生成した暗号文から、53ビットを予め決められた方法で選択する。なお、第2の実施形態においても、通信制御装置10と送信ノード40a、送信ノード40bにおいて、MACに使用するビットの選択方法は同じであるものとする。
なお、通信制御装置10が送信ノード40aまたは送信ノード40bとの間でカウンタの初期値を設定する際にも、フレームF21に示すフレームが使用される。カウンタの初期値の設定の際には、検出対象のIDと初期値を生成するための乱数が通信制御装置10から送信される。各送信ノード40は、通信制御装置10から受信したフレーム中の検出対象IDが送信処理に使うIDである場合、検出対象IDに対応付けられている乱数を取得し、予め通信制御装置10と交換してある共通鍵を用いて暗号化する。各送信ノード40は、得られた値をカウンタの初期値とする。通信制御装置10での初期値の設定は図8を参照しながら説明した処理と同様である。通信制御装置10は、システムでデータフレームの送受信に使用されるIDと同数の乱数を生成し、IDと対応付けて送信ノード40に送信する。また、通信制御装置10は、乱数を共通鍵によって暗号化した値を、IDに対応付けて記憶する。
図14Aと図14Bは、第2の実施形態での制御方法の例を説明するシーケンス図である。以下、送信ノード40aがID=123のデータフレームを送信し、送信ノード40bがID=234のデータフレームを送信する場合を例とする。また、受信ノード60aはID=123のフレームを受信するがID=234のフレームを受信しないものとする。一方、受信ノード60bはID=234のフレームを受信するがID=123のフレームを受信しないものとする。さらに、以下の説明では、MACの送受信用に使用されるIDは、いずれの送信ノード40でもID=777であるものとする。
第2の実施形態では、通信制御装置10は、通信制御装置10と各受信ノード60を接続する結線72の各々について、その結線72に接続している受信ノード60が受信する対象のIDを記憶しているものとする。以下の説明では、通信制御装置10は、結線72aを介した接続先(受信ノード60a)はID=123を受信することと、結線72bを介した接続先(受信ノード60b)はID=234を受信することを、記憶部30に記憶しているものとする。
各IDのフレームは送信されるタイミングが特に調整されない。このため、一方のIDについてのデータフレームの送信と、そのデータフレーム中のデータの正当性を評価するために使用されるMACを通知するフレームの送信の間に、他のIDを用いた送信が行われる場合もある。図14Aと図14Bを用いて、送信ノード40aから通知フレームが送信される前に、送信ノード40bがデータBを含むデータフレームを送信した場合の処理を説明する。
また、以下の説明では、動作を行っている装置を区別し易くするために、符号の後に動作を行っている送信ノード40に割り当てられたアルファベットを記載することがある。例えば、MAC生成部51aは、送信ノード40aに含まれているMAC生成部51である。
ステップS61に示すように、通信制御装置10は、IDごとにカウンタ値を記憶している。なお、第2の実施形態において通信制御装置10が保持しているMACテーブル31には、送受信されるIDごとに、複数のエントリが含まれている。ステップS61には、便宜上、MACテーブル31のカウンタ値とIDの欄を抜き出して図示している。以下、ステップS61の時点では、ID=123のカウンタ値はCxであり、ID=234のカウンタ値はCyであるものとする。
ステップS62において、送信ノード40a中のMAC生成部51aは、カウンタ値を取得する。通信制御装置10と送信ノード40aは、図8を参照しながら説明した手順により、予め、ID=123に関するカウンタの値を一致させているので、MAC生成部51aはカウンタ値としてCxを取得する。
データフレーム生成部52aは、データAをデータフィールドに含めて、ID=123のデータフレームを生成する(ステップS63)。データフレーム生成部52aは、送信部42aを介して、データフレームをブロードキャストする(ステップS64)。データフレームに含まれているIDは123であるので、データフレームは、受信ノード60aと通信制御装置10のいずれでも受信される。
ステップS65において、通信制御装置10の受信部13は、受信したフレームのIDがID=123に設定されているため、受信フレームをMAC生成部21に出力する。MAC生成部21は、図9を参照しながら説明した処理により、ID=123に対応付けられたカウンタ値Cxと、データAを用いて、MAC(MAC1)を計算する。MAC生成部21は、MAC1を、受信フレームのID(ID=123)に対応付けて、MACテーブル31に記録する。ステップS66において、カウンタ14は、ID=123を用いて送信されたデータを用いたMACの計算に備えて、カウンタ値をインクリメントする。
一方、送信ノード40a中のMAC生成部51aは、データAを含むフレームの送信後に、データA、カウンタ値Cx、送信フレーム中のIDを用いて、MAC(MAC2)を計算する(ステップS67)。その後、カウンタ44aは、次回のMACの計算に備えて、ID=123に対応付けられたカウンタ値をインクリメントする(ステップS68)。
ステップS69において、送信ノード40b中のMAC生成部51bは、ID=234を用いたフレームに対応するMACの計算に使用するカウンタ値Cyを取得する。なお、通信制御装置10と送信ノード40bも、図8を参照しながら説明した手順により、予め、ID=234に関するカウンタの値を一致させている。
データフレーム生成部52bは、データBをデータフィールドに含めて、ID=234のデータフレームを生成する(ステップS70)。データフレーム生成部52bは、送信部42bを介して、データフレームをブロードキャストする(ステップS71)。データフレームに含まれているIDは234であるので、データフレームは、受信ノード60bと通信制御装置10に受信される。
ステップS72において、通信制御装置10の受信部13は、受信したフレームのIDがID=234であるため、受信フレームをMAC生成部21に出力する。MAC生成部21は、ID=234に対応付けられたカウンタ値Cyと、データBを用いて、MAC(MAC3)を計算する。MAC生成部21は、MAC3を、受信フレームのID(ID=234)に対応付けて、MACテーブル31に記録する。ステップS73において、カウンタ14は、ID=234を用いて送信されたデータを用いたMACの計算に備えて、カウンタ値をインクリメントする。
一方、送信ノード40b中のMAC生成部51bは、データBを含むフレームの送信後に、データB、カウンタ値Cy、ID=234を用いて、MAC(MAC4)を計算する(ステップS74)。その後、カウンタ44bは、ID=234に対応付けられたカウンタ値をインクリメントする(ステップS75)。
図14Bでは、送信ノード40aの方が送信ノード40bよりも先に通知フレームを送信した場合の例を示している。
ステップS76において、送信ノード40aの通知フレーム生成部53aは、MAC2を通知するための通知フレームを生成し、送信部42aを介してブロードキャストする。ここで、MAC2は、図13のフレームF21を参照しながら説明したように、53ビットに調整されている。このため、通知フレームのデータフィールドには、検出対象ID=123であることと、MAC2が含められる。さらに、通知フレームは、ID=777に設定されている。通信制御装置10は通知フレームを受信するが、ID=777のフレームはいずれの受信ノード60でも受信対象にならないので、受信ノード60a、60bは通知フレームを受信しない。
通信制御装置10の受信部13は、ステップS76で受信した通知フレームを比較部22に出力する。比較部22は、通知フレーム中の検出対象IDに対応付けられたMACをMACテーブル31から取得する。ここでは、検出対象IDはID=123であるので、比較部22は、MAC1を取得する。さらに、比較部22は、通知フレーム中のデータからMAC2を抽出する。比較部22は、MAC1がMAC2と等しいかを判定する。(ステップS77)。MAC1とMAC2が等しい場合、比較部22は、リプレイ攻撃が検出されていないと判定する(ステップS77でYes)。一方、MAC1とMAC2が異なる場合、比較部22は、ID=123に対するリプレイ攻撃を検出したと判定する(ステップS77でNo、ステップS78)。比較部22は、結線72aを介して、ID=123のフレームの処理の中断を要求するための信号を、受信ノード60aに送信する(ステップS79)。
ステップS80において、送信ノード40bの通知フレーム生成部53bは、検出対象ID=234とMAC4を通知するための通知フレームを生成し、送信部42bを介してブロードキャストする。送信ノード40bにおいても、通知フレームは、ID=777に設定されるので、通知フレームは通信制御装置10に受信されるが、受信ノード60a、60bには受信されない。
通信制御装置10の比較部22は、受信部13を介して、通知フレームを取得する。比較部22は、通知フレーム中の検出対象ID(ID=234)に対応付けられたMAC3をMACテーブル31から取得する。比較部22は、MAC3を、通知フレームによって通知されたMAC4と比較する。(ステップS81)。MAC3とMAC4が等しい場合、比較部22は、ID=234に対するリプレイ攻撃が検出されていないと判定する(ステップS81でYes)。一方、MAC3とMAC4が異なる場合、比較部22は、ID=234に対するリプレイ攻撃を検出したと判定する(ステップS81でNo、ステップS82)。比較部22は、結線72bを介して、ID=234のフレームの処理の中断を要求するための信号を、受信ノード60bに送信する(ステップS83)。
図15は、第2の実施形態での通信制御装置の処理の例を説明するフローチャートである。ステップS91〜S97の処理は、MACのビット数の違いを除くと、図11を参照しながら説明したステップS41〜S47で行われる処理と同様である。受信フレームの識別に使用されるIDがMACの通知用のIDである場合、比較部22は、受信フレームのデータから、検出対象IDとMAC(MAC_a)を抽出する(ステップS92でYes、ステップS98)。比較部22は、検出対象IDに対応付けてMACテーブル31に記憶しているMAC(MAC_b)を取得する(ステップS99)。比較部22は、MAC_aとMAC_bを比較する(ステップS100)。MAC_aとMAC_bが等しい場合、比較部22は、検出対象IDに対するリプレイ攻撃を検出しなかったと判定して処理を終了する(ステップS100でYes)。一方、MAC_aとMAC_bが異なる場合、比較部22は、検出対象IDに対するリプレイ攻撃を検出したと判定する(ステップS100でNo、ステップS101)。その後、比較部22は、リプレイ攻撃の検出に伴って受信ノード60への通知などの処理を行う。
以上説明したように、第2の実施形態では、複数のIDがデータフレームの送受信に使用される場合であっても、受信ノード60にかかる負荷の増大を防ぎつつ、リプレイ攻撃を検出することができる。
なお、第1の実施形態と同様に、ネットワークに含まれている装置の種類に応じて、リプレイ攻撃の検出後の処理を、管理装置75を介した処理に変更しても良い。
<第3の実施形態>
第3の実施形態では、送信ノード40が複数のデータフレームの送信後に、送信したデータフレームの各々から得られたMACを用いて生成した認証符号を送信する場合について説明する。第3の実施形態で使用される通信制御装置10は、MACテーブル31の代わりに認証符号テーブル32(図17)を記憶している。以下の説明では、理解しやすくするために、ネットワークN1(図7)に第3の実施形態が適用される場合を例として説明するが、第3の実施形態は、任意の数の送信ノード40や受信ノード60を含むネットワークに適用され得る。
図16は、認証符号の生成方法の例を説明する図である。図16は、ID1が検出対象IDである場合の例を示している。例えば、フレームF31〜F33(図示せず)を用いて認証符号が生成されるとする。平文P1は、フレームF31中のデータ、フレームF31が送信されるときのカウンタ値、フレームF31の識別に使用されたIDを結合して得られるビット列である。同様に、平文P2は、フレームF32中のデータ、カウンタ値、IDを結合して得られるビット列である。また、平文P3は、フレームF33中のデータ、カウンタ値、IDを結合して得られるビット列である。平文P1〜P3は、暗号化され、得られた暗号文からMAC31〜33が得られる。平文の各々からMACが生成されるときの処理は、図9を参照しながら説明した処理と同様である。
その後、MACを演算処理することにより、認証符号が得られる。図16の例では、MAC31〜33の排他的論理和(XOR)により認証符号が計算されている。なお、図16には、紙面の都合上、3つ以上のフレームから認証符号が計算される場合を示しているが、認証符号の計算に使用されるフレームの数は任意の複数である。
なお、図16では、認証符号が64ビットである場合を例として説明したが、認証符号は64ビット未満の値でも良い。この場合、認証符号の生成に使用されるMACの各々の長さが64ビットよりも短い。例えば、データフレームから生成されるMACが53ビットの場合、認証符号も53ビットとなる。
図17は、認証符号テーブル32の例を示す図である。認証符号テーブル32には、検出対象ID、認証符号、カウンタ値、変数nを含む。認証符号は、検出対象IDを用いて送信されたデータフレームのうち、変数nと同数のフレームを用いて計算された認証符号である。変数nは、認証符号の計算に使用されたデータフレームの数を計数するために使用される値である。カウンタ値は、第1および第2の実施形態と同様に、カウンタ14によって生成され、MACの生成に使用される。
図18は、第3の実施形態での制御方法の例を説明するシーケンス図である。図18を参照しながら、データフレームが2回送信されるごとに、1つの通知フレームが送信される場合の処理の例を説明する。なお、図18の例でも、データフレームにはID=123が使用され、通知フレームにはID=777が使用されるものとする。また、認証符号がいずれの装置により生成された符号かを区別しやすくするために、通信制御装置10が生成、更新している認証符号を認証符号Xと表わし、送信ノード40が生成、更新している認証符号を認証符号Yとする。また、図18の例では、データフレームの送受信に使用されるIDが1種類の場合を例としている。
ステップS111の処理が開始される際に通信制御装置10が保持している認証符号テーブル32では、ID=123に対応付けられた値は以下のとおりであるものとする。
検出対象ID=123
認証符号X =0
カウンタ値 =C1
変数n =0
さらに、送信ノード40が記憶している認証符号Yと、認証符号の生成に使用されたフレーム数も0に初期化されているものとする。なお、送信ノード40では、通知フレーム生成部53が認証符号Yと、認証符号Yの計算に使用したフレーム数を管理しているものとする。
送信ノード40中のMAC生成部51は、データフレームの送信に際してカウンタ値を取得する(ステップS111)。データフレーム生成部52は、データAを含むデータフレームを生成すると、送信部42を介してブロードキャストする(ステップS112)。データフレームは、受信ノード60と通信制御装置10の両方で受信される。
通信制御装置10のMAC生成部21は、受信部13を介してデータフレームを取得すると、MAC(MAC1)を計算する(ステップS113)。MAC生成部21は、MAC1を用いて、認証符号テーブル32中の認証符号(認証符号X)を更新する(ステップS114)。ステップS114の処理により、認証符号テーブル32では認証符号の初期値がMAC1で置換される。また、MAC生成部21は、ID=123に対応付けられている変数nをインクリメントする。さらに、カウンタ14は、カウンタ値をインクリメントする(ステップS115)。このため、ステップS115の処理が終わった時点では、認証符号テーブル32に以下の情報が記録される。
検出対象ID=123
認証符号 =MAC1
カウンタ値 =C2
変数n =1
一方、送信ノード40においても、データAを含むデータフレームの送信後、MAC生成部51はMAC(MAC2)を生成する(ステップS116)。通知フレーム生成部53は、MAC2を用いて認証符号Yを更新する(ステップS117)。なお、このとき、通知フレーム生成部53は、1つのデータフレームが認証符号Yの生成に使用されていることを記憶する。カウンタ44は、送信ノード40でのMACの計算に使用されるカウンタ値をインクリメントする(ステップS118)。
次に、送信ノード40は、データBを含むデータフレームをブロードキャストする(ステップS119)。ステップS119での処理はステップS112と同様である。データBを含むデータフレームも、受信ノード60と通信制御装置10の両方で受信される。
通信制御装置10のMAC生成部21は、受信部13を介して、データBを含むデータフレームを取得し、MAC(MAC3)を計算する(ステップS120)。MAC生成部21は、MAC3を用いて、認証符号テーブル32中の認証符号Xを更新する(ステップS121)。ステップS121の処理により、認証符号Xは、MAC1とMAC3のXORで得られる値になる。また、MAC生成部21は、ID=123に対応付けられている変数nをインクリメントする。さらに、カウンタ14は、カウンタ値をインクリメントする(ステップS122)。
一方、送信ノード40においても、MAC生成部51は、データBを含むデータフレームを用いてMAC(MAC4)を生成する(ステップS123)。通知フレーム生成部53は、MAC4を用いて認証符号Yを更新する(ステップS124)。カウンタ44は、送信ノード40でのMACの計算に使用されるカウンタ値をインクリメントする(ステップS125)。
ところで、認証符号Yの更新により、更新後の認証符号Yは、2つのデータフレームを用いて生成されたことになる。そこで、通知フレーム生成部53は、データフィールドに認証符号Yを含めた通知フレームを生成し、通知フレームのIDをID=777に設定した上でブロードキャストする(ステップS126)。通知フレームは通信制御装置10に受信されるが、受信ノード60では受信されない。
通信制御装置10の比較部22は、受信部13を介して、通知フレームを取得する。比較部22は、通知フレームで通知された認証符号Yと、MACテーブル31に記録されている認証符号Xとを比較する(ステップS127)。認証符号Yと認証符号Xが一致している場合、比較部22は、ID=123に対するリプレイ攻撃が検出されていないと判定し、処理を終了する(ステップS127でYes)。一方、認証符号Yと認証符号Xが異なる場合、比較部22は、ID=123に対するリプレイ攻撃を検出したと判定する(ステップS127でNo、ステップS128)。比較部22は、結線72を介して、ID=123のフレームの処理の中断を要求するための信号を、受信ノード60に送信する(ステップS129)。
以上、図16〜図18を参照しながら、通知フレームのデータフィールド中に認証符号のみが含まれている場合の例を説明したが、認証符号の長さが64ビット未満の場合、通知フレームは認証符号以外の情報をデータフィールドに含んでも良い。例えば、認証符号が53ビットの場合、図13のフレームF21のMACを認証符号に置き換えたものが通知フレームとして使用されうる。このように変形されると、通知フレーム中に検出対象IDが含まれるので、データフレームの送受信に複数のIDが使用されている場合であっても、第3の実施形態を適用できる。データフレームの送受信に複数のIDが使用されている場合にも対応しているシステム中で行われる処理の例を、図19を参照しながら説明する。
図19は、第3の実施形態での通信制御装置10の処理の例を説明するフローチャートである。図19では、定数kを用いる。定数kは、送信ノード40が通知フレームを送信するまでに送信するデータフレームの数である。従って、通知フレーム中の認証符号は、定数kと同数のデータフレームから生成されている。
比較部22は、変数n=0に設定し、認証符号テーブル32中の認証符号Xも0に設定する(ステップS141)。ここで、ステップS141の処理は、通信制御装置10が動作を開始したときと、比較部22での比較処理が終わるごとに行われる。受信部13は、フレームを受信するまで待機する(ステップS142でNo)。フレームを受信すると、受信部13は、受信フレームのIDが認証符号の通知用のIDであるかを判定する(ステップS142でYes、ステップS143)。
受信フレームのIDが認証符号の通知用のIDではない場合、受信部13は、受信フレームをMAC生成部21に出力する(ステップS143でNo)。MAC生成部21は、受信フレームからIDとデータを抽出する(ステップS144)。MAC生成部21は、カウンタ値を取得する(ステップS145)。MAC生成部21は、ID、データ、および、カウンタ値を用いて、MACを生成する(ステップS146)。MAC生成部21は、受信フレームのID(検出対象ID)に対応付けられている認証符号を、MACを用いて、更新する(ステップS147)。MAC生成部21は、変数nをインクリメントする(ステップS148)。次に、カウンタ14は、カウンタ値をインクリメントする(ステップS149)。その後、ステップS142に戻る。
受信フレームのIDが認証符号の通知用のIDである場合、受信部13は、受信フレームを比較部22に出力する(ステップS143でYes)。比較部22は、入力されたフレームから、検出対象IDと、送信ノード40で計算された認証符号(認証符号Y)を抽出する(ステップS150)。比較部22は、認証符号テーブル32において検出対象IDに対応付けられているエントリ中の変数nの値が定数kと一致しているかを判定する(ステップS151)。変数nの値が定数kと一致しない場合、送信ノード40が送信していないフレームが、攻撃者から検出対象IDを用いて送信された可能性がある(ステップS151でNo)。そこで、比較部22は、検出対象IDに対する攻撃を検出したと判定する(ステップS154)。
変数nの値が定数kと一致する場合、比較部22は、検出対象IDに対応付けて認証符号テーブル32に記憶している認証符号(認証符号X)を取得する(ステップS151でYes、ステップS152)。さらに、比較部22は、認証符号Xと認証符号Yを比較する(ステップS153)。認証符号Xと認証符号Yが等しい場合、比較部22は、検出対象IDに対する攻撃は検出されていないと判定して、処理を終了する(ステップS153でYes)。認証符号Xと認証符号Yが異なる場合、比較部22は、攻撃を検出したと判定する(ステップS153でNo、ステップS154)。その後、比較部22は、攻撃を検出したIDで識別されるフレームの処理の中止を、結線72を介して、受信ノード60に要求する。
第3の実施形態によると、データフレームが送信ノード40からk個送信される度に、1つの通知フレームが送信されることになる。つまり、k個のデータフレームの正当性を判定するための処理対象となるフレームの数はk+1個である。一方、第1および第2の実施形態では、1つのデータフレームに対して1つの通知フレームが送信されるので、k個のデータフレームの正当性を判定するためには2k個のフレームが処理されることになる。従って、第3の実施形態では、第1および第2の実施形態に比べて通信制御装置10での処理負荷が小さく、処理速度も速くなる。
<その他>
なお、実施形態は上記に限られるものではなく、様々に変形可能である。例えば、MACテーブル31、認証符号テーブル32、フレームのフォーマットは一例であり、実装に応じて変更され得る。
また、第3の実施形態においては、各認証符号の算出の際に使用されるカウンタ値の組合せが認証符号ごとに異なればよく、MACごとにカウンタ値が異なっていなくても良い。このため、通信制御装置10および送信ノード40は、1つの認証符号で正当性を評価するk個のデータフレームからMACを計算するときに同じカウンタ値を使用してもよい。この場合、送信ノード40は、通知フレームを送信するたびにカウンタ値をインクリメントする。一方、通信制御装置10も、認証符号を用いた判定の後でカウンタ値を変更する。
以上の説明では、CANの一般仕様のフレームが送受信される場合を例として説明したが、CANの拡張仕様のフレームやCAN FD(CAN with Flexible Data-Rate)で使用されるフレームが送受信される場合にも、上述の各実施形態を適用できる。
また、第2および第3の実施形態においても、通信制御装置10がリプレイ攻撃を検出したときの処理は、第1の実施形態の変形例で述べたように、変形されても良い。
上述の第1〜第3の実施形態を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1の識別情報または第2の識別情報を含むデータを第1のノードから受信する受信部と、
前記第1の識別情報を含む第1のデータを前記受信部が受信すると、前記第1のデータを用いて第1の認証符号を生成する制御部
を備え、
前記受信部は、前記第1のノードから、前記第2の識別情報及び前記第1のノードが前記第1のデータを用いて生成した第2の認証符号を含む第2のデータを受信し、
前記制御部は、前記第1の認証符号と前記第2の認証符号との比較の結果に基づいて、第2のノードに前記第1の識別情報を用いて通知されたデータの処理を中断させるかを決定する
ことを特徴とする通信制御装置。
(付記2)
前記第1のデータの受信から前記第2のデータの受信までに、前記受信部が前記第1のノードから前記第1の識別情報と共に第3のデータを受信した場合、前記制御部は、前記第1の認証符号の生成に、前記第3のデータをさらに使用し、
前記第2の認証符号は、前記第1のデータの送信から前記第2のデータの送信までに、前記第1のノードが前記第1の識別情報を用いて送信したデータから生成され、
前記制御部は、前記第1の認証符号と前記第2の認証符号が一致しない場合、前記第2のノードに前記第1の識別情報を用いて通知されたデータの処理を中断させる
ことを特徴とする付記1に記載の通信制御装置。
(付記3)
前記第1のノードが前記第2のデータを送信するまでに前記第1の識別情報を用いて送信するデータの送信数として予め決められた値を記憶する記憶部
をさらに備え、
前記制御部は、前記第2の認証符号を取得した時点で、前記第1の認証符号の生成に使用したデータ数と前記送信数が一致しない場合、前記第2のノードに前記第1の識別情報を用いて通知されたデータの処理を中断させる
ことを特徴とする付記2に記載の通信制御装置。
(付記4)
前記受信部は、第3のノードから、前記第2の識別情報または第3の識別情報を含むデータをさらに受信し、
前記第2の識別情報を含むデータは、処理を中断するかの判定対象となる識別情報を示す値を含み、
前記制御部は、
前記第1の認証符号を前記第1の識別情報に対応付けて記憶し、
前記第3の識別情報を含む第4のデータを用いて第3の認証符号を生成すると共に、前記第3の認証符号を前記第3の識別情報に対応付けて記憶し、
前記第1の識別情報を前記判定対象とし、前記第1の識別情報に前記第1のノードで計算された認証符号を対応付けた第5のデータを、前記受信部が前記第2の識別情報を用いて受信すると、前記第5のデータ中の認証符号と前記第1の認証符号を比較し、
前記第3の識別情報を前記判定対象とし、前記第3の識別情報に前記第3のノードで計算された認証符号を対応付けた第6のデータを、前記受信部が前記第2の識別情報を用いて受信すると、前記第6のデータ中の認証符号と前記第3の認証符号を比較し、
比較処理の結果を用いて、処理の中断を行うかを判定する
ことを特徴とする付記1〜3のいずれかに記載の通信制御装置。
(付記5)
複数のノード間の通信制御を行う通信制御方法において、
第1のノードから第1の識別情報を含む第1のデータを受信し、
受信した前記第1のデータを用いて第1の認証符号を生成し、
前記第1のノードから、第2の識別情報及び前記第1のノードにおいて前記第1のデータを用いて生成された第2の認証符号を含む第2のデータを受信し、
前記第1の認証符号と前記第2の認証符号とを比較し、
前記比較の結果に基づいて、第2のノードに対し、前記第1の識別情報を用いて通知されたデータの処理を中断させるかを判定する
ことを特徴とする通信制御方法。
(付記6)
前記第1のデータの受信から前記第2のデータの受信までに、前記第1のノードから前記第1の識別情報と共に第3のデータを受信した場合、前記第1の認証符号の生成に、前記第3のデータをさらに使用し、
前記第2の認証符号は、前記第1のデータの送信から前記第2のデータの送信までに、前記第1のノードが前記第1の識別情報を用いて送信したデータから生成され、
前記第1の認証符号と前記第2の認証符号が一致しない場合、前記第2のノードに前記第1の識別情報を用いて通知されたデータの処理を中断させる
ことを特徴とする付記5に記載の通信制御方法。
(付記7)
前記第2の認証符号を取得した時点で、前記第1の認証符号の生成に使用したデータ数と、前記第1のノードが前記第2のデータを送信するまでに前記第1の識別情報を用いて送信するデータの送信数として予め決められた値が一致しない場合、前記第2のノードに前記第1の識別情報を用いて通知されたデータの処理を中断させる
ことを特徴とする付記6に記載の通信制御方法。
(付記8)
前記第1の認証符号を前記第1の識別情報に対応付けて記憶し、
第3のノードから第3の識別情報を含む第4のデータを受信すると、前記第4のデータを用いて第3の認証符号を生成すると共に、前記第3の認証符号を前記第3の識別情報に対応付けて記憶し、
前記第1の識別情報に前記第1のノードで計算された認証符号を対応付けた第5のデータを、前記第2の識別情報を用いて受信すると、前記第5のデータ中の認証符号と前記第1の認証符号を比較し、
前記第3の識別情報に前記第3のノードで計算された認証符号を対応付けた第6のデータを、前記第2の識別情報を用いて受信すると、前記第6のデータ中の認証符号と前記第3の認証符号を比較し、
比較処理の結果を用いて、処理の中断を行うかを判定する
ことを特徴とする付記5〜7のいずれかに記載の通信制御方法。
(付記9)
複数のノード間の通信制御を行う通信制御装置に、
第1のノードから第1の識別情報を含む第1のデータを受信し、
受信した前記第1のデータを用いて第1の認証符号を生成し、
前記第1のノードから、第2の識別情報及び前記第1のノードにおいて前記第1のデータを用いて生成された第2の認証符号を含む第2のデータを受信し、
前記第1の認証符号と前記第2の認証符号とを比較し、
前記比較の結果に基づいて、第2のノードに対し、前記第1の識別情報を用いて通知されたデータの処理を中断させるかを判定する
処理を行わせることを特徴とする通信制御プログラム。
(付記10)
前記第1のデータの受信から前記第2のデータの受信までに、前記第1のノードから前記第1の識別情報と共に第3のデータを受信した場合、前記第1の認証符号の生成に、前記第3のデータをさらに使用し、
前記第2の認証符号は、前記第1のデータの送信から前記第2のデータの送信までに、前記第1のノードが前記第1の識別情報を用いて送信したデータから生成され、
前記第1の認証符号と前記第2の認証符号が一致しない場合、前記第2のノードに前記第1の識別情報を用いて通知されたデータの処理を中断させる
処理を前記通信制御装置に行わせることを特徴とする付記9に記載の通信制御プログラム。
(付記11)
前記第2の認証符号を取得した時点で、前記第1の認証符号の生成に使用したデータ数と、前記第1のノードが前記第2のデータを送信するまでに前記第1の識別情報を用いて送信するデータの送信数として予め決められた値が一致しない場合、前記第2のノードに前記第1の識別情報を用いて通知されたデータの処理を中断させる
処理を前記通信制御装置に行わせることを特徴とする付記10に記載の通信制御プログラム。
(付記12)
前記第1の認証符号を前記第1の識別情報に対応付けて記憶し、
第3のノードから第3の識別情報を含む第4のデータを受信すると、前記第4のデータを用いて第3の認証符号を生成すると共に、前記第3の認証符号を前記第3の識別情報に対応付けて記憶し、
前記第1の識別情報に前記第1のノードで計算された認証符号を対応付けた第5のデータを、前記第2の識別情報を用いて受信すると、前記第5のデータ中の認証符号と前記第1の認証符号を比較し、
前記第3の識別情報に前記第3のノードで計算された認証符号を対応付けた第6のデータを、前記第2の識別情報を用いて受信すると、前記第6のデータ中の認証符号と前記第3の認証符号を比較し、
比較処理の結果を用いて、処理の中断を行うかを判定する
処理を前記通信制御装置に行わせることを特徴とする付記9〜11のいずれかに記載の通信制御プログラム。
10 通信制御装置
11、41 送受信部
12、42 送信部
13、43 受信部
14、44 カウンタ
20 制御部
21、51 MAC生成部
22 比較部
30、45 記憶部
31 MACテーブル
32 認証符号テーブル
40 送信ノード
50 フレーム処理部
52 データフレーム生成部
53 通知フレーム生成部
60 受信ノード
71 バス
72、73 結線
101 CANトランシーバ
102 CANコントローラ
103 処理回路
104 プロセッサ
105 メモリ

Claims (6)

  1. 第1のノードから、第2のノードが受信するデータに含まれる第1の識別情報または、前記第2のノードが受信しないデータに含まれる第2の識別情報を含むデータを受信する受信部と、
    前記第1の識別情報を含む第1のデータを前記受信部が受信すると、前記第1のデータを用いて第1の認証符号を生成する制御部
    を備え、
    前記受信部は、前記第1のノードから、前記第2の識別情報及び前記第1のノードが前記第1のデータを用いて生成した第2の認証符号を含む第2のデータを受信し、
    前記制御部は、前記第1の認証符号と前記第2の認証符号との比較の結果に基づいて、前記第2のノードに前記第1の識別情報を用いて通知されたデータの処理を中断させるかを決定する
    ことを特徴とする通信制御装置。
  2. 前記第1のデータの受信から前記第2のデータの受信までに、前記受信部が前記第1のノードから前記第1の識別情報と共に第3のデータを受信した場合、前記制御部は、前記第1の認証符号の生成に、前記第3のデータをさらに使用し、
    前記第2の認証符号は、前記第1のデータの送信から前記第2のデータの送信までに、前記第1のノードが前記第1の識別情報を用いて送信したデータから生成され、
    前記制御部は、前記第1の認証符号と前記第2の認証符号が一致しない場合、前記第2のノードに前記第1の識別情報を用いて通知されたデータの処理を中断させる
    ことを特徴とする請求項1に記載の通信制御装置。
  3. 前記第1のノードが前記第2のデータを送信するまでに前記第1の識別情報を用いて送信するデータの送信数として予め決められた値を記憶する記憶部
    をさらに備え、
    前記制御部は、前記第2の認証符号を取得した時点で、前記第1の認証符号の生成に使用したデータ数と前記送信数が一致しない場合、前記第2のノードに前記第1の識別情報を用いて通知されたデータの処理を中断させる
    ことを特徴とする請求項2に記載の通信制御装置。
  4. 前記受信部は、第3のノードから、前記第2の識別情報または第3の識別情報を含むデータをさらに受信し、
    前記第2の識別情報を含むデータは、処理を中断するかの判定対象となる識別情報を示す値を含み、
    前記制御部は、
    前記第1の認証符号を前記第1の識別情報に対応付けて記憶し、
    前記第3の識別情報を含む第4のデータを用いて第3の認証符号を生成すると共に、前記第3の認証符号を前記第3の識別情報に対応付けて記憶し、
    前記第1の識別情報を前記判定対象とし、前記第1の識別情報に前記第1のノードで計算された認証符号を対応付けた第5のデータを、前記受信部が前記第2の識別情報を用いて受信すると、前記第5のデータ中の認証符号と前記第1の認証符号を比較し、
    前記第3の識別情報を前記判定対象とし、前記第3の識別情報に前記第3のノードで計算された認証符号を対応付けた第6のデータを、前記受信部が前記第2の識別情報を用いて受信すると、前記第6のデータ中の認証符号と前記第3の認証符号を比較し、
    比較処理の結果を用いて、処理の中断を行うかを判定する
    ことを特徴とする請求項1〜3のいずれかに記載の通信制御装置。
  5. 複数のノード間の通信制御を行う通信制御方法において、
    第1のノードから、第2のノードが受信するデータに含まれる第1の識別情報を含む第1のデータを受信し、
    受信した前記第1のデータを用いて第1の認証符号を生成し、
    前記第1のノードから、前記第2のノードが受信しないデータに含まれる第2の識別情報及び前記第1のノードにおいて前記第1のデータを用いて生成された第2の認証符号を含む第2のデータを受信し、
    前記第1の認証符号と前記第2の認証符号とを比較し、
    前記比較の結果に基づいて、前記第2のノードに対し、前記第1の識別情報を用いて通知されたデータの処理を中断させるかを判定する
    ことを特徴とする通信制御方法。
  6. 複数のノード間の通信制御を行う通信制御装置に、
    第1のノードから、第2のノードが受信するデータに含まれる第1の識別情報を含む第1のデータを受信し、
    受信した前記第1のデータを用いて第1の認証符号を生成し、
    前記第1のノードから、前記第2のノードが受信しないデータに含まれる第2の識別情報及び前記第1のノードにおいて前記第1のデータを用いて生成された第2の認証符号を含む第2のデータを受信し、
    前記第1の認証符号と前記第2の認証符号とを比較し、
    前記比較の結果に基づいて、前記第2のノードに対し、前記第1の識別情報を用いて通知されたデータの処理を中断させるかを判定する
    処理を行わせることを特徴とする通信制御プログラム。
JP2014266836A 2014-12-27 2014-12-27 通信制御装置、通信制御方法、および、通信制御プログラム Active JP6488702B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014266836A JP6488702B2 (ja) 2014-12-27 2014-12-27 通信制御装置、通信制御方法、および、通信制御プログラム
EP15191850.5A EP3038318B1 (en) 2014-12-27 2015-10-28 Communication control apparatus, communication control method and communication control program
US14/926,108 US20160191408A1 (en) 2014-12-27 2015-10-29 Communication control apparatus and communication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014266836A JP6488702B2 (ja) 2014-12-27 2014-12-27 通信制御装置、通信制御方法、および、通信制御プログラム

Publications (2)

Publication Number Publication Date
JP2016127426A JP2016127426A (ja) 2016-07-11
JP6488702B2 true JP6488702B2 (ja) 2019-03-27

Family

ID=54608260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014266836A Active JP6488702B2 (ja) 2014-12-27 2014-12-27 通信制御装置、通信制御方法、および、通信制御プログラム

Country Status (3)

Country Link
US (1) US20160191408A1 (ja)
EP (1) EP3038318B1 (ja)
JP (1) JP6488702B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10250698B2 (en) * 2014-08-25 2019-04-02 Futurewei Technologies, Inc. System and method for securing pre-association service discovery
KR101572935B1 (ko) * 2014-10-02 2015-12-11 현대자동차주식회사 메시지 인증 코드 혼합을 통한 can 패킷 인증 방법 및 그 장치
US10021063B2 (en) * 2015-05-14 2018-07-10 Honeywell International Inc. Apparatus and method for protecting proprietary information over public notification infrastructure
MX2018000165A (es) * 2015-06-25 2018-05-28 Diebold Nixdorf Inc Control de flujo del firmware para maquina bancaria automatizada.
JP6260064B2 (ja) * 2016-03-14 2018-01-17 Kddi株式会社 通信ネットワークシステム及び車両
WO2018015059A1 (en) * 2016-07-18 2018-01-25 Telefonaktiebolaget Lm Ericsson (Publ) Security of ciphering and integrity protection
EP3337119B1 (en) 2016-12-13 2019-09-11 Nxp B.V. Updating and distributing secret keys in a distributed network
EP3337039B1 (en) 2016-12-14 2020-07-22 Nxp B.V. Monotonic counter and method of operating a monotonic counter
EP3337120B1 (en) 2016-12-14 2021-04-21 Nxp B.V. Network message authentication and verification
EP3355545B1 (en) 2017-01-30 2020-09-23 Nxp B.V. Apparatus and method for verifying secret keys
US10581609B2 (en) * 2017-10-23 2020-03-03 Nxp B.V. Log message authentication with replay protection
JP7119537B2 (ja) * 2018-04-24 2022-08-17 日本電信電話株式会社 検知システムおよび検知方法
US10789364B2 (en) * 2018-05-02 2020-09-29 Nxp B.V. Method for providing an authenticated update in a distributed network
US10523708B1 (en) * 2019-03-18 2019-12-31 Capital One Services, Llc System and method for second factor authentication of customer support calls
US20220182822A1 (en) * 2019-03-29 2022-06-09 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus relating to authentication of a wireless device
US11792644B2 (en) * 2021-06-21 2023-10-17 Motional Ad Llc Session key generation for autonomous vehicle operation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5101965B2 (ja) * 2007-09-25 2012-12-19 京セラ株式会社 受信装置
JP5770602B2 (ja) * 2011-10-31 2015-08-26 トヨタ自動車株式会社 通信システムにおけるメッセージ認証方法および通信システム
DE102013206185A1 (de) * 2013-04-09 2014-10-09 Robert Bosch Gmbh Verfahren zur Erkennung einer Manipulation eines Sensors und/oder von Sensordaten des Sensors
JP2014211473A (ja) * 2013-04-17 2014-11-13 株式会社日立製作所 完全性検証システム及び方法
JP5880898B2 (ja) * 2014-05-08 2016-03-09 パナソニックIpマネジメント株式会社 送信装置

Also Published As

Publication number Publication date
EP3038318B1 (en) 2018-07-18
EP3038318A1 (en) 2016-06-29
US20160191408A1 (en) 2016-06-30
JP2016127426A (ja) 2016-07-11

Similar Documents

Publication Publication Date Title
JP6488702B2 (ja) 通信制御装置、通信制御方法、および、通信制御プログラム
CN104717201B (zh) 网络装置以及网络系统
US8966609B2 (en) Authentication method and apparatus for detecting and preventing source address spoofing packets
JP6569087B2 (ja) 受信装置および受信方法
US20240146538A1 (en) Systems and methods for verifying a route taken by a communication
JP6026789B2 (ja) ネーム基盤のネットワークシステムでペンディングテーブルのオーバーフローを防止するノード装置、並びにそのオーバーフローを防止する装置及び方法
JP5770602B2 (ja) 通信システムにおけるメッセージ認証方法および通信システム
JP6814549B2 (ja) 演算装置、認証システム、認証方法
US10560286B2 (en) Gateway device and control method for the same
US10581849B2 (en) Data packet transmission method, data packet authentication method, and server thereof
CN110048986B (zh) 一种保证环网协议运行安全的方法及装置
JP2013048374A (ja) 保護通信方法
JP2017506846A (ja) 公開鍵を基礎とするデジタル署名を使用してソースルーティングを保全するためのシステムおよび方法
KR101048509B1 (ko) 유비쿼터스 센서 네트워크에서의 위치 정보 및 해쉬 체인을 이용한 시빌 공격 노드 탐지 방법 및 장치
EP3220576B1 (en) Information processing device and message authentication method
JP2016116132A (ja) 通信制御装置、通信制御方法、および、通信制御プログラム
JP6728700B2 (ja) 通信システム、通信プログラム、通信方法、および、通信装置
KR20150135032A (ko) Puf를 이용한 비밀키 업데이트 시스템 및 방법
CN108352991B (zh) 信息处理装置以及不正当消息检测方法
EP1615370B1 (en) Authentication of short messages
JP2016100842A (ja) 通信制御装置、通信制御方法、および、通信制御プログラム
US20150086015A1 (en) Cryptographically Protected Redundant Data Packets
CN112930662B (zh) 信息处理装置、管理装置
JP6958114B2 (ja) 電子制御装置
JP2006140881A (ja) 認証情報付きネットワーク識別子生成装置および機器認証装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180817

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190211

R150 Certificate of patent or registration of utility model

Ref document number: 6488702

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150