(58)【調査した分野】(Int.Cl.,DB名)
請求項1から請求項3のいずれかに記載のプロファイル作成システムにより作成された前記第1プロファイルの経時変化に基づいて、前記車両の運転動作の変化を検出する検出部を備える検出装置。
請求項4に記載のプロファイル作成システムにより作成された前記第1プロファイルの経時変化、及び前記第2プロファイルの経時変化に基づいて、前記車両の運転動作の変化を検出する検出部を備える検出装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、前述の提案技術によっても、攻撃者の不正な侵入を完全に防ぐことは難しく、車両が実際にハイジャックされたことを検知する手段が望まれている。
車両を人が運転している場合、運転者によりステアリング、アクセル、ブレーキ等の操作方法にばらつきがあるため、これらの運転動作の分析により、運転者を識別できることが知られている(例えば、非特許文献3参照)。このため、車両毎の通常のプロファイルからの差分により、運転者が異なることが検知可能である。
ところが、車両がコンピュータ制御により自動運転されている場合、最適化された運転動作は、車両毎に共通化されるため、攻撃者により模倣されるおそれがある。この結果、自動運転車両がハイジャックされたことを検知することが難しくなる。
【0005】
本発明は、自動運転される車両毎に異なる運転動作のプロファイルを作成できるプロファイル作成システム、プロファイル作成方法及びプロファイル作成プログラム、並びに攻撃を検出できる検出装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係るプロファイル作成システムは、車両の運転動作を制御するアクチュエータへの入力信号を、ランダム値を含む演算により変換する第1変換部と、センサ情報に基づいて前記車両の状態遷移を観測し、前記車両それぞれの運転動作の特徴を示す第1プロファイルを生成する生成部と、を備える。
【0007】
前記第1変換部は、前記演算により得られた信号値を、所定の範囲内に補正してもよい。
【0008】
前記第1変換部は、前記ランダム値を定期的に更新してもよい。
【0009】
前記プロファイル作成システムは、前記センサ情報に対して、前記演算の逆変換を行う第2変換部を備え、前記生成部は、前記第2変換部による変換後の情報に基づいて前記車両の状態遷移を観測し、第2プロファイルを生成してもよい。
【0010】
本発明に係る検出装置は、前記プロファイル作成システムにより作成された前記第1プロファイルの経時変化に基づいて、前記車両の運転動作の変化を検出する検出部を備える。
【0011】
本発明に係る検出装置は、前記プロファイル作成システムにより作成された前記第1プロファイルの経時変化、及び前記第2プロファイルの経時変化に基づいて、前記車両の運転動作の変化を検出する。
【0012】
本発明に係るプロファイル作成方法は、車両の運転動作を制御するアクチュエータへの入力信号を、ランダム値を含む演算により変換する第1変換ステップと、センサ情報に基づいて前記車両の状態遷移を観測し、前記車両それぞれの運転動作の特徴を示す第1プロファイルを生成する生成ステップと、をコンピュータが実行する。
【0013】
本発明に係るプロファイル作成プログラムは、車両の運転動作を制御するアクチュエータへの入力信号を、ランダム値を含む演算により変換する第1変換ステップと、センサ情報に基づいて前記車両の状態遷移を観測し、前記車両それぞれの運転動作の特徴を示す第1プロファイルを生成する生成ステップと、をコンピュータに実行させるためのものである。
【発明の効果】
【0014】
本発明によれば、自動運転される車両への攻撃を検出するために、車両毎に異なる運転動作のプロファイルを作成できる。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態の一例について説明する。
図1は、本実施形態に係る検出システム1の構成を示す図である。
検出システム1は、通信ネットワークに接続された車両2と、監視装置3とを備える。車両2及び監視装置3は、プロファイル作成システムとして機能し、監視装置3は、攻撃の検出装置として機能する。
なお、検出システム1における各機能部の配置は限定されず、監視装置3は、車両2に内蔵されてもよい。
【0017】
車両2は、運転動作に関する各種アクチュエータを制御するコントローラ20を備える。
コントローラ20は、車両に設けられた各種のセンサからの出力に基づいて、アクチュエータへの入力信号を生成する。コントローラ20は、コンピュータプログラムに基づく標準制御モデル21を有し、さらに、標準制御モデル21の出力を変換する変換部22(第1変換部)を備える。この変換部22の出力がアクチュエータへの実際の入力信号となる。
【0018】
変換部22は、車両2の運転動作を制御するアクチュエータへの入力信号を、ランダム値を含む演算により変換する。
具体的には、変換部22の演算は、ランダム値RF∈R
n(R
nは実数体)を引数とする関数T()により表されるものとする。
これにより、標準制御モデル21の出力は、同じ運転動作であっても、ある範囲のばらつきをもった出力に変換される。
【0019】
また、変換部22は、演算により得られた信号値を、所定の範囲内に補正する。これにより、コントローラ20は、アクチュエータへの入力を車両毎に変化させると共に、運転動作として安全な範囲内に収める。
【0020】
ここで、ランダム値RFは、車両又はアクチュエータ(モジュール)毎に異なる。この結果、車両毎に運転動作の特徴が異なり、それぞれの識別が可能となる。
また、ランダム値RFは、例えば擬似ランダム関数等により生成され、さらに、セキュリティ上、定期的に更新されることが望ましい。
【0021】
監視装置3は、車両2と通信可能なサーバ、又は車両2に搭載される情報処理装置であり、センサ情報データベース(DB)31と、プロファイルデータベース32と、逆変換部33(第2変換部)と、生成部34と、検出部35とを備える。
【0022】
センサ情報データベース31は、車両2から取得する各種のセンサ情報を蓄積する。
プロファイルデータベース32は、センサ情報に基づいて生成部34により生成される車両毎のプロファイルを格納する。
【0023】
逆変換部33は、センサ情報に対して、変換部22による演算の逆変換、すなわち関数T()の逆関数T’()による演算を行う。これにより、変換前の標準制御モデル21の出力による状態遷移が再現される。
【0024】
生成部34は、センサ情報に基づいて車両2の状態遷移を観測し、車両2それぞれの運転動作の特徴を示す第1プロファイルを生成して、プロファイルデータベース32に格納する。
また、生成部34は、逆変換部33による変換後の情報に基づいて車両2の状態遷移を観測し、第2プロファイルを生成して、プロファイルデータベース32に格納する。
【0025】
検出部35は、第1プロファイルの経時変化に基づいて、車両2の運転動作の変化を検出する。すなわち、検出部35は、攻撃を受けていない定常状態に生成された第1プロファイルと、新たに生成された第1プロファイルとを比較することにより、所定以上の変化が認められた場合に、運転者が異なることを検出する。
【0026】
また、検出部35は、第2プロファイルの経時変化に基づいて、車両2の運転動作の変化を検出する。すなわち、検出部35は、攻撃を受けていない定常状態に生成された第2プロファイルと、新たに生成された第2プロファイルとを比較することにより、所定以上の変化が認められた場合に、運転者が異なることを検出する。
【0027】
次に、検出システム1によるプロファイル作成及び攻撃検出の処理内容を詳述する。
[制御モデル]
まず、コントローラ20による車両2の制御モデルを以下のように定義する。
【0028】
センサ出力の集合をSとしたとき、i番目のアクチュエータ(モジュール)への入力を決定するためのセンサ出力は、部分集合S
i⊆Sとなる。ここで、時刻tにおけるセンサ出力を、S
itと表す。
【0029】
アクチュエータへの入力信号として取り得る値の集合をAとしたとき、i番目のアクチュエータへ入力可能な信号の値は、部分集合A
i⊆Aと表される。ここで、時刻tにおけるアクチュエータへの入力を、A
itと表す。
【0030】
車両2の運転者をDとする。運転者Dは、人又は機械が想定されるが、本実施形態では、自動運転のための標準制御モデル21が相当する。
【0031】
i番目のアクチュエータが可能な動作の集合をAction
iとすると、各動作は、要素action
i∈Action
iと表される。ここで、時刻tにおけるi番目のアクチュエータの動作を、action
it∈Action
iと表す。
【0032】
i番目のアクチュエータの取り得る状態の集合をState
iとすると、観測される状態は、要素state
i∈State
iと表される。ここで、時刻tにおけるi番目のアクチュエータの状態を、state
it∈State
iと表す。
【0033】
標準制御モデル21において、アクチュエータへの入力を算出する処理を、関数C
1()で表す。関数C
1()は、時刻tにおけるセンサ出力S
it、アクチュエータの状態state
it、及び動作action
itを引数とし、時刻tにおけるi番目のアクチュエータへの入力として、C
1(S
it,state
it,action
it)=A
itを出力する。
【0034】
車両2において、アクチュエータへの入力から動作への変換を、関数C
2()で表す。関数C
2()は、時刻tにおけるアクチュエータへの入力A
itを引数とし、時刻tでの状態state
itを時刻t
2での状態state
it2に変化させる動作C
2(A
it)=action
itを出力する。
【0035】
アクチュエータの動作∀action
i∈Action
iのそれぞれ対して、車両2の安全が確保される入力a∈A
iの範囲は、a∈Safe
action(i)として定義される。すなわち、関数C
2()の入力として、a∈Safe
action(i)が安全上、許容される。
【0036】
変換部22によりA
itから変換され、実際にアクチュエータに入力される信号は、R
itと定義される。
ここで、変換処理は、A
it及びランダム値RF∈R
nを引数とする関数T(A
it,RF)=R
itで表されるものとする。
また、T()の逆関数を、T’(R
it,RF)=A
itとする。なお、引数となるランダム値RFは、T()及びT’()で共通である。
【0037】
時間T={t
0,t
1,・・・,t
n}におけるi番目のアクチュエータの動作action
iに伴う状態遷移を、L
action(i)T={state
it0,・・・,state
itn}とする。
また、同一の運転者Dによる状態遷移L
action(i)Tの集合を、L
action(i)Dと表す。
【0038】
同一の運転者Dによる状態遷移に基づいてプロファイルを生成する処理は、関数P()で表されるものとする。すなわち、i番目のアクチュエータに対して運転動作action
iを行う運転者Dのプロファイルは、P(L
action(i)D)=profile
action(i)Dである。
【0039】
[プロファイル作成]
このように定義される制御モデルによって、各車両2のプロファイルは、次のように生成される。
【0040】
標準制御モデル21の関数C
1()により生成されるアクチュエータへの一連の入力Seq
action(i)state(i)={A
it1,A
it2,・・・,A
itn}は、関数C
2()によって、時刻t
nにおけるアクチュエータの動作action
i及び状態state
iとなって表れる。
また、変換部22によりアクチュエータへの一連の入力がランダム値RFを用いた関数T()で変換されると、TSeq
action(i)state(i)={R
it1,R
it2,・・・,R
itn}となる。
【0041】
変換前の標準的なアクチュエータ入力Seq
action(i)state(i)は、状態遷移L
action(i)Tを生じさせるが、変換後のアクチュエータ入力TSeq
action(i)state(i)は、状態遷移TL
action(i)Tを生じさせる。ここで、L
action(i)T≠TL
action(i)Tである。
【0042】
変換前の標準制御モデル21に基づく運転者Dによる、action
iを行ったアクチュエータの状態遷移は、L
action(i)Dであり、変換された運転者D
Rによるアクチュエータの状態遷移は、L
action(i)D(R)と表される。
このとき、運転者D
Rのプロファイル(第1プロファイル)P(L
action(i)D(R))は、標準の運転者DのプロファイルP(L
action(i)D)とは、異なっている。
【0043】
図2は、本実施形態に係る車両2毎に異なるプロファイルの一例を示す図である。
この例では、車両2が交差点で右折する際のライン取りの相違を示している。
例えば、車両2がBからEの方向へ走行しているとする。交差点に差し掛かった車両2は、右折し、HからCの方向へ進路を変えている。
【0044】
このとき、安全に右折するための動作領域Safe
action(i)が設定される。この領域内で車両2が取り得る旋回経路は、例えばV
1、V
2、V
3のように複数考えられる。これらの挙動の相違は、変換部22によるランダム値RFに基づくアクチュエータへの入力の変化によって生じる。
【0045】
車両2の挙動の相違は、この例の他、運転動作の各種場面において、例えば、ステアリングの回転角度及び速度、ブレーキ及びアクセルの押力等、各種のアクチュエータへの入力が車両2毎に決定されたランダム値RFによってばらつくことで生じる。
【0046】
[攻撃検出]
図3は、本実施形態に係る監視装置3による攻撃の検出方法の流れを示す図である。
センサ情報データベース31には、車両2から送信されるセンサデータが蓄積されているものとする。また、プロファイルデータベース32には、センサ情報に基づいて生成部34により生成された車両2毎のプロファイルが格納されている。
このとき、車両2毎に異なるランダム値RFにより変換された運転の特徴を示す第1プロファイルと共に、逆変換部33により復元された標準制御モデル21の特徴を示す第2プロファイルが格納されてよい。
【0047】
ステップS1において、検出部35は、最新のセンサ情報をセンサ情報データベース31から抽出する。
このステップは、周期的に、又は特定の条件による所定のタイミングで実行される。
【0048】
ステップS2において、検出部35は、運転動作の解析を行う。
検出部は、プロファイルデータベース32に格納されているプロファイルと、最新のセンサ情報に基づいて生成されたプロファイルとを比較することにより、運転者の一致又は不一致を判断する。
ここで、プロファイルが一致する場合、検出部35は、ステップS3において、所定の周期又は条件を判断して次回の解析タイミングを検知し、ステップS1に移る。
【0049】
図4は、本実施形態に係る監視装置3によるプロファイルの比較処理を説明する図である。
センサ情報データベース31に格納されたセンサ情報に基づいて、生成部34により第1プロファイルが生成されると、検出部35は、プロファイルデータベース32に格納されている第1プロファイルと比較し、一致又は不一致を判断する。
【0050】
また、センサ情報データベース31に格納されたセンサ情報に対して、逆関数T’()が定義可能である場合、逆変換部33は、センサ情報を本来の標準制御モデル21に基づく値に復元する。この逆変換後のセンサ情報に基づいて、生成部34により第2プロファイルが生成されると、検出部35は、プロファイルデータベース32に格納されている第2プロファイルと比較し、一致又は不一致を判断する。
【0051】
ステップS4において、検出部35は、ステップS2におけるプロファイルの不一致が自動運転から手動運転への切り替わりに起因するものか否かを判定する。
具体的には、人が運転している場合の特徴を示すプロファイルが予め作成されている場合、検出部35は、このプロファイルとの比較により、リモートのハイジャック攻撃であるか否かを判定する。
【0052】
ステップS5において、検出部35は、運転者の移行が安全に行われたか否かを判定する。自動運転から正当な運転者による手動運転へ移行する場合、車両2の状態が安全な所定の範囲内で遷移すると考えられる。これに対して、不正な攻撃者による手動又は自動運転に移行する場合、車両2の状態がこの範囲外に遷移する可能性が高い。これにより、検出部35は、攻撃の可能性を検出できる。
なお、この判定は、プロファイルの不一致がある場合に限らず、実施されてもよい。
【0053】
ステップS6において、検出部35は、ステップS2、S4、S5の結果を統合し、攻撃の発生をアラーム出力する。
【0054】
本実施形態によれば、検出システム1は、標準制御モデル21からの出力を、ランダム値RFを含む演算により変換することにより、車両2の運転動作を制御するアクチュエータへの入力信号を、車両2毎に相違させる。これにより、検出システム1は、標準制御モデル21が共通する複数の自動運転される車両2への攻撃を検出するために、車両2毎に異なる運転動作のプロファイルを作成できる。
【0055】
検出システム1は、変換部して得られた信号値を、所定の範囲内で補正することにより、車両2の安全な挙動を確保しつつ、車両2毎に異なるプロファイルを作成できる。
【0056】
検出システム1は、センサ情報を逆変換することで、変換前の標準制御モデル21による制御に相当する運転動作の第2プロファイルを作成でき、第1プロファイルと共に、攻撃検出のための比較対象として利用できる。
【0057】
検出システム1は、ランダム値を定期的に更新することにより、攻撃者による模倣を難しくでき、攻撃に対して安全性をさらに高めることができる。
【0058】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【0059】
本実施形態では、逆変換部33は、車両2から取得されるセンサ情報に対して、逆変換である関数T’()の演算を行ったが、アクチュエータへの入力信号そのものを取得できる場合、この入力信号に対して演算を行うことにより、標準制御モデル21の出力をより正確に復元してもよい。
【0060】
検出システム1によるプロファイル作成及び攻撃検出方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。