(57)【要約】【課題】ＳＩＭを利用するコンピュータ起動技術の向上を図る。【解決手段】ｅＳＩＭ３０に格納されている期待値３１を使用してＭＣＵ１０を起動するブートローダ２０と、通信モジュール４０とｅＳＩＭ３０とＭＣＵ１０をバス型で接続する配線７０と、通信モジュール４０とＭＣＵ１０がｅＳＩＭ３０へ排他的にアクセスするように制御する制御部２２と、を備える。【選択図】図１
2017090978.tif 000002
【特許請求の範囲】
【請求項１】
ＳＩＭに格納されているブート情報を使用してコンピュータを起動する起動部と、
通信モジュールと前記ＳＩＭと前記コンピュータをバス型で接続する配線と、
前記通信モジュールと前記コンピュータが前記ＳＩＭへ排他的にアクセスするように制御する制御部と、
を備える制御装置。
【請求項２】
前記制御部は、前記コンピュータが前記ＳＩＭへアクセスする期間において継続して前記通信モジュールをリセット状態にする制御を実行する、
請求項１に記載の制御装置。
【請求項３】
前記制御部は、前記コンピュータが前記ＳＩＭへアクセスする期間において継続して前記通信モジュールへの電力供給を停止させる制御を実行する、
請求項１に記載の制御装置。
【請求項４】
前記制御部は、前記コンピュータが前記ＳＩＭへアクセスする期間において前記通信モジュールから前記ＳＩＭへアクセスしないように、前記通信モジュールを制御する、
請求項１に記載の制御装置。
【請求項５】
前記通信モジュールに前記制御部を備え、
前記制御部は、前記コンピュータから前記ＳＩＭへのアクセスを監視し、前記コンピュータが前記ＳＩＭへアクセスする期間において前記通信モジュールから前記ＳＩＭへアクセスしないように、前記通信モジュールを制御する、
請求項１に記載の制御装置。
【請求項６】
ＳＩＭに格納されているブート情報を使用してコンピュータを起動する起動部と、
前記コンピュータと前記ＳＩＭを接続する配線と、
通信モジュールと前記コンピュータを接続する配線と、
前記通信モジュールから前記コンピュータを介して前記ＳＩＭへアクセスするように制御する制御部と、を備え、
前記制御部は、前記通信モジュールと前記コンピュータが前記ＳＩＭへ排他的にアクセスするように制御する、
制御装置。
【請求項７】
コンピュータと、ＳＩＭと、通信モジュールと、請求項１から６のいずれか１項に記載の制御装置と、を備える電子機器。
【請求項８】
通信モジュールとＳＩＭとコンピュータを備える電子機器のブート方法において、
前記通信モジュールと前記ＳＩＭと前記コンピュータをバス型で接続し、
前記電子機器の起動部が、前記ＳＩＭに格納されているブート情報を使用して前記コンピュータを起動する起動ステップと、
前記電子機器の制御部が、前記通信モジュールと前記コンピュータが前記ＳＩＭへ排他的にアクセスするように制御する制御ステップと、
を含むブート方法。
【請求項９】
通信モジュールとＳＩＭとコンピュータを備える電子機器を起動するためのコンピュータプログラムであって、
前記通信モジュールと前記ＳＩＭと前記コンピュータがバス型で接続されてあり、
前記ＳＩＭに格納されているブート情報を使用して前記コンピュータを起動する起動機能と、
前記通信モジュールと前記コンピュータが前記ＳＩＭへ排他的にアクセスするように制御する制御機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、電子機器、ブート方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、コンピュータ起動技術の一つとして、セキュアブート（Secure Boot）が知られている。例えば特許文献１には、通信端末装置のセキュアブートに関する技術が開示されている。このセキュアブート技術では、通信端末装置に備わるＳＩＭカード（Subscriber Identity Module Card）を該通信端末装置のセキュアブートに利用する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１０４０２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上述した従来の通信端末装置のセキュアブート技術では、通信端末装置におけるＳＩＭカードへのアクセスは、該ＳＩＭカードを使用する通信モジュールを介して行われる。このため、通信端末装置のセキュアブートにおいて、通信モジュールが起動するまではＳＩＭカードにアクセスすることができないので、その通信モジュールの起動までの待ち時間分だけ余計にセキュアブートに時間がかかっていた。また、通信モジュールが故障した場合には、ＳＩＭカードにアクセスすることができないので、通信端末装置のセキュアブートを実行することができなかった。
【０００５】
本発明は、このような事情を考慮してなされたものであり、ＳＩＭを利用するコンピュータ起動技術の向上を図ることを課題とする。
【課題を解決するための手段】
【０００６】
（１）本発明の一態様は、ＳＩＭに格納されているブート情報を使用してコンピュータを起動する起動部と、通信モジュールと前記ＳＩＭと前記コンピュータをバス型で接続する配線と、前記通信モジュールと前記コンピュータが前記ＳＩＭへ排他的にアクセスするように制御する制御部と、を備える制御装置である。
（２）本発明の一態様は、上記（１）の制御装置において、前記制御部は、前記コンピュータが前記ＳＩＭへアクセスする期間において継続して前記通信モジュールをリセット状態にする制御を実行する、制御装置である。
（３）本発明の一態様は、上記（１）の制御装置において、前記制御部は、前記コンピュータが前記ＳＩＭへアクセスする期間において継続して前記通信モジュールへの電力供給を停止させる制御を実行する、制御装置である。
（４）本発明の一態様は、上記（１）の制御装置において、前記制御部は、前記コンピュータが前記ＳＩＭへアクセスする期間において前記通信モジュールから前記ＳＩＭへアクセスしないように、前記通信モジュールを制御する、制御装置である。
（５）本発明の一態様は、上記（１）の制御装置において、前記通信モジュールに前記制御部を備え、前記制御部は、前記コンピュータから前記ＳＩＭへのアクセスを監視し、前記コンピュータが前記ＳＩＭへアクセスする期間において前記通信モジュールから前記ＳＩＭへアクセスしないように、前記通信モジュールを制御する、制御装置である。
（６）本発明の一態様は、ＳＩＭに格納されているブート情報を使用してコンピュータを起動する起動部と、前記コンピュータと前記ＳＩＭを接続する配線と、通信モジュールと前記コンピュータを接続する配線と、前記通信モジュールから前記コンピュータを介して前記ＳＩＭへアクセスするように制御する制御部と、を備え、前記制御部は、前記通信モジュールと前記コンピュータが前記ＳＩＭへ排他的にアクセスするように制御する、制御装置である。
【０００７】
（７）本発明の一態様は、コンピュータと、ＳＩＭと、通信モジュールと、上記（１）から（６）のいずれかの制御装置と、を備える電子機器である。
【０００８】
（８）本発明の一態様は、通信モジュールとＳＩＭとコンピュータを備える電子機器のブート方法において、前記通信モジュールと前記ＳＩＭと前記コンピュータをバス型で接続し、前記電子機器の起動部が、前記ＳＩＭに格納されているブート情報を使用して前記コンピュータを起動する起動ステップと、前記電子機器の制御部が、前記通信モジュールと前記コンピュータが前記ＳＩＭへ排他的にアクセスするように制御する制御ステップと、を含むブート方法である。
【０００９】
（９）本発明の一態様は、通信モジュールとＳＩＭとコンピュータを備える電子機器を起動するためのコンピュータプログラムであって、前記通信モジュールと前記ＳＩＭと前記コンピュータがバス型で接続されてあり、前記ＳＩＭに格納されているブート情報を使用して前記コンピュータを起動する起動機能と、前記通信モジュールと前記コンピュータが前記ＳＩＭへ排他的にアクセスするように制御する制御機能と、をコンピュータに実現させるためのコンピュータプログラムである。
【発明の効果】
【００１０】
本発明によれば、ＳＩＭを利用するコンピュータ起動技術の向上を図ることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態に係る電子機器１を示す構成図である。
【図２】図１に示す電子機器１のデータに係る実施例を示す図である。
【図３】図１に示す電子機器１の電源に係る実施例を示す図である。
【図４】図１に示す電子機器１のクロックに係る実施例を示す図である。
【図５】図１に示す電子機器１のリセットに係る実施例を示す図である。
【図６】第１実施形態に係る電子機器１のブート方法のフローチャートである。
【図７】第１実施形態に係る電子機器１のブート方法の他の例のフローチャートである。
【図８】第１実施形態に係るＭＣＵ１０のＯＳ１１の起動後の制御方法のフローチャートである。
【図９】本発明の第２実施形態に係る電子機器１ａを示す構成図である。
【図１０】本発明の第３実施形態に係る電子機器１００を示す構成図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照し、本発明の実施形態について説明する。なお、以下に示す実施形態では、ｅＳＩＭ（Embedded Subscriber Identity Module）を使用するが、ｅＳＩＭの代わりにＳＩＭを使用してもよい。ｅＳＩＭはＳＩＭの一種である。
【００１３】
［第１実施形態］
図１は、本発明の第１実施形態に係る電子機器１を示す構成図である。図１において、電子機器１は、ＭＣＵ（Micro Controller Unit）１０とｅＳＩＭ（Embedded Subscriber Identity Module）３０と通信モジュール４０と電源コントローラ５０とクロックオシレータ（クロックＯＳＣ）６０を備える。電子機器１は、通信モジュール４０とｅＳＩＭ３０とＭＣＵ１０をバス型で接続する配線７０を備える。配線７０は、データ線ＤＡＴＡ１とクロック線ＣＬＫ１とリセット線ＲＳＴ１を含む。
【００１４】
電源コントローラ５０は、電源線Ｖｃｃ１を介してｅＳＩＭ３０に電力を供給する。電源コントローラ５０は、電源線Ｖｃｃ２を介して通信モジュール４０に電力を供給する。電源コントローラ５０は、電源線Ｖｃｃ３を介してＭＣＵ１０に電力を供給する。電源コントローラ５０は、ＭＣＵ１０から入力される制御信号ＣＴＬｐに従って、電力の供給を制御する。
【００１５】
クロックＯＳＣ６０は、クロック線ＣＬＫ２を介して通信モジュール４０にクロックを供給する。クロックＯＳＣ６０は、クロック線ＣＬＫ３を介してＭＣＵ１０にクロックを供給する。クロックＯＳＣ６０は、ＭＣＵ１０から入力される制御信号ＣＴＬｃに従って、クロックの供給を制御する。
【００１６】
ＭＣＵ１０は、データ線ＤＡＴＡ１を介してｅＳＩＭ３０とデータを送受する。ＭＣＵ１０は、リセット線ＲＳＴ１を介してｅＳＩＭ３０にリセット信号を送信する。ＭＣＵ１０は、クロック線ＣＬＫ１を介してｅＳＩＭ３０にクロックを供給する。ＭＣＵ１０は、データ線ＤＡＴＡ２を介して通信モジュール４０とデータを送受する。ＭＣＵ１０は、リセット線ＲＳＴ２を介して通信モジュール４０にリセット信号を送信する。
【００１７】
通信モジュール４０は、データ線ＤＡＴＡ１を介してｅＳＩＭ３０とデータを送受する。通信モジュール４０は、リセット線ＲＳＴ１を介してｅＳＩＭ３０にリセット信号を送信する。通信モジュール４０は、クロック線ＣＬＫ１を介してｅＳＩＭ３０にクロックを供給する。通信モジュール４０は、電源線Ｖｃｃ１を介してｅＳＩＭ３０に電力を供給する。
【００１８】
ｅＳＩＭ３０は、期待値３１を格納する。期待値３１は、ＭＣＵ１０のセキュアブートに使用される情報である。期待値３１は、該セキュアブートにおける測定の結果の期待値である。期待値３１は、ブート情報の例である。ブート情報は、コンピュータを起動する処理で使用される情報である。
【００１９】
ＭＣＵ１０は、オペレーティングシステム（Operating System：ＯＳ）１１とアプリケーション１２とブートローダ（Boot Loader）２０を備える。ＭＣＵは、コンピュータの例である。ＯＳ１１は、制御部１３を備える。ブートローダ２０は、測定部２１と制御部２２を備える。ブートローダ２０は、ｅＳＩＭ３０に格納されている期待値３１を使用してＭＣＵ１０を起動する。ブートローダ２０は、起動部の例である。ブートローダ２０は、ＯＳ１１を起動する際にセキュアブートを実行する。ブートローダ２０において、測定部２１は、セキュアブートにおける測定を行う。制御部２２は、セキュアブートにおける制御を行う。制御部２２は、通信モジュール４０とＭＣＵ１０がｅＳＩＭ３０へ排他的にアクセスするように制御する。ＯＳ１１において、制御部１３は、ＯＳ１１が起動した後の制御を行う。制御部１３は、通信モジュール４０とＭＣＵ１０がｅＳＩＭ３０へ排他的にアクセスするように制御する。
【００２０】
次に、図２から図５を参照して、図１に示す電子機器１の実施例を説明する。
【００２１】
（データに係る実施例）
図２は、図１に示す電子機器１のデータに係る実施例を示す図である。図２（１）には、電子機器１のデータに係るハードウェア構成の実施例が示されている。図２（１）において、ＭＣＵ１０の２個の汎用ポートを、ｅＳＩＭ３０とのデータの送受に使用されるデータポートに利用する。ＭＣＵ１０の２個の汎用ポートのうち、一方をデータの送信ポートＴｘに使用し、もう一方をデータの受信ポートＲｘに使用する。送信ポートＴｘと受信ポートＲｘの両方にデータ線ＤＡＴＡ１が接続される。つまり、送信ポートＴｘに接続される配線と受信ポートＲｘに接続される配線を接続する。送信ポートＴｘと受信ポートＲｘを接続した配線は、ｅＳＩＭ３０のデータ入出力ポートＩ／Ｏに接続される。
【００２２】
ＭＣＵ１０とｅＳＩＭ３０は、シリアル信号によりデータを送受する。ＭＣＵ１０は、送信ポートＴｘからシリアル信号をｅＳＩＭ３０へ送信する。ＭＣＵ１０は、受信ポートＲｘによりシリアル信号をｅＳＩＭ３０から受信する。ＭＣＵ１０とｅＳＩＭ３０間のシリアル信号伝送方式として、例えばＵＡＲＴ（Universal Asynchronous Receiver Transmitter）を使用してもよい。
【００２３】
図２（２）には、電子機器１のデータに係る制御方法の実施例が示されている。図２（２）に示すデータに係る制御方法は、図２（１）に示すデータに係るハードウェア構成に対応している。図２（２）において、制御部１３及び２２は、ＭＣＵ１０からｅＳＩＭ３０にアクセスする際、リセット線ＲＳＴ２を介して通信モジュール４０にリセット信号を送信する。制御部１３及び２２は、ＭＣＵ１０がｅＳＩＭ３０へアクセスする期間において継続して通信モジュール４０をリセット状態にする。例えば、制御部１３及び２２は、ＭＣＵ１０からｅＳＩＭ３０に対するアクセスが終了するまで継続して、リセット線ＲＳＴ２を介して通信モジュール４０にリセット信号を送信する。なお、リセット信号は、レベル信号であってもよく、又は、パルス信号であってもよい。
【００２４】
通信モジュール４０がリセット状態になっていることにより、ＭＣＵ１０はデータ線ＤＡＴＡ１を介してｅＳＩＭ３０にアクセスすることができる。制御部１３及び２２は、ｅＳＩＭ３０へデータを送信する際には、受信ポートＲｘをハイインピーダンス（Ｈｉ−Ｚ）状態に設定する。これにより、送信ポートＴｘからデータ線ＤＡＴＡ１を介してシリアル信号を送信することができる。一方、制御部１３及び２２は、ｅＳＩＭ３０からデータを受信する際には、送信ポートＴｘをＨｉ−Ｚ状態に設定する。これにより、受信ポートＲｘによりデータ線ＤＡＴＡ１を介してｅＳＩＭ３０からシリアル信号を受信することができる。
【００２５】
なお、ｅＳＩＭ３０は、ＭＣＵ１０との通信方式として、半二重ブロック伝送モード（例えば、ＪＩＳ  Ｘ  ６３２０−３、ＩＳＯ／ＩＥＣ  ７８１６−３参照）を備えてもよい。
【００２６】
（電源に係る実施例）
図３は、図１に示す電子機器１の電源に係る実施例を示す図である。図３（１）には、電子機器１の電源に係るハードウェア構成の実施例が示されている。図３（１）において、電源コントローラ５０の一つの出力から電源線Ｖｃｃ３を介してＭＣＵ１０に電力を供給し、もう一つの出力から電源線Ｖｃｃ２を介して通信モジュール４０に電力を供給する。そして、電源コントローラ５０のもう一つの出力から電源線Ｖｃｃ１を介してｅＳＩＭ３０に電力を供給する。電源線Ｖｃｃ１は、ｅＳＩＭ３０の電源端子ＰＷＲに接続される。電源コントローラ５０の電源出力端子とｅＳＩＭ３０の電源端子ＰＷＲの間の配線には、ダイオード５２を設ける。同様に、通信モジュール４０の電源出力端子とｅＳＩＭ３０の電源端子ＰＷＲの間の配線には、ダイオード５１を設ける。ダイオード５１及び５２として、例えばショットキーバリアダイオードを使用してもよい。
【００２７】
図３（２）には、電子機器１の電源に係る制御方法の実施例が示されている。図３（２）に示す電源に係る制御方法は、図３（１）に示す電源に係るハードウェア構成に対応している。図３（２）において、制御部１３及び２２は、電源コントローラ５０に対して、ｅＳＩＭ３０に電力を供給するか又はｅＳＩＭ３０への電力供給を停止するかを制御信号ＣＴＬｐで指示する。また、制御部１３及び２２は、電源コントローラ５０に対して、通信モジュール４０に電力を供給するか又は通信モジュール４０への電力供給を停止するかを制御信号ＣＴＬｐで指示する。
【００２８】
なお、電源コントローラ５０の出力端子が足りない場合、ＦＥＴ（Field Effect Transistor：電界効果トランジスタ）を使用して選択的に電力供給を行うようにしてもよい。例えば、電源コントローラ５０の１個の出力端子に２個のＦＥＴを接続し、一方のＦＥＴの出力を通信モジュール４０に接続し、もう一方のＦＥＴの出力をダイオード５２に接続する。そして、制御部１３及び２２が、ＭＣＵ１０のデータ入出力ポートから該２個のＦＥＴを制御することにより、電力供給先を通信モジュール４０にするか又はｅＳＩＭ３０にするかを選択する。
【００２９】
（クロックに係る実施例）
図４は、図１に示す電子機器１のクロックに係る実施例を示す図である。図４（１）には、電子機器１のクロックに係るハードウェア構成の実施例が示されている。図４（１）において、クロックＯＳＣ６０の一つの出力からクロック線ＣＬＫ２を介して通信モジュール４０にクロックを供給し、もう一つの出力からクロック線ＣＬＫ３を介してＭＣＵ１０にクロックを供給する。ＭＣＵ１０のクロック出力端子ＣＬＫＯＵＴは、クロック線ＣＬＫ１を介してｅＳＩＭ３０のクロック端子ＣＬＫに接続される。同様に、通信モジュール４０のクロック出力端子に接続される配線もｅＳＩＭ３０のクロック端子ＣＬＫに接続される。
【００３０】
図４（２）には、電子機器１のクロックに係る制御方法の実施例が示されている。図４（２）に示すクロックに係る制御方法は、図４（１）に示すクロックに係るハードウェア構成に対応している。図４（２）において、制御部１３及び２２は、クロックＯＳＣ６０に対して、通信モジュール４０にクロックを供給するか又は通信モジュール４０へのクロック供給を停止するかを制御信号ＣＴＬｃで指示する。また、制御部１３及び２２は、クロック出力端子ＣＬＫＯＵＴからクロックを出力するか又はクロック出力端子ＣＬＫＯＵＴからのクロック出力を停止するかを設定する。
【００３１】
（リセットに係る実施例）
図５は、図１に示す電子機器１のリセットに係る実施例を示す図である。図５（１）には、電子機器１のリセットに係るハードウェア構成の実施例が示されている。図５（１）において、ＭＣＵ１０のデータ入出力ポートＩ／ＯをｅＳＩＭ３０のリセットに使用する。ＭＣＵ１０のデータ入出力ポートＩ／Ｏを、リセット線ＲＳＴ１を介してｅＳＩＭ３０のリセット端子ＲＳＴに接続する。同様に、通信モジュール４０のリセット出力端子に接続される配線もｅＳＩＭ３０のリセット端子ＲＳＴに接続される。
【００３２】
図５（２）には、電子機器１のリセットに係る制御方法の実施例が示されている。図５（２）に示すリセットに係る制御方法は、図５（１）に示すリセットに係るハードウェア構成に対応している。図５（２）において、制御部１３及び２２は、ｅＳＩＭ３０をリセットする際には、ＭＣＵ１０のデータ入出力ポートＩ／Ｏにより、リセット信号を出力する。ＭＣＵ１０のデータ入出力ポートＩ／Ｏから出力されたリセット信号は、リセット線ＲＳＴ１を介して、ｅＳＩＭ３０のリセット端子ＲＳＴに入力される。これにより、ｅＳＩＭ３０がリセットされる。
【００３３】
以上が図２から図５を参照した電子機器１の実施例の説明である。なお、配線７０に接続されるＭＣＵ１０の各ポートとｅＳＩＭ３０の各ポートに使用される信号の電圧に差がある場合には、配線７０において信号の電圧差を吸収する回路を設ける。
【００３４】
（ブート段階の制御方法）
次に、図６を参照して、図１に示す電子機器１のブートに係る動作を説明する。図６は、第１実施形態に係る電子機器１のブート方法のフローチャートである。図６の処理は、電子機器１のブートの開始により実行される。例えば、電子機器１の電源がオンされたり、又は、電子機器１がリセットされたりすると、図６の処理が開始される。
【００３５】
（ステップＳ１）ＭＣＵ１０においてブートローダ２０が起動する。
【００３６】
（ステップＳ２）ブートローダ２０の制御部２２が、電源コントローラ５０に対して、ｅＳＩＭ３０及び通信モジュール４０に電力を供給するように制御信号ＣＴＬｐで指示する。これにより、電源コントローラ５０が、ｅＳＩＭ３０及び通信モジュール４０に電力を供給する。
【００３７】
（ステップＳ３）ブートローダ２０の制御部２２が、クロックＯＳＣ６０に対して、通信モジュール４０にクロックを供給するように制御信号ＣＴＬｃで指示する。これにより、クロックＯＳＣ６０が、通信モジュール４０にクロックを供給する。また、制御部２２が、ＭＣＵ１０のクロック出力端子からクロックを出力するように設定する。これにより、ＭＣＵ１０からｅＳＩＭ３０にクロックが供給される。
【００３８】
（ステップＳ４）ブートローダ２０の制御部２２が、通信モジュール４０のリセットを開始する。制御部２２は、リセット線ＲＳＴ２を介して通信モジュール４０にリセット信号を継続して送信することにより、通信モジュール４０のリセット状態を継続させる。通信モジュール４０がリセット状態になっていることにより、ＭＣＵ１０はデータ線ＤＡＴＡ１を介してｅＳＩＭ３０にアクセスすることができる。
【００３９】
（ステップＳ５）ブートローダ２０の制御部２２が、ｅＳＩＭ３０をリセットする。制御部２２は、リセット線ＲＳＴ１を介してｅＳＩＭ３０にリセット信号を送信することにより、ｅＳＩＭ３０をリセットする。
【００４０】
（ステップＳ６）ブートローダ２０の測定部２１が、ＯＳコードの測定を行う。ＯＳコードは、ＯＳ１１のプログラムコードである。ＯＳコードの測定として、例えば、ＯＳコードのハッシュ値を計算する。この計算結果のハッシュ値は、ＯＳコードの測定の結果の測定値である。
【００４１】
（ステップＳ７）ブートローダ２０の制御部２２が、データ線ＤＡＴＡ１に接続されるＭＣＵ１０のデータポートの入出力設定を行う。このデータポートの入出力設定により、ＭＣＵ１０は、データ線ＤＡＴＡ１を介してｅＳＩＭ３０とデータを送受することができる状態になる。
【００４２】
（ステップＳ８）ブートローダ２０の測定部２１が、ｅＳＩＭ３０にアクセスし、ＯＳコードの測定値とｅＳＩＭ３０に格納されている期待値３１との比較を行う。この比較方法として、以下に示す例１−１，１−２が挙げられる。
【００４３】
（例１−１）ＭＣＵ１０の測定部２１が、ＯＳコードの測定値をｅＳＩＭ３０に送信する。そして、ｅＳＩＭ３０が、ＯＳコードの測定値と期待値３１を比較し、この比較の結果をＭＣＵ１０へ応答する。
【００４４】
（例１−２）ＭＣＵ１０の測定部２１が、ｅＳＩＭ３０から期待値３１を取得する。そして、ＭＣＵ１０の測定部２１がＯＳコードの測定値と期待値３１を比較する。
【００４５】
（ステップＳ９）ブートローダ２０の制御部２２が、データ線ＤＡＴＡ１に接続されるＭＣＵ１０のデータポートの入出力設定を解除する。
【００４６】
（ステップＳ１０）ブートローダ２０の制御部２２が、通信モジュール４０のリセットを終了する。制御部２２は、リセット線ＲＳＴ２を介して通信モジュール４０に継続して送信しているリセット信号の送信を停止することにより、通信モジュール４０のリセット状態を解除する。これにより、通信モジュール４０が起動する。
【００４７】
（ステップＳ１１）ブートローダ２０の測定部２１が、ＯＳコードの測定の成否を判断する。測定部２１は、ＯＳコードの測定値と期待値３１とが一致した場合に、ＯＳコードの測定が成功したと判断する。一方、測定部２１は、ＯＳコードの測定値と期待値３１とが一致しない場合に、ＯＳコードの測定が失敗したと判断する。ＯＳコードの測定が成功した場合にはステップＳ１２に進み、一方、ＯＳコードの測定が失敗した場合には図６の処理を終了する。なお、ＯＳコードの測定が失敗した場合には、ブートローダ２０は所定のエラー処理を実行してもよい。
【００４８】
（ステップＳ１２）ブートローダ２０の制御部２２が、ＯＳコードをＭＣＵ１０内のＲＡＭに展開し、ＯＳ１１を起動する。
【００４９】
上述した第１実施形態によれば、ｅＳＩＭ３０の期待値３１を使用するＭＣＵ１０のセキュアブートにおいて、通信モジュール４０を介さずに、ＭＣＵ１０からｅＳＩＭ３０に直接アクセスすることができる。これにより、通信モジュール４０が起動するのを待つことなく、ＭＣＵ１０のセキュアブートを実行できるので、ＭＣＵ１０のセキュアブートにかかる時間を短縮することができる。また、ＭＣＵ１０とｅＳＩＭ３０間に通信モジュール４０を介する場合に比して、ＭＣＵ１０とｅＳＩＭ３０間のデータ転送レートを上げることができる。また、たとえ通信モジュール４０が故障しても、通信モジュール４０を介さずＭＣＵ１０からｅＳＩＭ３０に直接アクセスできるので、ＭＣＵ１０のセキュアブートを実行することができる。
【００５０】
なお、上述した第１実施形態では、ＭＣＵ１０からデータ線ＤＡＴＡ１を介してｅＳＩＭ３０にアクセスできる状態にするために、通信モジュール４０をリセット状態にしたが、リセット以外の方法を使用してもよい。リセット以外の方法の例２−１，２−２を以下に説明する。
【００５１】
（例２−１）例２−１では、ＭＣＵ１０がｅＳＩＭ３０へアクセスする期間において継続して通信モジュール４０への電力供給を停止する。この場合、ブートローダ２０の制御部２２は、ＭＣＵ１０からｅＳＩＭ３０へアクセスする際に、電源コントローラ５０に対して、通信モジュール４０への電力供給を停止するように制御信号ＣＴＬｐで指示する。この指示の結果、電源コントローラ５０から通信モジュール４０への電力供給が停止されることにより、通信モジュール４０が動作を停止するので、ＭＣＵ１０からデータ線ＤＡＴＡ１を介してｅＳＩＭ３０にアクセスできる状態になる。制御部２２は、ＭＣＵ１０からｅＳＩＭ３０へのアクセスが終了したら、電源コントローラ５０に対して、通信モジュール４０に電力を供給するように制御信号ＣＴＬｐで指示する。これにより、電源コントローラ５０から通信モジュール４０へ電力が供給され、通信モジュール４０が起動する。なお、上述の例２−１において、さらに、ＭＣＵ１０がｅＳＩＭ３０へアクセスする期間において継続して通信モジュール４０へのクロック供給を停止してもよい。
【００５２】
（例２−２）例２−２は、通信モジュール４０のｅＳＩＭ３０へのアクセスをＭＣＵ１０から制御できる場合のものである。例２−２では、制御部２２は、ＭＣＵ１０がｅＳＩＭ３０へアクセスする期間において通信モジュール４０からｅＳＩＭ３０へアクセスしないように、通信モジュール４０を制御する。以下、図７を参照して、本例２−２に係る電子機器１のブート方法を説明する。
【００５３】
図７は、本例２−２に係る電子機器１のブート方法のフローチャートである。図７において、上記の図６の各ステップに対応する部分には同一の符号を付け、その説明を省略する。図７の処理は、図６の処理と同様に、電子機器１のブートの開始により実行される。図７において、ステップＳ１からＳ３までは、図６と同様に実行される。次いで、ステップＳ２１において、ブートローダ２０の制御部２２が、データ線ＤＡＴＡ２により、通信モジュール４０に対して、ｅＳＩＭ３０への各出力ポートをＨｉ−Ｚ状態にするように指示する。この指示の結果、通信モジュール４０において配線７０を介してｅＳＩＭ３０に接続される各出力ポートがＨｉ−Ｚ状態になることにより、ＭＣＵ１０からデータ線ＤＡＴＡ１を介してｅＳＩＭ３０にアクセスできる状態になる。
【００５４】
次いで、ステップＳ５からＳ９までは、図６と同様に実行される。次いで、ステップＳ２２において、ブートローダ２０の制御部２２が、データ線ＤＡＴＡ２により、通信モジュール４０に対して、ｅＳＩＭ３０への各出力ポートのＨｉ−Ｚ状態を解除するように指示する。この指示の結果、通信モジュール４０において配線７０を介してｅＳＩＭ３０に接続される各出力ポートのＨｉ−Ｚ状態が解除される。次いで、ステップＳ１１，Ｓ１２は、図６と同様に実行される。
以上が例２−２の説明である。
【００５５】
（ＯＳ起動後の制御方法）
次に、図８を参照して、ＭＣＵ１０のＯＳ１１の起動後の制御に係る動作を説明する。この制御は、通信モジュール４０のｅＳＩＭ３０へのアクセスをＭＣＵ１０から制御できる場合のものである。図８は、第１実施形態に係るＭＣＵ１０のＯＳ１１の起動後の制御方法のフローチャートである。図８の処理は、ＭＣＵ１０のＯＳ１１の起動後において、ＭＣＵ１０からｅＳＩＭ３０にアクセスする際に実行される。ここでは、アプリケーション１２からｅＳＩＭ３０にアクセスする際に図８の処理が開始される場合を例に挙げて説明する。
【００５６】
（ステップＳ３１）ＯＳ１１の制御部１３が、データ線ＤＡＴＡ２により、通信モジュール４０に対して、ｅＳＩＭ３０への各出力ポートをＨｉ−Ｚ状態にするように指示する。この指示の結果、通信モジュール４０において配線７０を介してｅＳＩＭ３０に接続される各出力ポートがＨｉ−Ｚ状態になることにより、ＭＣＵ１０からデータ線ＤＡＴＡ１を介してｅＳＩＭ３０にアクセスできる状態になる。
【００５７】
（ステップＳ３２）ＯＳ１１の制御部１３が、データ線ＤＡＴＡ１に接続されるＭＣＵ１０のデータポートの入出力設定を行う。このデータポートの入出力設定により、ＭＣＵ１０は、データ線ＤＡＴＡ１を介してｅＳＩＭ３０とデータを送受することができる状態になる。
【００５８】
（ステップＳ３３）アプリケーション１２が、データ線ＤＡＴＡ１を介してｅＳＩＭ３０にアクセスする。
【００５９】
（ステップＳ３４）ＯＳ１１の制御部１３が、データ線ＤＡＴＡ１に接続されるＭＣＵ１０のデータポートの入出力設定を解除する。
【００６０】
（ステップＳ３５）ＯＳ１１の制御部１３が、データ線ＤＡＴＡ２により、通信モジュール４０に対して、ｅＳＩＭ３０への各出力ポートのＨｉ−Ｚ状態を解除するように指示する。この指示の結果、通信モジュール４０において配線７０を介してｅＳＩＭ３０に接続される各出力ポートのＨｉ−Ｚ状態が解除される。
【００６１】
上述した第１実施形態によれば、ＭＣＵ１０のＯＳ１１の起動後において、通信モジュール４０を介さずに、ＭＣＵ１０からｅＳＩＭ３０に直接アクセスすることができる。これにより、ＭＣＵ１０とｅＳＩＭ３０間に通信モジュール４０を介する場合に比して、ＭＣＵ１０とｅＳＩＭ３０間のデータ転送レートを上げることができる。また、たとえ通信モジュール４０が故障しても、ＭＣＵ１０からｅＳＩＭ３０にアクセスできるようになる。
【００６２】
上述した第１実施形態において、ブートローダ２０と配線７０と制御部２２が制御装置に対応する。又は、ブートローダ２０と配線７０と制御部２２と制御部１３が制御装置に対応する。
【００６３】
［第２実施形態］
図９は、本発明の第２実施形態に係る電子機器１ａを示す構成図である。図９において、上記の図１の各部に対応する部分には同一の符号を付け、その説明を省略する。以下、上述した第１実施形態と異なる点を主に説明する。
【００６４】
第２実施形態では、通信モジュール４０が制御部４１を備える。制御部４１は、ＭＣＵ１０からｅＳＩＭ３０へのアクセスを監視する。制御部４１は、ＭＣＵ１０がｅＳＩＭ３０へアクセスする期間において通信モジュール４０からｅＳＩＭ３０へアクセスしないように、通信モジュール４０を制御する。
【００６５】
例えば、制御部４１は、データ線ＤＡＴＡ１の状態を監視する。制御部４１は、データ線ＤＡＴＡ１の状態の監視の結果に基づいて、ＭＣＵ１０がｅＳＩＭ３０へアクセスしているか否かを判断する。制御部４１は、ＭＣＵ１０がｅＳＩＭ３０へアクセスしていると判断した場合、配線７０を介してｅＳＩＭ３０に接続される通信モジュール４０の各出力ポートをＨｉ−Ｚ状態に設定する。これにより、ＭＣＵ１０からデータ線ＤＡＴＡ１を介してｅＳＩＭ３０にアクセスできる状態になる。その後、制御部４１は、ＭＣＵ１０からｅＳＩＭ３０へのアクセスが終了したと判断した場合、配線７０を介してｅＳＩＭ３０に接続される通信モジュール４０の各出力ポートのＨｉ−Ｚ状態を解除する。
【００６６】
上述の第２実施形態によれば、上述の第１実施形態と同様に、通信モジュール４０を介さずに、ＭＣＵ１０からｅＳＩＭ３０に直接アクセスすることができる。これにより、通信モジュール４０が起動するのを待つことなく、ＭＣＵ１０のセキュアブートを実行できるので、ＭＣＵ１０のセキュアブートにかかる時間を短縮することができる。また、ＭＣＵ１０とｅＳＩＭ３０間に通信モジュール４０を介する場合に比して、ＭＣＵ１０とｅＳＩＭ３０間のデータ転送レートを上げることができる。また、たとえ通信モジュール４０が故障しても、通信モジュール４０を介さずＭＣＵ１０からｅＳＩＭ３０に直接アクセスできるので、ＭＣＵ１０のセキュアブートを実行することができる。
【００６７】
なお、上述の第２実施形態では、ＭＣＵ１０のブートローダ２０の制御部２２ａは、通信モジュール４０とＭＣＵ１０がｅＳＩＭ３０へ排他的にアクセスするように制御する機能を持たなくてもよい。また、ＭＣＵ１０のＯＳ１１は、上述の第１実施形態に係る制御部１３を備えなくてもよい。
【００６８】
上述した第２実施形態において、ブートローダ２０と配線７０と制御部４１が制御装置に対応する。
【００６９】
［第３実施形態］
図１０は、本発明の第３実施形態に係る電子機器１００を示す構成図である。図１０において、電子機器１００は、ＭＣＵ１１０とｅＳＩＭ３０と通信モジュール４０と電源コントローラ５０とクロックＯＳＣ６０を備える。ＭＣＵ１１０は、データ線ＤＡＴＡ１１、リセット線ＲＳＴ１１及びクロック線ＣＬＫ１１でｅＳＩＭ３０に接続される。ＭＣＵ１１０は、データ線ＤＡＴＡ１２及びリセット線ＲＳＴ１２で通信モジュール４０に接続される。ＭＣＵ１１０の汎用ポートを、データ線ＤＡＴＡ１２及びリセット線ＲＳＴ１２を介して通信モジュール４０に接続されるポートに利用してもよい。
【００７０】
電源コントローラ５０は、電源線Ｖｃｃ１１を介してｅＳＩＭ３０に電力を供給する。電源コントローラ５０は、電源線Ｖｃｃ１２を介して通信モジュール４０に電力を供給する。電源コントローラ５０は、電源線Ｖｃｃ１３を介してＭＣＵ１１０に電力を供給する。クロックＯＳＣ６０は、クロック線ＣＬＫ１２を介して通信モジュール４０にクロックを供給する。クロックＯＳＣ６０は、クロック線ＣＬＫ１３を介してＭＣＵ１１０にクロックを供給する。
【００７１】
ｅＳＩＭ３０は、期待値３１を格納する。期待値３１は、ＭＣＵ１１０のセキュアブートに使用される情報である。期待値３１は、該セキュアブートにおける測定の結果の期待値である。期待値３１は、ブート情報の例である。ブート情報は、コンピュータを起動する処理で使用される情報である。
【００７２】
ＭＣＵ１１０は、ブートローダ１１１と制御部１２２を備える。ＭＣＵは、コンピュータの例である。ブートローダ１１１は測定部１２１を備える。ブートローダ１１１は、ｅＳＩＭ３０に格納されている期待値３１を使用してＭＣＵ１１０を起動する。ブートローダ１１１は、起動部の例である。ブートローダ１１１は、ＭＣＵ１１０を起動する際にセキュアブートを実行する。ブートローダ１１１の測定部１２１は、セキュアブートにおける測定を行う。
【００７３】
図１０に示す第３実施形態の電子機器１００では、通信モジュール４０は、ＭＣＵ１１０を介してｅＳＩＭ３０にアクセスする。例えば、通信モジュール４０は、ＭＣＵ１１０を介して、ｅＳＩＭ３０とデータを送受したり又はｅＳＩＭ３０をリセットしたりする。制御部１２２は、通信モジュール４０からＭＣＵ１１０を介してｅＳＩＭ３０へアクセスするように制御する。制御部１２２は、通信モジュール４０とＭＣＵ１１０がｅＳＩＭ３０へ排他的にアクセスするように制御する。なお、制御部１２２は、ＭＣＵ１１０のＯＳに含まれてもよい。
【００７４】
制御部１２２は、通信モジュール４０のｅＳＩＭ３０へのアクセスとＭＣＵ１１０のＯＳ又はアプリケーションのｅＳＩＭ３０へのアクセスとが競合した場合、所定の優先制御を実行する。この優先制御の例３−１，例３−２を以下に示す。
【００７５】
（例３−１）制御部１２２は、通信モジュール４０のｅＳＩＭ３０へのアクセスとＭＣＵ１１０のＯＳ又はアプリケーションのｅＳＩＭ３０へのアクセスとが競合した場合、ＭＣＵ１１０のＯＳ又はアプリケーションのｅＳＩＭ３０へのアクセスを優先する。これにより、ＭＣＵ１１０の処理能力の低下の防止を図る。但し、通信モジュール４０のｅＳＩＭ３０へのアクセスが既に実行されている途中においては、通信モジュール４０のｅＳＩＭ３０へのアクセスを優先してもよい。これにより、ＭＣＵ１１０の処理能力の低下を防止しつつ、通信モジュール４０により既に実行されている通信処理の維持を図る。
【００７６】
（例３−２）制御部１２２は、通信モジュール４０のｅＳＩＭ３０へのアクセスとＭＣＵ１１０のＯＳ又はアプリケーションのｅＳＩＭ３０へのアクセスとが競合した場合、通信モジュール４０のｅＳＩＭ３０へのアクセスを優先する。これにより、通信モジュール４０の通信処理能力の低下の防止を図る。
【００７７】
上述した第３実施形態によれば、通信モジュール４０を介さずに、ＭＣＵ１１０からｅＳＩＭ３０に直接アクセスすることができる。これにより、通信モジュール４０が起動するのを待つことなく、ＭＣＵ１１０のセキュアブートを実行できるので、ＭＣＵ１１０のセキュアブートにかかる時間を短縮することができる。また、ＭＣＵ１１０とｅＳＩＭ３０間に通信モジュール４０を介する場合に比して、ＭＣＵ１０とｅＳＩＭ３０間のデータ転送レートを上げることができる。また、たとえ通信モジュール４０が故障しても、通信モジュール４０を介さずに、ＭＣＵ１１０からｅＳＩＭ３０に直接アクセスできるので、ＭＣＵ１１０のセキュアブートを実行することができる。
【００７８】
また、ＭＣＵ１１０の起動後においても、通信モジュール４０を介さずに、ＭＣＵ１１０からｅＳＩＭ３０に直接アクセスすることができる。これにより、たとえ通信モジュール４０が故障しても、ＭＣＵ１１０からｅＳＩＭ３０にアクセスできるようになる。
【００７９】
上述した第３実施形態において、ブートローダ１１１とデータ線ＤＡＴＡ１１とリセット線ＲＳＴ１１とクロック線ＣＬＫ１１とデータ線ＤＡＴＡ１２とリセット線ＲＳＴ１２と制御部１２２が制御装置に対応する。
【００８０】
上述したように各実施形態によれば、ＳＩＭを利用するコンピュータ起動技術の向上を図ることができるという効果が得られる。
【００８１】
なお、上述の各実施形態において、通信モジュール４０を着脱可能に構成してもよい。この場合、電子機器１，１ａ及び１００は、通信モジュール４０に接続する配線を備え、該電子機器に取り付けられた通信モジュール４０と該配線が接続されるように構成される。
【００８２】
また、ｅＳＩＭ３０については、セキュリティの観点から、電子機器１，１ａ及び１００の基板に直付けすることが好ましい。この場合、ｅＳＩＭ３０を単独で電子機器１，１ａ及び１００の基板に直付けしてもよく、又は、ｅＳＩＭ３０を内蔵する通信モジュール４０を電子機器１，１ａ及び１００の基板に直付けしてもよい。但し、ｅＳＩＭ３０を内蔵する通信モジュール４０を電子機器１，１ａ及び１００の基板に直付けする場合には、該通信モジュール４０の外部から該ｅＳＩＭ３０に直接接続するための配線を該通信モジュール４０に設ける。
【００８３】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００８４】
例えば、上述した実施形態は、各種の電子機器に適用可能である。上述した実施形態に係る電子機器１，１ａ及び１００は、例えば、スマートフォン等の携帯通信端末装置、自動車に搭載されるＥＣＵ（Electronic Control Unit）、又は、情報通信機能を有する家電機器などであってもよい。
【００８５】
また、ＳＩＭ及びｅＳＩＭをセキュアエレメントとして使用してもよい。ＳＩＭ及びｅＳＩＭは、耐タンパー性（Tamper Resistant）を有する。
【００８６】
また、上述した電子機器１，１ａ及び１００の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disc）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００８７】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００８８】
１，１ａ，１００…電子機器、１０，１１０…ＭＣＵ、１１…ＯＳ、１２…アプリケーション、１３，２２，２２ａ，４１，１２２…制御部、２０，１１１…ブートローダ、２１，１２１…測定部、３０…ｅＳＩＭ、３１…期待値、４０…通信モジュール、５０…電源コントローラ、６０…クロックＯＳＣ、７０…配線
【図１】
2017090978.tif 000003
【図２】
2017090978.tif 000004
【図３】
2017090978.tif 000005
【図４】
2017090978.tif 000006
【図５】
2017090978.tif 000007
【図６】
2017090978.tif 000008
【図７】
2017090978.tif 000009
【図８】
2017090978.tif 000010
【図９】
2017090978.tif 000011
【図１０】
2017090978.tif 000012