(57)【要約】【課題】仮想機械が動作可能な装置における利便性の向上を図ることが可能な、情報処理装置、情報処理方法、およびプログラムを提供する。【解決手段】仮想機械に関する処理の実行を制御する機能を有する処理部を備え、仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む仮想機械を動作させる条件を示す条件情報と、仮想機械プログラムのコード、および条件情報に基づき生成される第１の電子署名とが、対応付けられ、処理部は、仮想機械プログラムに対応付けられている第１の電子署名の確認結果に基づいて、仮想機械に関する処理の実行を制御する、情報処理装置が、提供される。【選択図】図２
2019155792.tif 000002
【特許請求の範囲】
【請求項１】
仮想機械に関する処理の実行を制御する機能を有する処理部を備え、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報と、前記仮想機械プログラムのコード、および前記条件情報に基づき生成される第１の電子署名とが、対応付けられ、
前記処理部は、前記仮想機械プログラムに対応付けられている前記第１の電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行を制御する、情報処理装置。
【請求項２】
前記処理部は、
前記第１の電子署名の正当性が確認された場合に、前記仮想機械に関する処理の実行を可能とし、
前記第１の電子署名の正当性が確認されない場合には、所定のエラー処理を実行する、請求項１に記載の情報処理装置。
【請求項３】
前記仮想機械に関する処理には、前記仮想機械をインストールする処理と、前記条件情報に基づき前記仮想機械を動作させる処理との一方または双方が含まれる、請求項１に記載の情報処理装置。
【請求項４】
前記第１の電子署名は、前記条件情報に対応する鍵に基づき生成され、
前記処理部は、前記条件情報が示す前記領域に対応付けられている鍵を用いて、前記第１の電子署名を確認する、請求項１に記載の情報処理装置。
【請求項５】
前記処理部は、前記仮想機械のインストールが行われるとき、または、前記仮想機械のインストールが行われた後であって、前記仮想機械を動作させる前に、前記第１の電子署名を確認する、請求項１に記載の情報処理装置。
【請求項６】
前記仮想機械プログラムに前記条件情報が複数対応付けられる場合、前記第１の電子署名は、前記仮想機械プログラムのコード、複数の前記条件情報、および複数の前記条件情報それぞれに対応する複数の鍵に基づき生成される縮退鍵に基づき生成される、請求項１に記載の情報処理装置。
【請求項７】
前記仮想機械プログラムに前記条件情報が複数対応付けられる場合、前記仮想機械を動作させる仮想機械プログラムには、複数の前記条件情報それぞれに対応する複数の前記第１の電子署名に基づき生成される縮退電子署名が、対応付けられ、
前記処理部は、前記仮想機械プログラムに対応付けられている前記縮退電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行を制御する、請求項１に記載の情報処理装置。
【請求項８】
前記処理部は、さらに、前記仮想機械に関する処理の実行を制御するための制御情報に基づいて、前記仮想機械に関する処理の実行を制御し、
前記制御情報には、第２の電子署名が対応付けられ、
前記処理部は、前記第２の電子署名の確認結果に基づいて、前記制御情報に基づく前記仮想機械に関する処理の実行の制御を行う、請求項１に記載の情報処理装置。
【請求項９】
前記処理部は、前記制御情報による制御対象の前記仮想機械プログラムに対応付けられている前記条件情報が示す前記領域に対応付けられている鍵を用いて、前記第２の電子署名を確認する、請求項８に記載の情報処理装置。
【請求項１０】
前記処理部は、記録媒体の領域を削除するときに、削除対象の領域を示す前記条件情報が存在する場合には、前記削除対象の領域の削除を行わない、または、前記削除対象の領域を示す前記条件情報に対応付けられている前記仮想機械プログラムに関して所定の処理を行う、請求項１に記載の情報処理装置。
【請求項１１】
前記情報処理装置は、ＩＣ（Integrated  Circuit）カードである、請求項１に記載の情報処理装置。
【請求項１２】
仮想機械を動作させる機能と、外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行う機能と、を有する処理部を備え、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報が対応付けられ、
外部装置から前記書き込みコマンドが取得された場合、
前記処理部は、
前記書き込みコマンドのパラメータが示す領域が前記条件情報が示す領域である場合に、前記仮想機械を動作させ、
前記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、
全てのデータの書き込みを正常に行うことができると判定されたときに、前記書き込みコマンドに基づくデータの書き込みを行い、
全てのデータの書き込みを正常に行うことができると判定されないときには、前記書き込みコマンドに基づくデータの書き込みを行わず、
前記書き込みコマンドに基づき前記仮想機械が動作した場合、前記書き込みコマンドに基づくデータの書き込みには、前記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、情報処理装置。
【請求項１３】
仮想機械に関する処理の実行を制御するステップを有し、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報と、前記仮想機械プログラムのコード、および前記条件情報に基づき生成される第１の電子署名とが、対応付けられ、
前記制御するステップでは、前記仮想機械プログラムに対応付けられている前記第１の電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行が制御される、情報処理装置により実行される情報処理方法。
【請求項１４】
仮想機械を動作させるステップと、
外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行うステップと、
を有し、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報が対応付けられ、
外部装置から前記書き込みコマンドが取得された場合、
前記仮想機械を動作させるステップでは、前記書き込みコマンドのパラメータが示す領域が前記条件情報が示す領域である場合に、前記仮想機械を動作させ、
前記書き込みを行うステップでは、
前記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかが判定され、
全てのデータの書き込みを正常に行うことができると判定されたときに、前記書き込みコマンドに基づくデータの書き込みが行われ、
全てのデータの書き込みを正常に行うことができると判定されないときには、前記書き込みコマンドに基づくデータの書き込みが行われず、
前記仮想機械を動作させるステップにより前記仮想機械が動作した場合、前記書き込みコマンドに基づくデータの書き込みには、前記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、情報処理装置により実行される情報処理方法。
【請求項１５】
仮想機械に関する処理の実行を制御する機能を、コンピュータに実現させ、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報と、前記仮想機械プログラムのコード、および前記条件情報に基づき生成される第１の電子署名とが、対応付けられ、
前記制御する機能は、前記仮想機械プログラムに対応付けられている前記第１の電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行を制御する、プログラム。
【請求項１６】
仮想機械を動作させる機能、
外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行う機能、
を、コンピュータに実現させ、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報が対応付けられ、
外部装置から前記書き込みコマンドが取得された場合、
前記仮想機械を動作させる機能は、前記書き込みコマンドのパラメータが示す領域が前記条件情報が示す領域である場合に、前記仮想機械を動作させ、
前記書き込みを行う機能は、
前記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、
全てのデータの書き込みを正常に行うことができると判定されたときに、前記書き込みコマンドに基づくデータの書き込みを行い、
全てのデータの書き込みを正常に行うことができると判定されないときには、前記書き込みコマンドに基づくデータの書き込みを行わず、
前記仮想機械を動作させる機能により前記仮想機械が動作した場合、前記書き込みコマンドに基づくデータの書き込みには、前記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
“一のＯＳ（Operating  System）に他のＯＳを模倣したアプリケーションプログラムを組み込み、当該他のＯＳを当該一のＯＳの実行環境上で動作させる技術”が、開発されている。上記技術としては、例えば下記の特許文献１に記載の技術が挙げられる。【０００３】
また、“複数のアプリケーションを管理可能なマルチプラットフォーム上で動作させ、当該マルチプラットフォームのコマンドにより活性化可能なＯＳに関する技術”が、開発されている。上記技術としては、例えば下記の特許文献２に記載の技術が挙げられる。【０００４】
また、
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１８６７４７号公報
【特許文献２】特開２０１３−１６８１１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
装置が有する機能を拡張する方法としては、例えば、仮想機械（以下、「ＶＭ」（Virtual  Machine）と示す場合がある。）を動作させる方法がある。本実施形態に係る仮想機械とは、仮想的なプログラム実行環境である。以下では、仮想機械を動作させるコンピュータプログラム、すなわち、仮想的なプログラム実行環境上での処理を実現するコンピュータプログラムを「ＶＭプログラム」と示す場合がある。【０００７】
本開示では、仮想機械が動作可能な装置における利便性の向上を図ることが可能な、新規かつ改良された情報処理装置、情報処理方法、およびプログラムを提案する。
【課題を解決するための手段】
【０００８】
本開示によれば、仮想機械に関する処理の実行を制御する機能を有する処理部を備え、上記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む上記仮想機械を動作させる条件を示す条件情報と、上記仮想機械プログラムのコード、および上記条件情報に基づき生成される第１の電子署名とが、対応付けられ、上記処理部は、上記仮想機械プログラムに対応付けられている上記第１の電子署名の確認結果に基づいて、上記仮想機械に関する処理の実行を制御する、情報処理装置が、提供される。【０００９】
また、本開示によれば、仮想機械を動作させる機能と、外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行う機能と、を有する処理部を備え、上記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む上記仮想機械を動作させる条件を示す条件情報が対応付けられ、外部装置から上記書き込みコマンドが取得された場合、上記処理部は、上記書き込みコマンドのパラメータが示す領域が上記条件情報が示す領域である場合に、上記仮想機械を動作させ、上記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、全てのデータの書き込みを正常に行うことができると判定されたときに、上記書き込みコマンドに基づくデータの書き込みを行い、全てのデータの書き込みを正常に行うことができると判定されないときには、上記書き込みコマンドに基づくデータの書き込みを行わず、上記書き込みコマンドに基づき上記仮想機械が動作した場合、上記書き込みコマンドに基づくデータの書き込みには、上記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、情報処理装置が、提供される。【００１０】
また、本開示によれば、仮想機械に関する処理の実行を制御するステップを有し、上記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む上記仮想機械を動作させる条件を示す条件情報と、上記仮想機械プログラムのコード、および上記条件情報に基づき生成される第１の電子署名とが、対応付けられ、上記制御するステップでは、上記仮想機械プログラムに対応付けられている上記第１の電子署名の確認結果に基づいて、上記仮想機械に関する処理の実行が制御される、情報処理装置により実行される情報処理方法が、提供される。【００１１】
また、本開示によれば、仮想機械を動作させるステップと、外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行うステップと、を有し、上記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む上記仮想機械を動作させる条件を示す条件情報が対応付けられ、外部装置から上記書き込みコマンドが取得された場合、上記仮想機械を動作させるステップでは、上記書き込みコマンドのパラメータが示す領域が上記条件情報が示す領域である場合に、上記仮想機械を動作させ、上記書き込みを行うステップでは、上記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかが判定され、全てのデータの書き込みを正常に行うことができると判定されたときに、上記書き込みコマンドに基づくデータの書き込みが行われ、全てのデータの書き込みを正常に行うことができると判定されないときには、上記書き込みコマンドに基づくデータの書き込みが行われず、上記仮想機械を動作させるステップにより上記仮想機械が動作した場合、上記書き込みコマンドに基づくデータの書き込みには、上記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、情報処理装置により実行される情報処理方法が、提供される。【００１２】
また、本開示によれば、仮想機械に関する処理の実行を制御する機能を、コンピュータに実現させ、上記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む上記仮想機械を動作させる条件を示す条件情報と、上記仮想機械プログラムのコード、および上記条件情報に基づき生成される第１の電子署名とが、対応付けられ、上記制御する機能は、上記仮想機械プログラムに対応付けられている上記第１の電子署名の確認結果に基づいて、上記仮想機械に関する処理の実行を制御する、プログラムが、提供される。【００１３】
また、本開示によれば、仮想機械を動作させる機能、外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行う機能、を、コンピュータに実現させ、上記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む上記仮想機械を動作させる条件を示す条件情報が対応付けられ、外部装置から上記書き込みコマンドが取得された場合、上記仮想機械を動作させる機能は、上記書き込みコマンドのパラメータが示す領域が上記条件情報が示す領域である場合に、上記仮想機械を動作させ、上記書き込みを行う機能は、上記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、全てのデータの書き込みを正常に行うことができると判定されたときに、上記書き込みコマンドに基づくデータの書き込みを行い、全てのデータの書き込みを正常に行うことができると判定されないときには、上記書き込みコマンドに基づくデータの書き込みを行わず、上記仮想機械を動作させる機能により上記仮想機械が動作した場合、上記書き込みコマンドに基づくデータの書き込みには、上記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、プログラムが、提供される。
【発明の効果】
【００１４】
本開示によれば、仮想機械が動作可能な装置における利便性の向上を図ることができる。【００１５】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握されうる他の効果が奏されてもよい。
【図面の簡単な説明】
【００１６】
【図１】本実施形態に係る情報処理システムの構成の一例を示す説明図である。
【図２】本実施形態に係る情報処理装置の構成の一例を示す機能ブロック図である。
【図３】本実施形態に係る情報処理装置のハードウェア構成の一例を示す説明図である。
【図４】本実施形態に係るリーダ／ライタのハードウェア構成の一例を示す説明図である。
【図５】本実施形態に係る情報処理装置における仮想機械（ＶＭ）の動作の一例を説明するための説明図である。
【図６】本実施形態に係る情報処理装置における仮想機械（ＶＭ）の動作の一例を説明するための説明図である。
【図７】第１の実施形態に係る情報処理方法の概要を説明するための説明図である。
【図８】第２の実施形態に係る情報処理方法の第１の例の概要を説明するための説明図である。
【図９】第２の実施形態に係る情報処理方法の第２の例の概要を説明するための説明図である。
【図１０】第５の実施形態に係る情報処理方法の概要を説明するための説明図である。
【図１１】本実施形態に係る情報処理方法が適用されるユースケースの第１の例を説明するための説明図である。
【図１２】本実施形態に係る情報処理方法が適用されるユースケースの第１の例を説明するための説明図である。
【図１３】本実施形態に係る情報処理方法が適用されるユースケースの第２の例を説明するための説明図である。
【図１４】本実施形態に係る情報処理方法が適用されるユースケースの第２の例を説明するための説明図である。
【発明を実施するための形態】
【００１７】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１８】
また、以下では、下記に示す順序で説明を行う。
１．本実施形態に係る情報処理システム、および本実施形態に係る情報処理方法
［１］本実施形態に係る情報処理システムの構成
［１−１］情報処理装置１００
［１−２］リーダ／ライタ２００
［１−３］本実施形態に係る情報処理システムを構成する各装置の適用例
［２］本実施形態に係る情報処理方法に係る処理
［２−１］第１の実施形態に係る情報処理方法
［２−２］第２の実施形態に係る情報処理方法
［２−３］第３の実施形態に係る情報処理方法
［２−４］第４の実施形態に係る情報処理方法
［２−５］第５の実施形態に係る情報処理方法
［２−６］他の実施形態に係る情報処理方法
［３］本実施形態に係る情報処理方法が用いられることにより奏される効果の一例
［４］本実施形態に係る情報処理方法が適用されるユースケース
［４−１］ユースケースの第１の例：ＶＭによるクーポン付与
［４−２］ユースケースの第２の例：ＶＭによる電子マネー使用限度額設定
２．本実施形態に係るプログラム
【００１９】
（本実施形態に係る情報処理システム、および本実施形態に係る情報処理方法）
以下、本実施形態に係る情報処理システムの一例をまず説明した後、本実施形態に係る情報処理システムに適用される場合を例に挙げて、本実施形態に係る情報処理方法について、説明する。
【００２０】
また、以下では、本実施形態に係る情報処理装置が、ＩＣ（Integrated  Circuit）カードである場合を主に例に挙げる。なお、本実施形態に係る情報処理装置は、ＩＣカードに限られない。本実施形態に係る情報処理装置の他の適用例については、後述する。
【００２１】
［１］本実施形態に係る情報処理システムの構成
図１は、本実施形態に係る情報処理システム１０００の構成の一例を示す説明図である。情報処理システム１０００は、例えば、情報処理装置１００と、リーダ／ライタ２００とを有する。
【００２２】
なお、本実施形態に係る情報処理システムの構成は、図１に示す例に限られない。例えば、本実施形態に係る情報処理システムは、情報処理装置１００を複数有していてもよい。また、本実施形態に係る情報処理システムは、リーダ／ライタ２００を複数有していてもよい。
【００２３】
情報処理装置１００とリーダ／ライタ２００とは、例えば、Ｔｙｐｅ−Ａ、Ｔｙｐｅ−Ｂ、Ｔｙｐｅ−ＦなどのＮＦＣ（Near  Field  Communication）によって、通信を行う。
【００２４】
なお、本実施形態に係る情報処理システムでは、情報処理装置１００とリーダ／ライタ２００とは、例えば、“ＢＬＥ（Bluetooth  Low  Energy）などのＩＥＥＥ８０２．１５．１を利用した無線通信や、ＩＥＥＥ８０２．１１を利用した無線通信、赤外線通信などの、任意の通信方式の無線通信”、または、“ＵＳＢ（Universal  Serial  Bus）や、ＩＳＯ７８１６規格に基づく通信インタフェースを介した通信などを利用する有線通信”によって、通信を行ってもよい。
【００２５】
［１−１］情報処理装置１００
図２は、本実施形態に係る情報処理装置１００の構成の一例を示す機能ブロック図である。情報処理装置１００は、例えば、通信部１０２と、制御部１０４とを備える。
【００２６】
［情報処理装置１００のハードウェア構成例］
図３は、本実施形態に係る情報処理装置１００のハードウェア構成の一例を示す説明図である。情報処理装置１００は、例えば、アンテナ１５０と、ＩＣチップ１５２とを備える。なお、情報処理装置１００は、例えば図３に示すＩＣチップ１５２の構成を、ＩＣチップの形態で備えていなくてもよい。
【００２７】
図３に示すハードウェア構成を有する情報処理装置１００は、アンテナ１５０により受信された搬送波に応じた受信電圧によって駆動する。なお、情報処理装置１００は、例えば、情報処理装置１００が備えているバッテリなどの内部電源から供給される電力、または、接続されている外部電源から供給される電力などによって、駆動することも可能である。
【００２８】
アンテナ１５０は、例えば、所定のインダクタンスをもつコイル（インダクタ）Ｌ１と、所定の静電容量をもつキャパシタＣ１とからなる共振回路で構成され、搬送波の受信に応じて電磁誘導により誘起電圧を生じさせる。そして、アンテナ１５０は、所定の共振周波数で誘起電圧を共振させた受信電圧を出力する。ここで、アンテナ１５０における共振周波数は、例えば、１３．５６［ＭＨｚ］など搬送波の周波数に合わせて設定される。アンテナ１５０は、上記構成により、搬送波を受信し、また、ＩＣチップ１５２が備える負荷変調回路１６４において行われる負荷変調によって応答信号の送信を行う。
【００２９】
ＩＣチップ１５２は、例えば、キャリア検出回路１５４と、検波回路１５６と、レギュレータ１５８と、復調回路１６０と、プロセッサ１６２と、負荷変調回路１６４とを備える。なお、図２では示していないが、ＩＣチップ１５２は、例えば、過電圧や過電流がプロセッサ１６２に印加されることを防止するための保護回路（図示せず）をさらに備えていてもよい。ここで、保護回路（図示せず）としては、例えば、ダイオードなどで構成されたクランプ回路が挙げられる。
【００３０】
また、ＩＣチップ１５２は、例えば、ＲＯＭ（Read  Only  Memory）１６６と、ＲＡＭ（Random  Access  Memory）１６８と、不揮発性メモリ１７０とを備える。プロセッサ１６２と、ＲＯＭ１６６、ＲＡＭ１６８、および不揮発性メモリ１７０とは、例えば、データの伝送路としてのバス１７２によって接続される。
【００３１】
ＲＯＭ１６６は、プロセッサ１６２により実行されるプログラムや演算パラメータなどの制御用データを記憶する。
【００３２】
ＲＡＭ１６８は、プロセッサ１６２により実行されるプログラム、演算結果、実行状態などを一時的に記憶する。また、プロセッサ１６２により実行されるプログラムがＶＭプログラムである場合、ＲＡＭ１６８には、ＶＭプログラムにより実行されるプログラム、演算結果、実行状態などを一時的に記憶する。
【００３３】
不揮発性メモリ１７０は、例えば、“ＶＭプログラムや、鍵などの、本実施形態に係る情報処理方法に係るデータ”や、電子バリュー（貨幣または貨幣に準じた価値を有するデータ。以下、「電子マネー」と示す場合がある。）、各種サービスに対応するデータ、各種アプリケーションプログラムなどの、様々なデータを記憶する。本実施形態に係る鍵とは、例えば、電子署名の確認や、ＮＦＣなどの任意の通信方式の通信における認証（記録媒体の領域にアクセスするための認証も含む。）、任意の暗号化、復号化に係る処理などに用いられるデータである。
【００３４】
ここで、不揮発性メモリ１７０としては、例えば、ＥＥＰＲＯＭ（Electrically  Erasable  and  Programmable  Read  Only  Memory）や、フラッシュメモリなどが挙げられる。
【００３５】
また、不揮発性メモリ１７０は、例えば耐タンパ性を有する。不揮発性メモリ１７０のような耐タンパ性を有するセキュアな記録媒体に、ＶＭプログラムなどの各種データが記憶されることによって、情報処理装置１００では、データのセキュリティが確保される。
【００３６】
キャリア検出回路１５４は、例えば、アンテナ１５０から伝達される受信電圧に基づいて矩形の検出信号を生成し、当該検出信号をプロセッサ１６２へ伝達する。また、プロセッサ１６２は、伝達される上記検出信号を、例えば、データ処理のための処理クロックとして用いる。ここで、上記検出信号は、アンテナ１５０から伝達される受信電圧に基づくものであるので、リーダ／ライタ２００などの外部装置から送信される搬送波の周波数と同期することとなる。したがって、ＩＣチップ１５２は、キャリア検出回路１５４を備えることによって、リーダ／ライタ２００などの外部装置との間の処理を、当該外部装置と同期して行うことができる。
【００３７】
検波回路１５６は、アンテナ１５０から出力される受信電圧を整流する。ここで、検波回路１５６は、例えばダイオードＤ１とキャパシタＣ２とで構成される。
【００３８】
レギュレータ１５８は、受信電圧を平滑、定電圧化し、プロセッサ１６２へ駆動電圧を出力する。ここで、レギュレータ１５８は、受信電圧の直流成分を駆動電圧として用いる。なお、上述したように、例えば、情報処理装置１００がバッテリなどの内部電源を備える場合、または、情報処理装置１００に外部電源が接続されている場合、情報処理装置１００は、当該内部電源から供給される電力、または、当該外部電源から供給される電力によって、駆動することも可能である。
【００３９】
復調回路１６０は、受信電圧に基づいて搬送波に含まれる搬送波信号を復調し、搬送波信号に対応するデータ（例えば、ハイレベルとローレベルとの二値化されたデータ信号）を出力する。ここで、復調回路１６０は、受信電圧の交流成分をデータとして出力する。
【００４０】
プロセッサ１６２は、例えばレギュレータ１５８から出力される駆動電圧を電源として駆動し、復調回路１６０において復調されたデータの処理を行う。
【００４１】
プロセッサ１６２は、例えば、ネイティブコードを実行することにより上記データの処理を行う。本実施形態に係るネイティブコードとは、プロセッサ１６２などの情報処理装置１００が備える任意のプロセッサ上で実行可能なコードである。ネイティブコードは、情報処理装置１００が備えるプロセッサで実行されるので、ネイティブコードは、当該プロセッサが有する処理速度で動作する。
【００４２】
また、例えば、プロセッサ１６２がＶＭプログラムを実行した場合、上記データの処理は、ＶＭプログラムにより行われてもよい。
【００４３】
また、プロセッサ１６２は、リーダ／ライタ２００などの外部装置への応答に係る負荷変調を制御する制御信号を処理結果に応じて選択的に生成する。そして、プロセッサ１６２は、制御信号を負荷変調回路１６４へと選択的に出力する。
【００４４】
なお、プロセッサ１６２における処理は、復調回路１６０において復調されたデータの処理に限られない。例えば、プロセッサ１６２は、任意のデータの処理を、実行されたＶＭプログラムによって、または、ネイティブコードを実行することによって、行うことが可能である。
【００４５】
プロセッサ１６２は、例えば、ＭＰＵ（Micro  Processing  Unit）などの演算回路で構成される、１または２以上のプロセッサや、各種処理回路などで構成される。
【００４６】
負荷変調回路１６４は、例えば、負荷ＺとスイッチＳＷ１とを備え、プロセッサ１６２から伝達される制御信号に応じて負荷Ｚを選択的に接続する（有効化する）ことによって負荷変調を行う。ここで、負荷Ｚは、例えば、所定の抵抗値を有する抵抗で構成される。また、スイッチＳＷ１は、例えば、ｐチャネル型のＭＯＳＦＥＴ（Metal  Oxide  Semiconductor  Field  effect  transistor）や、ｎチャネル型のＭＯＳＦＥＴで構成される。
【００４７】
ＩＣチップ１５２は、例えば上記のような構成によって、アンテナ１５０が受信した搬送波信号を処理し、負荷変調によってアンテナ１５０に応答信号を送信させることができる。また、ＩＣチップ１５２は、例えば上記のような構成によって、任意のデータの処理を、実行されたＶＭプログラムによって、または、ネイティブコードを実行することによって、行うことができる。
【００４８】
なお、本実施形態に係る情報処理装置のハードウェア構成は、図３に示す構成に限られない。例えば、本実施形態に係る情報処理装置は、後述する本実施形態に係る情報処理装置の適用例に応じた構成をとることが可能である。
【００４９】
再度図２を参照して、情報処理装置１００の構成の一例について説明する。通信部１０２は、情報処理装置１００が備える通信手段であり、外部装置と通信を行う。通信部１０２は、例えば制御部１０４により通信が制御される。
【００５０】
ここで、通信部１０２としては、例えば、図３に示すアンテナ１５０およびＩＣチップ１５２が挙げられる。通信部１０２がアンテナ１５０およびＩＣチップ１５２で構成される場合、情報処理装置１００は、例えば１３．５６［ＭＨｚ］など所定の周波数の搬送波によって、ＩＳＯ／ＩＥＣ１８０９２にて規定されているＮＦＣによる非接触通信を、リーダ／ライタ２００などの外部装置と行う。
【００５１】
なお、通信部１０２は、アンテナ１５０およびＩＣチップ１５２に限られない。例えば、通信部１０２は、ＩＥＥＥ８０２．１５．１ポートおよび送受信回路や、ＩＥＥＥ８０２．１１ポートおよび送受信回路など、任意の通信方式に対応する通信デバイスで構成されていてもよい。また、通信部１０２は、複数の通信方式によって、１または２以上の外部装置などと通信を行うことが可能な構成であってもよい。
【００５２】
制御部１０４は、例えば情報処理装置１００全体を制御する役目を果たす。また、制御部１０４は、例えば処理部１１０を有し、後述する本実施形態に係る情報処理方法に係る処理を主導的に行う役目を果たす。
【００５３】
処理部１１０は、情報処理装置１００における情報処理方法に係る処理を主導的に行う役目を果たす。情報処理装置１００における情報処理方法に係る処理の一例については、後述する各実施形態において示す。
【００５４】
なお、本実施形態に係る情報処理装置の構成は、図２に示す構成に限られない。
【００５５】
例えば、本実施形態に係る情報処理装置は、図２に示す処理部１１０を、制御部１０４とは個別に備えること（例えば、別の処理回路で実現すること）ができる。
【００５６】
また、本実施形態に係る情報処理装置の構成は、図２に示す構成に限られず、後述する情報処理装置１００における情報処理方法に係る処理の切り分け方に応じた、任意の構成をとることが可能である。
【００５７】
また、例えば、本実施形態に係る情報処理装置がスタンドアロンで動作する場合、または、通信部１０２と同様の機能、構成を有する外部の通信デバイスを介して外部装置と通信を行う場合には、本実施形態に係る情報処理装置は、通信部１０２を備えていなくてもよい。
【００５８】
［１−２］リーダ／ライタ２００
リーダ／ライタ２００は、情報処理装置１００と通信を行うことが可能な装置の一例である。リーダ／ライタ２００は、情報処理装置１００と他の装置との通信を中継する中継装置の役目を果たしてもよい。
【００５９】
［リーダ／ライタ２００のハードウェア構成例］
図４は、本実施形態に係るリーダ／ライタ２００のハードウェア構成の一例を示す説明図である。
【００６０】
リーダ／ライタ２００は、例えば、ＭＰＵ２５０と、ＲＯＭ２５２と、ＲＡＭ２５４と、記録媒体２５６と、通信インタフェース２５８と、搬送波送信回路２６０と、アンテナ２６２とを備える。また、リーダ／ライタ２００は、例えば、データの伝送路としてのバス２６４で各構成要素間を接続する。また、リーダ／ライタ２００は、例えば、リーダ／ライタ２００が備えているバッテリなどの内部電源から供給される電力、または、接続されている外部電源から供給される電力などによって、駆動する。
【００６１】
ＭＰＵ２５０は、例えば、ＭＰＵなどの演算回路で構成される、１または２以上のプロセッサや、各種処理回路などで構成され、リーダ／ライタ２００全体を制御する制御部（図示せず）として機能する。
【００６２】
ＲＯＭ２５２は、ＭＰＵ２５０により実行されるプログラムや演算パラメータなどの制御用データなどを記憶する。ＲＡＭ２５４は、例えば、ＭＰＵ２５０により実行されるプログラムなどを一時的に記憶する。
【００６３】
記録媒体２５６は、記憶部（図示せず）として機能し、例えば、各種アプリケーションなどの様々なデータを記憶する。ここで、記録媒体２５６としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリが挙げられる。また、記録媒体２５６は、リーダ／ライタ２００から着脱可能であってもよい。
【００６４】
通信インタフェース２５８は、リーダ／ライタ２００が備える一の通信方式の通信を行う通信手段であり、ネットワークを介して（あるいは、直接的に）、サーバなどの外部装置との間で、無線または有線で通信を行うための第１通信部（図示せず）として機能する。ここで、通信インタフェース２５８としては、例えば、通信アンテナおよびＲＦ回路（無線通信）や、ＩＥＥＥ８０２．１５．１ポートおよび送受信回路（無線通信）、ＩＥＥＥ８０２．１１ポートおよび送受信回路（無線通信）、あるいはＬＡＮ端子および送受信回路（有線通信）などが挙げられる。また、通信インタフェース２５８は、本実施形態に係るネットワークに対応する任意の構成であってもよい。
【００６５】
搬送波送信回路２６０およびアンテナ２６２は、リーダ／ライタ２００が備える他の通信方式の通信を行う通信手段であり、情報処理装置１００などの外部装置との間で、無線または有線で通信を行うための第２通信部（図示せず）として機能する。
【００６６】
アンテナ２６２は、例えば、送受信アンテナとしての所定のインダクタンスをもつコイルおよび所定の静電容量をもつキャパシタからなる共振回路と、復調回路とから構成される。そして、アンテナ２６２は、例えば、１３．５６［ＭＨｚ］などの所定の周波数の搬送波を受信することによって、情報処理装置１００などの外部装置から負荷変調などにより送信されるデータなどを復調する。なお、例えば、搬送波送信回路２６０が復調回路を備える場合には、アンテナ２６２は、共振回路で構成されていてもよい。
【００６７】
搬送波送信回路２６０は、例えば、ＡＳＫ（Amplitude  Shift  Keying）などの変調を行う変調回路と、当該変調回路の出力を増幅する増幅回路とを備え、アンテナ２６２の送受信アンテナから搬送波信号をのせた搬送波を送信させる。また、搬送波送信回路２６０は、例えばアンテナ２６２により受信された信号を復調する復調回路を備えていてもよい。復調回路は、例えば、変調回路（または増幅回路）とアンテナ２６２の共振回路との間における電圧の振幅変化を包絡線検波し、検波した信号を二値化することによって、アンテナ２６２により受信された信号を復調する。なお、復調回路は、例えば、変調回路（または増幅回路）とアンテナ２６２の共振回路との間における電圧の位相変化を用いて、アンテナ２６２により受信された信号を復調することも可能である。
【００６８】
搬送波送信回路２６０を備えることによって、リーダ／ライタ２００は、ＮＦＣにおけるイニシエータ機能を有し、いわゆるリーダ／ライタの役目を果たす。ここで、搬送波送信回路２６０がアンテナ２６２から送信する搬送波信号としては、例えば、ポーリング信号や、書き込みコマンドなどの各種コマンドを示す信号など、様々な信号が挙げられる。本実施形態に係る書き込みコマンドとしては、例えば、データの書き込み命令と、書き込み対象の領域などを示す各種パラメータとを含むデータが挙げられる。また、書き込みコマンドには、書き込み対象のデータが含まれていてもよい。
【００６９】
搬送波送信回路２６０は、例えば、ＭＰＵ２５０によって搬送波の送信が制御される。
【００７０】
リーダ／ライタ２００は、例えば図４に示すハードウェア構成を有する。なお、本実施形態に係るリーダ／ライタ２００のハードウェア構成は、図４に示す構成に限られない。
【００７１】
例えば、リーダ／ライタ２００は、通信インタフェース２５８と同様の機能を有する外部の通信デバイスを介して外部装置と通信を行う場合には、通信インタフェース２５８を備えていなくてもよい。
【００７２】
また、リーダ／ライタ２００は、搬送波送信回路２６０およびアンテナ２６２と同様の機能を有する外部の通信デバイスを介して外部装置と通信を行う場合には、搬送波送信回路２６０およびアンテナ２６２を備えていなくてもよい。
【００７３】
また、リーダ／ライタ２００は、ＩＥＥＥ８０２．１５．１を利用した無線通信などの、ＮＦＣ以外の通信方式により外部装置と通信を行う場合には、搬送波送信回路２６０およびアンテナ２６２を備えていなくてもよい。上記の場合、リーダ／ライタ２００は、ＮＦＣ以外の通信方式に対応する通信デバイスを備えることによって、または、ＮＦＣ以外の通信方式に対応する外部の通信デバイスによって、外部装置と通信を行う。
【００７４】
また、リーダ／ライタ２００は、例えば記録媒体２５６を備えない構成をとることも可能である。
【００７５】
また、リーダ／ライタ２００は、例えば、後述するリーダ／ライタ２００の適用例に応じたハードウェア構成をとることが可能である。
【００７６】
また、例えば、図４に示す構成（または変形例に係る構成）は、１、または２以上のＩＣで実現されてもよい。
【００７７】
［１−３］本実施形態に係る情報処理システムを構成する各装置の適用例
上記では、本実施形態に係る情報処理システムの構成要素として、情報処理装置１００を挙げると共に、情報処理装置１００がＩＣカードである場合を例に挙げたが、本実施形態に係る情報処理装置の適用例は、上記に示す例に限られない。本実施形態に係る情報処理装置は、例えば、“ＰＣ（Personal  Computer）やサーバなどのコンピュータ”や、“タブレット型の装置”、“ゲーム機”、“任意のＩｏＴ（Internet  of  Things）機器”などの、後述する情報処理装置１００における情報処理方法に係る処理を行うことが可能な、様々な機器に適用することができる。また、本実施形態に係る情報処理装置は、例えば、上記のような機器に組み込むことが可能な、“ＳＩＭ（Subscriber  Identity  Module）”や、“ｅＵＩＣＣ”、“ｅＳＥ”、“ＴＥＥ（Trusted  Execution  Environment）に対応するＩＣ”などのＩＣに適用することもできる。
【００７８】
また、本実施形態に係る情報処理システムの構成要素として、リーダ／ライタ２００を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、“リーダ／ライタ”、“リーダ／ライタ機能を有する装置”、“ＢＬＥのようなＩＥＥＥ８０２．１５．１を利用した無線通信などにより通信を行う通信装置”などの、本実施形態に係る情報処理装置と通信を行うことが可能な任意の機器に、適用することができる。また、本実施形態は、例えば、上記のような機器に組み込むことが可能な、処理ＩＣに適用することもできる。
【００７９】
［２］本実施形態に係る情報処理方法
次に、図１に示す情報処理システム１０００を例に挙げて、本実施形態に係る情報処理方法に係る処理について、説明する。
【００８０】
上述したように、装置が有する機能を拡張する方法としては、例えば、ＶＭを動作させる方法がある。本実施形態に係る情報処理方法が適用される情報処理装置１００は、ＶＭを動作させる方法が適用される装置である。
【００８１】
図５は、本実施形態に係る情報処理装置１００における仮想機械（ＶＭ）の動作の一例を説明するための説明図である。図５では、図１に示す情報処理装置１００とリーダ／ライタ２００とを示している。
【００８２】
情報処理装置１００には、１つまたは複数のＶＭプログラムがインストールされうる。ここで、ＶＭプログラムがインストールされるとは、例えば“情報処理装置１００が備えるプロセッサ（例えば処理部１１０として機能するプロセッサ）がアクセスすることが可能な記録媒体にＶＭプログラムが記憶され、かつ、当該プロセッサがＶＭプログラムを実行することが可能な状態となること”をいう。
【００８３】
ここで、ＶＭプログラムは、装置が備えるプロセッサのアーキテクチャなどによらず同一にすることができるので、１つのＶＭプログラムを複数の種類の装置で動作させることができる。
【００８４】
ＶＭプログラムは、情報処理装置１００の製造者だけでなく、情報処理装置１００の使用者がインストールできてもよい。
【００８５】
ＶＭプログラムは、例えば図５に示すように、情報処理装置１００が特定のコマンドを受信したとき、または、受信したコマンドの処理の過程でファイルシステムに対して特定のアクセスが行なわれたときに起動される。ＶＭプログラムが起動するトリガは、例えば、ＶＭプログラムに対応付けられてる条件情報（後述する）により規定される。ＶＭプログラムが起動することによって、ＶＭプログラムに対応するＶＭは動作することとなる。
【００８６】
本実施形態に係るファイルシステムとしては、例えば、Ｆｅｌｉｃａ（登録商標）  ＯＳのファイルシステムなど、情報処理装置１００において動作するＯＳが対応する任意のファイルシステムが、挙げられる。
【００８７】
起動されたＶＭプログラムは、例えば、“ファイルシステムに対して任意のアクセスを行うこと”や、“コマンドが本来行なうべき動作に係る処理を中断させ、代わりに他の動作に係る処理を行なうこと”など、様々な処理を行う。
【００８８】
図６は、本実施形態に係る情報処理装置１００における仮想機械（ＶＭ）の動作の一例を説明するための説明図である。図６では、図１に示す情報処理装置１００とリーダ／ライタ２００とにおける処理の一例を示している。
【００８９】
リーダ／ライタ２００は、書き込みコマンドやデータを読み出すための読み出しコマンドなどの、コマンドを送信する（Ｓ１００）。
【００９０】
ステップＳ１００においてリーダ／ライタ２００から送信されたコマンドを受信した情報処理装置１００の処理部１１０は、条件情報が示す仮想機械を動作させる条件を満たすと判定した場合に、ＶＭプログラムを起動させる（Ｓ１０２）。
【００９１】
本実施形態に係る条件情報とは、仮想機械を動作させる条件を示すデータであり、例えば、記録媒体の領域を示すパラメータなどの記録媒体の領域を示す情報を条件として含む。条件情報としては、例えば、特定のコマンドの受信を起動トリガとするための起動条件情報と、ファイルシステムへの特定のアクセスを起動トリガとするためのアクセス対象情報とが挙げられる。
【００９２】
起動条件情報には、例えば、起動させるＶＭプログラムを示す情報（例えばＶＭプログラムのＩＤなど）と、ＶＭプログラムを起動させるトリガとなるコマンドを規定する情報（例えばコマンドコードなど）と、記録媒体の領域を示す情報（例えばアドレスを示すデータなど）とが含まれる。また、アクセス対象情報には、例えば、起動させるＶＭプログラムを示す情報（例えばＶＭプログラムのＩＤなど）と、ＶＭプログラムを起動させるトリガとなるアクセスを規定する、記録媒体の領域を示す情報（例えばアドレスを示すデータなど）とが含まれる。
【００９３】
例えば条件情報に基づきＶＭプログラムが起動されることによって、情報処理装置１００が特定のコマンドを受信したとき、または、受信したコマンドの処理の過程でファイルシステムに対して特定のアクセスが行なわれたときに、ＶＭプログラムを起動させることが、実現される。
【００９４】
ステップＳ１０２の処理により起動したＶＭプログラムは、ＶＭプログラムのコードに従って処理を行い、例えば、適宜ファイルシステムにアクセスして（Ｓ１０４）、処理の結果を処理部１１０へ伝達する（Ｓ１０６）。
【００９５】
ステップＳ１０６においてＶＭプログラムから処理の結果を取得した処理部１１０は、ステップＳ１００におけるコマンドに対する応答信号を送信させる（Ｓ１０８）。
【００９６】
例えば図６に示すように、情報処理装置１００では、条件情報が示す条件が満たすときにＶＭプログラムが起動されてＶＭが動作する。なお、情報処理装置１００におけるＶＭの動作の例が、図６に示す例に限られないことは、言うまでもない。
【００９７】
以下、本実施形態に係る情報処理方法に係る処理の一例を、実施形態ごとに説明する。
【００９８】
［２−１］第１の実施形態に係る情報処理方法
［２−１−１］第１の実施形態に係る情報処理方法が適用される情報処理システム１０００の概要
例えばＩＣカードのような装置では、一般的に、所有者やアクセス権限が異なる複数のデータが含まれている。
【００９９】
図５、図６を参照して示したように、ＶＭプログラムを起動してＶＭプログラムにファイルシステムへのアクセスを行わせる場合、ＶＭプログラムが起動する条件とＶＭプログラムによるアクセス権限とを制限する必要があると考えられる。上記のような制限が必要な理由は、例えば“制限がされない場合、ＶＭプログラムは、任意のコマンドの処理やファイルシステムの挙動を変更することができ、また、ファイルシステム内のどのデータにもアクセスできてしまう可能性があるため”である。
【０１００】
ここで、ＶＭプログラムが起動する条件とＶＭプログラムによるアクセス権限とを制限する方法としては、“ＶＭプログラムの中にアクセス用の鍵を格納し、リーダ／ライタ２００などの外部装置によるファイルシステムへのアクセスと同様に、ＶＭプログラムがファイルシステムに対して相互認証を行ってからアクセスする、という方法”が、考えられる。しかしながら、ＶＭプログラムの中にアクセス用の鍵を格納する上記方法が用いられる場合、ＶＭプログラムからアクセス用の鍵が漏洩する危険性があり、セキュリティの観点から望ましくない。
【０１０１】
そこで、第１の実施形態に係る情報処理方法が適用される情報処理システム１０００では、ＶＭプログラムに対して電子署名が行われる。以下では、一のＶＭプログラムに対して行われる電子署名を「第１の電子署名」と示す場合がある。
【０１０２】
第１の電子署名は、例えば、ＶＭプログラムのコード、ＶＭプログラムに対応する条件情報、および条件情報に対応する鍵に基づき生成される。第１の電子署名の生成は、サーバ（図示せず）などの情報処理装置１００からみた任意の外部装置において行われうる。
【０１０３】
第１の電子署名は、例えば、公開鍵方式の電子署名であってもよいし、共通鍵方式の電子署名であってもよい。第１の電子署名が共通鍵方式の電子署名である場合、第１の電子署名は、ＭＡＣ（Message  Authentication  Code）となる。
【０１０４】
情報処理装置１００では、ＶＭプログラムのＩＤを用いた対応付けなどの任意の対応付け方法によって、条件情報および第１の電子署名がＶＭプログラムに対応付けられて、記録媒体に記憶される。条件情報および第１の電子署名は、例えば“ＶＭプログラムが、リーダ／ライタ２００などの情報処理装置１００の外部装置から情報処理装置１００へと送信されるとき”に、情報処理装置１００へと送信される。また、条件情報および第１の電子署名は、“ＶＭプログラムが、リーダ／ライタ２００などの外部装置から情報処理装置１００へと送信された後の、任意のタイミング”で、情報処理装置１００へと送信されてもよい。
【０１０５】
情報処理装置１００では、ＶＭプログラムに対応付けられている第１の電子署名を、“ＶＭのインストールが行われるとき”、または、“ＶＭのインストールが行われた後であって、ＶＭを動作させる前”に確認する。第１の電子署名の確認とは、第１の電子署名の検証に該当し、第１の電子署名の確認は、電子署名を検証することが可能な任意の処理により行われる。
【０１０６】
そして、情報処理装置１００は、第１の電子署名の確認結果に基づいて、ＶＭに関する処理（仮想機械に関する処理。以下、同様とする。）の実行を制御する。本実施形態に係るＶＭに関する処理には、例えば、ＶＭをインストールする処理と、条件情報に基づきＶＭを動作させる処理との一方または双方が含まれる。
【０１０７】
一例を挙げると、第１の電子署名の確認結果が正しい署名ではないことを示す場合、情報処理装置１００は、ＶＭのインストールを失敗させる、ＶＭプログラムを無効にする、ＶＭプログラムに対応する条件情報が示す条件を無効にするなど、所定のエラー処理を行う。また、他の例を挙げると、第１の電子署名の確認結果が正しい署名であることを示す場合、情報処理装置１００は、ＶＭをインストールさせる、条件情報に基づきＶＭを動作させるなど、ＶＭに関する処理の実行を可能とする。
【０１０８】
なお、“ＶＭプログラムに対応付けられている第１の電子署名”、または、“ＶＭプログラムに対応付けられている、第１の電子署名および条件情報”は、第１の電子署名の確認後に破棄されてもよい。第１の電子署名の確認後に第１の電子署名などが破棄されることによって、例えば“情報処理装置１００が備える記録媒体をより効率的に使用することができると共に、安全にＶＭプログラムを実行することができるという効果”が、奏される。
【０１０９】
図７は、第１の実施形態に係る情報処理方法の概要を説明するための説明図である。図７のＡは、条件情報が起動条件情報である場合の例を示しており、図７のＢは、条件情報がアクセス対象情報である場合の例を示している。図７では、第１の電子署名を「署名」と示している（他の図においても同様とする。）。
【０１１０】
図７に示すように、第１の実施形態に係る情報処理方法が適用される情報処理システム１０００では、ＶＭプログラムのコード、ＶＭプログラムに対応する条件情報（図７のＡに示す起動条件情報、または図７のＢに示すアクセス対象情報）、および条件情報に対応する鍵（図７のＡに示す“起動トリガ対象の領域”に対応付けられている鍵、または、図７のＢに示す“アクセス対象の領域”に対応付けられている鍵）から、第１の電子署名が生成される。
【０１１１】
また、情報処理装置１００において、ＶＭプログラムには、条件情報と第１の電子署名とが対応付けられて、記録媒体に記憶される。
【０１１２】
情報処理装置１００は、 例えば、“ＶＭのインストールが行われるとき”、または、“ＶＭのインストールが行われた後であって、ＶＭを動作させる前”に、ＶＭプログラムに対応付けられている第１の電子署名を確認する。そして、情報処理装置１００は、第１の電子署名の確認結果に基づいて、ＶＭに関する処理の実行を制御する。
【０１１３】
例えば上記のように“情報処理装置１００が、ＶＭプログラムに対応付けられている第１の電子署名を確認して、確認結果に基づきＶＭに関する処理の実行を制御すること”によって、上述した“ＶＭプログラムが起動する条件とＶＭプログラムによるアクセス権限とを制限すること”を、実現することができる。
【０１１４】
また、情報処理装置１００が第１の電子署名の確認結果に基づきＶＭに関する処理の実行を制御する場合には、上述した“ＶＭプログラムの中にアクセス用の鍵を格納する方法”が用いられる場合のようなＶＭプログラムからアクセス用の鍵が漏洩する危険性はないので、セキュリティも十分に確保される。
【０１１５】
したがって、第１の実施形態に係る情報処理方法が適用される情報処理装置１００によって、情報処理装置１００（ＶＭが動作可能な装置の一例）における利便性の向上を図ることができる。
【０１１６】
［２−１−２］第１の実施形態に係る情報処理装置１００における情報処理方法に係る処理
次に、第１の実施形態に係る情報処理装置１００における情報処理方法に係る処理の一例を説明する。
【０１１７】
情報処理装置１００は、第１の電子署名の確認結果に基づいて、ＶＭに関する処理の実行を制御する。
【０１１８】
情報処理装置１００は、条件情報が示す領域に対応付けられている鍵を用いて、第１の電子署名を確認する。
【０１１９】
情報処理装置１００は、例えば、記録媒体の領域に対応付けられている設定情報に基づいて、条件情報が示す領域に対応付けられている鍵を特定する。設定情報としては、例えば、“記録媒体の領域を示すアドレスと鍵とが、領域ごとに対応付けて記録されているテーブル（またはデータベース）”が、挙げられる。なお、本実施形態に係る設定情報は、上記に示すようなテーブル（またはデータベース）に限られず、例えば、領域ごとのデータなどの、任意の形式のデータであってもよい。
【０１２０】
情報処理装置１００は、例えば、ＶＭプログラムのコード、条件情報、および条件情報が示す領域に対応付けられている鍵から、検証用の電子署名を生成する。そして、情報処理装置１００は、生成した検証用の電子署名と第１の電子署名とを比較することによって、第１の電子署名の正当性を確認する。本実施形態に係る第１の電子署名の正当性を確認するとは、第１の電子署名が正しい署名であるか否かを確認することをいう。
【０１２１】
情報処理装置１００は、検証用の電子署名と第１の電子署名とが一致する場合に、第１の電子署名が正しい署名であると判定する（すなわち、第１の電子署名の正当性が確認されたと判定する。）。また、情報処理装置１００は、検証用の電子署名と第１の電子署名とが一致しない場合には、第１の電子署名が正しい署名であると判定しない（すなわち、第１の電子署名の正当性が確認されたと判定しない。）。
【０１２２】
なお、第１の電子署名の確認に係る処理は、上記に示す例に限られず、情報処理装置１００は、電子署名を検証することが可能な任意の処理により、第１の電子署名の確認を行ってもよい。
【０１２３】
情報処理装置１００は、第１の電子署名の正当性が確認された場合に、仮想機械に関する処理の実行を可能とする。一例を挙げると、情報処理装置１００は、第１の電子署名の正当性が確認された場合に、ＶＭをインストールさせ、または、条件情報に基づきＶＭを動作させる。
【０１２４】
また、情報処理装置１００は、第１の電子署名の正当性が確認されない場合には、所定のエラー処理を実行する。一例を挙げると、情報処理装置１００は、第１の電子署名の正当性が確認されない場合には、ＶＭのインストールを失敗させる、ＶＭプログラムを無効にする、あるいは、ＶＭプログラムに対応する条件情報が示す条件を無効にする。なお、本実施形態に係る所定のエラー処理は、上記に示す例に限られず、ＶＭを動作させないことを実現することが可能な任意の処理であってもよい。
【０１２５】
［２−２］第２の実施形態に係る情報処理方法
上述した第１の実施形態に係る情報処理方法が適用されることによって、情報処理装置１００（ＶＭが動作可能な装置の一例）における利便性の向上を図ることができる。
【０１２６】
ここで、ＶＭプログラムに対応付けられる第１の電子署名を、条件情報が示す領域ごとに生成する場合を想定すると、条件情報が示す領域が増えれば増える程、第１の電子署名の数も多くなる。よって、条件情報が示す領域が増えれば増える程、情報処理装置１００へと第１の電子署名を送信する際の送信に要する時間は長くなり、情報処理装置１００が第１の電子署名を記憶する記録媒体の記憶容量も大きくなる。例えば、情報処理装置１００がＩＣカードである場合、記録媒体の記憶容量はそれ程大きくないので、第１の電子署名を記憶する記憶容量の増加は、好ましくない。
【０１２７】
そこで、第２の実施形態に係る情報処理方法が適用される情報処理システム１０００では、ＶＭプログラムに複数の条件情報が対応付けられる場合における、ＶＭプログラムに対応付けられる電子署名の数の増加を防止する。
【０１２８】
（Ａ）第２の実施形態に係る情報処理方法の第１の例
ＶＭプログラムに条件情報が複数対応付けられる場合、複数の条件情報それぞれに対応する複数の鍵から、縮退鍵（新たな鍵）が生成される。縮退鍵の生成は、サーバ（図示せず）などの情報処理装置１００からみた任意の外部装置において行われうる。
【０１２９】
縮退鍵は、例えば、乱数などの元となる値に対して、複数の条件情報それぞれに対応する複数の鍵で順次暗号化することによって、生成される。なお、縮退鍵の生成方法が、上記に示す例に限られないことは、言うまでもない。
【０１３０】
そして、第１の電子署名は、ＶＭプログラムのコード、複数の条件情報、および生成される縮退鍵に基づき生成される。上述したように、第１の電子署名の生成は、サーバ（図示せず）などの情報処理装置１００からみた任意の外部装置において行われうる。
【０１３１】
情報処理装置１００は、上述した第１の実施形態に係る情報処理方法を用いる場合と同様に、第１の電子署名の確認結果に基づいてＶＭに関する処理の実行を制御する。
【０１３２】
図８は、第２の実施形態に係る情報処理方法の第１の例の概要を説明するための説明図である。図８は、図７のＡと同様に、条件情報が起動条件情報である例を示している。
【０１３３】
図８に示すように、第２の実施形態に係る情報処理方法が適用される情報処理システム１０００では、ＶＭプログラムに対応する複数の条件情報に対応する複数の鍵（図８に示す鍵１、鍵２、鍵３）から、１つの縮退鍵が生成される。
【０１３４】
また、第２の実施形態に係る情報処理方法が適用される情報処理システム１０００では、ＶＭプログラムのコード、ＶＭプログラムに対応する複数の条件情報、および縮退鍵から、第１の電子署名が生成される。
【０１３５】
また、情報処理装置１００において、ＶＭプログラムには、条件情報と第１の電子署名とが対応付けられて、記録媒体に記憶される。
【０１３６】
情報処理装置１００は、 例えば、“ＶＭのインストールが行われるとき”、または、“ＶＭのインストールが行われた後であって、ＶＭを動作させる前”に、ＶＭプログラムに対応付けられている第１の電子署名を確認する。そして、情報処理装置１００は、第１の電子署名の確認結果に基づいて、ＶＭに関する処理の実行を制御する。
【０１３７】
図８と図７を比較すると分かるように、第２の実施形態に係る情報処理方法の第１の例では、第１の電子署名の生成の仕方以外は、上述した第１の実施形態に係る情報処理方法と同様である。
【０１３８】
したがって、第２の実施形態に係る情報処理方法が適用される情報処理装置１００によって、第１の実施形態に係る情報処理方法が適用される場合と同様に、情報処理装置１００（ＶＭが動作可能な装置の一例）における利便性の向上を図ることができる。
【０１３９】
また、第２の実施形態に係る情報処理方法が適用される場合には、ＶＭプログラムに複数の条件情報が対応付けられていても、ＶＭプログラムに対応付けられる電子署名の数は、少なくとも１つで済む。
【０１４０】
なお、第２の実施形態に係る情報処理方法が適用される場合、縮退鍵に基づき生成された第１の電子署名を含む２つ以上の電子署名が、ＶＭプログラムに対応付けられていてもよい。２つ以上の電子署名がＶＭプログラムに対応付けられる場合の一例としては、“起動条件情報に対応する複数の鍵で生成された縮退鍵に基づく第１の電子署名と、アクセス対象情報対応する複数の鍵で生成された縮退鍵に基づく第１の電子署名とが、ＶＭプログラムに対応付けられる例”が、挙げられる。
【０１４１】
よって、第２の実施形態に係る情報処理方法が適用される場合には、
“ＶＭプログラムに複数の条件情報が対応付けられるときにおける、ＶＭプログラムに対応付けられる電子署名の数の増加”が防止される。
【０１４２】
また、第２の実施形態に係る情報処理方法の第１の例は、第１の電子署名が共通鍵方式による署名（ＭＡＣ）であるときに、特に有効である。
【０１４３】
（Ｂ）第２の実施形態に係る情報処理方法の第２の例
ＶＭプログラムに条件情報が複数対応付けられる場合、複数の条件情報それぞれに対応する複数の第１の電子署名から、縮退電子署名（新たな電子署名）が生成される。縮退電子署名の生成は、サーバ（図示せず）などの情報処理装置１００からみた任意の外部装置において行われうる。
【０１４４】
縮退電子署名は、例えば、乱数などの元となる値に対して、複数の条件情報それぞれに対応する複数の第１の電子署名で順次暗号化することによって、生成される。また、縮退電子署名は、例えば、複数の条件情報それぞれに対応する複数の第１の電子署名を順に並べたデータに対して、ＭＡＣを生成することによって生成されてもよい。上記ＭＡＣが、縮退電子署名に該当する。なお、縮退電子署名の生成方法が、上記に示す例に限られないことは、言うまでもない。
【０１４５】
情報処理装置１００は、上述した第１の実施形態に係る情報処理方法を用いる場合における第１の電子署名に代えて、縮退電子署名を確認する。そして、情報処理装置１００は、縮退電子署名の確認結果に基づいてＶＭに関する処理の実行を制御する。
【０１４６】
一例を挙げると、情報処理装置１００は、例えば、条件情報ごとに、検証用の電子署名を生成する。また、情報処理装置１００は、条件情報ごとに生成された検証用の電子署名から、検証用の縮退電子署名を生成する。そして、情報処理装置１００は、生成した検証用の縮退電子署名と縮退電子署名とを比較することによって、縮退電子署名の正当性を確認する。
【０１４７】
なお、縮退電子署名の確認に係る処理は、上記に示す例に限られず、情報処理装置１００は、電子署名を検証することが可能な任意の処理により、縮退電子署名の確認を行ってもよい。
【０１４８】
図９は、第２の実施形態に係る情報処理方法の第２の例の概要を説明するための説明図である。図９は、図７のＡと同様に、条件情報が起動条件情報である例を示している。また、図９では、縮退電子署名を「縮退署名」と示している。
【０１４９】
図９に示すように、第２の実施形態に係る情報処理方法が適用される情報処理システム１０００では、ＶＭプログラムに対応する複数の条件情報に対応する複数の第１の電子署名（図９に示す署名１、署名２、署名３）が生成される。また、第２の実施形態に係る情報処理方法が適用される情報処理システム１０００では、複数の第１の電子署名から縮退電子署名が生成される。
【０１５０】
また、情報処理装置１００において、ＶＭプログラムには、条件情報と縮退電子署名とが対応付けられて、記録媒体に記憶される。
【０１５１】
情報処理装置１００は、 例えば、“ＶＭのインストールが行われるとき”、または、“ＶＭのインストールが行われた後であって、ＶＭを動作させる前”に、ＶＭプログラムに対応付けられている縮退電子署名を確認する。そして、情報処理装置１００は、縮退電子署名の確認結果に基づいて、ＶＭに関する処理の実行を制御する。
【０１５２】
図９と図７を比較すると分かるように、第２の実施形態に係る情報処理方法の第２の例では、第１の電子署名が縮退電子署名であること以外は、上述した第１の実施形態に係る情報処理方法と同様である。
【０１５３】
したがって、第２の実施形態に係る情報処理方法が適用される情報処理装置１００によって、第１の実施形態に係る情報処理方法が適用される場合と同様に、情報処理装置１００（ＶＭが動作可能な装置の一例）における利便性の向上を図ることができる。
【０１５４】
また、第２の実施形態に係る情報処理方法が適用される場合には、ＶＭプログラムに複数の条件情報が対応付けられていても、ＶＭプログラムに対応付けられる電子署名の数は、少なくとも１つで済む。
【０１５５】
なお、第２の実施形態に係る情報処理方法が適用される場合、２つ以上の縮退電子署名が、ＶＭプログラムに対応付けられていてもよい。２つ以上の縮退電子署名がＶＭプログラムに対応付けられる場合の一例としては、“起動条件情報に対応する複数の電子署名から生成された縮退電子署名と、アクセス対象情報対応する複数の電子署名から生成された縮退電子署名とが、ＶＭプログラムに対応付けられる例”が、挙げられる。
【０１５６】
よって、第２の実施形態に係る情報処理方法が適用される場合には、
“ＶＭプログラムに複数の条件情報が対応付けられるときにおける、ＶＭプログラムに対応付けられる電子署名の数の増加”が防止される。
【０１５７】
また、第２の実施形態に係る情報処理方法の第２の例は、縮退電子署名が共通鍵方式による署名（ＭＡＣ）であるときに、特に有効である。
【０１５８】
［２−３］第３の実施形態に係る情報処理方法
上述した第１の実施形態に係る情報処理方法または第２の実施形態に係る情報処理方法が適用されることによって、情報処理装置１００（ＶＭが動作可能な装置の一例）における利便性の向上を図ることができる。
【０１５９】
ここで、上述した第１の実施形態に係る情報処理方法または第２の実施形態に係る情報処理方法が適用される場合には、例えば“情報処理装置１００においてＶＭプログラムと電子署名とが対応付けられた後に、ＶＭプログラムの提供者などがＶＭの動作を制限したくなるユースケース”に対応することができない。
【０１６０】
そこで、第３の実施形態に係る情報処理方法が適用される情報処理システム１０００では、情報処理装置１００が、ＶＭに関する処理の実行を制御するための制御情報に基づいて、ＶＭに関する処理の実行を制御する機能を、さらに有する。
【０１６１】
本実施形態に係る制御情報としては、例えば“ＶＭプログラムを特定するための情報と、制限内容を示す情報とが対応付けて記録されているテーブル（またはデータベース）”が、挙げられる。なお、本実施形態に係る制御情報は、上記に示すようなテーブル（またはデータベース）に限られず、例えば、ＶＭプログラムごとのデータなどの、任意の形式のデータであってもよい。制御情報の生成は、サーバ（図示せず）などの情報処理装置１００からみた任意の外部装置において行われうる。
【０１６２】
ＶＭプログラムを特定するための情報としては、例えば、ＶＭプログラムのＩＤや、プログラムコードの少なくとも一部のハッシュ値、ＭＡＣなどの、ＶＭプログラムを同定することが可能な任意のデータが、挙げられる。
【０１６３】
制限内容を示す情報としては、例えば、ＶＭのインストールを禁止することを示すデータや、ＶＭプログラムの実行を禁止することを示すデータなど、ＶＭの動作の制限内容が規定される任意のデータが、挙げられる。
【０１６４】
情報処理装置１００は、例えば、制御情報に含まれるＶＭプログラムを特定するための情報に基づいて、“対象となるＶＭプログラムが、制御情報に設定されているＶＭプログラムであるか”を判定する。情報処理装置１００は、例えば、ＶＭのインストール時、または、ＶＭプログラムの実行時に、“対象となるＶＭプログラムが、制御情報に設定されているＶＭプログラムであるか”を判定する。なお、情報処理装置１００は、記録媒体に記憶されている全てのＶＭプログラムを対象となるＶＭプログラムとし、任意のタイミングに“対象となるＶＭプログラムが、制御情報に設定されているＶＭプログラムであるか”を判定してもよい。
【０１６５】
そして、情報処理装置１００は、制御情報に基づく判定結果に応じて、ＶＭに関する処理の実行の制御を行う。
【０１６６】
一例を挙げると、情報処理装置１００は、ＶＭのインストール時またはＶＭプログラムの実行時に、ＶＭプログラムの実行やＶＭプログラムのインストールが禁止されていれば、禁止されている処理を行わない。他の例を挙げると、ＶＭがインストールされた後に、ＶＭプログラムのインストールが禁止された場合、情報処理装置１００は、ＶＭプログラムをアンインストールする、または、ＶＭプログラムの実行を禁止する。
【０１６７】
なお、第３の実施形態に係る情報処理装置１００における処理は、上記に示す例に限られない。
【０１６８】
例えば、第３の実施形態に係る情報処理方法が適用される場合、制御情報に対して電子署名が行われていてもよい。以下では、一の制御情報に対して行われる電子署名を「第２の電子署名」と示す場合がある。
【０１６９】
第２の電子署名の生成は、サーバ（図示せず）などの情報処理装置１００からみた任意の外部装置において行われうる。また、情報処理装置１００では、任意の対応付け方法によって、制御情報と第２の電子署名とが対応付けられて、記録媒体に記憶される。
【０１７０】
制御情報に第２の電子署名が対応付けられている場合、情報処理装置１００は、第２の電子署名の確認結果に基づいて、制御情報に基づくＶＭに関する処理の実行の制御を行う。
【０１７１】
例えば、情報処理装置１００は、第２の電子署名の正当性が確認された場合に、制御情報に基づくＶＭに関する処理の実行の制御を可能とする。また、情報処理装置１００は、第２の電子署名の正当性が確認されない場合には、制御情報に基づくＶＭに関する処理の実行の制御を行わない。
【０１７２】
情報処理装置１００は、例えば、“制御情報による制御対象のＶＭプログラムに対応付けられている条件情報”が示す領域に対応付けられている鍵を用いて、第２の電子署名を確認する。
【０１７３】
情報処理装置１００は、例えば、“制御情報による制御対象のＶＭプログラムに対応付けられている条件情報”が示す領域に対応付けられている鍵のうち、少なくとも１つ以上の鍵を用いて署名がされている場合に、第２の電子署名が正しい署名であると判定する。また、情報処理装置１００は、例えば、“制御情報による制御対象のＶＭプログラムに対応付けられている条件情報”が示す領域に対応付けられている全ての鍵を用いて署名がされている場合に、第２の電子署名が正しい署名であると判定してもよい。
【０１７４】
第３の実施形態に係る情報処理方法が適用される情報処理装置１００では、上記のように、制御情報に基づくＶＭに関する処理の実行の制御が、行われる。よって、第３の実施形態に係る情報処理方法が適用される情報処理装置１００は、上述した“情報処理装置１００においてＶＭプログラムと電子署名とが対応付けられた後に、ＶＭプログラムの提供者などがＶＭの動作を制限したくなるユースケース”に対応することができる。
【０１７５】
したがって、第３の実施形態に係る情報処理方法が適用される情報処理装置１００によって、第１の実施形態に係る情報処理方法または第２の実施形態に係る情報処理方法が適用される場合よりも、情報処理装置１００（ＶＭが動作可能な装置の一例）における利便性の向上を図ることができる。
【０１７６】
［２−４］第４の実施形態に係る情報処理方法
上述した第１の実施形態に係る情報処理方法〜第３の実施形態に係る情報処理方法の少なくとも１つが適用されることによって、情報処理装置１００（ＶＭが動作可能な装置の一例）における利便性の向上を図ることができる。
【０１７７】
ここで、情報処理装置１００では、“署名されたＶＭプログラムがインストールされた後に、条件情報が示す領域（すなわち、正当な電子署名の生成に用いられた鍵に紐づく領域）が削除されるケース”が想定される。上記ケースが生じた場合、情報処理装置１００で実行されるＶＭプログラムは、決して成立しない起動条件を待ち、あるいは、存在しない領域にアクセスしようとしてしまう。
【０１７８】
そこで、第４の実施形態に係る情報処理方法が適用される情報処理システム１０００では、情報処理装置１００が、記録媒体の領域を削除するときに、削除対象の領域を示す条件情報が存在する場合には、下記のいずれかを行う。
・削除対象の領域の削除を行わない。
・削除対象の領域を示す条件情報に対応付けられているＶＭプログラムに関して所定の処理を行う。
【０１７９】
第４の実施形態に係る所定の処理としては、例えば、“削除対象の領域を示す条件情報に対応付けられているＶＭプログラムをアンインストールする処理”や、“削除対象の領域を示す条件情報に対応付けられているＶＭプログラムを無効化する処理”が、挙げられる。ＶＭプログラムを無効化する処理としては、ＶＭプログラムを無効にする処理と、ＶＭプログラムに対応する条件情報が示す条件を無効にする処理との一方または双方が、挙げられる。
【０１８０】
第４の実施形態に係る情報処理方法が適用される情報処理装置１００では、上記のように、記録媒体の領域を削除するときに削除対象の領域を示す条件情報が存在する場合には、削除対象の領域の削除が行われず、または、ＶＭプログラムに関して所定の処理が行われる。よって、第４の実施形態に係る情報処理方法が適用される情報処理装置１００は、上述した“ＶＭプログラムが、決して成立しない起動条件を待ち、あるいは、存在しない領域にアクセスしようとしてしまうこと”が、防止される。
【０１８１】
したがって、第４の実施形態に係る情報処理方法が適用される情報処理装置１００によって、情報処理装置１００（ＶＭが動作可能な装置の一例）における利便性の向上を図ることができる。
【０１８２】
［２−５］第５の実施形態に係る情報処理方法
［２−５−１］第５の実施形態に係る情報処理方法が適用される情報処理システム１０００の概要
ＩＣカードのようなＮＦＣに対応する装置の中には、１回のコマンド実行による結果のアトミック性が担保されるという特長を有するものがある。アトミック性が担保される例としては、“１回のコマンドのパラメータにおいて領域Ａ、Ｂ、Ｃへの書き込みが指示されている場合、コマンドが中断された場合でも、領域Ａ、Ｂ、Ｃへの書き込みが全て行なわれているか、または、領域Ａ、Ｂ、Ｃへの書き込みが全く行なわれていないかのどちらかの結果になる例”が、挙げられる。
【０１８３】
そこで、第５の実施形態に係る情報処理方法が適用される情報処理システム１０００では、ＶＭを動作させることが可能な情報処理装置１００において、上記に示す例のようなアトミック性を担保させる。一例を挙げると、第５の実施形態に係る情報処理方法が適用される情報処理システム１０００では、“情報処理装置１００において、コマンドによる書き込みとＶＭプログラムによる書き込みとが、全て成功するかまたは全て失敗するかのどちらかの結果になること”を実現する。
【０１８４】
図１０は、第５の実施形態に係る情報処理方法の概要を説明するための説明図である。図１０は、パラメータにおいて領域Ａ、Ｂ、Ｃへの書き込みが指示されるコマンドを受信した情報処理装置１００における処理の一例を示している。
【０１８５】
例えば、受信したコマンドによりファイルシステムアクセスが発生し、起動条件に合致してＶＭプログラムが起動されたとき、情報処理装置１００では、ＶＭプログラムによるファイルシステムへの書き込みと、コマンドによるファイルシステムへの書き込みは、直ちに実行されず、各処理の成否と書き込むデータとを、一時バッファに保持される。例えば図３に示すハードウェア構成を有する場合、例えばＲＡＭ１６８や不揮発性メモリ１７０などの記録媒体が一時バッファの役目を果たす。
【０１８６】
情報処理装置１００は、コマンドに含まれる各パラメータに基づく処理が終わった後、全ての処理の結果が成功である場合、一時バッファに保持されている全てのデータを、ファイルシステムに反映させる。また、情報処理装置１００は、コマンドに含まれる各パラメータに基づく処理が終わった後、少なくとも１つの処理の結果が失敗である場合には、一時バッファに保持されている全てのデータを、ファイルシステムに反映させない。
【０１８７】
例えば図１０に示す処理が行われることによって、“コマンドによる書き込みとＶＭプログラムによる書き込みとが、全て成功するかまたは全て失敗するかのどちらかの結果になること”が実現されるので、情報処理装置１００では、アトミック性が担保される。
【０１８８】
したがって、第５の実施形態に係る情報処理方法が適用される情報処理装置１００によって、情報処理装置１００（ＶＭが動作可能な装置の一例）における利便性の向上を図ることができる。
【０１８９】
［２−５−２］第５の実施形態に係る情報処理装置１００における情報処理方法に係る処理
次に、第５の実施形態に係る情報処理装置１００における情報処理方法に係る処理の一例を説明する。
【０１９０】
情報処理装置１００は、例えば上述した第１の実施形態〜第４の実施形態に係る情報処理装置１００と同様に、ＶＭを動作させる機能を有する。
【０１９１】
なお、第５の実施形態に係る情報処理装置１００は、上述した第１の実施形態〜第４の実施形態に係る情報処理装置１００のような電子署名の確認結果に応じたＶＭの動作制御を、行ってもよいし、行わなくてもよい。つまり、上記のようなアトミック性を担保させる上で、電子署名の確認結果に応じたＶＭの動作制御は、必須ではない。よって、第５の実施形態に係るＶＭを動作させる仮想機械プログラムには、少なくとも条件情報が対応付けられていればよい。
【０１９２】
また、情報処理装置１００は、書き込みコマンドに基づいてデータの書き込みを行う機能を含め、外部装置から取得されるコマンドを処理する機能を有する。以下では、情報処理装置１００が書き込みコマンドを処理する場合を例に挙げて、上記のようなアトミック性の担保に係る処理を説明する。
【０１９３】
書き込みコマンドが取得された場合、情報処理装置１００は、書き込みコマンドのパラメータが示す領域が条件情報が示す領域である場合に、ＶＭを動作させる。
【０１９４】
また、書き込みコマンドが取得された場合、情報処理装置１００は、書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定する。例えば図１０を参照して説明したように、情報処理装置１００は、ファイルシステムへの書き込みは、直ちに実行されず、全てのデータの書き込みの成否と書き込むデータとを、一時バッファに保持する。
【０１９５】
そして、情報処理装置１００は、全てのデータの書き込みを正常に行うことができると判定されたときに、書き込みコマンドに基づくデータの書き込みを行う。例えば図１０を参照して説明したように、情報処理装置１００は、コマンドに含まれる各パラメータに基づく処理が終わった後、全ての処理の結果が成功である場合、一時バッファに保持されている全てのデータを、ファイルシステムに反映させる。
【０１９６】
また、情報処理装置１００は、全てのデータの書き込みを正常に行うことができると判定されないときには、書き込みコマンドに基づくデータの書き込みを行わない。例えば図１０を参照して説明したように、情報処理装置１００は、コマンドに含まれる各パラメータに基づく処理が終わった後、少なくとも１つの処理の結果が失敗である場合には、一時バッファに保持されている全てのデータを、ファイルシステムに反映させない。
【０１９７】
例えば上記のように、情報処理装置１００が、書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、判定結果に応じて書き込みコマンドに基づくデータの書き込みを選択的に行う。よって、情報処理装置１００では、アトミック性が担保される。
【０１９８】
ここで、書き込みコマンドに基づきＶＭを動作させた場合には、書き込みコマンドに基づくデータの書き込みには、ＶＭプログラムにおいて実行されるデータの書き込みが含まれることとなる。
【０１９９】
［２−６］他の実施形態に係る情報処理方法
本実施形態に係る情報処理方法に係る処理は、上記第１の実施形態に係る情報処理方法に係る処理〜上記第５の実施形態に係る情報処理方法に係る処理に限られない。
【０２００】
例えば、本実施形態に係る情報処理方法に係る処理は、上記第１の実施形態に係る情報処理方法に係る処理〜上記第５の実施形態に係る情報処理方法に係る処理のうちの２以上を組み合わせた処理であってもよい。
【０２０１】
［３］本実施形態に係る情報処理方法が用いられることにより奏される効果の一例
本実施形態に係る情報処理方法が用いられることによって、例えば下記の（ａ）〜（ｄ）に示す効果が奏される。なお、本実施形態に係る情報処理方法が用いられることにより奏される効果が、下記に示す例に限られないことは、言うまでもない。
【０２０２】
（ａ）ＯＳとの連携、および高機能ＡＰＩ（Application  Programming  Interface）によるＶＭプログラムの実装
・本実施形態に係るＶＭプログラムは、Ｆｅｌｉｃａ（登録商標）  ＯＳなどのＯＳの機能をカスタマイズする機能を有する高機能ＡＰＩを提供することが可能である。
・例えばＯＳと連携するＡＰＩをＶＭプログラムに設けることによって、ＶＭプログラムをＯＳの動きと連携して動作させることができる。一例を挙げると、ＯＳの書き込み動作とＶＭプログラムによる書き込み動作とを連携させることによって、上記第５の実施形態に係る情報処理方法において例示したように、書き込み動作のアトミック性を担保することができる。また、書き込み動作のアトミック性が担保されることによって、書き込みが完了する前に電力が途切れる場合（電源断が生じた場合）への対応を、実現することができる。
・アプリケーションの基本的な部分は、高速に動くプロセッサ上でネイティブで動作するコード（ネイティブコード）として実装し、ＯＳの機能をカスタマイズする機能をＶＭプログラムで実装することが可能である。このような実装によって、例えば、ＶＭ上で動作する低速なプログラムを含む場合であっても、高速に動作するアプリケーションを実現することができる。また、このような実装によって、コンパクトに機能を実現することが可能となり、限られたメモリリソース上で高度な機能を実現することができる。情報処理装置１００がＩＣカードである場合、限られたメモリリソース上で高度な機能を実現することができることは、特に有益である。
【０２０３】
（ｂ）ＶＭプログラムの起動条件
・ＶＭプログラムは条件情報に従って起動されるので、情報処理装置１００の外部から指定することなく、所定のタイミングにＶＭプログラムを実行させることができる。よって、ＶＭプログラムの実行は、リーダ／ライタ２００などの外部装置に依存しないので、例えば市場に存在する外部装置を変更することなく、ＶＭプログラムによる情報処理装置１００の機能の拡張を実現することができる。また、ＶＭプログラムの実行は、リーダ／ライタ２００などの外部装置に依存しないので、例えば外部装置では、ＶＭプログラムの存在を意識する必要はない。
・上記第１の実施形態に係る情報処理方法に係る処理〜上記第４の実施形態に係る情報処理方法のいずれかが用いられることにより、電子署名の確認結果に基づくＶＭに関する処理の実行の制御が、実現される。ここで、情報処理装置１００では、例えば、電子署名はダウンロード時にチェックされた上で保存され、実行時に電子署名を確認する必要はなく、プログラムの高速な実行が可能である。
【０２０４】
（ｃ）アクセス対象の事前設定
・例えば、ＶＭプログラムのメタデータとしてリソースアクセス権限に関する情報（例えば、条件情報、および電子署名）をダウンロードしておくことによって、ＶＭプログラムを実行するときにおける相互認証が不要となり、ＶＭプログラムは、ＯＳのリソースにアクセスすることが可能となる。ここで、実行権限は、必要なアクセス権限ごとに署名され、情報処理装置１００に設定される。また、情報処理装置１００では、例えば、電子署名はダウンロード時にチェックされた上で保存され、実行時に電子署名を確認する必要はなく、プログラムの高速な実行が可能である。
・アクセス対象に対しては、条件ごとに制限を追加することも可能である。
【０２０５】
（ｄ）市場での機能追加
・ＶＭプログラムのダウンロードは、市場で発行可能なコマンドとして実装されてもよく、市場で情報処理装置１００の機能追加が可能である。
・不要になったＶＭプログラムは、市場で発行可能なコマンドにより市場で削除されてもよい。
・ＶＭプログラムの専用領域を必要とせず、空き領域にＶＭプログラムをダウンロード可能にすることによって、情報処理装置１００では、メモリを有効に活用することができる。
・既存のアプリケーションを削除せずに、機能を追加する動作を、ＶＭプログラムによって実現することができる。これによって、例えば、既存のデータ構造を引き継ぐことができ、ＶＭプログラムによる追加的な動きを実現することが、可能である。
・上記（ｂ）および上記（ｃ）により、アプリケーションをダウンロードした後に、市場のリーダライタなどの外部装置を変更せずに、情報処理装置１００に機能を追加することができる。一例を挙げると、情報処理装置１００に与えるシーケンスを変更せずに、情報処理装置１００側で機能の追加が可能である。
【０２０６】
［４］本実施形態に係る情報処理方法が適用されるユースケース
次に、上述した本実施形態に係る情報処理方法が適用されるユースケースについて説明する。なお、本実施形態に係る情報処理方法が適用されるユースケースが、下記に示す例に限られないことは、言うまでもない。
【０２０７】
［４−１］ユースケースの第１の例：ＶＭによるクーポン付与
ユースケースの第１の例として、ＶＭによりクーポンを付与するユースケースを、説明する。
【０２０８】
図１１は、本実施形態に係る情報処理方法が適用されるユースケースの第１の例を説明するための説明図である。図１１のＡは、ＶＭプログラムがインストールされる前の情報処理装置１００が備える記録媒体の状態を示している。また、図１１のＢは、ＶＭプログラムがインストールされた後の情報処理装置１００が備える記録媒体の状態を示している。
【０２０９】
起動条件情報（条件情報の一例）の署名は、例えば、ＶＭプログラムが起動する条件となる領域（ブロック）の親エリアの権限を持つ者（例えば電子マネー事業者）により作成される。また、アクセス対象情報（条件情報の一例）の署名は、例えば、ＶＭプログラムがアクセスするクーポンを保存する領域（ブロック）の親エリアの権限を持つ者（例えば電子マネー事業者）により作成される。
【０２１０】
ＶＭプログラムと、起動条件情報および署名と、アクセス対象情報および署名とは、１つにまとめられた署名付きのパッケージとされてもよい。ここで、本実施形態に係る署名付きのパッケージとは、暗号化されて署名されることをいう。署名付きのパッケージは、秘匿化され、署名されているので、市場での安全なダウンロードが可能となる。
【０２１１】
起動条件情報および署名と、アクセス対象情報および署名とは、ＶＭプログラムのメタデータに該当する。
【０２１２】
例えばパッケージ化されたＶＭプログラムが、情報処理装置１００にダウンロードされた場合、情報処理装置１００は、署名を検証して改ざんされていないことを確認する。署名がダウンロード時に確認されることによって、例えば、署名を情報処理装置１００に保存する必要がなくなり、情報処理装置１００が備える不揮発メモリの容量が少ない場合であっても、安全にＶＭプログラムを実行することが可能となる。
【０２１３】
なお、情報処理装置１００では、情報処理装置１００の起動時や、プログラム実行時などに、署名が確認されてもよい。また、電子署名を情報処理装置１００に保存して、情報処理装置１００がプログラム実行時などに毎回チェックすることによって、より安全を高めることが可能である。
【０２１４】
例えばパッケージ化されたＶＭプログラムが情報処理装置１００にダウンロードされることにより、情報処理装置１００が備える記録媒体の状態は、例えば、図１１のＡに示す状態から図１１のＢに示す状態へと変わる。
【０２１５】
図１２は、本実施形態に係る情報処理方法が適用されるユースケースの第１の例を説明するための説明図である。図１２は、図１に示す情報処理システム１０００における処理の一例を示している。
【０２１６】
リーダ／ライタ２００は、図１１に示すＳｅｒｖｉｃｅ１００８に関する相互認証コマンドを送信し（Ｓ２００）、処理部１１０は、相互認証コマンドに応じた処理を行った上でレスポンスを返す（Ｓ２０２）。ステップＳ２００、Ｓ２０２の処理は、Ｓｅｒｖｉｃｅ１００８に関する相互認証に該当する。以下では、相互認証が正常に完了した場合を例に挙げる。
【０２１７】
リーダ／ライタ２００は、Ｓｅｒｖｉｃｅ１００８に対して書き込みを行うための書き込みコマンドを送信する（Ｓ２０４）。
【０２１８】
ステップＳ２０４においてリーダ／ライタ２００から送信された書き込みコマンドを取得した処理部１１０は、書き込みコマンドに基づいてファイルシステムに対して、Ｓｅｒｖｉｃｅ１００８への書き込みアクセスを行う（Ｓ２０６）。図１２では、ステップＳ２０６に示す処理として、電子マネーチャージ（電子バリューの値を加算する処理）を示している。
【０２１９】
また、処理部１１０は、署名を確認した上でＶＭプログラムの起動条件を確認する（Ｓ２０８）、処理部１１０は、署名が確認され、かつ起動条件を満たしている場合に、ＶＭプログラムを起動させる（Ｓ２１０）。
【０２２０】
ＶＭプログラムが実行され、Ｓｅｒｖｉｃｅ１１０８への書き込みアクセスが発生した場合、ＶＭプログラムは、例えば、アクセス対象情報に
Ｓｅｒｖｉｃｅ１１０８ブロックの更新情報が含まれていることを確認する。このとき、ＶＭプログラムは、図１１に示す署名２を確認してもよい。
【０２２１】
ＶＭプログラムは、図１１に示すＳｅｒｖｉｃｅ１１０８への書き込みアクセスを行う（Ｓ２１２）。図１２では、ステップＳ２１２に示す処理として、クーポン付与に係る処理を示している。
【０２２２】
ＶＭプログラムは、署名を確認した上でアクセス対象情報の条件を確認し、署名が確認され、かつ当該条件を満たしている場合に、Ｓｅｒｖｉｃｅ１１０８への書き込みを予約する（Ｓ２１４）。ＶＭプログラムは、例えば、Ｓｅｒｖｉｃｅ１００８への書き込みに対応するクーポン（例えば、電子バリューの値の加算値（いわゆるチャージ金額）に対応するクーポン）の書き込みを予約する。また、ＶＭプログラムは、ステップＳ２１４の処理の結果を、処理部１１０へ伝達する（Ｓ２１６）。ここで、アクセス対象情報には、例えば、Ｓｅｒｖｉｃｅ１１０８にアクセスするという情報とＳｅｒｖｉｃｅ１１０８に書き込みを行うことができるという権限が規定される。
【０２２３】
ステップＳ２１６において正常に書き込み予約が行われたことを示す結果が、処理部１１０へ伝達された場合、ファイルシステムにより、不揮発性メモリへのデータの書き込みが行われ（Ｓ２１８）、書き込みの結果が処理部１１０へ伝達される（Ｓ２２０）。例えば、Ｓｅｒｖｉｃｅ１００８への書き込みは、処理部１１０により行われ、Ｓｅｒｖｉｃｅ１１０８への書き込みは、ＶＭプログラムにより行われる。Ｓｅｒｖｉｃｅ１１０８への書き込みが行われた後、ＶＭプログラムは正常終了する。
【０２２４】
処理部１１０は、ステップＳ２０４においてリーダ／ライタ２００から送信された書き込みコマンドに対するレスポンスとして、正常に処理が行われたレスポンスを返す（Ｓ２２２）。
【０２２５】
例えば図１２に示す処理が行われることによって、ＶＭによるクーポン付与が実現される。なお、ＶＭによるクーポン付与を実現することが可能な処理が、図１２に示す例に限られないことは、言うまでもない。
【０２２６】
［４−２］ユースケースの第２の例：ＶＭによる電子マネー使用限度額設定
ユースケースの第２の例として、ＶＭによる電子マネーに使用限度額を設定するユースケースを、説明する。
【０２２７】
図１３は、本実施形態に係る情報処理方法が適用されるユースケースの第２の例を説明するための説明図である。図１３のＡは、ＶＭプログラムがインストールされる前の情報処理装置１００が備える記録媒体の状態を示している。また、図１３のＢは、ＶＭプログラムがインストールされた後の情報処理装置１００が備える記録媒体の状態を示している。
【０２２８】
起動条件情報（条件情報の一例）の署名は、例えば、ＶＭプログラムが起動する条件となる親エリアの権限を持つ者（例えば電子マネー事業者）により作成される。
【０２２９】
ＶＭプログラムと、起動条件情報および署名とは、１つにまとめられた署名付きのパッケージとされてもよい。署名付きのパッケージは、秘匿化され、署名されているので、市場での安全なダウンロードが可能となる。
【０２３０】
例えばパッケージ化されたＶＭプログラムが、情報処理装置１００にダウンロードされた場合、情報処理装置１００は、署名を検証して改ざんされていないことを確認する。署名がダウンロード時に確認されることによって、例えば、署名を情報処理装置１００に保存する必要がなくなり、情報処理装置１００が備える不揮発メモリの容量が少ない場合であっても、安全にＶＭプログラムを実行することが可能となる。
【０２３１】
なお、情報処理装置１００では、情報処理装置１００の起動時や、プログラム実行時などに、署名が確認されてもよい。また、電子署名を情報処理装置１００に保存して、情報処理装置１００がプログラム実行時などに毎回チェックすることによって、より安全を高めることが可能である。
【０２３２】
例えばパッケージ化されたＶＭプログラムが情報処理装置１００にダウンロードされることにより、情報処理装置１００が備える記録媒体の状態は、例えば、図１３のＡに示す状態から図１３のＢに示す状態へと変わる。例えば図１３のＢに示すように、ＶＭプログラムは、ＶＭプログラム専用領域にデータを保存するプログラムであってもよい。
【０２３３】
図１４は、本実施形態に係る情報処理方法が適用されるユースケースの第２の例を説明するための説明図である。図１４は、図１に示す情報処理システム１０００における処理の一例を示している。
【０２３４】
リーダ／ライタ２００は、図１３に示すＳｅｒｖｉｃｅ１００８およびＳｅｒｖｉｃｅ１１０Ｃに関する相互認証コマンドを送信し（Ｓ３００）、処理部１１０は、相互認証コマンドに応じた処理を行った上でレスポンスを返す（Ｓ３０２）。ステップＳ３００、Ｓ３０２の処理は、図１２に示すステップＳ２００、Ｓ２０２の処理と同様に、Ｓｅｒｖｉｃｅ１００８およびＳｅｒｖｉｃｅ１１０Ｃに関する相互認証に該当する。以下では、相互認証が正常に完了した場合を例に挙げる。
【０２３５】
リーダ／ライタ２００は、Ｓｅｒｖｉｃｅ１００８に対して書き込みを行うための書き込みコマンドを送信する（Ｓ３０４）。
【０２３６】
ステップＳ３０４においてリーダ／ライタ２００から送信された書き込みコマンドを取得した処理部１１０は、書き込みコマンドに基づいてファイルシステムに対して、Ｓｅｒｖｉｃｅ１００８およびＳｅｒｖｉｃｅ１１０Ｃへの書き込みアクセスを行う（Ｓ３０６）。図１４では、ステップＳ３０６に示す処理として、電子マネーチャージ（電子バリューの値を加算する処理）と、ログを記録する処理とを示している。
【０２３７】
また、処理部１１０は、署名を確認した上でＶＭプログラムの起動条件を確認し（Ｓ３０８）、署名が確認され、かつ起動条件を満たしている場合に、ＶＭプログラムを起動させる（Ｓ３１０）。
【０２３８】
コマンドパケットによりデータ参照アクセスが発生した場合、ＶＭプログラムは、アクセス対象情報にＳｅｒｖｉｃｅ
１１０Ｃコマンドパケット中のデータ参照情報が含まれているか否かを確認する。このとき、ＶＭプログラムは、図１３に示す署名２を確認してもよい。
【０２３９】
ＶＭプログラムは、Ｓｅｒｖｉｃｅ１１０Ｃの減額金額と日付とを、図１３に示すＶＭプログラム用データ記憶領域に書き込む。このとき、例えば一日あたりの限度額が設定される場合には、ＶＭプログラムは、Ｓｅｒｖｉｃｅ
１１０Ｃコマンドパケット中の日付と減額金額の確認を行う（Ｓ３１２）。そして、ＶＭプログラムは、減算金額が限度額を超えていないかを確認し（Ｓ３１４）、結果を処理部１１０へ伝達する（Ｓ３１６）。限度額は、例えば、ＶＭプログラムに埋め込まれ、または、ＶＭプログラム用データ記憶領域に記録される。
【０２４０】
ステップＳ３１４において限度額を超えていることが確認された場合、処理部１１０は、ステップＳ３０４においてリーダ／ライタ２００から送信された書き込みコマンドに対するレスポンスとして、エラーを返す（Ｓ３１８）。
【０２４１】
また、ステップＳ３１４において限度額を超えていないことが確認された場合、ファイルシステムにより、不揮発性メモリへのデータの書き込みが行われ（Ｓ３２０）、書き込みの結果が処理部１１０へ伝達される（Ｓ３２２）。例えば、Ｓｅｒｖｉｃｅ１００８への書き込みは、処理部１１０により行われ、Ｓｅｒｖｉｃｅ１１０Ｃへの書き込みは、ＶＭプログラムにより行われる。Ｓｅｒｖｉｃｅ１１０Ｃへの書き込みが行われた後、ＶＭプログラムは正常終了する。
【０２４２】
処理部１１０は、ステップＳ３０４においてリーダ／ライタ２００から送信された書き込みコマンドに対するレスポンスとして、正常に処理が行われたレスポンスを返す（Ｓ３２４）。
【０２４３】
例えば図１４に示す処理が行われることによって、ＶＭによる電子マネー使用限度額設定が実現される。なお、ＶＭによる電子マネー使用限度額設定を実現することが可能な処理が、図１４に示す例に限られないことは、言うまでもない。
【０２４４】
（本実施形態に係るプログラム）
コンピュータシステムを、本実施形態に係る情報処理装置として機能させるためのプログラム（例えば、第１の実施形態に係る情報処理方法に係る処理を行う処理部１１０の機能〜第５の実施形態に係る情報処理方法に係る処理を行う処理部１１０の機能のうちの一部または全部の機能を、実現することが可能なプログラム）が、コンピュータシステムにおいてプロセッサなどにより実行されることによって、仮想機械が動作可能な装置における利便性の向上を図ることができる。ここで、本実施形態に係るコンピュータシステムとしては、単体のコンピュータ、または、複数のコンピュータが挙げられる。本実施形態に係るコンピュータシステムによって、一連の処理が行われる。
【０２４５】
また、コンピュータシステムを、本実施形態に係る情報処理装置として機能させるためのプログラムが、コンピュータシステムにおいてプロセッサなどにより実行されることによって、上述した各実施形態に係る情報処理方法に係る処理によって奏される効果を、奏することができる。
【０２４６】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０２４７】
例えば、上記では、コンピュータシステムを、本実施形態に係る情報処理装置として機能させるためのプログラム（コンピュータプログラム）が提供されることを示したが、本実施形態は、上記プログラムを記憶させた記録媒体を併せて提供することができる。
【０２４８】
上述した構成は、本実施形態の一例を示すものであり、当然に、本開示の技術的範囲に属するものである。
【０２４９】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０２５０】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
仮想機械に関する処理の実行を制御する機能を有する処理部を備え、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報と、前記仮想機械プログラムのコード、および前記条件情報に基づき生成される第１の電子署名とが、対応付けられ、
前記処理部は、前記仮想機械プログラムに対応付けられている前記第１の電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行を制御する、情報処理装置。
（２）
前記処理部は、
前記第１の電子署名の正当性が確認された場合に、前記仮想機械に関する処理の実行を可能とし、
前記第１の電子署名の正当性が確認されない場合には、所定のエラー処理を実行する、（１）に記載の情報処理装置。
（３）
前記仮想機械に関する処理には、前記仮想機械をインストールする処理と、前記条件情報に基づき前記仮想機械を動作させる処理との一方または双方が含まれる、（１）または（２）に記載の情報処理装置。
（４）
前記第１の電子署名は、前記条件情報に対応する鍵に基づき生成され、
前記処理部は、前記条件情報が示す前記領域に対応付けられている鍵を用いて、前記第１の電子署名を確認する、（１）〜（３）のいずれか１つに記載の情報処理装置。
（５）
前記処理部は、前記仮想機械のインストールが行われるとき、または、前記仮想機械のインストールが行われた後であって、前記仮想機械を動作させる前に、前記第１の電子署名を確認する、（１）〜（４）のいずれか１つに記載の情報処理装置。
（６）
前記仮想機械プログラムに前記条件情報が複数対応付けられる場合、前記第１の電子署名は、前記仮想機械プログラムのコード、複数の前記条件情報、および複数の前記条件情報それぞれに対応する複数の鍵に基づき生成される縮退鍵に基づき生成される、（１）〜（５）のいずれか１つに記載の情報処理装置。
（７）
前記仮想機械プログラムに前記条件情報が複数対応付けられる場合、前記仮想機械を動作させる仮想機械プログラムには、複数の前記条件情報それぞれに対応する複数の前記第１の電子署名に基づき生成される縮退電子署名が、対応付けられ、
前記処理部は、前記仮想機械プログラムに対応付けられている前記縮退電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行を制御する、（１）〜（５）のいずれか１つに記載の情報処理装置。
（８）
前記処理部は、さらに、前記仮想機械に関する処理の実行を制御するための制御情報に基づいて、前記仮想機械に関する処理の実行を制御し、
前記制御情報には、第２の電子署名が対応付けられ、
前記処理部は、前記第２の電子署名の確認結果に基づいて、前記制御情報に基づく前記仮想機械に関する処理の実行の制御を行う、（１）〜（７）のいずれか１つに記載の情報処理装置。
（９）
前記処理部は、前記制御情報による制御対象の前記仮想機械プログラムに対応付けられている前記条件情報が示す前記領域に対応付けられている鍵を用いて、前記第２の電子署名を確認する、（８）に記載の情報処理装置。
（１０）
前記処理部は、記録媒体の領域を削除するときに、削除対象の領域を示す前記条件情報が存在する場合には、前記削除対象の領域の削除を行わない、または、前記削除対象の領域を示す前記条件情報に対応付けられている前記仮想機械プログラムに関して所定の処理を行う、（１）〜（９）のいずれか１つに記載の情報処理装置。
（１１）
前記情報処理装置は、ＩＣカードである、（１）〜（１０）のいずれか１つに記載の情報処理装置。
（１２）
仮想機械を動作させる機能と、外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行う機能と、を有する処理部を備え、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報が対応付けられ、
外部装置から前記書き込みコマンドが取得された場合、
前記処理部は、
前記書き込みコマンドのパラメータが示す領域が前記条件情報が示す領域である場合に、前記仮想機械を動作させ、
前記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、
全てのデータの書き込みを正常に行うことができると判定されたときに、前記書き込みコマンドに基づくデータの書き込みを行い、
全てのデータの書き込みを正常に行うことができると判定されないときには、前記書き込みコマンドに基づくデータの書き込みを行わず、
前記書き込みコマンドに基づき前記仮想機械が動作した場合、前記書き込みコマンドに基づくデータの書き込みには、前記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、情報処理装置。
（１３）
仮想機械に関する処理の実行を制御するステップを有し、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報と、前記仮想機械プログラムのコード、および前記条件情報に基づき生成される第１の電子署名とが、対応付けられ、
前記制御するステップでは、前記仮想機械プログラムに対応付けられている前記第１の電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行が制御される、情報処理装置により実行される情報処理方法。
（１４）
仮想機械を動作させるステップと、
外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行うステップと、
を有し、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報が対応付けられ、
外部装置から前記書き込みコマンドが取得された場合、
前記仮想機械を動作させるステップでは、前記書き込みコマンドのパラメータが示す領域が前記条件情報が示す領域である場合に、前記仮想機械を動作させ、
前記書き込みを行うステップでは、
前記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかが判定され、
全てのデータの書き込みを正常に行うことができると判定されたときに、前記書き込みコマンドに基づくデータの書き込みが行われ、
全てのデータの書き込みを正常に行うことができると判定されないときには、前記書き込みコマンドに基づくデータの書き込みが行われず、
前記仮想機械を動作させるステップにより前記仮想機械が動作した場合、前記書き込みコマンドに基づくデータの書き込みには、前記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、情報処理装置により実行される情報処理方法。
（１５）
仮想機械に関する処理の実行を制御する機能を、コンピュータに実現させ、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報と、前記仮想機械プログラムのコード、および前記条件情報に基づき生成される第１の電子署名とが、対応付けられ、
前記制御する機能は、前記仮想機械プログラムに対応付けられている前記第１の電子署名の確認結果に基づいて、前記仮想機械に関する処理の実行を制御する、プログラム。
（１６）
仮想機械を動作させる機能、
外部装置から取得される書き込みコマンドに基づいてデータの書き込みを行う機能、
を、コンピュータに実現させ、
前記仮想機械を動作させる仮想機械プログラムには、記録媒体の領域を示す情報を含む前記仮想機械を動作させる条件を示す条件情報が対応付けられ、
外部装置から前記書き込みコマンドが取得された場合、
前記仮想機械を動作させる機能は、前記書き込みコマンドのパラメータが示す領域が前記条件情報が示す領域である場合に、前記仮想機械を動作させ、
前記書き込みを行う機能は、
前記書き込みコマンドに基づいて行われる全てのデータの書き込みを正常に行うことができるかを判定し、
全てのデータの書き込みを正常に行うことができると判定されたときに、前記書き込みコマンドに基づくデータの書き込みを行い、
全てのデータの書き込みを正常に行うことができると判定されないときには、前記書き込みコマンドに基づくデータの書き込みを行わず、
前記仮想機械を動作させる機能により前記仮想機械が動作した場合、前記書き込みコマンドに基づくデータの書き込みには、前記仮想機械プログラムにおいて実行されるデータの書き込みが含まれる、プログラム。
【符号の説明】
【０２５１】
１００    情報処理装置
２００    リーダ／ライタ
１０２    通信部
１０４    制御部
１１０    処理部
１０００    情報処理システム
【図１】
2019155792.tif 000003
【図２】
2019155792.tif 000004
【図３】
2019155792.tif 000005
【図４】
2019155792.tif 000006
【図５】
2019155792.tif 000007
【図６】
2019155792.tif 000008
【図７】
2019155792.tif 000009
【図８】
2019155792.tif 000010
【図９】
2019155792.tif 000011
【図１０】
2019155792.tif 000012
【図１１】
2019155792.tif 000013
【図１２】
2019155792.tif 000014
【図１３】
2019155792.tif 000015
【図１４】
2019155792.tif 000016
【国際調査報告】
2019155792.tif 000017
2019155792.tif 000018