(57)【要約】【課題】改ざん検証のためのセキュリティ機能が削除されたり、スキップされたりしてもセキュリティ性を保つことができるとともに、フラグを特権モードで処理するようにしても、非特権モードでフラグを参照して制御することができる情報端末及び情報端末の制御方法を提供する。【解決手段】アプリの改ざんの有無を示すフラグ値を記憶するフラグ記憶部１４と、特権モードで動作可能なアプリＡ，Ｃと非特権モードで動作可能なアプリＢを記憶するアプリ記憶部１１とを備え、アプリ制御手段２１が、特権モードのアプリＡ，Ｃの実行結果に応じてフラグ記憶部１４に記憶されているフラグ値を更新及び、又は参照するための制御を行うとともに、フラグ記憶部１４に記憶されているフラグ値を参照して非特権モードのアプリＢを実行し、該フラグ値に応じて非特権モードのアプリの処理を変更するための制御を行う。【選択図】図１
2009070327.tif 000002
【特許請求の範囲】
【請求項１】
プログラム又はデータのセキュリティ処理の有無を示すフラグ値を記憶するフラグ記憶手段と、
特権モードで動作可能な第１のアプリ及び非特権モードで動作可能な第２のアプリを記憶するアプリ記憶手段と、
前記アプリ記憶手段に記憶された前記第１のアプリの実行結果に応じて前記フラグ記憶手段に記憶された前記フラグ値を更新及び、又は参照するための制御、及び前記フラグ記憶手段に記憶された前記フラグ値を参照して前記アプリ記憶手段に記憶された前記第２のアプリを実行又は前記フラグ値に応じて前記第２のアプリの処理を変更するための制御を行うアプリ制御手段と、
を備えた情報端末。
【請求項２】
前記アプリ制御手段は、前記第１のアプリに関し前記フラグ値を更新及び、又は参照するための制御を行う第１のアプリ制御手段と、前記第２のアプリに関し前記フラグ値を参照するための制御を行う第２のアプリ制御手段と、を有する請求項１に記載の情報端末。
【請求項３】
前記第１のアプリ制御手段は、本情報端末の起動時及び、又は停止時、及び、又は外部インタフェースアクセス時に、前記フラグ値を初期化するための制御を行う請求項２に記載の情報端末。
【請求項４】
前記セキュリティ処理は、改ざん検出、認証及び暗復号処理を含む請求項１乃至３のいずれかに記載の情報端末。
【請求項５】
プログラム又はデータのセキュリティ処理の有無を示すフラグ値を記憶するフラグ記憶工程と、
特権モードで動作可能な第１のアプリ及び非特権モードで動作可能な第２のアプリを記憶するアプリ記憶工程と、
前記アプリ記憶工程で記憶された前記第１のアプリの実行結果に応じて前記フラグ記憶工程で記憶された前記フラグ値を更新及び、又は参照するための制御、及び前記フラグ記憶工程で記憶された前記フラグ値を参照して前記アプリ記憶工程で記憶された前記第２のアプリを実行又は前記フラグ値に応じて前記第２のアプリの処理を変更するための制御を行うアプリ制御工程と、
を備えた情報端末の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ等のアプリ（アプリケーションプログラム）を実行可能な情報端末及び該情報端末の制御方法に関する。
【背景技術】
【０００２】
従来、コンピュータ等の情報端末において、アプリの改ざんを防止するために、起動時などで改ざん検証を実施するようにしている。特許文献１には、ＯＳ（オペレーティングシステム）の改ざん検出結果をフラグに反映し、以降の処理でフラグを参照して動作を変更する技術が開示されている。すなわち、特許文献１では、ＯＳの実行前にそのＯＳの整合性を証明して整合性の有無を示す状態フラグを保存し、さらにプロセッサ（ＣＰＵ）による動作手順を許可する前に、状態フラグがＯＳの整合性があることを示していることを保証するようにしている。
【０００３】
【特許文献１】特開２００６−２２１６３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、悪意有る者がアプリを改ざんした後に、改ざん検証のためのセキュリティ機能を削除したり、スキップさせたりすることがあり、セキュリティを保つことが難しい。また、上述した特許文献１で開示された技術では、フラグの処理を非特権モードで行っているためセキュリティ性が低く、フラグが書き換えられる虞がある。なお、フラグの処理を特権モードで行うことでセキュリティ性を高めることができるが、このようにすると、非特権モードでフラグを参照して制御することができなくなる。ここで特権モードとは、予め定めたアプリのみが動作可能なモードであり、非特権モードではアクセスできないリソースへアクセスが可能であるものや、デバッガなどによる解析が困難になるものなどが存在する。セキュアモードと呼ばれる場合もある。
【０００５】
本発明は、かかる事情に鑑みてなされたものであり、改ざん検証等のためのセキュリティ機能が削除されたり、スキップされたりしてもセキュリティ性を保つことができるとともに、フラグを特権モードで処理するようにしても、非特権モードでフラグを参照して制御することができる情報端末及び情報端末の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の情報端末は、プログラム又はデータのセキュリティ処理の有無を示すフラグ値を記憶するフラグ記憶手段と、特権モードで動作可能な第１のアプリ及び非特権モードで動作可能な第２のアプリを記憶するアプリ記憶手段と、前記アプリ記憶手段に記憶された前記第１のアプリの実行結果に応じて前記フラグ記憶手段に記憶された前記フラグ値を更新及び、又は参照するための制御、及び前記フラグ記憶手段に記憶された前記フラグ値を参照して前記アプリ記憶手段に記憶された前記第２のアプリを実行又は前記フラグ値に応じて前記第２のアプリの処理を変更するための制御を行うアプリ制御手段と、を備えたものである。
【０００７】
この構成によれば、フラグの処理を特権モードで行うので、アプリ等のプログラム又はデータの改ざん検出等のセキュリティ処理に対する安全性の向上が図れる。また、フラグの処理を特権モードで行っても、非特権モードでフラグ値を参照して制御できるので、非特権モードで動作可能なアプリ（第２のアプリ）の処理の変更が可能となり、改ざん検出等のセキュリティ処理を回避するような改ざんが発生した場合に、フラグへセキュリティ処理の結果が反映されていないことを第２のアプリは検出できるため、第２のアプリは処理を停止するなどの対応が可能となる。
【０００８】
上記構成において、前記アプリ制御手段は、前記第１のアプリに関し前記フラグ値を更新及び、又は参照するための制御を行う第１のアプリ制御手段と、前記第２のアプリに関し前記フラグ値を参照するための制御を行う第２のアプリ制御手段と、を有する。
【０００９】
この構成によれば、第１のアプリに関しフラグ値を更新及び、又は参照するための制御と、第２のアプリに関しフラグ値を参照するための制御をそれぞれ専用の制御手段（第１のアプリ制御手段、第２のアプリ制御手段）で行うので、安全性が高く効率の良い処理が可能となる。
【００１０】
上記構成において、前記第１のアプリ制御手段は、本情報端末の起動時及び、又は停止時、及び、又は外部インタフェースアクセス時に、前記フラグ値を初期化するための制御を行う。
【００１１】
この構成によれば、本情報端末の起動時及び、又は停止時、及び、又は外部インタフェースアクセス時に、フラグ値を初期化することで、第１のアプリ、第２のアプリともフラグが初期化された状態を、セキュリティ処理が実行されていないものと見なすため、よりセキュリティ性の向上が図れる。例えば、改ざんを行うためには外部インタフェースへのアクセスや端末の再起動が必要となるため、これを検知してフラグを初期化することで、再度セキュリティ処理を実行しない限りは、処理を続行させないことが可能となる。外部インタフェースとしては、ＩｒＤＡ、ＵＳＢ、シリアル、メモリカード、ＩＣカード、Ｂｌｕｅｔｏｏｔｈ（登録商標）、無線ＬＡＮなどが想定される。
【００１２】
上記構成において、前記セキュリティ処理は、改ざん検証、認証及び暗復号処理を含む。
【００１３】
この構成によれば、改ざん検証、認証及び暗復号処理など複数のセキュリティ処理を特権モード、非特権モードにまたがって連携することが可能となり、個別のセキュリティ処理をスキップする攻撃に対する安全性の向上が図れる。なお、セキュリティ処理として改ざん検証、認証、暗復号を挙げたが、本発明はどのようなセキュリティ処理にも適用可能である。
【００１４】
本発明の情報端末の制御方法は、プログラム又はデータのセキュリティ処理の有無を示すフラグ値を記憶するフラグ記憶工程と、特権モードで動作可能な第１のアプリ及び非特権モードで動作可能な第２のアプリを記憶するアプリ記憶工程と、前記アプリ記憶工程で記憶された前記第１のアプリの実行結果に応じて前記フラグ記憶工程で記憶された前記フラグ値を更新及び、又は参照するための制御、及び前記フラグ記憶工程で記憶された前記フラグ値を参照して前記アプリ記憶工程で記憶された前記第２のアプリを実行又は前記フラグ値に応じて前記第２のアプリの処理を変更するための制御を行うアプリ制御工程と、を備えたものである。
【００１５】
この方法によれば、フラグの処理を特権モードで行うので、アプリ等のプログラム又はデータの改ざん検証等のセキュリティ処理に対する安全性の向上が図れる。また、フラグの処理を特権モードで行っても、非特権モードでフラグ値を参照して制御できるので、非特権モードで動作可能なアプリ（第２のアプリ）の処理の変更が可能となり、改ざん検出等のセキュリティ処理を回避するような改ざんが発生した場合に、フラグへセキュリティ処理の結果が反映されていないことを第２のアプリは検知できるため、第２のアプリは処理を停止するなどの対応が可能となる。
【発明の効果】
【００１６】
本発明によれば、改ざん検証等のためのセキュリティ機能が削除されたり、スキップされたりしてもセキュリティ性を保つことができるとともに、フラグを特権モードで処理するようにしても、非特権モードでフラグを参照して制御することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を実施するための好適な実施の形態について、図面を参照して詳細に説明する。
【００１８】
図１は、本発明の一実施の形態に係る情報端末の概略構成を示すブロック図である。同図において、本実施の形態の情報端末１０は、アプリ記憶部１１と、アプリ選択部１２と、モード切替部１３と、フラグ記憶部１４と、フラグ制御部１５と、モード仲介部１６と、アプリ動作制御部１７と、アプリ動作制御部１８と、非特権モード１９と、特権モード２０とを備えて構成される。アプリ記憶部１１は、アプリ（アプリケーションプログラム）を記憶するものであり、本実施の形態では、３つのアプリＡ〜Ｃを記憶している。また、３つのアプリＡ〜Ｃのうち、アプリＡ及びＣは特権モードで動作可能なアプリ（第１のアプリ）であり、アプリＢは非特権モードで動作可能なアプリ（第２のアプリ）である。
【００１９】
アプリ選択部１２は、アプリ記憶部１１に記憶されているアプリを選択する。モード切替部１３は、特権モードと非特権モードの切替えを行う。フラグ記憶部１４は、アプリの改ざんの有無を示すフラグ値を記憶する。フラグ制御部１５は、フラグ記憶部１４のフラグ値の更新や参照のための制御を行う。モード仲介部１６は、非特権モードのアプリがフラグ記憶部１４のフラグ値を取得する際の仲介を行う。アプリ動作制御部１７は、非特権モードのアプリに関し、フラグ記憶部１４に記憶されているフラグ値を参照するための制御を行う。アプリ動作制御部１８は、特権モードのアプリに関し、フラグ記憶部１４に記憶されているフラグ値を更新及び、又は参照するための制御を行う。また、アプリ動作制御部１８は、本情報端末１０の起動時及び、又は停止時に、特権モードのアプリに関し、フラグ記憶部１５に記憶されているフラグ値を初期化するための制御を行う。
【００２０】
すなわち、上述したモード仲介部１６、アプリ動作制御部１７及びアプリ動作制御部１８はアプリ制御手段２１を構成し、アプリ制御手段２１は、アプリ記憶部１１に記憶されている特権モードのアプリ（アプリＡ，Ｃ）の実行結果に応じて、フラグ記憶部１４に記憶されているフラグ値を更新及び、又は参照するための制御を行うとともに、フラグ記憶部１４に記憶されているフラグ値を参照して、アプリ記憶部１１に記憶されている非特権モードのアプリ（アプリＢ）を実行し、該フラグ値に応じて非特権モードのアプリの処理を変更するための制御を行う。非特権モードのアプリの処理を変更するための制御としては、例えば非特権モードのアプリの実行において、該アプリの改ざんされた箇所を回避する制御である。
【００２１】
非特権モード１９は、フラグの参照のみ可能なモードであり、この非特権モード１９のアプリ（アプリＢ）はフラグの設定に応じて制御を変更する。特権モード２０は、フラグの更新と参照（すなわち、読書き）の両方が可能なモードである。ここで、アプリＡ、アプリＢ、アプリＣの順でそれぞれが実行される場合、まず特権モード２０のアプリＡは、実行結果に依存し、フラグ制御部１５にフラグ値の変更を指示する。次に、非特権モード１９のアプリＢが、モード仲介部１６を経由してフラグ制御部１５からフラグ値（フラグ記憶部１４に記憶されているフラグ値）を取得し、アプリ動作制御部１７を用いてフラグ値に応じて処理を変更する。次に、特権モード２０のアプリＣが、フラグ制御部１５からフラグ値（フラグ記憶部１４に記憶されているフラグ値）を取得し、アプリ動作制御部１８を用いてフラグ値に応じて処理を変更し、さらにフラグ制御部１５を経由して処理結果をフラグ値（フラグ記憶部１４に記憶されているフラグ値）に反映させる。
【００２２】
このように、特権モード２０のアプリであるアプリＡ，Ｃでフラグの処理を特権モード２０で行い、非特権モード１９のアプリであるアプリＣでフラグ値を参照し処理変更を行う。そして、フラグの処理を特権モード２０で行うことで、アプリの改ざんに対するセキュリティ性の向上が図れる。また、フラグの処理を特権モード２０で行っても、非特権モード１９でフラグ値を参照して制御できるので、非特権モード１９で動作可能なアプリ（アプリＢ）の処理の変更が可能となり、改ざんされた箇所を回避して実行することが可能となる。
【００２３】
次に、図２及び図３を参照して、本実施の形態の情報端末１０の動作を説明する。図２は、情報端末１０の動作の概要を説明するためのシーケンス図である。図３は、情報端末１０の動作を説明するためのフロー図である。
【００２４】
まず図２を参照して動作の概要を説明する。同図において、まず非特権モードでＢＩＯＳ（Basic Input/Output System）が起動し、特権モードでＦｌａｇ（フラグ）１の初期化が行われ、Ｆｌａｇｅ１がＯＮ（オン）に設定される。初期化の具体的なタイミングとしては、例えばＵＳＢ（Universal Serial Bus）、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）の接続時又は解除時などが挙げられる。
【００２５】
ＢＩＯＳの起動後、ＩＰＬ（Initial Program Loader）が起動し、特権モードで一段目の改ざん検証が行われる。この一段目の改ざん検証は、本実施の形態ではアプリＡに対してのみ行われる。アプリＡに対する改ざん検証結果からアプリＡが改ざんされていなければＦｌａｇ２はＯＮに設定され、アプリＡが改ざんされていればＦｌａｇ２はＯＦＦに設定される。なお、初期化されたフラグの値はＯＦＦとする。
【００２６】
ＩＰＬの起動後、ＯＳ（Operating System）が起動する。ここで、高速化など何らかの理由でＯＳ自体の改ざん検証やＯＳによるプログラムマネージャの改ざん検証を行わない場合や、不正者による改ざんにより改ざん検証がスキップされた場合などは、起動シーケンスにおける改ざん検証チェーンについて全ての改ざん検証が行われないため「チェーン切れ目」が発生する。ＯＳの起動後はＯＳの管理下でＰＧ（プログラム）マネージャが動作し、二段目の改ざん検証が行われる。この二段目以降で残りの全てのアプリに対して改ざん検証が行われる。なお、改ざん検証は全てのアプリに対して行われるのではなく、改ざんの内容によっては改ざん検証できない場合もある。
【００２７】
Ｆｌａｇ２がＯＮに設定されており、改ざんされていなければＦｌａｇ３はＯＮに設定され、Ｆｌａｇ２がＯＦＦ又は改ざんされていればＦｌａｇ３はＯＦＦに設定される。
【００２８】
二段目の改ざん検証が行われた後、非特権モードでＦｌａｇ３を参照してそれがＯＮであれば、アプリＢが起動する。そして、非特権モードでＦｌａｇ３が参照されて、それがＯＮであれば、アプリＢ以外のアプリ（これをアプリＸとする）が起動する。このアプリＸが起動すると、特権モードでアプリＣが起動し、データ復号が行われる。よって、改ざんが発生した場合はデータ復号を禁止できる。そして、データ復号が正常に行われた場合、Ｆｌａｇ３がＯＮに設定されている条件で、Ｆｌａｇ４がＯＮに設定される。この操作から分かるように、改ざん検証以外のセキュア処理の結果を次のセキュア処理に反映することも可能である。
【００２９】
次に、図３を参照して非特権モードと特権モードにおける動作を説明する。同図において、アプリ選択部１２は、モード切替部１３に特権モードに遷移するよう指示する（ステップＳＴ１０）。次いで、アプリ選択部１２はアプリＡを実行する（ステップＳＴ１１）。アプリ選択部１２がアプリＡを実行すると、アプリＡは自身の実行結果に基づいてフラグ制御部１５にフラグ変更指示を与える（ステップＳＴ１２）。例えば、改ざんされていなければＦｌａｇ２をＯＮに設定するための指示を出力し、改ざんされていればＦｌａｇ２をＯＦＦに設定するための指示を出力する。
【００３０】
アプリＡが自身の実行結果に基づいてフラグ制御部１５にフラグ変更指示を与えた後、アプリ選択部１２がモード切替部１３に非特権モードに遷移するよう指示する（ステップＳＴ１３）。この指示を与えた後、アプリ選択部１２はアプリＢを実行する（ステップＳＴ１４）。アプリＢは、モード仲介部１６を介してＦｌａｇ３に設定されたフラグ値を取得し、アプリ動作制御部１７を用いて当該フラグ値に応じて処理を変更する（ステップＳＴ１５）。すなわち、アプリＢ自身の動作を変更する。なお、モード仲介部１６は、アプリＢがフラグ値を取得するためにフラグ制御部１５にアクセスする場合に、その仲介を行う。そして、フラグ制御部１５は、モード仲介部１６を介してアプリＢからフラグ値を取得する要求を確認すると、該当するフラグ値をフラグ記憶部１４から読み出し、モード仲介部１６を介してアプリＢに与える。
【００３１】
アプリＢがＦｌａｇ３に設定されたフラグ値に応じて自身の動作を変更した後、アプリ選択部１２がモード切替部１３に特権モードに遷移するよう指示を与える（ステップＳＴ１６）。当該指示を与えた後、アプリ選択部１２はアプリＣを実行する（ステップＳＴ１７）。アプリＣは、フラグ制御部１５からフラグ値を取得した後、アプリ動作制御部１８を用いてフラグ値に応じて処理変更を行い、さらにフラグ制御部１５を介して処理結果をフラグ値に反映する（ステップＳＴ１８）。すなわち、フラグ値を変更する。以上の処理を行った後、本処理を終える。
【００３２】
このように本実施の形態に係る情報端末１０によれば、アプリの改ざんの有無を示すフラグ値を記憶するフラグ記憶部１４と、特権モードで動作可能なアプリ（アプリＡ，Ｃ）と非特権モードで動作可能なアプリ（アプリＢ）を記憶するアプリ記憶部１１とを備え、モード仲介部１６、アプリ動作制御部１７及びアプリ動作制御部１８で構成したアプリ制御手段２１が、アプリ記憶部１１に記憶されている特権モードのアプリ（アプリＡ，Ｃ）の実行結果に応じて、フラグ記憶部１４に記憶されているフラグ値を更新及び、又は参照するための制御を行うとともに、フラグ記憶部１４に記憶されているフラグ値を参照して、アプリ記憶部１１に記憶されている非特権モードのアプリ（アプリＢ）を実行し、該フラグ値に応じて非特権モードのアプリの処理を変更するための制御を行うので、アプリの改ざんに対するセキュリティ性の向上が図れ、また非特権モードで動作可能なアプリ（アプリＢ）の処理の変更が可能となり、改ざんされた箇所を回避して実行することが可能となる。
【産業上の利用可能性】
【００３３】
本発明は、改ざん検証のためのセキュリティ機能が削除されたり、スキップされたりしてもセキュリティ性を保つことができるとともに、フラグを特権モードで処理するようにしても、非特権モードでフラグを参照して制御することができるといった効果を有し、アプリを実行可能な情報端末への適用が可能である。
【図面の簡単な説明】
【００３４】
【図１】本発明の一実施の形態に係る情報端末の概略構成を示すブロック図
【図２】本発明の上記実施の形態に係る情報端末の動作の概要を説明するためのシーケンス図
【図３】本発明の上記実施の形態に係る情報端末の動作を説明するためのフロー図
【符号の説明】
【００３５】
１０  情報端末
１１  アプリ記憶部
１２  アプリ選択部
１３  モード切替部
１４  フラグ記憶部
１５  フラグ制御部
１６  モード仲介部
１７、１８  アプリ動作制御部
１９  非特権モード
２０  特権モード
２１  アプリ制御手段
【図１】
2009070327.tif 000003
【図２】
2009070327.tif 000004
【図３】
2009070327.tif 000005