JP6454614B2 - 車載システム、その制御装置および制御方法 - Google Patents

車載システム、その制御装置および制御方法 Download PDF

Info

Publication number
JP6454614B2
JP6454614B2 JP2015139116A JP2015139116A JP6454614B2 JP 6454614 B2 JP6454614 B2 JP 6454614B2 JP 2015139116 A JP2015139116 A JP 2015139116A JP 2015139116 A JP2015139116 A JP 2015139116A JP 6454614 B2 JP6454614 B2 JP 6454614B2
Authority
JP
Japan
Prior art keywords
random number
packet
mask value
control device
base random
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
JP2015139116A
Other languages
English (en)
Other versions
JP2017021219A (ja
Inventor
博隆 吉田
博隆 吉田
信 萱島
信 萱島
大和田 徹
徹 大和田
伸義 森田
伸義 森田
恵輔 伯田
恵輔 伯田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2015139116A priority Critical patent/JP6454614B2/ja
Publication of JP2017021219A publication Critical patent/JP2017021219A/ja
Application granted granted Critical
Publication of JP6454614B2 publication Critical patent/JP6454614B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明は、車載システム、その制御装置および制御方法に関するものである。
自動車の制御を支える車載システムでは、ECU(Electronic Control Unit)と呼ばれる組み込みシステムが制御装置として制御を行っている。例えば、エンジン制御の場合、ECUがエンジン等の状態をセンサによって観測し、燃料噴射量を算出し、適切なタイミングで点火させるための制御を行う。さらに、制御処理は、周期的動作であり、かつ実行周期は短い。したがって、データの更新頻度が高い。
自動車の車載ネットワークにおける代表的な標準プロトコルとしてController Area Network(以下、CAN)が広く使用されており、さらに今後はCANを拡張したCAN FD(Flexible Data−Rate)も普及が進むことが予想されている。
このような車載ネットワークを用いた車載システムについても、一般的な情報システムと同様に、脅威が指摘されつつある。例えば、OBD2(On−Board−Diagnostics 2)ポートのような車載ネットワークに直接繋がっているインタフェースに不正な機器を接続し、リプレイ攻撃(再送攻撃)が行なわれる脅威等がある。ここで、リプレイ攻撃とは、攻撃者が通信路上を流れるパケットを盗聴して事前に取得し、取得したパケットを再送することで自動車の不正な動作を引き起こす攻撃である。
第三者による受信者のシステムのリプレイ攻撃に対する対策手段として、パケットごとに値が変わるシーケンス番号(順序番号)を付与することが知られている。シーケンス番号によるリプレイ攻撃対策技術は、ネットワーク層での認証および暗号化を行うプロトコルとしてIETFで標準化されたIPSecにおいても採用されている。
また、予測困難性を確保するために、パケットごとに値が変わる乱数を生成し、シーケンス番号として採用することが知られており、特許文献1には、暗号化側において、まず、演算器Aで、疑似乱数生成器の出力Xiと、m遅延器Bから得られるそのmステップ前の疑似乱数生成器の出力Xi-mとのビットごとの排他的論理和をとり、次に、演算器Cで上記排他的論理和の結果と平文のブロックMiとのビットごとの排他的論理和をとることにより暗号文を作成する技術が開示されている。
特開2003−158515号公報
特許文献1に開示された技術によれば、複数のブロックからなる長文を疑似乱数生成器により暗号化するシステムにおいて、単独のブロックを暗号化するのと同程度の処理量と安全度で長文の各ブロックを効率的に暗号化できるようになる。
しかしながら、車載システムにおける制御装置は低コストであることを要求されることが多く、暗号処理で使える計算リソースが限られるため、特許文献1に開示された技術でも負担が大きく、計算リソースが枯渇して車両の制御へ影響する可能性がある。また、車載システムでは1つの制御装置が他の複数の制御装置へ制御情報を送信する場合も多く、送信先の複数の制御装置ごとに独立な乱数列を生成することも大きな負担となる。
そこで、本発明の目的は、車両システムの通信に適した乱数処理を提供することにある。
本発明に係る代表的な制御装置は、車載システムにおいて制御情報を送信する制御装置であって、複数のベース乱数が格納される乱数記憶部と、パケットの複数の識別子それぞれに紐づけてマスク値が格納されるマスク値記憶部と、前記乱数記憶部に格納された複数のベース乱数の中から1つのベース乱数を取得し、前記マスク値記憶部に格納された複数のマスク値の中から、前記制御情報を送信するためのパケットの識別子に紐づくマスク値を取得し、前記取得したベース乱数と前記取得したマスク値とに基づきパケット乱数を生成するパケット乱数生成部と、前記制御情報と前記生成したパケット乱数を含むパケットを送信する通信部とを備えたことを特徴とする。
本発明によれば、車両システムの通信に適した乱数処理が可能になる。
車載システムの構成の例を示す図である。 制御装置のハードウェアの構成の例を示す図である。 通信の全体フローの例を示す図である。 秘匿共有処理のフローの例を示す図である。 パケット送信処理のフローの例を示す図である。 パケット受信処理のフローの例を示す図である。 マスク値テーブルの構成の例を示す図である。 通信パケットの構成の例を示す図である。 複数の受信制御装置を含む車載システムの構成の例を示す図である。 同期補正を含む車載システムの構成の例を示す図である。 同期補正を含む通信の全体フローの例を示す図である。 送信制御装置の同期補正処理のフローの例を示す図である。 受信制御装置の同期補正処理のフローの例を示す図である。
以下、本発明の実施形態について、実施例を用い、図面を参照しながら詳細に説明する。
(車載システムの構成)
図1を参照して、車載システムの構成の例を説明する。図1において、車載システム100は、送信制御装置110、受信制御装置130、通信バス190を含んで構成される。車載システム100では、送信制御装置110がパケット乱数を生成し、通信バス190を介して、データとともにパケット乱数を格納したパケットを送信する。受信制御装置130は受信したパケットの乱数の真正性を検証し、真正性の検証された受信パケットに格納されたデータの取得を行なう。
なお、以下では、送信制御装置110と受信制御装置130の送信と受信を区別せずに単に制御装置と呼ぶことがある。また、送信制御装置110と受信制御装置130のそれぞれは、送信と受信の両方の構成を有する制御装置であってもよい。
(送信制御装置)
通信バス190には、一つまたは複数の制御装置が接続される。ここでは、送信制御装置110と受信制御装置130の二つの制御装置が接続される例を示す。送信制御装置110は、通信部111、通信パケット生成部112、パケット乱数生成部113、マスク値テーブル生成部114、ベース乱数生成部115、鍵管理部117、ベース乱数記憶部118、マスク値テーブル記憶部119を含んで構成されている。
通信部111は、通信パケット生成部112が生成した通信パケットを通信バス190経由で受信制御装置130へ送信する。通信パケット生成部112は通信パケットを生成する。パケット乱数生成部113はパケット乱数を生成する。マスク値テーブル生成部114はマスク値のテーブルを生成する。ベース乱数生成部115はベース乱数を生成する。
鍵管理部117は、パケット乱数生成部113やベース乱数生成部115がそれぞれの乱数データを生成するための暗号処理を行う際に用いる鍵を管理する。ベース乱数記憶部118は、ベース乱数生成部115が生成したベース乱数を記憶する。マスク値テーブル記憶部119は、マスク値テーブル生成部114が生成したマスク値のテーブルを記憶する。
(受信制御装置)
受信制御装置130は、通信部131、通信パケット検証部132、パケット乱数生成部133、ベース乱数生成部135、鍵管理部137、ベース乱数記憶部138、マスク値テーブル記憶部139を含んで構成されている。なお、ベース乱数生成部135は含まれなくてもよい。通信部131は、制御装置110の通信パケット生成部112が生成した通信パケットを通信バス190経由で受信する。通信パケット検証部132は、制御装置110から送信された通信パケットに含まれるパケット乱数を検証する。
パケット乱数生成部133は、通信パケット検証部132が通信パケットの検証を行うために、マスク値テーブルとベース乱数とを入力とした処理を行い、パケット乱数を生成する。ベース乱数生成部135は、暗号処理によりベース乱数を生成する。鍵管理部137は、パケット乱数生成部133やベース乱数生成部135がそれぞれのデータを生成するための暗号処理を行う際に用いる鍵を管理する。ベース乱数記憶部138は、ベース乱数を記憶する。
マスク値テーブル記憶部139は、パケット乱数生成部133がパケット乱数を生成するために入力として使用するマスク値テーブルを記憶する。なお、記憶されるマスク値テーブルは、送信制御装置110のマスク値テーブル生成部134が生成したものを受信するか、もしくは、受信制御装置130自体が生成してもよい。送信制御装置110から受信したパケットに格納されたパケット乱数を通信パケット検証部132が検証して、正規と判断されたパケットのデータが受信制御装置130に格納される。
(制御装置のハードウェア構成)
図2を参照して、制御装置のハードウェアの構成の例を説明する。この例では、送信制御装置110と受信制御装置130のハードウェアは同じであるので、まとめて説明する。図2において、制御装置は、通信装置11、入出力装置12、CPU(Central Processing Unit)14、メモリ15を含んで構成されている。
CPU14はメモリ15に格納されたプログラムにしたがって、通信装置11、入出力装置12、メモリ15から情報を読み出し、読み出した情報に演算を行い、通信装置11、入出力装置12、メモリ15へ情報を書き込む。メモリ15は、CPU14のプログラムが格納されたり、CPU14の処理結果が一時的に格納されたりする。入出力装置12は、車両の図示を省略したセンサまたはアクチュエータと通信する。通信装置11は、他の制御装置と通信バス190を介して通信する。
CPU14がメモリ15に格納されたプログラムを実行することにより、CPU14とメモリ15とは、図1に示した例えば通信パケット生成部112などの各部となってもよい。通信部111、131は通信装置11を含んでもよい。ベース乱数記憶部118、138とマスク値テーブル記憶部119、139はメモリ15であってもよい。そして、CPU14、メモリ15、通信装置11以外の図示を省略したハードウェアを含めて、図1に示した各部を形成してもよい。
なお、CPU14とメモリ15は低コストなものであってもよい。このため、例えばCPU14は性能の高くないものであってもよいし、メモリ15は大容量なものでなくてもよい。
(送信制御装置と受信制御装置の通信処理の全体概要)
図3を参照して、送信制御装置110と受信制御装置130の間の通信処理の全体概要の例について説明する。送信制御装置110は、通信パケットのシーケンス番号の代わりとなるパケット乱数を通信パケットに格納する。パケット乱数は、各パケットIDと、そのパケットIDに対応して秘密かつランダムに選択されたマスク値というデータを格納するテーブルであるマスク値テーブルを用いて生成される。ここで、秘密とは、制御装置110と制御装置130のみに格納されている値であるという意味である。
マスク値テーブルの例については後で図9を用いて説明する。ベース乱数を暗号化処理(例えばAES:Advanced Encryption Standard)に含まれる擬似乱数生成器等の利用により暗号学的に生成し、送信制御装置110と受信制御装置130が、ベース乱数とマスク値テーブルを共有し、それらを用いたパケット乱数の生成を行うことを特徴とする。
送信制御装置110と受信制御装置130は、車両のエンジン起動時と実利用時にフェーズを分けて、それぞれのフェーズに応じた処理を行う。まずエンジン起動時に、送信制御装置110と受信制御装置130の間で、秘匿共有処理(S201)を実施する。そして、実利用時に、送信制御装置110がパケット乱数送信処理(S202)を繰り返し、これに対応して、受信制御装置130がパケット乱数受信処理(S203)を繰り返すことにより、パケット乱数通信を安全に実施する。
エンジン起動時等の秘匿共有処理(S201)は、ベース乱数共有処理(S311)とマスク値テーブル共有処理(S312)を含み、ベース乱数とマスク値テーブルの事前共有を行う。ベース乱数共有処理(S311)とマスク値テーブル共有処理(S312)の詳細については、図4を用いて説明する。
実利用時には、送信制御装置110がマスク値テーブルを参照し(S315)、パケット乱数生成し(S316)、パケット乱数送信する(S202)。受信制御装置130がマスク値テーブルを参照し(S324)、パケット乱数生成(S326)し、パケット検証する(S326)。パケット乱数送信処理(S202)とパケット乱数受信処理(S203)については、図5と図6を用いて後でさらに説明する。
(秘匿共有処理)
図4は、エンジン起動時の秘匿共有処理(S201)の例を示す図である。既に説明したように秘匿共有処理(S201)はベース乱数共有処理(S311)とマスク値テーブル共有処理(S312)とからなる。
まず、ベース乱数共有処理(S311)に関して説明する。受信制御装置130は、ベース乱数生成のために必要な乱数生成量(乱数の個数)等のパラメータを送信制御装置110に送信する(S421)。送信制御装置110のベース乱数生成部115は、受信制御装置130からのパラメータを受信し(S410)、ベース乱数の生成に必要なパラメータを決定する(S411)。ここで、決定するパラメータは例えば乱数生成量に応じたパラメータであってもよい。
決定したパラメータに基づき、ベース乱数生成部115はベース乱数の生成を行い、ベース乱数記憶部118に格納する(S412)。なお、ベース乱数生成部115は、鍵管理部117に格納された鍵情報が入力された暗号処理において使用される疑似乱数生成を用いてベース乱数を生成する。
ここで、ベース乱数は複数生成され、所定系列の疑似乱数となってもよい。1つのベース乱数の長さ(ビット長)は十分に長くてもよく、決定したパラメータに応じた個数が生成されてもよい。生成したベース乱数は受信制御装置130に送信され(S413)、受信制御装置130は、送信されたベース乱数を受信する(S422)。
次に、マスク値テーブル共有処理(S312)に関して説明する。送信制御装置110のマスク値テーブル生成部114は、パケットIDに依存するデータであるマスク値をパケットIDごとに生成し(S414)、パケットIDをインデックスとして、このインデックスに対応する値をマスク値とするマスク値テーブルを生成し、マスク値テーブル記憶部119に格納する(S415)。
生成したマスク値テーブルは、受信制御装置130に送信され(S416)、受信制御装置140は、送信されたマスク値テーブルを受信し(S423)、受信時点までにマスク値テーブルが設定されていなければ、受信したマスク値テーブルをマスク値テーブル記憶部139に格納し、そうでなければ、受信したマスク値テーブルでマスク値テーブル記憶部139を更新する(S424)。
なお、マスク値自体は、パケットIDに依存するデータであれば、暗号処理に用いられる擬似乱数生成器等により生成されてもよい。また、マスク値テーブル更新(S424)のタイミングはエンジン起動時とし、車両実利用時の期間は、同じマスク値テーブルを使い続ける。また、ベース乱数の生成とマスク値テーブルの生成は、送信制御装置110と受信制御装置130の両方で行ってもよい。
(送信制御装置のパケット乱数送信)
図5を参照して、パケット乱数送信処理(S202)の例を説明する。この例では、複数のベース乱数がベース乱数記憶部118に格納され、各ベース乱数をインデックスにより指し示される。各ベース乱数は固定長のデータであってもよい。まず、ベース乱数記憶部118の中でベース乱数の使用箇所を指すインデックスであるベース乱数インデックスが初期化される。
送信制御装置110は、ベース乱数記憶部118の中のベース乱数インデックスが指し示す場所から、パケット乱数の長さ分だけのベース乱数を取得し、ベース乱数インデックスの値を1つのベース乱数の長さ分だけインクリメントする(S501)。そして、送信するパケットのIDを取得し(S502)、マスク値テーブル記憶部119に格納されたマスク値テーブルを参照し(S503)、取得したパケットIDに対応するマスク値を取得する(S504)。
パケット乱数生成部115は、取得したベース乱数と取得したマスク値の排他的論理和により、パケット乱数を生成する(S505)。通信パケット生成部112は、送信制御装置110の上で動作する図示を省略した制御アプリケーションから取得するデータに、生成したパケット乱数を付加し、通信パケットを生成する(S506)。通信部111は、通信パケット生成部112で生成した通信パケットを受信制御装置130へバス190を介して送信する(S507)。そして、ベース乱数の取得(S501)へ戻る。
なお、通信パケットの構成については、図8を用いて後で説明する。また、ベース乱数インデックスの値のインクリメントは、ベース乱数の取得時とベース乱数の取得時以外を含めて所定のタイミングであってもよい。この所定のタイミングは例えば10mSごとの予め設定された時間の間隔でもよいし、例えば0時0分0秒を起点に10mSごとの予め設定された時刻の間隔であってもよい。また、1回のベース乱数の取得(S501)に対して、予め設定された期間内は、パケットIDの取得(S502)から通信パケットの送信(S507)までを複数実行してもよい。
(受信制御装置のパケット乱数受信)
図6を参照して、パケット乱数受信処理(S203)を説明する。ベース乱数記憶部138の中でベース乱数の使用箇所を指すインデックスであるベース乱数インデックスの初期化を行う。受信制御装置130は、ベース乱数記憶部138の中のベース乱数インデックスが指し示す場所から、パケット乱数の長さ分だけのベース乱数を取得し、ベース乱数インデックスの値を前記乱数の長さ分だけインクリメントする(S601)。
通信部131は、通信バス190を介して通信パケットを受信し(S602)、パケット乱数を取得し、パケットIDを取得する(S603)。マスク値テーブル記憶部139に格納されたマスク値テーブルを参照し(S604)、取得したパケットIDに対応するマスク値を取得する(S605)。パケット乱数生成部132は、取得したベース乱数と取得したマスク値の排他的論理和により、パケット乱数を生成する(S606)。
通信パケット検証部132は、通信パケットから取得したパケット乱数と生成したパケット乱数が等しいか否かを判定して通信パケットを検証し(S607)、2つのパケット乱数が等しいと判定された場合(S608)、通信パケットは真正なものとして、図示を省略した記憶部に通信パケットのデータを格納する(S609)。2つのパケット乱数が等しくないと判定された場合(S608)、通信パケット検証部132は、受信した通信パケットを破棄する。そして、ベース乱数の取得(S601)へ戻る。
なお、ベース乱数インデックスの値のインクリメントは、ベース乱数の取得時とベース乱数の取得時以外を含めて所定のタイミングであってもよい。この所定のタイミングは例えば10mSごとの予め設定された時間の間隔でもよいし、例えば0時0分0秒を起点に10mSごとの予め設定された時刻の間隔であってもよい。送信制御装置110からの信号に基づいてもよい。このため、1回のベース乱数の取得(S601)に対して、パケット受信(S602)からパケットデータ格納(S609)までを複数実行してもよい。
次に、送信制御装置110と受信制御装置130との間で、どのような構成を持つ情報を処理または通信すれば、パケット乱数を用いた通信を行うことができるかを示すために、各種情報の構成を説明する。
(マスク値テーブルの構成)
図7を参照して、マスク値テーブル900の構成の例を説明する。マスク値テーブル900は、マスク値テーブル生成部114により生成され、マスク値テーブル記憶部119、139に格納される。マスク値テーブル900は、パケットID欄901とマスク値欄902から成る。この例では、パケットID欄901の「ID_1」とマスク値欄902の「MASK_ID1」とが対応する、すなわち紐づくことを表す。以下、マスク値テーブル900のパケットID欄901の「ID_2」と「ID_3」のそれぞれはマスク値欄902の「MASK_ID2」と「MASK_ID3」のそれぞれに紐づくテーブルである。
マスク値欄902の各マスク値は、マスク値テーブル生成部114が、鍵管理部117に格納された鍵情報とパケットID欄901のパケットIDを入力とする暗号処理の疑似乱数生成により生成されてもよい。マスク値欄902のマスク値は、パケットID欄901のパケットIDを使用した乱数とすることにより、パケットIDに依存する。なお、マスク値の生成はこのような処理に限定されるものではない。また、マスク値テーブル900の構成も図7に示した例に限定されるものではない。
(通信パケットの構成)
図8を参照して、通信パケット1000の構成の例を説明する。この通信パケット1000は、通信パケット生成部112により生成される通信パケットであり、例えば図3を用いて説明したパケット送信(S317)にて通信部111から通信バス190に送信され、パケット受信(S323)にて通信部131で受信される通信パケットである。
通信パケット1000は、ヘッダ情報1011、データ1012、パケット乱数1013、フッタ情報1015から成る。ヘッダ情報1011は、例えば車載ネットワークである通信バス190のCAN FDにおけるアービトレーションフィールドやコントロールフィールドを示すが、他の通信プロトコルにおいては、通信先、通信元、データ長等を示す情報を含むものであればよい。なお、ヘッダ情報はパケットIDを含んでもよい。
データ1012は、車両を制御するためのデータなどであり、受信制御装置130で真正なものと判定されれば使用される。パケット乱数1013はパケット乱数生成部113、133で生成される既に説明したパケット乱数であり、一定の長さの乱数であってもよい。また、パケット乱数1013は検証情報であるとみなしてもよい。フッタ情報1014は、例えば車載ネットワークである通信バス190のCAN FDにおける周期的冗長性チェックフィールドやアクノレッジフィールドを示す。
通信パケット1000を構成する情報は図8の例に限定されるものではなく、情報の順序も図8の例に限定されるものではなく、各情報の内容は図8を用いて説明した内容に限定されるものではない。
以上のように、排他的論理和という単純な演算により、パケットIDごとに異なる乱数の系列を生成することができる。
(複数の受信制御装置へのパケット乱数送信)
図9を参照して、複数の受信制御装置130へのパケット乱数送信処理の例を説明する。図9は、1つの送信制御装置110から、パケットIDが「ID_1」の通信パケット1104を受信制御装置130に送信し、パケットIDが「ID_2」の通信パケット1105を受信制御装置140に送信する例を示す図である。
送信制御装置110は、受信制御装置130と受信制御装置140のそれぞれへ通信パケット1104と通信パケット1105を送信するために、ベース乱数記憶部118の中のベース乱数インデックスで指定された箇所から、パケット乱数と同じ長さのベース乱数1101−1の値「IV_ID1」を取得する。また、マスク値テーブル記憶部119を参照し、パケットIDが「ID_1」に対応するマスク値1102−1の値「MASK_ID1」と、パケットIDが「ID_2」に対応するマスク値1103−1の値「MASK_ID2」を取得する。
次に、値「IV_ID1」と値「MASK_ID1」を排他的論理和して乱数「r1」を算出し、パケットIDの「ID_1」と乱数「r1」を含む通信パケット1104を生成し、受信制御装置130へ送信する。また、値「IV_ID2」と値「MASK_ID2」を排他的論理和して乱数「r2」を算出し、パケットIDの「ID_2」と乱数「r2」を含む通信パケット1105を生成し、受信制御装置140へ送信する。
受信制御装置130は、受信した通信パケット1104から乱数「r1」を取得する。ベース乱数記憶部138の中のベース乱数インデックスで指定された箇所から、パケット乱数と同じ長さのベース乱数1101−2の値「IV_ID1」を取得し、マスク値テーブル記憶部139を参照し、パケットIDが「ID1」に対応するマスク値1102−2の値「MASK_ID1」を取得する。
次に、値「IV_ID1」と値「MASK_ID1」を排他的論理和して乱数「r1」を算出し、通信パケット1104から取得した乱数「r1」と比較する。この例では、ベース乱数1101−1とベース乱数1101−2の値が「IV_ID1」で等しく、マスク値1102−1とマスク値1102−2の値が「MASK_ID1」で等しいため、乱数「r1」も等しく、比較の結果は等しいと判定される。このように等しいと判定されると、通信パケット1104は真正なものであると検証されたことになる。
受信制御装置140は、受信した通信パケット1105から乱数「r2」を取得する。ベース乱数記憶部148の中のベース乱数インデックスで指定された箇所から、パケット乱数と同じ長さのベース乱数1101−3の値「IV_ID1」を取得し、マスク値テーブルを参照し、パケットIDが「ID2」に対応するマスク値1103−3の値「MASK_ID2」を取得する。
次に、値「IV_ID1」と値「MASK_ID2」を排他的論理和して乱数「r2」を算出し、通信パケット1104から取得した乱数「r2」と比較する。この例では、ベース乱数1101−1とベース乱数1101−3の値が「IV_ID1」で等しく、マスク値1103−1とマスク値1103−3の値が「MASK_ID2」で等しいため、乱数「r2」も等しく、比較の結果は等しいと判定される。このように等しいと判定されると、通信パケット1105は真正なものであると検証されたことになる。
なお、パケット1104とパケット1105に含まれるデータは同じであっても、異なっていてもよい。
以上で説明したように、1つの送信制御装置から複数の異なる受信制御装置へパケットを送信する場合であっても、複数の異なる受信制御装置それぞれに使用するパケットIDごとに排他的論理和という単純な演算により、乱数を生成できる。このため、車載システムのような低コストの制御装置であっても、車両制御への悪影響を与えることなく、車載システムのセキュリティを確保できる。
特に車載システムのように同じ周期、例えば10mS間隔で制御情報がそろって送信されることの多いシステムでは、共通のベース乱数を多く利用することができるため、制御装置の計算リソースの節約度が高い。
また、同じ周期で多くのパケットが送信されるシステムへ適用する方が、乱数生成のための計算リソースの節約度が高いため、好ましい。
1つの系列のベース乱数は例えば1MBであるため、複数の系列のベース乱数が格納され、セキュリティ向上のために定期的に更新されると、車載システムとしては更新コストの高いものとなるが、ベース乱数記憶部118、138、148は1つの系列のベース乱数が格納されるだけであるので、ベース乱数の更新コストを低くできる。また、ベース乱数記憶部118、138、148の記憶容量も小さくなるため、小容量のメモリ15を採用できる。
(同期補正を行う通信保護システム)
実施例1で説明した構成では、ベース乱数の使用箇所を指すインデックスであるベース乱数インデックスが、送信制御装置110と受信制御装置130の両方で一致している必要がある。通信エラー等により、両方のベース乱数インデックスが一致しなくなった状態(同期ずれ状態)が生じる可能性もある。
実施例2では、同期ずれ状態が生じたときに、送信制御装置110が同期を補正するための情報を送信し、元の同期が取れた状態、即ち、ベース乱数インデックスが送信制御装置110と受信制御装置130で一致する状態に補正する例を説明する。図2を用いて説明したハードウェア構成、図3〜8を用いて説明した秘匿共有処理(S201)、パケット乱数送信処理(S202)、パケット乱数受信処理(S203)などについて、実施例2は実施例1と同じであるので説明を省略し、実施例2で差分となる構成についいて説明する。
図10を参照して、同期補正を含む車載システム100の構成の例を説明する。送信制御装置110は、同期補正情報生成部116を備え、同期補正情報を生成する。また、受信制御装置130は、同期補正部136を備え、送信制御装置110から受信した同期補正情報を基に、パケット乱数に関する同期補正を行う。
次に図11を参照して、送信制御装置110と受信制御装置130の間の同期処理を含む通信処理の全体概要の例について説明する。秘匿共有処理(S201)、パケット乱数送信処理(S202)、パケット乱数受信処理(S203)は図3を用いて既に説明したとおりである。同期補正時には、送信側同期処理(S204)として、送信制御装置110は、同期補正情報を生成し(S318)、生成した同期補正情報を送信する(S319)。
これに対して、受信制御装置130は、受信側同期処理(S205)として、送信制御装置110から同期補正情報を受信し(S327)、受信した同期補正情報に基づき同期補正する(S328)。送信側同期処理(S204)と受信側同期処理(S205)について、それぞれ図12と図13を用いてさらに説明する。
図11の例では、同期補正時の後にエンジン起動時へ戻っているが、実利用時へ戻ってもよい。また、予め設定された回数あるいは時間だけ実利用時が経過すると同期補正時へ移ってもよい。また、図示を省略した複数の受信制御装置へ送信制御装置110は1つの同期補正情報を送信してもよい。
(送信側同期処理)
図12を参照し、送信側同期処理(S204)の例を説明する。送信側同期処理(S204)は、同期補正時に送信制御装置110によって行われる。まず、送信制御装置110の同期補正情報生成部116は、ベース乱数インデックスを取得し(S711)、取得したベース乱数インデックスを適切な量だけインクリメントした値を、同期補正後のベース乱数インデックスとして、同期補正後のベース乱数インデックスを同期補正情報として格納した通信パケットを生成する(S712)。
ここで、インクリメントする適切な量とは、例えば送信制御装置110が既に消費した乱数の量であってもよいし、この既に消費した乱数の量と取得したベース乱数インテックスの値との差分であってもよいし、予め設定された値であってもよい。制御装置110の通信部111は、生成した通信パケットを通信バス190経由で制御装置130へ送信する(S713)。
(受信側同期処理)
図13を参照して、受信側同期処理(S205)の例を説明する。受信側同期処理(S205)は、同期補正時に受信制御装置130によって行われる。受信制御装置130の通信部131は、通信バス190を介して、送信制御装置110が送信した同期補正情報を格納した通信パケットを受信する(S811)。同期補正部136は、受信した通信パケットから同期補正情報を取得し(S812)、取得した同期補正情報を同期補正後のベース乱数インデックスとして設定することにより、同期補正を行う(S813)。
以上で説明したように、送信制御装置110と受信制御装置130との間で通信エラーや真正でない通信パケット等により、両方のベース乱数インデックスが一致しなくなった同期ずれ情報が生じても、同期補正情報により、両方のベース乱数インデックスを一致させることができる。そして、送信制御装置110と受信制御装置130の通信を継続できる。
なお、本発明は、上述した実施例に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。そのような場合においてもシステム全体において行う処理に本質的な変化はない。
11…通信装置、12…入出力装置、14…CPU、15…メモリ、100…車載システム、110…送信制御装置、111…通信部、112…通信パケット生成部、113…パケット乱数送信制御部、114…マスク値テーブル記憶部、115…ベース乱数生成部、116…同期補正情報生成部、117…鍵管理部、118…ベース乱数記憶部、119…マスク値テーブル記憶部、130…受信制御装置、131…通信部、132…通信パケット検証部、133…パケット乱数生成部、135…ベース乱数生成部、136…同期補正部、137…鍵管理部、138…ベース乱数記憶部、139…マスク値テーブル記憶部、140…受信制御装置

Claims (6)

  1. 複数の制御装置を通信可能に接続する車載システムであって、
    前記複数の制御装置の中の第1の制御装置は、
    複数のベース乱数を格納する第1のベース乱数記憶部と、
    パケット識別子に紐づくマスク値を、パケット識別子に対応させてマスク値テーブルとして格納する第1のマスク値記憶部と、
    前記第1のベース乱数記憶部のベース乱数の格納場所を示す第1のインデックスを用いて、前記第1のベース乱数記憶部からパケット乱数の長さ分だけのベース乱数を取得し、送信するパケットの識別子から前記第1のマスク値記憶部に格納されたマスク値を取得し、取得したベース乱数とマスク値の排他的論理和によりパケット乱数を生成する第1のパケット乱数生成部と、
    通信するデータに前記第1のパケット乱数生成部により生成されたパケット乱数を付加した通信パケットを送信する第1の通信部と、を有し、
    前記複数の制御装置の中の第2の制御装置は、
    前記第1のベース乱数記憶部と同一のベース乱数を格納する第2のベース乱数記憶部と、
    前記第1のマスク値記憶部と同一のマスク値テーブルを格納する第2のマスク値記憶部と、
    前記第1の通信部から通信パケットを受信する第2の通信部と、
    前記第2の通信部により受信した通信パケットからパケット乱数とパケット識別子を取得し、取得したパケット識別子と前記第2のマスク値記憶部に格納されたマスク値に基づいて、パケットの識別子に対応するマスク値を取得し、前記第1のインデックスと同一の第2のインデックスを用いて、前記第2のベース乱数記憶部からパケット乱数の長さ分だけのベース乱数を取得し、取得したベース乱数とマスク値の排他的論理和によりパケット乱数を生成する第2のパケット乱数生成部と、
    前記第2のパケット乱数生成部によって生成されたパケット乱数と前記第2の通信部より受信されたパケット乱数とにより通信パケットの検証を行う通信パケット検証部とを有することを特徴とする車載システム。
  2. 前記第1の制御装置は、複数のベース乱数を生成するベース乱数生成部と、パケット識別子毎にパケット識別子に紐づくマスク値を生成するマスク値生成部とを有し、
    前記第1の通信部は、
    車両のエンジン起動時に、前記ベース乱数生成部の生成したベース乱数と前記マスク値生成部の生成したマスク値を前記第2の制御装置へ送信し、
    前記第2の通信部は、
    前記ベース乱数生成部の生成したベース乱数と前記マスク値生成部の生成したマスク値を前記第1の制御装置から受信し、
    前記第2のベース乱数記憶部は、前記第2の通信部が受信したベース乱数が格納される
    前記第2のマスク値記憶部は、前記第2の通信部が受信したマスク値が格納されることを特徴とする請求項に記載の車載システム。
  3. 前記第1の制御装置は、
    前記第1のベース乱数記憶部に格納された複数のベース乱数の取得位置を特定するベース乱数インデックスに基づき同期情報を生成する同期情報生成部をさらに備え、
    前記第1の通信部は、
    前記生成された同期情報を前記第2の制御装置へ送信し、
    前記第2の通信部は、
    前記生成された同期情報を前記第1の制御装置から受信し、
    前記第2の制御装置は、
    前記第2のベース乱数記憶部に格納された複数のベース乱数の取得位置を特定するベース乱数インデックスを前記第2の通信部が受信した同期情報に基づき同期する同期部を備えたことを特徴とする請求項に記載の車載システム。
  4. 第1の制御装置が第2の制御装置へ制御情報を送信する車載システムの制御方法であって、
    前記第1の制御装置は、
    第1のCPUと、
    複数のベース乱数と、パケットの複数の識別子それぞれに紐づけてマスク値を格納する第1のメモリを備え、
    前記第1のCPUは、
    前記第1のメモリのベース乱数の格納場所を示す第1のインデックスを用いて、前記第1のメモリからパケット乱数の長さ分だけのベース乱数を取得し、送信するパケットの識別子から前記第1のメモリに格納されたマスク値に基づいて、送信するパケットの識別子に対応するマスク値を取得し、取得したベース乱数とマスク値の排他的論理和により第1のパケット乱数を生成し、
    通信するデータに前記第1のパケット乱数を付加した通信パケットを前記第2の制御装置に送信し、
    前記第2の制御装置は、
    第2のCPUと、
    前記第1のメモリと同一の複数のベース乱数と、前記第1のメモリと同一のパケットの複数の識別子それぞれに紐づけてマスク値を格納する第2のメモリを備え、
    前記第2のCPUは、
    前記第1の制御装置から受信した通信パケットからパケット乱数とパケット識別子を取得し、取得したパケット識別子に基づいて前記第2のメモリに格納されたパケット識別子に対応するマスク値を取得し、前記第1のインデックスと同一の第2のインデックスを用いて、前記第2のメモリからパケット乱数の長さ分だけのベース乱数を取得し、取得したベース乱数とマスク値の排他的論理和により第2のパケット乱数を生成し、
    前記第2のパケット乱数と前記第1のパケット乱数とにより通信パケットの検証を行うことを特徴とする車載システムの制御方法。
  5. 前記第1の制御装置は、複数のベース乱数を生成するベース乱数生成部と、パケット識別子毎にパケット識別子に紐づくマスク値を生成するマスク値生成部とを有し、
    車両のエンジン起動時に、前記ベース乱数生成部の生成したベース乱数と前記マスク値生成部の生成したマスク値を前記第2の制御装置へ送信し、
    前記第2の制御装置は、
    前記ベース乱数生成部の生成したベース乱数と前記マスク値生成部の生成したマスク値を前記第1の制御装置から受信する第2の通信部を有し、
    前記第2のメモリは、前記第2の通信部が受信したベース乱数が格納され、
    前記第2のメモリは、前記第2の通信部が受信したマスク値が格納されることを特徴とする請求項4に記載の車載システムの制御方法。
  6. 前記第1の制御装置は、
    前記第1のメモリに格納された複数のベース乱数の取得位置を特定するベース乱数インデックスに基づき同期情報を生成し、
    前記生成された同期情報を前記第2の制御装置へ送信し、
    前記第2の制御装置は、
    前記生成された同期情報を前記第1の制御装置から受信し、
    前記第2のメモリに格納された複数のベース乱数の取得位置を特定するベース乱数インデックスを前記第2の通信部が受信した同期情報に基づき同期することを特徴とする請求項5に記載の車載システムの制御方法。
JP2015139116A 2015-07-10 2015-07-10 車載システム、その制御装置および制御方法 Active JP6454614B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015139116A JP6454614B2 (ja) 2015-07-10 2015-07-10 車載システム、その制御装置および制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015139116A JP6454614B2 (ja) 2015-07-10 2015-07-10 車載システム、その制御装置および制御方法

Publications (2)

Publication Number Publication Date
JP2017021219A JP2017021219A (ja) 2017-01-26
JP6454614B2 true JP6454614B2 (ja) 2019-01-16

Family

ID=57888092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015139116A Active JP6454614B2 (ja) 2015-07-10 2015-07-10 車載システム、その制御装置および制御方法

Country Status (1)

Country Link
JP (1) JP6454614B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7201559B2 (ja) * 2019-09-17 2023-01-10 本田技研工業株式会社 車載通信中継装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MXPA03009056A (es) * 2001-04-03 2004-02-12 Mitsubishi Electric Corp Aparato de encriptacion.
JP2003008593A (ja) * 2001-06-21 2003-01-10 Sharp Corp 擬似乱数発生器、通信装置、ネットワークシステムおよび擬似乱数発生方法
JP2003283489A (ja) * 2002-03-20 2003-10-03 Hitachi Ltd パケット認証システムおよび認証方法、ならびにグループ管理サーバとグループメンバー装置
WO2008035450A1 (fr) * 2006-09-20 2008-03-27 Secured Communications, Inc. Authentification par un identifiant ponctuel
JP6420176B2 (ja) * 2015-02-26 2018-11-07 ルネサスエレクトロニクス株式会社 通信システムおよび通信装置

Also Published As

Publication number Publication date
JP2017021219A (ja) 2017-01-26

Similar Documents

Publication Publication Date Title
US11606341B2 (en) Apparatus for use in a can system
CN110073634B (zh) 数据转换***及方法
Hazem et al. Lcap-a lightweight can authentication protocol for securing in-vehicle networks
JP7008725B2 (ja) カウンタベースの暗号システムにおける改良型認証付き暗号化のための方法及びシステム
US9252945B2 (en) Method for recognizing a manipulation of a sensor and/or sensor data of the sensor
CN110505193B (zh) 车辆抗随机数滥用认证加密
US5297208A (en) Secure file transfer system and method
US10461938B2 (en) Method for manipulation protection
WO2013065689A1 (ja) 通信システムにおけるメッセージ認証方法および通信システム
CN112910650B (zh) 经认证加密和解密的方法和***
WO2017167771A1 (en) Handshake protocols for identity-based key material and certificates
US11552781B2 (en) Using error detection bits for cryptographic integrity and authentication
US10581811B2 (en) Method and system for asymmetric key derivation
US10313131B2 (en) Secured daisy chain communication
US10686587B2 (en) Method for safeguarding the information security of data transmitted via a data bus and data bus system
JP6454614B2 (ja) 車載システム、その制御装置および制御方法
CN107534552B (zh) 在服务器设备、客户端设备处执行的方法及服务器设备
GB2459735A (en) Hybrid asymmetric / symmetric encryption scheme which obviates padding
CN112152790A (zh) 一种数据加密方法、解密方法、加密装置和解密装置
EP3337087A1 (en) Method for synchronized signature with additive rsa key splitting using early floating exponent negotiation
RU2481715C1 (ru) Способ блочного шифрования сообщений и передачи шифрованных данных с закрытым ключом
CN110620648A (zh) 用于处理数据的方法和设备
JP2022545696A (ja) ネットワーク内の複数のエンティティ間の対称鍵生成、認証および通信
JP2017169017A (ja) 車両用通信網装置及び通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181017

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181217

R150 Certificate of patent or registration of utility model

Ref document number: 6454614

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250