(57)【要約】【課題】組み込み装置の運用に影響を与えることなく、ファームウェアのセキュリティ機能を更新することができる組み込み装置、組み込み装置の制御方法および制御プログラムを提供する。【解決手段】セキュリティ機能を有する組み込み装置は、組み込み装置の制御を行う本体制御部と、セキュリティ機能を実現するセキュリティ機能部と、セキュリティ機能部の管理を行う管理部とを備えている。そして、本体制御部、セキュリティ機能部および管理部は、互いに独立して設けられている。【選択図】図６
2018160041.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティ機能を有する組み込み装置であって、
組み込み装置の制御を行う本体制御部と、
前記セキュリティ機能を実現するセキュリティ機能部と、
前記セキュリティ機能部の管理を行う管理部とを備え、
前記本体制御部、前記セキュリティ機能部および前記管理部は、互いに独立して設けられている
ことを特徴とする組み込み装置。
【請求項２】
本体制御部、セキュリティ機能部および管理部は、互いに独立して動作可能であり、
前記管理部は、前記セキュリティ機能部を停止させた後に、前記セキュリティ機能部を更新し、更新した前記セキュリティ機能部を起動させる制御を行うことが可能であり、
前記本体制御部は、前記セキュリティ機能部を停止させているときにも動作可能である
請求項１記載の組み込み装置。
【請求項３】
本体制御部は、組み込み装置の制御を行うための本体制御プログラムに従って動作し、
セキュリティ機能部は、セキュリティ機能を実現するためのセキュリティプログラムに従って動作し、
前記セキュリティプログラムと前記本体制御プログラムとを異なる記憶領域において記憶する記憶部を備えた
請求項１または請求項２記載の組み込み装置。
【請求項４】
管理部は、セキュリティ機能部を更新するときに、記憶部の記憶領域のうちのセキュリティプログラムが格納された記憶領域のみ更新する
請求項３記載の組み込み装置。
【請求項５】
セキュリティ機能部は、組み込み装置外部からの入力に応じて接続先を本体制御部と管理部とのいずれかに切り替える
請求項１から請求項４のうちのいずれかに１項に記載の組み込み装置。
【請求項６】
セキュリティ機能を有する組み込み装置の制御方法であって、
管理部が、組み込み装置の制御を行う本体制御部とは独立して設けられている前記セキュリティ機能を実現するセキュリティ機能部を停止させた後に、前記セキュリティ機能部を更新し、更新した前記セキュリティ機能部を起動させる
ことを特徴とする組み込み装置の制御方法。
【請求項７】
セキュリティ機能を有するコンピュータに適用される制御プログラムであって、
コンピュータに、
コンピュータの制御を行う本体制御部とは独立して設けられている前記セキュリティ機能を実現するセキュリティ機能部を停止させる処理と、
前記セキュリティ機能部を更新する処理と、
更新した前記セキュリティ機能部を起動させる処理とを
実行させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティ機能を有する組み込み装置、組み込み装置の制御方法および制御プログラムに関する。
【背景技術】
【０００２】
近年、組み込み装置のファームウェアをネットワーク経由で操作できることが一般的となり、セキュリティの重要性が増大してきている。それに伴い、ＯｐｅｎＳＳＬに代表される既存のセキュリティ技術の実装に対する新たな脆弱性の発見と修正が年間数回行われるようになり、それを使用している組み込み装置のファームウェアの更新の頻度が増大している。
【０００３】
関連する技術として、例えば特許文献１や特許文献２には、ファームウェアの更新方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１４１６９６号公報
【特許文献２】特開２０１５−１０８８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、組み込み装置のファームウェアにおける外部ネットワークに対するセキュリティ機構は、図５に示すように、外部と通信を行うモジュール（例：Ｗｅｂサーバ部４０１）にセキュリティライブラリ４０２がリンクされることによって実現されている。このような構成では、セキュリティ機能を更新するためには、セキュリティライブラリ４０２だけでなく、モジュール本体も更新し、セキュリティライブラリ４０２のヘッダファイルを参照して再コンパイルしたものに置き換える必要がある。
【０００６】
こうしたモジュールは複数存在するが、組み込みファームウェアではストレージ容量の制約からパッケージ管理システムを導入していないことが一般的である。そのため、セキュリティ機能だけを更新したいときでも、ファームウェア４００全体の更新が必要となる。また、本体制御部４０３の更新により、組み込み装置５００の再起動が必要となる。
【０００７】
組み込み装置の運用中に本体制御部４０３の更新を行うことはリスクが高いと判断するユーザが多い。そのため、定期的なメンテナンス時期にしか更新しない、または制御に問題がないのであれば更新したくない、などの理由で更新を延期し、更新しないことによるセキュリティ上のリスクが高まる場合がある。
【０００８】
特許文献１，２に記載された装置では、セキュリティのためのモジュールが独立して設けられていないため、上記のような課題が存在する。
【０００９】
そこで、本発明は、組み込み装置の運用に影響を与えることなく、ファームウェアのセキュリティ機能を更新することができる組み込み装置、組み込み装置の制御方法および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明による組み込み装置は、セキュリティ機能を有する組み込み装置であって、組み込み装置の制御を行う本体制御部と、セキュリティ機能を実現するセキュリティ機能部と、セキュリティ機能部の管理を行う管理部とを備え、本体制御部、セキュリティ機能部および管理部は、互いに独立して設けられていることを特徴とする。
【００１１】
本発明による組み込み装置の制御方法は、セキュリティ機能を有する組み込み装置の制御方法であって、管理部が、組み込み装置の制御を行う本体制御部とは独立して設けられているセキュリティ機能を実現するセキュリティ機能部を停止させた後に、セキュリティ機能部を更新し、更新したセキュリティ機能部を起動させることを特徴とする。
【００１２】
本発明による制御プログラムは、セキュリティ機能を有するコンピュータに適用される制御プログラムであって、コンピュータに、コンピュータの制御を行う本体制御部とは独立して設けられているセキュリティ機能を実現するセキュリティ機能部を停止させる処理と、セキュリティ機能部を更新する処理と、更新したセキュリティ機能部を起動させる処理とを実行させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、組み込み装置の運用に影響を与えることなく、ファームウェアのセキュリティ機能を更新することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明による組み込み装置の構成の一例を示すブロック図である。
【図２】ファームウェアの起動処理の一例を示すフローチャートである。
【図３】外部からの組み込み装置の制御処理の一例を示すフローチャートである。
【図４】セキュリティモジュールの更新処理の一例を示すフローチャートである。
【図５】一般的な組み込み装置の構成例を示すブロック図である。
【図６】組み込み装置の最小の構成例を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を、図面を参照して説明する。図１は、本発明による組み込み装置の構成の一例を示すブロック図である。図１に示すように、本実施形態では、組み込み装置３００のファームウェア１０１は、Ｗｅｂサーバ部１０２と、本体制御部１０３と、セキュリティモジュール１０４と更新用ＵＩ（ユーザインタフェース）部１０５とを含み、互いに独立して動作可能に構成されている。例えば、不揮発性メモリ等の記憶部において、互いに独立したプログラムとして異なる記憶領域に記憶されている。以下、Ｗｅｂサーバ部１０２や本体制御部１０３、セキュリティモジュール１０４、更新用ＵＩ（ユーザインタフェース）部１０５が動作を行うとの表現を用いるが、具体的には、単一または複数のマイクロプロセッサ等の組み込み用ＣＰＵ（Central Processing Unit ）が、単一または複数の不揮発性メモリ等の記憶部（図示せず）に記憶されたプログラムに従って処理を実行することにより実現される。
【００１６】
セキュリティモジュール１０４は、組み込み装置３００の外部に設置されるコンソール２００とのインターフェースとしての機能を備えている。すなわち、セキュリティモジュール１０４は、インターネット等の通信ネットワークを介して、組み込み装置３００の外部に設置されるコンソール２００と情報を送受信する機能を備えている。セキュリティモジュール１０４は、例えば、外部ネットワークと内部モジュールを仲介するプロキシサーバ（または、ｓｔｕｎｎｎｅｌのようなトンネリングサービス）として実装されている。
【００１７】
セキュリティモジュール１０４は、コンソール２００から通信ネットワークを介して入力された情報により指定されるアドレスに応じて、Ｗｅｂサーバ部１０２と更新用ＵＩ部１０５とのいずれかに接続する（すなわち接続先を切り替える）機能を備えている。また、セキュリティモジュール１０４は、コンソール２００から通信ネットワークを介して入力された暗号文を平文に復号する機能を備えている。
【００１８】
Ｗｅｂサーバ部１０２は、コンソール２００から通信ネットワークおよびセキュリティモジュール１０４を介して入力された情報に応じて、本体制御部１０３に組み込み装置３００を制御するための指示を出力する機能や、本体制御部１０３を介して組み込み装置３００に関する情報を取得する機能を備えている。
【００１９】
本体制御部１０３は、組み込み装置３００に関する情報を取得する機能や、組み込み装置３００の操作等の制御を行う機能を備えている。
【００２０】
更新用ＵＩ部１０５は、コンソール２００から通信ネットワークおよびセキュリティモジュール１０４を介して入力された情報に応じて、記憶部（図示せず）において、セキュリティモジュール１０４を実現するためのプログラムが格納されている記憶領域を更新する（すなわちプログラムを更新する）機能や、Ｗｅｂサーバ部１０２や本体制御部１０３から独立してセキュリティモジュール１０４を起動および停止させる機能を備えている。
【００２１】
次に、組み込み装置の動作を説明する。
【００２２】
図２は、ファームウェアの起動処理の一例を示すフローチャートである。図１に示す組み込み装置３００の電源が投入されると、図２に示すように、ファームウェア１０１の本体制御部１０３、Ｗｅｂサーバ部１０２、更新用ＵＩ部１０５、セキュリティモジュール１０４の順に起動処理が実行される（ステップＳ１１〜Ｓ１４）。
【００２３】
図３は、外部からの組み込み装置の制御処理の一例を示すフローチャートである。ファームウェア１０１の起動後、外部に設置されたコンソール２００からの組み込み装置３００の制御は、図３に示す順序で実行される。
【００２４】
具体的には、組み込み装置３００において所定の制御を行う場合、ユーザは組み込み装置３００の外部に設けられたコンソール２００を用いて、所定の制御に対応する入力操作を行う。すると、コンソール２００は、通信ネットワークを介して、Ｗｅｂサーバ部１０２を特定するためのアドレスを指定して、セキュリティモジュール１０４に暗号化された本体制御指示情報を送信する（ステップＳ２１）。
【００２５】
次いで、セキュリティモジュール１０４は、コンソール２００から受信した本体制御指示情報を復号し、Ｗｅｂサーバ部１０２に出力する（ステップＳ２２）。
【００２６】
次いで、Ｗｅｂサーバ部１０２は、セキュリティモジュール１０４から出力された本体制御指示情報を入力する（ステップＳ２３）。ステップＳ２１〜Ｓ２３の処理により、Ｗｅｂサーバ部１０２は、コンソール２００から送信された本体制御指示情報を取得する。
【００２７】
次いで、Ｗｅｂサーバ部１０２は、本体制御指示情報を本体制御部１０３に出力する（ステップＳ２４）。
【００２８】
次いで、本体制御部１０３は、Ｗｅｂサーバ部１０２から出力された本体制御指示情報を入力し、本体制御指示情報に従って組み込み装置３００の制御を行う（ステップＳ２５）。例えば、本体制御部１０３は、本体制御指示情報に従って、組み込み装置３００を動作させたり、組み込み装置３００に関する情報を取得したりする。
【００２９】
図３に示すような処理により、組み込み装置３００の外部に設置されたコンソール２００から送信された暗号文による本体制御指示情報は、ファームウェア１０１内部で平文に復号される。そして、本体制御指示情報に従って組み込み装置３００の制御が行われる。
【００３０】
図４は、セキュリティモジュールの更新処理の一例を示すフローチャートである。セキュリティの脆弱性などの対応のためのセキュリティ機能の更新は、図４に示す順序で行われ、セキュリティモジュール１０４のみ更新される。
【００３１】
具体的には、組み込み装置３００のセキュリティ機能を更新する場合、ユーザは組み込み装置３００の外部に設けられたコンソール２００を用いて、セキュリティ機能を更新するための入力操作を行う。すると、コンソール２００は、通信ネットワークを介して、更新用ＵＩ部１０５を特定するためのアドレスを指定して、セキュリティモジュール１０４に暗号化された更新用情報（例えば、更新用プログラムを含む）を送信する（ステップＳ３１）。
【００３２】
セキュリティモジュール１０４は、コンソール２００から受信した更新用情報を復号し、更新用ＵＩ部１０５に出力する。そして、更新用ＵＩ部１０５は、コンソール２００から送信された更新用情報を取得する（ステップＳ３２）。
【００３３】
次いで、更新用ＵＩ部１０５は、セキュリティモジュール１０４の動作を停止させる処理を行う（ステップＳ３３）。
【００３４】
次いで、更新用ＵＩ部１０５は、更新用情報にもとづいて、記憶部において、セキュリティモジュール１０４を実現するためのプログラムが格納されている記憶領域を更新する（ステップＳ３４）。すなわち、セキュリティモジュール１０４を実現するためのプログラムが格納されている記憶領域に更新用プログラムを格納する。換言すれば、更新用ＵＩ部１０５は、セキュリティモジュール１０４を実現するためのプログラムが格納されている記憶領域の内容を書き換える。
【００３５】
次いで、更新用ＵＩ部１０５は、更新したプログラムにもとづいてセキュリティモジュール１０４を起動させる（ステップＳ３５）。
【００３６】
この実施の形態では、セキュリティモジュール１０４は、Ｗｅｂサーバ部１０２、本体制御部１０３および更新用ＵＩ部１０５とは独立して設けられている。すなわち独立して動作可能なプログラムとして、それぞれ異なる記憶領域に記憶されている。例えば、Ｗｅｂサーバ部１０２は、Ｗｅｂサーバ機能を実現するためのＷｅｂサーバ部用プログラムに従って動作し、本体制御部１０３は、組み込み装置３００の制御を行うための本体制御部用プログラムに従って動作し、セキュリティモジュール１０４は、セキュリティ機能を実現するためのセキュリティモジュール用プログラムに従って動作し、更新用ＵＩ部１０５は、セキュリティモジュールの更新機能を実現するための更新用ＵＩ部用プログラムに従って動作する。そして、Ｗｅｂサーバ用プログラム、本体制御プログラム、セキュリティプログラムおよび更新用ＵＩプログラムは、それぞれ異なる記憶領域に記憶されている。そのため、Ｗｅｂサーバ部１０２、本体制御部１０３および更新用ＵＩ部１０５を動作させたまま、ステップＳ３３〜Ｓ３５の処理により、セキュリティモジュール１０４の停止、更新および起動を行うことができる。
【００３７】
また、本実施の形態では、組み込み装置３００において通常の制御を行う場合には、図３のステップＳ２１で示すように、Ｗｅｂサーバ部１０２を特定するアドレスを指定するが、セキュリティ機能の更新を行う場合には、図４のステップＳ３１で示すように、更新用ＵＩ部１０５を特定するアドレスを指定する。そのため、ユーザにとっては別のファームウェアとして認識されることになる。
【００３８】
このようにして、組み込み装置３００の制御とは独立してセキュリティ機能を更新できると同時に、外部からは別の独立したファームウェアとしてみえるようになる。
【００３９】
以上に説明したように、本発明による組み込み装置は、セキュリティ機能部をモジュールに組み込むのではなく、図１のように独立したセキュリティモジュール１０４として外部ネットワークと内部モジュールを仲介するプロキシサーバ（あるいはｓｔｕｎｎｎｅｌのようなトンネリングサービス）として実装すると同時に、セキュリティモジュール１０４を更新するために独立した更新用ＵＩ部１０５を追加し、ファームウェア全体とは別に更新作業を行えるように構成されている。
【００４０】
したがって、本発明による組み込み装置は、組み込みのファームウェアの外部ネットワークのセキュリティ機構について、セキュリティの機能と、当該機能の更新機能を他の機能から独立させることで、装置全体の運用中にセキュリティ機能を容易に更新可能にすることができる。
【００４１】
次に、本発明による組み込み装置の最小構成を説明する。図６は、組み込み装置の最小の構成例を示すブロック図である。図６に示されるように、組み込み装置１は、最小の構成要素として、本体制御部２と、セキュリティ機能部３と、管理部４とを備えている。
【００４２】
図６に示す最小構成の組み込み装置１では、本体制御部２は組み込み装置の制御を行い、セキュリティ機能部はセキュリティ機能を実現し、管理部４はセキュリティ機能部３の管理を行う。そして、本体制御部２、セキュリティ機能部３および管理部４は、互いに独立して設けられている
【００４３】
したがって、最小構成の組み込み装置によれば、組み込み装置の運用に影響を与えることなく、セキュリティ機能を更新することができる。
【００４４】
なお、本実施形態では、以下の（１）〜（５）に示すような組み込み装置の特徴的構成が示されている。
【００４５】
（１）セキュリティ機能を有する組み込み装置（例えば、組み込み装置３００）であって、組み込み装置の制御を行う本体制御部（例えば、本体制御部１０３により実現され、組み込み装置３００に関する情報を取得したり、組み込み装置３００の操作等の制御を行う）と、セキュリティ機能（例えば、コンソール２００から入力された暗号文を復号したり、入力内容に応じて接続先を切り替えたりする機能）を実現するセキュリティ機能部（例えば、セキュリティモジュール１０４により実現される）と、セキュリティ機能部の管理を行う管理部（例えば、更新用ＵＩ部１０５により実現される）とを備え、本体制御部、セキュリティ機能部および管理部は、互いに独立して設けられている（例えば、不揮発性メモリ等の記憶部において、互いに独立して動作可能なプログラムとして異なる記憶領域に記憶されている。図１参照）ことを特徴とする。
【００４６】
（２）組み込み装置において、本体制御部、セキュリティ機能部および管理部は、互いに独立して動作可能であり、管理部は、セキュリティ機能部を停止させた後に、セキュリティ機能部を更新し、更新したセキュリティ機能部を起動させる制御を行うことが可能であり（図４参照）、本体制御部は、セキュリティ機能部を停止させているときにも動作可能であるように構成されていてもよい。
【００４７】
（３）組み込み装置において、本体制御部は、組み込み装置の制御を行うための本体制御プログラム（例えば、本体制御部用プログラム）に従って動作し、セキュリティ機能部は、セキュリティ機能を実現するためのセキュリティプログラム（例えば、セキュリティモジュール用プログラム）に従って動作し、セキュリティプログラムと本体制御プログラムとを異なる記憶領域において記憶する記憶部を備えているように構成されていてもよい。
【００４８】
（４）組み込み装置において、管理部は、セキュリティ機能部を更新するときに、記憶部の記憶領域のうちのセキュリティプログラムが格納された記憶領域のみ更新するように構成されていてもよい。
【００４９】
（５）組み込み装置において、セキュリティ機能部は、組み込み装置外部からの入力（例えば、指定されるアドレス）に応じて接続先を本体制御部（例えば、Ｗｅｂサーバ部１０２を介して本体制御部１０３に接続する）と管理部とのいずれかに切り替える（図３，図４参照）ように構成されていてもよい。
【産業上の利用可能性】
【００５０】
本発明は、ネットワークセキュリティ機構を有する組み込み装置、特に、エンタープライズサーバなど運用を止めないことが重要な分野で用いられるものに好適に適用可能である。
【符号の説明】
【００５１】
１  組み込み装置
２  本体制御部
３  セキュリティ機能部
４  管理部
１０１  ファームウェア
１０２  Ｗｅｂサーバ部
１０３  本体制御部
１０４  セキュリティモジュール
１０５  更新用ＵＩ部
２００  コンソール
３００  組み込み装置
【図１】
2018160041.tif 000003
【図２】
2018160041.tif 000004
【図３】
2018160041.tif 000005
【図４】
2018160041.tif 000006
【図５】
2018160041.tif 000007
【図６】
2018160041.tif 000008