(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024151636
(43)【公開日】2024-10-25
(54)【発明の名称】電子制御装置、認証方法、及び認証プログラム
(51)【国際特許分類】
G06F 21/44 20130101AFI20241018BHJP
【FI】
G06F21/44
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023065145
(22)【出願日】2023-04-12
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】230120499
【弁護士】
【氏名又は名称】藤江 和典
(74)【代理人】
【識別番号】100201385
【弁理士】
【氏名又は名称】中安 桂子
(72)【発明者】
【氏名】矢加部 英揮
(57)【要約】 (修正有)
【課題】グリッチ攻撃を受けた場合であっても、正常に認証処理を実行する電子制御装置、電子制御システム、認証方法及びプログラムを提供する。
【解決手段】電子制御装置100は、要求取得部、タイミング決定部及び認証部を備える。要求取得部は、他の装置から認証要求を取得する。タイミング決定部は、認証要求部が認証要求を取得した場合に、認証要求に対する認証処理を行うタイミングをランダムに決定する。認証部は、タイミング決定部が決定したタイミングで認証処理を行う。
【選択図】
図2
【特許請求の範囲】
【請求項1】
他の装置(10)から認証要求を取得する要求取得部(101)と、
前記認証要求を取得した場合に、前記認証要求に対する認証処理を行うタイミングをランダムに決定するタイミング決定部(102)と、
前記タイミング決定部が決定した前記タイミングで前記認証処理を行う認証部(103)と、
を備える、電子制御装置(100)。
【請求項2】
前記タイミング決定部は、前記認証要求を取得してから前記認証処理を行うまでの期間を、前記タイミングとして決定する、
請求項1記載の電子制御装置。
【請求項3】
前記タイミング決定部は、前記認証処理を行う基準となる基準タイミングと、前記認証処理を行うタイミングとの差分である期間を、前記タイミングとして決定する、
請求項1記載の電子制御装置。
【請求項4】
前記認証部は、チャレンジレスポンス方式を用いて前記認証処理を行うものであり、
前記タイミング決定部は、前記他の装置にチャレンジ情報を送信してから前記認証処理を行うまでの期間を、前記タイミングとして決定する、
請求項1記載の電子制御装置。
【請求項5】
前記要求取得部はさらに、前記認証要求である第1の認証要求とは異なる第2の認証要求を取得し、
前記認証部は、前記第2の認証要求に対する認証処理を直ちに行う、
請求項1記載の電子制御装置。
【請求項6】
前記第1の認証要求は、所定のメッセージに対する認証要求であり、
前記第2の認証要求は、前記所定のメッセージとは異なるメッセージに対する認証要求である、
請求項5記載の電子制御装置。
【請求項7】
前記所定のメッセージは、所定の閾値よりも重要度が高いメッセージである、
請求項6記載の電子制御装置。
【請求項8】
当該電子制御装置は、移動体に搭載されており、
前記所定のメッセージは、前記移動体の外部から送信されたメッセージである、
請求項6記載の電子制御装置。
【請求項9】
第1の電子制御装置(100)及び第2の電子制御装置(100、200)を有する電子制御システムであって、
前記第1の電子制御装置は、
第1の認証要求を取得する第1の要求取得部(101)と、
前記第1の認証要求を取得した場合に、前記第1の認証要求に対する認証処理を行うタイミングをランダムに決定するタイミング決定部(102)と、
前記タイミング決定部が決定した前記タイミングで前記第1の認証処理を行う第1の認証部(103)と、を備え、
前記第2の電子制御装置は、
第2の認証要求を取得する第2の要求取得部(101、201)と、
前記第2の認証要求を取得した場合に、前記第2の認証要求に対する第2の認証処理を直ちに行う第2の認証部(103、203)と、を備える、
電子制御システム。
【請求項10】
当該電子制御システムは、当該電子制御システムをセキュリティレベルに応じて分割した複数の層を有し、
前記第1の電子制御装置は、前記第2の電子制御装置が属する層よりも前記セキュリティレベルが低い層に属する、
請求項9記載の電子制御システム。
【請求項11】
電子制御装置で実行される認証方法であって、
他の装置から認証要求を取得し(S101)、
前記認証要求を取得した場合に、前記認証要求に対する認証処理を行うタイミングをランダムに決定し(S102)、
決定した前記タイミングで前記認証処理を行う(S107)、
認証方法。
【請求項12】
電子制御装置で実行可能な認証プログラムであって、
他の装置から認証要求を取得し(S101)、
前記認証要求を取得した場合に、前記認証要求に対する認証処理を行うタイミングをランダムに決定し(S102)、
決定した前記タイミングで前記認証処理を行う(S107)、
認証プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は主に、認証処理を行う電子制御装置、及び電子制御装置で実行される認証方法並びに認証プログラムに関する。
【背景技術】
【0002】
様々なデバイスをネットワークに接続する、いわゆるIoT(Internet of Things)の発展に伴い、サイバー攻撃への対策の必要性が高まっている。サイバー攻撃の一つに、フォールトインジェクション攻撃の一種であるグリッチ攻撃がある。グリッチ攻撃は、グリッチと呼ばれる異常を装置に注入することで、装置に誤動作を引き起こす攻撃として知られている。例えば、攻撃者は、電子制御装置に対して、グリッチとして電圧やクロックを注入する。このようなグリッチ攻撃が受けると、そのクロックで実行される予定であった処理がスキップされることがある。
【0003】
グリッチ攻撃への対策として、例えば、電圧センサやクロックセンサを装置に搭載することが考えられる。電圧センサやクロックセンサが、攻撃によって注入されたグリッチを検出することで、グリッチ攻撃を受けたことを検出することができる。例えば、特許文献1には、モノリシック集積回路装置に設けられた供給電圧グリッチ検出器が供給電圧中のグリッチを検出することが開示されている。
【0004】
また、グリッチ攻撃への他の対策として、認証処理を二重化する方法がある。この手法では、攻撃者は、二度の認証処理を行うタイミングそれぞれでグリッチ攻撃を行う必要があるため、攻撃が成立する可能性を著しく低下させることができる。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、本発明者は詳細な検討の結果、以下の課題を見出した。
電圧センサなどを用いてグリッチを検出する手法では、装置に電圧センサなどを設ける必要があり、ハードウェアの変更を伴うため、導入コストが増加する。さらに、この手法では、グリッチ攻撃を受けたことを検出することはできても、グリッチ攻撃自体を防ぐことはできない。一方、認証処理を二重化してグリッチ攻撃を防ぐ手法では、二度の認証処理を行うことにより、認証に要する通信時間が増加することに加えて、認証処理を行う装置だけでなく、認証を受ける装置でも通信仕様の変更やプログラムの書き換えが必要となる。そのため、ハードウェアの変更や通信時間を増加させることなく、グリッチ攻撃を防止することが望ましい。
【0007】
そこで、本発明は、ハードウェアの変更や通信時間を増加させることなく、簡便な手法でグリッチ攻撃を防止することができる電子制御装置等を実現することを目的とする。
【課題を解決するための手段】
【0008】
本開示の一態様による電子制御装置(100)は、他の装置(10)から認証要求を取得する要求取得部(101)と、前記認証要求を取得した場合に、前記認証要求に対する認証処理を行うタイミングをランダムに決定するタイミング決定部(102)と、前記タイミング決定部が決定した前記タイミングで前記認証処理を行う認証部(103)と、を備える。
【0009】
なお、特許請求の範囲、及び本項に記載した発明の構成要件に付した括弧内の番号は、本発明と後述の実施形態との対応関係を示すものであり、本発明を限定する趣旨ではない。
【発明の効果】
【0010】
上述のような構成により、本開示の電子制御装置等によれば、グリッチ攻撃を受けた場合であっても、認証処理をスキップせずに実行することが可能となる。
【図面の簡単な説明】
【0011】
【
図1】各実施形態の電子制御装置及び関連する機器の配置を説明する図
【
図2】第1の実施形態の電子制御装置の構成例を説明する図
【
図3】第1の実施形態の電子制御装置の動作を説明する図
【
図4】第1の実施形態の電子制御装置及び接続機器の動作を説明する図
【
図5】電子制御装置の認証処理とグリッチ攻撃との関係を説明する図
【
図6】第2の実施形態の電子制御装置の動作を説明する図
【
図7】第2の実施形態の電子制御装置の動作を説明する図
【
図8】各実施形態の変形例の電子制御システムの構成例を説明する図
【
図9】各実施形態の変形例の電子制御システムが有する電子制御装置の構成例を説明する図
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について、図面を参照して説明する。
【0013】
なお、本発明とは、特許請求の範囲又は課題を解決するための手段の項に記載された発明を意味するものであり、以下の実施形態に限定されるものではない。また、少なくともかぎ括弧内の語句は、特許請求の範囲又は課題を解決するための手段の項に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
【0014】
特許請求の範囲の従属項に記載の構成及び方法は、特許請求の範囲の独立項に記載の発明において任意の構成及び方法である。従属項に記載の構成及び方法に対応する実施形態の構成及び方法、並びに特許請求の範囲に記載がなく実施形態のみに記載の構成及び方法は、本発明において任意の構成及び方法である。特許請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成及び方法も、本発明の構成及び方法の例示であるという意味で、本発明において任意の構成及び方法である。いずれの場合も、特許請求の範囲の独立項に記載することで、本発明の必須の構成及び方法となる。
【0015】
実施形態に記載した効果は、本発明の例示としての実施形態の構成を有する場合の効果であり、必ずしも本発明が有する効果ではない。
【0016】
複数の実施形態がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせてもよい。また、複数の実施形態それぞれに開示の構成を集めて組み合わせてもよい。
【0017】
発明が解決しようとする課題に記載した課題は公知の課題ではなく、本発明者が独自に知見したものであり、本発明の構成及び方法と共に発明の進歩性を肯定する事実である。
【0018】
1.各実施形態に共通の電子制御装置の配置、及び関係する機器との関係
図1は、各実施形態の電子制御装置100の配置、及び関係する機器との関係を説明する図である。電子制御装置100は、例えば、
図1(a)に示すように、電子制御装置100が、接続機器10とともに、「移動体」である車両に「搭載」されている場合と、
図1(b)に示すように、電子制御装置100が車両に搭載され、接続機器10が車両の外部に設けられた装置である場合と、が想定される。
【0019】
ここで、「移動体」とは、移動可能な物体をいい、移動速度は任意である。また移動体が停止している場合も当然含む。例えば、自動車、自動二輪車、自転車、及びこれらに搭載される物を含み、またこれらに限らない。
「搭載」されるとは、移動体に直接固定されている場合の他、移動体に固定されていないが移動体と共に移動する場合も含む。例えば、移動体である車両に乗った人が所持している場合、移動体に載置された積荷に搭載されている場合、が挙げられる。
【0020】
電子制御装置100は、汎用のCPU(Central Processing Unit)、RAM等の揮発性メモリ、ROM、フラッシュメモリ、又はハードディスク等の不揮発性メモリ、各種インターフェース、及びこれらを接続する内部バスで構成することができる。そして、これらのハードウェア上でソフトウェアを実行することにより、後述する
図2に記載の各機能ブロックの機能を発揮させるように構成することができる。もちろん、電子制御装置100を、LSI等の専用のハードウェアで実現してもよい。
【0021】
電子制御装置100は、以下の実施形態では半完成品としての電子制御装置の形態を想定しているが、これに限らない。例えば、部品の形態としては、半導体回路や半導体モジュール、半完成品の形態としては、電子制御装置、電子制御ユニット、マイコン、システムボード、完成品の形態としては、サーバ、ワークステーション、パーソナルコンピュータ(PC)、タブレット、モバイルルータ、スマートフォン、携帯電話、ナビゲーションシステムが挙げられる。なお、電子制御装置100は、単一のECUの他、複数のECUで構成されてもよい。
【0022】
接続機器10は、電子制御装置100と通信可能に接続されていればよく、その装置の形態は問わない。すなわち、電子制御装置100と同様、部品、半完成品、完成品のいずれであってもよい。例えば、
図1(a)に示す例では、接続機器10は車両に搭載された他の電子制御装置であり、
図1(b)に示す例では、接続機器10は、サーバ、携帯端末の他、車両のデジタルキー等が挙げられる。
【0023】
2.第1の実施形態
(1)電子制御装置100の構成
図2を参照して、電子制御装置100の構成例を説明する。電子制御装置100は、要求取得部101、タイミング決定部102、認証部103、通信部104、アプリケーション実行部105を備える。
【0024】
要求取得部101は、電子制御装置100に接続された接続機器(「他の装置」に相当)10から認証要求を取得する。
【0025】
本実施形態では、接続機器10が電子制御装置100に搭載されたアプリケーションを実行するために、電子制御装置100に対して認証を要求する場合を例に挙げて説明するが、この例に限定されるものではない。例えば、電子制御装置100が、デバッグ用のリソースにアクセスするインターフェースを提供する装置である場合、リソースへの不正アクセスを防止するために認証を必要とすることがある。そこで、接続機器10は、電子制御装置100が有するデバッグ機能を使用するために、電子制御装置100に対して認証を要求するものであってもよい。
【0026】
タイミング決定部102は、要求取得部101が接続機器10から認証要求を取得した場合に、認証要求に対する認証処理を行う「タイミング」をランダムに決定する。以下、タイミング決定部102が決定するタイミングを認証タイミングと称する。タイミング決定部102は、例えば、乱数生成機能(図示せず)を用いて認証タイミングをランダムに決定する。
【0027】
タイミング決定部102は、認証部103が認証処理を実行する時刻をランダムに決定することによって認証タイミングを決定してもよく、あるいは、電子制御装置100が所定の処理を行ってから認証部103が認証処理を実行するまでの「期間」をランダムに決定することによって認証タイミングを決定してもよい。認証タイミングの詳細については後述する。
【0028】
ここで、「タイミング」を決定する、とは、認証処理を行う特定の時刻を決定する場合の他、認証処理を行うまでの時間的な長さを決定する場合も含む。
「期間」とは、時間的な間隔を示すものであればよく、時間はもちろん、クロックパルス回数等も含む。
【0029】
認証部103は、タイミング決定部102が決定した認証タイミングで認証処理を行う。本実施形態では、認証部103が、チャレンジレスポンス方式を用いた認証処理を行う構成を例に挙げて説明している。しかしながら、認証部103は、任意の方式を用いた認証処理を行うことができる。例えば、認証部103は、デジタル署名方式、MAC(Message Authentication Code)方式、SCRAM(Salted Challenge Response Authentication Mechanism)方式、といった方式を用いて認証処理を行ってもよい。
【0030】
通信部104は、認証部103の指示に基づいて接続機器10と通信を行う。例えば、認証部103がチャレンジレスポンス方式を用いて認証処理を行う場合、通信部104は、認証部103の指示に基づいて、認証部103が生成したチャレンジ情報を接続機器10に送信し、接続機器10から送信されたレスポンス情報を受信する。
【0031】
アプリケーション実行部105は、認証部103による認証処理の結果、認証が成功した場合にアプリケーションを実行する。
【0032】
次に、タイミング決定部102によって決定される認証タイミングについて説明する。上述した通り、本実施形態の認証部103は、チャレンジレスポンス方式を用いた認証処理を行う。そこで、本実施形態のタイミング決定部102は、接続機器10にチャレンジ情報を送信してから認証処理を行うまでの期間を、認証タイミングとして決定する。一例として、タイミング決定部102は、乱数生成機能で生成された乱数に相当する時間を、チャレンジ情報を送信してから認証処理を行うまでの時間とすることにより、認証タイミングを決定する。
【0033】
別の例では、タイミング決定部102は、要求取得部101が認証要求を取得してから認証処理を行うまでの時間を、認証タイミングとして決定してもよい。上述した例と同様、乱数生成機能で生成された乱数に相当する時間を、認証要求を取得してから認証処理を行うまでの時間とすることにより、タイミング決定部102は認証タイミングを決定する。
【0034】
さらに別の例では、タイミング決定部102は、認証部103が認証処理を行う基準となるタイミングである基準タイミングと、認証部103が実際に認証処理を行うタイミングとの差分である期間を、認証タイミングとして決定してもよい。例えば、認証部103が認証処理を行う基準タイミングが、要求取得部101が認証要求を取得してから100msec後に設定されているとする。この場合、タイミング決定部102は、基準タイミングと認証部103が認証処理を行うタイミングとの差分の期間を、ランダムに決定する。例えば、タイミング決定部102がランダムに決定した期間が5msecである場合、基準タイミングから5msec後を認証タイミングとして決定する。
【0035】
さらに別の例では、タイミング決定部102は、時間に代えて、クロックパルスの回数によって認証タイミングを決定してもよい。電子制御装置100はクロックのパルスに応じて動作する。そこで、タイミング決定部102は、接続機器10にチャレンジ情報を送信してから認証処理を行うまでのクロックパルス回数、認証要求を取得してから認証部103が認証処理を行うまでのクロックパルス回数、あるいは、基準タイミングと認証部103が認証処理を行うタイミングとの差分であるクロックパルス回数を、認証タイミングとして決定する。
【0036】
なお、認証要求を取得してから認証処理が完了するまでの時間に制限が設けられていることがある。このような場合、制限時間内に認証処理が終了しないと、認証処理が失敗したものと判断される。そのため、制限時間が設けられている場合、タイミング決定部103は、所定の制限時間内となるように認証タイミングをランダムに決定してもよい。
【0037】
(2)電子制御装置100の動作
次に、
図3、
図4を参照して、電子制御装置100、及び電子制御装置100に接続された接続機器10の動作を説明する。
図3、
図4は、電子制御装置100で実行される認証方法を示すだけでなく、電子制御装置100で実行可能な認証プログラムの処理手順を示すものでもある。そして、これらの処理は、
図3、
図4に示した順序には限定されない。すなわち、あるステップでその前段のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えてもよい。また、
図3、
図4で共通する処理については、同じ符号を付して説明する。後述する
図6、
図7についても同様である。
【0038】
要求取得部101は、接続機器10から認証要求を取得する(S101)。
タイミング決定部102は、S101で取得した認証要求に対する認証処理を行うタイミングをランダムに決定する(S102)。例えば、タイミング決定部102は、通信部104がチャレンジ情報を送信してから認証部103が認証処理を行うまでの期間を、認証タイミングとして決定する。
認証部103は、チャレンジレスポンス方式を用いた認証処理を行うために、チャレンジ情報を生成する(S103)。
通信部104は、認証部103からの指示に基づいて、S102で生成されたチャレンジ情報を接続機器10に送信する(S104)。このとき、認証部103では、S104でチャレンジ情報を送信してからの期間の測定を開始する。
【0039】
接続機器10は、電子制御装置100からチャレンジ情報を受信すると、受信したチャレンジ情報を用いてレスポンス情報を生成する(S11)。そして、接続機器10は、生成したレスポンス情報を電子制御装置100に送信する。
【0040】
通信部104は、接続機器10からレスポンス情報を受信する(S105)。
ここで、認証タイミングになった場合(S106:Y)、すなわち、S103で通信部104が接続機器10にチャレンジ情報を送信してから、S102で決定した期間が経過した場合、認証部103は認証処理を実行する(S107)。
【0041】
S107において認証部103が認証処理を実行した結果、認証が成功した場合(S108)、アプリケーション実行部105はアプリケーションを実行する(S109)。
【0042】
なお、
図3、
図4は、認証部103がチャレンジレスポンス方式を用いた認証処理を行う場合の電子制御装置100の動作を例示するものである。したがって、認証部103が異なる方式を用いて認証処理を行う場合、
図3、
図4に示す処理は方式に応じて適宜変更される。例えば、チャレンジレスポンス方式以外を用いる場合、
図3、
図4におけるS103~S105の処理は実行されない。
【0043】
(3)電子制御装置100とグリッチ攻撃との関係
次に、
図5を参照して、電子制御装置100と、グリッチ攻撃との関係について説明する。
図5(a)は従来の認証処理を説明する図であり、
図5(b)は本実施形態による認証処理を説明する図である。
【0044】
図5(a)は、通信部104がチャレンジ情報を接続機器10に送付してから所定の期間経過後に認証処理を行い、認証処理が成功した場合にアプリケーションを実行する、一連の処理を概略的に示している。
図5(a)はさらに、グリッチ攻撃を受けたことによって生じる電圧の変化と、電圧の変化によって生じるクロックパルスを示している。
【0045】
従来の認証処理では、電子制御装置100がチャレンジ情報を送付してから所定の期間経過後に認証処理が実行されるため、認証処理が実行されるタイミングを狙ってグリッチ攻撃を受ける可能性がある。
図5(a)は、認証処理を実行するタイミングでグリッチ攻撃を受けている場合を示している。例えば、電源グリッチ攻撃によって電圧が印加されると、異常なクロックパルスが発生する。あるいは、クロックグリッチ攻撃によって異常なクロックパルスが直接生成されることもある。この場合、対応するクロックで実行することが予定されていた処理がスキップされることがある。
図5(a)では、対応するクロックで認証処理を実行することが予定されていたが、異常なクロックパルスが生成されたことにより、認証処理がスキップされる。その結果、認証処理が成功したか否かにかかわらず、アプリケーションが実行されることになる。
【0046】
これに対し、
図5(b)は本実施形態による認証処理を示している。上述したとおり、本実施形態では、通信部104がチャレンジ情報を送信してから認証部103が認証処理を実行するまでの期間は、タイミング決定部102がランダムに決定する。そのため、攻撃者は認証処理を実行するタイミングを予測することができず、認証処理を実行するタイミングでグリッチ攻撃を受ける可能性は低い。その結果、グリッチ攻撃を受けるタイミング、ひいては、異常なクロックパルスが生成されるタイミングと、認証処理を実行するタイミングとがずれることにより、認証処理は正常に実行されることになる。
【0047】
なお、通信部104がチャレンジ情報を送信してから認証処理が実行されるまでの期間は、
図5(a)に示す所定の期間よりも、
図5(b)に示す本実施形態のランダムに決定された期間の方が長い。そのため、通信部104がレスポンス情報を受信してから認証部103が認証処理を実行するまでの間に待ち時間が発生する。そこで、アプリケーション実行部105は、認証部103が認証処理を実行するまでの待ち時間に、アプリケーションの実行に必要な処理を前倒しで行ってもよい。ただし、認証部103による認証処理が実行される前であるため、アプリケーション実行部105が待ち時間に実行する処理は、電子制御装置100のセキュリティに影響を与えない処理であることが望ましい。
【0048】
(4)小括
以上、本実施形態によれば、認証処理を行うタイミングをランダムに決定することにより、認証処理に合わせたグリッチ攻撃を受けることを回避し、ひいては、グリッチ攻撃によって認証処理がスキップされるのを防ぐことが可能となる。
さらに、本実施形態によれば、クロックグリッチ攻撃だけでなく、異常な電圧を印加する電源グリッチ攻撃を受けた場合であっても、認証処理がスキップされるのを防ぐことができる。
【0049】
3.第2の実施形態
第1の実施形態では、タイミング決定部102が決定したタイミングで認証部103における認証処理を行う電子制御装置100を説明した。本実施形態では、電子制御装置100が、取得した認証要求に応じて、決定したタイミングで認証処理を行う、あるいは、直ちに認証処理を行う構成を説明する。本実施形態の電子制御装置100の構成は、第1の実施形態の電子制御装置100と基本的に同じであるため、
図2を引用して、第1の実施形態との相違点を中心に説明する。
【0050】
本実施形態の要求取得部101は、複数の異なる認証要求を取得する。以下の実施形態では、要求取得部101は、2つの認証要求、すなわち、第1の認証要求と第2の認証要求を取得する例を説明する。第1の認証要求は、例えば、所定の「メッセージ」に対する認証要求であり、第2の認証要求は所定のメッセージとは異なるメッセージに対する認証要求である。
【0051】
ここで、「メッセージ」とは、電子制御装置との間で送受信されるデータのまとまりであり、データフレームやデータブロックと呼ばれるものも含む。
【0052】
電子制御装置100は、第1の認証要求に対しては、第1の実施形態と同様の処理を行う。すなわち、タイミング決定部102が認証処理を行うタイミングをランダムに決定し、認証部103は、タイミング決定部102が決定した認証タイミングで認証処理を行う。
【0053】
これに対し、第2の認証要求に対しては、タイミング決定部102は、認証タイミングを決定しない。そして、認証部103は、認証要求に対する認証処理を「直ちに」行う。例えば、認証部103は、認証要求を取得した後に遅滞なく認証処理を行ってもよく、あるいは、認証部103がチャレンジレスポンス方式を用いた認証処理を行う場合には、接続機器10からレスポンス情報を受信した後に遅滞なく認証処理を行ってもよい。
【0054】
ここで、「直ちに」とは、認証処理を行うために必要な準備を行った後である場合も含む。
【0055】
つまり、本実施形態では、電子制御装置100では、認証要求の取得後に特定の認証タイミングで認証処理を実行する場合と、認証要求の取得後に直ちに認証処理を実行する場合と、がある。
【0056】
所定のメッセージとは、例えば、重要度が高いメッセージである。車両の走行制御に関するメッセージが攻撃者によって偽装され、グリッチ攻撃によって認証処理が行われない場合、車両の走行制御が悪意ある攻撃者によって乗っ取られるおそれがある。そのため、車両の走行制御に関するメッセージのように重要度が高いメッセージに対しては、確実に認証処理が実行されることが望ましい。そこで、所定の閾値「よりも」重要度が高いメッセージに対する認証要求である場合には、第1の実施形態に説明したように、タイミング決定部102がランダムに決定した認証タイミングで認証処理を行う。なお、電子制御装置100の判断部(図示せず)が、メッセージの内容に応じて、認証が要求されているメッセージの重要度が所定の閾値よりも高いか否かを判定してもよいが、所定の閾値よりも重要度が高いメッセージの識別情報やCAN-IDを予め保存しておいてもよい。この場合、認証が要求されているメッセージの識別情報やCAN-IDが、予め保存された識別情報やCAN-IDに対応する場合に、判断部は所定の閾値よりも重要度が高いメッセージに対する認証要求であると判断することができる。メッセージの識別情報やCAN-IDは、ディーラや車両の製造メーカによって保存される。
【0057】
ここで、「よりも」とは、比較対象と同じ値を含む場合及び含まない場合の両方が含まれる。
【0058】
所定のメッセージの別の例は、認証処理の速度や時間に制約がないメッセージである。例えば、タイミング決定部102が決定した認証タイミングで認証処理を行う場合、直ちに認証処理を行う場合と比較して、認証処理が完了するまでに要する時間は長くなる。そのため、即時の認証処理が要求されるメッセージに対しては、直ちに認証処理を行い、認証処理の速度や時間に制約がないメッセージに対しては、タイミング決定部102がランダムに決定した認証タイミングで認証処理を行う。
【0059】
さらに別の例では、所定のメッセージとは、例えば、車両の外部に位置する接続機器10から送信されたメッセージである。接続機器10が車両の外部に位置している場合、接続機器10が車両の内部に位置している場合と比較して、送信される認証要求が悪意ある攻撃者から送信されたものである可能性が高い。そのため、
図1(a)に示すように、車両の外部に位置する接続機器10から送信された認証要求に対しては、確実に認証処理が実行されることが望ましい。そこで、車両の外部から送信されたメッセージに対する認証要求である場合には、第1の実施形態に説明したように、タイミング決定部102がランダムに決定した認証タイミングで認証処理を行う。これに対し、
図1(b)に示すように、車両の内部に位置する接続機器10から送信された認証要求に対しては、認証要求の取得後に直ちに認証処理を実行する。
【0060】
図6、
図7を参照して、本実施形態の電子制御装置100の動作を説明する。
図3、
図4と共通する処理は、
図3、
図4と同じ符号を付し、説明は省略する。
【0061】
要求取得部101は、接続機器10から取得した認証要求が、所定のメッセージに対する認証要求であるか否かを判定する(S201)。
ここで、S101で取得した認証要求が所定のメッセージに対する認証要求である場合(S201:Y)には、第1の実施形態と同様、S102以降の処理を行う。
【0062】
一方、所定のメッセージに対する認証要求ではない場合(S201:N)には、
図7に示す処理を行う。具体的には、認証部103は、チャレンジレスポンス方式を用いた認証処理を行うために、チャレンジ情報を生成し(S211)、通信部104は、認証部103からの指示に基づいて、S211で生成されたチャレンジ情報を接続機器10に送信する(S212)。そして、通信部104は、接続機器10からレスポンス情報を受信する(S213)。なお、S211、S212、S213の各処理は、
図6に示すS103、S104、S105の各処理と同じである。
【0063】
以上のとおり、本実施形態によれば、電子制御装置100は、メッセージに応じて、ランダムなタイミングで認証処理を行う、あるいは、直ちに認証処理を行うことが可能となる。
【0064】
4.変形例
次に、第1の実施形態及び第2の実施形態の変形例を、
図8、
図9を参照して説明する。
図8は、移動体である車両に搭載された電子制御システムSの概略図である。電子制御システムSは、電子制御装置100を含む複数の電子制御装置から構成されている。
図8に示す電子制御システムSは、車両のセキュリティを保護する多層防御システムを採用している。
【0065】
多層防御は、攻撃に対する対策としてセキュリティ機能を階層的・多層的に設ける防御方法として知られている。多層防御が採用されたシステムでは、攻撃を受けた場合に一の対策(すなわち、一層目)が突破されても、次の対策(すなわち、二層目)が攻撃を防御し、次の対策が突破されても、さらに次の対策(すなわち、三層目)が攻撃を防御することができるため、防御力を高めることができる。つまり、多層防御が採用されたシステムでは、「セキュリティレベル」に応じて分割された複数の層が設けられることになる。
図8に示す電子制御システムSでは、3つの層(第一層、第二層、第三層)が設けられている。
【0066】
ここで、「セキュリティレベル」とは、攻撃に対する安全性、又は、攻撃に対する防御力を示す指標である。
【0067】
図8に示す電子制御システムSを構成する電子制御装置のうち、電子制御装置100は、第1の実施形態及び第2の実施形態で説明した電子制御装置100である。したがって、要求取得部101(「第1の要求取得部」に相当)が認証要求(「第1の認証要求」に相当)を取得した場合、タイミング決定部102が認証タイミングをランダムに決定し、認証部(「第1の認証部」に相当)103はタイミング決定部102が決定した認証タイミングで認証処理(「第1の認証処理」に相当)を行う。
【0068】
これに対し、電子制御システムSを構成する電子制御装置200の構成例を、
図9を用いて説明する。電子制御装置200は、要求取得部201、認証部203、通信部204、アプリケーション実行部205を備えており、各構成は電子制御装置100の対応する構成と同様の機能を有する。ただし、電子制御装置200は、
図2に示す電子制御装置100とは異なり、タイミング決定部を有しない。そのため、電子制御装置200では、要求取得部201(「第2の要求取得部」に相当)が認証要求(「第2の認証要求」に相当)を取得した場合、認証部203(「第2の認証部」に相当)は認証要求に対する認証処理(「第2の認証処理」に相当)を直ちに行う。
【0069】
したがって、電子制御システムSは、ランダムなタイミングで認証処理を行う電子制御装置100(「第1の電子制御装置」に相当)と、認証要求を取得すると直ちに認証処理を行う電子制御装置200(「第2の電子制御装置」に相当)と、を有するシステムである。
【0070】
図8に示す例では、電子制御装置100は第一層に属しており、電子制御装置200は第二層又は第三層に属している。多層防御における第一層は最もセキュリティレベルが低い層であるため、攻撃を受ける可能性が高い。また、第一層の電子制御装置は、車両の外部と通信を行う電子制御装置であることが多く、攻撃者から送信された認証要求を取得する可能性が高い。これに対し、多層防御における第二層や第三層は第一層よりもセキュリティレベルが高く、第一層に比べて攻撃を受ける可能性は低い。そこで、第一層に電子制御装置100を設け、確実に認証処理を行うことにより、外部からの攻撃を防ぐ。これに対し、第二層や第三層といったセキュリティレベルが高い層には、ランダムなタイミングで認証処理を行わない電子制御装置200を設ける。
【0071】
なお、
図8では、第一層に電子制御装置100を、第二層及び第三層に電子制御装置200をそれぞれ設ける例を説明したが、この例に限定されるものではない。例えば、第二層に電子制御装置100を設けてもよい。
【0072】
また、
図8では、電子制御システムSが、電子制御装置100と、電子制御装置100とは構成が異なる電子制御装置200と、を有する例を説明した。しかしながら、電子制御システムSは電子制御装置100のみから構成されてもよい。この場合、第二層や第三層に属する電子制御装置100では、タイミング決定部102が認証タイミングを決定することなく、直ちに認証処理を行うように構成する。
【0073】
5.総括
以上、本発明の各実施形態における電子制御装置等の特徴について説明した。
【0074】
各実施形態で使用した用語は例示であるので、同義の用語、あるいは同義の機能を含む用語に置き換えてもよい。
【0075】
実施形態の説明に用いたブロック図は、装置の構成を機能毎に分類及び整理したものである。それぞれの機能を示すブロックは、ハードウェア又はソフトウェアの任意の組み合わせで実現される。また、機能を示したものであることから、かかるブロック図は方法の発明、及び当該方法を実現するプログラムの発明の開示としても把握できるものである。
【0076】
各実施形態に記載した処理、フロー、及び方法として把握できる機能ブロック、については、一のステップでその前段の他のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えてもよい。
【0077】
各実施形態、及び特許請求の範囲で使用する、第1、第2、乃至、第N(Nは整数)、の用語は、同種の2以上の構成や方法を区別するために使用しており、順序や優劣を限定するものではない。
【0078】
また、本発明の電子制御装置の形態の例として、以下のものが挙げられる。
部品の形態として、半導体素子、電子回路、モジュール、マイクロコンピュータが挙げられる。
半完成品の形態として、電子制御装置(ECU(Electric Control Unit))、システムボードが挙げられる。
完成品の形態として、携帯電話、スマートフォン、タブレット、パーソナルコンピュータ(PC)、ワークステーション、サーバが挙げられる。
その他、通信機能を有するデバイス等を含み、例えばビデオカメラ、スチルカメラ、カーナビゲーションシステムが挙げられる。
【0079】
また、電子制御装置に、アンテナや通信用インターフェースなど、必要な機能を追加してもよい。
【0080】
本発明は、各実施形態で説明した構成及び機能を有する専用のハードウェアで実現できるだけでなく、メモリやハードディスク等の記録媒体に記録した本発明を実現するためのプログラム、及びこれを実行可能な専用又は汎用CPU及びメモリ等を有する汎用のハードウェアとの組み合わせとしても実現できる。
【0081】
専用や汎用のハードウェアの非遷移的実体的記録媒体(例えば、外部記憶装置(ハードディスク、USBメモリ、CD/BD等)、又は内部記憶装置(RAM、ROM等))に格納されるプログラムは、記録媒体を介して、あるいは記録媒体を介さずにサーバから通信回線を経由して、専用又は汎用のハードウェアに提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
【産業上の利用可能性】
【0082】
本発明の電子制御装置は、マイクロコンピュータを包含する任意の製品全般に適用可能である。
【符号の説明】
【0083】
100 電子制御装置、101 要求取得部、102 タイミング決定部、103 認証部、10 接続機器