(57)【要約】【課題】複数のアプリケーションを実行する情報処理装置についてメモリ容量を低減させる。【解決手段】情報処理装置は、受信部および命令処理部を具備する情報処理装置である。ここで、受信部は、所定動作を実行させるためのコマンドを近距離無線通信により受信するものである。また、命令処理部は、受信部が受信したコマンドに基づいて設定されるアルゴリズムおよびパラメータを用いて、所定動作をアプリケーションに実行させるものである。【選択図】図３
2014056449.tif 000002
【特許請求の範囲】
【請求項１】
所定動作を実行させるためのコマンドを近距離無線通信により受信する受信部と、
前記コマンドに基づいて設定されるアルゴリズムおよびパラメータを用いて前記所定動作をアプリケーションに実行させる命令処理部と
を具備する情報処理装置。
【請求項２】
前記アルゴリズムおよび前記パラメータに関する情報を保持する情報保持部をさらに具備し、
前記アプリケーションである第１アプリケーション以外の他のアプリケーションである第２アプリケーションが前記コマンドに基づいて選択された場合には、前記第２アプリケーションが前記情報保持部に保持されている前記アルゴリズムおよび前記パラメータの書き換えと前記第１アプリケーションへの呼び出しとを行うことにより、前記情報保持部における当該書換後の保持内容を用いた前記所定動作を前記第１アプリケーションに実行させる
請求項１記載の情報処理装置。
【請求項３】
前記第２アプリケーションは、前記書き換えおよび前記呼び出しのみを行うアプリケーションであり、前記第２アプリケーションに必要となるメモリ容量は、前記第１アプリケーションに必要となるメモリ容量よりも少ない請求項２記載の情報処理装置。
【請求項４】
前記コマンドは、７８１６標準規格のセレクトコマンドであり、
前記第２アプリケーションは、前記第２アプリケーションを選択するための前記セレクトコマンドを受信した場合に、前記書き換えおよび前記呼び出しを行う
請求項２記載の情報処理装置。
【請求項５】
前記コマンドは、前記アルゴリズムおよび前記パラメータに関する情報を含み、
前記命令処理部は、前記コマンドに含まれる前記アルゴリズムおよび前記パラメータを用いて前記所定動作を前記アプリケーションに実行させる
請求項１記載の情報処理装置。
【請求項６】
前記アルゴリズムは、前記情報処理装置における認証に用いる暗号アルゴリズムであり、
前記パラメータは、前記情報処理装置における暗号処理に用いるパラメータである
請求項１記載の情報処理装置。
【請求項７】
前記情報処理装置は、他の情報処理装置との間で近距離無線通信を行い、
前記受信部は、前記他の情報処理装置との間で行われる前記近距離無線通信に応じて生じる前記コマンドを受け付ける
請求項１記載の情報処理装置。
【請求項８】
所定動作を実行させるためのアルゴリズムおよびパラメータに関する情報を含むコマンドを近距離無線通信により第１情報処理装置に送信する第２情報処理装置と、
前記コマンドを近距離無線通信により前記第２情報処理装置から受信すると、前記コマンドに含まれるアルゴリズムおよびパラメータを用いて前記所定動作をアプリケーションに実行させる命令処理部を備える第１情報処理装置と
を具備する通信システム。
【請求項９】
所定動作を実行させるためのコマンドを近距離無線通信により受信したか否かを判断する判断手順と、
前記コマンドを受信した場合には前記コマンドに基づいて設定されるアルゴリズムおよびパラメータを用いて前記所定動作をアプリケーションに実行させる命令処理手順と
を具備する情報処理方法。
【請求項１０】
所定動作を実行させるためのコマンドを近距離無線通信により受信したか否かを判断する判断手順と、
前記コマンドを受信した場合には前記コマンドに基づいて設定されるアルゴリズムおよびパラメータを用いて前記所定動作をアプリケーションに実行させる命令処理手順と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、情報処理装置に関する。詳しくは、アプリケーションを実行する情報処理装置、通信システムおよび情報処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
従来、情報の記録や演算を行うことができる集積回路が組み込まれているＩＣ（Integrated Circuit）カードが実用化されている。例えば、集積回路内にプロセッサを備え、高度な情報処理を実現するＩＣカード（スマートカードとも呼ばれる）は、日常生活における決済手段や個人識別手段として広く用いられている。
【０００３】
また、複数のアプリケーションを備え、これらのアプリケーションを選択的に実行することが可能なＩＣカードが提案されている。
【０００４】
例えば、受信部が受信した所定の命令と、記憶部に記憶されたテーブルとに基づいて、アプリケーションを選択的に実行する情報処理装置が提案されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１１８８３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の従来技術では、複数のアプリケーションを選択的に実行することができる。
【０００７】
ここで、ＩＣカード等の情報処理装置は、比較的小さい機器であるため、比較的小さいメモリが搭載されることが多い。そこで、複数のアプリケーションを実行する情報処理装置についてメモリ容量を低減させることが重要である。
【０００８】
本技術はこのような状況に鑑みて生み出されたものであり、複数のアプリケーションを実行する情報処理装置についてメモリ容量を低減させることを目的とする。
【課題を解決するための手段】
【０００９】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、所定動作を実行させるためのコマンドを近距離無線通信により受信する受信部と、上記コマンドに基づいて設定されるアルゴリズムおよびパラメータを用いて上記所定動作をアプリケーションに実行させる命令処理部とを具備する情報処理装置およびその情報処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、所定動作を実行させるためのコマンドを近距離無線通信により受信すると、このコマンドに基づいて設定されるアルゴリズムおよびパラメータを用いて所定動作をアプリケーションに実行させるという作用をもたらす。
【００１０】
また、この第１の側面において、上記アルゴリズムおよび上記パラメータに関する情報を保持する情報保持部をさらに具備し、上記アプリケーションである第１アプリケーション以外の他のアプリケーションである第２アプリケーションが上記コマンドに基づいて選択された場合には、上記第２アプリケーションが上記情報保持部に保持されている上記アルゴリズムおよび上記パラメータの書き換えと上記第１アプリケーションへの呼び出しとを行うことにより、上記情報保持部における当該書換後の保持内容を用いた上記所定動作を上記第１アプリケーションに実行させるようにしてもよい。これにより、２アプリケーションがコマンドに基づいて選択された場合には、第２アプリケーションが情報保持部に保持されているアルゴリズムおよびパラメータの書き換えと第１アプリケーションへの呼び出しとを行うことにより、情報保持部における書換後の保持内容を用いた所定動作を第１アプリケーションに実行させるという作用をもたらす。
【００１１】
また、この第１の側面において、上記第２アプリケーションを、上記書き換えおよび上記呼び出しのみを行うアプリケーションとし、上記第２アプリケーションに必要となるメモリ容量を、上記第１アプリケーションに必要となるメモリ容量よりも少なくするようにしてもよい。これにより、第２アプリケーションに必要となるメモリ容量を、第１アプリケーションに必要となるメモリ容量よりも少なくするという作用をもたらす。
【００１２】
また、この第１の側面において、上記コマンドを、７８１６標準規格のセレクトコマンドとし、上記第２アプリケーションは、上記第２アプリケーションを選択するための上記セレクトコマンドを受信した場合に、上記書き換えおよび上記呼び出しを行うようにしてもよい。これにより、第２アプリケーションは、第２アプリケーションを選択するためのセレクトコマンドを受信した場合に、書き換えおよび呼び出しを行うという作用をもたらす。
【００１３】
また、この第１の側面において、上記コマンドは、上記アルゴリズムおよび上記パラメータに関する情報を含み、上記命令処理部は、上記コマンドに含まれる上記アルゴリズムおよび上記パラメータを用いて上記所定動作を上記アプリケーションに実行させるようにしてもよい。これにより、コマンドに含まれるアルゴリズムおよびパラメータを用いて所定動作をアプリケーションに実行させるという作用をもたらす。
【００１４】
また、この第１の側面において、上記アルゴリズムを、上記情報処理装置における認証に用いる暗号アルゴリズムとし、上記パラメータを、上記情報処理装置における暗号処理に用いるパラメータとするようにしてもよい。これにより、これらのアルゴリズムおよびパラメータを用いて所定動作をアプリケーションに実行させるという作用をもたらす。
【００１５】
また、この第１の側面において、上記情報処理装置は、他の情報処理装置との間で近距離無線通信を行い、上記受信部は、上記他の情報処理装置との間で行われる上記近距離無線通信に応じて生じる上記コマンドを受け付けるようにしてもよい。これにより、他の情報処理装置との間で行われる近距離無線通信に応じて生じるコマンドを受け付けるという作用をもたらす。
【００１６】
また、本技術の第２の側面は、所定動作を実行させるためのアルゴリズムおよびパラメータに関する情報を含むコマンドを近距離無線通信により第１情報処理装置に送信する第２情報処理装置と、上記コマンドを近距離無線通信により上記第２情報処理装置から受信すると、上記コマンドに含まれるアルゴリズムおよびパラメータを用いて上記所定動作をアプリケーションに実行させる命令処理部を備える第１情報処理装置とを具備する通信システムおよびその情報処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、第２情報処理装置は、所定動作を実行させるためのアルゴリズムおよびパラメータに関する情報を含むコマンドを近距離無線通信により第１情報処理装置に送信し、第１情報処理装置は、そのコマンドを近距離無線通信により第２情報処理装置から受信すると、そのコマンドに含まれるアルゴリズムおよびパラメータを用いて所定動作をアプリケーションに実行させるという作用をもたらす。
【発明の効果】
【００１７】
本技術によれば、複数のアプリケーションを実行する情報処理装置についてメモリ容量を低減させるという優れた効果を奏し得る。
【図面の簡単な説明】
【００１８】
【図１】本技術の第１の実施の形態における情報処理装置１００の内部構成例を示すブロック図である。
【図２】本技術の基礎となるアーキテクチャの一例を示す図である。
【図３】本技術の第１の実施の形態における情報処理装置１００の機能構成例を示すブロック図である。
【図４】本技術の第１の実施の形態における記憶部１３２に記憶されているアプリケーション管理テーブル３００の一例を示す図である。
【図５】本技術の第１の実施の形態における第１アプリケーション１４０が保持するアルゴリズムリスト３１０とその選択状態とを模式的に示す図である。
【図６】本技術の第１の実施の形態における情報処理装置１００の機能構成例を示すブロック図である。
【図７】本技術の第１の実施の形態における情報処理装置１００の機能構成例を示すブロック図である。
【図８】本技術の実施の形態における情報処理装置１００によるアプリケーション選択処理の処理手順の一例を示すフローチャートである。
【図９】本技術の第１の実施の形態における情報処理装置８００の機能構成例を示すブロック図である。
【図１０】本技術の第１の実施の形態における情報処理装置４００の構成例を示す図である。
【図１１】本技術の実施の形態における情報処理装置４００によるアプリケーション選択処理の処理手順の一例を示すフローチャートである。
【図１２】本技術の第２の実施の形態における情報処理装置５００の機能構成例を示すブロック図である。
【図１３】本技術の第２の実施の形態における第１アプリケーション５４０のコマンド（コマンド７００）の一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（アプリケーション選択制御：セレクトコマンドを用いて所望のアプリケーションを動作させる例）
２．第２の実施の形態（アプリケーション選択制御：セレクトコマンド以外のコマンドを用いて所望のアプリケーションを動作させる例）
【００２０】
＜１．第１の実施の形態＞
［情報処理装置の内部構成例］
図１は、本技術の第１の実施の形態における情報処理装置１００の内部構成例を示すブロック図である。図１では、本技術の第１の実施の形態における一連の処理を動作させるためのハードウェア構成の一例を示す。また、本技術の第１の実施の形態における一連の処理は、例えば、情報処理装置１００に設けられているコンピュータ上で動作するソフトウェアにより実現される。
【００２１】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、不揮発性メモリ１０４とを備える。また、情報処理装置１００は、入出力インターフェース１０５と、通信回路１０６と、バス１０７とを備える。
【００２２】
ＣＰＵ１０１は、情報処理装置１００の動作全般を制御するものである。
【００２３】
ＲＯＭ１０２は、一連の処理の一部または全部を記述するプログラム（またはデータ）を格納するメモリである。
【００２４】
ＲＡＭ１０３には、ＣＰＵ１０１により実行されるプログラムやデータ等を一時的に記憶するメモリである。
【００２５】
不揮発性メモリ１０４は、ＥＥＰＲＯＭ（Electrically Erasable and Programmable ＲＯＭ）、フラッシュメモリ等のメモリである。例えば、不揮発性メモリ１０４には、新たなアプリケーションを追加して格納することができる。
【００２６】
入出力インターフェース１０５は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３および不揮発性メモリ１０４と、通信回路１０６とを接続するためのインターフェースである。
【００２７】
通信回路１０６は、所定の通信プロトコルに従って、外部装置２００との間で通信パケットを送受信するものである。例えば、通信回路１０６は、ＩＳＯ１４４４３の標準仕様に従った非接触型の通信、または、ＩＳＯ７８１６の標準仕様に従った接触型の通信等をサポートするようにしてもよい。
【００２８】
バス１０７は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、不揮発性メモリ１０４および入出力インターフェース１０５を相互に接続するバスである。すなわち、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、不揮発性メモリ１０４および入出力インターフェース１０５が、バス１０７を介して相互に接続される。
【００２９】
ここで、ＣＰＵ１０１は、ＲＯＭ１０２、ＲＡＭ１０３および不揮発性メモリ１０４に接続することにより、図３に示すパケット解釈部１３１、命令処理部１３３として機能する。また、通信回路１０６は、図３に示す通信部１１０として機能する。また、ＲＡＭ１０３または不揮発性メモリ１０４は、図３に示す記憶部１３２として機能する。
【００３０】
なお、図１に示す各メモリは一例であり、これらに限定されるものではない。
【００３１】
［アーキテクチャ例］
図２は、本技術の基礎となるアーキテクチャの一例を示す図である。
【００３２】
太線１０で囲まれる部分は、例えば、図１に示すＲＯＭ１０２に格納される。また、Ａｐｐｌｅｔ２０、３０は、例えば、図１に示す不揮発性メモリ１０４（例えば、ＥＥＰＲＯＭ）に格納される。ここで、Ａｐｐｌｅｔ（アプレット）は、比較的小さいプログラムを意味し、書き換え可能なアプリケーションである。
【００３３】
［情報処理装置の機能構成例］
図３は、本技術の第１の実施の形態における情報処理装置１００の機能構成例を示すブロック図である。
【００３４】
情報処理装置１００は、通信部１１０およびＯＳ（Operating System）１２０を備える。
【００３５】
情報処理装置１００は、接触型または非接触型のＩＣ（Integrated Circuit）カードやＩＣチップ等の情報処理装置により実現される。また、情報処理装置１００は、携帯電話等の無線通信装置に設けられる通信モジュール等の情報処理装置により実現される。また、情報処理装置１００は、自装置に記録されている情報の入出力や各種演算を実行するための命令群を提供する。そして、情報処理装置１００は、外部装置２００からの命令が入力されると、その命令に対応する処理を実行し、その命令に対する応答を外部装置２００に出力する。
【００３６】
通信部１１０は、情報処理装置１００による外部装置２００との間の通信を仲介する通信インターフェースである。すなわち、外部装置２００から情報処理装置１００への命令の入力および情報処理装置１００から外部装置２００への応答の出力は、通信部１１０を経由して行われる。例えば、通信部１１０は、所定動作を実行させるためのコマンドを近距離無線通信により受信する受信部として機能する。例えば、通信部１１０は、外部装置２００との間で行われる近距離無線通信に応じて生じるコマンドを受け付ける。なお、通信部１１０は、特許請求の範囲に記載の受信部の一例である。
【００３７】
ここで、例えば、情報処理装置１００が外部装置２００との間で非接触型の通信を行う場合を想定する。この場合には、通信部１１０は、ＩＳＯ／ＩＥＣ１４４４３、ＩＳＯ／ＩＥＣ１８０９２（別名：ＮＦＣ（Near Field Communication））等の標準規格に従った通信インターフェース等として実現される。
【００３８】
また、ＮＦＣ等の通信インターフェースが別の機器やモジュールとして実現される場合には、通信部１１０は、その機器と通信するためのインターフェースとなり、その機器を経由して外部装置２００と通信する。例えば、通信モジュールがＣＬＦ（Contact Less Front end）として外出しになる場合を想定する。この場合には、通信部１１０は、ＥＴＳＩ（European Telecommunications Standards Institute）で規定されているＨＣＩ／ＳＷＰ等のインターフェースを制御するモジュールとして動作する。
【００３９】
このように、情報処理装置１００は、通信部１１０を介して外部装置２００と接続される。
【００４０】
外部装置２００は、情報処理装置１００との間で通信（例えば、近距離無線通信、非接触通信）を行うことが可能な通信装置である。例えば、外部装置２００は、情報処理装置１００に記録されている情報を読み書きすることが可能なリーダ／ライタ装置により実現される。また、外部装置２００は、情報処理装置１００に実装されている機能を利用して任意のアプリケーションをユーザに提供する情報処理装置により実現される。
【００４１】
ＯＳ１２０は、入力された命令に応じて、情報処理装置１００が有する情報の入出力や所定の演算を実行するものである。ここで、本技術の実施の形態では、情報処理装置１００により実行可能な命令の集合を命令群と称する。また、例えば、ＯＳ１２０は、Ｊａｖａ（登録商標）  Ｃａｒｄ  ＯＳ等とすることができる。
【００４２】
また、ＯＳ１２０は、実行環境１３０と、第１アプリケーション１４０と、第２アプリケーション１５０と、第３アプリケーション１６０と、第４アプリケーション１７０と、情報保持部１８０とを備える。
【００４３】
実行環境１３０は、ＯＳ１２０が命令群を実行するための基盤となるソフトウェア群である。実行環境１３０は、パケット解釈部１３１と、記憶部１３２と、命令処理部１３３とを含む。また、命令処理部１３３は、命令実行部１３４およびアプリケーション選択部１３５を含む。
【００４４】
パケット解釈部１３１は、通信部１１０が受信した通信パケットが入力されると、通信パケットの内容を解釈し、通信パケットに含まれるＯＳ１２０に対する命令の種類を識別するものである。ここで、命令の種類は、例えば、ＦｅｌｉＣａＯＳが搭載されたカードを検知し、ＯＳから情報を取得する情報取得命令、ＯＳ１２０が実行するアプリケーションを選択するためのアプリケーション選択命令やその他の命令がある。なお、通信パケットに含まれる命令を一時記憶部（図示せず）に記憶するようにしてもよい。
【００４５】
例えば、パケット解釈部１３１は、外部装置２００から受信した命令がアプリケーション選択命令（例えば、７８１６標準規格のセレクト（Ｓｅｌｅｃｔ）コマンド）やその他の命令であると識別した場合は、これらの命令を命令処理部１３３に出力する。例えば、パケット解釈部１３１は、外部装置２００から受信した命令が所定の命令（例えば、アプリケーション選択命令）であると識別した場合は、これらの命令をアプリケーション選択部１３５に出力する。一方、パケット解釈部１３１は、外部装置２００から受信した命令がその他の命令であると識別した場合は、この命令を命令実行部１３４に出力する。また、これらの命令に対応する応答が命令処理部１３３から出力された場合には、パケット解釈部１３１は、その応答を通信部１１０を介して外部装置２００に送信する。
【００４６】
記憶部１３２は、アプリケーション選択部１３５によるアプリケーション選択命令の実行の際に用いられる各情報（例えば、図４に示すアプリケーション管理テーブル３００）を記憶するものである。そして、記憶部１３２は、記憶されている情報をアプリケーション選択部１３５に供給する。
【００４７】
命令実行部１３４は、命令処理部１３３に入力された各命令（例えば、アプリケーション選択命令以外の命令）を実行するものである。
【００４８】
アプリケーション選択部１３５は、命令処理部１３３に入力されたアプリケーション選択命令を実行するものである。例えば、アプリケーション選択部１３５は、記憶部１３２に記憶されているアプリケーション管理テーブル３００（図４に示す）を用いて、セレクトコマンドに対応するアプリケーションを選択する処理を実行する。
【００４９】
また、命令処理部１３３は、命令実行部１３４やアプリケーション選択部１３５が実行した命令の応答をパケット解釈部１３１に出力する。
【００５０】
第１アプリケーション１４０、第２アプリケーション１５０、第３アプリケーション１６０、第４アプリケーション１７０は、ＯＳ１２０上で動作するアプリケーションである。ここで、本技術の実施の形態で示すアプリケーションは、アプレット（Ａｐｐｌｅｔ）や、比較的単純なロジックのみを含むソフトウェア等を含むものとする。
【００５１】
第１アプリケーション１４０は、７８１６−ＦｅｌｉＣａファイルシステムを有するアプリケーションである。また、第１アプリケーション１４０は、図６に示すように、第１アプリケーションを実行するためのアルゴリズムＡおよびパラメータＸ１を保持する。なお、第１アプリケーション１４０は、図２に示す７８１６−ＦｅｌｉＣａに対応する。
【００５２】
第２アプリケーション１５０は、情報保持部１８０における保持内容を書き換え、ＡＩＤ「０１」をセレクトするアプレットである。また、第２アプリケーション１５０は、図６に示すように、第２アプリケーションに係る処理を第１アプリケーションに実行させるためのアルゴリズムＢおよびパラメータＸ２を保持する。
【００５３】
第３アプリケーション１６０は、情報保持部１８０における保持内容を書き換え、ＡＩＤ「０１」をセレクトするアプレットである。また、第３アプリケーション１６０は、図６に示すように、第３アプリケーションに係る処理を第１アプリケーションに実行させるためのアルゴリズムＣおよびパラメータＸ３を保持する。
【００５４】
第４アプリケーション１７０は、情報保持部１８０における保持内容を書き換え、ＡＩＤ「０１」をセレクトするアプレットである。また、第４アプリケーション１７０は、図６に示すように、第４アプリケーションに係る処理を第１アプリケーションに実行させるためのアルゴリズムＤおよびパラメータＸ４を保持する。
【００５５】
ここで、各アプリケーションが保持するアルゴリズムは、情報処理装置１００における認証に用いる暗号アルゴリズムである。また、各アプリケーションが保持するパラメータは、情報処理装置１００における暗号処理に用いるパラメータである。
【００５６】
また、各アプリケーションが保持するアルゴリズムＡ乃至ＤおよびパラメータＸ１乃至Ｘ４は、アルゴリズムおよびパラメータそのものではなく、これらを特定するための情報（すなわち、アルゴリズムおよびパラメータに関する情報）とすることができる。例えば、アルゴリズムＡ乃至Ｄのそれぞれは、複数の暗号アルゴリズム（例えば、図５のａに示す）のうちの何れかを特定するための識別情報とすることができる。暗号アルゴリズムは、例えば、ＤＥＳ（Data Encryption Standard）方式の暗号アルゴリズムやＡＥＳ（Advanced Encryption Standard）方式の暗号アルゴリズムとすることができる。
【００５７】
なお、第２アプリケーション１５０乃至第４アプリケーション１７０は、図２に示すＡｐｐｌｅｔに対応する。ただし、第２アプリケーション１５０乃至第４アプリケーション１７０は、アプリケーションの動作を行うことがないアプリケーション（いわゆる、実体のないアプリケーション）である。また、第２アプリケーション１５０乃至第４アプリケーション１７０は、７８１６規格ではなくてもよい。例えば、独自のアプリケーションとするようにしてもよい。
【００５８】
情報保持部１８０は、各アプリケーションにより使用される共通使用領域であり、第１アプリケーション１４０が各処理を実行する際に用いられるアルゴリズムおよびパラメータ（これらに関する情報）を保持する。また、情報保持部１８０に保持されているアルゴリズムおよびパラメータは、各アプリケーションにより順次書き換えられる。なお、情報保持部１８０は、例えば、図１に示す不揮発性メモリ１０４に対応する。
【００５９】
［アプリケーション管理テーブルの内容例］
図４は、本技術の第１の実施の形態における記憶部１３２に記憶されているアプリケーション管理テーブル３００の一例を示す図である。
【００６０】
アプリケーション管理テーブル３００は、情報処理装置１００が有するアプリケーションの種別と、これらのＡＩＤ（Application ID）との関係を保持するものである。具体的には、アプリケーション管理テーブル３００には、ＡＩＤ３０１と、アプリケーションの種別３０２とが関連付けて保持される。
【００６１】
ＡＩＤ３０１は、情報処理装置１００が有するアプリケーションを識別するための識別情報である。ここで、ＡＩＤは、アプリケーションを選択するためのものである。
【００６２】
アプリケーションの種別３０２は、情報処理装置１００が有するアプリケーションの種別である。
【００６３】
アプリケーション選択部１３５は、アプリケーション管理テーブル３００を用いて、命令処理部１３３に入力されたアプリケーション選択命令を実行する。
【００６４】
このように、本技術の第１の実施の形態では、各アプリケーション（例えば、ＦｅｌｉＣａシステム、アプリケーション）がＡＩＤで管理される。そして、セレクトコマンドにより、ＦｅｌｉＣａシステム、または、各アプリケーションを選択することができる。
【００６５】
［アルゴリズムリストとその選択例］
図５は、本技術の第１の実施の形態における第１アプリケーション１４０が保持するアルゴリズムリスト３１０とその選択状態とを模式的に示す図である。
【００６６】
図５のａには、アルゴリズムリスト３１０を示す。例えば、アルゴリズムリスト３１０には、ＤＥＳ方式の１つの暗号アルゴリズム（ＤＥＳ方式１）と、ＡＥＳ方式の２つの暗号アルゴリズム（ＡＥＳ方式１、ＡＥＳ方式２）とが含まれる。
【００６７】
図５のｂには、選択状態のアルゴリズム３１１を示す。上述したように、外部装置２００から送信されたセレクトコマンドに応じてアプリケーションが選択され、このアプリケーションに保持されているアルゴリズムが選択状態となる。図５のｂでは、図５のａに示すアルゴリズムリスト３１０の中からＤＥＳ方式１が選択された場合を例にして示す。
【００６８】
［アプリケーションの選択例］
図６および図７は、本技術の第１の実施の形態における情報処理装置１００の機能構成例を示すブロック図である。図６および図７には、アプリケーションの選択に関する構成のうちの一部のみを示し、他の構成の図示を省略する。また、図６および図７に示す各部には、図３と同一の符号を付して示す。
【００６９】
また、図６および図７では、各アプリケーションを表す矩形内に、各アプリケーションのＡＩＤを示す。図６および図７に示す各アプリケーションのＡＩＤは、図４に示すＡＩＤと同一である。また、図６および図７では、各アプリケーションを表す矩形内に、各アプリケーションが保持するアルゴリズムおよびパラメータを簡略化して示す。例えば、アルゴリズムについては、Ａ乃至Ｄで示し、パラメータについては、Ｘ１乃至Ｘ４で示す。
【００７０】
また、図７では、第２アプリケーション１５０を選択するためのセレクトコマンドを受信した場合における各信号の流れを太線で示す。
【００７１】
上述したように、情報処理装置１００がセレクトコマンドを受信した場合には、受信したセレクトコマンドに対応するアプリケーションが選択され、選択されたアプリケーションが各処理を実行する。
【００７２】
最初に、第１アプリケーション１４０を選択するためのセレクトコマンドを受信した場合について説明する。このセレクトコマンドを受信した場合には、第１アプリケーション１４０は、保持しているアルゴリズム「Ａ」およびパラメータ「Ｘ１」を情報保持部１８０に書き込み、情報保持部１８０の保持内容を書き換える（図６に示す矢印３２１）。そして、第１アプリケーション１４０がそのセレクトコマンドに応じた所定の処理を行う。
【００７３】
次に、図７を参照して、第２アプリケーション１５０を選択するためのセレクトコマンドを受信した場合について説明する。このセレクトコマンドを受信した場合には、第２アプリケーション１５０は、保持しているアルゴリズム「Ｂ」およびパラメータ「Ｘ２」を情報保持部１８０に書き込み、情報保持部１８０の保持内容を書き換える（図７に示す矢印３２２）。そして、第２アプリケーション１５０は、第１アプリケーション１４０の呼び出しを行う（図７に示す矢印３２３）。すなわち、第２アプリケーション１５０は、ＡＩＤ「０１」の第１アプリケーション１４０をセレクトする。続いて、第１アプリケーション１４０は、情報保持部１８０に保持されているアルゴリズム「Ｂ」およびパラメータ「Ｘ２」を用いて、所定の処理を行う（図７に示す矢印３２４）。
【００７４】
なお、第３アプリケーション１６０、または、第４アプリケーション１７０を選択するためのセレクトコマンドを受信した場合については、第２アプリケーション１５０の場合と略同様であるため、ここでの詳細な説明を省略する。
【００７５】
このように、命令処理部１３３は、受信したセレクトコマンドに基づいて設定されるアルゴリズムおよびパラメータを用いて、所定動作を第１アプリケーション１４０に実行させるための処理を行う。ここで、アルゴリズムおよびパラメータは、受信したセレクトコマンドに基づいて第２アプリケーション１５０乃至第４アプリケーション１７０により設定される。例えば、第２アプリケーション１５０がセレクトコマンドに基づいて選択された場合には、第２アプリケーション１５０が情報保持部１８０に保持されているアルゴリズムおよびパラメータの書き換えと第１アプリケーション１４０への呼び出しとを行う。これにより、情報保持部１８０における書換後の保持内容を用いた所定動作を第１アプリケーション１４０に実行させることができる。
【００７６】
このように、本技術の第１の実施の形態では、第２アプリケーション１５０乃至第４アプリケーション１７０のそれぞれは、情報保持部１８０の保持内容を書き換えと、第１アプリケーション１４０の呼び出しのみを行う。
【００７７】
［情報処理装置の動作例］
図８は、本技術の実施の形態における情報処理装置１００によるアプリケーション選択処理の処理手順の一例を示すフローチャートである。
【００７８】
最初に、通信部１１０が通信パケットを受信する（ステップＳ９０１）。続いて、パケット解釈部１３１は、受信した通信パケットを解釈し（ステップＳ９０２）、受信した通信パケットがセレクトコマンドであるか否かを判断する（ステップＳ９０３）。すなわち、所定動作を実行させるためのコマンド（セレクトコマンド）を近距離無線通信により受信したか否かを判断する（ステップＳ９０３）。なお、ステップＳ９０３は、特許請求の範囲に記載の判断手順の一例である。
【００７９】
受信した通信パケットがセレクトコマンドである場合には（ステップＳ９０３）、アプリケーション選択部１３５は、セレクトコマンドに対応するアプリケーションを選択する（ステップＳ９０４）。続いて、選択されたアプリケーションは、保持するアルゴリズムおよびパラメータを情報保持部１８０に書き込む（ステップＳ９０５）。続いて、ファイルシステムが初期化される（ステップＳ９０６）。
【００８０】
続いて、第１アプリケーション１４０は、情報保持部１８０に保持されているアルゴリズムが、アルゴリズムリスト３１０（図５のａに示す）に登録されているか否かを判断する（ステップＳ９０７）。情報保持部１８０に保持されているアルゴリズムが登録されている場合には（ステップＳ９０７）、第１アプリケーション１４０は、情報保持部１８０に保持されているアルゴリズムおよびパラメータを使用して暗号化処理を行う（ステップＳ９０８）。なお、ステップＳ９０４乃至Ｓ９０８は、特許請求の範囲に記載の命令処理手順の一例である。
【００８１】
一方、情報保持部１８０に保持されているアルゴリズムが登録されていない場合には（ステップＳ９０７）、第１アプリケーション１４０は、エラーを返す（ステップＳ９０９）。これにより、通信部１１０を介して外部装置２００にエラーが出力される。また、受信した通信パケットがセレクトコマンドでない場合には（ステップＳ９０３）、解釈された命令に応じた処理が行われる（ステップＳ９１０）。
【００８２】
ここで、従来のＩＣカード等の情報処理装置については、認証に使用する暗号アルゴリズムや暗号処理で使用するパラメータを、用途や使用者によって、動的に切り替えることができなかった。そこで、例えば、これらを切り替える必要がある場合には、情報処理装置（例えば、ＩＣカード）そのもの、または、発行時にパラメータを切り替える必要があった。
【００８３】
これに対して、本技術の第１の実施の形態では、情報処理装置１００において、認証に使用する暗号アルゴリズムや暗号処理で使用するパラメータを、７８１６標準のＳｅｌｅｃｔコマンドを使用して、ＡＩＤで適切に切り替えることができる。すなわち、本技術の第１の実施の形態によれば、用途や使用者に応じて、暗号アルゴリズムやパラメータを適切に切り替えることができる。
【００８４】
また、本技術の第１の実施の形態によれば、メモリ容量の節約や削減を実現することができる。例えば、本技術の第１の実施の形態では、メインとなるアプリケーション（第１アプリケーション）の暗号アルゴリズム（機能）と、パラメータとを切り替えるためのアプリケーション（第２乃至第４アプリケーション）を登録する。この登録により、メインとなるアプリケーション（第１アプリケーション）の動作を変更することができる。このアプリケーション（第１アプリケーション）の動作の変更をユーザ側から見た場合には、別のアプリケーション（別の機能）が動作しているように見えることになる。
【００８５】
ここで、単体で動作するアプリケーションを複数登録する場合と、本技術の第１の実施の形態で示す登録の場合とにおけるアプリケーションの容量の比較例を示す。例えば、単体で動作するアプリケーションを複数登録する場合には、この登録対象となるアプリケーションの容量を合計したメモリ容量が必要となる。例えば、メインとなるアプリケーションが３０ＫＢ程度である場合には、暗号アルゴリズムで別の動作をするアプリケーションも３０ＫＢ程度となることが想定される。このため、登録対象となるアプリケーションの数が４の場合には、アプリケーションの容量を合計したメモリ容量は、１５０ＫＢ（３０ＫＢ×４＋３０ＫＢ（メインとなるアプリケーション））となる。
【００８６】
これに対して、本技術の実施の形態で示した第２乃至第４アプリケーションは、暗号アルゴリズムで別の動作をするものではなく、情報保持部１８０の保持内容を書き換えと、第１アプリケーション１４０の呼び出しのみを行う。このため、例えば、メインとなるアプリケーション（第１アプリケーション）が３０ＫＢ程度である場合でも、第２乃至第４アプリケーションは、１乃至２ＫＢ程度の比較的少ない容量のみでよい。このため、登録されているアプリケーションの数が４の場合でも、アプリケーションの容量を合計したメモリ容量は、例えば、３８ＫＢ（２ＫＢ×４＋３０ＫＢ）程度となる。
【００８７】
例えば、情報処理装置１００が、ＩＣカード等のように比較的小さい機器である場合には、メモリ容量が限定される。このため、本技術の実施の形態で示すように、アプリケーションの容量を低減させることが重要である。
【００８８】
［第１アプリケーションの変形例］
上述したように、第１アプリケーションが選択された場合には、第１アプリケーションが第２乃至第４アプリケーションと同様に情報保持部１８０の保持内容の書き換えを行う。そして、第１アプリケーションが情報保持部１８０の保持内容を用いて所定の処理を行う。そこで、第１アプリケーションが行う処理毎に、第１アプリケーションを分割するように構成してもよい。例えば、第１アプリケーションが選択された場合に情報保持部１８０の保持内容の書き換えを行う第１処理部と、情報保持部１８０の保持内容を用いて所定の処理を行う第２処理部とに分割するようにしてもよい。そこで、この例を図９に示す。
【００８９】
図９は、本技術の第１の実施の形態における情報処理装置８００の機能構成例を示すブロック図である。なお、図９では、図６、図７に対応する機能構成例を示す。また、情報処理装置８００の構成については、図６、図７に示す情報処理装置１００と略同様であるため、共通する部分については、同一の符号を付して説明の一部を省略する。
【００９０】
情報処理装置８００は、第１アプリケーション８１０を備える。また、第１アプリケーション８１０は、第１処理部８２０および第２処理部８３０を備える。
【００９１】
第１処理部８２０は、情報保持部１８０における保持内容を書き換え（図９に示す矢印８２１）、第２処理部８３０の呼び出しを行う処理部である。すなわち、第１処理部８２０は、第２アプリケーション１５０乃至第４アプリケーション１７０に対応する処理を行う。
【００９２】
第２処理部８３０は、情報保持部１８０に保持されているアルゴリズムおよびパラメータを用いて所定の処理を行う（図９に示す矢印８３１）。
【００９３】
［プロプライエタリ（Proprietary）な関数を用いる例］
以上では、第２乃至第４アプリケーションが情報保持部１８０の保持内容の書き換えと、第１アプリケーションの呼び出しとを行う例を示した。ここで、さらにセキュアなシステムとするため、プロプライエタリな関数を介して、情報の書き換えや第１アプリケーションの呼び出しを行うことも考えられる。そこで、以下では、プロプライエタリな関数を介して、情報の書き換えや第１アプリケーションの呼び出しを行う例を示す。
【００９４】
［情報処理装置の構成例］
図１０は、本技術の第１の実施の形態における情報処理装置４００の構成例を示す図である。なお、図１０は、図２に対応するものであり、その一部のみを示す。また、情報処理装置４００の他の構成については、図１、図３に示す情報処理装置１００と略同様であるため、共通する部分については、同一の符号を付して説明の一部を省略する。
【００９５】
情報処理装置４００は、第１アプリケーション４１０乃至第４アプリケーション４４０と、Ｊａｖａ  Ｃａｒｄ  ＯＳ４５０と、Ｇｌｏｂａｌ  Ｐｌａｔｆｏｒｍ４６０とを備える。ここで、第１アプリケーション４１０乃至第４アプリケーション４４０は、図３等に示す第１アプリケーション１４０乃至第４アプリケーション１７０に対応する。なお、第１アプリケーション４１０は、Ｎａｔｉｖｅアプリの一例である。また、第１アプリケーション４１０におけるＰｒｏｐｒｉｅｔａｒｙ  Ｄａｔａ領域４１１は、図３に示す情報保持部１８０に対応する。
【００９６】
ここで、第２アプリケーション４２０乃至第４アプリケーション４４０のそれぞれは、プロプライエタリな関数を介して、Ｐｒｏｐｒｉｅｔａｒｙ  Ｄａｔａ領域４１１の書き換えや、第１アプリケーション４１０の呼び出しを行う。すなわち、第２アプリケーション４２０乃至第４アプリケーション４４０のそれぞれは、Ｐｒｏｐｒｉｅｔａｒｙ  Ｄａｔａ領域４１１の書き換えや、第１アプリケーション４１０の呼び出しを直接行わない。
【００９７】
このように、情報処理装置４００におけるアプレットは、領域の書き換えやＮａｔｉｖｅアプリの呼び出しを直接行わず、プロプライエタリな関数を介して、それらを行うため、さらにセキュアなシステムとすることができる。
【００９８】
また、情報処理装置４００の内部では、プロプライエタリなＡＰＩ（Application Program Interface）を使用するが、外部（ユーザ）からは、７８１６標準のコマンドを使用してアルゴリズムの切り替えが可能となる。
【００９９】
なお、Ｐｒｏｐｒｉｅｔａｒｙ  Ｄａｔａ領域４１１におけるＬｉｓｔについては、図５に示す関係と略同様とすることができる。
【０１００】
［情報処理装置の動作例］
図１１は、本技術の実施の形態における情報処理装置４００によるアプリケーション選択処理の処理手順の一例を示すフローチャートである。なお、図１１に示す処理手順は、図８に示す処理手順の一部（ステップＳ９０４乃至Ｓ９０９）に対応する。
【０１０１】
最初に、受信した通信パケットがセレクトコマンドである場合には、アプリケーション選択部１３５は、セレクトコマンドに対応するアプリケーションを選択する（ステップＳ９２１）。続いて、選択されたアプリケーションは、保持するアルゴリズムおよびパラメータを、プロプライエタリな関数を介して、第１アプリケーション４１０に通知する（ステップＳ９２２）。
【０１０２】
続いて、通知されたアルゴリズムが選択可能であるか否かが判断される（ステップＳ９２３）。すなわち、通知されたアルゴリズムが、アルゴリズムリスト３１０（図５に示す）に登録されているか否かが判断される（ステップＳ９２３）。
【０１０３】
通知されたアルゴリズムが選択可能である場合（登録されている場合）には（ステップＳ９２３）、通知されたアルゴリズムおよびパラメータにＰｒｏｐｒｉｅｔａｒｙ  Ｄａｔａ領域４１１が書き換えられる（ステップＳ９２４）。続いて、成功のレスポンスを返す（ステップＳ９２５）。これにより、通信部１１０を介して外部装置２００に成功のレスポンスが出力される。
【０１０４】
続いて、第１アプリケーション４１０が起動され（ステップＳ９２６）、第１アプリケーション４１０の動作が開始される（ステップＳ９２７）。続いて、Ｐｒｏｐｒｉｅｔａｒｙ  Ｄａｔａ領域４１１に保持されているアルゴリズムおよびパラメータを使用して暗号化処理が行われる（ステップＳ９２８）。
【０１０５】
通知されたアルゴリズムが選択不可能である場合（登録されていない場合）には（ステップＳ９２３）、選択可能なアルゴリズムリストが取得される（ステップＳ９２９）。続いて、取得されたアルゴリズムリストの中からアルゴリズム（相手装置（外部装置２００）が動作可能となるアルゴリズム）が選択される（ステップＳ９３０）。続いて、選択されたアルゴリズムリストをセレクトコマンドとして返す（ステップＳ９３１）。これにより、通信部１１０を介して外部装置２００に、選択されたアルゴリズムリストがセレクトコマンドとして出力される。
【０１０６】
続いて、相手装置（外部装置２００）が、選択されたアルゴリズムで動作可能であるか否かが判断される（ステップＳ９３２）。相手装置（外部装置２００）が、選択されたアルゴリズムで動作可能である場合には（ステップＳ９３２）、ステップＳ９２６に進む。一方、相手装置（外部装置２００）が、選択されたアルゴリズムで動作不可能である場合には（ステップＳ９３２）、エラーを返す（ステップＳ９３３）。これにより、通信部１１０を介して外部装置２００にエラーが出力される。
【０１０７】
このように、本技術の第１の実施の形態では、第２乃至第４アプリケーションが、第１アプリケーションをセキュアに呼び出す仕組みを搭載することができる。また、メインとなるアプリケーション以外のアプリケーションは、暗号アルゴリズム、パラメータの書き換えのみを行い、実際の処理はメインとなるアプリケーションが行う。このため、ユーザデータへのアクセスパスが増加することはなく、セキュリティ上の問題は起こりにくい。
【０１０８】
なお、この例では、通知されたアルゴリズムが選択不能である場合（アルゴリズムリストに存在しない場合）には、選択可能なアルゴリズムを選択して外部装置２００にレスポンスとして返す例（ステップＳ９２３、Ｓ９２９乃至Ｓ９３１）を示した。ただし、通知されたアルゴリズムが選択不能である場合には、選択可能なアルゴリズムの選択を行わずに、通常のエラーを返すようにしてもよい。
【０１０９】
なお、本技術の第１の実施の形態では、ＡＩＤを用いてアルゴリズムおよびパラメータを切り替える例を示したが、ＡＩＤを他の切り替えに用いるようにしてもよい。例えば、使用できるコマンドを制限する場合にＡＩＤを用いることができる。例えば、メインとなるアプリケーションで対応しているコマンドが、コマンドＡ乃至Ｚまでの２６個である場合を想定する。この場合に、他のアプリケーションでは、コマンドＰ以降（例えば、メンテナンスおよびカード内情報取得用コマンド）は使用を禁止する等とすることが可能である。これは、例えば、誤りを防ぐため、または、使用方法を限定してシンプルなアプリケーションを提供するため、等の運用が考えられる。
【０１１０】
また、例えば、動作クロックの切り替えを行う場合にＡＩＤを用いることができる。例えば、情報処理装置の内部で動作するクロック（速度）をアプリケーション毎に切り替えることが可能である。例えば、ＩＣカードの場合、動作が速い≒消費電力が多い≒通信距離が短い等のように、装置内部の速度によって、ユーザから見た動作が変わることがある。これらをＡＩＤを用いて指定することができる。
【０１１１】
また、例えば、データの検索方法の切り替えを行う場合にＡＩＤを用いることができる。例えば、２分探索、昇順検索、降順検索、あるテーブル／規則に従った検索等の検索方法を指定することができる。これにより、扱うデータの量によっては、検索方法を指定することにより高速化に寄与することができる。また、例えば、所定のテーブル（例えば、ユーザの使用傾向によるテーブル）等により検索順を直接指定することも可能である。例えば、ＦｅｌｉＣａの場合には、データブロックの検索や、コマンドテーブルの検索がある。このため、コマンドテーブルの検索では、使用頻度の高い順に検索することができれば、高速化に寄与することができる。この場合には、例えば、使用頻度をアプリケーションで登録する等を行うようにする。
【０１１２】
また、例えば、他の場合にＡＩＤを用いることができる。例えば、特定のコマンドの活性化（例えば、可否）、優先Ｉ／Ｆの選択（例えば、ＴｙｐｅＡ、ＴｙｐｅＢ、ＦｅｌｉＣａ等）、優先機能の選択等に、ＡＩＤを用いることができる。
【０１１３】
＜２．第２の実施の形態＞
本技術の第１の実施の形態では、セレクトコマンドを用いて所望のアプリケーションを動作させる例を示した。ただし、例えば、セレクトコマンド以外のコマンドを用いて所望のアプリケーションを動作させることも考えられる。
【０１１４】
そこで、本技術の第２の実施の形態では、セレクトコマンド以外のコマンドを用いて所望のアプリケーションを動作させる例を示す。
【０１１５】
［情報処理装置の機能構成例］
図１２は、本技術の第２の実施の形態における情報処理装置５００の機能構成例を示すブロック図である。なお、情報処理装置５００は、図３に示す情報処理装置１００の一部を変形したものである。このため、情報処理装置１００と共通する部分についての説明の一部を省略する。
【０１１６】
情報処理装置５００は、通信部５１０およびＯＳ５２０を備える。また、情報処理装置５００は、外部装置６００と接続される。なお、情報処理装置５００は、特許請求の範囲に記載の第１情報処理装置の一例である。
【０１１７】
外部装置６００は、第１アプリケーション５４０に実行させるためのアルゴリズムおよびパラメータを含むコマンドを生成し、生成されたコマンドを情報処理装置５００に送信する。すなわち、外部装置６００は、第１アプリケーション５４０に実行させるためのアルゴリズムおよびパラメータを含むコマンドを生成するための情報を保持しているものとする。この情報については、ユーザによる手動操作により保持させるようにしてもよく、自動で保持させるようにしてもよい。なお、外部装置６００により生成されるコマンドについては、図１３を参照して詳細に説明する。また、外部装置６００は、特許請求の範囲に記載の第２情報処理装置の一例である。
【０１１８】
第１アプリケーション５４０は、ネガティブアプリケーションの一例であり、例えば、図１に示すＲＯＭ１０２に格納される。また、第１アプリケーション５４０は、外部装置６００が送信したコマンドに含まれるアルゴリズムおよびパラメータを使用して暗号化処理を行う。ただし、外部装置６００が送信したコマンドに含まれるアルゴリズムが選択不可である場合には、エラーを返す。
【０１１９】
このように、本技術の第２の実施の形態では、第１アプリケーション５４０のコマンドに、第１アプリケーション５４０に実行させるためのアルゴリズムおよびパラメータを含める例を示す。すなわち、命令処理部５３３は、第１アプリケーション５４０のコマンドに含まれるアルゴリズムおよびパラメータを用いて、所定動作を第１アプリケーション５４０に実行させるための処理を行う。
【０１２０】
［コマンドの内容例］
図１３は、本技術の第２の実施の形態における第１アプリケーション５４０のコマンド（コマンド７００）の一例を示す図である。図１３では、外部装置６００（リーダ／ライタ）が情報処理装置５００を認証するためのコマンド（Authentication1）の例を示す。
【０１２１】
コマンド７００には、各データ（Ｃｏｄｅ７０１、Ｖａｌｕｅ７０２、Ｍｅａｎｉｎｇ７０３）が含まれる。ここで、本技術の第２の実施の形態では、コマンド７００におけるＤａｔａ１（矩形の点線で囲まれたデータ）に、第１アプリケーション５４０に実行させるためのアルゴリズムおよびパラメータを格納する例を示す。なお、他のデータについては、通常のコマンド（Authentication1）と同様であるため、ここでの説明を省略する。
【０１２２】
このように、本技術の第２の実施の形態では、第１アプリケーション５４０のコマンド（Ｄａｔａ１）を用いてアルゴリズムおよびパラメータを選択し、所望の動作を開始させることができる。これにより、第１アプリケーション５４０以外の他のアプリケーションを情報処理装置５００に記憶させる必要がない。このため、メモリ容量をさらに削減することができる。
【０１２３】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【０１２４】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disk）、メモリカード、ブルーレイディスク（Blu-ray Disc（登録商標））等を用いることができる。
【０１２５】
なお、本技術は以下のような構成もとることができる。
（１）
所定動作を実行させるためのコマンドを近距離無線通信により受信する受信部と、
前記コマンドに基づいて設定されるアルゴリズムおよびパラメータを用いて前記所定動作をアプリケーションに実行させる命令処理部と
を具備する情報処理装置。
（２）
前記アルゴリズムおよび前記パラメータに関する情報を保持する情報保持部をさらに具備し、
前記アプリケーションである第１アプリケーション以外の他のアプリケーションである第２アプリケーションが前記コマンドに基づいて選択された場合には、前記第２アプリケーションが前記情報保持部に保持されている前記アルゴリズムおよび前記パラメータの書き換えと前記第１アプリケーションへの呼び出しとを行うことにより、前記情報保持部における当該書換後の保持内容を用いた前記所定動作を前記第１アプリケーションに実行させる
前記（１）に記載の情報処理装置。
（３）
前記第２アプリケーションは、前記書き換えおよび前記呼び出しのみを行うアプリケーションであり、前記第２アプリケーションに必要となるメモリ容量は、前記第１アプリケーションに必要となるメモリ容量よりも少ない前記（２）に記載の情報処理装置。
（４）
前記コマンドは、７８１６標準規格のセレクトコマンドであり、
前記第２アプリケーションは、前記第２アプリケーションを選択するための前記セレクトコマンドを受信した場合に、前記書き換えおよび前記呼び出しを行う
前記（２）または（３）に記載の情報処理装置。
（５）
前記コマンドは、前記アルゴリズムおよび前記パラメータに関する情報を含み、
前記命令処理部は、前記コマンドに含まれる前記アルゴリズムおよび前記パラメータを用いて前記所定動作を前記アプリケーションに実行させる
前記（１）に記載の情報処理装置。
（６）
前記アルゴリズムは、前記情報処理装置における認証に用いる暗号アルゴリズムであり、
前記パラメータは、前記情報処理装置における暗号処理に用いるパラメータである
前記（１）から（５）のいずれかに記載の情報処理装置。
（７）
前記情報処理装置は、他の情報処理装置との間で近距離無線通信を行い、
前記受信部は、前記他の情報処理装置との間で行われる前記近距離無線通信に応じて生じる前記コマンドを受け付ける
前記（１）から（６）のいずれかに記載の情報処理装置。
（８）
所定動作を実行させるためのアルゴリズムおよびパラメータに関する情報を含むコマンドを近距離無線通信により第１情報処理装置に送信する第２情報処理装置と、
前記コマンドを近距離無線通信により前記第２情報処理装置から受信すると、前記コマンドに含まれるアルゴリズムおよびパラメータを用いて前記所定動作をアプリケーションに実行させる命令処理部を備える第１情報処理装置と
を具備する通信システム。
（９）
所定動作を実行させるためのコマンドを近距離無線通信により受信したか否かを判断する判断手順と、
前記コマンドを受信した場合には前記コマンドに基づいて設定されるアルゴリズムおよびパラメータを用いて前記所定動作をアプリケーションに実行させる命令処理手順と
を具備する情報処理方法。
（１０）
所定動作を実行させるためのコマンドを近距離無線通信により受信したか否かを判断する判断手順と、
前記コマンドを受信した場合には前記コマンドに基づいて設定されるアルゴリズムおよびパラメータを用いて前記所定動作をアプリケーションに実行させる命令処理手順と
をコンピュータに実行させるプログラム。
【符号の説明】
【０１２６】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  不揮発性メモリ
１０５  入出力インターフェース
１０６  通信回路
１０７  バス
１１０  通信部
１２０  ＯＳ
１３０  実行環境
１３１  パケット解釈部
１３２  記憶部
１３３  命令処理部
１３４  命令実行部
１３５  アプリケーション選択部
１４０  第１アプリケーション
１５０  第２アプリケーション
１６０  第３アプリケーション
１７０  第４アプリケーション
１８０  情報保持部
２００  外部装置
３００  アプリケーション管理テーブル
４００  情報処理装置
４１０  第１アプリケーション
４２０  第２アプリケーション
４３０  第３アプリケーション
４４０  第４アプリケーション
４５０  Ｊａｖａ  Ｃａｒｄ  ＯＳ
４６０  Ｇｌｏｂａｌ  Ｐｌａｔｆｏｒｍ
５００  情報処理装置
５１０  通信部
５２０  ＯＳ
５３０  実行環境
５３１  パケット解釈部
５３２  記憶部
５３３  命令処理部
５３４  命令実行部
５３５  アプリケーション選択部
５４０  第１アプリケーション
６００  外部装置
【図１】
2014056449.tif 000003
【図２】
2014056449.tif 000004
【図３】
2014056449.tif 000005
【図４】
2014056449.tif 000006
【図５】
2014056449.tif 000007
【図６】
2014056449.tif 000008
【図７】
2014056449.tif 000009
【図８】
2014056449.tif 000010
【図９】
2014056449.tif 000011
【図１０】
2014056449.tif 000012
【図１１】
2014056449.tif 000013
【図１２】
2014056449.tif 000014
【図１３】
2014056449.tif 000015