JP6409849B2 - 通信システム及び通信方法 - Google Patents

通信システム及び通信方法 Download PDF

Info

Publication number
JP6409849B2
JP6409849B2 JP2016213501A JP2016213501A JP6409849B2 JP 6409849 B2 JP6409849 B2 JP 6409849B2 JP 2016213501 A JP2016213501 A JP 2016213501A JP 2016213501 A JP2016213501 A JP 2016213501A JP 6409849 B2 JP6409849 B2 JP 6409849B2
Authority
JP
Japan
Prior art keywords
information
communication
message
communication message
authenticator
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
JP2016213501A
Other languages
English (en)
Other versions
JP2018074435A (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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2016213501A priority Critical patent/JP6409849B2/ja
Priority to DE102017123255.9A priority patent/DE102017123255B4/de
Priority to US15/729,858 priority patent/US10735517B2/en
Priority to CN202110044333.4A priority patent/CN112865977B/zh
Priority to CN201710994269.XA priority patent/CN108023730B/zh
Publication of JP2018074435A publication Critical patent/JP2018074435A/ja
Application granted granted Critical
Publication of JP6409849B2 publication Critical patent/JP6409849B2/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
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
    • 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
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/041Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 using an encryption or decryption engine integrated in transmitted data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1475Passive attacks, e.g. eavesdropping or listening without modification of the traffic monitored

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)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、車載された複数の電子制御装置がネットワーク接続されている通信システム、及び該通信システムに利用される通信方法に関する。
周知のように、車両に搭載された複数の電子制御装置(ECU)は、それぞれが同じネットワークに接続されていて、それらの有する情報(車両情報)が相互に送受信可能である車両用の通信システムを構成していることが多い。こうした通信システムの一例が特許文献1に記載されている。
特許文献1に記載されている通信システムは、データを送信する送信端末と、その送信端末からデータを受信する受信端末とを備える。送信端末は、データ取得部と、受信部と、鍵取得部と、受信部からチャレンジ情報を受信し、時変パラメータを管理する時変パラメータ管理部とを有する。また、送信端末は、受信した鍵情報、チャレンジ情報及び時変パラメータを用いて受信した通信データを変換して変換データを生成するデータ変換部と、データ変換部から変換データを受信し、該変換データを受信端末へ送信する送信部とを有する。一方、受信端末は、チャレンジ情報を生成するチャレンジ生成部と、チャレンジ情報を送信端末へ送信する送信部と、送信端末から変換データを受信する受信部と、送信端末における鍵情報と同一の鍵情報を取得する鍵取得部とを有する。また、受信端末は、受信した変換データの新規性を判断する時変パラメータ判断部と、受信した鍵情報、チャレンジ情報及び時変パラメータを用いて、受信した変換データが正しく変換されているか否かを認証し、その認証結果を時変パラメータ判断部へ送信するデータ認証部とを有する。そして、時変パラメータ判断部は、データ認証部から受信した認証結果に基づいて変換データの新規性を判断する。
特開2011−66703号公報
特許文献1に記載のシステムによれば、通信メッセージに含まれている時変パラメータは、時変パラメータを適切に変更できない攻撃者による正規の送信者へのなりすましを抑制して、通信メッセージの信頼性を向上させるようになる。
しかしながら、通信メッセージにより一層の信頼性の確保には、時変パラメータの値を一度限りの使い切りが望ましいが、そうなると時変パラメータのデータ長が必然的に長くならざるをえない。そして、データ長の長い時変パラメータが送信される通信メッセージに含まれるとなると、こうした時変パラメータを含む通信メッセージによって増加する通信量も無視できない。
本発明は、このような実情に鑑みてなされたものであって、その目的は、通信量の増加を抑えつつ、通信メッセージの信頼性を確保することができる通信システム、及び通信システムに用いられる通信方法を提供することにある。
以下、上記課題を解決するための手段及びその作用効果を記載する。
上記目的を達成するために通信システムは、第1の情報と第2の情報とが組み合わされてなる管理コードのうちの前記第1の情報を記憶するとともに、記憶する前記第1の情報を前記第2の情報が複数回更新されることに基づいて1回更新するように管理する管理装置と、前記管理装置に通信ネットワークを介して通信可能に接続された受信装置及び送信装置とを備え、前記管理装置は、前記第1の情報を含む通信メッセージを送信し、前記受信装置及び送信装置は、前記管理装置が送信した前記通信メッセージを受信する都度、前記受信した通信メッセージに含まれる前記第1の情報を保持するものであり、前記送信装置は、前記管理コードのうちの前記第2の情報を管理するものであり、通信データと、前記保持する前記第1の情報及び前記管理する第2の情報を組み合わせてなる前記管理コードとから認証子を生成して、前記通信データと、前記管理する第2の情報と、前記生成した認証子とを含み、前記保持する第1の情報を含まない通信メッセージを生成して送信するとともに、通信メッセージの生成後に前記管理する第2の情報の値を更新し、前記受信装置は、前記送信装置の送信した前記通信メッセージを受信して、前記受信した通信メッセージに含まれる認証子と、前記受信した通信メッセージに基づいて再生成した認証子との比較に基づいて前記受信した通信メッセージを認証するものであって、前記受信装置は、前記保持する第1の情報及び前記送信装置の送信した通信メッセージから取得した前記第2の情報を組み合わせて管理コードを再構成し、前記送信装置の送信した通信メッセージから取得した通信データと、前記再構成した管理コードとから前記再生成した認証子を取得することを特徴とする。
上記目的を達成するために通信システムで用いられる通信方法は、管理装置で第1の情報と第2の情報とが組み合わされてなる管理コードのうちの前記第1の情報を記憶するとともに、記憶する前記第1の情報を前記第2の情報が複数回更新されることに基づいて1回更新するように管理する管理装置と、前記管理装置に通信ネットワークを介して通信可能に接続された受信装置及び送信装置とを備えた通信システムで用いられる通信方法であって、前記管理装置で前記第1の情報を含む通信メッセージを送信する工程と、前記受信装置及び送信装置で、前記管理装置が送信した前記通信メッセージを受信する都度、前記受信した通信メッセージに含まれる前記第1の情報を保持する工程と、前記送信装置で前記管理コードのうちの前記第2の情報を管理するものであり、通信データと、前記保持する第1の情報及び前記管理する第2の情報を組み合わせてなる前記管理コードとから認証子を生成して、前記通信データと、前記管理する第2の情報と、前記生成した認証子とを含み、前記保持する第1の情報を含まない通信メッセージを生成して送信するとともに、通信メッセージの生成後に前記管理する第2の情報の値を更新する工程と、前記受信装置で前記送信装置の送信した前記通信メッセージを受信して、前記受信した通信メッセージに含まれる認証子と、前記受信した通信メッセージに基づいて再生成した認証子との比較に基づいて前記受信した通信メッセージを認証する工程と、前記受信装置で前記保持する第1の情報及び前記送信装置の送信した通信メッセージから取得した前記第2の情報を組み合わせて管理コードを再構成し、前記送信装置の送信した通信メッセージから取得した通信データと、前記再構成した管理コードとから前記再生成した認証子を取得する工程とを有することを特徴とする。
通信の信頼性をより高めるためには管理コードを一度きりの値とすることが望ましいが、通信システムの使用期間に渡って管理コードを一度きりの値としようとすると管理コードに要する情報量が大きくなってしまう。そして、この管理コードを通信メッセージに含めるとなると、通信メッセージにおける管理コードの占有量が多くなり、送信したい通信内容であるメッセージデータに割り当てることのできる容量が少なくなってしまうといった問題がある。
この点、このような構成によれば、通信メッセージには管理コードのうちの第2の情報だけが含まれることとなり、通信データのために多くの領域を確保することができる。
また、管理コードのうちの第1の情報は、管理装置によって管理されることから、送信装置及び受信装置のそれぞれの間で同期されるようにもなる。つまり、受信装置は、管理装置から送信された第1の情報と、送信装置から送信された通信メッセージに含まれる第2の情報とを組み合わせることで、送信装置で認証子の生成に利用された管理コードを再構成することができる。これにより、管理コードの大きさを信頼性の確保に必要とされるサイズにしたとしても、通信メッセージの格納に要する容量を少なく抑えて、通信データのための容量の減少を抑制することができる。これにより、通信量の増大を抑えつつ、通信メッセージの信頼性を確保することができるようになる。
また、管理装置から送信された管理コードのうちの第1の情報が受信されることによって、受信した管理コードのうちの第1の情報に受信装置及び送信装置が記憶している管理コードのうちの第1の情報が更新される、すなわち同期される。これにより、管理コードが第1の情報と第2の情報とに2分割されたとしても、通信メッセージを管理コードによって認証することが可能になる。
また、受信装置及び送信装置に記憶されている管理コードのうちの第1の情報を同期させることができるので、受信装置や送信装置は、記憶している管理コードのうちの第1の情報がリセット等により非同期に初期化されたとしても、その記憶している管理コードが同期されて正常な値に設定し直されることで、認証を正常に行うことが可能にもなる。
好ましい構成として、前記管理装置は、前記第1の情報を含む通信メッセージを、前記第1の情報から生成した認証子と、前記第1の情報とを含む通信メッセージとし、前記受信装置及び前記送信装置はそれぞれ、前記管理装置の送信した通信メッセージを受信するとともに、前記受信した通信メッセージの認証を、前記受信した通信メッセージに含まれている認証子と、前記受信した通信メッセージに含まれている前記第1の情報から再生成した認証子との比較により行うものである。
このような構成によれば、管理装置から通信メッセージで送信される管理コードのうちの第1の情報についても、第1の情報のみが送信される場合に比較して、その通信内容の信頼性が維持されるようになる。
また、管理装置から通信メッセージで送信される認証子は、管理コードのうちの第1の情報から生成された認証子である。このため、この通信メッセージを受信した受信装置や送信装置においても、通信メッセージで送信された認証子と、この通信メッセージで送信される管理コードのうちの第1の情報から生成した認証子とが取得でき、これら認証子の比較で、通信メッセージの認証が可能になる。よって、受信装置及び送信装置は、管理装置からの通信メッセージを受信することで、信頼性の確保された管理コードのうちの第1の情報を取得し、これに基づく通信メッセージの認証を行うことができるようになる。
好ましい構成として、前記管理コードはビットデータであり、前記第1の情報が上位ビットであり、前記第2の情報が下位ビットであり、前記管理装置は、前記下位ビットの有する全てのパターンが使い切られる以前のタイミングで前記上位ビットを以前と重複しない新しい値に更新して前記通信メッセージを送信し、前記送信装置は、前記管理装置から送信された前記通信メッセージが受信される都度、前記管理コードのうちの前記下位ビットを初期化するとともに、前記通信メッセージの生成の都度に行う前記管理コードのうちの前記下位ビットの更新を、次に前記管理装置から送信された前記通信メッセージが受信されるまでの間は重複しない値により行う。
このような構成によれば、第1の情報及び第2の情報がそれぞれ、管理コードの上位ビットと下位ビットとに対応するので、管理コードを2つに分割すること、逆に上位ビットと下位ビットとを組み合わせることが容易にできるようになる。
また、暗号化された通信メッセージであれ、予め取得した正規の通信メッセージであれば、それを、その後に不正送信することが可能となる。この点、このような構成によれば、管理コードの値が重複することがないように更新されるので、一度送信された通信メッセージが再送信されたとしてもこれを無効と判断できるようになる。
好ましい構成として、前記通信メッセージには通信内容に応じて相違する識別子が付与され、前記管理装置は、前記管理コードを前記識別子の別に管理する。
このような構成によれば、識別子の別に管理コードが管理されるので、管理コードに必要とされる大きさが抑えられる。また、識別子の別であれば管理コードのうちの第2の情報の更新にも時間的な余裕が得られるようになることから管理コードの同期の自由度も高められる。
好ましい構成として、前記送信装置及び前記受信装置は、共通の暗号鍵を有しており、当該暗号鍵を利用して前記認証子を生成する。
このような構成によれば、送信装置から送信される認証子の信頼性、つまり通信メッセージの信頼性が共通の暗号鍵により確保される。また、耐タンパメモリ等を用いて暗号鍵が外部から取得不可能であればなおよい。
好ましい構成として、前記管理装置は、前記送信装置及び前記受信装置と共通の暗号鍵を有しており、当該暗号鍵を利用して前記認証子を生成する。
このような構成によれば、管理装置から送信される認証子の信頼性、つまり通信メッセージの信頼性が共通の暗号鍵により確保される。
通信システムを具体化した一実施形態について、その概略構成を示すブロック図。 同実施形態においてゲートウェイで実行される処理の概要を模式的に示す模式図。 同実施形態における電子制御装置(ECU)の概略構成を模式的に示す模式図。 同実施形態において電子制御装置(ECU)が送信時に実行する処理の概要を模式的に示す模式図。 同実施形態において電子制御装置(ECU)が受信時に実行する処理の概要を模式的に示す模式図。 同実施形態においてメッセージカウンタが同期されるときのゲートウェイ側の手順を示すフローチャート。 同実施形態においてメッセージカウンタが同期されるときのECU側の手順を示すフローチャート。
図1を参照して、通信システムを具体化した一実施形態について説明する。本実施形態の通信システムは、図示しない車両に搭載された車載ネットワークに適用された通信システムである。
図1に示すように、通信システムは、送信装置及び受信装置の少なくとも一方としての第1〜第4電子制御装置(ECU)21〜24と、第1及び第2ECU21,22が通信可能に接続される通信用バスL1と、第3及び第4ECU23,24が通信可能に接続される通信用バスL2とを有している。本実施形態では、通信用バスL1と通信用バスL2とが通信ネットワークを構成する。また、通信システムは、通信用バスL1と通信用バスL2とに通信可能に接続される管理装置としてのゲートウェイ10を備えている。ゲートウェイ10は、通信用バスL1と通信用バスL2との間で通信メッセージMBを相互に転送(中継)することができる。よって、通信用バスL1に接続された第1及び第2ECU21,22と、通信用バスL2に接続された第3及び第4ECU23,24とは、ゲートウェイ10を介して、相互に通信メッセージMBの送受信が可能である。
通信システムは、通信プロトコルとして、例えば、CAN(コントローラエリアネットワーク)プロトコルが採用されている。また、通信システムは、通信経路の一部に無線通信を含んでいたり、ゲートウェイ等を介してその他のネットワークを経由する経路が含まれていたりしてもよい。
CANプロトコルには、通信メッセージの構造であるフレームが規定されており、そのフレームには、通信メッセージの種類を示す識別子としての「メッセージID」の格納領域、ユーザが指定したデータである「メッセージデータ」の格納領域である「データフィールド」等が設けられている。「メッセージID」は、通信メッセージの種類毎に特定の値が定められており、各ECUは、送信する通信メッセージに、その種類に対応する「メッセージID」を付与して送信し、受信した通信メッセージの種類を「メッセージID」に基づいて判断する。この通信システムでは、ある1つの「メッセージID」を通信メッセージに付与して送信することができるのは、定められた一つのECUに限定されている。また、「メッセージデータ」が格納される領域である「データフィールド」は、0〜64ビット(8ビット×0〜8バイト)のうちのいずれかの長さで設定される。
ゲートウェイ10は、演算装置(CPU)や記憶装置を有するマイクロコンピュータを含み構成されている。ゲートウェイ10には、プログラムの演算処理を実行する演算装置と、そのプログラムやデータ等が記憶された読み出し専用メモリ(ROM)と、演算装置の演算結果が一時的に記憶される揮発性メモリ(RAM)とが設けられている。これにより、ゲートウェイ10は、記憶装置に保持されているプログラムを演算装置に読み込み、実行することで、所定の機能を提供する。例えば、ゲートウェイ10は、2つの通信用バスL1,L2の間で通信メッセージMBを転送する処理や、管理コードとしてのメッセージカウンタMC(図2参照)を管理する処理を行う。また、ゲートウェイ10は、バッテリから常に電力が供給されることにより設定値や演算値を記憶保持するバックアップメモリを備えている。
ゲートウェイ10は、メッセージカウンタMC(図2参照)を管理するコード管理部11と、メッセージカウンタMCの一部を送信する送信部12と、ゲートウェイ10が接続された各通信用バスL1,L2との間で各通信メッセージMBを授受する通信I/F部13とを備える。なお、コード管理部11及び送信部12の各機能は、ゲートウェイ10によるプログラムの演算処理により実現される。
通信I/F13は、通信用バスL1,L2との間でCANプロトコルに基づく通信メッセージMBを送受信する。また、通信I/F13は、送信部12等との間で通信メッセージMBを授受する。これにより、ゲートウェイ10は、自身が出力する同期用メッセージMAを通信用バスL1,L2に送信可能であるとともに、通信用バスL1,L2を介して他のECUが送信する通信メッセージMBを取得することができる。なお、本実施形態では、同期用メッセージMAは、CANプロトコルに基づく通常の通信メッセージのうちで同期用メッセージであることを示すメッセージIDが付与されたものである。よって、同期用メッセージMAは、通常の通信メッセージと同様に、各通信用バスL1,L2に接続されているECU21〜24に対してブロードキャストで送信される。
図2を参照して、コード管理部11について説明する。
コード管理部11は、ゲートウェイ10のバックアップメモリに記憶されるメッセージカウンタMCを管理する。なお、コード管理部11は、メッセージカウンタMCのうちの「上位ビットMCH」を記憶、管理する。また、コード管理部11は、メッセージカウンタMCのうちの「下位ビットMCL」の最新の値を通信メッセージMBから取得して、その値を監視するために記憶する。以下では、メッセージカウンタMCの全長については、単にメッセージカウンタMCと記載する。
メッセージカウンタMCは、「メッセージID」毎に管理されているカウンタであり、対応する「メッセージID」を有する通信メッセージが新たに生成されることに応じて、その値が更新されるカウンタである。つまり、「メッセージID」毎に対応するメッセージカウンタMCが更新される。本実施形態では、メッセージカウンタMCは、1ずつ増加させられるカウンタである。なお、以下では、1つの「メッセージID」と、これに対応するメッセージカウンタMCとを例にして説明し、説明の便宜上、その他の「メッセージID」とそれに対応するメッセージカウンタMCとの例についての説明は割愛する。
本実施形態では、メッセージカウンタMCを第1の情報としての「上位ビットMCH」と第2の情報としての「下位ビットMCL」とに2分割する。そして、「上位ビットMCH」をゲートウェイ10で記憶、管理及び送信し、「下位ビットMCL」を各ECU21〜24で記憶、管理及び送信するようにしている。また、メッセージカウンタMCは、「下位ビットMCL」が「0」から最大値まで変化したことに応じて、ゲートウェイ10が「上位ビットMCH」の値を「1」だけ増加させるとともに、その「上位ビットMCH」の増加に応じてECUが「下位ビットMCL」を初期値「0」に設定することを繰り返す。これにより、メッセージカウンタMCは、二度と同じ値にならないようになっている。なお、ゲートウェイ10は、メッセージカウンタMCを記憶する領域として確保された記憶領域にメッセージカウンタMCのうちの「上位ビットMCH」を記憶して、管理する。このとき、ゲートウェイ10は、メッセージカウンタMCのうちの「下位ビットMCL」を上記確保した記憶領域の対応する位置に入れて管理してもよいし、上記確保したメッセージカウンタMCを記憶する記憶領域とは別に確保した記憶領域にメッセージカウンタMCと分けて格納して、管理してもよい。つまり、ゲートウェイ10は、メッセージカウンタMCのうちの「下位ビットMCL」に対応するビットに、通信メッセージMBで受信される「下位ビットMCL」を入れてもよいし、所定の値を設定しておいてもよいし、「下位ビットMCL」に対応するビットを含まないかたちで管理してもよい。
メッセージカウンタMCは、通信メッセージMBの信頼性を担保できる情報量、すなわちビット長(ビット数)に設定される。例えば、メッセージカウンタMCを単調増加させつつ、二度と同じ値で使用することがないようにすることで通信メッセージMBの信頼性を担保する場合、車両寿命と通信メッセージMBの送信頻度とから、メッセージカウンタMCの長さ(ビット数)は、計算上、8バイトの長さが必要である。この8バイトの長さは、「データフィールド」の最大長64ビット(=8バイト)と同じ長さであるため、もし、メッセージカウンタMCを通信メッセージMBに格納して送信しようとすると、通信メッセージMBにユーザが指定したデータである「メッセージデータ」が格納できないことになってしまう。そこで、上述のように、メッセージカウンタMCを「上位ビットMCH」と「下位ビットMCL」とに2分割にして管理する。
詳述すると、コード管理部11は、メッセージカウンタMCのうちの「上位ビットMCH」を管理する。例えば、本実施形態では、メッセージカウンタMCが8バイト長である場合、「上位ビットMCH」を7バイト(=56ビット)長、「下位ビットMCL」を1バイト(=8ビット)長とする。この場合「下位ビットMCL」の最大値は「255」になる。
コード管理部11は、メッセージカウンタMCが二度と同じ値にならないように、メッセージカウンタMCのうちの「上位ビットMCH」を更新し、管理する。具体的には、コード管理部11は、メッセージカウンタMCのうちの「上位ビットMCH」を、更新タイミングで単調増加させることで更新する。更新タイミングは、メッセージカウンタMCのうちの「下位ビットMCL」が最大値になったタイミング、すなわち、「下位ビットMCL」の有する全てのパターンが使い切られるタイミングである。例えば、コード管理部11は、第1ECU21が送信する通信メッセージMBを受信することでメッセージカウンタMCのうちの「下位ビットMCL」を監視し、この「下位ビットMCL」が最大値以上になったときを更新タイミングにする。
コード管理部11は、メッセージカウンタMCのうちの「上位ビットMCH」を更新することに応じて、メッセージカウンタMCのうちの「上位ビットMCH」を送信部12に伝達する。
送信部12は、メッセージカウンタMCのうちの「上位ビットMCH」から「認証子AC1」を生成するとともに、生成した「認証子AC1」とメッセージカウンタMCのうちの「上位ビットMCH」とを含む同期用メッセージMAを生成する。同期用メッセージMAは、「データフィールド」にメッセージカウンタMCのうちの「上位ビットMCH」と、メッセージカウンタMCのうちの「上位ビットMCH」を暗号化した「認証子AC1」とを格納した通信メッセージである。そして、送信部12は、通信I/F13を介して、同期用メッセージMAを、CANプロトコルにおいて優先度の高いメッセージIDを有する通信メッセージとして、第1〜第4ECU21〜24へ送信する。なお、優先度の高いメッセージIDは、同期用メッセージMAのために予め設定されているものとする。そして、同期用メッセージMAは、ゲートウェイ10で管理しているメッセージカウンタMCのうちの「上位ビットMCH」を第1〜第4ECU21〜24へそれぞれ通知し、各ECU21〜24で管理されているメッセージカウンタMCのうちの「上位ビットMCH」を同期させる。
図2に示すように、送信部12は、暗号化エンジン111を備えている。暗号化エンジン111は、暗号鍵EKが設定されており、コード管理部11からメッセージカウンタMCのうちの「上位ビットMCH」を入力し、この入力したメッセージカウンタMCのうちの「上位ビットMCH」を暗号鍵EKで暗号化することで「認証子AC1」を生成する。そして、送信部12は、メッセージカウンタMCのうちの「上位ビットMCH」と、「認証子AC1」とから同期用メッセージMAを生成する。なお、暗号鍵EKは、耐タンパメモリ等を用いて外部から取得不可能であればなおよい。
また、送信部12は、同期用メッセージMAを、メッセージカウンタMCのうちの「上位ビットMCH」が更新されることに応じて、全てのECUに対して送信する。つまり、ゲートウェイ10は、メッセージカウンタMCのうちの「上位ビットMCH」を送信する。
図3及び図4を参照して、第1〜第4ECU21〜24について説明する。なお、第1〜第4ECU21〜24は、いずれも同様の構成を有しているので、ここでは第1ECU21について詳しく説明し、その他のECUの構成についての説明は割愛する。
第1ECU21は、演算装置(CPU)や記憶装置を有するマイクロコンピュータを含み構成されている。第1ECU21には、プログラムの演算処理を実行する演算装置と、そのプログラムやデータ等が記憶された読み出し専用メモリ(ROM)と、演算装置の演算結果が一時的に記憶される揮発性メモリ(RAM)とが設けられている。これにより、第1ECU21は、記憶装置に保持されているプログラムを演算装置に読み込み、実行することで、所定の機能を提供する。例えば、第1ECU21は、通信用バスL1との間で通信メッセージMBを送受信する処理や同期用メッセージMAを受信する処理、管理コードとしてのメッセージカウンタMCを管理する処理を行う。また、第1ECU21は、バッテリから常に電力が供給されることにより設定値や演算値を記憶保持するバックアップメモリを備えている。
図3及び図4に示すように、第1ECU21は、CANプロトコル用の通信I/F30と、通信メッセージが一時的に格納される複数のMBOX(MessageBox)31a,31b,31cと、送信する通信メッセージMB等に含まれる「認証子AC2」を生成する認証子生成部33とを備える。また、第1ECU21は、認証子を含み送受信される通信メッセージMBを処理するメッセージ処理部34と、「メッセージデータDT」を処理する情報処理部32とを備える。なお、認証子生成部33及びメッセージ処理部34の各機能は、第1ECU21によるプログラムの演算処理により実現される。
通信I/F部30は、通信用バスL1を介して同期用メッセージMAを受信したり、通信メッセージMBを送受信したりする。
複数のMBOX31a,31b,31cは、通信I/F部30によって受信された通信メッセージMBを中継する。また、複数のMBOX31a,31b,31cは、通信I/F部30から送信する通信メッセージMBを中継する。例えば、MBOX31aは、通信I/F部30と情報処理部32との間で認証子を含まない通信メッセージを中継する。また、MBOX31bは、通信I/F部30と認証子生成部33との間で通信メッセージを中継する。MBOX31bは、特に、メッセージカウンタMCの管理に必要である同期用メッセージMAを中継する。MBOX31cは、通信I/F部30とメッセージ処理部34との間で通信メッセージを中継する。MBOX31cは、特に、通信メッセージMBを中継等する。
情報処理部32は、第1ECU21が受信した通信メッセージに含まれる「メッセージデータDT」を利用する各種アプリケーションを実行する。また、情報処理部32は、各種アプリケーションが出力したデータを外部へ送信する「メッセージデータDT」として出力する。
メッセージ処理部34は、送受信される通信メッセージMBの信頼性を以下のようにして確保する。
通信メッセージMBを受信したとき、メッセージ処理部34は、MBOX31cから通信メッセージMBを入力し、この入力した通信メッセージMBを認証する。そしてメッセージ処理部34は、認証した通信メッセージMBに含まれる「メッセージデータDT」を情報処理部32に出力する。
また、通信メッセージMBを送信するとき、メッセージ処理部34は、情報処理部32から「メッセージデータDT」を入力し、この入力した「メッセージデータDT」に基づく「認証子AC2」を生成する。そして、メッセージ処理部34は、「メッセージデータDT」と「認証子AC2」とを含む送信する通信メッセージMBを生成し、この生成した送信する通信メッセージMBをMBOX31cに出力する。
認証子生成部33は、メッセージカウンタMCのうちの「上位ビットMCH」と「下位ビットMCL」とを管理している。なお、認証子生成部33は、メッセージカウンタMCのうちの「上位ビットMCH」と「下位ビットMCL」とを1つだけ確保されたメッセージカウンタMCの記憶領域の対応する位置に記憶するようにしてもよいし、「上位ビットMCH」と「下位ビットMCL」とをそれぞれ別々に確保された記憶領域に記憶するようにしてもよい。また、認証子生成部33は、電源遮断やリセットによって「下位ビットMCL」を記憶保持するため記憶領域や、「上位ビットMCH」を記憶保持するため記憶領域の値が初期化されるようになっている。この初期化は、他のECUやゲートウェイ10とは非同期に生じることも少なくない。
認証子生成部33は、メッセージカウンタの同期処理と、通信メッセージの送信時処理と、通信メッセージの受信時処理とを行う。そこで各処理について、以下に詳述する。
[メッセージカウンタの同期処理]
認証子生成部33は、MBOX31bから同期用メッセージMAが入力されたとき、同期用メッセージMAを認証するとともに、認証できたことを条件に「上位ビットMCH」の値を同期用メッセージMAに含まれている「上位ビットMCH」の値により更新する。また、認証子生成部33は、「上位ビットMCH」の値の更新を条件に「下位ビットMCL」の値を初期化して「0」にする。これにより「下位ビットMCL」は「0」から最大値までの範囲で更新可能に設定される。
また、認証子生成部33は、同期用メッセージMAの認証を行う。認証子生成部33は、MBOX31bから入力した同期用メッセージMAから「認証子AC1」と「上位ビットMCH」を取得する。そして、認証子生成部33は、取得した「上位ビットMCH」を、暗号化エンジン35で暗号化して認証子を再生成する。そして、認証子生成部33は、再生成した認証子と同期用メッセージMAから取得した「認証子AC1」とを比較し、比較の結果が一致すれば同期用メッセージMAを認証する旨を判定し、一致しないのであれば同期用メッセージMAを認証しない旨を判定する。
なお、認証子生成部33は、暗号化エンジン35を備えている。暗号化エンジン35は、暗号鍵EKが設定されており、認証子生成部33からメッセージデータDTやメッセージカウンタMCを入力し、暗号鍵EKで暗号化することで認証子を生成する。暗号鍵EKは、ゲートウェイ10と同じものが設定されていることから、第1ECU21とゲートウェイ10との間、及び、第1ECU21と第2〜4ECU22〜24との間ではそれぞれ暗号化された通信が可能である。なお、暗号鍵EKは、耐タンパメモリ等を用いて外部から取得不可能であればなおよい。
[通信メッセージの送信時処理]
認証子生成部33は、通信メッセージMBの送信時処理として、送信する通信メッセージMBの認証子の生成処理を行う。認証子生成部33は、メッセージ処理部34から「メッセージデータDT」が入力される。認証子生成部33は、管理している「下位ビットMCL」と同期用メッセージMAから取得して保持している「上位ビットMCH」とから、メッセージカウンタMCを再構成するとともに、暗号化エンジン35で、再構成したメッセージカウンタMCと入力されたメッセージデータDTとを暗号鍵EKで暗号化して「認証子AC2」を生成する。また、認証子生成部33は、入力した「メッセージデータDT」と、「認証子AC2」の生成に使用した「下位ビットMCL」と、生成した「認証子AC2」とをメッセージ処理部34に出力する。そして、メッセージ処理部34は、認証子生成部33から入力した「メッセージデータDT」、「下位ビットMCL」及び「認証子AC2」から送信する通信メッセージMBを生成するとともに、この生成した通信メッセージMBをMBOX31cに出力する。また、認証子生成部33は、「認証子AC2」を生成したことに対応して「下位ビットMCL」を1つ大きい値に更新する。これによって、「認証子AC2」が生成されるとき、メッセージカウンタMCが過去の値と二度と同じ値にならないようになっている。
[通信メッセージの受信時処理]
認証子生成部33は、通信メッセージMBの受信時処理として、受信した通信メッセージMBの認証処理を行う。認証処理では、「認証子AC2」に基づく認証を行う。
認証子生成部33には、メッセージ処理部34から受信した通信メッセージMBの「メッセージデータDT」と、メッセージカウンタMCのうちの「下位ビットMCL」と、「認証子AC2」とが入力される。認証子生成部33は、入力された「下位ビットMCL」と、管理している「上位ビットMCH」とから、メッセージカウンタMCを再構成するとともに、暗号化エンジン35で、再構成したメッセージカウンタMCと入力された「メッセージデータDT」とを暗号鍵EKで暗号化して「認証子AC3」を再生成する。また、認証子生成部33は、入力した「認証子AC2」と、再生成した「認証子AC3」とを比較して、一致すれば認証する旨を判定し、一致しないのであれば認証しない旨を判定する。そして、認証子生成部33は、認証の判定結果をメッセージ処理部34に出力する。メッセージ処理部34は、認証された通信メッセージMBの「メッセージデータDT」を情報処理部32に出力する一方、認証されなかった通信メッセージMBの「メッセージデータDT」を破棄する。
本実施形態の通信システムの動作を説明する。
ここでは説明の便宜上、通信メッセージMBは、第1ECU21から送信されて、第3ECU23に受信されるものとする。
[上位ビットの更新]
図6及び図7には、メッセージカウンタMCのうちの「上位ビットMCH」を更新する手順を示す。この手順は、ゲートウェイ10やECU21〜24で所定の周期毎、又は所定の条件が成立する毎に実行が開始される。
図6に示すように、ゲートウェイ10は、同期用メッセージMAを送信するタイミングであるか否かを判定する(図6のステップS10)。送信するタイミングは、例えば、メッセージカウンタMCのうちの「上位ビットMCH」が更新されたとき等である。送信するタイミングではないと判定した場合(図6のステップS10でNO)、上位ビットを更新する処理が一旦終了される。
一方、送信するタイミングであると判定した場合(図6のステップS10でYES)、ゲートウェイ10は、「同期用メッセージMA」を全ECU21〜24に送信する(図6のステップS11)。そして、上位ビットを更新する処理は一旦終了する。
図7に示すように、各ECU21〜24は、同期用メッセージMAを受信したか否かを判定する(図7のステップS20)。同期用メッセージMAを受信していないと判定した場合(図7のステップS20でNO)、上位ビットを更新する処理は一旦終了する。一方、同期用メッセージMAを受信したと判定した場合(図7のステップS20でYES)、各ECU21〜24は、受信した同期用メッセージMAの「認証子AC1」を認証する(図7のステップS21)。「認証子AC1」の認証は、認証子生成部33で再生成した認証子との比較で行われ、比較の結果が一致すれば認証される一方、比較の結果が一致しなければ認証されない。同期用メッセージMAの「認証子AC1」を認証できない場合(図7のステップS21でNO)、上位ビットを更新する処理は一旦終了する。
一方、同期用メッセージMAの認証子AC1を認証した場合(図7のステップS21でYES)、各ECU21〜24は、記憶しているメッセージカウンタMCのうちの「上位ビットMCH」を更新する(図7のステップS22)。そして、上位ビットを更新する処理は一旦終了する。
[通信メッセージの送受信]
図4に示すように、第1ECU21は、情報処理部32が「メッセージデータDT」を生成すると、認証子生成部33で「メッセージデータDT」とメッセージカウンタMCとに基づいて「識別子AC2」を生成する。そして、第1ECU21は、「識別子AC2」を生成したときの「メッセージデータDT」及びメッセージカウンタMCのうちの「下位ビットMCL」と、生成した「識別子AC2」とから通信メッセージMBを生成するとともに、この生成した通信メッセージMBを通信用バスL1に送信する。通信用バスL1に送信された通信メッセージMBは、ゲートウェイ10で通信用バスL1から通信用バスL2に転送されて、通信用バスL2に接続されている第3ECU23で受信できるようになる。
図5に示すように、第3ECU23は、認証子生成部33で通信メッセージMBから「メッセージデータDT」と、メッセージカウンタMCのうちの「下位ビットMCL」と、「識別子AC2」とを取得する。また、第3ECU23は、認証子生成部33でメッセージカウンタMCのうちの「下位ビットMCL」と、同期用メッセージMAから事前に取得したメッセージカウンタMCのうちの「上位ビットMCH」とからメッセージカウンタMCを再構成する。そして、第3ECU23は、暗号化エンジン35で「メッセージデータDT」と再構成したメッセージカウンタMCとから「認証子AC3」を再生成する。続いて、第3ECU23は、認証子生成部33で、取得した「識別子AC2」と再生成した「認証子AC3」とを比較して認証を行う。受信した通信メッセージMBが認証された場合、「メッセージデータDT」を情報処理部32へ送る。一方、受信した通信メッセージMBが認証されない場合、通信メッセージMBは破棄される。よって、通信メッセージMBがなりすましなどで送信された不正なものである場合、この不正な通信メッセージMBに含まれている「メッセージデータDT」が情報処理部32へ送られ、処理されることが防がれるようになる。
以上説明したように、本実施形態に係る通信システムによれば、以下に示すような効果が得られるようになる。
(1)通信メッセージMBにはメッセージカウンタMCのうちの「下位ビットMCL」だけが含まれることとなり、メッセージデータのために多くの領域を確保することができる。また、「上位ビットMCH」は、ゲートウェイ10によって管理されることから、各ECU21〜24のそれぞれの間で同期されるようにもなる。つまり、受信側の各ECU21〜24は、ゲートウェイ10からの「上位ビットMCH」と、通信メッセージMBに含まれる「下位ビットMCL」とを組み合わせることで、送信側の各ECU21〜24で「認証子AC2」の生成に利用されたメッセージカウンタMCを再構成することができる。これにより、メッセージカウンタMCの大きさを信頼性の確保に必要とされるサイズにしたとしても、通信メッセージMBの格納に要する容量を少なく抑えて、メッセージデータのための容量の減少を抑制することができる。これにより、通信量の増大を抑えつつ、通信メッセージMBの信頼性を確保することができるようになる。
(2)ゲートウェイ10から送信されたメッセージカウンタMCのうちの「上位ビットMCH」が受信されることによって、各ECU21〜24に記憶されているメッセージカウンタMCのうちの「上位ビットMCH」が、受信したメッセージカウンタMCのうちの「上位ビットMCH」に更新されて、すなわち同期される。これにより、メッセージカウンタMCが「上位ビットMCH」と「下位ビットMCL」とに2分割されたとしても、通信メッセージMBをメッセージカウンタMCによって認証することが可能になる。
また、各ECU21〜24に記憶されているメッセージカウンタMCのうちの「上位ビットMCH」を同期させることができる。よって、各ECU21〜24に記憶されているメッセージカウンタMCのうちの「上位ビットMCH」がECU21〜24のリセット等により非同期に初期化されたりしたとしても、記憶しているメッセージカウンタMCが正常な値に設定し直されることで、認証を正常に行うことが可能にもなる。
(3)「メッセージID」の別にメッセージカウンタMCが管理されるので、メッセージカウンタMCの大きさが抑えられる。また、「メッセージID」の別であればメッセージカウンタMCのうちの「下位ビットMCL」の更新にも時間的な余裕が得られるようになることからメッセージカウンタMCの同期の自由度も高められる。
(4)同期用メッセージMAで送信されるメッセージカウンタMCのうちの「上位ビットMCH」を暗号鍵EKを用いて暗号化して得られる「認証子AC1」を利用することで、ゲートウェイ10から同期用メッセージMAで送信されるメッセージカウンタMCのうちの「上位ビットMCH」についても、その通信内容の信頼性が維持されるようになる。
すなわち、ゲートウェイ10から同期用メッセージMAで送信される「認証子AC1」は、メッセージカウンタMCのうちの「上位ビットMCH」から生成された「認証子AC1」である。このため、この同期用メッセージMAを受信した各ECU21〜24においても、同期用メッセージMAで送信された「認証子AC1」と、この同期用メッセージMAで送信されるメッセージカウンタMCのうちの「上位ビットMCH」から再生成した認証子とが取得でき、これら認証子の比較で、同期用メッセージMAの認証が可能になる。よって、各ECU21〜24は、ゲートウェイ10からの同期用メッセージMAを受信することで、信頼性の確保されたメッセージカウンタMCのうちの「上位ビットMCH」を取得し、これに基づく同期用メッセージMAの認証を行うことができるようになる。
(5)メッセージカウンタMCの値が重複することがないように更新されるので、一度送信された通信メッセージMBが再送信されたとしてもこれを無効と判断することができるようになる。
(6)認証子AC1,AC2の信頼性、つまり通信メッセージMBの信頼性が共通の暗号鍵EKにより確保される。耐タンパメモリ等を用いて暗号鍵EKを外部から取得不可能にすればなおよい。
(その他の実施形態)
なお、上記実施形態は、以下の態様で実施することもできる。
[同期用メッセージ]
・上記実施形態では、メッセージカウンタが同期用メッセージで送信される場合について例示した。このとき、1つのメッセージIDに対して、同期用メッセージに用いるメッセージIDを1つずつ設けるようにしてもよい。この場合、通信システム全体としてメッセージIDの数が2倍以上になるおそれがある。
また、すべてのメッセージIDに対して、同期用メッセージに用いるメッセージIDを1つだけ設けるようにしてもよい。この場合、通信システム全体としてメッセージIDの数が1つ増えるだけである。さらに、全部よりも少ない複数のメッセージIDに対して、同期用メッセージに用いるメッセージIDを1つずつ設けるようにしてもよい。すなわち、同期用メッセージを共用することができれば、数に限りのあるメッセージIDのなかから同期用メッセージに割り当てるメッセージIDの数を少なく抑えることができる。メッセージIDの数が少なく抑えられれば、メッセージIDやメッセージデータを記憶するための領域の増加の抑制、処理負荷の増大の抑制、通信負荷の増大の抑制等も図られる。
[ゲートウェイ]
・上記実施形態では、ゲートウェイ10は、複数の通信用バスL1,L2の間における通信メッセージを中継する場合について例示した。しかしこれに限らず、ゲートウェイは、1つの通信用バスに接続されていてもよいし、2つよりも多い通信用バスの間に通信メッセージを中継してもよい。
・上記実施形態では、ゲートウェイ10が同期用メッセージMAを管理して送信する場合について例示した。しかしこれに限らず、ECUが同期用メッセージを管理して送信してもよい。
・上記実施形態では、1つのゲートウェイ10が同期用メッセージMAを管理して送信する場合について例示した。しかしこれに限らず、複数のゲートウェイやECUが同期用メッセージを分担して管理してもよい。
・上記実施形態では、コード管理部11は、メッセージカウンタMCのうちの「上位ビットMCH」を記憶、管理する場合について例示した。しかしこれに限らず、コード管理部は、メッセージカウンタMCの全長を保持していてもよい。そして、メッセージカウンタMCの「上位ビットMCH」に対応するビット部分を管理するようにしてもよい。なお、メッセージカウンタMCのうちの「下位ビットMCL」は最新の値を通信メッセージMBから取得してもよい。
・上記実施形態では、送信部12はメッセージカウンタMCの一部を送信する場合について例示した。しかしこれに限らず、ゲートウェイがメッセージカウンタの全体を保持していれば、送信部は同期用メッセージでメッセージカウンタの全体(全ビット数)を送信してもよい。なお、同期用メッセージを受信したECUは、メッセージカウンタの全体(全ビット数)のうちから上位ビットに対応する部分だけを利用すればよい。
[通信プロトコル]
・上記実施形態では、通信プロトコルがCANプロトコルである場合について例示した。しかしこれに限らず、通信メッセージの信頼性確保にメッセージカウンタを用いるのであれば、通信プロトコルは、CANプロトコル以外のプロトコル、例えば、イーサーネット(登録商標)やフレックスレイ(登録商標)などの通信プロトコルであってもよい。
[メッセージカウンタ]
・上記実施形態では、メッセージカウンタMCの長さが8バイト(64ビット)である場合について例示した。しかしこれに限らず、二度と同じ値が繰り返されないか、又は、同じ値が繰り返されるにしても長時間の時間間隔が確保できれば、メッセージカウンタの長さは、64ビットよも長い124ビット等や、逆に、64ビットよも短い32ビット等であってもよい。
・上記実施形態では、コード管理部11は、「下位ビットMCL」が最大値になることに応じて「上位ビットMCH」を更新する場合、いわゆる、ビット列において桁上がりが生じることと同様の態様について例示した。しかしこれに限らず、コード管理部はさらに、同期用メッセージMAを送信する所定の条件が成立することに応じて「上位ビットMCH」を更新してもよい。所定の条件には、イグニッションが「オフ」から「オン」された場合や、先の同期用メッセージを更新(送信)した時点から所定の時間(例えば、Ymsec:Yは設定可能な値)が経過した場合等の1又は複数の条件、及び、それらの条件の組み合わせからなる条件とすることができる。
・上記実施形態では、メッセージカウンタMCの「下位ビットMCL」が「0」から最大値まで変化したことに応じてゲートウェイ10で「上位ビットMCH」の値が「1」だけ増加される(単調増加される)場合について例示した。しかしこれに限らず、メッセージカウンタMCが二度と同じ値にならないようにできるのであれば、「下位ビットMCL」が最大値を超えるよりも以前のタイミングを更新タイミングとして「上位ビットMCH」を更新してもよい。このとき、できるだけ「下位ビットMCL」の最大値に近い値であるときを更新タイミングとすれば、メッセージカウンタMCのビット数を有効に利用できるようになる。例えば、コード管理部で、ECUが送信する通信メッセージを受信することでメッセージカウンタのうちの「下位ビットMCL」を監視し、この「下位ビットMCL」が最大値未満に設定された閾値である更新値以上になったときを更新タイミングにするようにすればよい。
・上記実施形態では、メッセージカウンタMCのうちの「下位ビットMCL」が初期値の「0」から最大値に向けて変化する場合について例示した。しかしこれに限らず、初期値を「0」より大きい値に設定し、最大値の次に「0」に戻して初期値の手前の値まで変化させるようにしてもよい。
・上記実施形態では、メッセージカウンタは通信メッセージが送信される都度、値が「1」ずつ増加される場合について例示した。しかしこれに限らず、通信メッセージの信頼性が確保されるのであれば、メッセージカウンタは、例えば、二度と同じ値を使用しないように最大値から「0」まで減少してもよいし、不規則な変化をしてもよい。なお、上位ビットと下位ビットとは別々に管理されることから、上位ビットの変化態様と下位ビットの変化態様とは同一であってもよいし、別々であってもよい。
・上記実施形態では、1つのメッセージIDに1つのメッセージカウンタMCが対応している場合について例示した。しかしこれに限らず、1つのメッセージカウンタに、複数のメッセージIDが対応してもよい。メッセージカウンタが、複数のメッセージIDに対応する場合、管理するメッセージカウンタの数を減らすことができるようにもなる。
・上記実施形態では、メッセージカウンタMCが二度と同じ値にならないようにしている場合について例示したが、これに限らず、メッセージカウンタMCが一時的に同じ値になったりしてもよい。例えば、「上位ビット」の更新が間に合わなかったり、同期できなかったりした場合、メッセージカウンタが一時的に過去と同じ値になって二度使用されてもよい。また、必要な信頼性が確保できるのであれば、同じ値を、所定回数だけ使いまわすようにしてもよい。
・上記実施形態では、「上位ビットMCH」を7バイト、「下位ビットMCL」を1バイトとする場合について例示した。しかしこれに限らず、上位ビットと下位ビットとは、それ以外のバイト、例えば、「6バイト」及び「2バイト」等で区切ってもよい。また、バイト単位で区切るのではなく、例えば「60ビット」と「4ビット」と等、ビットの単位で区切ってもよい。
[メッセージボックス]
・上記実施形態では、複数のMBOX31a,31b,31cを備える場合について例示したが、これに限らず、MBOXは、送受信する通信メッセージがECUのなかの適切な部分と授受できるように中継及び一時格納できるのであれば、1つでもよいし、2つや、4つ以上であってもよい。
[認証子生成部]
・上記実施形態では、「認証子AC2」に基づく認証を行う場合について例示した。このとき、「認証子AC2」に基づく認証に先立ち、通信メッセージMBからメッセージカウンタMCのうちの「下位ビットMCL」を取得し、取得した「下位ビットMCL」が、前回の取得した「下位ビットMCL」よりも大きい(更新されている)か否かを確認してもよい。そして、大きい(更新されている)場合、「認証子AC2」に基づく認証を行い、逆に、大きくない(更新されていない)場合、認証しない旨を判定するとともに、「認証子AC2」に基づく認証を割愛してもよい。
10…ゲートウェイ、11…コード管理部、12…送信部、13…通信I/F部、21〜24…第1電子制御装置(ECU)、30…通信I/F部、31a,31b,31c…MBOX、32…情報処理部、33…認証子生成部、34…メッセージ処理部、35…暗号化エンジン、111…暗号化エンジン、DT…メッセージデータ、EK…暗号鍵、L1,L2…通信用バス、MA…同期用メッセージ、MB…通信メッセージ、MC…メッセージカウンタ、AC1,AC2…認証子。

Claims (7)

  1. 第1の情報と第2の情報とが組み合わされてなる管理コードのうちの前記第1の情報を記憶するとともに、記憶する前記第1の情報を前記第2の情報が複数回更新されることに基づいて1回更新するように管理する管理装置と、
    前記管理装置に通信ネットワークを介して通信可能に接続された受信装置及び送信装置とを備え、
    前記管理装置は、前記第1の情報を含む通信メッセージを送信し、前記受信装置及び送信装置は、前記管理装置が送信した前記通信メッセージを受信する都度、前記受信した通信メッセージに含まれる前記第1の情報を保持するものであり、
    前記送信装置は、前記管理コードのうちの前記第2の情報を管理するものであり、通信データと、前記保持する前記第1の情報及び前記管理する第2の情報を組み合わせてなる前記管理コードとから認証子を生成して、前記通信データと、前記管理する第2の情報と、前記生成した認証子とを含み、前記保持する第1の情報を含まない通信メッセージを生成して送信するとともに、通信メッセージの生成後に前記管理する第2の情報の値を更新し、
    前記受信装置は、前記送信装置の送信した前記通信メッセージを受信して、前記受信した通信メッセージに含まれる認証子と、前記受信した通信メッセージに基づいて再生成した認証子との比較に基づいて前記受信した通信メッセージを認証するものであって、
    前記受信装置は、前記保持する第1の情報及び前記送信装置の送信した通信メッセージから取得した前記第2の情報を組み合わせて管理コードを再構成し、前記送信装置の送信した通信メッセージから取得した通信データと、前記再構成した管理コードとから前記再生成した認証子を取得する
    ことを特徴とする通信システム。
  2. 前記管理装置は、前記第1の情報を含む通信メッセージを、前記第1の情報から生成した認証子と、前記第1の情報とを含む通信メッセージとし、
    前記受信装置及び前記送信装置はそれぞれ、前記管理装置の送信した通信メッセージを受信するとともに、前記受信した通信メッセージの認証を、前記受信した通信メッセージに含まれている認証子と、前記受信した通信メッセージに含まれている前記第1の情報から再生成した認証子との比較により行うものである
    請求項1に記載の通信システム。
  3. 前記管理コードはビットデータであり、前記第1の情報が上位ビットであり、前記第2の情報が下位ビットであり、
    前記管理装置は、前記下位ビットの有する全てのパターンが使い切られる以前のタイミングで前記上位ビットを以前と重複しない新しい値に更新して前記通信メッセージを送信し、
    前記送信装置は、前記管理装置から送信された前記通信メッセージが受信される都度、前記管理コードのうちの前記下位ビットを初期化するとともに、前記通信メッセージの生成の都度に行う前記管理コードのうちの前記下位ビットの更新を、次に前記管理装置から送信された前記通信メッセージが受信されるまでの間は重複しない値により行う
    請求項1又は2に記載の通信システム。
  4. 前記通信メッセージには通信内容に応じて相違する識別子が付与され、
    前記管理装置は、前記管理コードを前記識別子の別に管理する
    請求項1〜3のいずれか一項に記載の通信システム。
  5. 前記送信装置及び前記受信装置は、共通の暗号鍵を有しており、当該暗号鍵を利用して前記認証子を生成する
    請求項1〜4のいずれか一項に記載の通信システム。
  6. 前記管理装置は、前記送信装置及び前記受信装置と共通の暗号鍵を有しており、当該暗号鍵を利用して前記認証子を生成する
    請求項2を直接的又は間接的に引用する請求項5に記載の通信システム。
  7. 管理装置で第1の情報と第2の情報とが組み合わされてなる管理コードのうちの前記第1の情報を記憶するとともに、記憶する前記第1の情報を前記第2の情報が複数回更新されることに基づいて1回更新するように管理する管理装置と、
    前記管理装置に通信ネットワークを介して通信可能に接続された受信装置及び送信装置とを備えた通信システムで用いられる通信方法であって、
    前記管理装置で前記第1の情報を含む通信メッセージを送信する工程と、
    前記受信装置及び送信装置で、前記管理装置が送信した前記通信メッセージを受信する都度、前記受信した通信メッセージに含まれる前記第1の情報を保持する工程と、
    前記送信装置で前記管理コードのうちの前記第2の情報を管理するものであり、通信データと、前記保持する第1の情報及び前記管理する第2の情報を組み合わせてなる前記管理コードとから認証子を生成して、前記通信データと、前記管理する第2の情報と、前記生成した認証子とを含み、前記保持する第1の情報を含まない通信メッセージを生成して送信するとともに、通信メッセージの生成後に前記管理する第2の情報の値を更新する工程と、
    前記受信装置で前記送信装置の送信した前記通信メッセージを受信して、前記受信した通信メッセージに含まれる認証子と、前記受信した通信メッセージに基づいて再生成した認証子との比較に基づいて前記受信した通信メッセージを認証する工程と、
    前記受信装置で前記保持する第1の情報及び前記送信装置の送信した通信メッセージから取得した前記第2の情報を組み合わせて管理コードを再構成し、前記送信装置の送信した通信メッセージから取得した通信データと、前記再構成した管理コードとから前記再生成した認証子を取得する工程と
    を有することを特徴とする通信方法。
JP2016213501A 2016-10-31 2016-10-31 通信システム及び通信方法 Active JP6409849B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2016213501A JP6409849B2 (ja) 2016-10-31 2016-10-31 通信システム及び通信方法
DE102017123255.9A DE102017123255B4 (de) 2016-10-31 2017-10-06 Kommunikationssystem und Kommunikationsverfahren
US15/729,858 US10735517B2 (en) 2016-10-31 2017-10-11 Communication system and communication method
CN202110044333.4A CN112865977B (zh) 2016-10-31 2017-10-23 通信系统及通信方法
CN201710994269.XA CN108023730B (zh) 2016-10-31 2017-10-23 通信系统及通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016213501A JP6409849B2 (ja) 2016-10-31 2016-10-31 通信システム及び通信方法

Publications (2)

Publication Number Publication Date
JP2018074435A JP2018074435A (ja) 2018-05-10
JP6409849B2 true JP6409849B2 (ja) 2018-10-24

Family

ID=61912097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016213501A Active JP6409849B2 (ja) 2016-10-31 2016-10-31 通信システム及び通信方法

Country Status (4)

Country Link
US (1) US10735517B2 (ja)
JP (1) JP6409849B2 (ja)
CN (2) CN108023730B (ja)
DE (1) DE102017123255B4 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6875576B2 (ja) * 2014-05-08 2021-05-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正対処方法
JP6409849B2 (ja) * 2016-10-31 2018-10-24 トヨタ自動車株式会社 通信システム及び通信方法
JP6683105B2 (ja) * 2016-11-10 2020-04-15 トヨタ自動車株式会社 通信システム
JP7016783B2 (ja) * 2018-10-17 2022-02-07 日立Astemo株式会社 情報処理装置、管理装置
CN110011805B (zh) * 2019-03-22 2022-02-15 深圳市令加信息技术有限公司 基于低功耗蓝牙系统的双向认证防伪系统及方法
JP7156257B2 (ja) 2019-11-21 2022-10-19 トヨタ自動車株式会社 車両通信装置、通信異常の判定方法及びプログラム
DE102020114081A1 (de) * 2020-05-26 2021-12-02 Krohne Messtechnik Gmbh Verfahren zum Synchronisieren eines Empfänger-Initialisierungsvektors mit einem Sender-Initialisierungsvektor
JP7380530B2 (ja) 2020-11-13 2023-11-15 トヨタ自動車株式会社 車両通信システム、通信方法及び通信プログラム
JP7438924B2 (ja) * 2020-12-15 2024-02-27 株式会社東芝 情報処理装置、方法及びプログラム
US11792007B2 (en) * 2021-03-17 2023-10-17 Ford Global Technologies, Llc System and method for a vehicle network
CN115277219A (zh) * 2022-07-29 2022-11-01 中国第一汽车股份有限公司 消息加密方法、解密方法、装置及存储介质

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3767901A (en) * 1971-01-11 1973-10-23 Walt Disney Prod Digital animation apparatus and methods
US4162536A (en) * 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4591851A (en) * 1982-07-28 1986-05-27 Motorola, Inc. General purpose data control system
US5694428A (en) * 1992-03-12 1997-12-02 Ntp Incorporated Transmitting circuitry for serial transmission of encoded information
US5475863A (en) * 1993-10-04 1995-12-12 Motorola, Inc. Method and apparatus for delivering messages to portable communication units in a radio communication system
US6829357B1 (en) * 1999-12-14 2004-12-07 Trw Inc. Communication system having a transmitter and a receiver that engage in reduced size encrypted data communication
US6988238B1 (en) * 2000-01-24 2006-01-17 Ati Technologies, Inc. Method and system for handling errors and a system for receiving packet stream data
EP2183898B1 (en) * 2007-07-05 2016-09-14 Coherent Logix Incorporated Mobile television broadcast system
US20100279610A1 (en) * 2007-12-19 2010-11-04 Anders Bjorhn System for receiving and transmitting encrypted data
US7974744B2 (en) * 2008-04-30 2011-07-05 The United States Of America As Represented By The Secretary Of The Navy Multiple telemetry stream parsing and reconstruction system
JP5446650B2 (ja) 2009-09-17 2014-03-19 沖電気工業株式会社 通信データ新規性確認システム並びに送信端末及び受信端末
CA2694500C (en) * 2010-02-24 2015-07-07 Diversinet Corp. Method and system for secure communication
JP2012169829A (ja) * 2011-02-14 2012-09-06 Honda Motor Co Ltd 通信システムおよび通信方法
JP2013048374A (ja) * 2011-08-29 2013-03-07 Toyota Motor Corp 保護通信方法
CN103178949A (zh) * 2011-09-20 2013-06-26 王正伟 相对同步认证方法、同步参数更新方法、认证系统及装置
JP5770602B2 (ja) * 2011-10-31 2015-08-26 トヨタ自動車株式会社 通信システムにおけるメッセージ認証方法および通信システム
JP5100884B1 (ja) * 2011-12-02 2012-12-19 株式会社東芝 メモリ装置
WO2013084304A1 (ja) * 2011-12-06 2013-06-13 富士通株式会社 ノード、通信方法、および通信システム
KR101356476B1 (ko) * 2012-01-13 2014-01-29 고려대학교 산학협력단 차량용 데이터의 인증 및 획득 방법
WO2013128317A1 (en) * 2012-03-01 2013-09-06 Nds Limited Anti-replay counter measures
DE102013218212A1 (de) * 2013-09-11 2015-03-12 Robert Bosch Gmbh Verfahren zum abgesicherten Übermitteln von Daten
US9998494B2 (en) * 2013-09-13 2018-06-12 GM Global Technology Operations LLC Methods and apparatus for secure communication in a vehicle-based data communication system
CN105594155B (zh) * 2014-05-08 2019-08-02 松下电器(美国)知识产权公司 车载网络系统、电子控制单元以及更新处理方法
EP3860042B1 (en) * 2014-05-08 2023-08-02 Panasonic Intellectual Property Corporation of America In-vehicle network system, fraud-sensing electronic control unit, and anti-fraud method
JP6199335B2 (ja) 2014-06-05 2017-09-20 Kddi株式会社 通信ネットワークシステム及びメッセージ検査方法
JP6181032B2 (ja) * 2014-11-18 2017-08-16 株式会社東芝 通信システム及び通信装置
JP6420176B2 (ja) * 2015-02-26 2018-11-07 ルネサスエレクトロニクス株式会社 通信システムおよび通信装置
WO2017026361A1 (ja) * 2015-08-07 2017-02-16 株式会社デンソー 通信システム、管理ノード、通常ノード、カウンタ同期方法、プログラム、記録媒体
JP6555209B2 (ja) * 2015-08-07 2019-08-07 株式会社デンソー 通信システム、管理ノード、通信ノード、カウンタ同期方法、カウント値配信方法、カウント値初期化方法、プログラム、記録媒体
CN108141364B (zh) * 2015-10-16 2021-09-17 诺基亚技术有限公司 用于消息认证的方法和装置
JP6455939B2 (ja) * 2016-09-27 2019-01-23 株式会社デンソーテン 通信方法
JP6409849B2 (ja) * 2016-10-31 2018-10-24 トヨタ自動車株式会社 通信システム及び通信方法
EP3337120B1 (en) * 2016-12-14 2021-04-21 Nxp B.V. Network message authentication and verification

Also Published As

Publication number Publication date
CN108023730A (zh) 2018-05-11
DE102017123255B4 (de) 2023-07-20
DE102017123255A1 (de) 2018-05-03
CN112865977A (zh) 2021-05-28
CN108023730B (zh) 2021-02-02
US10735517B2 (en) 2020-08-04
CN112865977B (zh) 2024-08-13
US20180124180A1 (en) 2018-05-03
JP2018074435A (ja) 2018-05-10

Similar Documents

Publication Publication Date Title
JP6409849B2 (ja) 通信システム及び通信方法
CN107846395B (zh) 确保车载总线上的通信安全的方法、系统、介质和车辆
CN106899404B (zh) 基于预共享密钥的车载can fd总线通信系统及方法
US20220276855A1 (en) Method and apparatus for processing upgrade package of vehicle
CN106664311B (zh) 支持异构电子设备之间差异化的安全通信
CN106576096B (zh) 用于对具有不等能力的设备的认证的装置、方法及介质
EP3154219B1 (en) Communication network system, transmission node, reception node, message checking method, and computer program
US11245535B2 (en) Hash-chain based sender identification scheme
KR20190095963A (ko) 서비스 지향 아키텍처에 기초하는 집중식 서비스 ecu를 구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그 사용 방법들
US10812261B2 (en) Vehicle system and key distribution method
US20170118020A1 (en) Data communication method, system and gateway for in-vehicle network including a plurality of subnets
CN103931220A (zh) 用于网络通信的密钥推导函数
KR20150135032A (ko) Puf를 이용한 비밀키 업데이트 시스템 및 방법
JP2023506463A (ja) 暗号化通信装置および暗号化通信方法
JP2017191965A (ja) 通信装置及びパケット送受信プログラム
US10749878B2 (en) Communication system, count value synchronization method, and count value synchronization program product
US20230370440A1 (en) Security module and method of secure communication
JP6683105B2 (ja) 通信システム
JP6915717B2 (ja) 通信システム
JP6683106B2 (ja) 通信システム
JP7067508B2 (ja) ネットワークシステム
JP2018014558A (ja) 通信装置
JP2020123960A (ja) 通信システム
WO2024178591A1 (zh) 认证方法、装置和系统
US20170214667A1 (en) Communication device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180813

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180910

R151 Written notification of patent or utility model registration

Ref document number: 6409849

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151