(57)【要約】  組込み制御装置において主機能の実行への影響を抑制しながらセキュリティ機能を適切に実行することができるようにする。セキュリティ装置は、攻撃検知部、セキュリティリスクステート決定部及び実行環境制御部を備える。攻撃検知部は、組込み制御装置により制御される組込み機器に対するサイバー攻撃の検知を行う。セキュリティリスクステート決定部は、検知の結果に基づいて、サイバー攻撃により生じるセキュリティ上の脅威の種類及び危険度の少なくとも一方を示すセキュリティリスクステートを決定する。実行環境制御部は、組み込み制御装置に備えられ、セキュリティリスクステートに応じて、サイバー攻撃に対抗するセキュリティ機能を決定し、組込み制御装置がセキュリティ機能を実行することができるように、組込み制御装置におけるセキュリティ機能の実行環境を構成する。
2019198137.tif 000002
【特許請求の範囲】
【請求項１】
組込み制御装置（１０２０）により制御される組込み機器（１０００）に対するサイバー攻撃の検知を行う攻撃検知部（１２２０）と、
前記検知の結果に基づいて、前記サイバー攻撃により生じるセキュリティ上の脅威の種類及び危険度の少なくとも一方を示すセキュリティリスクステートを決定するセキュリティリスクステート決定部（１２６０）と、
前記組込み制御装置（１０２０）に備えられ、前記セキュリティリスクステートに応じて、前記サイバー攻撃に対抗するセキュリティ機能を決定し、前記組込み制御装置（１０２０）が前記セキュリティ機能を実行することができるように、前記組込み制御装置（１０２０）における前記セキュリティ機能の実行環境を構成する実行環境制御部（１３２０）と、
を備えるセキュリティ装置（１１１０）。
【請求項２】
前記実行環境制御部（１３２０）は、
前記セキュリティ機能の実行環境を構成した場合に、前記組込み機器（１０００）を制御する主機能に割り当てることができる前記組込み制御装置（１０２０）の計算機リソースにより実行することができるように前記主機能の動作モードを決定し、
前記主機能の動作モードで前記主機能を実行することができるように前記組込み制御装置（１０２０）における前記主機能の実行環境を構成する
請求項１のセキュリティ装置（１１１０）。
【請求項３】
前記実行環境制御部（１３２０）は、
前記セキュリティ機能の実行環境を構成した場合に、前記セキュリティリスクステートにおけるセキュリティ上の要求を満たすように前記主機能の動作モードを決定する
請求項２のセキュリティ装置（１１１０）。
【請求項４】
前記主機能を実行する主機能実行部（１２８０）をさらに備え、
前記主機能実行部（１２８０）は、
時間制約付き動作モード、及び前記時間制約付き動作モードの機能より低い機能を有し前記時間制約付き動作モードのセキュリティ上のリスクより低いセキュリティ上のリスクを有する別の動作モードで前記主機能を実行することができ、
前記主機能の動作モードが前記時間制約付き動作モードにされた後に、前記セキュリティリスクステートが変更されないまま前記時間制約付き動作モードで前記主機能の実行が継続されている時間が閾値を超えた場合に、前記主機能の動作モードを、前記時間制約付き動作モードから前記別の動作モードに変更する
請求項２又は３のセキュリティ装置（１１１０）。
【請求項５】
前記セキュリティ機能の実行環境を構成することは、前記セキュリティ機能を実行するＣＰＵコアの割付け、ＣＰＵの動作モードの設定、割り込み用のＣＰＵコアの割付け、Ｉ／Ｏ用のＣＰＵコアの再割付け、及びキャッシュロックダウンの設定の少なくともひとつを含む
請求項１から４までのいずれかのセキュリティ装置（１１１０）。
【請求項６】
前記実行環境制御部（１３２０）は、前記セキュリティリスクステートに応じて、前記組込み機器（１０００）を制御する主機能の実行環境を構成し、
前記主機能の実行環境を構成することは、前記セキュリティ機能を実行しないＣＰＵコアへの前記主機能のコアマイグレーション、メモリ使用量の制限、ＣＰＵ使用率の制限、割り込み用のＣＰＵコアの再割付け、Ｉ／Ｏ用のＣＰＵコアの再割付け、キャッシュメンテナンス処理、及びメモリ管理ユニットの再設定の少なくともひとつを含む
請求項１から５までのいずれかのセキュリティ装置（１１１０）。
【請求項７】
請求項１から６までのいずれかのセキュリティ装置（１１１０）を備える組込み機器（１０００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組込み制御装置により制御される組込み機器に対するサイバー攻撃に対抗するセキュリティ装置、当該セキュリティ装置を備える組込み機器に関する。
【背景技術】
【０００２】
自動車等の移動体、家電機器、ファクトリーオートメーション（ＦＡ）機器等の機器には、組込み機器が搭載される。組込み機器は、組込み制御装置により制御される。例えば、自動車には、車載機器が搭載される。車載機器は、車両制御エンジンコントロールユニット（ＥＣＵ）により制御される。【０００３】
従来においては、組込み機器は、スタンドアローンで使用されていた。しかし、近年においては、組込み機器は、モノのインターネット（ＩｏＴ）化の流れを受けて、外部ネットワークに接続された状態で使用されるようになりつつある。【０００４】
外部ネットワークに接続された状態で使用される組込み機器は、サイバー攻撃に晒される可能性がある。このため、近年においては、サイバー攻撃から組込み機器を守るためのセキュリティ機能を組込み制御装置に実装することが求められるようになりつつある。例えば、車両に搭載される組み込み制御機器、及び車両に搭載されない情報処理装置に共通鍵を共有させ、暗号化されたメッセージ認証コード及びレスポンスコードを通信の際にやり取りさせることにより、情報処理装置の認証を行う認証システムが提案されている。特許文献１に記載された技術は、その一例である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１７／００２４０５号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、サイバー攻撃に対抗するセキュリティ機能を組込み制御装置に実装する場合には、組込み制御装置に搭載される計算機リソースが限られることが問題となる。すなわち、情報セキュリティ技術の導入が進んでいるパーソナルコンピューター（ＰＣ）と比較された場合に、組込み制御装置に搭載される中央演算処理装置（ＣＰＵ）、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）等の計算機リソースが限られることが問題になる。このため、暗号化処理のようなサイバー攻撃に対抗する高度なセキュリティ機能を組込み制御装置に実装する場合には、組込み制御装置に実装される主機能を低機能化することを強いられることがある。もちろん、組み込み制御装置に搭載される計算機リソースを強化することによりこの問題は解消するが、組み込み制御装置に搭載される計算機リソースを強化することは、組み込み制御装置の高コスト化を招く。【０００７】
本発明は、これらの問題を考慮してなされる。本発明が解決しようとする課題は、組込み制御装置において主機能の実行への影響を抑制しながらセキュリティ機能を適切に実行することができるようにすることである。
【課題を解決するための手段】
【０００８】
本発明の第１の態様は、セキュリティ装置に向けられる。【０００９】
セキュリティ装置は、攻撃検知部、セキュリティリスクステート決定部及び実行環境制御部を備える。【００１０】
攻撃検知部は、組込み制御装置により制御される組込み機器に対するサイバー攻撃の検知を行う。【００１１】
セキュリティリスクステート決定部は、検知の結果に基づいて、サイバー攻撃により生じるセキュリティ上の脅威の種類及び危険度の少なくとも一方を示すセキュリティリスクステートを決定する。【００１２】
実行環境制御部は、組み込み制御装置に備えられ、セキュリティリスクステートに応じて、サイバー攻撃に対抗するセキュリティ機能を決定し、組込み制御装置がセキュリティ機能を実行することができるように、組込み制御装置におけるセキュリティ機能の実行環境を構成する。【００１３】
本発明の第２の態様は、上記のセキュリティ装置を備える組込み機器に向けられる。
【発明の効果】
【００１４】
本発明においては、サイバー攻撃により生じるセキュリティ上の脅威の種類及び危険度の少なくとも一方に応じて、組込み制御装置がサイバー攻撃に対抗するセキュリティ機能を実行することができるように組込み制御装置におけるセキュリティ機能の実行環境が構成される。このため、組込み制御装置における主機能の実行への影響を抑制しながらセキュリティ機能を適切に実行することができる。【００１５】
この発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態１及び２のセキュリティ装置を内蔵する組込み機器を模式的に図示するブロック図である。
【図２】実施の形態１及び２のセキュリティ装置を構成するゲートウェイ（ＧＷ）の機能的構成を模式的に図示するブロック図である。
【図３】実施の形態１のセキュリティ装置を構成する組込み制御装置の機能的構成を模式的に図示するブロック図である。
【図４】実施の形態１及び２のセキュリティ装置を構成する組込み制御装置に記憶されるセキュリティ機能テーブルを模式的に図示する図である。
【図５】実施の形態１及び２のセキュリティ装置における、組込み機器がサイバー攻撃を受けた場合のＧＷの動作を示すフローチャートである。
【図６】実施の形態１及び２のセキュリティ装置における、組込み機器がサイバー攻撃を受けた場合の組込み制御装置の動作を示すフローチャートである。
【図７】実施の形態１及び２のセキュリティ装置を備える組込み機器における実行環境の変更の例を模式的に図示する図である。
【図８】実施の形態１及び２のセキュリティ装置を備える組込み機器における実行環境の変更の例を模式的に図示する図である。
【図９】実施の形態２のセキュリティ装置を構成する組込み制御装置を模式的に図示するブロック図である。
【図１０】実施の形態２のセキュリティ装置を構成する組込み制御装置に記憶される主機能動作モードテーブルを模式的に図示する図である。
【図１１】実施の形態２のセキュリティ装置における、組込み機器がサイバー攻撃を受けた場合のＧＷの動作を示すフローチャートである。
【図１２】実施の形態２のセキュリティ装置における、組込み機器がサイバー攻撃を受けた場合の組込み制御装置の動作を示すフローチャートである。
【図１３】実施の形態２のセキュリティ装置における、組込み制御装置が主機能を実行している場合の組込み制御装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
１  実施の形態１
１．１  組込み機器の概略
図１は、実施の形態１のセキュリティ装置を内蔵する組込み機器を模式的に図示するブロック図である。
【００１８】
図１に図示される組込み機器１０００は、組込み制御装置１０２０、組込み制御装置１０２１、組込み制御装置１０２２、組込み制御装置１０２３、制御系ネットワーク１０４０、外部接続系ネットワーク１０６０、外部接続系ネットワーク１０６１、外部接続系ネットワーク１０６２、ゲートウェイ（ＧＷ）１０８０、通信インターフェース（Ｉ／Ｆ）１１００、通信Ｉ／Ｆ１１０１及び通信Ｉ／Ｆ１１０２を備える。組込み機器１０００がこれらの要素以外の要素を備えてもよい。
【００１９】
組込み機器１０００は、自動車等の移動体、家電機器、ファクトリーオートメーション（ＦＡ）機器等の機器に搭載される。以下では、組込み機器１０００が自動車に搭載される車載機器であり、組込み制御装置１０２０，１０２１，１０２２及び１０２３が自動車の走行を制御する車両制御エンジンコントロールユニット（ＥＣＵ）であるとして説明を進める。
【００２０】
ＧＷ１０８０及び組込み制御装置１０２０は、組込み機器１０００に対するサイバー攻撃に対抗するセキュリティ装置１１１０を構成する。ＧＷ１０８０がセキュリティ装置１１１０を構成しない場合もある。組込み制御装置１０２１，１０２２又は１０２３がセキュリティ装置１１１０を構成する場合もある。
【００２１】
組込み制御装置１０２０は、組込み機器１０００を制御する主機能を実行し、組込み機器１０００に対するサイバー攻撃に対抗するセキュリティ機能を実行する。組込み制御装置１０２１，１０２２及び１０２３は、組込み機器１０００を制御する主機能を実行するが、組込み機器１０００に対するサイバー攻撃に対抗するセキュリティ機能を実行しない。ただし、本構成は一例であり、上述したとおり、ＧＷ１０８０上に構成されているセキュリティ機能を組込み制御装置１０２１，１０２２又は１０２３上に構成してもよい。
【００２２】
制御系ネットワーク１０４０には、組込み制御装置１０２０，１０２１，１０２２及び１０２３が通信可能に接続される。制御系ネットワーク１０４０には、組込み機器１０００に備えられる組込み制御装置１０２０，１０２１，１０２２及び１０２３等の装置間でやりとりされる制御データが流れる。
【００２３】
外部接続系ネットワーク１０６０，１０６１及び１０６２は、それぞれ通信Ｉ／Ｆ１１００，１１０１及び１１０２に通信可能に接続される。外部接続系ネットワーク１０６０，１０６１及び１０６２は、それぞれ通信Ｉ／Ｆ１１００，１１０１及び１１０２を介して組込み機器１０００の外部に存在する情報通信機器に通信可能に接続される。外部接続系ネットワーク１０６０，１０６１及び１０６２には、組込み機器１０００に備えられる組込み制御装置１０２０，１０２１，１０２２及び１０２３等の装置と組込み機器１０００の外部に存在する情報通信機器との間でやりとりされる通信データが流れる。
【００２４】
外部接続系ネットワーク１０６０，１０６１及び１０６２は、ＧＷ１０８０を介して制御系ネットワーク１０４０に通信可能に接続される。
【００２５】
組込み制御装置１０２０，１０２１，１０２２及び１０２３からなる組込み制御装置群が、他の組込み制御装置群又は単独の組込み制御装置に置き換えられてもよい。制御系ネットワーク１０４０、外部接続系ネットワーク１０６０、外部接続系ネットワーク１０６１、外部接続系ネットワーク１０６２及びＧＷ１０８０からなるネットワークが、他のネットワークに置き換えられてもよい。セキュリティ機能を実行する組込み制御装置が、組込み制御装置１０２０から組込み制御装置１０２１，１０２２又は１０２３に変更されてもよい。
【００２６】
組込み制御装置１０２０は、中央演算処理装置（ＣＰＵ）コア１１２０、ＣＰＵコア１１２１、ＣＰＵコア１１２２、ＣＰＵコア１１２３、コア間共有キャッシュ１１４０、コア間共有メモリ１１６０及びリードオンリーメモリ（ＲＯＭ）１１８０を備える。組込み制御装置１０２０がこれらの要素以外の要素を備えてもよい。
【００２７】
１．２  セキュリティ装置
図２は、実施の形態１のセキュリティ装置を構成するＧＷの機能的構成を模式的に図示するブロック図である。
【００２８】
ＧＷ１０８０は、図２に図示されるように、ルーティング部１２００、攻撃検知部１２２０、フィルタリング部１２４０及びセキュリティリスクステート決定部１２６０を備える。これらの要素は、インストールされたプログラムをＧＷが実行することより実現される。これらの要素の全部又は一部がプログラムを実行しないハードウェアにより実現されてもよい。ＧＷ１０８０がこれらの要素以外の要素を備えてもよい。攻撃検知部１２２０及びセキュリティリスクステート決定部１２６０が、組込み制御装置１０２０，１０２１，１０２２又は１０２３に実装されてもよい。
【００２９】
ルーティング部１２００は、一のネットワークを経由して受信したパケットを他のネットワークを経由して送信する場合に、当該他のネットワークを適切に選択するルーティングを行う。ルーティングは、ＧＷ１０８０が本来有する機能である。
【００３０】
攻撃検知部１２２０は、組込み機器１０００に対するサイバー攻撃の検知を行う。検知が行われるサイバー攻撃は、自動車外等の組込み機器１０００の外部からの組込み機器１０００に対するサイバー攻撃、組込み機器１０００に不正に装着された装置からの組込み機器１０００に対するサイバー攻撃等である。攻撃検知部１２２０は、外部ネットワーク等を経由して送られてきた攻撃データの検知を行うことにより、組込み機器１０００に対するサイバー攻撃の検知を行う。
【００３１】
フィルタリング部１２４０は、サイバー攻撃により送られてきた攻撃データが外部接続系ネットワーク１０６０，１０６１又は１０６２から制御系ネットワーク１０４０に流入することを防止し、機密データが制御系ネットワーク１０４０から外部接続系ネットワーク１０６０，１０６１又は１０６２に流出することを防止するためにデータのフィルタリングを行う。
【００３２】
セキュリティリスクステート決定部１２６０は、組込み機器１０００に対するサイバー攻撃の検知の結果に基づいて、サイバー攻撃により生じるセキュリティ上の脅威の種類及び危険度の少なくとも一方を示すセキュリティリスクステートを決定する。決定されたセキュリティリスクステートは、ＧＷ１０８０から制御系ネットワーク１０４０を経由して組込み制御装置１０２０に通知される。
【００３３】
図３は、実施の形態１のセキュリティ装置を構成する組込み制御装置の機能的構成を模式的に図示するブロック図である。
【００３４】
組込み制御装置１０２０は、図３に図示されるように、主機能実行部１２８０、セキュリティ機能実行部１３００及び実行環境制御部１３２０を備える。これらの要素は、インストールされたプログラムをＧＷが実行することより実現される。これらの要素の全部又は一部がプログラムを実行しないハードウェアにより実現されてもよい。また、組込み制御装置１０２０においては、ＲＯＭ１１８０等の記憶媒体が、セキュリティ機能テーブル１３４０を記憶する。組込み制御装置１０２０がこれらの要素以外の要素を備えてもよい。
【００３５】
主機能実行部１２８０は、組込み機器１０００を制御する主機能を実行する。
【００３６】
セキュリティ機能実行部１３００は、組込み機器１０００に対するサイバー攻撃に対抗するセキュリティ機能を実行する。セキュリティ機能により、サイバー攻撃に対する保護が組込み機器１０００に与えられる。
【００３７】
実行環境制御部１３２０は、セキュリティリスクステート決定部１２６０により決定されたセキュリティリスクステートに応じて、組込み制御装置１０２０が実行するセキュリティ機能を決定する。また、実行環境制御部１３２０は、セキュリティリスクステート決定部１２６０により決定されたセキュリティリスクステートに応じて、決定したセキュリティ機能を組込み制御装置１０２０が実行することができるように、組込み制御装置におけるセキュリティ機能の実行環境を構成する。また、実行環境制御部１３２０は、セキュリティリスクステート決定部１２６０により決定されたセキュリティリスクステートに応じて、組込み制御装置１０２０における主機能の実行環境を構成する。
【００３８】
セキュリティ機能及び主機能の各機能の実行環境は、各機能を実行するために必要な組込み制御装置１０２０の動作環境である。各機能の実行環境は、各機能に割り当てられる計算機リソース、ＣＰＵコアの動作モード等により規定される。計算機リソースは、ＣＰＵコアの数、ＣＰＵコア１０２０，１０２１，１０２２及び１０２３の使用率の上限、コア間共有キャッシュ１１４０の使用量の上限、コア間共有メモリ１１６０の使用量の上限等である。各機能の実行環境が、各機能に割り当てられる計算機リソース、並びにＣＰＵコアの動作モードに代えて、又は各機能に割り当てられる計算機リソース、並びにＣＰＵコアの動作モードに加えて、各機能に割り当てられる計算機リソース、並びにＣＰＵコアの動作モード以外の設定により規定されてもよい。当該設定は、ネットワーク帯域の使用量の上限、アクセス可能な入出力（Ｉ／Ｏ）ポート、アクセス可能な専用アクセラレータ、割込みが通知されるＣＰＵコアの割付け等である。組込み制御装置１０２０が優先度ベーススケジューリングを行うシステムを備える場合は、ＣＰＵコア１０２０，１０２１，１０２２及び１０２３の使用率に代えて、各機能を実行するタスクの優先度、周期等により各機能の実行環境が規定されてもよい。
【００３９】
図４は、実施の形態１のセキュリティ装置を構成する組込み制御装置に記憶されるセキュリティ機能テーブルを模式的に図示する図である。
【００４０】
実行環境制御部１３２０は、セキュリティ機能、セキュリティ機能の実行環境の構成内容、及び主機能の実行環境の構成内容の決定において、図４に図示されるセキュリティ機能テーブル１３４０を参照する。
【００４１】
セキュリティ機能テーブル１３４０は、複数のセキュリティリスクステート１３６１，１３６２，１３６３，１３６４及び１３６５を含む。また、セキュリティ機能テーブル１３４０は、複数のセキュリティリスクステート１３６１，１３６２，１３６３，１３６４及び１３６５にそれぞれ対応する複数のセキュリティ機能１３８１，１３８２，１３８３，１３８４及び１３８５を含み、複数のセキュリティリスクステート１３６１，１３６２，１３６３，１３６４及び１３６５にそれぞれ対応する複数のセキュリティ機能の実行環境の構成内容１４０１，１４０２，１４０３，１４０４及び１４０５を含み、複数のセキュリティリスクステート１３６１，１３６２，１３６３，１３６４及び１３６５にそれぞれ対応する複数の主機能の実行環境の構成内容１４２１，１４２２，１４２３，１４２４及び１４２５を含む。また、セキュリティ機能テーブル１３４０は、複数のセキュリティリスクステート１３６１，１３６２，１３６３，１３６４及び１３６５にそれぞれ対応する複数の識別子（ＩＤ）１４４１，１４４２，１４４３，１４４４及び１４４５を含む。複数のＩＤ１４４１，１４４２，１４４３，１４４４及び１４４５の各ＩＤは、各ＩＤに対応するセキュリティリスクステート、当該セキュリティリスクステートに対応するセキュリティ機能、当該セキュリティリスクステートに対応するセキュリティ機能の実行環境の構成内容、及び当該セキュリティリスクステートに対応する主機能の実行環境の構成内容の対に付与される。
【００４２】
複数のセキュリティリスクステート１３６１，１３６２，１３６３，１３６４及び１３６５の各セキュリティリスクステートに対応するセキュリティ機能の実行環境の構成内容は、当該各セキュリティリスクステートに対応するセキュリティ機能を決められた時間内に完了するために必要な計算機リソースの見積もり、及びその結果に基づいて決定される。
【００４３】
複数のセキュリティリスクステート１３６１，１３６２，１３６３，１３６４及び１３６５の各セキュリティリスクステートに対応する主機能の実行環境の構成内容は、組込み制御装置１０２０に搭載されている計算機リソース、及び各セキュリティリスクステートに対応するセキュリティ機能の実行環境の構成内容において要求される計算機リソースから、主機能に割り当てることができる計算機リソースを求めることにより決定される。
【００４４】
実行環境制御部１３２０は、セキュリティ機能テーブル１３４０を参照し、セキュリティ機能テーブル１３４０に含まれる複数のセキュリティリスクステート１３６１，１３６２，１３６３，１３６４及び１３６５から、セキュリティリスクステート決定部１２６０により決定されたセキュリティリスクステートに一致するセキュリティリスクステートを選択する。また、実行環境制御部１３２０は、セキュリティ機能テーブル１３４０に含まれる複数のセキュリティ機能１３８１，１３８２，１３８３，１３８４及び１３８５から、選択したセキュリティリスクステートに対応するセキュリティ機能を選択する。また、実行環境制御部１３２０は、セキュリティ機能テーブル１３４０に含まれる複数のセキュリティ機能の実行環境の構成内容１４０１，１４０２，１４０３，１４０４及び１４０５から、選択したセキュリティリスクステートに対応するセキュリティ機能の実行環境の構成内容を選択する。また、実行環境制御部１３２０は、セキュリティ機能テーブル１３４０に含まれる複数の主機能の実行環境の構成内容１４２１，１４２２，１４２３，１４２４及び１４２５から、選択したセキュリティリスクステートに対応する主機能の実行環境の構成内容を選択する。
【００４５】
実行環境制御部１３２０は、選択したセキュリティ機能を、組込み制御装置１０２０により実行されるセキュリティ機能とする。また、実行環境制御部１３２０は、構成するセキュリティ機能の実行環境が、選択したセキュリティ機能の実行環境の構成内容を有するようにする。また、実行環境制御部１３２０は、構成する主機能の実行環境が、選択した主機能の実行環境の構成内容を有するようにする。
【００４６】
これらにより、セキュリティリスクステート決定部１２６０により決定されたセキュリティリスクステートに応じて、組込み制御装置１０２０により実行されるセキュリティ機能が決定され、組込み制御装置１０２０におけるセキュリティ機能の実行環境、及び主機能の実行環境が構成される。
【００４７】
実行環境制御部１３２０が、セキュリティ機能テーブル１３４０を参照せずに、組込み制御装置１０２０により実行されるセキュリティ機構を決定し、組込み制御装置１０２０におけるセキュリティ機能の実行環境、及び主機能の実行環境を構成してもよい。例えば、実行環境制御部１３２０が、条件判定を行うプログラムによりこれらの処理を行ってもよいし、機械学習を行った学習プログラムによりこれらの処理を行ってもよい。
【００４８】
１．３  セキュリティ機能テーブル
図４に図示されるセキュリティリスクステート１３６１は、高い受信頻度で不正メッセージを受信していることを示す。セキュリティリスクステート１３６１は、自動車の不正制御等を目的とした不正データの送信、サービス拒否（ＤｏＳ）攻撃、機密データの盗み出し等を目的としたデータの不正取得等の脅威を想定する。
【００４９】
セキュリティリスクステート１３６１に対応するセキュリティ機能１３８１は、メッセージ認証機能、パケットモニタリング及びデータ暗号化を含む。メッセージ認証機能によれば、メッセージの完全性、及びメッセージの送信元の正当性（真正性）を確保することができ、不正データの送信に対抗することができるようになる。パケットモニタリングによれば、制御系ネットワーク１０４０内の通信量を監視し、異常トラフィックを検知した場合に特定のパケットを遮断することができ、ＤｏＳ攻撃に対抗することができるようになる。データ暗号化によれば、送受信されるデータのモニタリングを不可能にすることができ、データの不正取得に対抗することができるようになる。
【００５０】
セキュリティリスクステート１３６１に対応するセキュリティ機能の実行環境の構成内容１４０１は、ＣＰＵコア１０２０，１０２１，１０２２及び１０２３の使用率の上限、ＣＰＵコアの動作モード、コア間共有キャッシュ１１４０の使用量の上限、並びにコア間共有メモリ１１６０の使用量の上限を含む。セキュリティ機能の実行環境の構成内容１４０１は、セキュリティ機能１３８１を実行するために必要なセキュリティ機能の実行環境を規定する。
【００５１】
セキュリティ機能の実行環境の構成内容１４０１に含まれるＣＰＵコア１０２０，１０２１，１０２２及び１０２３の使用率の上限、コア間共有キャッシュ１１４０の使用量の上限、並びにコア間共有メモリ１１６０の使用量の上限は、それぞれセキュリティ機能の実行環境の構成内容１４０２，１４０３，１４０４及び１４０５に含まれるＣＰＵコア１０２０，１０２１，１０２２及び１０２３の使用率の上限、コア間共有キャッシュ１１４０の使用量の上限、並びにコア間共有メモリ１１６０の使用量の上限より大きい。これにより、複雑な演算を要するデータ暗号化が可能になる。
【００５２】
セキュリティ機能の実行環境の構成内容１４０１に含まれるＣＰＵコアの動作モードは、セキュアモードである。これにより、メッセージ認証機能及びデータ暗号化を実行する際に必要となる鍵へのアクセスが可能になる。
【００５３】
セキュリティリスクステート１３６２は、低い受信頻度で不正メッセージを受信していることを示す。セキュリティリスクステート１３６２における不正メッセージの受信頻度は、セキュリティリスクステート１３６１における不正メッセージの受信頻度より低い。セキュリティリスクステート１３６２は、不正データの送信を想定する。
【００５４】
セキュリティリスクステート１３６２に対応するセキュリティ機能１３８２は、データフォーマット監視を含む。データフォーマット監視とは、データがとり得る値域が仕様上定められている場合に、データが当該値域から外れているか否かを監視し、当該データが当該値域から外れている場合に当該データを改ざんされた不正データとみなすことである。例えば、速度データがとり得る０ｋｍ／ｈ以上２００ｋｍ／以下という値域が仕様上定められている場合には、０ｋｍ／ｈ以上２００ｋｍ／以下という値域から外れる−１０ｋｍ／ｈというデータは改ざんされた不正速度データとみなされる。データフォーマット監視が組込み制御装置１０２０に与える処理負荷は、メッセージ認証機能、パケットモニタリング及びデータ暗号化が組込み制御装置１０２０に与える処理負荷より小さい。データフォーマット監視により、不正データの送信に対抗することができるようになる。小さな処理負荷しか与えないデータフォーマット監視で不正データの送信に対抗するのは、低い受信頻度で不正メッセージを受信していることのセキュリティ上の危険度が比較的低いからである。
【００５５】
セキュリティリスクステート１３６２に対応するセキュリティ機能の実行環境の構成内容１４０２は、ＣＰＵコア１０２０，１０２１，１０２２及び１０２３の使用率の上限、ＣＰＵコアの動作モード、コア間共有キャッシュ１１４０の使用量の上限、並びにコア間共有メモリ１１６０の使用量の上限を含む。セキュリティ機能の実行環境の構成内容１４０２は、セキュリティ機能１３８２を実行するために必要なセキュリティ機能の実行環境を規定する。
【００５６】
セキュリティ機能の実行環境の構成内容１４０２に含まれるＣＰＵコアの動作モードは、通常モードである。これは、鍵等の高い秘匿性を有するデータへのアクセスが不要であるためである。
【００５７】
セキュリティリスクステート１３６３は、特定の組込み制御装置ののっとり、又は特定の組込み制御装置へのなりすましにつながる攻撃シナリオを検知したことを示す。セキュリティリスクステート１３６３は、自動車の不正制御等を目的とした不正データの送信、機密データの盗み出し等を目的としたデータの不正取得等の脅威を想定する。
【００５８】
プログラムが外部ネットワークを経由して組込み制御装置ののっとり、又は組込み制御装置へのなりすましを試みる場合は、攻撃シナリオが存在し、当該プログラムが当該攻撃シナリオに合致する挙動を示す。例えば、組込み制御装置をのっとることを試みるプログラムは、下記の攻撃シナリオ（１），（２），（３）及び（４）に合致する挙動を示す。
【００５９】
（１）ネットワーク検査コマンドによりＩＰアドレスを取得する。
【００６０】
（２）ポートスキャンを行い、各ポートにより提供されるサービスを特定する。
【００６１】
（３）複数のパケットを各ポートに送り付け、送り付けた複数のパケットに対する反応により各ポートを使用しているソフトウェアの種別及び版数を特定する。
【００６２】
（４）特定したソフトウェアの種別及び版数に脆弱性が存在する場合は、存在する脆弱性を利用して組込み制御装置をのっとる。
【００６３】
したがって、プログラムが示す挙動を監視し、攻撃シナリオに合致する挙動を検知することにより、特定の組込み制御装置ののっとり、及び特定の組込み制御装置へのなりすましにつながる攻撃シナリオを検知することができる。
【００６４】
セキュリティリスクステート１３６３に対応するセキュリティ機能１３８３は、メッセージ認証機能及びデータ暗号化を含む。メッセージ認証機能によれば、先述したように、メッセージの完全性、及びメッセージの送信元の正当性（真正性）を確保することができる、不正データの送信に対抗することができるようになる。データ暗号化によれば、先述したように、送受信されるデータのモニタリングを不可能にすることができ、データの不正取得への対抗が可能になる。
【００６５】
セキュリティリスクステート１３６３に対応するセキュリティ機能の実行環境の構成内容１４０３は、ＣＰＵコア１０２０，１０２１，１０２２及び１０２３の使用率の上限、ＣＰＵコアの動作モード、コア間共有キャッシュ１１４０の使用量の上限、並びにコア間共有メモリ１１６０の使用量の上限を含む。セキュリティ機能の実行環境の構成内容１４０３は、セキュリティ機能１３８３を実行するために必要なセキュリティ機能の実行環境を規定する。
【００６６】
セキュリティ機能の実行環境の構成内容１４０３に含まれるＣＰＵコアの動作モードは、セキュアモードである。これにより、メッセージ認証機能及びデータ暗号化を実行する際に必要となる鍵へのアクセスが可能になる。
【００６７】
セキュリティ機能テーブル１３４０に含まれるセキュリティリスクステート１３６４は、データの不正取得につながる攻撃シナリオを検知したことを示す。セキュリティリスクステート１３６４は、機密データの盗み出し等を目的としたデータの不正取得等の脅威を想定する。
【００６８】
セキュリティリスクステート１３６４に対応するセキュリティ機能１３８４は、データ暗号化を含む。データ暗号化によれば、先述したように、送受信されるデータのモニタリングを不可能にすることができ、データの不正取得に対抗することができるようになる。
【００６９】
セキュリティリスクステート１３６４に対応するセキュリティ機能の実行環境の構成内容１４０４は、ＣＰＵコア１０２０，１０２１，１０２２及び１０２３の使用率の上限、ＣＰＵコアの動作モード、コア間共有キャッシュ１１４０の使用量の上限、並びにコア間共有メモリ１１６０の使用量の上限を含む。セキュリティ機能の実行環境の構成内容１４０４は、セキュリティ機能１３８４を実行するために必要なセキュリティ機能の実行環境を規定する。
【００７０】
セキュリティ機能の実行環境の構成内容１４０４に含まれるＣＰＵコアの動作モードは、セキュアモードである。これにより、データ暗号化を実行する際に必要となる鍵へのアクセスが可能になる。
【００７１】
セキュリティリスクステート１３６５は、不正な機器を制御用ネットワーク１０４０に直接的に接続する不正接続が行われたことを示す。セキュリティリスクステート１３６５は、不正データの送信、データの不正取得、組込み制御装置１０２０上での不正プログラムの実行等の脅威を想定する。不正プログラムの実行は、不正プログラムが組込み制御装置１０２０にインストールされ、インストールされた不正プログラムが実行されることを想定する。
【００７２】
セキュリティリスクステート１３６５に対応するセキュリティ機構１３８５は、メッセージ認証機能、リソースモニタリング及びデータ暗号化を含む。メッセージ認証機能によれば、先述したように、メッセージの完全性、及びメッセージの送信元の正当性（真正性）を確保することができ、不正データの送信に対抗することができるようになる。リソースモニタリングによれば、プログラムの実行プロファイルを監視し、監視している実行プロファイルが異常な挙動を示した場合に当該プログラムの実行を制限することができ、不正プログラムの実行に対抗することができるようになる。監視される実行プロファイルは、ＣＰＵコア１０２０，１０２１，１０２２及び１０２３の使用率、コア間共有メモリ１１６０の使用量等である。データ暗号化によれば、先述したように、送受信されるデータのモニタリングを不可能にすることができ、データの不正取得に対抗することができるようになる。
【００７３】
セキュリティリスクステート１３６５に対応するセキュリティ機能の実行環境の構成内容１４０５は、ＣＰＵコア１０２０，１０２１，１０２２及び１０２３の使用率の上限、ＣＰＵコアの動作モード、コア間共有キャッシュ１１４０の使用量の上限、並びにコア間共有メモリ１１６０の使用量の上限を含む。セキュリティ機能の実行環境の構成内容１４０５は、セキュリティ機能１３８５を実行するために必要なセキュリティ機能の実行環境を規定する。
【００７４】
セキュリティ機能の実行環境の構成内容１４０５に含まれるＣＰＵコアの動作モードは、特権モードである。これにより、リソースモニタリングを実行する際に必要となるＣＰＵに組み込まれているパフォーマンスモニタユニット（ＰＭＵ）へのアクセスが可能になる。
【００７５】
１．４  動作
図５は、実施の形態１のセキュリティ装置における、組込み機器がサイバー攻撃を受けた場合のＧＷの動作を示すフローチャートである。図６は、実施の形態１のセキュリティ装置における、組込み機器がサイバー攻撃を受けた場合の組込み制御装置の動作を示すフローチャートである。
【００７６】
図５に図示されるステップＳ１０１においては、攻撃検知部１２２０が、攻撃検知処理を実行する。攻撃検知処理においては、組込み機器１０００に対してサイバー攻撃が行われていることが検知される。
【００７７】
ステップＳ１０１に続くステップＳ１０２においては、攻撃の有無が判定される。ステップＳ１０２において組込み機器１０００に対してサイバー攻撃が行われていると判定された場合は、処理がステップＳ１０３に進められる。一方、ステップＳ１０２において組込み機器１０００に対してサイバー攻撃が行われていないと判定された場合は、処理がステップＳ１０５に進められる。
【００７８】
サイバー攻撃が行われていると判定された場合は、ステップＳ１０３において、フィルタリング部１２４０がパケットフィルタリングを実行し、ステップＳ１０３に続くステップＳ１０４において、セキュリティリスクステート決定部１２６０がセキュリティリスクステートを決定する。パケットフィルタリングにより、不正なパケットが遮断される。セキュリティリスクステートは、サイバー攻撃の内容を示す情報から決定される。
【００７９】
ステップＳ１０２又はＳ１０４に続くステップＳ１０５においては、セキュリティリスクステート決定部１２６０が、組込み制御装置１０２０にセキュリティリスクステートを通知する。ステップＳ１０２において組込み機器１０００に対してサイバー攻撃が行われていると判定されステップＳ１０４においてセキュリティリスクステートが決定された場合は、通知されるセキュリティリスクステートは、ステップＳ１０４において決定されたセキュリティリスクステートである。ステップＳ１０２において組込み機器１０００に対してサイバー攻撃が行われていないと判定された場合は、通知されるセキュリティリスクステートは、組込み機器１０００に対してサイバー攻撃が行われていないことを示すセキュリティリスクステートである。
【００８０】
ステップＳ１０５に続くステップＳ１０６においては、ルーティング部１２００が、正常パケットルーティングを実行する。正常パケットルーティングにおいては、サイバー攻撃に晒されていない通常のデータが適切なネットワークにルーティングされる。
【００８１】
実行環境制御部１３２０は、セキュリティリスクステートの受信に同期して、図６に図示されるステップＳ１０７からＳ１１０までを含む実行環境制御処理を開始する。セキュリティリスクステートの受信に同期して実行環境制御処理が開始される同期処理に代えて、非同期処理が実行されてもよい。例えば、主機能実行部１２８０が主機能の実行を開始する際に実行環境制御部１３２０が実行環境制御処理を開始する非同期処理が実行されてもよい。
【００８２】
ステップＳ１０７においては、実行環境制御部１３２０が、セキュリティ機能テーブル１３４０を参照する。また、実行環境制御部１３２０は、通知されたセキュリティリスクステートに対応するセキュリティ機能の実行環境の構成内容、及び主機能の実行環境の構成内容を取得する。
【００８３】
ステップＳ１０７に続くステップＳ１０８においては、実行環境制御部１３２０が、取得した主機能の実行環境の構成内容にしたがって主機能の実行環境を構成する。ただし、主機能の実行環境を構成することが不要である場合は、ステップＳ１０８は実行されない。例えば、セキュリティ機能に割り当てられるＣＰＵコア、及びセキュリティ機能を実行するタスクの優先度に応じて主機能の実行環境がオペレーティングシステム等のシステムソフトウェアにより自動的に制御される場合は、ステップＳ１０８は実行されない。主機能の実行環境を構成することは、セキュリティ機能を実行しないＣＰＵコアへの主機能のコアマイグレーション、メモリ使用量の制限、ＣＰＵ使用率の制限、割り込み用のＣＰＵコアの再割付け、Ｉ／Ｏ用のＣＰＵコアの再割付け、キャッシュメンテナンス処理、及びメモリ管理ユニット（ＭＭＵ）の再設定の少なくともひとつを含む。
【００８４】
ステップ１０８に続くステップＳ１０９においては、実行環境制御部１３２０が、取得したセキュリティ機能の実行環境の構成内容にしたがってセキュリティ機能の実行環境を構成する。セキュリティ機能の実行環境を構成することは、セキュリティ機能を実行するＣＰＵコアの割付け、ＣＰＵの動作モードの設定、割り込み用のＣＰＵコアの割付け、Ｉ／Ｏ用のＣＰＵコアの再割付け、及びキャッシュロックダウンの設定の少なくともひとつを含む。
【００８５】
ステップＳ１０９に続くステップＳ１１０においては、セキュリティ機能が起動される。
【００８６】
１．５  実行環境の変更の例
図７及び図８は、実施の形態１のセキュリティ装置を備える組込み機器における実行環境の変更の例を模式的に図示する図である。
【００８７】
図７には、決定されたセキュリティリスクステートが組込み機器１０００に対してサイバー攻撃が行われていないことを示す低いセキュリティリスクステートである場合の状態が図示される。図７には、このような通常動作時の状態においては、組込み制御装置１０２０に搭載されている計算機リソースの全部が主機能１４６０の実行に使用されている状態が図示される。
【００８８】
図８には、決定されたセキュリティリスクステートがセキュリティリスクステート１３６５である場合の状態が図示される。図８には、このようなセキュリティ強化動作時においては、組込み制御装置１０２０に搭載されている計算機リソースに含まれる１個のＣＰＵコア１１２３、コア間共有キャッシュ１１４０の一部、及びコア間共有メモリ１１６０の一部がセキュリティ機能１４６１の実行に使用されており、組込み制御装置１０２０に搭載されている計算機リソースに含まれる残りが主機能１４６０の実行に使用されている状態が図示される。
【００８９】
１．６  実施の形態１の効果
実施の形態１においては、サイバー攻撃により生じるセキュリティ上の脅威の種類及び危険度の少なくとも一方に応じて、組込み制御装置１０２０がサイバー攻撃に対抗するセキュリティ機能を実行することができるように組込み制御装置１０２０におけるセキュリティ機能の実行環境が構成される。このため、組込み制御装置１０２０における主機能の実行への影響を抑制しながらセキュリティ機能を適切に実行することができる。特に、セキュリティ上のリスクが高い場合に高度なセキュリティ機能を実行することができる。
【００９０】
２  実施の形態２
実施の形態１においては、セキュリティリスクステートに応じて主機能の実行環境が構成されるが、主機能の内容はセキュリティリスクステートの影響を受けない。これに対して、実施の形態２においては、セキュリティリスクステートに応じて主機能の実行環境が構成されるのに加えて、セキュリティ機能の内容に応じて主機能の内容が変更される。
【００９１】
以下では、上記の相違に関連する実施の形態２の構成が説明される。説明されない構成については、実施の形態１において採用された構成がそのまま又は変形されてから実施の形態２においても採用される。
【００９２】
図９は、実施の形態２のセキュリティ装置を構成する組込み制御装置を模式的に図示するブロック図である。
【００９３】
図９に図示される組込み制御装置１０２０は、実施の形態１と同様に、主機能実行部１２８０、セキュリティ機能実行部１３００及び実行環境制御部１３２０を備える。また、組込み制御装置１０２０においては、ＲＯＭ１１８０等の記憶媒体が、実施の形態１と同様に、セキュリティ機能テーブル１３４０を記憶する。加えて、組込み制御装置１０２０においては、ＲＯＭ１１８０等の記憶媒体が、主機能動作モードテーブル１４８０を記憶する。
【００９４】
実行環境制御部１３２０は、セキュリティ機能の実行環境を構成した場合に、主機能に割り当てることができる組込み制御装置１０２０の計算機リソースにより実行することができるように主機能の動作モードを決定する。また、実行環境制御部１３２０は、決定した主機能の動作モードで主機能を実行することができるように組込み制御装置１０２０における主機能の実行環境を構成する。
【００９５】
図１０は、実施の形態２のセキュリティ装置を構成する組込み制御装置に記憶される主機能動作モードテーブルを模式的に図示する図である。
【００９６】
実行環境制御部１３２０は、主機能の動作モードの決定において、図１０に図示される主機能動作モードテーブル１４８０を参照する。
【００９７】
主機能動作モードテーブル１４８０は、複数のセキュリティリスクステート１３６１，１３６２，１３６３，１３６４及び１３６５を含む。また、主機能動作モードテーブル１４８０は、複数のセキュリティリスクステート１３６１，１３６２，１３６３，１３６４及び１３６５にそれぞれ対応する主機能の複数の動作モード１５０１，１５０２，１５０３，１５０４及び１５０５を含む。
【００９８】
複数のセキュリティリスクステート１３６１，１３６２，１３６３，１３６４及び１３６５の各セキュリティリスクステートに対応する主機能の動作モードは、各セキュリティリスクステートに対応するセキュリティ機能に割り当てられておらず主機能に割り当てることができる計算機リソースにより実行可能であるように決定されている。
【００９９】
実行環境制御部１３２０は、主機能動作モードテーブル１４８０を参照し、主機能動作モードテーブル１４８０に含まれる複数のセキュリティリスクステート１３６１，１３６２，１３６３，１３６４及び１３６５から、セキュリティリスクステート決定部１２６０により決定されたセキュリティリスクステートに一致するセキュリティリスクステートを選択する。また、実行環境制御部１３２０は、主機能動作モードテーブル１４８０に含まれる主機能の複数の動作モード１５０１，１５０２，１５０３，１５０４及び１５０５から、選択したセキュリティリスクステートに対応する主機能の動作モードを選択する。
【０１００】
主機能実行部１２８０は、選択した主機能の動作モードで主機能を実行する。
【０１０１】
これらにより、セキュリティリスクステート決定部１２６０により決定されたセキュリティリスクステートに応じて、主機能の動作モードが決定される。また、実施の形態１において説明したようにセキュリティリスクステート決定部１２６０により決定されたセキュリティリスクステートに応じて主機能の実行環境が構成されることにより、主機能の実行環境は、決定された主機能の動作モードで主機能を実行することができる。
【０１０２】
望ましくは、実行環境制御部１３２０は、セキュリティ機能の実行環境を構成した場合に、セキュリティリスクステート決定部１２６０により決定されたセキュリティリスクステートにおけるセキュリティ上の要求を満たすように主機能の動作モードを決定する。したがって、計算機リソースにより実行可能である一の主機能の動作モードが存在する場合であっても、当該一の主機能の動作モードがセキュリティリスクステート決定部１２６０により決定されたセキュリティステートにおけるセキュリティ上の要求を満たさない場合は、当該一の主機能の動作モードが採用されず、当該一の主機能の動作モードの機能より低い機能を有し当該一の主機能の動作モードの機能より低い機能を有する他の主機能の動作モードが採用される。
【０１０３】
２．１  主機能動作モードテーブル
図１０に図示されるセキュリティリスクステート１３６１に対応する主機能の動作モード１５０１は、フェールセーフモードである。フェールセーフモードにおいては、主機能の実行が急に停止されることはないが、主機能の実行が段階的に停止される。フェールセーフモードは、主機能の実行環境が主機能を実行する余裕を有するが、主機能の実行を長時間にわたって継続することが困難である場合に採用される。
【０１０４】
セキュリティリスクステート１３６３及び１３６５にそれぞれ対応する主機能の動作モード１５０３及び１５０５は、縮退動作継続モードである。縮退動作継続モードにおいては、主機能が縮退させられて主機能の一部の実行が継続される。縮退動作継続モードは、主機能の実行環境が主機能を実行することができるが、計算機リソースの制約から主機能の全体を実行することが困難であり主機能の一部のみを実行することが必要である場合に採用される。
【０１０５】
セキュリティリスクステート１３６２及び１３６４にそれぞれ対応する主機能の動作モード１５０２及び１５０４は、動作時間の上限を有する本来動作継続モードである。本来動作継続モードにおいては、主機能の全体の実行が継続される。動作時間の上限を有する本来動作継続モードは、主機能の実行環境が主機能を実行することができ、計算機リソースが主機能に十分に割り当てられているが、主機能の実行が長時間にわたって継続された場合は計算機リソースが不足し組込み制御装置１０２０の安定性が低下することが見込まれる場合に採用される。
【０１０６】
縮退動作継続モードで主機能の実行が継続されている時間が動作時間の上限を超えたにもかかわらず、セキュリティリスクステート決定部１２６０がセキュリティ上のリスクが解消したと判断しておらずセキュリティリスクステート決定部１２６０により決定されたセキュリティリスクステートが組込み機器１０００に対するサイバー攻撃が行われていない場合のセキュリティリスクステートに変化しない場合は、主機能の動作モードは、動作時間の上限を有する本来動作継続モードから縮退動作継続モード又はフェールセーフモードへ移行する。
【０１０７】
２．２  動作
図１１は、実施の形態２のセキュリティ装置における、組込み機器がサイバー攻撃を受けた場合のＧＷの動作を示すフローチャートである。図１２は、実施の形態２のセキュリティ装置における、組込み機器がサイバー攻撃を受けた場合の組込み制御装置の動作を示すフローチャートである。
【０１０８】
図１１に図示されるステップＳ２０１からＳ２０６までは、それぞれ図５に図示されるステップＳ１０１からＳ１０６までと同様のステップである。
【０１０９】
実行環境制御部１３２０は、セキュリティリスクステートの受信に同期して、図１２に図示されるステップＳ２０７からＳ２１３までを含む実行環境制御処理を開始する。
【０１１０】
ステップＳ２０７においては、実行環境制御部１３２０が、セキュリティ機能テーブル１３４０を参照する。また、実行環境制御部１３２０は、通知されたセキュリティリスクステートに対応するセキュリティ機能の実行環境の構成内容、及び主機能の実行環境の構成内容を取得する。
【０１１１】
ステップＳ２０７に続くステップＳ２０８においては、実行環境制御部１３２０が、主機能動作モードテーブル１４８０を参照する。また、実行環境制御部１３２０は、通知されたセキュリティリスクステートに対応する主機能の動作モードを取得する。
【０１１２】
ステップＳ２０８に続くステップＳ２０９においては、実行環境制御部１３２０が、取得した主機能の実行環境の構成内容にしたがって主機能の実行環境を構成する。
【０１１３】
ステップＳ２０９に続くステップＳ２１０においては、実行環境制御部１３２０が、取得したセキュリティ機能の実行環境の構成内容にしたがってセキュリティ機の実行環境を構成する。
【０１１４】
ステップＳ２１０に続くステップＳ２１１においては、主機能の動作モードの変更の有無が判定される。ステップＳ２１１において主機能の動作モードが変更されたと判定された場合は、処理がステップＳ２１２に進められる。ステップＳ２１１において主機能の動作モードが変更されていないと判定された場合は、処理がステップＳ２１３に進められる。
【０１１５】
主機能の動作モードが変更されたと判定された場合は、ステップＳ２１２において、変更後の主機能の動作モードで主機能が起動される。
【０１１６】
ステップＳ２１１又はステップＳ２１２に続くステップＳ２１３においては、セキュリティ機能が起動される。
【０１１７】
図１３は、実施の形態２のセキュリティ装置における、組込み制御装置が主機能を実行している場合の組込み制御装置の動作を示すフローチャートである。
【０１１８】
ステップＳ３０１においては、主機能実行部１２８０が、主機能を起動した後に、現在の主機能の動作モードが時間制約付き動作モードであるか否かを判定する。先述した例においては、動作時間の上限を有する本来動作継続モードが時間制約付きの動作モードに該当する。ステップＳ３０１において現在の主機能の動作モードが時間制約付き動作モードであると判定された場合は、処理がステップＳ３０２に進められる。ステップＳ３０１において現在の主機能の動作モードが時間制約付き動作モードでないと判定された場合は、処理がステップＳ３０４に進められる。
【０１１９】
ステップＳ３０２においては、主機能実行部１２８０が、現在の主機能の動作モードで主機能の実行が継続されている実行継続時間があらかじめ設定された閾値を超えているか否かを判定する。ステップＳ３０２において現在の主機能の動作モードで主機能の実行が継続されている時間が閾値を超えていると判定された場合は、処理がステップＳ３０３に進められる。ステップＳ３０２において現在の主機能の動作モードで主機能の実行が継続されている時間が閾値を超えていないと判定された場合は、処理がステップＳ３０４に進められる。
【０１２０】
現在の主機能の動作モードが時間制約付き動作モードであると判定され、現在の主機能の動作モードで主機能の実行が継続されている時間が閾値を超えていると判定された場合は、ステップＳ３０３において、主機能実行部１２８０が、主機能の動作モードを、時間制約付き動作モードから、時間制約付き動作モードの機能より低い機能を有し時間制約付き動作モードのセキュリティ上のリスクより低いセキュリティ上のリスクを有する別の動作モードに変更する。先述した例においては、フェールセーフモード及び縮退動作継続モードが別の動作モードに該当する。
【０１２１】
ステップＳ３０４においては、主機能実行部１２８０が、主機能を実行する。現在の主機能の動作モードが時間制約付き動作モードでない場合、又は現在の主機能の動作モードが時間制約付き動作モードであるが実行継続時間が閾値を超えていない場合は、現在の主機能の動作モードで主機能が実行される。また、現在の主機能の動作モードが時間制約付き動作モードであり、実行継続時間が閾値を超えた場合は、別の動作モードで主機能が実行される。
【０１２２】
したがって、主機能実行部１２８０は、時間制約付き動作モード、及び時間制約付き動作モードの機能より低い機能を有し時間制約付き動作モードのセキュリティ上のリスクより低いセキュリティ上のリスクを有する別の動作モードで主機能を実行することができる。また、主機能の動作モードが時間制約付き動作モードにされた後に、セキュリティリスクステートが変更されないまま時間制約付き動作モードで主機能の実行が継続されている時間が閾値を超えた場合は、主機能の動作モードが、時間制約付き動作モードから別の動作モードに変更される。
【０１２３】
２．３  実施の形態２の効果
実施の形態２においても、実施の形態１と同様に、サイバー攻撃により生じるセキュリティ上の脅威の種類及び危険度の少なくとも一方に応じて、組込み制御装置１０２０がサイバー攻撃に対抗するセキュリティ機能を実行することができるように組込み制御装置１０２０におけるセキュリティ機能の実行環境が構成される。このため、組込み制御装置１０２０における主機能の実行への影響を抑制しながらセキュリティ機能を適切に実行することができる。特に、セキュリティ上のリスクが高い場合に高度なセキュリティ機能を実行することができる。
【０１２４】
加えて、実施の形態２においては、主機能の動作モードが変更されることにより、計算機リソースの不足が主機能の実行時に予期せぬ不正動作を引き起こすことが抑制され、組込み制御装置１０２０の信頼性を向上することができる。
【０１２５】
なお、本発明は、その発明の範囲内において、実施の形態を適宜、変形、省略することが可能である。
【０１２６】
この発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
【符号の説明】
【０１２７】
１０００  組込み機器、１０２０  組込み制御装置、１０８０  ゲートウェイ（ＧＷ）、１１１０  セキュリティ装置、１２２０  攻撃検知部、１２６０  セキュリティリスクステート決定部、１２８０  主機能実行部、１３００  セキュリティ機能実行部、１３２０  実行環境制御部、１３４０  セキュリティ機能テーブル、１４８０  主機能動作モードテーブル。
【図１】
2019198137.tif 000003
【図２】
2019198137.tif 000004
【図３】
2019198137.tif 000005
【図４】
2019198137.tif 000006
【図５】
2019198137.tif 000007
【図６】
2019198137.tif 000008
【図７】
2019198137.tif 000009
【図８】
2019198137.tif 000010
【図９】
2019198137.tif 000011
【図１０】
2019198137.tif 000012
【図１１】
2019198137.tif 000013
【図１２】
2019198137.tif 000014
【図１３】
2019198137.tif 000015
【国際調査報告】
2019198137.tif 000016
2019198137.tif 000017