JP2023523883A - 自動車の通信システムのためのデータリンク層の真正性およびセキュリティ - Google Patents
自動車の通信システムのためのデータリンク層の真正性およびセキュリティ Download PDFInfo
- Publication number
- JP2023523883A JP2023523883A JP2022556148A JP2022556148A JP2023523883A JP 2023523883 A JP2023523883 A JP 2023523883A JP 2022556148 A JP2022556148 A JP 2022556148A JP 2022556148 A JP2022556148 A JP 2022556148A JP 2023523883 A JP2023523883 A JP 2023523883A
- Authority
- JP
- Japan
- Prior art keywords
- protocol frame
- transmitter
- security
- protocol
- data
- 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.)
- Pending
Links
- 230000006854 communication Effects 0.000 title claims abstract description 80
- 238000004891 communication Methods 0.000 title claims abstract description 80
- 238000004904 shortening Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 230000004931 aggregating effect Effects 0.000 claims 1
- 239000010410 layer Substances 0.000 description 118
- 230000003068 static effect Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 101100117236 Drosophila melanogaster speck gene Proteins 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/162—Implementing security features at a particular protocol layer at the data link layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Small-Scale Networks (AREA)
Abstract
本開示は、車両内のバスベースの通信ネットワークのための真正性およびデータセキュリティに関する。本開示は、このような真正性およびデータセキュリティを提供するプロトコルフレーム、データリンク層上の送信機およびデータリンク層上の受信機と、本開示によるプロトコルフレーム、送信機および受信機を使用する車両内の通信ネットワークと、を教示する。
Description
本開示は、車両ネットワークにおけるネットワークのためのデータリンク層上での認証およびセキュリティに関する。
今日の車両では、データの完全性およびセキュリティが必須となっている。過去のいくつかの機能、例えば操舵では、ステアリングホイールから車両の車輪への物理的な接続が設けられていた。同じことが、制動機能および変速機能についても当てはまる。しかしながら、今日の車両では、このような物理的な接続はもはや存在せず、ステアリング命令を電動パワーステアリングに通信する電気的なワイヤまたはバスが存在する。バスを介した操舵命令に応答して、電動パワーステアリングは、ステアリングホイールの旋回に対応する車輪の旋回を作動させる。
バスにアクセスすることにより、車両の機能を引き受けることを試みて悪意のあるバス通信または命令を挿入することが可能となり得る。挿入された悪意のあるバス命令の危険性は、今日の車両に提供されるエンターテイメント機能または接続性の向上に伴ってさらに増加している。
自動運転車両または自動運転自動車の場合には、車両の周囲を分析するためのセンサデータと、車両を制御するアクチュエータへの命令とをバス通信として実現することができるので、この危険性が一層高くなる。
この危険性を軽減するための1つの手法は、このようなバス通信のための真正性およびセキュリティをデータリンク層レベルで提供して、これらの真正性および/またはセキュリティの問題によって上位のプロトコル層に負荷をかけないようにすることである。
いくつかの可能な実装形態によれば、プロトコルに従って車両内のバスベースの通信システムの参加者間で通信するためのプロトコルフレームは、ヘッダを含むことができ、ヘッダは、送信機と受信機との間で通信されるべきプロトコルフレームの開始を示し、送信機および受信機の両方は、バスベースの通信システムの参加者であり、プロトコルフレームは、指示を含むことができ、指示は、データリンク層上でのプロトコルフレームの真正性のレベルおよび/またはデータセキュリティのレベルを示すように構成されている。第1の実装形態では、指示は、プロトコルフレームに対するデータリンク層レベルでの認証を示すように構成された第1の指示を含む。
第2の実装形態では、単独でまたは第1の実装形態と組み合わせて、指示は、プロトコルフレームに対するデータリンク層レベルでの認証およびデータセキュリティの両方を示すように構成された第2の指示を含む。
第3の実装形態では、単独でまたは第1の実装形態および第2の実装形態のうちの1つまたは複数と組み合わせて、指示、第1の指示、または第2の指示のうちの少なくとも1つは、プロトコルフレームのヘッダの一部である。
第4の実装形態では、単独でまたは第1の実装形態から第3の実装形態までの1つまたは複数と組み合わせて、指示、第1の指示、または第2の指示のうちの少なくとも1つは、プロトコルフレームのペイロードタイプとして表される。
第5の実装形態では、単独でまたは第1の実装形態から第4の実装形態までの1つまたは複数と組み合わせて、指示、第1の指示、または第2の指示のうちの少なくとも1つは、ヘッダの内部のセキュリティ指示フラグまたはビットフィールドとして表される。
第6の実装形態では、単独でまたは第1の実装形態から第5の実装形態までの1つまたは複数と組み合わせて、プロトコルフレームは、ヘッダの下流のセキュリティ情報と、ヘッダの下流の保護されたペイロード部分と、を含むことができ、セキュリティ情報は、保護されたペイロード部分に対する保護レベルを示す。
第7の実装形態では、単独でまたは第1の実装形態から第6の実装形態までの1つまたは複数と組み合わせて、セキュリティ情報は、送信機と受信機との間の仮想チャネル、または1つもしくは複数のキーのうちの少なくとも1つを示すようにさらに構成されている。
第8の実装形態では、単独でまたは第1の実装形態から第7の実装形態までの1つまたは複数と組み合わせて、セキュリティ情報と組み合わせられた指示は、プロトコルフレームに対して認証のみが適用されるか、または認証およびデータ保護が適用されるかを示す。
第9の実装形態では、単独でまたは第1の実装形態から第8の実装形態までの1つまたは複数と組み合わせて、セキュリティ情報は、プロトコルフレームに対するデータリンク層レベルでの認証のため、または認証およびデータセキュリティのために選択されるべきキーを示すセキュリティアソシエーションを示すようにさらに構成されている。
第10の実装形態では、単独でまたは第1の実装形態から第9の実装形態までの1つまたは複数と組み合わせて、プロトコルフレームは、セキュリティタグをさらに含み、セキュリティタグは、送信機から受信機に伝送されることが意図されたオリジナルのプロトコルフレームとしてのプロトコルフレームの真正性を、データリンク層レベルで検証するように構成されており、セキュリティタグは、プロトコルフレームの真正性を、データリンク層上の送信機で、またはデータリンク層上の受信機で検証するように構成されている。
第11の実装形態では、単独でまたは第1の実装形態から第10の実装形態までの1つまたは複数と組み合わせて、フレームは、コントローラエリアネットワーク(CAN)標準、CANフレキシブルデータレート標準、またはCANエクストララージ標準と共に使用される長さNを有する。
第12の実装形態では、単独でまたは第1の実装形態から第11の実装形態までの1つまたは複数と組み合わせて、フレームは、8バイト、8~64バイト、または64~2048バイトの長さNを選択的に有する。
いくつかの可能な実装形態によれば、車両内のバスベースの通信システムに参加するように構成されている、データリンク層上の送信機であって、送信機は、上位のプロトコル層からの要求に応じてヘッダを生成し、kバイト長のキーKにアクセスし、上位のプロトコル層から保護されたペイロード部分を受信し、付加認証データを集約し、送信機から受信機に送信されるオリジナルフレームとしてのフレームの真正性を、データリンク層レベルで検証するためのセキュリティタグを、キーKおよび付加認証データを使用して生成し、ヘッダと、保護されたペイロード部分と、付加認証データと、を含むプロトコルフレームを生成するように構成されており、送信機は、プロトコルフレームを、送信機からバスベースの通信システムの1つまたは複数の参加者にデータリンク層レベルで通信するように構成されている。
第1の実装形態では、バスベースの通信システムは、ブロードキャストベースのバスシステムであり、したがって、バスベースの通信システムの内部の全てのノードが、送信機によって通信されたプロトコルフレームを受信するように構成されている。
第2の実装形態では、単独でまたは第1の実装形態と組み合わせて、プロトコルフレームは、データリンク層上でのプロトコルフレームの真正性のレベルまたはデータセキュリティのレベルを示すように構成された指示をさらに含む。
第3の実装形態では、単独でまたは第1の実装形態および第2の実装形態のうちの1つまたは複数と組み合わせて、指示は、プロトコルフレームに対するデータリンク層レベルでの認証を示すように構成された第1の指示を含む。
第4の実装形態では、単独でまたは第1の実装形態から第3の実装形態までの1つまたは複数と組み合わせて、指示は、プロトコルフレームに対するデータリンク層レベルでの認証およびデータセキュリティの両方を示すように構成された第2の指示を含む。
第5の実装形態では、単独でまたは第1の実装形態から第4の実装形態までの1つまたは複数と組み合わせて、指示、第1の指示、または第2の指示のうちの少なくとも1つは、プロトコルフレームのヘッダの一部である。
第6の実装形態では、単独でまたは第1の実装形態から第5の実装形態までの1つまたは複数と組み合わせて、指示、第1の指示、または第2の指示のうちの少なくとも1つは、ヘッダの内部のセキュリティ指示フラグまたはビットフィールドとして表される。
第7の実装形態では、単独でまたは第1の実装形態から第6の実装形態までの1つまたは複数と組み合わせて、送信機の認証のみのモードにおいて、付加認証データは、ヘッダと、保護されたペイロード部分とである。
第8の実装形態では、単独でまたは第1の実装形態から第7の実装形態までの1つまたは複数と組み合わせて、認証された暗号化モードにおける送信機は、キーと、平文での保護されたペイロード部分と、付加認証データとしてのヘッダと、を使用して、保護されたペイロード部分のための暗号文を生成するようにさらに構成されている。
第9の実装形態では、単独でまたは第1の実装形態から第8の実装形態までの1つまたは複数と組み合わせて、送信機は、ヘッダの下流にsnバイトのシーケンス番号を生成するようにさらに構成されており、送信機は、保護されたペイロードの短縮を犠牲にしてシーケンス番号をプロトコルフレームに組み込むように構成されており、短縮された保護されたペイロードは、保護されたペイロード部分に比べてsnバイトだけ短縮されている。
第10の実装形態では、単独でまたは第1の実装形態から第9の実装形態までの1つまたは複数と組み合わせて、送信機の認証のみのモードにおいて、付加認証データは、ヘッダと、シーケンス番号と、保護されたペイロードと、を含む。
第11の実装形態では、単独でまたは第1の実装形態から第10の実装形態までの1つまたは複数と組み合わせて、送信機は、キーKを使用して長さsiのセキュリティ情報を生成するように構成されており、送信機は、ペイロードの短縮を犠牲にしてセキュリティ情報をヘッダの下流でプロトコルフレームに組み込むようにさらに構成されており、短縮されたペイロードは、保護されたペイロードに比べてsiバイトだけ短縮されており、セキュリティ情報は、保護されたペイロード部分に対する保護レベルを示す。
第12の実装形態では、単独でまたは第1の実装形態から第11の実装形態までの1つまたは複数と組み合わせて、認証された暗号化モードにおける送信機は、siバイト長のセキュリティ情報を生成するようにさらに構成されており、送信機は、保護されたペイロードの短縮を犠牲にしてセキュリティ情報をヘッダの下流でプロトコルフレームに組み込むようにさらに構成されており、短縮された保護されたペイロードは、保護されたペイロードに比べてsi+snバイトだけ短縮されており、セキュリティ情報は、短縮された保護されたペイロードに対する保護レベルを示す。
第13の実装形態では、単独でまたは第1の実装形態から第12の実装形態までの1つまたは複数と組み合わせて、付加認証データは、ヘッダと、ノンスとしてのシーケンス番号と、セキュリティ情報と、短縮された保護されたペイロードと、を含む。
第14の実装形態では、単独でまたは第1の実装形態から第13の実装形態までの1つまたは複数と組み合わせて、認証された暗号化モードにおける送信機は、キーと、ノンスとしてのシーケンス番号と、平文での保護されたペイロードと、ヘッダと、シリアル番号と、付加認証データとしてのセキュリティ情報と、を使用して、暗号文を生成するようにさらに構成されている。
第15の実装形態では、単独でまたは第1の実装形態から第14の実装形態までの1つまたは複数と組み合わせて、送信機は、セキュリティアソシエーションに従って複数のキーからキーKを選択するように構成されており、セキュリティアソシエーションは、プロトコルフレームのセキュリティ情報の内部に表されている。
いくつかの可能な実装形態によれば、車両内のバスベースの通信システムに参加するための、データリンク層上の受信機であって、受信機は、データリンク層上で、かつ送信機から、プロトコルに従ってプロトコルフレームを受信し、データリンク層上でのプロトコルフレームの真正性のレベルまたはデータセキュリティのレベルを示すように構成された指示を、プロトコルフレームから抽出するように構成されている。
第1の実装形態では、受信機は、プロトコルフレームからヘッダを抽出し、プロトコルフレームから保護されたペイロード部分を抽出し、kバイト長のキーにアクセスし、ヘッダの下流でプロトコルフレームからセキュリティタグを抽出し、キーと、ヘッダを含む付加真正性データと、セキュリティタグと、保護されたペイロードと、に基づいて、真正性指示を計算するようにさらに構成されており、真正性指示は、送信機から受信機に送信されるプロトコルフレームの真正性を、データリンク層上で検証するように構成されている。
第2の実装形態では、単独でまたは第1の実装形態と組み合わせて、受信機は、真正性指示が、送信機から受信機に送信されたプロトコルフレームの真正性を検証しなかった場合に、当該プロトコルフレームをドロップするようにさらに構成されており、オプションとして、このような真正性の欠如を上位のプロトコル層に示すように構成されている。
第3の実装形態では、単独でまたは第1の実装形態および第2の実装形態のうちの1つまたは複数と組み合わせて、バスベースの通信システムは、ブロードキャストベースのバスシステムであり、したがって、バスベースの通信システムの内部の全てのノードが、送信機によって通信されたプロトコルフレームを受信するように構成されている。
第4の実装形態では、単独でまたは第1の実装形態から第3の実装形態までの1つまたは複数と組み合わせて、指示は、プロトコルフレームに対するデータリンク層レベルでの認証を示すように構成された第1の指示を含む。
第5の実装形態では、単独でまたは第1の実装形態から第4の実装形態までの1つまたは複数と組み合わせて、指示は、プロトコルフレームに対するデータリンク層レベルでの認証およびデータセキュリティの両方を示すように構成された第2の指示を含む。
第6の実装形態では、単独でまたは第1の実装形態から第5の実装形態までの1つまたは複数と組み合わせて、指示、第1の指示、または第2の指示のうちの少なくとも1つは、プロトコルフレームのヘッダの一部である。
第7の実装形態では、単独でまたは第1の実装形態から第6の実装形態までの1つまたは複数と組み合わせて、指示、第1の指示、または第2の指示のうちの少なくとも1つは、ヘッダの内部のセキュリティ指示フラグまたはビットフィールドとして表される。
第8の実装形態では、単独でまたは第1の実装形態から第7の実装形態までの1つまたは複数と組み合わせて、受信機の認証された解読モードにおいて、受信機は、真正性指示が、送信機から受信機に送信されたプロトコルフレームの真正性を示す場合には、キーと、暗号文としての保護されたペイロード部分と、付加認証データと、を使用して、解読されたペイロードを上位のプロトコル層への出力ストリームとして生成するように構成されている。
第9の実装形態では、単独でまたは第1の実装形態から第8の実装形態までの1つまたは複数と組み合わせて、付加認証データは、ヘッダを含む。
第10の実装形態では、単独でまたは第1の実装形態から第9の実装形態までの1つまたは複数と組み合わせて、受信機は、プロトコルフレームからsnバイトのシーケンス番号を抽出するようにさらに構成されている。
第11の実装形態では、単独でまたは第1の実装形態から第10の実装形態までの1つまたは複数と組み合わせて、付加認証データは、ヘッダと、シーケンス番号と、を含む。
第12の実装形態では、単独でまたは第1の実装形態から第11の実装形態までの1つまたは複数と組み合わせて、受信機の認証された解読モードにおいて、受信機は、真正性指示が、送信機から受信機に送信されたプロトコルフレームの真正性を示す場合であって、かつ受信機が、真正性指示を上位のプロトコル層に通知するように構成されている場合には、シーケンス番号と、キーと、暗号文としての保護されたペイロード部分と、付加認証データと、を使用して、解読されたペイロードを上位のプロトコル層への出力ストリームとして生成するように構成されている。
第13の実装形態では、単独でまたは第1の実装形態から第12の実装形態までの1つまたは複数と組み合わせて、付加認証データは、ヘッダと、シーケンス番号と、セキュリティ情報と、を含む。
第14の実装形態では、単独でまたは第1の実装形態から第13の実装形態までの1つまたは複数と組み合わせて、受信機は、ヘッダの下流でプロトコルフレームからセキュリティ情報を抽出するようにさらに構成されており、セキュリティ情報は、送信機と受信機との間の仮想チャネル、および、保護されたペイロード部分を保護するためにセキュリティアソシエーションに従って選択されるべきキーのうちの少なくとも1つを示す。
第15の実装形態では、単独でまたは第1の実装形態から第14の実装形態までの1つまたは複数と組み合わせて、受信機の認証および解読モードにおいて、受信機は、真正性指示が、送信機から受信機に送信されたプロトコルフレームの真正性を示す場合であって、かつ受信機が、真正性指示を上位のプロトコル層に通知するように構成されている場合には、キーと、シーケンス番号と、暗号文としての保護されたペイロード部分と、付加認証データと、を使用して、解読されたペイロードを上位のプロトコル層への出力ストリームとして生成するように構成されている。
いくつかの可能な実装形態によれば、車両内の通信ネットワークは、本明細書に記載のプロトコルフレームを使用して、本明細書に記載の送信機と本明細書に記載の受信機との間におけるトランスポートレベル層上での通信を提供するように構成されている。
本明細書において、添付の図面を参照しながら実装形態について説明する。
図1Aは、複数のノードNode1,Node2,・・・,Node nを接続している例示的なバスを示す。図1Aの例によれば、バスは、2線式のバスシステムとして示されており、この2線式のバスシステムは、好適には2本の差動線路として実装可能である。当然、他のセットアップも考えられる。バスシステムは、オプションの終端抵抗T1,T2によって終端可能であり、このオプションの終端抵抗T1,T2は、典型的にはバスに沿った信号品質に作用するバスでの反射を軽減することを対象としたものであってよい。車両内のバスシステムの著名な例は、CAN、CAN-FD、CANXL、またはLINネットワークである。本開示は、CANのバリエーションに焦点を当てているが、本開示の教示が他のバスシステムにも同様に適用可能であることは、当業者には明らかであろう。
図1Aに示されているバスは、リング型のトポロジでも配置可能であることが理解されるであろう。リング型のトポロジでは、バスの両方の端部が1つのマスタユニット(図示せず)に供給され、それによってバスループを形成している。個々のノードNode1,2,・・・,nは、前述のようにバスに結合される。
車内ネットワークまたは(図1Aに示されているような)バスベースの通信システムは、車内ネットワークに対する要求を反映する特定の属性を有することが理解されるべきである。車内ネットワークは、センサまたはセンサの制御ユニットから上位レベルの制御ユニットに伝送されるデータフレームによって、制御ユニットへのセンサデータの通信を支援する。バスベースの通信ネットワークの個々のノード間または参加者間で通信されるデータフレームまたはプロトコルフレームのために、有用なプロトコルを使用することができる。
センサデータの受信に対する応答として、またはセンサデータの受信に応答して、センサの制御ユニットまたは上位レベルの制御ユニットは、バスに結合されたアクチュエータに所定のアクションを通信することができ、例えば、ブレーキアクチュエータに制動アクションを通信することができる。例えば、図1Aの例では、Node1は、ブレーキパドルがどのくらい押し付けられているかの角度を測定する角度センサ(図示せず)を表すことができる。この角度を、プロトコルフレームとして上位レベルのECUに、例えばNode2に伝送することができる。角度値の受信に応答して、ECUは、ブレーキアクチュエータであるNode nに1つまたは複数のバスフレームを送信することができる。ECUからブレーキアクチュエータに送信されるこれらのバスフレームは、制動アクションを引き起こすことができる。
制動アクションに関連するバス通信は、時間的にクリティカルであり、高速に伝送される必要があることは明らかであろう。このようなリアルタイムの要求は、標準通信ネットワークでは一般的ではない。
車内通信ネットワークは、典型的に、明確に定義された数のバス参加者を有し、これらのバス参加者は、デフォルトでは車両の寿命にわたって一定のままであり、しばらくの間、車両のアップグレードを無視する。同様に、個々のノード間の既存のリンク、ひいてはバスベースの通信システムのトポロジも、車両の寿命にわたって変更されない。標準コンピュータネットワークでは、そのような状況は非常に起こりそうにない。実際には、標準コンピュータネットワークでは、コンピュータネットワークの動作中にノードの追加または削除を可能にすることが要求されている。さらに、標準コンピュータネットワークにおける動作中に新しいリンクを提供すること、またはリンクを削除することができる。
車両機能を制御するバスベースの通信システムでは、バスを介して伝送されるプロトコルフレームの真正性を保証することが重要である。制動アクションを考慮すると、制御下で車両を駐車させる際には、緊急制動を引き起こす命令を、緩制動と取り間違えるべきではない。この目的のために、バスベースの通信システムの参加者間で通信されるプロトコルフレームの真正性を示すことが重要である。
バスベースの通信システムの参加者間で通信される時間的にクリティカルな命令の認証における上位のプロトコル層の関与を減らすために、データリンク層上でのプロトコルフレームの真正性を示すことが重要であることが理解されるであろう。
エンタテインメントシステムの増加に伴って、かつ今日利用可能となっている車車間通信の増加に伴って、悪意のある命令またはプロトコルフレームが通信システムに挿入される脆弱性が増加している。
したがって、悪意のあるプロトコルフレームの挿入を阻止するために、プロトコルフレームに対するデータセキュリティを提供することが重要である。プロトコルフレームの真正性を示すことに関して、データリンク層レベルでのデータセキュリティを提供することも魅力的である。このようにして、セキュリティ情報および/または真正性情報を提供する上位のプロトコル層または上位のプロトコル層のソフトウェアスタックの関与が不要となる。データセキュリティおよび真正性の機能を、プロトコル層上の送信機または受信機のようなハードウェア要素によって好適に支援することができることは、当業者には明らかであろう。換言すれば、データセキュリティおよび真正性の機能を、これらの機能がデータリンク層レベルで実装される場合に、データリンク層レベルの専用ハードウェアへとオフロードすることができる。
図1Bは、図1Aに示されているようなバスベースの通信システムの参加者としてのNode1およびNode2を示す。Node1とNode2との間の通信は、十分に確立されたOSI-ISO層モデルに従って分類することができる複数の異なる層を流れる。最下位レベルの層は、いわゆる物理層であり、Node1およびNode2に関してPHYSで示されている。OSIモデルにおけるそれぞれの層は、上位レベルから指令を受信し、各自のレベルにおいて何らかのアクションを実行し、下位レベルに要求を転送することによって下位レベルにおけるタスクをトリガすることができる。
物理層への命令は、PHYS層とデータリンク層との間の下向きの矢印によって示されているように、データリンク層から受信可能である。層の機能として、Node1の物理層は、データを物理層上でNode2に通信するためにNode2へのコネクションまたはリンクを使用することができる。同様に、Node1は、Node1とNode2との間の物理的なリンクを介してNode2からデータを受信することができ、さらに、受信したデータを物理層の上にあるデータリンク層に転送することができる。この転送は、図1BのNode1の物理層とデータリンク層との間の上向きの矢印によって示されている。Node2におけるプロトコルフローは、Node1に関して説明したものと同様である。
車両内の既存のバスベースの通信ネットワークの中には、OSI-ISOモデルにおいて提案されているような物理層とデータリンク層との分離に従っていないものもある。この特殊な例を反映するために、図1Bには、物理層PHYSおよびデータリンク層にわたって延在する送信機Sおよび受信機Rが示されている。
車両内のデータ通信の真正性に関する公知のコンセプトは、OSI-ISO層モデルの第7層のアプリケーション層において、図1BではそれぞれNode1およびNode2に関してApp1,App2として示されているソフトウェアスタックを使用して実装されている。ソフトウェアスタックApp@Node1およびApp@Node2を使用して2つ以上の参加者間で認証かつ/または保護された通信を示すために、Node1とNode2との間に仮想チャネルのコンセプトを導入することが好適であり得る。
ソフトウェアスタックを使用して車両内の車載ネットワークにセキュリティを提供するための一例は、AUTOSAR標準に準拠したSEC OC(Secure OnBoard Communication)である。OEMがNode1およびNode2のソフトウェアスタックAppを指定して、Node1およびNode2のハードウェア実装に自由度を与えることが好適であり得る。トレードオフとして、ソフトウェアスタックを使用して真正性および/またはデータセキュリティを実装することにより、電子制御ユニット(ECU)からアクチュエータへの命令に対するアクチュエータ応答についてのリアルタイムの要求が、もはや満たされなくなる可能性がある。なお、このアクチュエータは、図1Aでは、バスベースの通信システムに参加しているNode nとして示されている。例えば、-図1AではNode2として示されている-制御ユニットECUから制動アクチュエータに、例えば図1AのNode nに、プロトコルフレーム100(図2A~図2Cまたは図4において最良に見て取れる)として送信される制動命令について検討する。このような通信が、ソフトウェアスタックを使用して認証および安全化されるべきであった場合には、個々のノードに関する全ての層がこの安全化に関与することとなり、このことは、信頼できる制動動作のためには時間がかかりすぎる可能性がある。
ソフトウェアスタックによる真正性および/またはデータセキュリティのソリューションのさらなる欠点は、ソフトウェアスタックが適切に設計されていない可能性があるので、真正性および/またはセキュリティの機能が低下するか、またはそれどころか損なわれることさえあるという事実であり得る。
したがって、状況に応じて、真正性および/またはデータセキュリティに関する機能を、例えば図1BのNode1またはNode2のような通信システムへの個々の参加者の単一の層に限定することは魅力的である。真正性および/またはデータセキュリティの機能をデータリンク層に限定することにより、その他のプロトコル層がデータ完全性および/またはデータセキュリティ動作の一部によって占有されることが阻止される。
さらなる利益として、真正性が確立されていない可能性のあるプロトコルフレーム100を、すでにデータリンク層上でドロップすることができる。つまり、プロトコルフレーム100が送信機から受信機に送信されることが意図されていなかったことおよび/またはそのオリジナルの形式で受信機に到達しなかったことを、真正性テストが示した場合には、さらなる処理なしにそのプロトコルフレーム100をドロップすることができる。したがって、バスベースの通信システムの1つの参加者を、データリンク層上の無効なまたは認証されていないフレーム100によってフラッディングするという試みは、データリンク層上の当該1つのノードにしか影響を与えず、その一方で、上位のプロトコル層は、影響を受けないままでいることができる。真正性および/またはデータセキュリティに対するソフトウェアスタックベースのアプローチの場合であれば、真正性および/またはデータセキュリティの労力のそのような封じ込めは不可能であろう。
さらに、専用のハードウェア要素、すなわち、専用のハードウェアの一部として真正性および/またはデータセキュリティを実現するデータリンク層上の送信機および/またはデータリンク層上の受信機を使用することが好適である。このことは、バスの参加者、または参加者におけるソフトウェアアプリケーションAppが時間の経過に伴って変化する場合に必要とされるさらなる調査または適合を行うことなく、そのような構成ブロック-CANバスのトランシーバを想定-を標準回路として使用することができるというさらなる利点を有するであろう。
プロトコルフレーム100の以下の例では、データリンク層上で種々異なるレベルの認証および/またはデータセキュリティを実装することについて、図2A~図2Cに関して説明する。
図1Cの左側は、バスベースの通信ネットワークを形成するためにバスに接続されているいくつかの例示的なノードNode1,Node2,Node3,Node4を示す。これらのノードのうちのいくつかは、セキュアゾーンSZの一部である。図1Cの例では、Node2,Node3,およびNode4は、同一のセキュアゾーンSZにグループ化されているが、その一方で、Node1は、セキュアゾーンSZの一部ではない。同一のセキュアゾーンSZにグループ化されているノード同士は、図3A~図3Eに関してより詳細に説明されるように、認証されたモードで、またはそれどころか認証および暗号化されたモードで通信することができる。セキュアゾーンSZの一部を形成していないノードは、セキュアゾーンSZのノード間の通信をリスニングすることが可能であってよい。図1Cの例では、SZの一部ではないNode1は、Node2と、Node3と、Node4と、の間の通信をリスニングすることができるが、セキュアゾーンSZのメンバーとしてこれらのノードに認証されたメッセージを送信することはできない。SZの内部のノード間の通信が暗号化されている場合には、セキュアゾーンSZに属していないノードは、セキュアゾーンSZの内部で通信されるメッセージを解読することはできない。
図1Cの右側は、セキュアゾーンSZのコンセプトをさらに説明している。セキュアゾーンSZは、物理的なノードNode2,Node3およびNode4にわたる論理的なオーバレイ-例えば、セキュリティ層-であると見なすことができる。セキュリティ層におけるセキュリティ層エンティティSLE1は、物理層上のNode2に接続されており、セキュリティ層エンティティSLE2は、物理層上のNode3に接続されており、セキュリティ層エンティティSLE3は、物理層上のNode4に接続されている。図1Cに示されているバスの物理的なNode1は、セキュアゾーンSZの一部ではない(図1Cの左側の図式において最良に見て取れる)が、この物理的なNode1を、セキュリティ層の内部のセキュリティ層エンティティSLE nとして表すことができ、図1Cで選択された例では、このセキュリティ層エンティティSLE nは、物理層のNode1に接続されている。
セキュリティ層エンティティSLE1,SLE2およびSLE3のうちの個々のセキュリティ層エンティティ間の通信を、セキュアチャネルSCとして配置することは好適であり得る。セキュアチャネルSCは、ポイントツーポイントまたはポイントツーマルチポイントの単方向通信を提供する。セキュアチャネルSCを、図1Bに示されているようなユーザレベルでの仮想チャネルのデータリンク層表現として見なすことができることが理解されるであろう。
図1Cの右側は、セキュアゾーンSZの内部のセキュアチャネルSCのセットアップを示す。セキュアチャネルSCAは、セキュリティ層エンティティSLE1からセキュリティ層エンティティSLE2,SLE3への単方向通信を提供し、その一方で、セキュアチャネルSCBは、セキュリティ層エンティティSLE2からセキュリティ層エンティティSLE1,SLE3への単方向通信を提供し、その一方で、セキュアチャネルSCCは、セキュリティ層エンティティSLE3からセキュリティ層エンティティSLE1,SLE2への単方向通信を提供する。個々のセキュリティ層エンティティSLE間での双方向通信が必要とされるケースでは、少なくとも2つのセキュアチャネルSCが必要とされることとなる。図1Aおよび図1Cに示されているバスベースの通信ネットワークは、ネットワークの内部のノードのうちの個々のノード間の通信に関して言えば、この通信ネットワークの認証という点と、この通信ネットワークのデータセキュリティ(すなわち、暗号化)プロパティという点と、の両方において静的であり得る。このような静的な認証の挙動または認証および暗号化の挙動の場合には、プロトコルフレームの複雑さを軽減することができ、使用されているセキュアチャネルに関する情報を使用して、このセキュアチャネルSCに対する認証のレベルまたは認証および暗号化のレベルを識別することを選択することができる。しかしながら、静的な認証および暗号化の挙動を伴うバスベースの通信ネットワークの個々のノード間の通信については、認証に関する、または認証および暗号化に関するフレキシビリティにおいてトレードオフが存在する。
図2Aは、Nバイト(ただし、Nは整数)の全長を有するオリジナルのプロトコルフレーム100を示す。プロトコルフレーム100は、ヘッダHと、ペイロードPと、フレーム終了指示EOFと、を含むことができる。ヘッダHは、hバイト(ただし、hはNよりも小さい整数)の長さを有することができる。ペイロードPは、pバイトの長さを有することができる。フレーム終了指示EOFは、eofバイトの長さを有することができる。
図2Aでは、ペイロードPは、ヘッダHの下流に示されており、フレーム終了部分EOFは、ヘッダHの下流に、かつペイロードPの下流に示されている。ヘッダHの長さと、ペイロードPの長さと、フレーム終了指示の長さと、の合計が、プロトコルフレーム100のNバイトの全長になることが理解されるであろう。さらに、個々の要素であるヘッダH、ペイロードP、またはEOFのそれぞれの長さは、フルバイト長の公約数ではないビット長であってよいことが理解されるであろう。そのような場合、プロトコルフレームの全長は、Nバイトのままであってよいが、プロトコルフレーム100の個々のセグメントは、サブバイトレベルの長さを有することができる。プロトコルによれば、プロトコルフレーム100の全長が、バイト長の公約数ではないビット数であってもよいということをさらに明記しておくことができる。
ヘッダHは、プロトコルフレーム100の開始と、フレームの長さNと、準拠しているプロトコルまたはプロトコルバリエーションと、を示すために使用可能である。
ヘッダH内では、プロトコルフレーム100に関連する権利または優先度を示すことが可能である。そのようなオプションは、典型的にはプロトコル仕様に示されている。
プロトコル仕様は、所定のプロトコルフレームに対してデータリンク層レベルでの認証が提供されることを示す第1の指示を、フレームの内部でさらに提供することができる。代替的に、プロトコル仕様は、所定のプロトコルフレームに対してデータリンク層レベルでの認証およびデータセキュリティの両方が提供されることを示す第2の指示を、フレームの内部で提供することができる。状況に応じて、所与のフレームに対してデータリンク層レベルでの認証、またはデータリンク層レベルでの認証およびデータセキュリティの両方が提供されることを示すための総称的な指示を、プロトコルヘッダHの内部で提供することが好適であり得る。両方のバリエーションのための総称的な指示は、ヘッダHの内部で必要とされる指示がより少なくなるので、ヘッダHの処理を容易にするために好適であり得る。ヘッダHの内部で総称的な指示を使用した結果、ヘッダHの処理が単純化されるトレードオフとして、フレーム100に対してデータリンク層上のフルレベルでの認証およびデータ保護を示すためにフレーム100の内部でさらなるスペースが必要とされる場合がある。
ヘッダHの内部のペイロードタイプpt指示は、車内ネットワークにおいて公知である。ペイロードタイプ指示は、フレームの内部でどのようなタイプのペイロードが伝送されているかを示すために好適であり得る。車内ネットワークでは、ブレーキアクチュエータに対する種々異なるペイロードタイプpt、例えば、イーサネットフレーム、オリジナルCANフレーム、または制動命令を支援するフレームを、ヘッダHのペイロードタイプ部分ptを使用して示すことができる。当然、このような構造は、種々異なるタイプのフレームの処理を容易にするであろう。なぜなら、フレームをデータリンク層レベルで処理する際に、このフレームにおいてどのようなタイプのペイロードが伝送されているかが早期に明らかになるからである。
データリンクレベル層上での認証および暗号化に関する第1の指示、第2の指示、または総称的な指示を、専用のペイロードタイプptとして実装することは好適であり得る。このようにすると、ペイロードタイプの公知のコンセプトは、所与のフレームに対して提供される認証および/またはデータセキュリティのレベルをさらに示すために拡張されることとなる。総称的な指示を、前述のように専用のペイロードタイプptを使用して実装することを決定した場合には、フレーム100に対してデータリンク層上のフルレベルでの認証およびデータ保護を示すためにフレームの内部でさらなるスペースが必要とされることのトレードオフとして、ヘッダHの処理が単純化される。
真正性または真正性およびデータセキュリティのこのような指示は、所与のフレームに対する真正性または真正性およびデータセキュリティをソフトウェアスタックが提供する場合のように上位のプロトコル層が関与することなく実装可能であることが理解されるであろう。
さらなる代替策として、プロトコル仕様は、プロトコルフレーム100の内部に、最適にはヘッダHの内部に、新しいデータフィールドとして追加されるセキュリティ指示を導入することができる。前述のように、セキュリティ指示をヘッダHに含めることにより、所与のフレーム100に対してどのようなレベルの真正性および/またはセキュリティが適用されたかが明らかになる前に、必要とされるフレーム処理の労力が軽減される。状況に応じて、プロトコルは、総称的な指示の意味を伝達するセキュリティ指示を提供することができ、これにより、セキュリティ指示のために必要とされるスペースが低減されることとなる。このシナリオの場合、データフィールドとしてヘッダHに追加される専用のセキュリティ指示における総称的な指示の情報を伝達するために、フレーム100の内部の、最適にはヘッダHの内部の、単一のビットフィールドで十分であろう。トレードオフとして、総称的な指示に関してすでに説明したように、所与のフレームに対してどのようなレベルの真正性およびデータセキュリティが適用されるかに関する完全な指示を得るために、さらなる情報が必要となる。
図2Aでは、ペイロードPは、ヘッダHの下流に示されており、フレーム終了部分EOFは、ヘッダHの下流に、かつペイロードPの下流に示されている。上流・下流の関係性に関するこの取り決めは、本開示全体を通して使用される。
さらに、プロトコルにより、プロトコルフレーム100のフレーム長Nを可変にすることが可能となることが考えられる。例えば、プロトコルフレーム100の個々のインスタンスによって伝達される情報の量に応じて、全フレーム長Nを変化させることができる。
車両環境では、それぞれ異なるバリエーションのプロトコルに従っている旧型の装置と、最新の装置と、が同時に動作する可能性が高い。一例として、かなり旧型の装置、例えばABSセンサは、初期のバリエーションのプロトコル、例えばCANプロトコル(CANは、Controller Area Networkの略称である)に従って通信している可能性があるが、その一方で、比較的最新の装置、例えばLIDARシステムは、CAN-FD(CAN-FDは、Controller Area Network flexible-data rateである)標準を使用して、またはそれどころかCANXL標準を使用して、電子制御ユニットと通信することができる。したがって、ヘッダH内で、種々異なるプロトコルタイプを示すことは有用であり得る。なぜなら、これは、個々のプロトコルフレーム100に対して適用される真正性および/またはデータ保護のレベルにも影響を及ぼし得るからである。同様に、所与のフレームに対するデータリンク層レベルでの真正性および/またはデータセキュリティのレベルの両方を、ペイロードタイプ指示を使用して指示することが好適であり得る。この目的のために、第1の指示、第2の指示、総称的な指示およびセキュリティ指示を使用することができる。
このような環境の下では、NバイトまたはNビットの合計フレーム長を、プロトコルフレーム100のどこかに格納または符号化することが重要であり得る。フレーム長フラグをセットすることは、フレーム長をどのようにして符号化することができるかの1つのオプションであろう。このような情報をどのようにしてプロトコルフレーム100に格納することができるかは、プロトコル仕様から取得可能である。
当技術分野で公知のように、したがって現時点ではこれ以上説明しないが、フレーム終了指示eofは、エラーチェック情報をさらに含むことができる。
図2Bは、本開示によるプロトコルフレームの一例を示す。プロトコルフレーム100は、図2Aのオリジナルのプロトコルフレームと同様のヘッダHを含むことができる。データリンク層レベルでの真正性および/またはデータセキュリティに関する第1の指示、第2の指示、総称的な指示、またはセキュリティ指示を含んでいるヘッダHを有することが好適である。代替的に、ヘッダHは、上述のように真正性および/またはデータセキュリティの側面を同様にカバーしているペイロードタイプptを含むことができる。
図2Bのプロトコルフレーム100は、上述のようにNバイトまたはNビットの長さを有する。標準のプロトコルフレームとは異なり、図2Bのフレームは、保護されたペイロード部分PPを含む。保護されたペイロード部分PPは、stバイトの長さを有することができるセキュリティタグSecTagのための場所を空けるために短縮されている。本開示によるプロトコルフレーム100は、オプションとして、siバイトのセキュリティ情報SecInf(siは、整数である)を含むことができる。限定するわけではないが、セキュリティ情報SecInfをヘッダHの一部として実装することができる。図2Bによるプロトコルフレームは、オプションとして、長さsnのシーケンス番号SNをさらに含むことができる。状況に応じて、シーケンス番号SNをヘッダH内に配置することが好適であり得る。このような配置では、誤ったシーケンス番号SNを含んでいるフレームを、ヘッダHの下流に配置されているシーケンス番号SNを用いた場合よりも早期にドロップすることができる。限定するわけではないが、長さst、si、sn、またはppは、図2Aに関して前述したようにフルバイト長の公約数であってもなくてもよい。
代替策として、短縮されたバージョンのシーケンス番号SNを伝送することが重要であり得る。
当業者は、フレーム100において如何なるシーケンス番号も送信しないというオプションも理解するであろう。このルートを選択した場合には、送信機および受信機の両方がシーケンス番号に関する共通の開始値を認識し、次いで、事前に定義されたカウントスキームに従って個々にカウントを行うことが必要である。このシーケンス番号は、秘密キーKに関してさらに後述するように、典型的にはセキュリティアソシエーションに関連することができる。
セキュリティ情報SecInfは、所与のフレームに対するデータリンク層レベルでの認証のレベルを示すことができる。代替的に、セキュリティ情報SecInfは、所与のフレームに対するデータリンク層レベルでの認証およびデータセキュリティのレベルを示すことができる。
さらに、単純化されたセキュリティ情報SecInfと組み合わせて、ヘッダHの内部の、データリンク層レベルでの認証または暗号化の総称的な指示を使用することが可能である。同じことが、セキュリティ指示についても当てはまる。このような単純化されたセキュリティ情報SecInfは、所与のフレームが認証されているのみであるか、または認証および暗号化されているかを示すためのものであり、その一方で、ヘッダの内部の総称的な指示は、上述のように、所与のフレームに対してある程度のレベルの認証またはデータセキュリティ、したがって暗号化が存在することを示すであろう。
認証もデータセキュリティも提供されていないフレーム100の場合には、セキュリティ情報SecInfまたは単純化されたセキュリティ情報を、所与のフレームに対して認証もデータセキュリティも提供されていないことを示す選択された値にセットすることができることが理解されるであろう。代替的に、ヘッダ内の総称的な指示またはセキュリティ指示が、所与のフレームに対する認証またはデータセキュリティが存在しないことをすでに示している場合には、プロトコル仕様により、セキュリティ情報SecInfまたは単純化されたセキュリティ情報を省略することが可能となり得る。
セキュリティ情報SecInfが、特定のフレーム100に対して使用されるべきSADSEユニットの構成についての何らかの情報を含むことが好適であり得る。さらに、セキュリティ情報SecInfが、図1Cの例示的なセキュアゾーンSZの内部のセキュリティ層エンティティSLE1,SLE2およびSLE3の間のセキュアチャネルSCA,SCB,SCCのようなセキュアチャネルについての何らかの情報を含むことが好適であり得る。静的な認証または静的な認証および暗号化のセットアップの場合には、セキュアチャネル情報を使用して、セキュリティ層エンティティSLE間で通信される所与のプロトコルフレーム100の認証および暗号化のために使用されるキーKを検索することができる。このような静的なセットアップにおける認証および暗号化のために必要とされるキーKを検索するために、静的な認証挙動および暗号化挙動に関する総称的な指示、第1の指示および/または第2の指示を省略して、セキュアチャネル情報に依拠することを考慮することができる。実際には、認証のみが行われる状況、またはそこどころか暗号化も認証も行われない状況では、本明細書で概説したような静的な認証、または静的な認証および暗号化の場合には、いくつかのフレーム要素を省略することをさらに検討することができる。
セキュリティタグSecTagは、プロトコルフレーム100がデータリンク層レベルで送信機Sから受信機Rに伝送されることが意図されているという認証指示を表すことができる。セキュリティタグSecTagにより、プロトコルフレーム100が受信機Rに向かう途中で変更されたかどうかをさらにチェックすることが可能となる。
セキュリティタグSecTagは、保護されたペイロード部分PPの下流に示されているが、このセキュリティタグSecTagは、限定するわけではないが、保護されたペイロード部分PPの上流に配置されてもよいし、またはそれどころか標準ヘッダHに組み込まれてもよい。
認証、暗号化および解読のためには秘密キーKが必要であることが理解されるであろう。キーのデプロイは、以下のいくつかの理由から本開示の中心にはない。
第1に、自動車環境では、バスベースの通信システムの参加者の数が限られており、車両の寿命にわたってあまり変化しない。バス通信システムの全参加者に対して、長さkの1つのキーKを使用することが好適であり得る。
バス通信システムを介して通信可能に結合されている個々のノードがそれぞれ個々のキーKを使用することが求められている場合には、この個々のキーを、車両の生産中にバスベースの通信システムのそれぞれのノードに格納することができる。したがって、それぞれ、Node1とNode2との間の通信のための第1のキーK1をNode1およびNode2に格納することができ、Node1とNode3との間の通信のための第2のキーK2をNode1およびNode3に格納することができ、以降も同様である。送信機Sおよび受信機Rが同じキーKを使用すること、したがって、解読、暗号化、認証および検証が対称であることが仮定される。
システムの内部で2つ以上のキーKが使用される場合には、認証に関与しているキーKに関する情報を格納することが重要となり得、かつ/またはデータセキュリティを、オプションのセキュリティ情報フィールドSecInfにおいて格納または指示することができる。現在のプロトコルフレーム100が、認証のみがなされたプロトコルフレームであるか、または認証および暗号化されたプロトコルフレーム100であるかを、セキュリティ情報フィールドを使用して示すことはさらなるオプションである。当然、どのキーを使用すべきかに関する情報を、フレームの内部の他のデータフィールド、例えば仮想CAN ID、ペイロードタイプpt、または受信フィールドを使用して表すこともできる。
車両の寿命がかなり長いことを考慮すると、ネットワークの内部の選択されたノード間の通信を保護するか、または認証および保護する2つ以上のキーKを有することが望ましい場合がある。より正確には、車両の寿命中にキーを変更することが望まれる。通信するノードにおいて2つ以上のキーを導入し、これらのノードが認証およびデータセキュリティのために使用されるキーを変更することができるようにすることが好適であり得る。認証および/または暗号化のためのキーをこのように変更するためには、現在使用されているキーに関する何らかの情報が必要である。現在使用されているキーに関するこのような情報を、セキュリティアソシエーションと称することとする。セキュリティアソシエーションは、好適には、ヘッダH、セキュリティ情報SecInf、または単純化されたセキュリティ情報の内部に格納可能である。プロトコル仕様により、データリンク層レベルでの認証またはデータ保護が行われないフレームに対して、セキュリティアソシエーションを特別な値にセットすることが可能となり得る。代替的に、プロトコル仕様により、そのような環境の下ではセキュリティアソシエーションを省略することが可能となり得る。
フィールドシーケンス番号SNは、プロトコルフレーム100におけるさらなるオプションの要素である。シーケンス番号SNは、一度だけ使用される整数であり、ノンスとも称される。シーケンス番号SNがリスニングパーティに知られないように変化する場合には、リプレイ攻撃の成功を阻止するために役立つ。AUTOSAR標準は、リプレイ攻撃を阻止するためにそのフレッシュネス値を用いる同様のコンセプトを提案している。
後述するSADSEアルゴリズムのいくつかは、特定の長さのノンスを要求する場合があることが理解されるであろう。したがって、状況に応じて、シーケンス番号SNからノンスNを導出することが重要であり得る。
データリンク層上での認証および/またはデータセキュリティの最も簡単な実装形態として、リプレイ保護が必要とされる場合に、シーケンス番号SNを含むフレームを用いて、認証のみを行うスキームを実施することができる。このような保護が必要とされない場合には、シーケンス番号SNを省略することができ、これにより、プロトコルフレーム100の内部の比較的大きい保護されたペイロード部分PPを可能にすることができる。
状況に応じて、システムの内部において認証のために1つのキーKだけを使用すると決定することができ、その場合には、使用されるべき複数の異なるキーK1,K2,K3,・・・,KNに関するこのような情報を含んでいるフィールドセキュリティ情報を省略することができ、これにより、比較的大きい保護されたペイロード部分PPを可能にすることができる。
複数の異なるキーK1,K2,K3,・・・,KNも、リプレイ保護もどちらも必要とされない場合には、フィールドシーケンス番号SNおよびセキュリティ情報SecInfを省略することができ、これにより、図2Aに示されているプロトコルフレームに比べてさらに拡大された保護されたペイロード部分PPを可能にすることができ、この際、セキュリティタグSecTagだけが、保護されたペイロードフィールドPPを標準のプロトコルフレームに比べて縮小させている。
図2Cは、本開示による認証および暗号化されたプロトコルフレーム100を示す。図2Cのプロトコルフレーム100は、ヘッダHと、フレーム終了指示EOFと、セキュリティタグSecTagと、オプションのフィールドシーケンス番号SNと、図2Bに関して説明したオプションのセキュリティ情報SecInfと、を含む。図2Cのプロトコルフレームは、図2Aおよび図2Bのプロトコルフレームと同じ長さである。前述のように、個々のフレーム要素であるヘッダHと、オプションのシーケンス番号SNと、合計フレーム長Nと、は、任意の整数のバイトであってもよいし、またはフルバイト長の公約数ではない任意の他の長さであってもよい。
図2Cのプロトコルフレーム100は、保護されたペイロードPPの代わりに、保護されたペイロードPPの暗号文cipher{PP}を含む。図2Cのプロトコルフレームは、図2Aおよび図2Bのプロトコルフレームと同じ長さである。前述のように、個々のフレーム要素であるヘッダHと、オプションのシーケンス番号SNと、合計フレーム長Nと、は、任意の整数のバイトであってもよいし、またはフルバイト長の公約数ではない任意の他の長さであってもよい。プロトコルフレーム100に対する真正性および/またはデータセキュリティ保護をデータリンク層レベルで実施する1つの好適な手法は、今から図3A~図3Eを参照してより詳細に説明するように、SADSEとも称され、かつハードウェアブロックとして実施される、いわゆる対称的な認証および/またはデータセキュリティエンジン(Symmetric authentication and/or data security engines)を使用することである。
図3Aは、SADSEのための入力値および出力値を示す。SADSEの入力変数および出力変数の名称は、暗号に関する文献におけるブロック暗号モードに対して確立された命名規則に従っている。SADSEは、真正性のみのAOモードで動作してもよいし、または認証された暗号化(Authenticated Encryption)モードAEで動作してもよいことが理解されるであろう。SADSEは、秘密キーKと、オプションのノンスNと、le文字長の入力ストリームPと、付加認証データAADと、を入力として受信する。キーKは、好適には、所定の長さの、例えば128、192、または256ビットの対称キーである。前述のように、キーの配布は、本開示の焦点にはない。実際には、IEEE802.1X-2010において定義されたMACsecキー共有のような、対応するスキームが公知である。オプションのノンスNは、典型的には、1回だけ使用される整数値である。状況に応じて、2つ以上のプロトコルフレーム100に対して同一のNの値を有することを決定してもよい。
入力ストリームPは、SADSEの動作モードに応じて異なる用途を有する。さらに後述するように、付加認証データAADは、認証において使用されるさらなるデータのうちのいくつかのビットを含む。
SADSEは、le文字長の出力ストリームを提供し、さらにタグTを出力することができるか、または代替的に、認証指示AIを直接的に出力することができる。長さleの出力ストリームは、SADSEの動作モードに応じて異なる用途および意味を有する。
タグTは、SADSEの使用されている入力変数に基づいて計算され、上で定義したセキュリティタグSecTagの再計算であると考えることができる。状況に応じて、SADSEが、プロトコルフレーム100の内部のセキュリティタグSecTagと、新たに再計算されたタグTと、の比較結果を直接的に出力することが好適であり得る。この比較結果を、真正性指示AIによって表すことができる。すなわち、真正性情報AIは、プロトコルフレーム100が、指定された送信機Sから所与の受信機R(両方とも典型的にはヘッダH内に記載されている)に送信されることが意図されていたかどうかを示す。真正性指示AIは、プロトコルフレーム100がそのオリジナルの形式にあるかどうかをさらに示す。
図3Aから見て取れるように、SADSEへのノンスNの入力として、オプションのシーケンス番号SNを使用することを選択することができる。このことは、前述のように、シーケンス番号SNからノンスNを導出することを含むことができる。当然、ノンスNを導出するためにシーケンス番号SNを使用することにより、SADSEを動作させるために必要とされる労力が単純化されるであろう。なぜなら、乱数発生器は、SADSEを実装する回路の複雑さを増大させるからである。シーケンス番号SNを、ノンスNとして有用なものにするために、シーケンス番号SNのために必要とされるサイズを推定することが重要である。このことは、シーケンス番号SNを実装するカウンタが、カウンタの最大値に到達した後に再びその開始値からカウントを開始したときに、所与のSNの値が再利用されるまでにどのくらいの時間がかかるかという質問に答えることである。
-これを推定する目的で-2048バイトの最大可能ペイロードと、20バイトの最小ペイロードと、からなる車内ネットワークにおけるCAN XLフレーム(図4において最良に見て取れる)について検討する。ノンスNとしてさらに機能するシリアル番号SNを実装する32ビット、37ビット、44ビットおよび64ビットのカウンタ長について検討する。
そのような最大ペイロードフレームは、ヘッダ情報の19ビットと、ペイロードおよびCRC情報の16435ビットと、肯定応答情報およびEOF情報の26ビットと、からなるであろう。ネットワークの内部の典型的なボーレートでは、フルフレームが通信されるには1.7msかかるであろう。その代わりに、20バイトのペイロードを有する短いフレームは、より高速に通信されるであろう。
以下の推定では、3つのシナリオについて、すなわち、A)単一のチャネルに対して、このチャネル上の最大可能トラフィックにおいて、ノンスNを導出するためにカウンタSNを使用するというシナリオ、B)ラウンドロビンアプローチにおいて512チャネルを介して通信が分配されることを考慮して、それぞれのチャネルが個々のシーケンス番号SNを有し、これらの個々のシーケンス番号SNからノンスNが導出されるというシナリオ、およびC)最大可能トラフィックのわずか30%を有する1つのチャネルに対して、ノンスNとしてカウンタSNを使用するというシナリオについて検討する。この推定結果は、以下に掲載されるテーブルから見て取ることができる。
シリアル番号SNをカウンタとして実装する場合には、32ビットの長さは、いくつかのシナリオでは短すぎることが理解されるであろう。当然、シナリオAおよびCは、自動車の寿命を考慮すると十分ではないであろう。
同様に、シーケンス番号をノンスNとして実装するカウンタの場合の37ビットのビット長は、シナリオAおよびCにとっては十分ではない。なぜなら、シナリオAにおける短いフレームの場合の0.5年は、自動車の寿命を考慮すると短すぎるからである。同じことが、シナリオCによる短いフレームの場合の1.5年にも当てはまる。
これに対して、44ビットまたは64ビットのカウンタビット長は、3つのシナリオ全てに関する短いフレームおよび長いフレームにとって十分であると思われる。実際には、時間スパンの一部は、非常に長くなっているので、実際の値が表されておらず、ダッシュのみによって示されている。
図3Bを次に参照して、送信機Sでの認証のみのモードAOにおけるSADSEについて、すなわち、図2Aによるプロトコルフレーム100を認証する場合について検討する。このモードでは、長さleの入力ストリームは使用されない。キーKの使用は、前述と同様である。SADSEは、シーケンス番号SNと、付加認証データAADと、を入力としてさらに受信する。
付加認証データAADは、簡単に言えば、ヘッダHから始まって保護されたペイロード部分PPに至るまでの、かつ保護されたペイロード部分PPを含む、プロトコルフレーム100の全ての情報を含む。リプレイ保護が必要とされない場合には、プロトコルフレーム100は、図2Bと組み合わせて上述したようにシーケンス番号SNを含まなくてもよい。SNがセットされていない結果として、ノンスNを、以前に使用された値のままにしておくことができるか、またはゼロもしくは任意の他の好適な値にセットすることができる。当然、ノンスNをセットするためのルールは、送信機Sと受信機Rとで同一でなければならない。
送信機Sによってコンパイルされたフレームは、送信機Sによってコンパイルされたフレーム100のための認証のレベルを示すために、前述のような総称的な指示、第1の指示および/またはセキュリティ指示を含むことができることが理解されるであろう。
バスベースの通信システムの内部において秘密キーとして1つの総称キーKだけが使用される場合には、プロトコルフレーム100は、図2Bに関して説明したようにセキュリティ情報SecInfフィールドを含まなくてもよい。
図2Bに関してすでに説明したように、リプレイ保護が必要とされず、バスベースの通信システムにおいて総称キーKが使用される状況では、シーケンス番号SNおよびセキュリティ情報SecInfフィールドを省略することができる。上述のように、ノンスNを、以前に使用された値のままにしておくことができるか、またはゼロもしくは任意の他の好適な値にセットすることができる。この場合も、ノンスNをセットするためのルールは、所与のプロトコルフレーム100を認証および/または安全化するために送信機Sと受信機Rとで同一でなければならない。
送信機Sでの認証のみのモードAOにおいて、SADSEは、キーKと、ノンスNと、付加認証データAADと、を使用して計算されたタグTを出力する。タグTは、セキュリティタグSecTagとしてプロトコルフレーム100に組み込まれ、それによって認証されたプロトコルフレーム100を生成することができる。
図3Cを次に参照して、データリンク層レベルでの受信機Rでの認証のみのモードにおけるSADSEについて検討する。受信機Rでの認証のみのモードは、受信機Rにおいて受信したプロトコルフレーム100を、送信機Sから受信機に送信されることが意図されたオリジナルのプロトコルフレームとして認証する。換言すれば、受信機Rは、図2Aによるプロトコルフレーム100を認証する。このモードでは、セキュリティタグが、図3Aの入力ストリームPの代わりとなるタグTとして使用される。キーKおよびシーケンス番号SNの使用は、前述と同様である。
受信機での認証のみのモードAOにおいて、付加認証データAADは、ヘッダHから始まって保護されたペイロード部分PPに至るまでの、かつ保護されたペイロード部分PPを含む、プロトコルフレーム100の全ての情報を含む。リプレイ保護が必要とされない場合には、プロトコルフレーム100は、図2Bと組み合わせて上述したようにシーケンス番号SNを含まなくてもよい。SNがセットされていない結果として、ノンスNを、以前に使用された値のままにしておくことができるか、またはゼロもしくは任意の他の好適な値にセットすることができる。当然、ノンスNをセットするためのルールは、送信機Sと受信機Rとで同一でなければならない。
受信機Rは、プロトコルフレームから指示を抽出するように構成されている。この指示は、受信機Rにおいて受信されるフレーム100のための認証のレベルを示すために、前述のような総称的な指示、第1の指示および/またはセキュリティ指示として実装可能である。
バスベースの通信システムの内部において秘密キーとして1つの総称キーKだけが使用される場合には、プロトコルフレーム100は、図2Bに関して説明したようにセキュリティ情報SecInfフィールドを含まなくてもよい。
図2Bに関してすでに説明したように、リプレイ保護が必要とされず、バスベースの通信システムにおいて総称キーKが使用される状況では、シーケンス番号SNおよびセキュリティ情報SecInfフィールドを省略することができる。上述のように、ノンスNを、以前に使用された値のままにしておくことができるか、またはゼロもしくは任意の他の好適な値にセットすることができる。この場合も、ノンスNをセットするためのルールは、所与のプロトコルフレーム100を認証および/または安全化するために送信機Sと受信機Rとで同一でなければならない。
受信機Rでの認証のみのモードAOにおいて、SADSEは、キーKと、ノンスNと、付加認証データAADと、を使用して計算されたタグT’を出力する。タグT’は、送信機Sにおいて生成されたセキュリティタグSecTagの再計算である。
送信機Sにおいて計算されたプロトコルフレーム100の内部のセキュリティタグSecTagと、受信機Rにおいて新たに計算されたタグT’と、を比較することにより、受信機Rにおいて受信されたプロトコルフレーム100が、送信機Sから受信機Rに送信されることを意図したものであるかどうかを認証することが可能となり、さらに、プロトコルフレーム100がそのオリジナルの形式にあるかどうかを認証することが可能となる。
SADSEが、新たに計算されたタグT’とプロトコルフレーム100の内部のセキュリティタグSecTagとを比較した結果に相当する真正性指示AIを、直接的に出力することは好適であり得る。セキュリティタグSecTagがSADSEに入力されている場合には、この比較に関する全ての情報を、SADSEが利用することが可能である。
AEモードとも称されるSADSEの認証された暗号化モードについて検討する。
図3Dを次に参照すると、送信機SにおけるSADSEのためのAEモードが説明されている。前述のように、SADSEは、キーKと、シーケンス番号SNと、を入力として受信する。保護されたペイロード部分PPが、長さleの入力ストリームの代わりとなる。保護されたペイロード部分PPが、平文として入力されていることに留意されたい。
送信機SでのAEモードにおいて、付加認証データAADは、ヘッダHと、オプションのセキュリティ情報SecInfと、を含む。
送信機Sによってコンパイルされたフレームは、送信機Sによってコンパイルされたフレーム100のための認証およびデータ保護のレベルを示すために、前述のような総称的な指示、第1の指示、第2の指示および/またはセキュリティ指示を含むことができることが理解されるであろう。
リプレイ保護が必要とされない場合には、プロトコルフレーム100は、図2Bと組み合わせて上述したようにシーケンス番号SNを含まなくてもよい。SNがセットされていない結果として、ノンスNを、以前に使用された値のままにしておくことができるか、またはゼロもしくは任意の他の好適な値にセットすることができる。当然、ノンスNをセットするためのルールは、送信機Sと受信機Rとで同一でなければならない。
バスベースの通信システムの内部において秘密キーとして1つの総称キーKだけが使用される場合には、プロトコルフレーム100は、図2Bに関して説明したようにセキュリティ情報SecInfフィールドを含まなくてもよい。
この場合も、リプレイ保護が必要とされず、バスベースの通信システムにおいて総称キーKが使用される状況では、シーケンス番号SNおよびセキュリティ情報SecInfフィールドを省略することができる。上述のように、ノンスNを、以前に使用された値のままにしておくことができるか、またはゼロもしくは任意の他の好適な値にセットすることができる。ノンスNをセットするためのルールが、所与のプロトコルフレーム100を認証および/または安全化するために送信機Sと受信機Rとで同一でなければならないことを思い出されたい。
送信機SでのAEモードにおいて、SADSEは、保護されたペイロードPPの暗号化されたバージョンである暗号文cipher{保護されたペイロードPP}を、長さleの出力ストリームCとして出力する。SADSEは、ノンスNと、保護されたペイロードPPと、付加認証データAADと、に基づいて暗号文cipher{保護されたペイロードPP}を生成する。
送信機SでのAEモードにおいて、SADSEは、キーKと、ノンスNと、付加認証データAADと、を使用して計算されたセキュリティタグSecTagをさらに出力する。セキュリティタグSecTagは、プロトコルフレーム100に組み込まれ、それによって図2Bに関して説明したようなプロトコルフレームをもたらすことができる。図3Bおよび図3Cに関して上述したように、プロトコルフレーム100が、送信機Sから受信機に送信されることを意図したものであることを認証するために、さらに、プロトコルフレーム100がそのオリジナルの形式にあるかどうかを認証するために、セキュリティタグSecTagを使用することができる。
送信機Sにおいて、保護されたペイロードPPを出力暗号文cipher{PP}によって置き換えて、プロトコルフレーム100にセキュリティタグSecTagを追加することにより、図2Cに関して説明したような認証および暗号化されたプロトコルフレームがもたらされる。
図3Eを次に参照すると、受信機RにおけるSADSEのためのAEモードが説明されている。前述のように、SADSEは、キーKと、ノンスNと、を入力として受信する。受信機RのAEモードにおいて、保護されたペイロード部分の暗号文cipher{PP}が、長さleの入力ストリームの代わりとなる。保護されたペイロードの暗号文cipher{PP}が、同一の長さの保護されたペイロード部分PPの暗号化されたバージョンであることに留意されたい。
受信機RでのAEモードにおいて、付加認証データAADは、ヘッダHから始まって保護されたペイロード部分PPに至るまでの、ただし保護されたペイロード部分PPを含まない、プロトコルフレーム100の全ての情報を含む。したがって、図2Bで説明されるプロトコルフレーム100によれば、付加認証データAADは、ヘッダHと、オプションのセキュリティ情報SecInfと、を含むことができる。
リプレイ保護が必要とされない場合には、プロトコルフレーム100は、図2Bと組み合わせて上述したようにシーケンス番号SNを含まなくてもよい。SNがセットされていない結果として、ノンスNを、以前に使用された値のままにしておくことができるか、またはゼロもしくは任意の他の好適な値にセットすることができる。当然、ノンスNをセットするためのルールは、送信機Sと受信機Rとで同一でなければならない。
受信機Rは、プロトコルフレームから指示を抽出するように構成されている。この指示は、送信機Sにおいて受信されるフレーム100のための認証およびデータ保護のレベルを示すために、前述のような総称的な指示、第1の指示、ペイロードタイプおよび/またはセキュリティ指示として実装可能である。
バスベースの通信システムの内部において秘密キーとして1つの総称キーKだけが使用される場合には、プロトコルフレーム100は、図2Bに関して説明したようにセキュリティ情報SecInfフィールドを含まなくてもよい。
この場合も、リプレイ保護が必要とされず、バスベースの通信システムにおいて総称キーKが使用される状況では、シーケンス番号SNおよびセキュリティ情報SecInfフィールドを省略することができる。上述のように、ノンスNを、以前に使用された値のままにしておくことができるか、またはゼロもしくは任意の他の好適な値にセットすることができる。ノンスNをセットするためのルールが、所与のプロトコルフレーム100を認証および/または安全化するために送信機Sと受信機Rとで同一でなければならないことを思い出されたい。
受信機RでのAEモードにおいて、SADSEは、保護されたペイロード部分PPを、長さleの出力ストリームCとして出力する。SADSEは、ノンスNとしてのオプションのシーケンス番号SNと、暗号文cipher{PP}と、付加認証データAADと、に基づいて、暗号文cipher{PP}の解読されたバージョンを生成する。
受信機RでのAEモードにおいて、SADSEは、キーKと、ノンスNとしてのオプションのシーケンス番号と、付加認証データAADと、を使用して計算されたタグT’を出力する。タグT’は、送信機Sにおいて生成されたセキュリティタグSecTagの再計算である。
送信機Sにおいて計算されたプロトコルフレーム100の内部のセキュリティタグSecTagと、受信機Rにおいて新たに計算されたタグT’と、を比較することにより、受信機Rにおいて受信されたプロトコルフレーム100が、送信機Sから受信機Rに送信されることを意図したものであるかどうかを認証することが可能となり、さらに、プロトコルフレーム100がそのオリジナルの形式にあるかどうかを認証することが可能となる。
SADSEが、新たに計算されたタグT’とプロトコルフレーム100の内部のセキュリティタグSecTagとを比較した結果に相当する真正性指示AIを、直接的に出力することは好適であり得る。しかしながら、このために、セキュリティタグSecTagがSADSEにアクセス可能であることが必要とされるであろう(図3Eには図示せず)。
本開示によるSADSEを実装するための1つの可能な手法は、ブロック暗号モードであろう。このようなブロック暗号モードの著名な一例は、AESガロアカウンタモードである。
AES-GCMの場合、AES-GCMの入力値および出力値のためのそれぞれのビット長に関して、米国の国立標準技術研究所であるNISTによる推奨が存在する。テーブル1には、これらのパラメータが、認証のみのモードAOに関してまとめられている。
認証のみのモードAOの場合には、le文字の平文ストリームは使用されず、平文ストリームとしての保護されたペイロードPPにわたる対応する暗号文も同様であり、このことは、図3Bおよび図3Cに関するSADSEのAOモードについての説明に対応している。
付加認証データAADに関して、128*aビットの長さは、本開示のSADSEを実装するAES-GCMモードの性能を最適化するために128ビットの整数倍を選択すべきであることを示す。128ビットの倍数の到達は、好適にはゼロパディングを用いることによって達成可能である。カウンタCTRは、AES-GCMの内部変数であり、AOモードでは使用されないので完全性を期すために掲載されている。
テーブル1の認証のみのAOモードのパラメータとは異なり、認証された暗号化モードAEは、32ビット値として実装されたカウンタを使用する。
暗号文cipher{PP}および付加認証データAADは、SADSEを実装するAES-GCMの性能を最適化するために128ビット長の倍数であるべきである。そのようなビット長のゼロパディングを達成することは、好適なオプションである。
図4は、CAN標準によるプロトコルフレームを示す。CANフレームは、11ビットの調停フィールドと、その後に続く7ビットのコントロールフィールドと、によって形成されるヘッダHから始まる。調停フィールドおよびコントロールフィールドの両方は、図2A~図2Cによる本開示のプロトコルフレーム100に関するオプションとしてすでに説明したように、フルバイト長との公約数を有さないビット長のCANフレームの一部である。調停フィールドは、前述のCAN標準のバリエーションであるCAN標準およびCAN-FD標準によれば、29ビットからなることができることに留意されたい。
8バイトのデータフィールドは、図2Aによるオリジナルのプロトコルフレーム100のペイロードPに相当する。15ビットのCRCフィールドは、確認応答(Ack)スロットビットおよび確認応答(Ack)デリミタビットと7ビットのフレーム終了と一緒に、図2A~図2Cに関して説明したプロトコルフレームのフレーム終了部分EOFに相当する。
AEモードにおいて、CANネットワークを介して1つの対称キーKを使用して、AES-GCM暗号モードとして実装されたSADSEコンセプトを適合させることが望まれる場合には、オリジナルのペイロードPのうちの2バイトをシーケンス番号SNとして使用することができ、さらなる2バイトをセキュリティタグSecTagとして使用することができ、これにより、保護されるペイロード部分PPのために合計4バイトが残される。
シーケンス番号SNを、オリジナルのペイロードPの最初の2バイトとしてセットすることが好適であり得る。なぜなら、2つのシーケンス番号バイトがオリジナルのペイロード部分Pのさらに下流にシフトされているケースよりも早期に、シーケンス番号の誤りが検出されることとなるからである。
同様に、セキュリティタグSecTagを、保護されたペイロードPPの終了に向かって移動させることにより、保護されたペイロード部分がセキュリティタグSecTagによってセグメント化されることを阻止するであろう。セグメント化されれば、CANフレームの構文解析がより複雑になることであろう。代替策として、SecTagおよびシーケンス番号SNの両方を、保護されたペイロード部分PPの開始にシフトさせることができる。
このようなアプローチによって、オリジナルのペイロード容量Pの50%を維持しながら、リプレイ攻撃に対する保護が達成される。
テーブル3は、CANシステムの内部において1つの総称キーKを用いるAES-GCMモードに関して、キーサイズが128ビットであって、かつシーケンス番号SNが2バイトである場合について、CANフレームにセキュリティタグSecTagおよびシーケンス番号SNを含めたときの、認証のみのモードAOについての入力パラメータ長および出力パラメータ長をまとめたものである。
図4の例では、シーケンス番号は、16ビットに相当する2バイトのサイズを有する。キーKのキー長は、128ビットである。付加認証データは、18ビットの全長を有するヘッダと、32ビットに相当する4バイトの保護されたペイロードPPと、からなり、これにより、テーブル3に示されているように合計で50ビットになる。AES-GCMの効率的な計算を達成するために、AADのための128ビットの全長に到達するために必要とされる残りの78ビットのためのゼロパディングについて検討する。
保護されたペイロードPPのための利用可能なバイトを6バイトに増加させるためにシーケンス番号SNを省略しようとした場合には、テーブル3に記載されている長さの値がさらに変化するであろうことが理解されるであろう。この追加的な保護されたペイロードのビットは、当然、リプレイ攻撃に対する保護がないという犠牲を払うこととなる。当然、それと引き換えにして、保護されたペイロード部分PPのための利用可能なバイトを増加させるために、セキュリティ要件に応じて、2バイト未満のサイズまでセキュリティタグSecTagを短縮することを決定してもよい。
テーブル4は、シーケンス番号SNを使用してCANシステムの内部において1つの総称キーKを用いるAES-GCMモードに関して、キーサイズが128ビットである場合について、AEモードについての入力パラメータ長および出力パラメータ長をまとめたものである。
AEモードにおける付加認証データAADは、18ビットの全長を有するヘッダからなる。AES-GCMの効率的な計算を達成するために、AADのための64ビットの全ブロックサイズに到達するために必要とされる残りのビットのためのゼロパディングについて検討する。
保護されたペイロードPPのための利用可能なバイトを6バイトに増加させるためにシーケンス番号SNを省略しようとした場合には、テーブル4に記載されている長さの値がさらに変化するであろうことが理解されるであろう。この追加的な保護されたペイロードのビットは、当然、リプレイ攻撃に対する保護がないという犠牲を払うこととなる。当然、それと引き換えにして、保護されたペイロード部分PPのための利用可能なバイトを増加させるために、セキュリティ要件に応じて、2バイト未満のサイズまでセキュリティタグSecTagを短縮することを決定してもよい。
CANバス通信システムのためにSADSE機能を実装する場合の1つのバリエーションは、AES-GCMよりも短いブロックサイズのブロック暗号について検討することである。Simon and Speckは、米国の国家安全保障局によって定義されるこのような軽量暗号の一例である。テーブル5は、Simon and Speckブロック暗号ファミリーについて、種々異なるブロックサイズおよびキーサイズをまとめたものである。
18ビットのヘッダサイズと、シーケンス番号SNと、2バイトのセキュリティタグSecTagと、をそれぞれ有するCANシステムの内部において1つの総称キーKを使用するSimon and Speckブロック暗号のための64ビットのキーサイズについて検討する。
テーブル6は、CANフレームにセキュリティタグSecTagおよびシーケンス番号SNを含めたときの、認証のみのAOモードについての入力パラメータ長および出力パラメータ長をまとめたものである。
テーブル6から見て取れるように、平文ストリームおよび暗号文は、正確に1ブロックサイズに相当する32ビット長である。したがって、AES-GCMの場合のようにこれらのフィールドに対してゼロパディングは必要とされず、Simon and Speckの動作は、CANフレームに対してAES-GCMよりもより効率的である。
シーケンス番号SNおよび/またはセキュリティタグSecTagを短縮または省略することによって、保護されるペイロード部分PPを増加させることができるが、これにより、トレードオフとしてCANフレームのための保護のレベルが低減することは、当業者には明らかであろう。
付加認証データは、上述したAES-GCMの場合に当てはまるように50バイト長であり、この長さは、32ビットのSimon and Speckブロックサイズの1ブロックサイズと2ブロックサイズとの間にあるので、ゼロパディングを必要とする。
テーブル7から見て取れるように、平文ストリームおよび暗号文は、正確に1ブロックサイズに相当する32ビット長である。したがって、AES-GCMの場合のようにこれらのフィールドに対してゼロパディングは必要とされず、Simon and Speckの動作は、この点において、CANフレームに対してAES-GCMよりもより効率的である。しかしながら、付加認証データAADは、上記の例で説明したAES-GCMの場合に当てはまるようにフルブロックサイズよりも短く、したがって、ゼロパディングを必要とする。
上述した例示的な実装形態は、単なる例示に過ぎない。本明細書に記載された構成および詳細の修正および変更は、当業者には明らかであることが理解されるであろう。したがって、出願中の特許請求の範囲によってのみ限定され、本明細書における実装形態の記載および説明によって提示される特定の詳細によって限定されるわけではないということが意図されている。
Claims (20)
- プロトコルに従って車両内のバスベースの通信システムの参加者間で通信するためのプロトコルフレーム(100)であって、
前記プロトコルフレームは、ヘッダ(H)を含み、前記ヘッダ(H)は、送信機(S)と受信機(R)との間で通信されるべき前記プロトコルフレームの開始を示し、前記送信機(S)および前記受信機(R)の両方は、前記バスベースの通信システムの参加者であり、
前記プロトコルフレームは、指示を含み、前記指示は、データリンク層上での前記プロトコルフレーム(100)の真正性のレベルまたはデータセキュリティのレベルを示すように構成されている、
プロトコルフレーム(100)。 - 前記指示は、前記プロトコルフレーム(100)に対するデータリンク層レベルでの認証を示すように構成された第1の指示を含む、
請求項1記載のプロトコルフレーム(100)。 - 前記指示は、前記プロトコルフレーム(100)に対するデータリンク層レベルでの認証およびデータセキュリティの両方を示すように構成された第2の指示を含む、
請求項1または2記載のプロトコルフレーム(100)。 - 前記指示、前記第1の指示または前記第2の指示のうちの少なくとも1つは、
前記プロトコルフレーム(100)の前記ヘッダ(H)の一部であるか、
前記プロトコルフレーム(100)のペイロードタイプ(pt)として表されるか、または
前記ヘッダの内部のセキュリティ指示フラグまたはビットフィールドとして表される、
うちの少なくとも1つである、
請求項3記載のプロトコルフレーム(100)。 - 前記プロトコルフレーム(100)は、
前記ヘッダ(H)の下流のセキュリティ情報(SI)と、
前記ヘッダ(H)の下流の保護されたペイロード部分(PP)と、
をさらに含み、
前記セキュリティ情報(si)は、前記保護されたペイロード部分(PP)に対する保護レベルを示す、
請求項1から4までのいずれか1項記載のプロトコルフレーム(100)。 - 前記セキュリティ情報は、
前記送信機と前記受信機との間の仮想チャネル、または
1つまたは複数のキー
のうちの少なくとも1つを示すようにさらに構成されている、
請求項5記載のプロトコルフレーム(100)。 - 前記セキュリティ情報(si)と組み合わせられた前記指示は、前記プロトコルフレーム(100)に対して認証のみが適用されるか、または、認証およびデータ保護が適用されるかを示す、
請求項5記載のプロトコルフレーム(100)。 - 前記セキュリティ情報(si)は、前記プロトコルフレーム(100)に対するデータリンク層レベルでの認証のため、または、認証およびデータセキュリティのために選択されるべきキー(K)を示すセキュリティアソシエーションを示すようにさらに構成されている、
請求項5または6記載のプロトコルフレーム(100)。 - 前記プロトコルフレーム(100)は、セキュリティタグ(SecTag)をさらに含み、
前記セキュリティタグ(SecTag)は、送信機から受信機に伝送されることが意図されたオリジナルのプロトコルフレームとしての前記プロトコルフレーム(100)の真正性を、データリンク層レベルで検証するように構成されており、
前記セキュリティタグ(SecTag)は、前記プロトコルフレームの真正性を、前記データリンク層上の前記送信機で、または、前記データリンク層上の前記受信機で検証するように構成されている、
請求項1から8記載のプロトコルフレーム(100)。 - 前記プロトコルフレーム(100)は、コントローラエリアネットワーク(CAN)標準、CANフレキシブルデータレート標準またはCANエクストララージ標準と共に使用される長さNを有する、
請求項1から9記載のプロトコルフレーム(100)。 - 前記プロトコルフレームは、8バイト、8~64バイトまたは64~2048バイトの長さNを選択的に有する、
請求項1から9記載のプロトコルフレーム。 - 車両内のバスベースの通信システムに参加するように構成されている、データリンク層上の送信機(S)であって、
前記送信機(S)は、
上位のプロトコル層からの要求に応じてヘッダ(H)を生成し、
kバイト長のキー(K)にアクセスし、
前記上位のプロトコル層から保護されたペイロード部分(PP)を受信し、
付加認証データ(AAD)を集約し、
前記送信機(S)から受信機(R)に送信されるオリジナルフレームとしてのフレームの真正性をデータリンク層レベルで検証するためのセキュリティタグ(SecTag)を、前記キー(K)および前記付加認証データ(AAD)を使用して生成し、
前記ヘッダ(H)と、前記保護されたペイロード部分(PP)と、前記付加認証データ(AAD)と、を含むプロトコルフレーム(100)を生成する
ように構成されており、
前記送信機(S)は、前記プロトコルフレームを、前記送信機(S)から前記バスベースの通信システムの1つまたは複数の参加者に前記データリンク層レベルで通信するように構成されている、
送信機(S)。 - 前記バスベースの通信システムは、ブロードキャストベースのバスシステムであり、したがって、前記バスベースの通信システムの内部の全てのノードは、前記送信機(S)によって通信された前記プロトコルフレーム(100)を受信するように構成されている、
請求項12記載の送信機(S)。 - 前記プロトコルフレーム(100)は、前記データリンク層上での前記プロトコルフレーム(100)の真正性のレベルまたはデータセキュリティのレベルを示すように構成された指示をさらに含む、
請求項12または13記載の送信機。 - 前記指示は、
前記プロトコルフレームに対する前記データリンク層レベルでの認証を示すように構成された第1の指示、または
前記プロトコルフレームに対する前記データリンク層レベルでの認証およびデータセキュリティの両方を示すように構成された第2の指示
を含む、
請求項14記載の送信機(S)。 - 前記送信機の認証のみのモードにおいて、前記付加認証データは、
前記ヘッダ(H)と、
前記保護されたペイロード部分(PP)と、
である、
請求項12から15までのいずれか1項記載の送信機(S)。 - 認証された暗号化モードにおける前記送信機(S)は、
キー(K)と、
平文での保護されたペイロード部分(PP)と、
付加認証データ(AAD)としてのヘッダ(H)と、
を使用して、前記保護されたペイロード部分のための暗号文を生成するようにさらに構成されている、
請求項12から14記載の送信機(S)。 - 前記送信機(S)は、前記ヘッダ(H)の下流にsnバイトのシーケンス番号(SN)を生成するようにさらに構成されており、
前記送信機(S)は、前記保護されたペイロードの短縮を犠牲にして前記シーケンス番号(SN)を前記プロトコルフレーム(100)に組み込むように構成されており、短縮された保護されたペイロードは、前記保護されたペイロード部分(PP)に比べてsnバイトだけ短縮されている、
請求項12から15までのいずれか1項記載の送信機(S)。 - 前記送信機(S)は、前記キーKを使用して長さsiのセキュリティ情報(SecInf)を生成するように構成されており、
前記送信機(S)は、ペイロードの短縮を犠牲にして前記セキュリティ情報を前記ヘッダ(H)の下流で前記プロトコルフレームに組み込むようにさらに構成されており、短縮された前記ペイロードは、前記保護されたペイロード(PP)に比べてsiバイトだけ短縮されており、
前記セキュリティ情報(SecInf)は、前記保護されたペイロード部分に対する保護レベルを示す、
請求項12から18までのいずれか1項記載の送信機(S)。 - 認証された暗号化モードにおける前記送信機は、siバイト長のセキュリティ情報を生成するようにさらに構成されており、
前記送信機は、保護されたペイロードの短縮を犠牲にして前記セキュリティ情報を前記ヘッダの下流で前記プロトコルフレームに組み込むようにさらに構成されており、短縮された保護されたペイロードは、前記保護されたペイロードに比べてsi+snバイトだけ短縮されており、
前記セキュリティ情報は、前記短縮された保護されたペイロードに対する保護レベルを示す、
請求項12から14までのいずれか1項または請求項17記載の送信機。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/825,896 | 2020-03-20 | ||
US16/825,896 US11321442B2 (en) | 2020-03-20 | 2020-03-20 | Data link layer authenticity and security for automotive communication system |
PCT/EP2021/057087 WO2021186030A1 (en) | 2020-03-20 | 2021-03-19 | Data link layer authenticity and security for automotive communication system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023523883A true JP2023523883A (ja) | 2023-06-08 |
Family
ID=75267477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022556148A Pending JP2023523883A (ja) | 2020-03-20 | 2021-03-19 | 自動車の通信システムのためのデータリンク層の真正性およびセキュリティ |
Country Status (6)
Country | Link |
---|---|
US (3) | US11321442B2 (ja) |
EP (2) | EP4122177B1 (ja) |
JP (1) | JP2023523883A (ja) |
KR (1) | KR20220157388A (ja) |
CN (1) | CN115336225A (ja) |
WO (1) | WO2021186030A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11321442B2 (en) | 2020-03-20 | 2022-05-03 | Infineon Technologies Ag | Data link layer authenticity and security for automotive communication system |
US11539621B2 (en) * | 2021-02-03 | 2022-12-27 | Motional Ad Llc | Controller area network messages in an autonomous vehicle |
US11522678B2 (en) * | 2021-06-08 | 2022-12-06 | Intel Corporation | Block cipher encryption for processor-accelerator memory mapped input/output communication |
US20210297243A1 (en) | 2021-06-08 | 2021-09-23 | Intel Corporation | Permutation cipher encryption for processor-accelerator memory mapped input/output communication |
CN113676900A (zh) * | 2021-10-25 | 2021-11-19 | 奥特酷智能科技(南京)有限公司 | 基于canxl总线的车载传感器数据安全传输方法及系统 |
CN114827968B (zh) * | 2022-03-31 | 2022-11-08 | 远峰科技股份有限公司 | 一种ble智能钥匙canfd的大数据传输方法 |
EP4270869A1 (en) * | 2022-04-27 | 2023-11-01 | Schneider Electric Industries SAS | Secure communication protocol for communication devices |
CN115766915A (zh) * | 2022-11-01 | 2023-03-07 | 长城汽车股份有限公司 | 汽车开放系统架构、数据处理方法、介质及车载设备 |
CN117424947B (zh) * | 2023-12-19 | 2024-03-12 | 无锡梵克罗电气设计有限公司 | 骑行设备系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8379638B2 (en) * | 2006-09-25 | 2013-02-19 | Certes Networks, Inc. | Security encapsulation of ethernet frames |
US8973125B2 (en) * | 2010-05-28 | 2015-03-03 | Alcatel Lucent | Application layer authentication in packet networks |
US9980082B2 (en) | 2014-08-26 | 2018-05-22 | Kooltechs Inc. | System and method for tracking locations and activities |
CN107819736B (zh) * | 2016-09-13 | 2021-12-31 | 现代自动车株式会社 | 基于车辆网络中的汽车安全完整性等级的通信方法及设备 |
CN106899404B (zh) | 2017-02-15 | 2020-06-02 | 同济大学 | 基于预共享密钥的车载can fd总线通信系统及方法 |
US11321442B2 (en) | 2020-03-20 | 2022-05-03 | Infineon Technologies Ag | Data link layer authenticity and security for automotive communication system |
-
2020
- 2020-03-20 US US16/825,896 patent/US11321442B2/en active Active
-
2021
- 2021-03-19 JP JP2022556148A patent/JP2023523883A/ja active Pending
- 2021-03-19 EP EP21714837.8A patent/EP4122177B1/en active Active
- 2021-03-19 WO PCT/EP2021/057087 patent/WO2021186030A1/en active Application Filing
- 2021-03-19 KR KR1020227031964A patent/KR20220157388A/ko unknown
- 2021-03-19 EP EP24167394.6A patent/EP4369660A3/en active Pending
- 2021-03-19 CN CN202180022847.8A patent/CN115336225A/zh active Pending
-
2022
- 2022-05-02 US US17/661,590 patent/US11816201B2/en active Active
-
2023
- 2023-12-15 US US18/541,757 patent/US20240126866A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4122177A1 (en) | 2023-01-25 |
US11321442B2 (en) | 2022-05-03 |
US20210294889A1 (en) | 2021-09-23 |
EP4369660A2 (en) | 2024-05-15 |
CN115336225A (zh) | 2022-11-11 |
US20240126866A1 (en) | 2024-04-18 |
WO2021186030A1 (en) | 2021-09-23 |
US11816201B2 (en) | 2023-11-14 |
KR20220157388A (ko) | 2022-11-29 |
EP4369660A3 (en) | 2024-05-22 |
US20220261471A1 (en) | 2022-08-18 |
EP4122177B1 (en) | 2024-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2023523883A (ja) | 自動車の通信システムのためのデータリンク層の真正性およびセキュリティ | |
CN110073634B (zh) | 数据转换系统及方法 | |
CN108696411B (zh) | 用于在can系统中使用的装置 | |
KR101740957B1 (ko) | 차량용 데이터의 인증 및 획득 방법 | |
US20060126847A1 (en) | System and method for establishing secure communications between devices in distributed wireless networks | |
CN111447235A (zh) | 网络装置以及网络系统 | |
CN101542961A (zh) | 在通信网络中加密数据 | |
US20220294607A1 (en) | Transport layer authenticity and security for automotive communication | |
US10699031B2 (en) | Secure transactions in a memory fabric | |
Hafeez et al. | Comparative study of can-bus and flexray protocols for in-vehicle communication | |
CN110035047A (zh) | 用于检查数据包中的消息完整性的轻型机制 | |
US10311005B2 (en) | Message translator | |
Xiao et al. | Session key distribution made practical for CAN and CAN-FD message authentication | |
CN113632419A (zh) | 用于对要在总线系统(bu)、特别是机动车辆的总线系统中传输的至少一个数据分组进行生成和认证检查的装置和方法 | |
Fazzat et al. | A comparative performance study of cryptographic algorithms for connected vehicles | |
CN113810173A (zh) | 一种校验应用信息的方法、报文处理方法及装置 | |
CN114128220B (zh) | 针对汽车通信系统的数据链路层真实性和安全性 | |
CN114731292A (zh) | 低延迟介质访问控制安全认证 | |
Došek et al. | Secure high level communication protocol for CAN bus | |
Wang et al. | Unified data authenticated encryption for vehicular communication | |
Piao et al. | A Security Framework for In-Vehicle FlexRay Bus Network | |
Vougioukalos | An embedded platform for developing data protection protocols on smart vehicles. | |
Han et al. | Enhancing security and robustness of Cyphal on Controller Area Network in unmanned aerial vehicle environments | |
Kim et al. | Routing Methods Considering Security and Real-Time of Vehicle Gateway System | |
Janků et al. | SECURE HIGH LEVEL COMMUNICATION PROTOCOL FOR CAN BUS. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221209 |
|
A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20221116 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240312 |