JP6915095B2 - コントローラエリアネットワークバスベースのセキュリティ通信方法、装置、およびシステム - Google Patents

コントローラエリアネットワークバスベースのセキュリティ通信方法、装置、およびシステム Download PDF

Info

Publication number
JP6915095B2
JP6915095B2 JP2019565171A JP2019565171A JP6915095B2 JP 6915095 B2 JP6915095 B2 JP 6915095B2 JP 2019565171 A JP2019565171 A JP 2019565171A JP 2019565171 A JP2019565171 A JP 2019565171A JP 6915095 B2 JP6915095 B2 JP 6915095B2
Authority
JP
Japan
Prior art keywords
packet
identifier
ecu
bus
random number
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
JP2019565171A
Other languages
English (en)
Other versions
JP2020521405A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority claimed from PCT/CN2017/116986 external-priority patent/WO2018214487A1/zh
Publication of JP2020521405A publication Critical patent/JP2020521405A/ja
Application granted granted Critical
Publication of JP6915095B2 publication Critical patent/JP6915095B2/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
    • 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
    • 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/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • 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/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • 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
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • 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/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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
    • 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
    • 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/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

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)
  • Small-Scale Networks (AREA)

Description

本出願は、通信技術の分野に関し、詳細には、特に車両用のコントローラエリアネットワーク(Controller Area Network、CAN)バスベースのセキュリティ通信方法、装置、およびシステムに関する。
CAN通信プロトコルは、物理層(Physical Layer、PHY)およびデータリンク層(Data Link Layer、DLL)のデータ伝送標準を定義し、ブロードキャストモードの伝送チャネルであり、広く適用され、例えば車内通信に広く適用されている。
CAN通信プロトコルに基づいて通信が実行されるCAN通信ネットワークアーキテクチャでは、1つの中央ゲートウェイ電子制御ユニット(Electronic Control Unit、ECU)がCANバスシステムを使用することにより複数のECUに接続される。CANバスシステムは、複数のCANバスを備えることができる。各CANバスにおける複数のECUは、別のCANバスおよび中央ゲートウェイECUを使用することにより互いに接続され、サービスおよび情報を個別に受信および送信する。例えば、図1に示される車内通信に適用されたCAN通信ネットワークアーキテクチャでは、1つの中央ゲートウェイECUが、車内機能サービスを担当する複数のCANバス(パワードライブシステムCANバス、コンフォートシステムCANバス、診断システムCANバス、およびインフォテインメントシステムCANバス)に接続される。車内機能サービスを担当する各CANバスにおける複数のECUは、別のCANバスおよび中央ゲートウェイECUを使用することにより互いに接続され、サービスおよび情報を個別に受信および送信する。例えば、パワードライブシステムは、エンジン速度をリアルタイムで検出し、エンジン速度値をパワードライブシステムCANバスに送信することができ、エンジン速度値は、パワードライブシステムCANバスを使用することによりダッシュボードECUに送信され得る。エンジン速度値を受信した後、ダッシュボードECUは、エンジン速度値をダッシュボードにリアルタイムで表示することができる。
現在、CAN通信プロトコルに基づいて通信が実行されるプロセスでは、悪意のある攻撃者がCANバスシステムに対する効果的な攻撃を実行するために、通信プロセスで送信されたCANパケット(frame)に対して盗聴攻撃、インジェクション攻撃、またはリプレイ攻撃を実行する場合がある。例えば、車内通信に適用されたCAN通信システムでは、エンジン速度値は、図2に示される元のCANパケットを使用することにより送信される。図2の0x123の識別子を持つ元のCANパケットでは、エンジン速度値を表すためにバイト0からバイト7の値が使用され得る。例えば、バイト0およびバイト1で表されるエンジン速度値は0x5DC=1500 RPMである。攻撃者が盗聴により元のCANパケットを取得した場合、解析によりCANパケット形式を取得し、攻撃対象(エンジン速度値)に正しくない値を注入する。例えば、図2の埋め込まれた改ざんされたCANパケットでは、エンジン速度値は0x1F40=8000 RPMに変更されている。埋め込まれた改ざんされたCANパケットを受信した後、ダッシュボードは、解析を通じてエンジン速度値が0x1F40=8000 RPMであることを把握する。その結果、ダッシュボードにより受信され、表示されるエンジン速度値は正しくない値となる。
攻撃者によりCANパケットに対して実行される盗聴攻撃、インジェクション攻撃、またはリプレイ攻撃に耐えるために、現在、CANパケットを認証または暗号化するためのいくつかのメカニズムがある。例えば、あるメカニズムでは、CANパケットのデータ(CANパケット識別子、CAN識別子に対応するカウンタの値、およびCANパケット識別子に対応するCANパケットのデータ)に対して、キーを使用することにより暗号化演算が実行され、情報検証コードが生成され、次いで、追加のCANパケットを使用することにより情報検証コードが送信され得る。しかしながら、この方法では、送信されるCANパケットのデータは依然として暗号化されない。その結果、この方式では、盗聴に耐えることができず、リプレイ攻撃にしか耐えることができない。加えて、追加のCANパケットを使用することにより情報検証コードが送信されるため、送信オーバーヘッドが比較的大きい。別の例として、別のメカニズムでは、CANパケット識別子に対応するCANパケットのデータに従って巡回冗長検査(Cyclic Redundancy Check、CRC)値のグループが最初に計算され、次いでデータおよびCRC値が直列につながれ、キーを使用することにより暗号化される。しかしながら、CRC値はランダム性を持たないため、攻撃者が有効なCRC値を取得した場合にはリプレイ攻撃が依然として実行され得る。さらに別の例として、さらに別のメカニズムでは、非標準のCAN送受信機ハードウェアを使用することにより、情報認証コードが比較的高い送受信機物理周波数に埋め込まれ、標準のCANパケットにより同時に送信され、その結果、CANパケット情報認証メカニズムが実装され、情報認証コード技術が使用される。非標準のCAN送受信機ハードウェアが使用されるため、CAN送受信機ハードウェアは、修正される必要があり、既存のCANバスベースの通信システムに直接適用することはできない。
したがって、攻撃者により実行される盗聴攻撃、インジェクション攻撃、またはリプレイ攻撃に耐えられるように、CANバスに基づくセキュリティ通信を実行するための効果的な方法を提供することが必要不可欠である。
本出願の実施形態は、攻撃者により実行される盗聴攻撃、インジェクション攻撃、およびリプレイ攻撃に効果的に耐えるためのCANバスベースのセキュリティ通信方法、装置、およびシステムを提供する。
第1の態様によれば、CANバスベースのセキュリティ通信システムが提供され、CANバスベースのセキュリティ通信システムが、ゲートウェイECUとゲートウェイECUに接続された少なくとも1つのCANバスとを備え、各CANバスが少なくとも1つのCANバスECUに接続され、少なくとも1つのCANバスECUが第1のCANバスECUを備える。ゲートウェイECUは、ランダム数を生成し、少なくとも1つのCANバスを使用することにより、生成されたランダム数を少なくとも1つのCANバスECUに送信する、ように構成される。第1のCANバスECUは、ゲートウェイECUによって送信されたランダム数を取得し、第1のCAN識別子のキー、ゲートウェイECUによって送信されたランダム数、第1のCAN識別子のカウント値、および第1のCANパケットのデータに基づいて第1の情報認証コードを生成する、ように構成される。第1のCANバスECUは、第1の暗号化演算結果を取得するために、第2のCANパケットと第1のCAN識別子のキーとに基づいて暗号化演算を実行し、暗号化された認証が実行される第1のCANパケットを取得するために、第1の暗号化演算結果、第1の情報認証コード、第1のCAN識別子のカウント値、および第1のCANパケットのデータに対して等長暗号化演算を実行し、暗号化された認証が実行される第1のCANパケットを送信する、ようにさらに構成される。
第1のCAN識別子のキーは、CANバスベースのセキュリティ通信システムによって第1のCAN識別子に事前に割り当てられ、第1のCAN識別子のカウント値は、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの数に従って判定され、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの数によって異なり、第1のCANパケットは、第1のCANバスECUによって送信されるパケットであり、第1のCANバスECUは、第1のCAN識別子を使用することにより第1のCANパケットを送信する。
第2のCANパケットは、第1のCANバスECUの過去のCANパケットである。
具体的には、第1のCANパケットが、第1のCAN識別子を使用することにより第1のCANバスECUによって送信された第1のCANパケットである場合、第1のCANバスECUの過去のCANパケットは、CANバスベースのセキュリティ通信システムによって第1のCAN識別子に事前に割り当てられた初期デフォルトCANパケットであり得る。第1のCANパケットが第1のCAN識別子を使用することにより第1のCANバスECUによって送信された第1のCANパケット以外のCANパケットである場合、第1のCANバスECUの過去のCANパケットは、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの指定されたCANパケットであり得る。
可能な設計では、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの指定されたCANパケットは、第1のCANパケットに隣接し、かつストレージオーバーヘッドを減らすために第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットにある、以前のCANパケットである。
本出願の実施形態では、第1のCANバスECUがCANパケットに対して暗号化演算を実行するプロセスおよび情報認証コードを生成するプロセスにおいて、送信されるパケットのデータが使用されるだけではなく、ランダム数、カウント値、および送信されたCANパケットの指定されたCANパケットも使用される。したがって、同じデータ値が注入されていた場合でさえも、異なる情報認証コードおよび異なる暗号化演算構造が生成される。したがって、CANバスECUは、リプレイ攻撃に耐えるために、暗号化された認証が実行されるCANパケットを送信する。加えて、暗号化および認証の二重プロセスと組み合わせて、送信されたCANパケットのデータ領域のデータが、盗聴攻撃、インジェクション攻撃、およびリプレイ攻撃のすべてに耐えることができ、セキュリティは比較的高い。加えて、情報認証コードは、別のCANパケットを使用することにより運ばれるのではなく、CANパケットのデータ領域に直接埋め込まれていると見なされ得るため、送信オーバーヘッドが比較的小さくなる。加えて、CAN送受信機ハードウェアは、既存のCANバスシステムに適用され得る設計全体において修正されない。
第1のCANバスECUは、CANパケット送信のセキュリティをさらに改善するために、ランダム数と第1のCAN識別子のキーとに基づいて第1の生成キーを取得し、第1の生成キー、ランダム数、第1のCAN識別子のカウント値、および第1のCANパケットのデータに基づいて第1の情報認証コードを生成してもよい。
CANバスベースのセキュリティ通信システムは、第2のCANバスECUをさらに備える。第2のCANバスECUは、暗号化された認証が実行される第1のCANパケットを取得し、第1の復号情報認証コード、第1のCANパケットの復号データ、および第1のCAN識別子の第1の復号カウント値を取得するために、暗号化された認証が実行される第1のCANパケットを復号する、ように構成される。第2のCANバスECUは、ゲートウェイECUによって送信されたランダム数を取得し、第1のCAN識別子のキー、ゲートウェイECUによって送信されたランダム数、第1のCAN識別子の第1の復号カウント値、および第1のCANパケットの復号データに基づいて第2の情報認証コードを生成する。第1の復号情報認証コードと第2の情報認証コードとが一致し、第1のCAN識別子の第1の復号カウント値が有効である場合、暗号化された認証が実行される第1のCANパケットは有効である。
第1のCAN識別子の第1の復号カウント値が有効であることは、異なるセキュリティレベルに従って異なる範囲を設定するために、第1のCAN識別子の第1の復号カウント値がカウント値の所定の許容誤差範囲内に入ることを意味する。
第2のCANバスECUは、ゲートウェイECUによって送信されたランダム数と第1のCAN識別子のキーとに基づいて第1の生成キーを取得し、第1の生成キー、ゲートウェイECUによって送信されたランダム数、第1のCAN識別子の第1の復号カウント値、および第1のCANパケットの復号データに基づいて第2の情報認証コードを生成することができる。
可能な設計では、ゲートウェイECUは、ランダム数に対して暗号化された認証を実行し得る。例えば、ゲートウェイECUは、第3のCANパケットと第2のCAN識別子のキーとに基づいて第1のランダム数送信キーを取得してもよい。ゲートウェイECUは、第1のランダム数送信キーとゲートウェイECUによって送信されるランダム数とに基づいて第1のランダム数情報認証コードを生成し、第2の暗号化演算結果を取得するために、第1のランダム数送信キーおよび第3のCANパケットに対して暗号化演算を実行する。ゲートウェイECUは、暗号化された認証が実行されるランダム数を取得するために、第2の暗号化演算結果、第1のランダム数情報認証コード、および送信されるランダム数に対して等長暗号化演算を実行し、暗号化された認証が実行されるランダム数を少なくとも1つのCANバスECUに送信する。
第1のCANバスECUは、第2のCAN識別子、第3のCANパケット、および暗号化された認証が実行されるランダム数を取得し、第2のCAN識別子のキーと第3のCANパケットとに基づいて第2のランダム数送信キーを取得し、第3の暗号化演算結果を取得するために、第2のランダム数送信キーおよび第3のCANパケットに対して暗号化演算を実行する、ようにさらに構成される。第1のCANバスECUは、第1のランダム数復号情報認証コードを取得するために、第3の暗号化演算結果と暗号化された認証が実行されるランダム数とに対して等長復号演算を実行し、ゲートウェイECUによって送信されたランダム数と第2のランダム数送信キーとに基づいて第2のランダム数情報認証コードを生成し、第1のランダム数復号情報認証コードと第2のランダム数情報認証コードとが一致している場合、ゲートウェイECUによって送信されたランダム数が有効であると判定する。
ゲートウェイECUは、第2のCAN識別子を使用することによりCANパケットを少なくとも1つのCANバスECUに送信し、第2のCAN識別子のキーは、CANバスベースのセキュリティ通信システムによって第2のCAN識別子に事前に割り当てられる。
第3のCANパケットは、ゲートウェイECUの過去のCANパケットである。
具体的には、ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数である場合、ゲートウェイECUの過去のCANパケットは、CANバスベースのセキュリティ通信システムによってゲートウェイECUに事前に割り当てられた初期デフォルトCANパケットである。ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数以外のランダム数である場合、ゲートウェイECUの過去のCANパケットは、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットである。
可能な設計では、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットは、第2のCAN識別子を使用することによりゲートウェイECUによって現在送信されたCANパケットに隣接し、かつストレージオーバーヘッドを減らすために第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットにある、以前のCANパケットである。
本出願の実施形態では、ゲートウェイECUは、暗号化された認証が実行されるランダム数を送信し、第1のCANバスECUは、CANバスベースのセキュリティ通信システムのセキュリティをさらに改善するために、受信されたランダム数の有効性を検証する。
第2の態様によれば、CANバスベースのセキュリティ通信装置が提供される。CANバスベースのセキュリティ通信装置は、第1のCANバスECUに適用され得る。第1のCANバスECUに適用されたCANバスベースのセキュリティ通信装置は、第1の態様および第1の態様の任意の設計による第1のCANバスECUを実施するための機能を有し、その機能は、ハードウェアを使用することにより実施されてもよいし、対応するソフトウェアをハードウェアにより実行することにより実施されてもよい。ハードウェアまたはソフトウェアは、機能に対応する1つ以上のモジュールを含む。モジュールは、ソフトウェアおよび/またはハードウェアであり得る。
可能な設計では、第1のCANバスECUに適用されたCANバスベースのセキュリティ通信装置は、受信ユニットと、処理ユニットと、送信ユニットとを備え、受信ユニット、処理ユニット、および送信ユニットは、第1のCANバスECUによって実行される機能ステップに対応し得る。ここでは細部を説明しない。
別の可能な設計では、第1のCANバスECUに適用されたCANバスベースのセキュリティ通信装置は、プロセッサと、送受信機と、ストレージ空間とを備える。ストレージ空間(メモリとも呼ばれ得る)は、プロセッサと接続され、様々なソフトウェアプログラムおよび/または命令の複数のグループを格納するために使用される。プロセッサは、第1のCANバスECUによって実行される機能ステップを実行し、信号を受信および送信するように送受信機を制御するために、ストレージ空間内の格納されたプログラムまたは命令を呼び出す。
第3の態様によれば、CANバスベースのセキュリティ通信装置が提供される。CANバスベースのセキュリティ通信装置は、第2のCANバスECUに適用され得る。第2のCANバスECUに適用されたCANバスベースのセキュリティ通信装置は、第1の態様および第1の態様の任意の設計による第2のCANバスECUを実施するための機能を有し、その機能は、ハードウェアを使用することにより実施されてもよいし、対応するソフトウェアをハードウェアにより実行することにより実施されてもよい。ハードウェアまたはソフトウェアは、機能に対応する1つ以上のモジュールを含む。モジュールは、ソフトウェアおよび/またはハードウェアであり得る。
可能な設計では、第2のCANバスECUに適用されたCANバスベースのセキュリティ通信装置は、受信ユニットと処理ユニットとを備え、受信ユニットおよび処理ユニットは、第2のCANバスECUによって実行される機能ステップに対応し得る。ここでは細部を説明しない。
別の可能な設計では、第2のCANバスECUに適用されたCANバスベースのセキュリティ通信装置は、プロセッサと、送受信機と、ストレージ空間とを備える。ストレージ空間(メモリとも呼ばれ得る)は、プロセッサと接続され、様々なソフトウェアプログラムおよび/または命令の複数のグループを格納するために使用される。プロセッサは、第2のCANバスECUによって実行される機能ステップを実行し、信号を受信および送信するように送受信機を制御するために、ストレージ空間内の格納されたプログラムまたは命令を呼び出す。
第4の態様によれば、CANバスベースのセキュリティ通信装置が提供される。CANバスベースのセキュリティ通信装置は、ゲートウェイECUに適用され得る。ゲートウェイECUに適用されたCANバスベースのセキュリティ通信装置は、第1の態様および第1の態様の任意の設計によるゲートウェイECUを実施するための機能を有し、その機能は、ハードウェアを使用することにより実施されてもよいし、対応するソフトウェアをハードウェアにより実行することにより実施されてもよい。ハードウェアまたはソフトウェアは、機能に対応する1つ以上のモジュールを含む。モジュールは、ソフトウェアおよび/またはハードウェアであり得る。
可能な設計では、ゲートウェイECUに適用されたCANバスベースのセキュリティ通信装置は、処理ユニットと送信ユニットとを備え、処理ユニットおよび送信ユニットは、ゲートウェイECUによって実行される機能ステップに対応し得る。ここでは細部を説明しない。
別の可能な設計では、ゲートウェイECUに適用されたCANバスベースのセキュリティ通信装置は、プロセッサと、少なくとも1グループの送受信機と、ストレージ空間とを備える。ストレージ空間(メモリとも呼ばれ得る)は、プロセッサと接続され、様々なソフトウェアプログラムおよび/または命令の複数のグループを格納するために使用される。プロセッサは、ゲートウェイECUによって実行される機能ステップを実行し、信号を受信および送信するように少なくとも1グループの送受信機を制御するために、ストレージ空間内の格納されたプログラムまたは命令を呼び出す。
第5の態様によれば、CANバスベースのセキュリティ通信方法が提供される。本方法では、CANバスECUによって実行される方法ステップは、第1の態様および第1の態様の任意の設計による第1のCANバスECUによって実行される機能ステップに対応する。
第6の態様によれば、CANバスベースのセキュリティ通信方法が提供される。本方法では、CANバスECUによって実行される方法ステップは、第1の態様および第1の態様の任意の設計による第2のCANバスECUによって実行される機能ステップに対応する。
第7の態様によれば、CANバスベースのセキュリティ通信方法が提供される。本方法では、ゲートウェイECUによって実行される方法ステップは、第1の態様および第1の態様の任意の設計によるゲートウェイECUによって実行される機能ステップに対応する。
第8の態様によれば、コンピュータ記憶媒体が提供される。コンピュータ記憶媒体は、いくつかの命令を格納するように構成される。命令が実行されると、第1の態様および第1の態様の任意の可能な設計によるゲートウェイECU、第1のCANバスECU、および第2のCANバスECUの任意の機能が完了され得る。
第9の態様によれば、コンピュータプログラム製品が提供される。コンピュータプログラム製品は、コンピュータプログラムを格納するように構成される。コンピュータプログラムは、第1の態様および第1の態様の任意の可能な設計によるゲートウェイECU、第1のCANバスECU、および第2のCANバスECUの任意の機能を実行するように構成される。
本出願の実施形態で提供されるCANバスベースのセキュリティ通信方法、装置、およびシステムによれば、第1のCANバスECUがCANパケットに対して暗号化演算を実行するプロセスおよび情報認証コードを生成するプロセスにおいて、送信されるパケットのデータが使用されるだけではなく、ランダム数、カウント値、および送信されたCANパケットの指定されたCANパケットも使用される。したがって、同じデータ値が注入されていた場合でさえも、異なる情報認証コードおよび異なる暗号化演算構造が生成される。したがって、CANバスECUは、リプレイ攻撃に耐えるために、暗号化された認証が実行されるCANパケットを送信する。加えて、暗号化および認証の二重プロセスと組み合わせて、送信されたCANパケットのデータ領域のデータが、盗聴攻撃、インジェクション攻撃、およびリプレイ攻撃のすべてに耐えることができ、セキュリティは比較的高い。加えて、情報認証コードは、別のCANパケットを使用することにより運ばれるのではなく、CANパケットのデータ領域に直接埋め込まれていると見なされ得るため、送信オーバーヘッドが比較的小さくなる。加えて、CAN送受信機ハードウェアは、既存のCANバスシステムに適用され得る設計全体において修正されない。
さらに、本出願の実施形態では、第1のCANバスECUおよび第2のCANバスECUは、ゲートウェイECUによって送信されたランダム数を使用することにより第1のCAN識別子のキーに対してキー生成処理を実行し、その結果、毎回使用されるキーは高いランダム性を有し、CANパケット送信のセキュリティはより効果的に改善され得る。
車内通信に適用されたCAN通信ネットワークアーキテクチャを示す図である。 車内通信のためのCAN通信ネットワークにおいてCANパケットが盗聴され、注入される概略図である。 本出願の一実施形態によるCANバスベースのセキュリティ通信システムを示す図である。 本出願の一実施形態によるCANパケットの形式の概略図である。 本出願の一実施形態によるCANバスベースのセキュリティ通信システムにおけるCAN識別子およびカウント値の概略構成図である。 本出願の一実施形態によるCANバスベースのセキュリティ通信システムにおけるCAN識別子に対応するキーを構成する概略図である。 本出願の一実施形態によるCANバスベースのセキュリティ通信システムにおけるCAN識別子に対応するキーを構成する別の概略図である。 本出願の一実施形態によるCANバスベースのセキュリティ通信システムにおける事前構成されたパラメータの概略図である。 本出願によるCANバスベースのセキュリティ通信方法を実施する流れ図である。 本出願の一実施形態による、暗号化された認証が実行されるランダム数のデータ領域を生成する概略図である。 本出願の一実施形態による、暗号化された認証が実行されるランダム数の有効性を検証する実施プロセスの概略図である。 本出願の一実施形態による、暗号化された認証が実行されるCANパケットのデータ領域を生成する概略図である。 本出願の一実施形態による、暗号化された認証が実行されるCANパケットの有効性を検証する実施プロセスの概略図である。 本出願の一実施形態によるCANバスベースのセキュリティ通信装置の概略構成図である。 本出願の一実施形態による別のCANバスベースのセキュリティ通信装置の概略構成図である。 本出願の一実施形態によるさらに別のCANバスベースのセキュリティ通信装置の概略構成図である。
以下、添付の図面を参照して本出願における実施形態の技術的解決策を説明する。
図3は、本出願の一実施形態によるCANバスベースのセキュリティ通信システムを示している。図3を参照すると、CANバスベースのセキュリティ通信システムは、ゲートウェイECUと、ゲートウェイECUに接続された少なくとも1つのCANバスとを備える。各CANバスは、少なくとも1つのCANバスECUに接続される。ゲートウェイECUとCANバスECUとの双方が、動作処理を実行するプロセッサと、コマンドを格納するために使用される内部ストレージ空間と、情報を送信および受信する送受信機とを有する。CANバスECUは、送受信機のグループを通常備え、1つのCANバスに接続される。ゲートウェイECUは、送受信機の複数のグループを備えることができ、複数のCANバスに接続される。CANバスは、CANバスベースのセキュリティ通信システムの送信チャネルとして理解されてもよく、ゲートウェイECUは、ゲートウェイECUに接続された複数のCANバスを使用することにより情報の並列な送信および受信を実行し得る。CANバスECUは、CANバスECUに接続されたCANバスを使用することにより情報を送信および受信する。各CANバスECUはゲートウェイECUと通信でき、CANバスECUは互いに通信できる。
図3に示されるCANバスベースのセキュリティ通信システムにおけるゲートウェイECUおよびCANバスECUの構造は、本出願の本実施形態の単なる一実装であることに留意されたい。実際の用途では、ゲートウェイECUおよびCANバスECUは多くのまたはより少ないコンポーネントをさらに備えてもよく、これは本明細書において限定されない。
送受信機は、エンティティCANバスを使用することにより別の送受信機に接続され、通信できる。エンティティCANバスは、CAN通信プロトコルを使用することにより通信を実行し、CAN通信プロトコルは、CAN2.0A、CAN2.0B、またはCAN−FD(CAN flexible data−rate)を含み得るが、これらに限定されない。送受信機はまた、イーサネット(登録商標)(Ethernet)、無線アクセスネットワーク(Radio Access Network、RAN)、または無線ローカルエリアネットワーク(Wireless Local Area Network、WLAN)などの異なる通信ネットワークを使用することにより、別の通信デバイスと通信することもできる。具体的な実装の際には、通信インターフェース304によってサポートされる通信プロトコルは、2G/3G、ロングタームエボリューション(Long Term Evolution、LTE)、ワイヤレスフィデリティ(Wireless−Fidelity、Wi−Fi(登録商標))、5G new radio(New Radio、NR)などを含み得るが、これらに限定されない。
ストレージ空間(メモリとも呼ばれ得る)は、プロセッサと接続され、様々なソフトウェアプログラムおよび/または命令の複数のグループを格納するために使用される。具体的な実装の際には、ストレージ空間は高速ランダムアクセスメモリを含むことができ、1つ以上のディスクストレージデバイス、フラッシュメモリデバイス、または別の不揮発性ソリッドステートストレージデバイスなどの不揮発性メモリを含むこともできる。ストレージ空間は、CANバスベースのセキュリティ通信オペレーティングシステムを格納できる。ストレージ空間は、本出願の本実施形態の実施プログラムを格納するために使用され得る。ストレージ空間は、ネットワーク通信プログラムをさらに格納してもよい。ネットワーク通信プログラムは、1つ以上の補助デバイス、1つ以上の端末デバイス、または1つ以上のネットワークデバイスと通信するために使用されてもよい。
プロセッサは、汎用中央処理ユニット(Central Processing Unit、CPU)、マイクロプロセッサ、特定用途向け集積回路(Application−Specific Integrated Circuit、ASIC)、または本出願の解決策のプログラム実行を制御するように構成された1つ以上の集積回路であり得る。
いくつかの実施形態では、ゲートウェイECUおよびCANバスECUは、出力デバイスおよび入力デバイスをさらに備えることができる。出力デバイスはプロセッサと通信し、複数の方式で情報を表示することができる。例えば、出力デバイスは、液晶ディスプレイ(Liquid Crystal Display、LCD)、発光ダイオード(Light Emitting Diode、LED)表示デバイス、陰極線管(Cathode Ray Tube、CRT)表示デバイス、プロジェクタ(projector)などであってもよい。入力デバイスは、プロセッサと通信し、ユーザの入力を複数の方式で受け取ることができる。例えば、入力デバイスは、マウス、キーボード、タッチスクリーンデバイス、またはセンシングデバイスであってもよい。ユーザによる出力デバイスおよび入力デバイスの使用を容易にするために、いくつかの実施形態では、メモリはユーザインターフェースプログラムをさらに格納してもよい。ユーザインターフェースプログラムは、グラフィカル操作インターフェースを使用することによりアプリケーションプログラムのコンテンツを鮮明に表示し、メニュー、ダイアログボックス、またはキーなどの入力コントロールを使用することにより、アプリケーションプログラム上でユーザの制御操作を受け取ることができる。
現在、CANバスECU間およびCANバスECUとゲートウェイECUとの間の通信プロセスにおいて送信されるCANパケット(frame)の形式は、CANバスベースの通信プロトコルで指定されている。図4は、CANパケットの形式の概略図である。図4を参照すると、CANパケットは、パケットヘッダ(start of frame、SOF)、CAN識別子(Identifier)、リモート送信要求(RTR)コード、制御領域(Control)、データ領域(data)、巡回冗長検査(CRC)、確認応答(ACK)、およびパケットエンド(end of frame、EOF)を含む。CAN識別子は、異なるCANパケットを識別するために使用でき、11文字および29文字の2つの形式を有する。データ領域は、CAN標準では最大8バイトである。CANバスベースの通信プロトコルを使用することにより実行される通信プロセスでは、送信機がCANパケットを送信し、受信機がCAN識別子に基づいて受信されるCANパケットを選択する。CAN識別子に対応するCANパケットは、少なくとも2つの受信機を有し得る。例えば、図3において、CANバスECU 1によって送信されたCANパケットは、CANバスECU 2およびCANバスECU 3によって受信され得る。
本出願の本実施形態では、CANバスECU間およびCANバスECUとゲートウェイECUとの間で送信されるCANパケットは、悪意のある攻撃者によってCANパケットに対して実行される盗聴攻撃、インジェクション攻撃、またはリプレイ攻撃に耐えるように暗号化および認証され得る。
本出願の本実施形態では、カウンタは、CANバスベースのセキュリティ通信システムにおける各ECU(各CANバスECUおよびゲートウェイECU)に対して事前構成され得る。カウンタのカウント値を使用することにより各CAN識別子のCANパケットについてカウント値が格納され得る。各CAN識別子のカウント値は、システムにおいてCAN識別子のCANパケットで転送されたパケットの数を表すこともできるし、CAN識別子のカウント値が現在送信されているCANパケットを識別し得ると理解されてもよい。通常、CAN識別子のカウント値は、CAN識別子を使用することによりCANバスECUによって送信されたCANパケットの数に従って判定され、CAN識別子を使用することによりCANバスECUによって送信されたCANパケットの数によって異なる。可能な実装形態では、CAN識別子のカウント値は、ローリングカウンタ(rolling counter)のカウント値を使用することにより実施され得る。CAN識別子を使用することによりCANバスECUによって送信されるCANパケットの数がNであり、ローリングカウンタのカウント値が長さnビットであると仮定すると、CAN識別子のカウント値はN/(2n)に対して実行されるモジュロ演算後に取得される値になり得る。
例えば、図5では、CANパケットを送信するECUとCANパケットを受信するECUとの両方が、各CAN識別子のカウント値を格納する。カウント値を格納するテーブルは2つの列を有する。第1の列はCAN識別子であり、第2の列はCAN識別子に対応するカウント値である。例えば、図5では、CANパケットを送信するECUにおいて、CAN識別子Idaのカウント値はCaであり、CAN識別子Idbのカウント値はCbであり、CAN識別子Idcのカウント値はCcである。CANパケットを受信するECUにおいて、CAN識別子Iddのカウント値はCdであり、CAN識別子Ideのカウント値はCeであり、CAN識別子Idfのカウント値はCfである。
さらに、本出願の本実施形態では、キーを使用することにより暗号化および認証を実行するために、CANバスベースのセキュリティ通信システムにおいて各CAN識別子に対して対応するキーが構成され得る。本出願の本実施形態では、階層アーキテクチャを使用することにより、異なるCAN識別子に対してキーが生成および構成され得る。例えば、図6に示されるように、CANバスベースのセキュリティ通信システム全体に対して、独立して生成されたルートキーが最初に構成され、ルートキーを使用することにより異なるCANバスに対してCANバスキーが生成され、次いで、CANバスキーを使用することにより異なるCAN識別子に対してCAN識別子のキーが生成され得る。具体的には、キーが構成されると、ルートキーがゲートウェイECUのために構成され、対応するCANバスキーが各CANバスECUに対して個別に構成され得る。例えば、CANバス1上のECUのキーはCANバス1キーであり、CANバス1は、CANバス1キーを使用することにより、実際に必要なCAN識別子に対応するキーを生成できる。本出願の本実施形態では、図7に示されように、CANバスベースのセキュリティ通信システム全体に対して、独立して生成されたルートキーがさらに事前構成され、次いで、ルートキーを使用することにより異なるCAN識別子に対して異なるキーが生成され得る。具体的には、キーが構成されると、各ECUに対してルートキーが構成され得、ECUは、ルートキーを使用することにより、実際に必要なCAN識別子に対応するキーを生成し得る。階層アーキテクチャを使用することによりキーが生成および構成されるキー構成方法によれば、キーを格納するための各ECUのスペース要件を低減することができる。当然のことながら、本出願の本実施形態では、キーおよびシステム初期値は、異なるCAN識別子に対して独立して生成および構成されてもよい。
本出願の本実施形態では、CANバスベースのセキュリティ通信システムにおけるCANバスECUは、CAN識別子のキー、識別子のカウント値、ランダム数、送信されるCANパケットのデータ領域のデータに基づいて情報認証コードを生成し、CAN識別子のキーとCAN識別子を使用することにより送信されたCANパケットの指定されたCANパケットとに基づいて暗号化演算を実行し、暗号化演算結果、情報認証コード、CAN識別子のカウント値、および送信されるCANパケットのデータ領域のデータに対して等長暗号化演算を実行することができ、その結果、暗号化された認証が実行されるCANパケットのデータ領域のデータ長は、CANバスベースの通信プロトコルで指定されたデータ領域長に準拠し、暗号化された認証が実行されるCANパケットのデータは、送信されるパケットのデータ領域に送信のために配置される。暗号化された認証が実行されるCANパケットの暗号化演算プロセスおよび情報認証コードを生成するプロセスでは、送信されるパケットのデータが使用されるだけではなく、ランダム数、カウント値、および送信されたCANパケットの指定されたCANパケットも使用される。したがって、同じデータ値が注入されていた場合でさえも、異なる情報認証コードおよび異なる暗号化演算構造が生成される。したがって、CANバスECUは、リプレイ攻撃に耐えるために、暗号化された認証が実行されるCANパケットを送信する。加えて、暗号化および認証の二重プロセスと組み合わせて、送信されたCANパケットのデータ領域のデータが、盗聴攻撃、インジェクション攻撃、およびリプレイ攻撃のすべてに耐えることができ、セキュリティは比較的高い。加えて、情報認証コードは、別のCANパケットを使用することにより運ばれるのではなく、CANパケットのデータ領域に直接埋め込まれていると見なされ得るため、送信オーバーヘッドが比較的小さくなる。加えて、CAN送受信機ハードウェアは、既存のCANバスシステムに適用され得る設計全体において修正されない。
可能な例では、送信されるCANパケットがCAN識別子の第1のパケットである場合、CANバスECUは、CAN識別子のキーと初期デフォルトCANパケットとに基づいて暗号化演算を実行し得る。初期デフォルトCANパケットは、CANバスベースのセキュリティ通信システムのパラメータの初期設定フェーズで事前構成され得る。
説明を簡単にするために、本出願の本実施形態では、CANバスECUによって送信されるCANパケットは第1のCANパケットと呼ばれ、CANバスECUによって第1のCANパケットを送信するために使用されるCAN識別子は第1のCAN識別子と呼ばれ得る。CANバスECUによって暗号化演算プロセスを実行するために使用されるCANパケットは、第2のCANパケットと呼ばれる。第2のCANパケットは、第1のCANバスECUの過去のCANパケットである。過去のCANパケットは、現在のCANパケットが送信される前に既に存在するパケットとして理解され得る。
具体的には、第1のCANパケットが、第1のCAN識別子を使用することにより第1のCANバスECUによって送信された第1のCANパケットである場合、第1のCANバスECUの過去のCANパケットは、CANバスベースのセキュリティ通信システムによって第1のCAN識別子に事前に割り当てられた初期デフォルトCANパケットであり得る。第1のCANパケットが第1のCAN識別子を使用することにより第1のCANバスECUによって送信された第1のCANパケット以外のCANパケットである場合、第1のCANバスECUの過去のCANパケットは、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの指定されたCANパケットであり得る。
CANバスベースのセキュリティ通信システムでは、暗号化された認証が実行されるCANパケットを受信するCANバスECUは、CANパケットの復号データ、CAN識別子の復号カウント値、および復号情報認証コードを取得するために、暗号化された認証が実行される受信されたCANパケットを復号し、CAN識別子のキー、ランダム数、CAN識別子の復号カウント値、およびCANパケットの復号データに基づいて情報認証コードを生成し得る。復号によって取得された情報認証コードと生成された情報認証コードとが一致し、CAN識別子の復号カウント値が有効であると判定された場合、CANパケットの復号データは有効である。
識別子の復号カウント値が有効であることは、CAN識別子の復号カウント値が所定のカウント値と同じであることを意味し得る。所定のカウント値は、暗号化された認証が実行されるCANパケットを取得するプロセスで使用されるCAN識別子のカウント値であり得る。
可能な例では、CAN識別子の復号カウント値が有効であることは、CAN識別子の復号カウント値がカウント値の所定の許容誤差範囲内に入ることを意味し得る。許容誤差範囲は、CANバスベースのセキュリティ通信システムのパラメータの初期設定フェーズで事前構成され得る。誤差範囲は、セキュリティレベルに応じて異なる範囲に設定され得る。セキュリティレベルに関して比較的高い要件を有する誤差範囲は、セキュリティレベルに関して比較的低い要件を有する誤差範囲よりも小さい。
説明を簡単にするために、本出願の本実施形態では、CANバスベースのセキュリティ通信システムにおいてCANパケットを送信するCANバスECUは、第1のCANバスECUと呼ばれ、CANバスベースのセキュリティ通信システムにおいてCANパケットを受信するCANバスECUは、第2のCANバスECUと呼ばれる。
可能な例では、第1のCANバスECUおよび第2のCANバスECUは、システムセキュリティをさらに改善し、リプレイ攻撃に耐えるために、ランダム数とCAN識別子のキーとに基づいて第1の生成キーを生成し、第1の生成キー、ランダム数、CAN識別子のカウント値、およびCANパケットのデータに基づいて情報認証コードを生成してもよい。
別の可能な例では、本出願の本実施形態では、暗号化された認証プロセスを実行するために第1のCANバスECUおよび第2のCANバスECUによって使用されるランダム数が、ゲートウェイECUによって生成され、送信され得る。ゲートウェイECUは、ランダム数をブロードキャスト方式などで送信してもよい。
ゲートウェイECUはまた、暗号化された認証が実行されるランダム数を取得するために、上述のCANパケットの暗号化された認証プロセスと同様の暗号化された認証プロセスを使用することによりランダム数に対する暗号化された認証を実行し得る。例えば、ゲートウェイECUは、CAN識別子のキーと送信されたCANパケットの指定されたCANパケットとに基づいてランダム数送信キーを取得する。ゲートウェイECUは、ランダム数送信キーと送信されるランダム数とに基づいてランダム数情報認証コードを生成し、暗号化演算結果を取得するために、ランダム数送信キーおよび送信されたCANパケットの指定されたCANパケットに対して暗号化演算を実行する。ゲートウェイECUは、暗号化された認証が実行されるランダム数を取得するために、暗号化演算結果、ランダム数情報認証コード、および送信されるランダム数に対して等長暗号化演算を実行する。ゲートウェイECUは、CANバスベースのセキュリティ通信システムのCANバスECUに暗号化された認証が実行されるランダム数を送信し得る。ゲートウェイECUは、暗号化された認証が実行されるランダム数をブロードキャスト方式などで送信してもよい。
ゲートウェイECUによって送信されたランダム数が第1のランダム数である場合、ゲートウェイECUは、初期デフォルトCANパケットとCAN識別子のキーとに基づいてランダム数送信キーを取得し得る。
説明を簡単にするために、本出願の本実施形態では、CANパケットを送信するためにゲートウェイECUによって使用されるCAN識別子は、第2のCAN識別子と呼ばれ得、CANバスベースのセキュリティ通信システムは、第2のCAN識別子のためのキーを事前構成し得る。ランダム数送信キーを生成するプロセスにおいてゲートウェイECUによって使用されるCANパケットは、第3のCANパケットと呼ばれる。第3のCANパケットは、ゲートウェイECUの過去のCANパケットであり得る。具体的には、ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数である場合、ゲートウェイECUの過去のCANパケットは、CANバスベースのセキュリティ通信システムによってゲートウェイECUに事前に割り当てられた初期デフォルトCANパケットである。ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数以外のランダム数である場合、ゲートウェイECUの過去のCANパケットは、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットである。
暗号化された認証が実行されるランダム数を受信するCANバスECUは、受信したランダム数の有効性を検証し得る。例えば、暗号化された認証が実行されるランダム数を受信するCANバスECUは、ゲートウェイECUの第2のCAN識別子のキーと第3のCANパケットとに基づいてランダム数送信キーを取得し得る。説明を簡単にするために、本出願の本実施形態では、第3のCANパケットと第2のCAN識別子のキーとに基づいてゲートウェイECUによって取得されたランダム数送信キーは、第1のランダム数送信キーと呼ばれ得、第2のCAN識別子のキーと第3のCANパケットとに基づいてCANバスECUによって取得されたランダム数送信キーは、第2のランダム数送信キーと呼ばれ得る。暗号化された認証が実行されるランダム数を受信するCANバスECUは、暗号化演算結果を取得するために、第2のランダム数送信キーおよび第3のCANパケットに対して暗号化演算を実行し、ランダム数が復号された後に取得された情報認証コードを取得するために、取得した暗号化演算結果と暗号化された認証が実行されるランダム数とに対して等長復号演算を実行する。説明を簡単にするために、CANバスECUが第2のランダム数送信キーおよび第3のCANパケットに対して暗号化演算を実行した後に取得された暗号化演算結果は、第3の暗号化演算結果と呼ばれる。CANバスECUが第3の暗号化演算結果と暗号化された認証が実行されるランダム数とに対して等長復号演算を実行したときに取得されたランダム数の復号後に取得された情報認証コードは第1のランダム数復号情報認証コードと呼ばれる。暗号化された認証が実行されるランダム数を受信するCANバスECUは、ゲートウェイECUによって送信されたランダム数と第2のランダム数送信キーとに基づいてランダム数情報認証コードを生成し得る。以下、ランダム数情報認証コードは、第2のランダム数情報認証コードと呼ばれる。暗号化された認証が実行されるランダム数を受信するCANバスECUは、ゲートウェイECUによって送信されたランダム数の有効性を検証するために、第1のランダム数復号情報認証コードと第2のランダム数情報認証コードとが一致しているか否かを判定する。第1のランダム数復号情報認証コードと第2のランダム数情報認証コードが一致している場合、ゲートウェイEC
Uによって送信されたランダム数は有効であり、セキュリティをさらに改善するために、CANパケットは送信されたランダム数を使用することにより認証および暗号化され得る。
本出願の本実施形態では、CANバスECU間およびCANバスECUとゲートウェイECUとの間で送信されるCANパケットは、悪意のある攻撃者によってCANパケットに対して実行される盗聴攻撃、インジェクション攻撃、またはリプレイ攻撃に耐えるように暗号化および認証され得る。
CANバスベースのセキュリティ通信システムがセキュリティ通信を実行するプロセスが、実際の用途に関連して以下に説明される。
本出願の本実施形態では、上述の実装形態におけるセキュリティ通信方法を実施するために、CANバスベースのセキュリティ通信システムはパラメータを事前構成する必要がある。例えば、CAN識別子に対応するキーおよびシステム初期デフォルト値が、各CAN識別子に対して事前構成される必要がある。システム初期デフォルト値は、文字列のグループとして理解されてもよく、例えば、上述の実施形態における初期デフォルトCANパケットとして理解されてもよい。本出願では、ゲートウェイECUのために第2のCAN識別子が事前構成される必要がある。第2のCAN識別子は、ゲートウェイECUが各CANバス上でCANパケットを送信するときに使用されるCAN識別子として理解されてもよい。対応するキーおよびシステム初期デフォルト値(初期デフォルトCANパケット)もまた、第2のCAN識別子について事前構成される必要がある。
本出願の本実施形態では、第2のCAN識別子のキーとゲートウェイECUの初期デフォルトCANパケットとは、ゲートウェイECUおよびゲートウェイECUと情報を交換するすべてのCANバスECUに対して構成される必要があり、その結果、CANバスECUがランダム数の有効性を検証できる。本出願の本実施形態では、CAN識別子のキーとCANバスECUの初期デフォルトCANパケットとは、CAN識別子のCANパケットを送信および受信するCANバスECUのために構成される必要があり、その結果、CANパケットを送信するCANバスECUは送信されたCANパケットに対して暗号化された認証を実行し、暗号化された認証が実行されるCANパケットを受信するCANバスECUはCANパケットの有効性を検証する。さらに、本出願の本実施形態では、CAN識別子のカウント値は、各ECUに対して構成される必要があり、復号カウント値の有効性を検証できるように、カウント値の誤差範囲がさらに構成され得る。
図8は、本出願の一実施形態によるCANバスベースのセキュリティ通信システムにおける事前構成されたパラメータの概略図である。例えば、図8では、CANバスベースのセキュリティ通信システムは、ゲートウェイECUと5つのCANバスECU、すなわち、ECU 1、ECU 2、ECU 3、ECU 4、およびECU 5を備える。第2のCAN識別子CIDB、キーKB、および初期デフォルトパケットIVBは、CANバスベースのセキュリティ通信システムのゲートウェイECUのために構成されると仮定されている。第2のCAN識別子CIDBに対応するキーKBおよび初期デフォルトパケットIVBは、ゲートウェイECUおよび5つのCANバスECUの両方で構成される必要がある。ECU 1、ECU 2、およびECU 3は、CAN識別子CIDAのCANパケットを受信および送信する。CAN識別子CIDAのために事前構成されたキーはKAであり、初期デフォルトパケットはIVAであると仮定されている。ECU 1、ECU 2、およびECU 3は、CAN識別子CIDAに対応するキーをKAとして構成し、初期デフォルトパケットをIVAとして構成する必要がある。さらに、ECU 1、ECU 2、およびECU 3もまた、CAN識別子CIDAに対応するカウント値TAを構成する必要がある。
本出願の本実施形態では、CANバスベースのセキュリティ通信システムが上述の事前構成を完了した後、上述のセキュリティ通信方法が実行され得る。
図9は、本出願によるCANバスベースのセキュリティ通信方法を実施する流れ図である。図9を参照すると、本方法は、以下のステップを含む。
S101.ゲートウェイECUは、ランダム数を生成して送信する。
本出願の本実施形態では、ゲートウェイECUは、特定の周波数に従ってランダム数Rを生成し、CANバスを使用することにより、CANバスベースのセキュリティ通信システムにおける各CANバスECUにランダム数を定期的に送信することができる。ゲートウェイECUは、CANバスベースのセキュリティ通信システムにおける各CANバスECUにランダム数を定期的にブロードキャスト方式で送信できる。
可能な実装では、ランダム数を生成した後、ゲートウェイECUは、暗号化された認証が実行されるランダム数をCANパケットの形式で送信し得る。本出願の本実施形態では、暗号化された認証が実行されるランダム数のデータ領域は、図10に示される方法手順を使用することにより生成され得る。図10では、ゲートウェイECUは、第2のCAN識別子CIDBに対応するキーKBと第3のCANパケットとに基づいて、キー生成アルゴリズムを使用することにより、第1のランダム数送信キーを生成する。ゲートウェイECUは、第1のランダム数送信キーと送信されたランダム数(新たに生成されたランダム数Ri+1)とに基づいて、情報認証コードを生成するアルゴリズムと長さ調整アルゴリズムとを使用することにより、第1のランダム数情報認証コードσを生成する。ゲートウェイECUは、第2の暗号化演算結果を取得するために、第1のランダム数送信キーと第3のCANパケットとに基づいて、ブロック暗号化アルゴリズムなどの暗号化アルゴリズムを使用することにより、暗号化演算を実行する。ゲートウェイECUは、暗号化された認証が実行されるランダム数を取得するために、第2の暗号化演算結果、第1のランダム数情報認証コード、および送信されたランダム数に対して等長暗号化演算を実行する。例えば、暗号化された認証が実行されるランダム数のデータ領域である8バイト長の演算結果を取得するために、第2の暗号化演算結果、第1のランダム数情報認証コード、および送信されたランダム数に対して排他的OR演算が実行され、暗号化された認証が実行されるランダム数のデータ領域は、送信のためにCANパケットのデータ領域に配置される。
本出願の本実施形態では、送信されたランダム数(新しく生成されたランダム数Ri+1)が第1のランダム数(R1)である場合、第3のCANパケットはゲートウェイECUの初期デフォルトCANパケットである。送信されたランダム数(新しく生成されたランダム数Ri+1)が第1のランダム数以外のランダム数である場合、第3のCANパケットは、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットである。
本出願の本実施形態では、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットは、第2のCAN識別子を使用することにより現在送信されているCANパケットに隣接する以前のCANパケットであってもよいし、第2の以前のCANパケットであってもよいし、任意の送信されたCANパケットであってもよい。このことは、ゲートウェイECUによって使用される第3のCANパケットとCANバスECUとに整合性があれば、本出願の本実施形態では限定されない。
本出願の本実施形態では、ストレージオーバーヘッドを低減するために、可能な実装では、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットは、第2のCAN識別子を使用することにより現在送信されているCANパケットに隣接する以前のCANパケットに設定されてもよい。
S102.第1のCANバスECUは、ゲートウェイECUによって送信されたランダム数を取得し、取得したランダム数の有効性を検証する。
本出願の本実施形態では、ランダム数の有効性を検証するステップはオプションのステップである。ゲートウェイECUが、送信されたランダム数に対して暗号化された認証を実行し、暗号化された認証が実行されたランダム数をCANバスECUに送信する場合、ステップS102におけるランダム数の有効性を検証する実施プロセスが含まれてもよい。
本出願の本実施形態では、第1のCANバスECUは、CANパケットを送信するECUとして理解されてもよい。本出願の本実施形態では、ゲートウェイECUによって送信されたランダム数を取得するCANバスECUは、第1のCANバスECUだけに限定されるのではなく、第2のECUもゲートウェイECUによって送信されたランダム数を受信することが理解されよう。説明を簡単にするために、本出願の本実施形態では、第1のCANバスECUがランダム数の有効性を検証する実施プロセスが説明される。第2のCANバスECUがランダム数の有効性を検証する実施プロセスは、第1のCANバスECUがランダム数の有効性を検証する実施プロセスと同じであり、詳細はここでは繰り返し説明しない。
図11は、本出願の一実施形態による、第1のCANバスECUが暗号化された認証が実行されるランダム数の有効性を検証する実施プロセスの概略図である。図11を参照すると、第1のCANバスECUは、第2のCAN識別子CIDBのキーKBと第3のCANパケットとに基づいて第2のランダム数送信キーを取得する。第3のCANパケットは、CIDBを使用することにより送信されたCANパケットの指定されたCANパケットとして理解されてもよい。CIDBを使用することにより送信されたCANパケットが存在しない場合、第3のCANパケットは初期デフォルトパケットIVBである。第1のCANバスECUは、第3の暗号化演算結果を取得するために、第2のランダム数送信キーと第3のCANパケットとに基づいて、ブロック暗号化アルゴリズムなどを使用することにより、暗号化演算を実行する。第1のCANバスECUは、ゲートウェイECUによって送信されたランダム数と第2のランダム数送信キーとに基づいて第2のランダム数情報認証コードσ´を生成し、ゲートウェイECUによって送信されたランダム数(Ri+1)と第1のランダム数情報認証コードσとを取得するために、第3の暗号化演算結果と暗号化された認証が実行されるランダム数とに対して等長復号演算(排他的OR演算など)を実行する。第1のCANバスECUは、第1のランダム数情報認証コードσと第2のランダム数情報認証コードσ´とが一致しているか否かを判定する。第1のランダム数情報認証コードσと第2のランダム数情報認証コードσ´とが一致している場合、ゲートウェイECUによって送信されたランダム数は有効である。
本出願の本実施形態では、ランダム数が有効であることを検証した後、第1のCANバスECUは、CANパケットに対して暗号化された認証を実行するプロセスにおける後続の使用のために有効なランダム数を記録し得る。
S103.第1のCANバスECUは、第1のCAN識別子のキー、ゲートウェイECUによって送信されたランダム数、第1のCAN識別子のカウント値、および第1のCANパケットのデータに基づいて第1の情報認証コードを生成する。
本出願の本実施形態では、第1のCANバスECUは、CANパケットを送信するECUとして理解されてもよく、第1のCANパケットは、第1のCANバスECUによって送信されるCANパケットとして理解されてもよく、第1のCAN識別子は、第1のCANパケットを送信するために第1のCANバスECUによって使用されるCAN識別子として理解されてもよい。
S104.第1のCANバスECUは、第1の暗号化演算結果を取得するために、第1のCAN識別子のキーと第2のCANパケットとに基づいて暗号化演算を実行し、暗号化された認証が実行される第1のCANパケットを取得するために、第1の暗号化演算結果、第1の情報認証コード、第1のCAN識別子のカウント値、および第1のCANパケットのデータに対して等長暗号化演算を実行する。
図12は、本出願の一実施形態による、第1のCANバスECUが暗号化された認証が実行される第1のCANパケットを生成する実施プロセスの概略図である。図12では、第1のCANバスECUは、ゲートウェイECUによって送信されたランダム数と第1のCAN識別子CIDAのキーKAとに基づいて、キー生成アルゴリズムを使用することにより第1の生成キーを生成する。第1のCANバスECUは、第1の生成キー、ゲートウェイECUによって送信されたランダム数、第1のCAN識別子のカウント値TA、および第1のCANパケットのデータ領域のデータに基づいて情報認証コードを生成し、長さ調整アルゴリズムを使用することにより第1の情報認証コードσを生成する。第1のCANバスECUは、第1の暗号化演算結果を取得するために、第1の生成キーおよび第2のCANパケットに基づいて、ブロック暗号化アルゴリズムなどを使用することにより暗号化演算を実行し、暗号化された認証が実行される第1のCANパケットのデータ領域である長さ8バイトを有する演算結果を取得するために、第1の暗号化演算結果、第1の情報認証コードσ、第1のCAN識別子のカウント値TA、および第1のCANパケットのデータ領域のデータに対して等長暗号化演算(排他的OR演算など)を実行し、暗号化された認証が実行される第1のCANパケットのデータ領域を送信のためにCANパケットのデータ領域に配置する。
本出願の本実施形態では、第1のCANパケットが第1のCAN識別子CIDAを使用することによりして送信された第1のCANパケットである場合、第2のCANパケットは第1のCANバスECUの初期デフォルトCANパケットIVAである。第1のCANパケットが第1のCAN識別子CIDAを使用することにより送信された第1のCANパケット以外のCANパケットである場合、第2のCANパケットは第1のCAN識別子CIDAを使用することにより送信されたCANパケットの指定されたCANパケットである。
本出願の本実施形態では、第1のCAN識別子CIDAを使用することによりによって送信されたCANパケットの指定されたCANパケットは、送信されたCANパケットの第1のCANパケットに隣接する以前のCANパケットであってもよいし、隣接する第2の以前のCANパケットであってもよいし、任意の送信されたCANパケットであってもよい。このことは、ゲートウェイECUによって使用される第2のCANパケットとCANバスECUとに整合性があれば、本出願の本実施形態では限定されない。
本出願の本実施形態では、ストレージのオーバーヘッドを減らすために、可能な実装では、第1のCAN識別子に対応する送信されたCANパケットの指定されたCANパケットは、送信されたCANパケットの第1のCANパケットに隣接する以前のCANパケットとして構成されてもよい。
S105.第1のCANバスECUは暗号化された認証が実行される第1のCANパケットを送信し、第2のCANバスECUは暗号化された認証が実行される第1のCANパケットを受信する。
S106.第2のCANバスECUは、暗号化された認証が実行される受信された第1のCANパケットの有効性を検証する。
図13は、本出願の一実施形態による、第2のCANバスECUが暗号化された認証が実行される第1のCANパケットの有効性を検証する実施プロセスの概略図である。図13では、第2のCANバスECUは、第1の復号情報認証コードσ、第1のCANパケットの復号データ、および第1のCAN識別子の第1の復号カウント値を取得するために、暗号化された認証が実行される第1のCANパケットを復号する。CANバスECUは、ゲートウェイECUによって送信されたランダム数(第1のゲートウェイECUによって使用されるランダム数)を取得し、第1のCAN識別子CIDAのキーKA、ランダム数、第1のCAN識別子の第1の復号カウント値、および第1のCANパケットの復号データに基づいて第2の情報認証コードσ´を生成し、第1の復号情報認証コードσと第2の情報認証コードσ´とが一致しているか否か、および第1のCAN識別子の第1の復号カウント値が有効か否かを判定する。CANバスECUが、第1の復号情報認証コードと第2の情報認証コードとが一致し、第1のCAN識別子の第1の復号カウント値が有効であると判定した場合、暗号化された認証が実行される第1のCANパケットは有効である。すなわち、暗号化された認証が実行される受信された第1のCANパケットは有効である。
本出願の本実施形態では、第1のCAN識別子の第1の復号カウント値が有効であることは、第1のCAN識別子の第1の復号カウント値がカウント値の所定の許容誤差範囲内に入ることを意味する。例えば、カウント値の事前構成された許容誤差範囲は、3つの値だけ上下に変動する。第1の復号カウント値が第1のCAN識別子のカウント値TAであるか、またはTA±3の範囲内にある場合、第1の復号カウント値が有効であると判定され得る。
本出願の本実施形態では、第2のCANバスECUが、暗号化された認証が実行される第1のCANパケットが有効であると判定した後、後続の処理が実行され得る。暗号化された認証が実行される第1のCANパケットが無効であると判定された場合、CANパケットは破棄されてもよい。
本出願の本実施形態で提供されるCANバスベースのセキュリティ通信方法によれば、第1のCANバスECUがCANパケットに対して暗号化演算を実行するプロセスおよび情報認証コードを生成するプロセスにおいて、送信されるパケットのデータが使用されるだけではなく、ランダム数、カウント値、および送信されたCANパケットの指定されたCANパケットも使用される。したがって、同じデータ値が注入されていた場合でさえも、異なる情報認証コードおよび異なる暗号化演算構造が生成される。したがって、CANバスECUは、リプレイ攻撃に耐えるために、暗号化された認証が実行されるCANパケットを送信する。加えて、暗号化および認証の二重プロセスと組み合わせて、送信されたCANパケットのデータ領域のデータが、盗聴攻撃、インジェクション攻撃、およびリプレイ攻撃のすべてに耐えることができ、セキュリティは比較的高い。加えて、情報認証コードは、別のCANパケットを使用することにより運ばれるのではなく、CANパケットのデータ領域に直接埋め込まれていると見なされ得るため、送信オーバーヘッドが比較的小さくなる。加えて、CAN送受信機ハードウェアは、既存のCANバスシステムに適用され得る設計全体において修正されない。
さらに、本出願の本実施形態では、第1のCANバスECUおよび第2のCANバスECUは、ゲートウェイECUによって送信されたランダム数を使用することにより第1のCAN識別子のキーに対してキー生成処理を実行し、その結果、毎回使用されるキーは高いランダム性を有し、CANパケット送信のセキュリティはより効果的に改善され得る。
本出願の実施形態で提供される解決策は、ゲートウェイECU、第1のCANバスECU、および第2のCANバスECUの間の相互作用の観点から上で説明されている。上述の機能を実装するために、ゲートウェイECU、第1のCANバスECU、および第2のCANバスECUは、機能を実行するための対応するハードウェア構造および/またはソフトウェアモジュールを備えることを理解されたい。本出願で開示される実施形態で説明される各例のユニットおよびアルゴリズムステップに関連して、本出願の実施形態は、ハードウェアの形態またはハードウェアとコンピュータソフトウェアとの組み合わせで実装され得る。機能がハードウェアで実行されるかコンピュータソフトウェアによって駆動されるハードウェアで実行されるかは、技術的解決策の具体的な応用形態および設計制約によって決まる。当業者は、それぞれの具体的な応用形態に対して説明された機能を実施するために、異なる方法を使用することができるが、こうした実施が、本出願の実施形態の技術的解決策の範囲を超えるものであると見なされるべきではない。
本出願の実施形態では、ゲートウェイECU、第1のCANバスECU、および第2のCANバスECUは、上述の方法例に従って機能ユニットに分割されてもよい。例えば、各機能ユニットは、対応する機能に応じた分割により取得されてもよいし、2つ以上の機能が1つの処理ユニットに統合されてもよい。統合ユニットはハードウェアの形態で実現することもでき、ソフトウェア機能ユニットの形態で実現することもできる。本出願の実施形態におけるユニット分割は一例であり、単に論理的な機能分割であり、実際の実装では別の分割方式であってもよいことに留意されたい。
ソフトウェア機能ユニットの形態が実装に使用される場合、図14は、第1のCANバスECUに適用されたCANバスベースのセキュリティ通信装置100の概略構成図である。図14を参照すると、第1のCANバスECUに適用されたCANバスベースのセキュリティ通信装置100は、受信ユニット101と、処理ユニット102と、送信ユニット103と、を備える。受信ユニット101は、ゲートウェイECUによって送信されたランダム数を取得するように構成される。処理ユニット102は、第1のCAN識別子のキー、第1のCAN識別子のカウント値、第1のCANパケットのデータ、および受信ユニット101によって取得されたランダム数に基づいて第1の情報認証コードを生成し、第1のCAN識別子は第1のCANパケットのCAN識別子であり、第1の暗号化演算結果を取得するために、第1のCAN識別子のキーに基づいて第2のCANパケットに対して暗号化演算を実行し、暗号化された認証が実行される第1のCANパケットを取得するために、第1の暗号化演算結果、第1の情報認証コード、第1のCAN識別子のカウント値、および第1のCANパケットのデータに対して等長暗号化演算を実行する、ように構成される。送信ユニット103は、暗号化された認証が実行される、処理ユニット102によって生成された第1のCANパケットを送信するように構成される。
第1のCAN識別子のキーは、CANバスベースのセキュリティ通信システムによって第1のCAN識別子に事前に割り当てられ、第1のCAN識別子のカウント値は、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの数に従って判定され、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの数によって異なる。第1のCANパケットは、第1のCANバスECUによって送信されるパケットである。第1のCANバスECUは、第1のCAN識別子を使用することにより第1のCANパケットを送信する。
第2のCANパケットは、第1のCANバスECUの過去のCANパケットである。
具体的には、第1のCANパケットが、第1のCAN識別子を使用することにより第1のCANバスECUによって送信された第1のCANパケットである場合、第1のCANバスECUの過去のCANパケットは、CANバスベースのセキュリティ通信システムによって第1のCAN識別子に事前に割り当てられた初期デフォルトCANパケットであり得る。第1のCANパケットが第1のCAN識別子を使用することにより第1のCANバスECUによって送信された第1のCANパケット以外のCANパケットである場合、第1のCANバスECUの過去のCANパケットは、第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの指定されたCANパケットであり得る。
可能な実装では、受信ユニット101は、第3のCANパケット、第2のCAN識別子、およびゲートウェイECUによって送信された、暗号化された認証が実行されるランダム数を取得するようにさらに構成される。処理ユニット102は、受信ユニット101によって受信された第2のCAN識別子のキーと第3のCANパケットとに基づいて第2のランダム数送信キーを取得し、第3の暗号化演算結果を取得するために、第2のランダム数送信キーおよび第3のCANパケットに対して暗号化演算を実行し、第1のランダム数復号情報認証コードを取得するために、第3の暗号化演算結果と暗号化された認証が実行される、受信ユニットによって取得されたランダム数とに対して等長復号演算を実行し、ゲートウェイECUによって送信されたランダム数と第2のランダム数送信キーとに基づいて第2のランダム数情報認証コードを生成し、第1のランダム数復号情報認証コードと第2のランダム数情報認証コードとが一致している場合、ゲートウェイECUによって送信され、受信ユニット101によって取得されたランダム数が有効であると判定する、ようにさらに構成される。
ゲートウェイECUは、第2のCAN識別子を使用することによりCANパケットを少なくとも1つのCANバスECUに送信し、第2のCAN識別子のキーは、CANバスベースのセキュリティ通信システムによって第2のCAN識別子に事前に割り当てられる。第3のCANパケットは、ゲートウェイECUの過去のCANパケットである。
具体的には、ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数である場合、ゲートウェイECUの過去のCANパケットは、CANバスベースのセキュリティ通信システムによってゲートウェイECUに事前に割り当てられた初期デフォルトCANパケットである。ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数以外のランダム数である場合、ゲートウェイECUの過去のCANパケットは、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットである。
可能な例では、処理ユニット102は、ランダム数と第1のCAN識別子のキーとに基づいて第1の生成キーを取得し、第1のCAN識別子のカウント値、第1のCANパケットのデータ、第1の生成キー、およびランダム数に基づいて第1の情報認証コードを生成してもよい。
別の可能な例では、第1のCAN識別子を使用することによりによって送信されたCANパケットの指定されたCANパケットは、送信されたCANパケットの第1のCANパケットに隣接する以前のCANパケットである。
ハードウェアの形態が実装に使用される場合、処理ユニット102はプロセッサであってよく、受信ユニット101および送信ユニット103は送受信機であってもよい。処理ユニット102がプロセッサであり、受信ユニット101および送信ユニット103が送受信機である場合、第1のCANバスECUに適用されたCANバスベースのセキュリティ通信装置100は、図3に示されるCANバスベースのセキュリティ通信システムにおけるCANバスECUの構造を使用することができる。図3に示されるCANバスECUの構造を使用するCANバスベースのセキュリティ通信装置100は、第1のCANバスECUであってもよい。
ソフトウェア機能ユニットの形態が実装に使用される場合、図15は、第2のCANバスECUに適用されたCANバスベースのセキュリティ通信装置200の概略構成図である。図15を参照すると、第2のCANバスECUに適用されたCANバスベースのセキュリティ通信装置200は、受信ユニット201と処理ユニット202とを備える。受信ユニット201は、暗号化された認証が実行される第1のCANパケットと、ゲートウェイECUによって送信されたランダム数とを取得するように構成される。処理ユニット202は、第1の復号情報認証コード、第1のCANパケットの復号データ、および第1のCAN識別子の第1の復号カウント値を取得するために、暗号化された認証が実行される、受信ユニット201によって取得された第1のCANパケットを復号し、第1のCANパケットの復号データ、第1のCAN識別子の第1の復号カウント値、第1のCAN識別子のキー、および受信ユニットによって受信されたランダム数に基づいて第2の情報認証コードを生成し、第1の復号情報認証コードと第2の情報認証コードとが一致しているか否かを判定し、第1の復号情報認証コードと第2の情報認証コードとが一致し、第1のCAN識別子の第1の復号カウント値が有効である場合、暗号化された認証が実行される第1のCANパケットは有効であると判定する、ように構成される。
第1のCAN識別子の第1の復号カウント値が有効であることは、第1のCAN識別子の第1の復号カウント値がカウント値の所定の許容誤差範囲内に入ることを意味する。
可能な例では、処理ユニット202は、第1のCAN識別子のキー、ランダム数、第1のCAN識別子の第1の復号カウント値、および第1のCANパケットの復号データに基づいて第2の情報認証コードを生成するために以下の方式、すなわち、ゲートウェイECUによって送信されたランダム数と第1のCAN識別子のキーとに基づいて第1の生成キーを取得するステップと、第1の生成キー、ゲートウェイECUによって送信されたランダム数、第1のCAN識別子の第1の復号カウント値、および第1のCANパケットの復号データに基づいて第2の情報認証コードを生成するステップと、を使用する。
ハードウェアの形態が実装に使用される場合、処理ユニット202はプロセッサであってよく、受信ユニット201は送受信機であってもよい。処理ユニット202がプロセッサであり、受信ユニット201が送受信機である場合、第2のCANバスECUに適用されたCANバスベースのセキュリティ通信装置200は、図3に示されるCANバスベースのセキュリティ通信システムにおけるCANバスECUの構造を使用することができる。図3に示されるCANバスECUの構造を使用するCANバスベースのセキュリティ通信装置200は、第2のCANバスECUであってもよい。
ソフトウェア機能ユニットの形態が実装に使用される場合、図16は、ゲートウェイECUに適用されたCANバスベースのセキュリティ通信装置300の概略構成図である。図16を参照すると、ゲートウェイECUに適用されたCANバスベースのセキュリティ通信装置300は、処理ユニット301と送信ユニット302とを備える。処理ユニット301は、ランダム数を生成するように構成される。送信ユニット302は、処理ユニット301によって生成されたランダム数を少なくとも1つのCANバスECUに送信するように構成される。
処理ユニット301は、第2のCAN識別子のキーと第3のCANパケットとに基づいて第1のランダム数送信キーを取得し、第1のランダム数送信キーとゲートウェイECUによって送信されるランダム数とに基づいて第1のランダム数情報認証コードを生成し、第2の暗号化演算結果を取得するために、第1のランダム数送信キーおよび第3のCANパケットに対して暗号化演算を実行し、暗号化された認証が実行されるランダム数を取得するために、第2の暗号化演算結果、第1のランダム数情報認証コード、および送信されるランダム数に対して等長暗号化演算を実行し得る。送信ユニット302は、暗号化された認証が実行される、処理ユニット301によって生成されたランダム数を少なくとも1つのCANバスECUに送信する。
ゲートウェイECUは、第2のCAN識別子を使用することによりCANパケットを少なくとも1つのCANバスECUに送信し、第2のCAN識別子のキーは、CANバスベースのセキュリティ通信システムによって第2のCAN識別子に事前に割り当てられる。第3のCANパケットは、ゲートウェイECUの過去のCANパケットである。
具体的には、ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数である場合、ゲートウェイECUの過去のCANパケットは、CANバスベースのセキュリティ通信システムによってゲートウェイECUに事前に割り当てられた初期デフォルトCANパケットである。ゲートウェイECUによって送信されるランダム数がゲートウェイECUによって送信された第1のランダム数以外のランダム数である場合、ゲートウェイECUの過去のCANパケットは、第2のCAN識別子を使用することによりゲートウェイECUによって送信されたCANパケットの指定されたCANパケットである。
可能な実装では、第2のCAN識別子を使用することにより送信されたCANパケットの指定されたCANパケットは、送信されたCANパケットのものであり、かつ第2のCAN識別子を使用することにより現在送信されているCANパケットに隣接する以前のCANパケットである。
ハードウェアの形態が実装に使用される場合、処理ユニット301はプロセッサであってよく、送信ユニット302は送受信機であってもよい。処理ユニット301がプロセッサであり、送信ユニット302が送受信機である場合、ゲートウェイECUに適用されたCANバスベースのセキュリティ通信装置300は、図3に示されるCANバスベースのセキュリティ通信システムにおけるゲートウェイECUの構造を使用することができる。図3に示されるCANバスベースのセキュリティ通信システムにおけるゲートウェイECUの構造を使用するCANバスベースのセキュリティ通信装置300は、ゲートウェイECUであり得る。
当業者であれば、本出願の実施形態が、方法、システム、またはコンピュータプログラム製品として提供され得ることを理解するはずである。したがって、本出願の実施形態は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアとの組み合わせによる実施形態の形態を使用できる。さらに、本出願の実施形態は、コンピュータ使用可能プログラムコードを含む1つ以上のコンピュータ使用可能記憶媒体(ディスクメモリ、CD−ROM、光学メモリなどを含むが、限定されない)上に実装されるコンピュータプログラム製品の形態を使用できる。
本出願の実施形態による方法、デバイス(システム)、およびコンピュータプログラム製品の流れ図および/またはブロック図を参照して、本出願の実施形態を説明した。コンピュータプログラム命令が、流れ図および/またはブロック図における各プロセスおよび/または各ブロック、ならびに流れ図および/またはブロック図におけるプロセスおよび/またはブロックの組み合わせを実施するために使用され得ることを理解されたい。これらのコンピュータプログラム命令は、機械を生み出すために、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、または任意の他のプログラマブルデータ処理デバイスのプロセッサのために提供され、その結果、コンピュータまたは任意の他のプログラマブルデータ処理デバイスのプロセッサによって実行される命令が、流れ図における1つ以上のプロセスおよび/またはブロック図における1つ以上のブロックにおける特定の機能を実施するための装置を生み出すのであってもよい。
これらのコンピュータプログラム命令は、コンピュータまたは任意の他のプログラマブルデータ処理デバイスに対して特定の方式で働くように命令できるコンピュータ可読メモリに格納され、その結果、コンピュータ可読メモリに格納された命令が、命令装置を含む人工物を生み出すのであってもよい。命令装置は、流れ図における1つ以上のプロセスにおける、および/またはブロック図における1つ以上のブロックにおける、特定の機能を実装する。
これらのコンピュータプログラム命令は、コンピュータまたは別のプログラマブルデータ処理デバイス上に読み込まれ、その結果、一連の動作およびステップがコンピュータまたは別のプログラマブルデータ処理デバイス上で実行され、それによって、コンピュータに実装された処理を生み出すのであってもよい。したがって、コンピュータまたは別のプログラマブルデータ処理デバイス上で実行される命令は、流れ図における1つ以上のプロセスにおける、および/またはブロック図における1つ以上のブロックにおける、特定の機能を実施するためのステップを提供する。
当然のことながら、当業者であれば、本出願の範囲から逸脱することなしに、本出願の実施形態に対して様々な修正および変形をなし得る。本出願は、以下の特許請求の範囲およびそれらの均等技術によって定義される保護範囲内に含まれる場合に限り、これらの修正および変形を包含するように意図されている。
100 CANバスベースのセキュリティ通信装置
101 受信ユニット
102 処理ユニット
103 送信ユニット
200 CANバスベースのセキュリティ通信装置
201 受信ユニット
202 処理ユニット
300 CANバスベースのセキュリティ通信装置
301 処理ユニット
302 送信ユニット
304 通信インターフェース

Claims (19)

  1. ゲートウェイ電子制御ユニットECUと前記ゲートウェイECUに接続された少なくとも1つのCANバスとを備える、コントローラエリアネットワークCANバスベースのセキュリティ通信システムであって、各CANバスが少なくとも1つのCANバスECUに接続され、前記少なくとも1つのCANバスECUが第1のCANバスECUを備え、
    前記ゲートウェイECUは、ランダム数を生成し、前記少なくとも1つのCANバスを使用することにより、前記ランダム数を前記少なくとも1つのCANバスECUに送信するように構成され、
    前記第1のCANバスECUは、前記ゲートウェイECUによって送信された前記ランダム数を取得し、第1のCAN識別子のキー、前記第1のCAN識別子のカウント値、第1のCANパケットのデータ、および前記ゲートウェイECUによって送信された前記ランダム数に基づいて第1の情報認証コードを生成し、前記第1のCAN識別子の前記キーは、前記CANバスベースのセキュリティ通信システムによって前記第1のCAN識別子に事前に割り当てられ、前記第1のCAN識別子の前記カウント値は、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信されたCANパケットの数に従って判定され、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信されたCANパケットの前記数によって異なり、前記第1のCANパケットは、前記第1のCANバスECUによって送信されるパケットであり、前記第1のCANバスECUは、前記第1のCAN識別子を使用することにより前記第1のCANパケットを送信する、ように構成され、
    前記第1のCANバスECUは、第2のCANパケットと前記第1のCAN識別子の前記キーとに基づいて暗号化演算を実行して、第1の暗号化演算結果を取得し、前記第1の暗号化演算結果、前記第1の情報認証コード、前記第1のCAN識別子の前記カウント値、および前記第1のCANパケットの前記データに対して等長暗号化演算を実行して、暗号化認証が実行された前記第1のCANパケットを取得し、前記暗号化認証が実行され前記第1のCANパケットを送信する、ようにさらに構成され、
    前記第2のCANパケットは、前記暗号化認証が実行された前記第1のCANパケットが送信される前に既に存在するパケットである前記第1のCANバスECUの過去のCANパケットである、
    コントローラエリアネットワークCANバスベースのセキュリティ通信システム。
  2. 前記ゲートウェイECUが、
    第3のCANパケットと第2のCAN識別子のキーとに基づいて第1のランダム数送信キーを取得し、前記ゲートウェイECUは、前記第2のCAN識別子を使用することによりCANパケットを前記少なくとも1つのCANバスECUに送信し、前記第2のCAN識別子の前記キーは、前記CANバスベースのセキュリティ通信システムによって前記第2のCAN識別子に事前に割り当てられ、前記第3のCANパケットは、前記ゲートウェイECUの過去のCANパケットであり、
    前記第1のランダム数送信キーと前記ゲートウェイECUによって送信されるランダム数とに基づいて第1のランダム数情報認証コードを生成し、
    記第1のランダム数送信キーおよび前記第3のCANパケットに対して暗号化演算を実行して、第2の暗号化演算結果を取得し、
    記第2の暗号化演算結果、前記第1のランダム数情報認証コード、および前記送信されるランダム数に対して等長暗号化演算を実行して、暗号化認証が実行されるランダム数を取得し、
    暗号化認証が実行される前記ランダム数を前記少なくとも1つのCANバスECUに送信する、
    ように特に構成される、請求項1に記載のシステム。
  3. 前記第1のCANバスECUは、
    前記第2のCAN識別子、前記第3のCANパケット、および暗号化認証が実行される前記ランダム数を取得し、
    前記第2のCAN識別子の前記キーと前記第3のCANパケットとに基づいて第2のランダム数送信キーを取得し、
    記第2のランダム数送信キーおよび前記第3のCANパケットに対して暗号化演算を実行して、第3の暗号化演算結果を取得し、
    記第3の暗号化演算結果と暗号化認証が実行される前記ランダム数とに対して等長復号演算を実行して、第1のランダム数復号情報認証コードを取得し、
    前記ゲートウェイECUによって送信された前記ランダム数と前記第2のランダム数送信キーとに基づいて第2のランダム数情報認証コードを生成し、
    前記第1のランダム数復号情報認証コードと前記第2のランダム数情報認証コードとが一致している場合、前記ゲートウェイECUによって送信された前記ランダム数が有効であると判定する、
    ようにさらに構成される、請求項2に記載のシステム。
  4. 前記少なくとも1つのCANバスECUは、第2のCANバスECUをさらに備え、前記第2のCANバスECUは、
    暗号化認証が実行される前記第1のCANパケットを取得し、暗号化認証が実行される前記第1のCANパケットを復号して、第1の復号情報認証コード、前記第1のCANパケットの復号データ、および前記第1のCAN識別子の第1の復号カウント値を取得し、
    前記ゲートウェイECUによって送信された前記ランダム数を取得し、前記第1のCAN識別子の前記キー、前記ゲートウェイECUによって送信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて第2の情報認証コードを生成し、
    前記第1の復号情報認証コードと前記第2の情報認証コードとが一致し、前記第1のCAN識別子の前記第1の復号カウント値が有効である場合、暗号化認証が実行される前記第1のCANパケットは有効であると判定する、
    ように構成される、請求項1から3のいずれか一項に記載のシステム。
  5. 前記第1のCANバスECUは、
    前記ゲートウェイECUによって送信された前記ランダム数と前記第1のCAN識別子の前記キーとに基づいて第1の生成キーを取得し、
    前記第1のCAN識別子の前記カウント値、前記第1のCANパケットの前記データ、前記第1の生成キー、および前記ゲートウェイECUによって送信された前記ランダム数に基づいて前記第1の情報認証コードを生成する、
    ように特に構成され、
    前記第2のCANバスECUは、
    前記ゲートウェイECUによって送信された前記ランダム数と前記第1のCAN識別子の前記キーとに基づいて前記第1の生成キーを取得し、
    前記第1の生成キー、前記ゲートウェイECUによって送信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて前記第2の情報認証コードを生成する、
    ように特に構成される、
    請求項4に記載のシステム。
  6. 前記第1のCANパケットが、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信された前記第1のCANパケットである場合、前記第1のCANバスECUの前記過去のCANパケットは、前記CANバスベースのセキュリティ通信システムによって前記第1のCAN識別子に事前に割り当てられた初期デフォルトCANパケットである、または
    前記第1のCANパケットが、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信された第1のCANパケット以外のCANパケットである場合、前記第1のCANバスECUの前記過去のCANパケットは、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信されたCANパケットの指定されたCANパケットである、
    請求項1から5のいずれか一項に記載のシステム。
  7. 前記ゲートウェイECUによって送信される前記ランダム数が前記ゲートウェイECUによって送信された第1のランダム数である場合、前記ゲートウェイECUの前記過去のCANパケットは、前記CANバスベースのセキュリティ通信システムによって前記ゲートウェイECUに事前に割り当てられた初期デフォルトCANパケットである、または
    前記ゲートウェイECUによって送信される前記ランダム数が前記ゲートウェイECUによって送信された第1のランダム数以外のランダム数である場合、前記ゲートウェイECUの前記過去のCANパケットは、前記第2のCAN識別子を使用することにより前記ゲートウェイECUによって送信されたCANパケットの指定されたCANパケットである、
    請求項2から5のいずれか一項に記載のシステム。
  8. 第1のCANバス電子制御ユニットECUに適用された、コントローラエリアネットワークCANバスベースのセキュリティ通信装置であって、
    ゲートウェイECUによって送信されたランダム数を取得するように構成された受信ユニットと、
    処理ユニットであって、第1のCAN識別子のキー、前記第1のCAN識別子のカウント値、第1のCANパケットのデータ、および前記受信ユニットによって取得された前記ランダム数に基づいて第1の情報認証コードを生成し、前記第1のCAN識別子の前記キーは、CANバスベースのセキュリティ通信システムによって前記第1のCAN識別子に事前に割り当てられ、前記第1のCAN識別子の前記カウント値は、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信されたCANパケットの数に従って判定され、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信されたCANパケットの前記数によって異なり、前記第1のCANパケットは、前記第1のCANバスECUによって送信されるパケットであり、前記第1のCANバスECUは、前記第1のCAN識別子を使用することにより前記第1のCANパケットを送信し、
    2のCANパケットと前記第1のCAN識別子の前記キーとに基づいて暗号化演算を実行して、第1の暗号化演算結果を取得し、前記第1の暗号化演算結果、前記第1の情報認証コード、前記第1のCAN識別子の前記カウント値、および前記第1のCANパケットの前記データに対して等長暗号化演算を実行して、暗号化認証が実行される前記第1のCANパケットを取得し、
    前記第2のCANパケットは、前記暗号化認証が実行された前記第1のCANパケットが送信される前に既に存在するパケットである前記第1のCANバスECUの過去のCANパケットである、
    ように構成された処理ユニットと、
    暗号化認証が実行される、前記処理ユニットによって生成された前記第1のCANパケットを送信するように構成された送信ユニットと、
    を備える、コントローラエリアネットワークCANバスベースのセキュリティ通信装置。
  9. 前記受信ユニットは、第2のCAN識別子、第3のCANパケット、および暗号化認証が実行されるランダム数を取得し、前記ゲートウェイECUは前記第2のCAN識別子を使用することにより前記少なくとも1つのCANバスECUにCANパケットを送信し、前記第3のCANパケットは前記ゲートウェイECUの過去のCANパケットである、ようにさらに構成され、
    前記処理ユニットは、
    前記第2のCAN識別子のキーと前記第3のCANパケットとに基づいて第2のランダム数送信キーを取得し、前記第2のCAN識別子の前記キーは前記CANバスベースのセキュリティ通信システムによって前記第2のCAN識別子に事前に割り当てられ、
    記第2のランダム数送信キーおよび前記第3のCANパケットに対して暗号化演算を実行して、第3の暗号化演算結果を取得し、
    記第3の暗号化演算結果と暗号化認証が実行される、前記受信ユニットによって受信された前記ランダム数とに対して等長復号演算を実行して、第1のランダム数復号情報認証コードを取得し、
    前記受信ユニットによって受信された前記ランダム数と前記第2のランダム数送信キーとに基づいて第2のランダム数情報認証コードを生成し、
    前記第1のランダム数復号情報認証コードと前記第2のランダム数情報認証コードとが一致している場合、前記受信ユニットによって取得された前記ランダム数が有効であると判定する、
    ようにさらに構成される、
    請求項8に記載の装置。
  10. 前記処理ユニットは
    記受信ユニットによって受信された前記ランダム数と前記第1のCAN識別子の前記キーとに基づいて第1の生成キーを取得するステップと、
    前記第1のCAN識別子の前記カウント値、前記第1のCANパケットの前記データ、前記第1の生成キー、および前記受信ユニットによって受信された前記ランダム数に基づいて前記第1の情報認証コードを生成するステップと、
    を使用して、前記第1のCAN識別子の前記キー、前記第1のCAN識別子の前記カウント値、前記第1のCANパケットの前記データ、および前記受信ユニットによって取得された前記ランダム数に基づいて前記第1の情報認証コードを生成する、請求項8または9に記載の装置。
  11. 前記第1のCANパケットが、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信された前記第1のCANパケットである場合、前記第1のCANバスECUの前記過去のCANパケットは、前記CANバスベースのセキュリティ通信システムによって前記第1のCAN識別子に事前に割り当てられた初期デフォルトCANパケットである、または
    前記第1のCANパケットが、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信された第1のCANパケット以外のCANパケットである場合、前記第1のCANバスECUの前記過去のCANパケットは、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信されたCANパケットの指定されたCANパケットである、
    請求項8から10のいずれか一項に記載の装置。
  12. 第2のCANバス電子制御ユニットECUに適用された、コントローラエリアネットワークCANバスベースのセキュリティ通信装置であって、
    暗号化認証が実行される第1のCANパケットとゲートウェイECUによって送信されたランダム数とを取得するように構成された受信ユニットと、
    処理ユニットであって、暗号化認証が実行され、前記受信ユニットによって取得された前記第1のCANパケットを復号して、第1の復号情報認証コード、前記第1のCANパケットの復号データ、および第1のCAN識別子の第1の復号カウント値を取得し、前記第1のCAN識別子のキー、前記受信ユニットによって受信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて第2の情報認証コードを生成し、前記第1の復号情報認証コードと前記第2の情報認証コードとが一致するか否かを判定し、前記第1の復号情報認証コードと前記第2の情報認証コードとが一致し、前記第1のCAN識別子の前記第1の復号カウント値が有効である場合、暗号化認証が実行される前記第1のCANパケットは有効であると判定し、
    前記第1のCAN識別子の前記キーは、CANバスベースのセキュリティ通信システムによって前記第1のCAN識別子に事前に割り当てられる、
    ように構成された処理ユニットと、
    を備える、コントローラエリアネットワークCANバスベースのセキュリティ通信装置。
  13. 前記処理ユニットは
    記受信ユニットによって受信された前記ランダム数と前記第1のCAN識別子の前記キーとに基づいて第1の生成キーを取得するステップと、
    前記第1の生成キー、前記受信ユニットによって受信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて前記第2の情報認証コードを生成するステップと、
    を使用して、前記第1のCAN識別子の前記キー、前記受信ユニットによって受信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて前記第2の情報認証コードを生成する、請求項12に記載の装置。
  14. コントローラエリアネットワークCANバスベースのセキュリティ通信方法であって、
    CANバス電子制御ユニットECUによって、ゲートウェイECUによって送信されたランダム数を取得するステップと、
    前記CANバスECUによって、第1のCAN識別子のキー、前記第1のCAN識別子のカウント値、第1のCANパケットのデータ、および前記ゲートウェイECUによって送信された前記ランダム数に基づいて第1の情報認証コードを生成するステップであって、前記第1のCAN識別子の前記キーは、CANバスベースのセキュリティ通信システムによって前記第1のCAN識別子に事前に割り当てられ、前記第1のCAN識別子の前記カウント値は、前記第1のCAN識別子を使用することにより第1のCANバスECUによって送信されたCANパケットの数に従って判定され、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信された前記CANパケットの前記数によって異なり、前記第1のCANパケットは、前記第1のCANバスECUによって送信されるパケットであり、前記第1のCANバスECUは、前記第1のCAN識別子を使用することにより前記第1のCANパケットを送信する、ステップと、
    2のCANパケットと前記第1のCAN識別子の前記キーとに基づいて暗号化演算を実行して、前記CANバスECUによって、第1の暗号化演算結果を取得し、前記第1の暗号化演算結果、前記第1の情報認証コード、前記第1のCAN識別子の前記カウント値、および前記第1のCANパケットの前記データに対して等長暗号化演算を実行して、暗号化認証が実行される前記第1のCANパケットを取得し、暗号化認証が実行され前記第1のCANパケットを送信するステップと、
    を含み、
    前記第2のCANパケットは、前記暗号化認証が実行された前記第1のCANパケットが送信される前に既に存在するパケットである前記第1のCANバスECUの過去のCANパケットである、
    コントローラエリアネットワークCANバスベースのセキュリティ通信方法。
  15. CANバスECUによって、ゲートウェイECUによって送信されたランダム数を取得する、前記ステップの後、前記方法は、
    前記CANバスECUによって、第2のCAN識別子、第3のCANパケット、および暗号化認証が実行される前記ランダム数を取得するステップであって、前記ゲートウェイECUは前記第2のCAN識別子を使用することにより前記少なくとも1つのCANバスECUにCANパケットを送信し、前記第3のCANパケットは前記ゲートウェイECUの過去のCANパケットである、ステップと、
    前記CANバスECUによって、前記第2のCAN識別子のキーと前記第3のCANパケットに基づいて第2のランダム数送信キーを取得するステップであって、前記第2のCAN識別子の前記キーは前記CANバスベースのセキュリティ通信システムによって前記第2のCAN識別子に事前に割り当てられる、ステップと、
    記第2のランダム数送信キーおよび前記第3のCANパケットに対して暗号化演算を実行して、前記CANバスECUによって、第3の暗号化演算結果を取得するステップと、
    記第3の暗号化演算結果と暗号化認証が実行される前記ランダム数とに対して等長復号演算を実行して、前記CANバスECUによって、第1のランダム数復号情報認証コードを取得するステップと、
    前記CANバスECUによって、前記ゲートウェイECUによって送信された前記ランダム数と前記第2のランダム数送信キーとに基づいて第2のランダム数情報認証コードを生成するステップと、
    前記第1のランダム数復号情報認証コードと前記第2のランダム数情報認証コードとが一致していると前記CANバスECUが判定した場合、前記ゲートウェイECUによって送信された前記取得されたランダム数が有効であると判定するステップと、
    をさらに含む、請求項14に記載の方法。
  16. 前記CANバスECUによって、第1のCAN識別子のキー、前記第1のCAN識別子のカウント値、第1のCANパケットのデータ、および前記ゲートウェイECUによって送信された前記ランダム数に基づいて第1の情報認証コードを生成する、前記ステップは、
    前記CANバスECUによって、前記ゲートウェイECUによって送信された前記ランダム数と前記第1のCAN識別子の前記キーとに基づいて第1の生成キーを取得するステップと、
    前記第1のCAN識別子の前記カウント値、前記第1のCANパケットの前記データ、前記第1の生成キー、および前記ゲートウェイECUによって送信された前記ランダム数に基づいて前記第1の情報認証コードを生成するステップと、
    を含む、請求項14または15に記載の方法。
  17. 前記第1のCANパケットが、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信された前記第1のCANパケットである場合、前記第1のCANバスECUの前記過去のCANパケットは、前記CANバスベースのセキュリティ通信システムによって前記第1のCAN識別子に事前に割り当てられた初期デフォルトCANパケットである、または
    前記第1のCANパケットが、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信された第1のCANパケット以外のCANパケットである場合、前記第1のCANバスECUの前記過去のCANパケットは、前記第1のCAN識別子を使用することにより前記第1のCANバスECUによって送信されたCANパケットの指定されたCANパケットである、
    請求項14から16のいずれか一項に記載の方法。
  18. コントローラエリアネットワークCANバスベースのセキュリティ通信方法であって、
    CANバス電子制御ユニットECUによって、暗号化認証が実行された第1のCANパケットを取得し、暗号化認証が実行される前記第1のCANパケットを復号して、第1の復号情報認証コード、前記第1のCANパケットの復号データ、および第1のCAN識別子の第1の復号カウント値を取得するステップと、
    前記CANバスECUによって、ゲートウェイECUによって送信されたランダム数を取得し、前記第1のCAN識別子のキー、前記ゲートウェイECUによって送信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて第2の情報認証コードを生成するステップと、
    前記第1の復号情報認証コードと前記第2の情報認証コードとが一致し、前記第1のCAN識別子の前記第1の復号カウント値が有効であると前記CANバスECUが判定した場合、暗号化認証が実行される前記第1のCANパケットは有効であると判定するステップと、
    を含む、コントローラエリアネットワークCANバスベースのセキュリティ通信方法。
  19. 前記CANバスECUによって、前記第1のCAN識別子のキー、前記ゲートウェイECUによって送信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて第2の情報認証コードを生成する、前記ステップは、
    前記CANバスECUによって、前記ゲートウェイECUから送信された前記ランダム数と前記第1のCAN識別子の前記キーとに基づいて第1の生成キーを取得するステップと、
    前記第1の生成キー、前記ゲートウェイECUによって送信された前記ランダム数、前記第1のCAN識別子の前記第1の復号カウント値、および前記第1のCANパケットの前記復号データに基づいて前記第2の情報認証コードを生成するステップと、
    を含む、請求項18に記載の方法。
JP2019565171A 2017-05-25 2017-12-18 コントローラエリアネットワークバスベースのセキュリティ通信方法、装置、およびシステム Active JP6915095B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201710381307.4 2017-05-25
CN201710381307 2017-05-25
CN201710854489.2 2017-09-20
CN201710854489.2A CN108965218B (zh) 2017-05-25 2017-09-20 一种控制器区域网总线安全通信方法、装置及系统
PCT/CN2017/116986 WO2018214487A1 (zh) 2017-05-25 2017-12-18 一种控制器区域网总线安全通信方法、装置及系统

Publications (2)

Publication Number Publication Date
JP2020521405A JP2020521405A (ja) 2020-07-16
JP6915095B2 true JP6915095B2 (ja) 2021-08-04

Family

ID=64495128

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019565171A Active JP6915095B2 (ja) 2017-05-25 2017-12-18 コントローラエリアネットワークバスベースのセキュリティ通信方法、装置、およびシステム

Country Status (5)

Country Link
US (1) US11271771B2 (ja)
EP (1) EP3641215B1 (ja)
JP (1) JP6915095B2 (ja)
KR (1) KR102316872B1 (ja)
CN (1) CN108965218B (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102642875B1 (ko) * 2018-01-23 2024-02-29 현대자동차주식회사 차량 내 네트워크에 보안을 제공하는 시스템 및 방법
US12088728B2 (en) * 2018-10-03 2024-09-10 Panasonic Automotive Systems Company Of America, Division Of Panasonic Corporation Of North America Secure controller area network in vehicles
CN111443623A (zh) * 2018-12-29 2020-07-24 北京奇虎科技有限公司 基于车辆can总线结构的安全防护装置及方法
CN109921908B (zh) * 2019-02-13 2021-09-10 北京仁信证科技有限公司 一种can总线身份认证方法及身份认证系统
CN110472200B (zh) * 2019-07-29 2023-10-27 深圳市中兴新云服务有限公司 一种基于表单的数据处理方法、装置及电子设备
CN110430215B (zh) * 2019-08-16 2021-11-09 深圳特蓝图科技有限公司 一种机器人通信控制方法
CN112449326A (zh) * 2019-08-30 2021-03-05 华为技术有限公司 一种通信、更新密钥的方法及装置
CN115716455A (zh) * 2019-09-12 2023-02-28 华为技术有限公司 实现汽车中电子控制功能的系统、方法以及汽车
US11258755B2 (en) * 2019-09-19 2022-02-22 GM Global Technology Operations LLC Method and system for processing coherent data
CN110826054B (zh) * 2019-11-05 2022-07-15 哈尔滨工业大学 一种基于报文数据场特征的车载can总线入侵检测方法
CN111310222B (zh) * 2019-11-20 2023-08-15 金现代信息产业股份有限公司 文件加密方法
KR20210073976A (ko) * 2019-12-11 2021-06-21 현대자동차주식회사 차량용 게이트웨이 및 차량용 게이트웨이의 제어방법
CN111077883A (zh) * 2019-12-27 2020-04-28 国家计算机网络与信息安全管理中心 一种基于can总线的车载网络安全防护方法及装置
CN113132092B (zh) * 2019-12-31 2022-04-22 华为技术有限公司 通信方法和电子设备
CN113132082A (zh) * 2020-01-10 2021-07-16 华为技术有限公司 一种基于车内网的通信方法及装置
TWI718008B (zh) * 2020-02-21 2021-02-01 宏碁股份有限公司 控制器區域網路資料壓縮/解壓縮之方法與裝置
CN112640365B (zh) * 2020-02-29 2022-04-08 华为技术有限公司 一种控制器区域网can总线安全通信方法及装置
CN111683081B (zh) * 2020-06-04 2022-10-18 北京百度网讯科技有限公司 用于数据安全传输的方法和装置
CN113806827A (zh) * 2020-06-15 2021-12-17 卓品智能科技无锡有限公司 一种基于sm2硬件加密的总线线控方法
CN111865922B (zh) * 2020-06-23 2022-09-23 国汽(北京)智能网联汽车研究院有限公司 一种通信方法、装置、设备及存储介质
CN112118095A (zh) * 2020-08-27 2020-12-22 江苏徐工工程机械研究院有限公司 一种工程机械can总线随机数生成方法、系统及身份认证系统
WO2022041122A1 (zh) * 2020-08-28 2022-03-03 华为技术有限公司 一种数据传输方法以及装置
CN112134702B (zh) * 2020-10-29 2022-02-15 北京邮电大学 车内网安全通信发送、接收方法及装置
CN112652097B (zh) * 2020-12-16 2022-06-10 浙江大学 商用车远程防盗系统及其工作方法
CN113179152B (zh) * 2021-03-11 2022-11-18 江苏大学 一种基于ecu通信频率属性的车内网络数据通信方法
CN113098860B (zh) * 2021-03-30 2023-04-07 三一汽车起重机械有限公司 一种can总线加密方法、装置、工程机械和存储介质
CN113328919B (zh) * 2021-05-28 2023-10-10 江苏徐工工程机械研究院有限公司 一种can总线标识符、通信方法以及通信系统
CN113489588A (zh) * 2021-06-30 2021-10-08 湖南三一智能控制设备有限公司 作业机械的数据处理方法、装置及作业机械
CN113794734A (zh) * 2021-09-26 2021-12-14 上汽通用五菱汽车股份有限公司 车载can总线加密通信方法、控制装置和可读存储介质
CN113746642B (zh) * 2021-11-08 2022-02-11 西安热工研究院有限公司 一种计算机间通信方法及系统
CN114142998B (zh) * 2021-11-26 2024-03-15 北京神经元网络技术有限公司 一种数据加密处理方法、装置、电子设备及存储介质
CN114500150A (zh) * 2022-01-11 2022-05-13 上海三一重机股份有限公司 基于can总线的通信方法、装置及作业机械
CN114760163B (zh) * 2022-04-22 2024-01-12 惠州华阳通用电子有限公司 一种can通信方法
CN115941204B (zh) * 2022-12-06 2024-04-12 镁佳(北京)科技有限公司 一种基于hse的数据防重放方法及系统
CN116691415B (zh) * 2023-08-07 2023-10-10 深圳航天科创泛在电气有限公司 充电信息管理方法、系统、设备及介质
CN117221010B (zh) * 2023-11-07 2024-01-12 合肥工业大学 一种基于云端的车辆ecu身份认证方法、通信方法及系统
CN117714055B (zh) * 2024-02-05 2024-04-12 合肥工业大学 一种基于身份信息的车内网络通信方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10171750A (ja) * 1996-12-09 1998-06-26 Fujitsu Ltd メモリ間データ転送システム
US20110093639A1 (en) 2009-10-19 2011-04-21 Microchip Technology Incorporated Secure Communications Between and Verification of Authorized CAN Devices
JP5770602B2 (ja) * 2011-10-31 2015-08-26 トヨタ自動車株式会社 通信システムにおけるメッセージ認証方法および通信システム
US9288048B2 (en) * 2013-09-24 2016-03-15 The Regents Of The University Of Michigan Real-time frame authentication using ID anonymization in automotive networks
JP6126980B2 (ja) 2013-12-12 2017-05-10 日立オートモティブシステムズ株式会社 ネットワーク装置およびネットワークシステム
US9231936B1 (en) 2014-02-12 2016-01-05 Symantec Corporation Control area network authentication
US10211990B2 (en) 2014-07-25 2019-02-19 GM Global Technology Operations LLC Authenticating messages sent over a vehicle bus that include message authentication codes
US20160026787A1 (en) 2014-07-25 2016-01-28 GM Global Technology Operations LLC Authenticating messages sent over a vehicle bus that include message authentication codes
KR101572935B1 (ko) 2014-10-02 2015-12-11 현대자동차주식회사 메시지 인증 코드 혼합을 통한 can 패킷 인증 방법 및 그 장치
WO2016075869A1 (ja) * 2014-11-13 2016-05-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 鍵管理方法、車載ネットワークシステム及び鍵管理装置
CN106161224B (zh) * 2015-04-02 2019-09-17 阿里巴巴集团控股有限公司 数据交换方法、装置及设备
CN104767618B (zh) 2015-04-03 2018-02-09 清华大学 一种基于广播的can总线认证方法及系统
DE102015211451A1 (de) * 2015-06-22 2017-01-05 Volkswagen Aktiengesellschaft Verfahren zu einem Manipulationsschutz von über ein Bussystem zwischen Systemkomponenten zu übertragenden Nutzdatenpaketen
CN105897669A (zh) 2015-11-11 2016-08-24 乐卡汽车智能科技(北京)有限公司 数据发送、接收方法、发送端、接收端和can总线网络
CN106027260B (zh) * 2016-05-12 2019-04-02 成都信息工程大学 基于密钥预分配的汽车ecu完整性验证和加密通信方法

Also Published As

Publication number Publication date
US11271771B2 (en) 2022-03-08
US20200092129A1 (en) 2020-03-19
KR20200007972A (ko) 2020-01-22
JP2020521405A (ja) 2020-07-16
CN108965218A (zh) 2018-12-07
EP3641215A4 (en) 2020-04-29
EP3641215B1 (en) 2021-03-31
EP3641215A1 (en) 2020-04-22
KR102316872B1 (ko) 2021-10-22
CN108965218B (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
JP6915095B2 (ja) コントローラエリアネットワークバスベースのセキュリティ通信方法、装置、およびシステム
US9756024B2 (en) Computer-implemented cryptographic method for improving a computer network, and terminal, system and computer-readable medium for the same
CN110073634B (zh) 数据转换系统及方法
JP6420176B2 (ja) 通信システムおよび通信装置
US9252945B2 (en) Method for recognizing a manipulation of a sensor and/or sensor data of the sensor
CN105162772B (zh) 一种物联网设备认证与密钥协商方法和装置
WO2018214487A1 (zh) 一种控制器区域网总线安全通信方法、装置及系统
WO2018046009A1 (zh) 一种区块链身份系统
KR101356476B1 (ko) 차량용 데이터의 인증 및 획득 방법
CN111726274B (zh) 一种汽车can总线数据通信方法、设备及存储介质
Lu et al. LEAP: A lightweight encryption and authentication protocol for in-vehicle communications
EP4075717A1 (en) Intra-vehicle network-based communication method and apparatus
KR20140023799A (ko) Can에서 데이터의 기밀성과 무결성을 보장하는 방법
KR20210049177A (ko) 차량내 이더넷 링크들의 보안을 위한 방법 및 시스템
US20050172119A1 (en) Hardware/software partitioning for encrypted WLAN communications
CN114364062A (zh) 一种车联网安全接入网关的方法
CN113972998A (zh) 一种预共享密钥psk的更新方法及装置
Horvat et al. Protection of CAN communication on embedded platform using symmetric encryption
CN113904789A (zh) 一种铁路安全通信协议的加密方法、设备以及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210622

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210714

R150 Certificate of patent or registration of utility model

Ref document number: 6915095

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150