(57)【要約】【課題】ファームウェアの切り替えについて高いセキュリティ機能を実現することのできる組み込み機器および検査装置を提供する。【解決手段】組み込み機器は、複数のファームウェアを記憶する記憶部と、前記記憶部に記憶された前記複数のファームウェアのうちのいずれか１つを動作ファームとして選択する選択部と、前記選択部により選択された前記ファームウェアを用いて動作する処理部と、入力ポートとを備え、前記選択部は、前記組み込み機器の起動時に所定の前記ファームウェアを前記動作ファームウェアとして選択し、前記入力ポートにおいて所定パターンのデータを受けた場合に前記動作ファームウェアを他の前記ファームウェアへ切り替える。【選択図】図１
2017224131.tif 000002
【特許請求の範囲】
【請求項１】
組み込み機器であって、
複数のファームウェアを記憶する記憶部と、
前記記憶部に記憶された前記複数のファームウェアのうちのいずれか１つを動作ファームとして選択する選択部と、
前記選択部により選択された前記ファームウェアを用いて動作する処理部と、
入力ポートとを備え、
前記選択部は、前記組み込み機器の起動時に所定の前記ファームウェアを前記動作ファームウェアとして選択し、前記入力ポートにおいて所定パターンのデータを受けた場合に前記動作ファームウェアを他の前記ファームウェアへ切り替える、組み込み機器。
【請求項２】
前記選択部は、前記組み込み機器の起動時から所定時間以内に前記入力ポートにおいて前記所定パターンのデータを受けた場合に、前記動作ファームウェアを他の前記ファームウェアへ切り替える、請求項１に記載の組み込み機器。
【請求項３】
前記組み込み機器は、さらに、
前記起動時から前記所定時間以内に前記入力ポートにおいて不正なパターンのデータを受けた場合に、前記他のファームウェアを前記記憶部から消去する消去部を備える、請求項２に記載の組み込み機器。
【請求項４】
前記所定パターンは変更可能である、請求項１から請求項３のいずれか１項に記載の組み込み機器。
【請求項５】
複数のファームウェアを記憶可能な組み込み機器を起動させる起動部と、
前記起動部が前記組み込み機器を起動させると所定パターンのデータを前記組み込み機器の入力ポートへ出力する出力ポートとを備える、検査装置。
【請求項６】
前記所定パターンは変更可能である、請求項５に記載の検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組み込み機器および検査装置に関する。
【背景技術】
【０００２】
従来、通常の動作モードと他の動作モードとを切り替えて動作することのできる半導体集積回路が開発されている。たとえば、特開２０１０−２１６９９８号公報（特許文献１）には、以下のようなテストモード設定回路が開示されている。すなわち、テストモード設定回路は、半導体集積回路にテストモードの設定をするテストモード設定回路であって、電圧信号が入力されるＡ／Ｄ変換部と、前記Ａ／Ｄ変換部の出力を時系列データとして保持するデータ保持部と、所定のビットパターンを保持するビットパターン保持部と、前記データ保持部に保持されているデータの少なくとも一部と前記ビットパターン保持部に保持されているビットパターンとを比較し、両者が一致するときテストモード信号を出力するテストモード判定部とを備えている。
【０００３】
また、たとえば、特開平５−０１２４５９号公報（特許文献２）には、以下のようなシングルチップマイクロコンピュータが開示されている。すなわち、シングルチップマイクロコンピュータは、単一半導体基盤上に中央処理装置、記憶部、周辺部、及びプログラマブルＲＯＭ（以下ＰＲＯＭという）を集積し、このＰＲＯＭに対するテスト機能をもつテスト回路を備えたシングルチップマイクロコンピュータにおいて、前記テスト回路は、乱数発生回路と、外部から入力したシリアルデータを保持するシフトレジスタと、このシフトレジスタの出力と前記乱数発生回路により発生した乱数の値とを比較する比較回路と、この比較回路の比較出力が等しい場合のみ外部から前記ＰＲＯＭへのアクセスを可能とする制御回路とからなる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２１６９９８号公報
【特許文献２】特開平５−０１２４５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、半導体集積回路に限らず、通信装置などの他の機器であっても、通常の動作モードと他の動作モードとを切り替えて動作するものがある。このような機器は、たとえば、複数のファームウェアを記憶し、これら複数のファームウェアのうちのいずれか１つのファームウェアを用いて動作する。
【０００６】
このような機器では、予め複数のファームウェアを記憶しているため、通常の動作モードから他の動作モードへ切り替える際、ファームウェアの書き換えを行う必要がない。このため、ファームウェアの書き換えのためのコストを削減することができ、かつ、他の動作モードへの切り替えを迅速に行うことができる。
【０００７】
ここで、通常の動作モードから他の動作モードへの切り替えは、たとえば、ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）およびパスワードを用いて行われることが考えられるが、これらＩＤおよびパスワードが漏洩した場合、意図しないユーザにより他の動作モードへの切り替えが不正に行われる可能性がある。
【０００８】
特に、他の動作モードのためのファームウェアには、通常の動作モードのためのファームウェアと比較して、ユーザによって通常変更されることのない重要な情報が含まれていることが多い。このため、複数のファームウェアを記憶する機器において高いセキュリティ機能が実現されることが求められている。
【０００９】
この発明は、上述の課題を解決するためになされたもので、その目的は、ファームウェアの切り替えについて高いセキュリティ機能を実現することのできる組み込み機器および検査装置を提供することである。
【課題を解決するための手段】
【００１０】
（１）上記課題を解決するために、この発明のある局面に係わる組み込み機器は、複数のファームウェアを記憶する記憶部と、上記記憶部に記憶された上記複数のファームウェアのうちのいずれか１つを動作ファームとして選択する選択部と、上記選択部により選択された上記ファームウェアを用いて動作する処理部と、入力ポートとを備え、上記選択部は、上記組み込み機器の起動時に所定の上記ファームウェアを上記動作ファームウェアとして選択し、上記入力ポートにおいて所定パターンのデータを受けた場合に上記動作ファームウェアを他の上記ファームウェアへ切り替える。
【００１１】
（５）上記課題を解決するために、この発明のある局面に係わる検査装置は、複数のファームウェアを記憶可能な組み込み機器を起動させる起動部と、上記起動部が上記組み込み機器を起動させると所定パターンのデータを上記組み込み機器の入力ポートへ出力する出力ポートとを備える。
【００１２】
本発明は、このような特徴的な処理部を備える組み込み機器として実現することができるだけでなく、かかる特徴的な処理をステップとするファームウェアの切り替え方法として実現したり、かかるステップをコンピュータに実行させるためのプログラムとして実現したりすることができる。
【００１３】
また、本発明は、このような特徴的な処理部を備える検査装置として実現することができるだけでなく、かかる特徴的な処理をステップとするファームウェアの切り替え方法として実現したり、かかるステップをコンピュータに実行させるためのプログラムとして実現したりすることができる。
【発明の効果】
【００１４】
本発明によれば、ファームウェアの切り替えについて高いセキュリティ機能を実現することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の実施の形態に係る組み込み機器の構成を示す図である。
【図２】図２は、本発明の実施の形態に係る検査装置の構成を示す図である。
【図３】図３は、本発明の実施の形態に係る組み込み機器が起動または再起動した際の動作手順を定めたフローチャートである。
【図４】図４は、本発明の実施の形態に係る組み込み機器が起動時から所定時間以内に受けるデータに基づくキーのパターンの例を示す図である。
【発明を実施するための形態】
【００１６】
最初に、本発明の実施形態の内容を列記して説明する。
【００１７】
（１）本発明の実施の形態に係る組み込み機器は、複数のファームウェアを記憶する記憶部と、上記記憶部に記憶された上記複数のファームウェアのうちのいずれか１つを動作ファームとして選択する選択部と、上記選択部により選択された上記ファームウェアを用いて動作する処理部と、入力ポートとを備え、上記選択部は、上記組み込み機器の起動時に所定の上記ファームウェアを上記動作ファームウェアとして選択し、上記入力ポートにおいて所定パターンのデータを受けた場合に上記動作ファームウェアを他の上記ファームウェアへ切り替える。
【００１８】
このように、所定パターンのデータが入力ポートへ入力された場合にファームウェアの切り替えを行う構成により、たとえば第三者により組み込み機器から出力されるデータの解析が行われたとしても、組み込み機器が他のファームウェアで動作可能な機器であることを予測されにくい。このため、ファームウェアの切り替えについて高いセキュリティ機能を実現することができる。
【００１９】
（２）好ましくは、上記選択部は、上記組み込み機器の起動時から所定時間以内に上記入力ポートにおいて上記所定パターンのデータを受けた場合に、上記動作ファームウェアを他の上記ファームウェアへ切り替える。
【００２０】
このような構成により、動作ファームウェアの切り替えが行われる条件が時間的に限定されるため、上記所定パターンが解析される可能性を低くすることができ、ファームウェアの切り替えについてより高いセキュリティ機能を実現することができる。
【００２１】
（３）より好ましくは、上記組み込み機器は、さらに、上記起動時から上記所定時間以内に上記入力ポートにおいて不正なパターンのデータを受けた場合に、上記他のファームウェアを上記記憶部から消去する消去部を備える。
【００２２】
このような構成により、第三者が組み込み機器へアクセスした場合であっても、当該第三者による組み込み機器のファームウェアの切り替えを防ぐことができる。
【００２３】
（４）より好ましくは、上記所定パターンは変更可能である。
【００２４】
このような構成により、上記所定パターンが漏洩した場合などであっても、当該所定パターンを変更することにより、第三者による組み込み機器のファームウェアの切り替えを防ぐことができる。
【００２５】
（５）本発明の実施の形態に係る検査装置は、複数のファームウェアを記憶可能な組み込み機器を起動させる起動部と、上記起動部が上記組み込み機器を起動させると所定パターンのデータを上記組み込み機器の入力ポートへ出力する出力ポートとを備える。
【００２６】
このような構成により、たとえば、組み込み機器がファームウェアの切り替えを行うことのできる機器である場合、当該組み込み機器の入力ポートへ所定パターンのデータを入力してファームウェアの切り替えを行う構成により、第三者により当該組み込み機器から出力されるデータの解析が行われたとしても、当該組み込み機器がファームウェアの切り替え可能な機器であることを予測されにくい。このため、ファームウェアの切り替えについて高いセキュリティ機能を実現することができる。
【００２７】
（６）好ましくは、上記所定パターンは変更可能である。
【００２８】
このような構成により、上記所定パターンが漏洩した場合などであっても、当該所定パターンを変更することにより、第三者による組み込み機器のファームウェアの切り替えを防ぐことができる。
【００２９】
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
【００３０】
［構成および基本動作］
（組み込み機器の構成）
図１は、本発明の実施の形態に係る組み込み機器の構成を示す図である。
【００３１】
図１を参照して、本発明の実施の形態に係る組み込み機器１０１は、タイマ１０と、入力ポート１１と、パターン変換部１２と、リファレンスキー記憶部１３と、判断部１４と、選択部１５と、処理部１６と、ファームウェア記憶部１７と、消去部１８とを備える。
【００３２】
組み込み機器１０１は、複数のファームウェアを記憶し、起動時に所定のファームウェアを動作ファームウェアとして選択する。また、組み込み機器１０１は、入力ポート１１が外部から所定パターンのデータを受けた場合に動作ファームウェアを所定のファームウェアから他のファームウェアへ切り替える。
【００３３】
このように、組み込み機器１０１では、所定パターンのデータが入力ポート１１へ入力された場合にファームウェアの切り替えを行うため、たとえば第三者により組み込み機器１０１から出力されるデータの解析が行われたとしても、組み込み機器１０１が他のファームウェアで動作可能な機器であることを予測されにくい。このため、ファームウェアの切り替えについて高いセキュリティ機能を実現することができる。
【００３４】
より詳細には、タイマ１０は、たとえば、組み込み機器１０１が起動または再起動したタイミングからの時間を計測し、所定時間が経過すると判断部１４に通知する。
【００３５】
入力ポート１１は、検査、デバッグまたは各種内部パラメータの設定などが行われる場合、検査装置に接続される。
【００３６】
パターン変換部１２は、入力ポート１１と検査装置とが接続された状態において、入力ポート１１経由で受けたデータをキーに変換して判断部１４へ出力する。
【００３７】
また、組み込み機器１０１が検査装置と接続されない製品において使用される状態では、たとえば、パターン変換部１２がデータを受けないように当該製品が設計されているか、または、パターン変換部１２が入力ポート１１経由で「０」もしくは「１」で固定されたデータを受けるように当該製品が設計されている。
【００３８】
リファレンスキー記憶部１３は、たとえば、ＦｌａｓｈＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）であって、ファームウェアの切り替えのためのキーであるリファレンスキーを記憶する。
【００３９】
判断部１４は、タイマ１０からの通知、パターン変換部１２から受けたキー、および、リファレンスキー記憶部１３に記憶されているリファレンスキーに基づいて、ファームウェアの切り替えを行うか否かを判断する。
【００４０】
具体的には、判断部１４は、組み込み機器１０１が起動または再起動したタイミングから所定時間が経過するまでの間（以下、単に「所定時間以内」とも称する。）、たとえば１秒間に、入力ポート１１が外部からデータを受けたか否かを確認する。そして、判断部１４は、所定時間以内に入力ポート１１が外部からデータを受けなかった場合、所定時間以内にデータを受けなかった旨を選択部１５に通知する。
【００４１】
また、判断部１４は、所定時間以内に入力ポート１１が外部からデータを受けた場合、当該データのパターンが所定パターンであるか否かを確認する。
【００４２】
すなわち、判断部１４は、所定時間以内に入力ポート１１が受けたデータから得られるキーのパターン（以下、単に「キーのパターン」とも称する。）と、リファレンスキーに基づくパターンとを比較し、これらのパターンが一致するかを確認する。
【００４３】
そして、判断部１４は、これらのパターンが一致する場合、これらのパターンが一致する旨を選択部１５に通知する。
【００４４】
また、判断部１４は、これらのパターンが一致しない場合、所定時間以内に入力ポート１１が外部から受けたデータが不正なデータであるか否かを判断する。
【００４５】
たとえば、判断部１４は、キーのパターンが「０」または「１」で固定されたパターンである場合、所定時間以内に入力ポート１１が外部から受けたデータは不正なデータではないと判断し、当該データが不正なデータではない旨を選択部１５に通知する。
【００４６】
一方、判断部１４は、キーのパターンが「０」または「１」で固定されたパターンではない場合、所定時間以内に入力ポート１１が外部から受けたデータは不正なデータであると判断し、当該データが不正なデータである旨を選択部１５および消去部１８に通知する。
【００４７】
ファームウェア記憶部１７は、複数のファームウェアを記憶する。ファームウェア記憶部１７は、たとえば、検査ファームＦ１を記憶領域Ｔに記憶し、出荷ファームＦ２を記憶領域Ｐに記憶する。検査ファームＦ１は、組み込み機器１０１の検査、デバッグ、または各種内部パラメータの設定を行うためのソフトウェアである。また、出荷ファームＦ２は、組み込み機器１０１が通常の動作を行うためのソフトウェアである。
【００４８】
なお、ファームウェア記憶部１７は、検査ファームＦ１および出荷ファームＦ２に加えて、他のファームウェアを記憶してもよい。また、ファームウェア記憶部１７は、検査ファームＦ１の代わりに他のファームウェアを記憶してもよい。
【００４９】
選択部１５は、判断部１４から受けた通知の内容に基づいて、ファームウェア記憶部１７に記憶された複数のファームウェアのうちのいずれか１つを、動作ファームウェアとして選択する。
【００５０】
具体的には、選択部１５は、組み込み機器１０１の起動時に出荷ファームＦ２を動作ファームウェアとして選択する。なお、組み込み機器１０１の起動時とは、組み込み機器１０１に電力が供給されて組み込み機器１０１が起動したタイミング、および、組み込み機器１０１がリセットなどされることにより再起動したタイミングを含む。
【００５１】
また、選択部１５は、入力ポート１１において所定パターンのデータを受けた場合、動作ファームウェアを検査ファームＦ１へ切り替える。すなわち、選択部１５は、検査ファームウェアＦ１を動作ファームウェアとして選択する。
【００５２】
より詳細には、選択部１５は、たとえば、所定時間以内に入力ポート１１がデータを受けなかった旨の通知を判断部１４から受けた場合、動作ファームウェアの切り替えを行わず、出荷ファームＦ２が動作ファームウェアとして選択されたままとなる。
【００５３】
また、選択部１５は、たとえば、所定時間以内に入力ポート１１において所定パターンのデータを受けた場合、すなわち、キーのパターンとリファレンスキーに基づくパターンとが一致した旨の通知を判断部１４から受けた場合、検査ファームＦ１を動作ファームウェアとして選択する。
【００５４】
また、選択部１５は、たとえば、キーのパターンとリファレンスキーに基づくパターンとが一致せず、かつ、所定時間以内に入力ポート１１が受けたデータが不正なデータではない旨の通知を判断部１４から受けた場合、動作ファームウェアの切り替えを行わず、出荷ファームＦ２が動作ファームウェアとして選択されたままとなる。
【００５５】
また、選択部１５は、たとえば、キーのパターンとリファレンスキーに基づくパターンとが一致せず、かつ、所定時間以内に入力ポート１１が受けたデータが不正なデータである旨の通知を判断部１４から受けた場合もまた、動作ファームウェアの切り替えを行わず、出荷ファームＦ２が動作ファームウェアとして選択されたままとなる。
【００５６】
そして、選択部１５は、選択結果を処理部１６に通知する。
【００５７】
処理部１６は、選択部１５から選択結果の通知を受けると、ファームウェア記憶部１７に記憶されているファームウェアのうち、選択部１５により選択されたファームウェアを用いて動作する。
【００５８】
具体的には、処理部１６は、たとえば、選択部１５により検査ファームウェアＦ１が選択された場合、ファームウェア記憶部１７における記憶領域Ｔから検査ファームウェアＦ１を読み出して動作する。また、処理部１６は、たとえば、選択部１５により出荷ファームウェアＦ２が選択された場合、ファームウェア記憶部１７における記憶領域Ｐから出荷ファームウェアＦ２を読み出して動作する。
【００５９】
消去部１８は、組み込み機器１０１の起動時から所定時間以内に入力ポート１１において不正なパターンのデータを受けた場合に、検査ファームＦ１をファームウェア記憶部１７から消去する。
【００６０】
より詳細には、消去部１８は、キーのパターンとリファレンスキーに基づくパターンとが一致せず、かつ、所定時間以内に入力ポート１１が受けたデータが不正なデータである旨の通知を判断部１４から受けた場合、検査ファームＦ１をファームウェア記憶部１７から消去する。
【００６１】
なお、消去部１８は、所定時間以内に入力ポート１１が不正なデータを一度受けた場合に限らず、たとえば、所定時間以内に入力ポート１１が不正なデータを複数回受けた場合に検査ファームウェアＦ１を消去する構成であってもよい。
【００６２】
（検査装置の構成）
図２は、本発明の実施の形態に係る検査装置の構成を示す図である。
【００６３】
図２を参照して、本発明の実施の形態に係る検査装置１０２は、たとえば、組み込み機器１０１の検査等を行う管理者によって操作される。検査装置１０２は、起動部２０と、出力ポート２１と、パターン変換部２２と、セキュリティキー記憶部２３と、セキュリティキー変更部２４とを備える。
【００６４】
起動部２０は、検査装置１０２と組み込み機器１０１とが接続されると、電力を供給し、組み込み機器１０１を起動させる。また、起動部２０は、組み込み機器１０１を起動させた旨をパターン変換部２２に通知する。
【００６５】
また、起動部２０は、たとえば、検査装置１０２と組み込み機器１０１とが接続された状態において組み込み機器１０１が再起動すると、組み込み機器１０１が再起動した旨をパターン変換部２２に通知する。
【００６６】
セキュリティキー記憶部２３は、たとえば、ＦｌａｓｈＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）であって、組み込み機器１０１を検査ファームウェアＦ１で動作させるためのキーであるセキュリティキーを記憶する。このセキュリティキーに基づくパターンは、組み込み機器１０１のリファレンスキー記憶部１３に記憶されているリファレンスキーに基づくパターンと同じパターンである。
【００６７】
パターン変換部２２は、たとえば、セキュリティキー記憶部２３に記憶されているセキュリティキーに基づくパターンのデータを生成し、生成したデータを出力ポート２１経由で組み込み機器１０１へ出力する。
【００６８】
より詳細には、パターン変換部２２は、たとえば、組み込み機器１０１を起動させた旨の通知または組み込み機器１０１が再起動した旨の通知を起動部２０から受けると、通知を受けたタイミングから所定時間以内に、セキュリティキーに基づくパターンのデータを生成し、生成したデータを出力ポート２１経由で組み込み機器１０１へ出力する。
【００６９】
セキュリティキー変更部２４は、セキュリティキー記憶部２３に記憶されているセキュリティキーを変更することができる。セキュリティキー変更部２４は、たとえば、検査装置１０２におけるＤＩＰＳＷ（Ｄｕａｌ  Ｉｎ−ｌｉｎｅ  Ｐａｃｋａｇｅ  Ｓｗｉｔｃｈ）のオンオフを切り替えることにより、セキュリティキーを新たに設定することができる。
【００７０】
たとえば、セキュリティキー変更部２４は、検査装置１０２と組み込み機器１０１とが接続された状態において検査装置１０２が組み込み機器１０１のファームウェアをバージョンアップする場合、セキュリティキーを変更する。
【００７１】
また、セキュリティキー変更部２４は、たとえば、セキュリティキーを変更した場合、変更した旨をパターン変換部２２に通知する。
【００７２】
パターン変換部２２は、たとえば、セキュリティキーが変更された旨の通知をセキュリティキー変更部２４から受けると、セキュリティキー記憶部２３に記憶されている新たなセキュリティキーに基づくパターンのデータとともに、セキュリティキーが変更された旨の通知を、出力ポート２１経由で組み込み機器１０１へ出力する。
【００７３】
なお、このようなセキュリティキー変更部２４によるセキュリティキーの変更は、組み込み機器１０１のファームウェアのバージョンアップ時に限らず、たとえば、管理者の任意の操作により行われてもよいし、セキュリティキー変更部２４が定期的に行ってもよい。
【００７４】
再び図１を参照して、組み込み機器１０１においても、リファレンスキー記憶部１３に記憶されているリファレンスキーを変更することができる。具体的には、組み込み機器１０１の処理部１６は、たとえば、リファレンスキー記憶部１３の所定領域に新たな値を書き込むことによって、リファレンスキー記憶部１３に記憶されているリファレンスキーを変更することができる。
【００７５】
たとえば、処理部１６は、検査装置１０２の出力ポート２１からセキュリティキーが変更された旨の通知を受けた場合、当該通知とともに受けたデータのパターンを新たなリファレンスキーとする。
【００７６】
なお、図１に示す組み込み機器１０１は、１つの入力ポート１１を備えているが、２つ以上の入力ポート１１を備えてもよい。また、図２に示す検査装置１０２は、１つの出力ポート２１を備えているが、２つ以上の出力ポート２１を備え、各出力ポート２１から異なるパターンのデータを出力してもよい。
【００７７】
このような場合、たとえば、組み込み機器１０１の各入力ポート１１は、検査装置１０２の複数の出力ポート２１からそれぞれ出力されるデータを受ける。そして、組み込み機器１０１は、たとえば、各入力ポート１１が対応する所定のパターンのデータを受けた場合にファームウェアの切り替えを行う構成であってもよい。このような構成によれば、ファームウェアの切り替えに複数のパターンのデータが必要となるため、より高いセキュリティ機能を実現することができる。
【００７８】
［動作］
次に、本発明の実施の形態に係る組み込み機器１０１の動作について説明する。組み込み機器１０１は、コンピュータを備え、当該コンピュータにおけるＣＰＵ等の演算処理部は、以下のフローチャートの各ステップの一部または全部を含むプログラムを図示しないメモリから読み出して実行する。この装置のプログラムは、外部からインストールすることができる。この装置のプログラムは、記録媒体に格納された状態で流通する。
【００７９】
図３は、本発明の実施の形態に係る組み込み機器が起動または再起動した際の動作手順を定めたフローチャートである。また、図４は、本発明の実施の形態に係る組み込み機器が起動時から所定時間以内に受けるデータに基づくキーのパターンの例を示す図である。
【００８０】
ここでは、組み込み機器１０１のファームウェア記憶部１７が、検査ファームウェアＦ１を記憶領域Ｔに記憶し、出荷ファームウェアＦ２を記憶領域Ｐに記憶している状態を想定する。また、リファレンスキーに基づくパターンが「０１０００１０」であるとする。
【００８１】
また、図４に示す「Ｃａｓｅ１」では、組み込み機器１０１が所定時間以内に「０」で固定されたパターンのデータを受ける状態を示す。また、「Ｃａｓｅ２」では、組み込み機器１０１が所定時間以内に「０１０００１０」のパターンのデータを受ける状態を示す。また、「Ｃａｓｅ３」では、組み込み機器１０１が所定時間以内に「０１０１０１０」のパターンのデータを受ける状態を示す。また、「Ｃａｓｅ４」では、組み込み機器１０１が所定時間以外の時間に「０１０００１０」のパターンのデータを受ける状態を示す。
【００８２】
図３および図４を参照して、まず、組み込み機器１０１は、検査装置１０２に接続されて検査装置１０２から電力の供給を受けた場合またはユーザによりリセットなどが行われた場合、起動または再起動する（ステップＳ１１）。
【００８３】
次に、組み込み機器１０１は、出荷ファームウェアＦ２を動作ファームウェアとして選択する（ステップＳ１２）。
【００８４】
次に、組み込み機器１０１は、起動または再起動したタイミングから所定時間以内に入力ポート１１においてデータを受けたか否かを確認する（ステップＳ１３）。
【００８５】
そして、組み込み機器１０１は、所定時間以内に入力ポート１１においてデータを受けなかった場合（ステップＳ１３において「Ｎｏ」）、記憶領域Ｐから出荷ファームウェアＦ２を読み出し、出荷ファームウェアＦ２を用いて動作する（ステップＳ１４）。
【００８６】
なお、組み込み機器１０１は、ステップＳ１２において出荷ファームウェアＦ２を選択した後、所定時間を経過する以前に出荷ファームウェアＦ２を用いた動作を開始してもよい。このような場合であって、組み込み機器１０１は、所定時間以内にデータを受けなかった場合（ステップＳ１３において「Ｎｏ」）、動作ファームウェアの切り替えを行うことなく、出荷ファームウェアＦ２での動作を継続する。
【００８７】
一方、組み込み機器１０１は、所定時間以内に入力ポート１１においてデータを受けた場合（ステップＳ１３において「Ｙｅｓ」）、当該データから得られるキーのパターンとリファレンスキーに基づくパターンとを比較する（ステップＳ１５）。
【００８８】
そして、組み込み機器１０１は、キーのパターンとリファレンスキーに基づくパターンとが一致する場合（ステップＳ１５において「Ｙｅｓ」）、動作ファームウェアを出荷ファームウェアＦ２から検査ファームウェアＦ１へ切り替える（ステップＳ１６）。
【００８９】
そして、組み込み機器１０１は、記憶領域Ｔから出荷ファームウェアＦ１を読み出し、検査ファームウェアＦ１を用いて動作する（ステップＳ１７）。
【００９０】
たとえば、組み込み機器１０１が所定時間以内に受けたデータが図４に示す「Ｃａｓｅ２」のパターンのデータである場合、キーのパターンとリファレンスキーに基づくパターンとは一致する。そして、この場合、組み込み機器１０１は、動作ファームウェアを切り替えて、検査ファームウェアＦ１を用いて動作する。
【００９１】
一方、組み込み機器１０１は、キーのパターンとリファレンスキーに基づくパターンと一致しない場合（ステップＳ１５において「Ｎｏ」）、所定時間以内に受けたデータが不正なデータであるか否かを判断する（ステップＳ１８）。
【００９２】
そして、組み込み機器１０１は、所定時間以内に受けたデータは不正なデータではないと判断した場合（ステップＳ１８において「Ｎｏ」）、記憶領域Ｐから出荷ファームウェアＦ２を読み出し、出荷ファームウェアＦ２を用いて動作する（ステップＳ１４）。
【００９３】
たとえば、組み込み機器１０１は、図４に示す「Ｃａｓｅ１」のパターンのデータを所定時間以内に受けると、当該データは不正なデータではないと判断する。そして、この場合、組み込み機器１０１は、出荷ファームウェアＦ２を用いて動作する。
【００９４】
一方、組み込み機器１０１は、所定時間以内に受けたデータが不正なデータであると判断した場合（ステップＳ１８において「Ｙｅｓ」）、検査ファームウェアＦ１を消去する（ステップＳ１９）。
【００９５】
そして、組み込み機器１０１は、記憶領域Ｐから出荷ファームウェアＦ２を読み出し、出荷ファームウェアＦ２を用いて動作する（ステップＳ１４）。
【００９６】
たとえば、組み込み機器１０１は、図４に示す「Ｃａｓｅ３」ように、所定時間以内に受けたデータが「０」または「１」で固定されたパターンのデータではなく、かつ、リファレンスキーに基づくパターンと異なるパターンのデータである場合、当該データは不正なデータであると判断する。そして、この場合、組み込み機器１０１は、検査ファームウェアＦ１を消去し、出荷ファームウェアＦ２を用いて動作する。
【００９７】
また、組み込み機器１０１は、たとえば、図４に示す「Ｃａｓｅ４」ように、リファレンスキーに基づくパターンと同じパターンのデータを受けた場合であっても、当該データを受けた時間が所定時間以内ではない場合、当該データは不正なデータであると判断する。そして、この場合、組み込み機器１０１は、検査ファームウェアＦ１を消去し、出荷ファームウェアＦ２を用いて動作する。
【００９８】
ところで、半導体集積回路に限らず、通信装置などの他の機器であっても、通常の動作モードと他の動作モードとを切り替えて動作するものがある。このような機器は、たとえば、複数のファームウェアを記憶し、これら複数のファームウェアのうちのいずれか１つのファームウェアを用いて動作する。
【００９９】
このような機器では、予め複数のファームウェアを記憶しているため、通常の動作モードから他の動作モードへ切り替える際、ファームウェアの書き換えを行う必要がない。このため、ファームウェアの書き換えのためのコストを削減することができ、かつ、他の動作モードへの切り替えを迅速に行うことができる。
【０１００】
ここで、通常の動作モードから他の動作モードへの切り替えは、たとえば、ＩＤおよびパスワードを用いて行われることが考えられるが、これらＩＤおよびパスワードが漏洩した場合、意図しないユーザにより他の動作モードへの切り替えが不正に行われる可能性がある。
【０１０１】
特に、他の動作モードのためのファームウェアには、通常の動作モードのためのファームウェアと比較して、ユーザによって通常変更されることのない重要な情報が含まれていることが多い。このため、複数のファームウェアを記憶する機器において高いセキュリティ機能が実現されることが求められている。
【０１０２】
これに対して、本発明の実施の形態に係る組み込み機器１０１では、ファームウェア記憶部１７は、複数のファームウェアを記憶する。また、選択部１５は、ファームウェア記憶部１７に記憶された複数のファームウェアのうちのいずれか１つを動作ファームとして選択する。また、処理部１６は、選択部１５により選択されたファームウェアを用いて動作する。また、選択部１５は、組み込み機器１０１の起動時に所定のファームウェアを動作ファームウェアとして選択し、入力ポート１１において所定パターンのデータを受けた場合に動作ファームウェアを他のファームウェアへ切り替える。
【０１０３】
このように、所定パターンのデータが入力ポート１１へ入力された場合にファームウェアの切り替えを行う構成により、たとえば第三者により組み込み機器１０１から出力されるデータの解析が行われたとしても、組み込み機器１０１が他のファームウェアで動作可能な機器であることを予測されにくい。このため、ファームウェアの切り替えについて高いセキュリティ機能を実現することができる。
【０１０４】
また、本発明の実施の形態に係る組み込み機器１０１では、選択部１５は、組み込み機器１０１の起動時から所定時間以内に入力ポート１１において所定パターンのデータを受けた場合に、動作ファームウェアを他のファームウェアへ切り替える。
【０１０５】
このような構成により、動作ファームウェアの切り替えが行われる条件が時間的に限定されるため、上記所定パターンが解析される可能性を低くすることができ、ファームウェアの切り替えについてより高いセキュリティ機能を実現することができる。
【０１０６】
また、本発明の実施の形態に係る組み込み機器１０１では、消去部１８は、組み込み機器１０１の起動時から所定時間以内に入力ポート１１において不正なパターンのデータを受けた場合に、他のファームウェアをファームウェア記憶部１７から消去する。
【０１０７】
このような構成により、第三者が組み込み機器１０１へアクセスした場合であっても、当該第三者による組み込み機器１０１のファームウェアの切り替えを防ぐことができる。
【０１０８】
また、本発明の実施の形態に係る組み込み機器１０１では、所定パターンは変更可能である。
【０１０９】
このような構成により、上記所定パターンが漏洩した場合などであっても、当該所定パターンを変更することにより、第三者による組み込み機器１０１のファームウェアの切り替えを防ぐことができる。
【０１１０】
また、本発明の実施の形態に係る検査装置１０２では、起動部２０は、複数のファームウェアを記憶可能な組み込み機器１０１を起動させる。また、出力ポート２１は、起動部２０が組み込み機器１０１を起動させると所定パターンのデータを組み込み機器１０１の入力ポート１１へ出力する。
【０１１１】
このような構成により、たとえば、組み込み機器１０１がファームウェアの切り替えを行うことのできる機器である場合、組み込み機器１０１の入力ポート１１へ所定パターンのデータを入力してファームウェアの切り替えを行う構成により、第三者により組み込み機器１０１から出力されるデータの解析が行われたとしても、組み込み機器１０１がファームウェアの切り替え可能な機器であることを予測されにくい。このため、ファームウェアの切り替えについて高いセキュリティ機能を実現することができる。
【０１１２】
また、本発明の実施の形態に係る検査装置１０２では、所定パターンは変更可能である。
【０１１３】
このような構成により、上記所定パターンが漏洩した場合などであっても、当該所定パターンを変更することにより、第三者による組み込み機器１０１のファームウェアの切り替えを防ぐことができる。
【０１１４】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１１５】
以上の説明は、以下に付記する特徴を含む。
【０１１６】
［付記１］
組み込み機器であって、
複数のファームウェアを記憶する記憶部と、
前記記憶部に記憶された前記複数のファームウェアのうちのいずれか１つを動作ファームとして選択する選択部と、
前記選択部により選択された前記ファームウェアを用いて動作する処理部と、
入力ポートとを備え、
前記選択部は、前記組み込み機器の起動時に所定の前記ファームウェアを前記動作ファームウェアとして選択し、前記入力ポートにおいて所定パターンのデータを受けた場合に前記動作ファームウェアを他の前記ファームウェアへ切り替え、
所定の前記ファームウェアは、前記組み込み機器が通常の動作を行うための出荷ファームウェアであり、
他の前記ファームウェアは、前記組み込み機器の検査、デバッグ、または各種内部パラメータの設定を行うための検査ファームウェアである、組み込み機器。
【０１１７】
［付記２］
複数のファームウェアを記憶可能な組み込み機器を起動させる起動部と、
前記起動部が前記組み込み機器を起動させると所定パターンのデータを前記組み込み機器の入力ポートへ出力する出力ポートとを備え、
前記組み込み機器は、出荷ファームウェアおよび検査ファームウェアを記憶し、
前記出荷ファームウェアは、前記組み込み機器が通常の動作を行うためのソフトウェアであり、
前記検査ファームウェアは、前記組み込み機器の検査、デバッグ、または各種内部パラメータの設定を行うためのソフトウェアであり、
前記組み込み機器は、起動時に前記出荷ファームウェアを動作ファームウェアとして選択し、前記入力ポートにおいて前記所定パターンのデータを受けた場合に前記動作ファームウェアを前記検査ファームウェアへ切り替える、検査装置。
【符号の説明】
【０１１８】
１０  タイマ
１１  入力ポート
１２  パターン変換部
１３  リファレンスキー記憶部
１４  判断部
１５  選択部
１６  処理部
１７  ファームウェア記憶部
１８  消去部
２０  起動部
２１  出力ポート
２２  パターン変換部
２３  セキュリティキー記憶部
２４  セキュリティキー変更部
１０１  組み込み機器
１０２  検査装置
【図１】
2017224131.tif 000003
【図２】
2017224131.tif 000004
【図３】
2017224131.tif 000005
【図４】
2017224131.tif 000006