(57)【要約】【課題】特定のアルゴリズムや攻撃方法に限定することなく、フォールト攻撃によって暗号鍵が盗み出されてしまうことを防止することのできる制御装置を提供する。【解決手段】制御装置１００が車両から取り外された状態である、と判定部１３０によって判定された場合に、禁止部１４０が、演算部１２０が行う演算処理のうち暗号鍵を用いた演算処理の実行を禁止する。【選択図】図１
2018157304.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載される制御装置（１００）であって、
制御装置が前記車両から取り外された状態であるか否かを判定する判定部（１３０）と、
前記車両に搭載された他の制御装置との間で通信を行う通信部（１１０）と、
暗号鍵を記憶する記憶部（１６０）と、
前記通信部による通信のために必要な演算処理を行う演算部（１２０）と、
制御装置が前記車両から取り外された状態である、と前記判定部によって判定された場合に、前記演算部が行う演算処理のうち暗号鍵を用いた演算処理の実行を禁止する禁止部（１４０）と、を備える制御装置。
【請求項２】
前記車両に搭載された他の制御装置の中から少なくとも１台以上を認証対象装置として選定し、選定された全ての前記認証対象装置との間で認証処理を行う認証部（１５０）を更に備え、
前記判定部は、いずれかの前記認証処理が正常に行われなかった場合に、制御装置が前記車両から取り外された状態であると判定する、請求項１に記載の制御装置。
【請求項３】
前記認証部は、制御装置に対する電力供給が開始されたタイミングにおいて前記認証処理を行う、請求項２に記載の制御装置。
【請求項４】
前記認証部は、前記車両に搭載された他の制御装置の中から、前記認証対象装置をランダムに選定する、請求項２に記載の制御装置。
【請求項５】
前記認証部は、選定する前記認証対象装置の台数をランダムに設定する、請求項２に記載の制御装置。
【請求項６】
いずれかの前記認証処理が正常に行われなかった場合には、
前記認証部は、次回以降において選定する前記認証対象装置の台数を増加させる、請求項２に記載の制御装置。
【請求項７】
専用機器（３００）によって新たな暗号鍵が前記記憶部に書き込まれた後においては、
制御装置が前記車両から取り外された状態である、と前記判定部によって判定された場合であっても、前記禁止部は当該暗号鍵を用いた処理の実行を禁止しない、請求項１に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、車両に搭載される制御装置に関する。
【背景技術】
【０００２】
車両には複数の制御装置が搭載されている。このような制御装置としては、例えばエンジンの動作を制御するエンジンＥＣＵや、空調装置の動作を制御する空調ＥＣＵ等が挙げられる。それぞれの制御装置は、同じ車両に搭載された他の制御装置との間で通信を行いながら、自らが行う制御のために必要な処理を行っている。
【０００３】
近年の情報通信技術の急速な発展に伴い、悪意を持った者が外部から車両を制御したり、制御装置から情報を盗み出したりする事態が懸念されるようになってきた。これを防止するために、複数の制御装置間における通信に対し、ＭＡＣ（Message Authentication Code）の付与や暗号化等の活用が検討されている。暗号鍵によって暗号化された情報を制御装置間で送受信する構成とすれば、情報を平文のままで送受信する構成に比べて、上記のような事態が生じる危険性を小さくすることができる。下記特許文献１、２には、装置間の通信を暗号化するための具体的な方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２５５８３１号公報
【特許文献２】特開２０１３−１３１８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
鍵の解読手法の一つとして、フォールト攻撃（故障利用攻撃）と称されるものが知られている。フォールト攻撃とは、攻撃対象となる装置に熱や電磁波等の物理的なストレスを与えて誤計算を誘発させ、誤計算により生じた計算結果等を解析することによって、装置が記憶している暗号鍵を盗み出すという攻撃方法である。
【０００６】
上記特許文献１に記載の装置では、特殊な暗号処理アルゴリズムを採用することにより、フォールト攻撃が行われた際における暗号鍵の解析を困難なものとしている。また、上記特許文献２に記載の装置では、周囲温度が所定範囲外となったことを検知した場合には暗号化処理の実行等を禁止することにより、暗号鍵が盗み出されてしまうことを防止している。
【０００７】
しかしながら、上記特許文献１に記載されているような対策は、全ての制御装置において特殊な暗号化アルゴリズムの採用を必要とするものであり、汎用的では無い。また、上記特許文献２に記載されているような対策は、熱以外のストレスを与えるような攻撃方法に対しては効果が無いため、やはり汎用的では無い。
【０００８】
フォールト攻撃に対するその他の対策としては、耐タンパー性を有する高価なハードウェアを用いて制御装置を構成することも考えられる。しかしながら、車両には多数の制御装置が備えられているので、全ての制御装置に対してそのような対策を施すと車両のコストが上昇してしまう。
【０００９】
本開示は、特定のアルゴリズムや攻撃方法に限定することなく、フォールト攻撃によって暗号鍵が盗み出されてしまうことを防止することのできる制御装置、を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本開示に係る制御装置は、車両に搭載される制御装置（１００）であって、制御装置が車両から取り外された状態であるか否かを判定する判定部（１３０）と、車両に搭載された他の制御装置との間で通信を行う通信部（１１０）と、暗号鍵を記憶する記憶部（１６０）と、通信部による通信のために必要な演算処理を行う演算部（１２０）と、制御装置が車両から取り外された状態である、と判定部によって判定された場合に、演算部が行う演算処理のうち暗号鍵を用いた演算処理の実行を禁止する禁止部（１４０）と、を備える。
【００１１】
フォールト攻撃が行われる際には、攻撃対象となる制御装置は車両から取り外されて、加熱装置などを備えた特殊な環境に置かれることとなる。そこで、上記構成の制御装置では、制御装置が車両から取り外された状態である、との判定が判定部によってなされた場合には、暗号鍵を用いた演算処理の実行が禁止されることとしている。
【００１２】
これにより、フォールト攻撃が行われるような状況（つまり、制御装置が車両から取り外されている状況）においては、少なくとも暗号鍵を用いた演算処理については実行されなくなる。従って、フォールト攻撃を試みられた場合であっても、暗号鍵の解析に必要な誤計算情報を攻撃者に与えないことにより、暗号鍵が盗み出されてしまうことは確実に防止される。
【発明の効果】
【００１３】
本開示によれば、特定のアルゴリズムや攻撃方法に限定することなく、フォールト攻撃によって暗号鍵が盗み出されてしまうことを防止することのできる制御装置、が提供される。
【図面の簡単な説明】
【００１４】
【図１】図１は、第１実施形態に係る制御装置の構成を模式的に示す図である。
【図２】図２は、記憶部に記憶されている情報を模式的に示す図である。
【図３】図３は、制御装置によって実行される処理の流れを示すフローチャートである。
【図４】図４は、制御装置によって実行される処理の流れを示すフローチャートである。
【図５】図５は、制御装置によって実行される処理の流れを示すフローチャートである。
【図６】図６は、第２実施形態に係る制御装置によって実行される処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照しながら本実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。
【００１６】
第１実施形態に係る制御装置１００の構成について、図１を参照しながら説明する。制御装置１００は、車両（不図示）に搭載される複数の制御装置の一つとして構成されている。これら複数の制御装置は、例えばエンジンＥＣＵや空調ＥＣＵなのであるが、制御装置の種類についてはここでは特に限定されない。
【００１７】
以下では、上記車両に搭載された複数の制御装置のうち、制御装置１００以外のものを「制御装置２００」と表記する。また、以下では制御装置１００の構成や機能について詳細に説明するのであるが、それぞれの制御装置２００も、制御装置１００と同様の構成及び機能を有するものとなっている。
【００１８】
制御装置１００は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を備えたコンピュータシステムとして構成されている。制御装置１００は、例えばＣＡＮのような車載ネットワークを介して他の制御装置２００と接続されており、それぞれの制御装置２００との間で双方向の通信を行うことが可能となっている。
【００１９】
制御装置１００は、機能的な制御ブロックとして、通信部１１０と、演算部１２０と、判定部１３０と、禁止部１４０と、認証部１５０と、記憶部１６０と、を有している。
【００２０】
通信部１１０は、他の制御装置２００との間で通信を行うためのインターフェースとなる部分である。当該通信において送受信されるデータは暗号鍵によって暗号化されている。
【００２１】
演算部１２０は、上記通信のために必要な演算処理を行う部分である。この演算処理には、通信部１１０から制御装置２００へと送信されるデータを、予め暗号鍵を用いて暗号化する処理や、制御装置２００から通信部１１０が受信したデータを、暗号鍵を用いて復号する処理等が含まれる。
【００２２】
また、暗号鍵を用いない処理も上記の演算処理に含まれる。このような処理としては、例えば、車両の各部が正常に動作しているか否かを示す自己診断情報を作成し、平文のままで通信部１１０へと渡す処理等が挙げられる。
【００２３】
判定部１３０は、制御装置１００が車両から取り外された状態であるか否かを判定する部分である。その具体的な判定方法については後に説明する。
【００２４】
禁止部１４０は、演算部１２０が行う各種の演算処理の一部、具体的には暗号鍵を用いて行われる処理を、必要に応じて禁止する部分である。
【００２５】
認証部１５０は、通信部１１０を介して他の制御装置２００と通信を行うことにより、当該制御装置２００との間で認証処理を行う部分である。この「認証処理」とは、通信相手である制御装置２００が正規のものであるか否か、を確認するための処理である。このような認証処理の方法としては、例えばチャレンジレスポンス認証のような公知の方法を採用することができる。この場合、レスポンス生成のための特定のアルゴリズムや鍵等の情報が、制御装置１００と制御装置２００との間で予め共有されていることが前提となる。
【００２６】
記憶部１６０は、暗号鍵やログ等を記憶するための部分であって、例えば不揮発性メモリである。演算部１２０が暗号鍵を用いた演算処理を行う際には、演算部１２０は、予め必要な暗号鍵を記憶部１６０から読み出す。
【００２７】
図１に示される専用機器３００は、例えば整備士が使用するメンテナンスツールである。車両のメンテナンスが行われる際には、制御装置１００に専用機器３００が接続され、両者の間で通信が行われる。尚、図１に専用機器３００が図示されているのは説明の便宜のためである。メンテナンス時以外の通常時においては、専用機器３００は取り外された状態となっている。
【００２８】
図２を参照しながら、記憶部１６０によって記憶されている情報について説明する。同図に示されるように、記憶部１６０には情報の記憶領域として、１０個の鍵記憶部（Ｍ０１〜Ｍ１０）が形成されている。それぞれの鍵記憶部Ｍ０１等は、演算部１２０が行う演算処理に用いられる暗号鍵を記憶しておくための領域となっている。図２では、鍵記憶部Ｍ０１、Ｍ０２、・・・Ｍ０９のそれぞれに記憶されている暗号鍵が、暗号鍵Ｋ１、Ｋ２、・・・Ｋ０９として示されている。
【００２９】
悪意を持った者によって外部から制御装置１００の制御が行われたり、情報が盗み出されたりすることを防止するために、鍵記憶部Ｍ０１等のそれぞれに記憶されている暗号鍵を外部から読み出すことはできなくなっている。
【００３０】
尚、１０番目の鍵記憶部Ｍ１０には暗号鍵が記憶されておらず、当該記憶領域は空の状態となっている。後に説明するように、鍵記憶部Ｍ１０は、メンテナンス時において動作確認用の暗号鍵が書き込まれる部分となっている。
【００３１】
記憶部１６０には、上記の他にログ記憶部Ｍ２０も形成されている。ログ記憶部Ｍ２０は、ログＬ１を保存するための記憶領域である。例えば車両に何らかの異常が生じた際には、当該異常の発生を示す情報がログＬ１に追記される。
【００３２】
ところで、暗号化によって保護された通信への攻撃方法の一つとして、フォールト攻撃と称されるものが知られている。フォールト攻撃とは、攻撃対象となる装置に熱や電磁波等の物理的なストレスを与えて誤計算を誘発させ、誤計算により生じた計算結果等を解析することによって、当該装置が記憶している暗号鍵を盗み出すという攻撃方法である。演算部１２０が暗号鍵を用いた演算処理を行っているときに、制御装置１００に対して上記のようなフォールト攻撃が行われると、暗号鍵を盗み出されてしまう恐れがある。
【００３３】
そこで、本実施形態に係る制御装置１００では、以下に説明する処理を実行することで、フォールト攻撃により暗号鍵が盗み出されてしまうような事態を防止している。
【００３４】
図３に示される一連の処理は、例えば車両のイグニッションスイッチがＯＮとされることにより、制御装置１００に対する電力供給が開始されたタイミングにおいて実行されるものである。当該処理の最初のステップＳ０１では、制御装置１００が車両に搭載されている状態か否か、を判定する処理が判定部１３０により行われる。当該処理の具体的な内容については、後に図４を参照しながら説明する。
【００３５】
制御装置１００が車両から取り外されておらず、車両に搭載された状態となっている場合には、ステップＳ０２を経てステップＳ０３へと移行する。ステップＳ０３では、暗号鍵を用いた演算処理を行うことが許可される。当該処理は、禁止部１４０によって行われる。以降においては、暗号鍵を用いた演算処理を、演算部１２０が制限なく行うことができるようになる。
【００３６】
ステップＳ０１において、制御装置１００が車両から取り外されているとの判定が行われた場合には、ステップＳ０２を経てステップＳ０４に移行する。ステップＳ０４では、暗号鍵を用いた演算処理を行うことが禁止される。当該処理は、禁止部１４０によって行われる。以降においては、暗号鍵を用いた演算処理を、演算部１２０が行うことができなくなる。この場合、例えば暗号化を行わずに平文のデータを送受信するように変更する等、何らかの代替処理が行われることとしてもよい。
【００３７】
ステップＳ０４では、上記のように暗号鍵を用いた演算処理は禁止されるのであるが、暗号鍵を用いない演算処理については禁止されないこととしてもよい。
【００３８】
尚、ステップＳ０４で禁止されるのは、鍵記憶部Ｍ０１、Ｍ０２、・・・Ｍ０９のそれぞれに記憶されている暗号鍵を用いた演算処理である。後に説明するように、鍵記憶部Ｍ１０に暗号鍵が書き込まれた場合には、当該暗号鍵を用いた演算処理については禁止部１４０によって禁止されない。
【００３９】
このように、禁止部１４０は、制御装置１００が車両から取り外された状態である、と判定部１３０によって判定された場合に、演算部１２０が行う演算処理のうち暗号鍵を用いた演算処理の実行を禁止する部分となっている。
【００４０】
このとき禁止される「暗号鍵を用いた演算処理」には、データの暗号化や復号に加えて、署名の生成や検証、メッセージ認証コード（ＭＡＣ）の生成や検証等も広く含まれる。つまり、ここでいう「暗号鍵」とは、データ秘匿のための暗号化及び復号のためだけに用いられる狭義の暗号鍵ではなく、例えば情報の完全性を示すためのデータ（メッセージ認証コード等）を作成するための鍵等をも含む広義の暗号鍵のことである。
【００４１】
制御装置１００に対してフォールト攻撃が行われる際には、制御装置１００は車両から取り外されて、加熱装置などを備えた特殊な環境に置かれることとなる。本実施形態では上記のように、制御装置１００が車両から取り外されている、との判定が判定部１３０によってなされた場合には、暗号鍵を用いた演算処理の実行が禁止された状態となる。
【００４２】
これにより、フォールト攻撃が行われるような状況（つまり、制御装置１００が車両から取り外されている状況）においては、少なくとも暗号鍵を用いた演算処理については実行されなくなる。従って、フォールト攻撃に基づいて暗号鍵が盗み出されてしまうことは確実に防止される。
【００４３】
このようなフォールト攻撃への対策は、暗号鍵を用いた処理において特別なアルゴリズムを必要とするものではない。また、特定種類のフォールト攻撃についてのみ対応し得るものではなく、あらゆる種類のフォールト攻撃に対応し得るものとなっている。
【００４４】
図３に示される一連の処理のうち、ステップＳ０１において実行される処理の更に具体的な内容について、図４を参照しながら説明する。図４に示される一連の処理のうち、ステップＳ１７及びステップＳ２０以外の処理は、認証部１５０によって行われる処理となっている。また、ステップＳ１７及びステップＳ２０は、判定部１３０によって行われる処理となっている。
【００４５】
本実施形態では、制御装置１００と、１台又は複数台の制御装置２００との間で認証処理を行い、その認証結果に基づいて、制御装置１００が車両に搭載されている状態か否かを判定している。
【００４６】
最初のステップＳ１１では、認証台数の設定が行われる。認証台数とは、制御装置２００のうち上記の認証処理を行う対象として選定されるもの（以下では「認証対象装置」とも称する）の台数のことである。車両に搭載された制御装置２００の総数をＮとすると、ここでは、１からＮまでの範囲、またはシステムで定められた閾値からＮまでの範囲、からランダムに選定された数が認証台数として設定される。
【００４７】
ステップＳ１１に続くステップＳ１２では、認証対象装置の選定が行われる。ここでは、車両に搭載された制御装置２００の中から、上記の認証台数に等しい数の認証対象装置がランダムに選定される。
【００４８】
尚、制御装置２００のうち認証対象装置として用いられるものは、上記のように都度変更されてもよいのであるが、常に同じ制御装置２００（１台又は複数台）が認証対象装置として用いられることとしてもよい。この場合、認証台数を固定値した上で、ステップＳ１１及びＳ１２の処理が行われないこととすればよい。
【００４９】
ステップＳ１２に続くステップＳ１３では、認証対象装置のうちの１台と制御装置１００との間で認証処理が行われる。ステップＳ１３に続くステップＳ１４では、上記の認証処理が正常に行われたか否か（つまり、認証結果がＯＫであったかＮＧであったか）が判定される。認証処理が正常に行われた場合、すなわち、認証対象機器が正規の制御装置２００であることが確認された場合には、ステップＳ１５に移行する。
【００５０】
ステップＳ１５では、ステップＳ１３の認証処理が、全ての認証対象機器に対して行われたか否かが判定される。換言すれば、ステップＳ１３及びステップＳ１４の処理が、上記の認証台数と同じ回数だけ実行されたか否かが判定される。認証処理が全ての認証対象機器に対して行われていない場合には、ステップＳ１３以降の処理が再度実行される。ステップＳ１３では、前回とは異なる認証対象機器に対して認証処理が行われる。
【００５１】
ステップＳ１５において、認証処理が全ての認証対象機器に対して行われていた場合には、ステップＳ１６に移行する。ステップＳ１６に移行したということは、認証対象機器のそれぞれとの間で行われた認証処理が、全て正常に行われたということである。
【００５２】
ステップＳ１６では、認証失敗フラグの値として０が設定される。認証失敗フラグとは、いずれかの認証対象機器との間で認証処理が正常に行われなかった場合に、値に１が設定される変数である。ステップＳ１６に続くステップＳ１７では、制御装置１００が車両に搭載されている、との判定が判定部１３０によってなされる。
【００５３】
ステップＳ１４において認証処理が正常に行われなかった場合、すなわち、認証対象機器が正規の制御装置２００ではないことが確認された場合には、ステップＳ１８に移行する。ステップＳ１８では、認証処理に失敗した旨を示す情報がログＬ１に追記される。
【００５４】
ステップＳ１８に続くステップＳ１９では、認証失敗フラグの値として１が設定される。ステップＳ１９に続くステップＳ２０では、制御装置１００が車両から取り外されている、との判定が判定部１３０によってなされる。
【００５５】
以上のように本実施形態では、認証部１５０が、車両に搭載された他の制御装置２００の中から少なくとも１台以上を認証対象装置として選定し、選定された全ての認証対象装置との間で認証処理を行う。その後、判定部１３０は、いずれかの認証処理が正常に行われなかった場合に、制御装置１００が車両から取り外された状態であると判定する。他の制御装置２００との間で行われる認証処理の結果に基づいて上記判定が行われるので、例えば、車両内を模した環境において制御装置１００に対するフォールト攻撃が行われた場合に、制御装置１００が車両に搭載されている、と判定部１３０が誤判定を行ってしまう可能性を低くすることができる。
【００５６】
本実施形態における認証部１５０は、認証台数の設定をランダムに行う（ステップＳ１１）。更に、認証部１５０は、認証対象機器、車両に搭載された他の制御装置２００の中からランダムに選定する（ステップＳ１２）。このため、車両内を模した環境を作成し、判定部１３０に誤判定を行わせることは更に困難なものとなっている。
【００５７】
以上に説明した例では、認証部１５０は、制御装置１００に対する電力供給が開始されたタイミングにおいて認証処理を行うように構成されている。このような態様に替えて、暗号鍵を用いた処理の実行が必要となる度に、認証部１５０が認証処理を行うような態様としてもよい。この場合、図３に示される一連の処理が、暗号鍵を用いた処理の実行が必要となる度に繰り返し実行されることとすればよい。ただし、認証処理に必要な処理の負荷を軽減するためには、本実施形態のように、制御装置に対する電力供給が開始されたタイミングにおいて認証処理が実行される態様の方が好ましい。
【００５８】
また、図３に示される処理が行われる頻度を、認証失敗フラグの値に応じて変化させる態様としてもよい。例えば、認証失敗フラグの値が０であるときには、本実施形態のように電源投入時においてのみ図３に示される処理が行われ、認証失敗フラグの値が１であるときには、一定期間が経過する毎に図３に示される処理が行われることとしてもよい。これにより、フォールト攻撃による鍵の盗み出しを更に困難なものとすることができる。
【００５９】
また、認証失敗フラグの値が１であるときには、電源投入時等において図３に示される処理が２回以上行われることとしてもよい。制御装置１００が車両に搭載された状態であるか否かの判定が、認証対象機器を変更しながら２回以上繰り返されることとなるので、フォールト攻撃による鍵の盗み出しを更に困難なものとすることができる。
【００６０】
専用機器３００が接続されたときに、制御装置１００によって実行される処理の内容について、図５を参照しながら説明する。
【００６１】
最初のステップＳ２１では、専用機器３００が制御装置１００に接続されたか否かが判定される。専用機器３００が接続されていない場合には、図５に示される一連の処理を終了する。専用機器３００が接続されている場合には、ステップＳ２２に移行する。
【００６２】
ステップＳ２２では、専用機器３００と制御装置１００との間で認証処理が行われる。この認証処理は、接続された専用機器３００が正規のものであるかどうかを、制御装置１００が確認する処理である。
【００６３】
ステップＳ２２に続くステップＳ２３では、上記の認証処理が正常に行われたか否か（つまり、認証結果がＯＫであったかＮＧであったか）が判定される。認証処理が正常に行われなかった場合、すなわち、専用機器３００が正規のものではないことが確認された場合には、図５に示される一連の処理を終了する。認証処理が正常に行われた場合、すなわち、専用機器３００が正規のものであることが確認された場合には、ステップＳ２４に移行する。
【００６４】
ステップＳ２４では、専用機器３００が鍵記憶部Ｍ１０に新たな暗号鍵を書き込むこと、が許可される。これを受けて、専用機器３００は鍵記憶部Ｍ１０に新たな暗号鍵を書き込む。この暗号鍵は、例えば制御装置１００の動作確認等のために一時的に使用される暗号鍵である。
【００６５】
ステップＳ２４に続くステップＳ２５では、専用機器３００による暗号鍵の書き込みが行われたか否かが判定される。暗号鍵の書き込みが未だ行われていない場合には、ステップＳ２５の処理が再度実行される。暗号鍵の書き込みが行われたことが確認されると、ステップＳ２６に移行する。
【００６６】
ステップＳ２６では、鍵記憶部Ｍ１０に新たに書き込まれた暗号鍵を用いた演算処理を、演算部１２０が行うことが許可される。当該処理は、禁止部１４０によって行われる。以降においては、制御装置１００が車両から取り外された状態となり、その結果として図３のステップＳ０４の処理が行われたとしても、鍵記憶部Ｍ１０に新たに書き込まれた暗号鍵を用いた演算処理については引き続き許可されたままとなる。
【００６７】
このように、専用機器３００によって新たな暗号鍵が記憶部１６０に書き込まれた後においては、制御装置１００が車両から取り外された状態である、と判定部１３０によって判定された場合であっても、禁止部１４０は上記暗号鍵を用いた処理の実行を禁止しない。
【００６８】
このため、例えば整備士のように正当権限を有する者が、制御装置１００を車両から取り外した場合において、全ての暗号鍵の使用が禁止されメンテナンスに支障が出てしまうような事態を防止することができる。
【００６９】
第２実施形態について説明する。本実施形態では、図４のステップＳ１１で行われる処理の態様、すなわち、認証台数を設定するために行われる処理の態様においてのみ、第１実施形態と異なっている。以下では、第１実施形態と異なる点について主に説明し、第１実施形態と共通する点については適宜説明を省略する。
【００７０】
図６に示される一連の処理は、図４のステップＳ１１で行われる処理に換えて、認証部１５０によって実行される処理となっている。本実施形態では、認証台数の設定がランダムに行われるのではなく、基本的には予め設定された初期値（例えば３）と同じ数が認証台数として設定される。
【００７１】
最初のステップＳ３１では、認証失敗フラグの値が１であるか否かが判定される。認証失敗フラグの値が１である場合には、ステップＳ３２に移行する。ステップＳ３２に移行したということは、前回の認証処理が行われた際に、制御装置１００が車両から取り外されている、と判定されたということである。このため、現時点においても制御装置１００が車両に搭載されておらず、悪意のある者から攻撃を受けている可能性がある。
【００７２】
そこで、ステップＳ３２では、認証台数を増やす処理が行われる。このように、本実施形態では、認証対象機器との間で行われるいずれかの認証処理が正常に行われなかった場合（認証失敗フラグの値が１の場合）には、認証部１５０は、次回以降において選定する認証対象装置の台数を増加させる。
【００７３】
設定される認証台数は初期値よりも大きな値となるので、より厳しい条件で認証処理が行われることとなる。制御装置１００が車両に搭載された状態である、との判定がなされにくくなるので、フォールト攻撃によって鍵が盗み出される可能性がより低くなる。
【００７４】
ステップＳ３１において、認証失敗フラグの値が０であった場合には、ステップＳ３１に移行する。ステップＳ３１に移行したということは、前回の認証処理が行われた際に、制御装置１００が車両に搭載されている、と判定されたということである。そこで、ステップＳ３２では、認証台数を初期値に戻す処理が行われる。
【００７５】
以上のような態様であっても、第１実施形態において説明したものと同様の効果を奏する。
【００７６】
以上の説明においては、判定部１３０によって行われる判定、すなわち、制御装置１００が車両から取り外された状態であるか否かの判定が、認証部１５０が行う認証処理の結果に基づいて行われる。しかしながら、判定部１３０が、上記とは異なる方法で判定を行うこととしてもよい。例えば、制御装置１００が車両から取り外されたことを物理的に検知するスイッチを設け、当該スイッチの状態に基づいて、制御装置１００が車両から取り外された状態であるか否かの判定を判定部１３０が行うような態様としてもよい。
【００７７】
以上、具体例を参照しつつ本実施形態について説明した。しかし、本開示はこれらの具体例に限定されるものではない。これら具体例に、当業者が適宜設計変更を加えたものも、本開示の特徴を備えている限り、本開示の範囲に包含される。前述した各具体例が備える各要素およびその配置、条件、形状などは、例示したものに限定されるわけではなく適宜変更することができる。前述した各具体例が備える各要素は、技術的な矛盾が生じない限り、適宜組み合わせを変えることができる。
【符号の説明】
【００７８】
１００：制御装置
１１０：通信部
１２０：演算部
１３０：判定部
１４０：禁止部
１６０：記憶部
２００：制御装置
【図１】
2018157304.tif 000003
【図２】
2018157304.tif 000004
【図３】
2018157304.tif 000005
【図４】
2018157304.tif 000006
【図５】
2018157304.tif 000007
【図６】
2018157304.tif 000008