(57)【要約】【課題】  ＩＣチップ，クライアント装置，およびクライアント装置と接続され，クライアント装置からの要求に応じてＩＣチップによる所定の処理の実行を支援するサーバ装置を備える情報処理システムにおけるサーバ装置にかかる負荷を減らす。【解決手段】  クライアント装置１０２に，所定の処理の実行に必要な１以上のコマンドを指定するコマンド指定部１２２，コマンド指定部により指定された１以上のコマンドの生成および暗号化を要求する暗号化要求をサーバ装置に送信する暗号化要求送信部１２０，サーバ装置から暗号化された１以上のコマンドを受信するコマンド受信部１２６，および，所定の処理の実行に際し，暗号化された１以上のコマンドを利用するコマンド利用部１３０を設けた。【選択図】    図３
2007086957.tif 000002
【特許請求の範囲】
【請求項１】
耐タンパ性を有するＩＣチップと，クライアント装置と，前記クライアント装置と通信網を介して接続され，前記クライアント装置からの要求に応じて前記ＩＣチップによる所定の処理の実行を支援するサーバ装置と，を備える情報処理システムにおいて：
前記クライアント装置は，
前記ＩＣチップによる前記所定の処理の実行に必要な１以上のコマンドを指定するコマンド指定部と；
前記コマンド指定部により指定された前記１以上のコマンドを生成するクライアントコマンド生成部と；
前記クライアントコマンド生成部により生成された前記コマンドを含む，該コマンドの暗号化要求を前記サーバ装置に送信する暗号化要求送信部と；
前記サーバ装置から暗号化された前記１以上のコマンドを受信するコマンド受信部と；
前記暗号化された１以上のコマンドを前記ＩＣチップに提供するコマンド利用部と；
を備え，
前記サーバ装置は，
前記クライアント装置から前記暗号化要求を受信する暗号化要求受信部と；
前記暗号化要求に含まれる前記１以上のコマンドを暗号化するコマンド暗号化部と；
暗号化された前記１以上のコマンドを前記クライアント装置に送信するコマンド送信部と；
を備え，
前記ＩＣチップは，
前記クライアント装置から前記暗号化された１以上のコマンドを取得するコマンド取得部と；
前記暗号化されたコマンドを復号化するコマンド復号化部と；
前記復号化されたコマンドに応じたコマンド処理を行うコマンド実行部と；
を備えることを特徴とする情報処理システム。
【請求項２】
耐タンパ性を有するＩＣチップと，クライアント装置と，前記クライアント装置と通信網を介して接続され，前記クライアント装置からの要求に応じて前記ＩＣチップによる所定の処理の実行を支援するサーバ装置と，を備える情報処理システムにおいて：
前記クライアント装置は，
前記ＩＣチップによる前記所定の処理の実行に必要な１以上のコマンドを指定するコマンド指定部と；
前記コマンド指定部により指定された前記１以上のコマンドの生成および暗号化を要求する暗号化要求を前記サーバ装置に送信する暗号化要求送信部と；
前記サーバ装置から暗号化された前記１以上のコマンドを受信するコマンド受信部と；
前記暗号化された１以上のコマンドを前記ＩＣチップに提供するコマンド利用部と；
を備え，
前記サーバ装置は，
前記クライアント装置から前記暗号化要求を受信する暗号化要求受信部と；
前記暗号化要求で生成および暗号化を要求されている前記１以上のコマンドについて，前記暗号化要求において指定されている各コマンドを生成するサーバコマンド生成部と；
前記サーバコマンド生成部により生成された１以上の前記コマンドを暗号化するコマンド暗号化部と；
暗号化された前記１以上のコマンドを前記クライアント装置に送信するコマンド送信部と；
を備え，
前記ＩＣチップは，
前記クライアント装置から前記暗号化された１以上のコマンドを取得するコマンド取得部と；
前記暗号化されたコマンドを復号化するコマンド復号化部と；
前記復号化されたコマンドに応じたコマンド処理を行うコマンド実行部と；
を備えることを特徴とする情報処理システム。
【請求項３】
所定の処理の実行を支援するサーバ装置と通信網を介して接続されたクライアント装置において：
前記所定の処理の実行に必要な１以上のコマンドを指定するコマンド指定部と；
前記コマンド指定部により指定された前記１以上のコマンドを生成するクライアントコマンド生成部と；
前記クライアントコマンド生成部により生成された前記コマンドを含む，該コマンドの暗号化要求を前記サーバ装置に送信する暗号化要求送信部と；
前記サーバ装置から暗号化された前記１以上のコマンドを受信するコマンド受信部と；
前記所定の処理の実行に際し，前記暗号化された１以上のコマンドを利用するコマンド利用部と；
を備えることを特徴とするクライアント装置。
【請求項４】
前記コマンド指定部は，前回のコマンドに対応する処理結果に応じて，前記１以上のコマンドを指定することを特徴とする，請求項３に記載のクライアント装置。
【請求項５】
前記所定の処理を実行する，耐タンパ性を有するＩＣチップと通信可能であり，
前記コマンド利用部は，前記暗号化されたコマンドを前記ＩＣチップに提供することを特徴とする，請求項３に記載のクライアント装置。
【請求項６】
前記ＩＣチップから，前記コマンドに対応する処理結果であるレスポンスを前記ＩＣチップにより暗号化された状態で取得するレスポンス取得部と；
前記暗号化されたレスポンスを含む，前記レスポンスの復号化要求を前記サーバ装置に送信する復号化要求送信部と；
前記サーバ装置から復号化された前記レスポンスを受信するレスポンス受信部と；
を備えることを特徴とする，請求項５に記載のクライアント装置。
【請求項７】
前記所定の処理の実行に複数のコマンドが必要である場合に，前記コマンド指定部は，前記複数のコマンドを指定し，
前記クライアントコマンド生成部は，前記コマンド指定部により指定された複数の前記コマンドを生成し，
前記暗号化要求送信部は，前記コマンド指定部により指定されて前記クライアントコマンド生成部により生成された複数のコマンドを含む，該複数のコマンドの暗号化を要求する１つの暗号化要求を前記サーバ装置に送信することを特徴とする，請求項３に記載のクライアント装置。
【請求項８】
前記コマンド受信部は，複数の前記暗号化されたコマンドを含むコマンド群を前記サーバから受信することができ，
前記コマンド群をコマンド単位に分割するコマンド分割部を備えることを特徴とする，請求項３に記載のクライアント装置。
【請求項９】
前記レスポンス取得部が前記ＩＣチップから取得した複数の前記暗号化レスポンスを結合して１つの前記復号化要求を生成するレスポンス結合部を備えることを特徴とする，請求項６に記載のクライアント装置。
【請求項１０】
所定の処理の実行を支援するサーバ装置と通信網を介して接続されたクライアント装置をして：
前記所定の処理の実行に必要な１以上のコマンドを指定するコマンド指定処理と；
前記コマンド指定処理により指定された前記１以上のコマンドを生成するクライアントコマンド生成処理と；
前記クライアントコマンド生成処理により生成された前記コマンドを含む，該コマンドの暗号化要求を前記サーバ装置に送信する暗号化要求送信処理と；
前記サーバ装置から暗号化された前記１以上のコマンドを受信するコマンド受信処理と；
前記所定の処理の実行に際し，前記暗号化された１以上のコマンドを利用するコマンド利用処理と；
を実行せしめることを特徴とするコンピュータプログラム。
【請求項１１】
所定の処理の実行を支援するサーバ装置と通信網を介して接続されたクライアント装置により実行される情報処理方法において：
前記所定の処理の実行に必要な１以上のコマンドを指定するコマンド指定ステップと；
前記コマンド指定ステップにより指定された前記１以上のコマンドを生成するクライアントコマンド生成ステップと；
前記クライアントコマンド生成ステップにより生成された前記コマンドを含む，該コマンドの暗号化要求を前記サーバ装置に送信する暗号化要求送信ステップと；
前記サーバ装置から暗号化された前記１以上のコマンドを受信するコマンド受信ステップと；
前記所定の処理の実行に際し，前記暗号化された１以上のコマンドを利用するコマンド利用ステップと；
を含むことを特徴とする情報処理方法。
【請求項１２】
所定の処理の実行を支援するサーバ装置と通信網を介して接続されたクライアント装置において：
前記所定の処理の実行に必要な１以上のコマンドを指定するコマンド指定部と；
前記コマンド指定部により指定された前記１以上のコマンドの生成および暗号化を要求する暗号化要求を前記サーバ装置に送信する暗号化要求送信部と；
前記サーバ装置から暗号化された前記１以上のコマンドを受信するコマンド受信部と；
前記所定の処理の実行に際し，前記暗号化された１以上のコマンドを利用するコマンド利用部と；
を備えることを特徴とするクライアント装置。
【請求項１３】
前記所定の処理の実行に複数のコマンドが必要である場合に，前記コマンド指定部は，前記複数のコマンドを指定し，
前記暗号化要求送信部は，前記コマンド指定部により指定された複数のコマンドの生成および暗号化を要求する１つの暗号化要求を前記サーバ装置に送信することを特徴とする，請求項１２に記載のクライアント装置。
【請求項１４】
所定の処理の実行を支援するサーバ装置と通信網を介して接続されたクライアント装置をして：
前記所定の処理の実行に必要な１以上のコマンドを指定するコマンド指定処理と；
前記コマンド指定処理により指定された前記１以上のコマンドの生成および暗号化を要求する暗号化要求を前記サーバ装置に送信する暗号化要求送信処理と；
前記サーバ装置から暗号化された前記１以上のコマンドを受信するコマンド受信処理と；
前記所定の処理の実行に際し，前記暗号化された１以上のコマンドを利用するコマンド利用処理と；
を実行せしめることを特徴とするコンピュータプログラム。
【請求項１５】
所定の処理の実行を支援するサーバ装置と通信網を介して接続されたクライアント装置により実行される情報処理方法において：
前記所定の処理の実行に必要な１以上のコマンドを指定するコマンド指定ステップと；
前記コマンド指定ステップにより指定された前記１以上のコマンドの生成および暗号化を要求する暗号化要求を前記サーバ装置に送信する暗号化要求送信ステップと；
前記サーバ装置から暗号化された前記１以上のコマンドを受信するコマンド受信ステップと；
前記所定の処理の実行に際し，前記暗号化された１以上のコマンドを利用するコマンド利用ステップと；
を含むことを特徴とする情報処理方法。
【請求項１６】
クライアント装置と通信網を介して接続され，前記クライアント装置からの要求に応じて所定の処理の実行を支援するサーバ装置において：
前記クライアント装置から，前記所定の処理の実行に必要な１以上の指定されたコマンドの生成および暗号化を要求する暗号化要求を受信する暗号化要求受信部と；
前記暗号化要求で生成および暗号化を要求されている前記１以上のコマンドについて，前記暗号化要求で指定されている各コマンドを生成するサーバコマンド生成部と；
前記サーバコマンド生成部により生成された１以上の前記コマンドを暗号化するコマンド暗号化部と；
前記暗号化されたコマンドを前記クライアント装置に送信するコマンド送信部と；
を備えることを特徴とするサーバ装置。
【請求項１７】
前記クライアント装置から，前記コマンドに対応する処理結果であるレスポンスが暗号化された状態で含まれる，レスポンスの復号化要求を受信する復号化要求受信部と；
前記暗号化されたレスポンスを復号化するレスポンス復号化部と；
を備えることを特徴とする，請求項１６に記載のサーバ装置。
【請求項１８】
クライアント装置と通信網を介して接続され，前記クライアント装置からの要求に応じて所定の処理の実行を支援するサーバ装置をして：
前記クライアント装置から，前記所定の処理の実行に必要な１以上の指定されたコマンドの生成および暗号化を要求する暗号化要求を受信する暗号化要求受信処理と；
前記暗号化要求で生成および暗号化を要求されている前記１以上のコマンドについて，前記暗号化要求で指定されている各コマンドを生成するサーバコマンド生成処理と；
前記サーバコマンド生成処理により生成された１以上の前記コマンドを暗号化するコマンド暗号化処理と；
前記暗号化されたコマンドを前記クライアント装置に送信するコマンド送信処理と；
を実行せしめることを特徴とするコンピュータプログラム。
【請求項１９】
クライアント装置と通信網を介して接続され，前記クライアント装置からの要求に応じて所定の処理の実行を支援するサーバ装置により実行される情報処理方法において：
前記クライアント装置から，前記所定の処理の実行に必要な１以上の指定されたコマンドの生成および暗号化を要求する暗号化要求を受信する暗号化要求受信ステップと；
前記暗号化要求で生成および暗号化を要求されている前記１以上のコマンドについて，前記暗号化要求で指定されている各コマンドを生成するサーバコマンド生成ステップと；
前記サーバコマンド生成ステップにより生成された１以上の前記コマンドを暗号化するコマンド暗号化ステップと；
前記暗号化されたコマンドを前記クライアント装置に送信するコマンド送信ステップと；
を含むことを特徴とする情報処理方法。
【請求項２０】
クライアント装置と通信網を介して接続され，前記クライアント装置からの要求に応じて所定の処理の実行を支援するサーバ装置において：
前記クライアント装置から，前記所定の処理の実行に必要な１以上のコマンドを含む，該コマンドの暗号化を要求する暗号化要求を受信する暗号化要求受信部と；
前記暗号化要求に含まれる前記１以上のコマンドを暗号化するコマンド暗号化部と；
前記暗号化されたコマンドを前記クライアント装置に送信するコマンド送信部と；
を備えることを特徴とするサーバ装置。
【請求項２１】
クライアント装置と通信網を介して接続され，前記クライアント装置からの要求に応じて所定の処理の実行を支援するサーバ装置をして：
前記クライアント装置から，前記所定の処理の実行に必要な１以上のコマンドを含む，該コマンドの暗号化を要求する暗号化要求を受信する暗号化要求受信処理と；
前記暗号化要求に含まれる前記１以上のコマンドを暗号化するコマンド暗号化処理と；
前記暗号化されたコマンドを前記クライアント装置に送信するコマンド送信処理と；
を実行せしめることを特徴とするコンピュータプログラム。
【請求項２２】
クライアント装置と通信網を介して接続され，前記クライアント装置からの要求に応じて所定の処理の実行を支援するサーバ装置により実行される情報処理方法において：
前記クライアント装置から，前記所定の処理の実行に必要な１以上のコマンドを含む，該コマンドの暗号化を要求する暗号化要求を受信する暗号化要求受信ステップと；
前記暗号化要求に含まれる前記１以上のコマンドを暗号化するコマンド暗号化ステップと；
前記暗号化されたコマンドを前記クライアント装置に送信するコマンド送信ステップと；
を含むことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，情報処理システム，クライアント装置，サーバ装置，情報処理方法，およびコンピュータプログラムに関する。詳細には，所定の処理の実行を支援するサーバ装置と，そのサーバ装置と通信網を介して接続されるクライアント装置とを含んで構成される情報処理システム等に関する。
【背景技術】
【０００２】
従来，ＩＣチップと，クライアント装置と，クライアント装置と通信網を介して接続され，クライアント装置からの要求に応じてＩＣチップによる所定の処理の実行を支援するサーバ装置とを備える情報処理システムが提供されている。このような情報処理システムでは，一般的に，サーバ装置と耐タンパ性を有するＩＣチップとが対応する鍵を保有している。そして，クライアント装置は所定の処理の開始をサーバに要求する。サーバは，ＩＣチップに所定の処理をさせるために，ＩＣチップによる所定の処理の実行に必要なコマンドを指定し，生成し，必要に応じてそのコマンドを鍵を用いて暗号化し，クライアント装置を介してＩＣチップに送信する。ＩＣチップは，鍵を用いてコマンドを復号化して対応する処理を実行し，必要に応じてレスポンスを鍵により暗号化して，クライアント装置を介してサーバ装置に送信する。レスポンスを受けたサーバ装置は，そのレスポンスに基づいて次のコマンドを指定し，上述の処理を続けて所定の処理を完了させる。
【０００３】
このように，従来の情報処理システムでは，サーバ主導であり，クライアント装置は，所定の処理の開始をサーバ装置に要求した後は，サーバ装置とＩＣチップとの間でデータの送受信の中継を行うに過ぎない。つまり，ＩＣチップに所定の処理を実行させるための主なアプリケーションプログラムがサーバ装置側にある。
【０００４】
【特許文献１】特開２００３−１４１０６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし，上述のような従来のサーバ主導の情報処理システムでは，例えば，ＩＣチップに様々な所定の処理を実行させるために各々のアプリケーションプログラムが必要な場合，それら複数のアプリケーションプログラムがサーバ装置に格納され，サーバ装置により実行されることとなる。
【０００６】
具体的に説明すると，ＩＣチップに実行させる所定の処理として，例えば，電子マネー決済処理，チケット購入処理，クーポン取得処理，チップＩＤ確認処理など様々なものがある場合，各処理では，その処理をＩＣチップに実行させるためにＩＣチップに与えられるコマンドの種類や順番，コマンドのパラメータなどが異なっている。つまり，電子マネー決済処理をＩＣチップに実行させるためにＩＣチップに与えられるコマンドの種類や順番等と，チケット購入処理をＩＣチップに実行させるためにＩＣチップに与えられるコマンドの種類や順番等とは異なるものである。そのため，各処理に対応した種類のコマンドを各処理に対応した順番でＩＣチップに提供するための各処理に対応したアプリケーションプログラムが必要となる。従来のサーバ主導の情報処理システムでは，それら複数のアプリケーションがサーバ装置に格納されており，サーバ装置により各アプリケーションが実行される。
【０００７】
サーバ装置は，複数のクライアント装置から要求を受けて，受けた要求に応じて該当するアプリケーションプログラムを実行する。複数のアプリケーションを平行して実行することにより，サーバ装置はメモリやＣＰＵなどのリソースを多く使う。その結果，リソースの使用率の増加に伴い，サーバ装置の処理速度は低下してしまう。つまり，従来の情報処理システムでは，サーバ装置に過大な負荷がかかってサーバ装置の処理速度が落ちることにより，所定の処理の実行が遅くなるという問題点があった。
【０００８】
そこで，本発明は，このような問題に鑑みてなされたもので，その目的とするところは，サーバ装置にかかる負荷を減らすことが可能な，情報処理システム，クライアント装置，サーバ装置，情報処理方法，およびコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために，本発明のある観点によれば，耐タンパ性を有するＩＣチップと，クライアント装置と，クライアント装置と通信網を介して接続され，クライアント装置からの要求に応じてＩＣチップによる所定の処理の実行を支援するサーバ装置と，を備える情報処理システムが提供される。
【００１０】
上記情報処理システムにおいて，クライアント装置は，ＩＣチップによる所定の処理の実行に必要な１以上のコマンドを指定するコマンド指定部と；コマンド指定部により指定された１以上のコマンドを生成するクライアントコマンド生成部と；クライアントコマンド生成部により生成されたコマンドを含む，該コマンドの暗号化要求をサーバ装置に送信する暗号化要求送信部と；サーバ装置から暗号化された１以上のコマンドを受信するコマンド受信部と；暗号化された１以上のコマンドをＩＣチップに提供するコマンド利用部と；を備える。
【００１１】
上記情報処理システムにおいて，サーバ装置は，クライアント装置から暗号化要求を受信する暗号化要求受信部と；暗号化要求に含まれる１以上のコマンドを暗号化するコマンド暗号化部と；暗号化された１以上のコマンドをクライアント装置に送信するコマンド送信部と；を備える。
【００１２】
上記情報処理システムにおいて，ＩＣチップは，クライアント装置から暗号化された１以上のコマンドを取得するコマンド取得部と；暗号化されたコマンドを復号化するコマンド復号化部と；復号化されたコマンドに応じたコマンド処理を行うコマンド実行部と；を備える。
【００１３】
上記発明によれば，ＩＣチップによる所定の処理の実行に必要なコマンドの指定をクライアント装置に備えられるコマンド指定部が行い，指定されたコマンドの生成をクライアント装置に備えられるクライアントコマンド生成部が行う。サーバ装置は，暗号化要求受信部により受信した暗号化要求に含まれる，クライアント装置により指定，生成されたコマンドを暗号化する。つまり，サーバ装置は，クライアント装置からの要求を受けて，コマンドの暗号化を行えばよい。従って，従来のように，サーバ装置がコマンドの指定，生成を行わなくて済むため，サーバにかかる負荷を減少させることができる。
【００１４】
上記課題を解決するために，本発明の別の観点によれば，耐タンパ性を有するＩＣチップと，クライアント装置と，クライアント装置と通信網を介して接続され，クライアント装置からの要求に応じてＩＣチップによる所定の処理の実行を支援するサーバ装置と，を備える他の情報処理システムが提供される。
【００１５】
上記情報処理システムにおいて，クライアント装置は，ＩＣチップによる所定の処理の実行に必要な１以上のコマンドを指定するコマンド指定部と；コマンド指定部により指定された１以上のコマンドの生成および暗号化を要求する暗号化要求をサーバ装置に送信する暗号化要求送信部と；サーバ装置から暗号化された１以上のコマンドを受信するコマンド受信部と；暗号化された１以上のコマンドをＩＣチップに提供するコマンド利用部と；を備える。
【００１６】
上記情報処理システムにおいて，サーバ装置は，クライアント装置から暗号化要求を受信する暗号化要求受信部と；暗号化要求で生成および暗号化を要求されている１以上のコマンドについて，暗号化要求において指定されている各コマンドを生成するサーバコマンド生成部と；サーバコマンド生成部により生成された１以上のコマンドを暗号化するコマンド暗号化部と；暗号化された１以上のコマンドをクライアント装置に送信するコマンド送信部と；を備える。
【００１７】
上記情報処理システムにおいて，ＩＣチップは，クライアント装置から暗号化された１以上のコマンドを取得するコマンド取得部と；暗号化されたコマンドを復号化するコマンド復号化部と；復号化されたコマンドに応じたコマンド処理を行うコマンド実行部と；を備える。
【００１８】
上記発明によれば，ＩＣチップによる所定の処理の実行に必要なコマンドの指定をクライアント装置に備えられるコマンド指定部が行う。サーバ装置は，暗号化要求受信部により受信した暗号化要求に基づき，クライアント装置により指定されたコマンドを生成し，暗号化する。つまり，サーバ装置は，クライアント装置からの要求を受けて，指定されたコマンドの生成と暗号化を行えばよい。従って，従来のように，サーバ装置がコマンドの指定を行わなくて済むため，サーバ装置側が所定の処理に必要なコマンドを認識する必要はなく，サーバ装置にかかる負荷を減少させることができる。
【００１９】
上記課題を解決するために，本発明の別の観点によれば，所定の処理の実行を支援するサーバ装置と通信網を介して接続されたクライアント装置において：所定の処理の実行に必要な１以上のコマンドを指定するコマンド指定部と；コマンド指定部により指定された１以上のコマンドを生成するクライアントコマンド生成部と；クライアントコマンド生成部により生成されたコマンドを含む，該コマンドの暗号化要求をサーバ装置に送信する暗号化要求送信部と；サーバ装置から暗号化された１以上のコマンドを受信するコマンド受信部と；所定の処理の実行に際し，暗号化された１以上のコマンドを利用するコマンド利用部と；を備えるクライアント装置が提供される。
【００２０】
上記発明によれば，所定の処理の実行に必要なコマンドの指定をクライアント装置に備えられるコマンド指定部が行い，指定されたコマンドの生成をクライアント装置に備えられるクライアントコマンド生成部が行う。そのため，サーバ装置は，コマンドの暗号化を行えばよい。従って，従来のように，サーバ装置がコマンドの指定，生成を行わなくて済むため，サーバにかかる負荷を減少させることができる。
【００２１】
上記コマンド指定部は，前回のコマンドに対応する処理結果に応じて，１以上のコマンドを指定するようにしてもよい。かかる構成によれば，クライアント装置のコマンド指定部が，前回のコマンドに対応する処理結果に応じて次のコマンドを指定することができるため，サーバ装置が処理結果を認識する必要がなく，サーバ装置が実行する処理を少なくすることができる。
【００２２】
上記クライアント装置は，所定の処理を実行する，耐タンパ性を有するＩＣチップと通信可能であり，上記コマンド利用部は，暗号化されたコマンドをＩＣチップに提供するようにしてもよい。
【００２３】
上記クライアント装置は，ＩＣチップから，コマンドに対応する処理結果であるレスポンスをＩＣチップにより暗号化された状態で取得するレスポンス取得部と；暗号化されたレスポンスを含む，レスポンスの復号化要求をサーバ装置に送信する復号化要求送信部と；サーバ装置から復号化されたレスポンスを受信するレスポンス受信部と；を備えてもよい。かかる構成によれば，ＩＣチップがコマンドに対応する処理を実行した結果であるレスポンスが，ＩＣチップにより暗号化されている場合でも，復号化要求送信部がその暗号化されたレスポンスをサーバ装置に送信し，レスポンス受信部がサーバ装置から復号化されたレスポンスを受信することにより，クライアント装置はレスポンスの内容を認識することができる。そのため，クライアント装置が備えるコマンド指定部は，レスポンスに応じて，次のコマンドを指定することができる。
【００２４】
所定の処理の実行に複数のコマンドが必要である場合に，上記コマンド指定部は，複数のコマンドを指定し，クライアントコマンド生成部は，コマンド指定部により指定された複数のコマンドを生成し，暗号化要求送信部は，コマンド指定部により指定されてクライアントコマンド生成部により生成された複数のコマンドを含む，該複数のコマンドの暗号化を要求する１つの暗号化要求をサーバ装置に送信するようにしてもよい。かかる構成によれば，クライアント装置は，サーバ装置への１度のデータ送信において，複数のコマンドの暗号化を要求することができる。そのため，クライアント装置とサーバ装置との間の通信回数を減少させることができる。
【００２５】
上記コマンド受信部は，複数の暗号化されたコマンドを含むコマンド群をサーバから受信することができてもよく，その場合，上記クライアント装置は，そのコマンド群をコマンド単位に分割するコマンド分割部を備えてもよい。かかる構成によれば，クライアント装置は，サーバ装置からの一度のデータ受信において，複数のコマンドを取得することができる。そのため，クライアント装置とサーバ装置との間の通信回数を減少させることができる。
【００２６】
上記クライアント装置は，上記レスポンス取得部がＩＣチップから取得した複数の暗号化レスポンスを結合して１つの復号化要求を生成するレスポンス結合部を備えてもよい。かかる構成によれば，クライアント装置は，サーバ装置への１度のデータ送信において，複数のレスポンスの復号化を要求することができる。そのため，クライアント装置とサーバ装置との間の通信回数を減少させることができる。
【００２７】
上記課題を解決するために，本発明の別の観点によれば，所定の処理の実行を支援するサーバ装置と通信網を介して接続されたクライアント装置において：所定の処理の実行に必要な１以上のコマンドを指定するコマンド指定部と；コマンド指定部により指定された１以上のコマンドの生成および暗号化を要求する暗号化要求をサーバ装置に送信する暗号化要求送信部と；サーバ装置から暗号化された１以上のコマンドを受信するコマンド受信部と；所定の処理の実行に際し，暗号化された１以上のコマンドを利用するコマンド利用部と；を備えるクライアント装置が提供される。
【００２８】
上記発明によれば，所定の処理の実行に必要なコマンドの指定をクライアント装置に備えられるコマンド指定部が行う。そのため，サーバ装置は，クライアント装置からの要求を受けて，指定されたコマンドの生成と暗号化を行えばよい。従って，従来のように，サーバ装置がコマンドの指定を行わなくて済むため，サーバ装置側が所定の処理に必要なコマンドを認識する必要はない。そのため，所定の処理ごとに必要なコマンドの種類や順序などの情報をサーバ装置側に格納しなくて済み，かつ，所定の処理ごとにコマンドを組み合わせるアルゴリズムをサーバ装置側に実装し動作させなくても済むため，サーバ装置にかかる負荷を減少させることができる。
【００２９】
所定の処理の実行に複数のコマンドが必要である場合に，上記コマンド指定部は，複数のコマンドを指定してもよく，上記暗号化要求送信部は，コマンド指定部により指定された複数のコマンドの生成および暗号化を要求する１つの暗号化要求をサーバ装置に送信するようにしてもよい。
【００３０】
上記課題を解決するために，本発明の別の観点によれば，コンピュータに上記いずれかのクライアント装置として機能させるコンピュータプログラムが提供される。コンピュータプログラムは，コンピュータが備える記憶部に格納され，コンピュータが備えるＣＰＵに読み込まれて実行されることにより，そのコンピュータを上記のクライアント装置として機能させる。また，コンピュータプログラムが記録された，コンピュータで読み取り可能な記録媒体も提供される。記録媒体は，例えば，磁気ディスク，光ディスクなどである。
【００３１】
上記課題を解決するために，本発明の別の観点によれば，上記いずれかのクライアント装置により実行される情報処理方法が提供される。
【００３２】
上記課題を解決するために，本発明の別の観点によれば，クライアント装置と通信網を介して接続され，クライアント装置からの要求に応じて所定の処理の実行を支援するサーバ装置において：クライアント装置から，所定の処理の実行に必要な１以上の指定されたコマンドの生成および暗号化を要求する暗号化要求を受信する暗号化要求受信部と；暗号化要求で生成および暗号化を要求されている１以上のコマンドについて，暗号化要求で指定されている各コマンドを生成するサーバコマンド生成部と；サーバコマンド生成部により生成された１以上のコマンドを暗号化するコマンド暗号化部と；暗号化されたコマンドをクライアント装置に送信するコマンド送信部と；を備えるサーバ装置が提供される。
【００３３】
上記発明によれば，サーバ装置は，暗号化要求受信部により受信した暗号化要求に基づき，クライアント装置により指定されたコマンドを生成し，暗号化する。つまり，サーバ装置は，クライアント装置からの要求を受けて，指定されたコマンド生成と暗号化を行えばよい。従って，従来のように，サーバ装置がコマンドの指定を行わなくて済むため，サーバ装置側が所定の処理に必要なコマンドを認識する必要はなく，サーバ装置にかかる負荷を減少させることができる。
【００３４】
上記サーバ装置は，クライアント装置から，コマンドに対応する処理結果であるレスポンスが暗号化された状態で含まれる，レスポンスの復号化要求を受信する復号化要求受信部と；暗号化されたレスポンスを復号化するレスポンス復号化部と；を備えてもよい。
【００３５】
上記課題を解決するために，本発明の別の観点によれば，クライアント装置と通信網を介して接続され，クライアント装置からの要求に応じて所定の処理の実行を支援するサーバ装置において：クライアント装置から，所定の処理の実行に必要な１以上のコマンドを含む，該コマンドの暗号化を要求する暗号化要求を受信する暗号化要求受信部と；暗号化要求に含まれる１以上のコマンドを暗号化するコマンド暗号化部と；暗号化されたコマンドをクライアント装置に送信するコマンド送信部と；を備えるサーバ装置が提供される。
【００３６】
上記発明によれば，サーバ装置は，暗号化要求受信部より受信した暗号化要求に含まれるコマンドの暗号化を行えばよい。従って，従来のように，サーバ装置がコマンドの指定，生成を行わなくて済むため，サーバにかかる負荷を減少させることができる。
【００３７】
上記課題を解決するために，本発明の別の観点によれば，コンピュータに上記いずれかのサーバ装置として機能させるコンピュータプログラムが提供される。コンピュータプログラムは，コンピュータが備える記憶部に格納され，コンピュータが備えるＣＰＵに読み込まれて実行されることにより，そのコンピュータを上記のサーバ装置として機能させる。また，コンピュータプログラムが記録された，コンピュータで読み取り可能な記録媒体も提供される。記録媒体は，例えば，磁気ディスク，光ディスクなどである。
【００３８】
上記課題を解決するために，本発明の別の観点によれば，上記いずれかのサーバ装置により実行される情報処理方法が提供される。
【発明の効果】
【００３９】
以上説明したように本発明によれば，サーバ装置にかかる負荷を減らすことが可能な情報処理システム，クライアント装置，サーバ装置，情報処理方法，およびコンピュータプログラムを提供することができる。
【発明を実施するための最良の形態】
【００４０】
以下に添付図面を参照しながら，本発明の好適な実施の形態について詳細に説明する。なお，本明細書及び図面において，実質的に同一の機能構成を有する構成要素については，同一の符号を付することにより重複説明を省略する。
【００４１】
（第１実施形態）
以下では，本発明にかかる情報処理システムを，耐タンパ性を有するＩＣチップを備えるクライアント装置１０２と，クライアント装置１０２と通信網１０６を介して接続され，クライアント装置１０２からの要求に応じてＩＣチップによる所定の処理の実行を支援するサーバ装置１０４を備える情報処理システム１００に適用して説明する。まず，情報処理システム１００の概要を説明する。
【００４２】
情報処理システム１００では，ＩＣチップに所定の処理を実行させるために，クライアント装置１０２がＩＣチップに提供するべきコマンドを指定する。クライアント装置１０２により指定されたコマンドは，サーバ装置１０４により生成される。サーバ装置１０４はコマンドを暗号化／復号化する鍵を有しており，生成したコマンドを，必要に応じて処理内容を秘密にするために暗号化する。サーバ装置１０４により生成，暗号化されたコマンドは，クライアント装置１０２からＩＣチップに提供される。ＩＣチップは，サーバ装置１０４が有する鍵と対応する鍵を有しており，クライアント装置１０２から提供されたコマンドを復号化して実行する。実行後，ＩＣチップはレスポンスを暗号化してクライアント装置１０２に提供する。クライアント装置１０２は，暗号化されたレスポンスをサーバ装置１０４により復号化してもらい，レスポンスの内容を認識し，次にＩＣチップに提供するべきコマンドを指定する。
【００４３】
上記のように情報処理システム１００では，ＩＣチップとサーバ装置１０４とが対応する鍵を保有しており，処理内容を秘密にするためにコマンドやレスポンスを暗号化する。秘密情報である鍵をサーバ装置１０４が保有することで，クライアント装置１０２が保有する場合に比べて，鍵の流出，改ざんなどを高い確率で防止でき，その結果，暗号化されたコマンドやレスポンスが解読されて改ざん等されることを防止できる。さらに，ＩＣチップが耐タンパ性を有しているため，ＩＣチップが保有している鍵も流出や改ざんの恐れが低く，また，ＩＣチップによるコマンドに対応する処理の実行やレスポンスの暗号化処理などもＩＣチップの外部に漏れることなく安全に行われる。
【００４４】
次に，図１および図２に基づいて，第１実施形態にかかる情報処理システム１００の全体構成について説明する。情報処理システム１００は，例えば，クライアント装置１０２ａ，１０２ｂ，…（以後，単にクライアント装置１０２とも称する），サーバ装置１０４，および通信網１０６などを備える。
【００４５】
クライアント装置１０２は，ＩＣチップに所定の処理を実行させることが可能なコンピュータである。クライアント装置１０２は，例えば，符号１０２ａのようにＩＣチップが内蔵された携帯電話とすることができる。その場合，クライアント装置１０２は，内蔵されるＩＣチップが備えるＣＰＵに所定の処理を実行させる。また，クライアント装置１０２は，例えば，符号１０２ｂのようにＩＣカードリーダライタ１０８を備えたパーソナルコンピュータとすることができる。その場合，クライアント装置１０２は，例えば，ＩＣカードリーダライタ１０８と通信可能な範囲に配置されたＩＣカードに内蔵されるＩＣチップが備えるＣＰＵに所定の処理を実行させる。その他，クライアント装置１０２を，ＰＯＳレジ，チケットのダウンロード等が可能なキオスク端末などとすることもできる。
【００４６】
クライアント装置１０２が所定の処理を実行させるＩＣチップは，サーバ装置１０４により暗号化されたデータを復号化し，また，サーバ装置１０４が復号化できるようにデータを暗号化するために，サーバ装置１０４が有する鍵と対応する鍵を保有している。ＩＣチップは，その鍵を安全に保有するために耐タンパ性を有している。
【００４７】
ＩＣチップが有する耐タンパ性には，例えば，攻撃に耐える仕組みを指す物理的耐タンパ性，内部秘密情報の推測に役立つ情報を外部に漏らさない機能であるサイドチャネルアタックに対する耐タンパ性，外部から強制的に誤作動させて内部の秘密情報を漏らさなくする耐タンパ性などが含まれる。物理的耐タンパ性は，物（装置，回路基板，半導体部品等）を解析し難くするとか，解析しようと分解すると何らかの方法で分解を検知し動作しなくしたり，外部に漏れるよりは秘密情報を積極的に消去したりする機構を設けて実現する。サイドチャネルアタックに対する耐タンパ性とは，暗号を処理する装置（回路基板，半導体集積回路）における，暗号処理時間のデータ依存性や，暗号動作時の消費電流変化/漏洩電磁波を測定するなどして装置内の秘密情報を推定する手法に対するタンパ性である。
【００４８】
なお，クライアント装置１０２が所定の処理を実行させる対象は，耐タンパ性を有するＩＣチップでなくてもよい。例えば，ＩＣチップ上で秘密に保持されるべき情報を記憶する耐タンパ性を有する物理媒体（メモリカードなど）であってもよい。また，クライアント装置１０２自身，または別のコンピュータであってもよい。その場合，詳細には，クライアント装置１０２または別のコンピュータのメモリに鍵が格納され，その鍵を利用してＣＰＵが暗号化／復号化処理などを行うため，鍵の流出等を防止するためにメモリまたはＣＰＵの少なくとも一方，望ましくは双方が耐タンパ性を有していることが必要である。
【００４９】
サーバ装置１０４は，クライアント装置１０２からの要求を受けて，ＩＣチップによる所定の処理の実行を支援するコンピュータである。第１実施形態にかかるサーバ装置１０４は，所定の処理の実行支援として，クライアント装置１０２からの要求を受けて，クライアント装置により指定されたコマンドの生成と，生成したコマンドの暗号化を行うことができる。
【００５０】
通信網１０６は，例えば，インターネット，電話回線網，衛星通信網等の公衆回線網や，ＷＡＮ，ＬＡＮ，ＩＰ−ＶＰＮ等の専用回線網などで構成されており，有線・無線を問わない。
【００５１】
本実施形態かかる情報処理システム１００では，従来の情報処理システムとは異なり，ＩＣチップに所定の処理を実行させるための主なアプリケーションプログラムをクライアント装置が有している。図２に示すように，各クライアント装置１０２ａ，１０２ｂは，所定の処理を実行する耐タンパ性のＩＣチップ１１２と，そのＩＣチップ１１２に所定の処理を実行させるアプリケーション１１０とを備えている。所定の処理としては，例えば，ＩＣチップ内に格納されている価値情報の照会，更新を挙げることができる。価値情報として，電子マネーの金額情報や，電子クーポンに関する情報，サービスポイントのポイント値情報などを例示できる。クライアント装置１０２は，アプリケーション１１０を実行することにより，上記のような所定の処理をＩＣチップ１１２に行わせる。
【００５２】
アプリケーション１１０は，所定の処理をＩＣチップ１１２に実行させるために，ＩＣチップ１１２による所定の処理の実行に必要なコマンドをＩＣチップ１１２に提供する。従来，このアプリケーション１１０により遂行される機能は，サーバ装置に格納されるアプリケーションにより遂行されていた。つまり，サーバ装置が，サーバ装置に格納されるアプリケーションを実行して，所定の処理の実行に必要な各コマンドを指定し，生成し，必要に応じて暗号化していた。本実施形態では，従来サーバ装置により行われていた上記機能のうち，所定の処理の実行に必要な各コマンドの指定を，クライアント装置１０２のアプリケーション１１０が行う。すなわち，クライアント装置１０２がコマンドを指定し，サーバ装置１０４は，クライアント装置１０２により指定されたコマンドを生成し，必要に応じて暗号化する。そして，生成され，または暗号化されたコマンドは，サーバ装置１０４からクライアント装置１０２に送信され，クライアント装置１０２からＩＣチップ１１２に提供される。
【００５３】
かかる構成によれば，サーバ装置１０４は，指定されたコマンドを生成すればよいため，例えば，ＩＣチップに様々な所定の処理を実行させるために各々のアプリケーションプログラムが必要な場合でも，それら複数のアプリケーションプログラムはアプリケーション１１０としてクライアント装置に格納される。そしてサーバ装置１０４は，各所定の処理の実行に共通して必要なコマンドを生成できればよく，指定されたコマンドの生成を行う汎用的なアプリケーションプログラムを有していれば済む。
【００５４】
そのため，アプリケーションプログラムの追加，変更，削除等をクライアント装置１０２に対して行えばよく，サーバ装置１０４にアプリケーションプログラムを追加，変更，削除等する場合に比べて管理がしやすいという利点がある。また，サーバ装置１０４は，複数のクライアント装置１０２からの要求を受けた場合でも，汎用的なアプリケーションプログラムを実行すればよいため，複数の異なるアプリケーションを平行して実行する場合に比べてサーバ装置１０４に過大な負荷をかけないため，処理速度が低下することを防止できる。
【００５５】
また，従来では，サーバ装置が各アプリケーションを有し，クライアント装置には各アプリケーションに対応したＧＵＩがそれぞれ格納されていた。そのため，サーバ装置側のアプリケーションとクライアント装置側のＧＵＩ等のアプリケーションの双方を開発し，連携させる必要があった。しかし，本実施形態の構成によれば，サーバ装置側には汎用的なアプリケーションがあればよく，クライアント装置側のアプリケーションを開発すれば済むため，開発効率が上がるという利点がある。
【００５６】
さらに，クライアント装置１０２とサーバ装置１０４との間の通信状態を管理するセッション情報を，クライアント装置１０２のアプリケーション１１０で管理することができる。そのため，サーバ装置１０４側のリソースをセッション情報の管理に使用されることを防止し，サーバ装置１０４が多数のクライアント装置１０２と同時に接続することを可能にする。
【００５７】
また，サーバ装置側でセッション情報を管理する場合には，通常，サーバ装置側でのリソース使用に限界があるため，セッション情報の管理としてセッションタイムアウトを設けることが必要となる。しかし，本実施形態によればクライアント装置１０２側でセッション情報の管理ができるため，タイムアウト時間を設ける必要はない。そのため，クライアント装置１０２とサーバ装置１０４との通信接続が切断された後に，相当の時間が経過した場合であっても，クライアント装置１０２がセッション情報を管理しておくことにより，クライアント装置１０２とサーバ装置１０４との通信接続が再開された場合に，切断前の通信接続により行われていた処理の続きを行うことができる。
【００５８】
以上，情報処理システム１００の全体構成について説明した。次に，図３に基づいて，クライアント装置１０２の機能構成について説明する。
【００５９】
クライアント装置１０２は，暗号化要求送信部１２０，コマンド指定部１２２，処理別コマンド情報記憶部１２４，コマンド受信部１２６，コマンド分割部１２８，コマンド利用部１３０，レスポンス取得部１３２，レスポンス結合部１３４，復号化要求送信部１３６，レスポンス受信部１３８などを主に備える。
【００６０】
コマンド指定部１２２は，ＩＣチップ１１２による所定の処理の実行に必要な１以上のコマンドを指定する。詳細には，コマンド指定部１２２は，ＩＣチップ１１２に実行させたい所定の処理と，その所定の処理の実行に必要なコマンドとを認識して，そのコマンドを指定する。所定の処理を，ＩＣチップ１１２に格納されているサービスポイントのポイント値情報の更新に適用して具体的に説明する。ポイント値情報の更新処理には，認証，ＩＣチップ１１２に格納されているポイント値情報の読み出し，およびＩＣチップ１１２へのポイント値情報の書き込みの３つの処理が含まれている。コマンド指定部１２２は，サービスポイントのポイント値の更新をＩＣチップ１１２に行わせるために，まず，認証を実行させるコマンドとして，例えばコマンド“認証”を指定する。次に，コマンド指定部１２２は，ＩＣチップ１１２にポイント値情報の読み出しを実行させるコマンドとして，例えばコマンド“読み出し”を指定する。さらにその次に，コマンド指定部１２２は，ＩＣチップ１１２にポイント値情報の書き込みを実行させるコマンドとして，例えばコマンド“書き込み”を指定する。
【００６１】
なお，コマンドを指定する際に，コマンド指定部１２２は，ＩＣチップ１１２による各コマンドの処理の実行時に使用させるデータを，コマンドのパラメータとして指定することができる。上記例では，例えば，コマンド“認証”では，ＩＣチップ１１２を一意に識別可能なチップＩＤの格納領域のアドレスなど，認証を実行することをＩＣチップ１１２が認識できるデータがコマンドのパラメータとして指定される。また，例えば，コマンド“読み出し”では，ポイント値情報が格納されている領域のアドレス等，読み出し対象がポイント値情報であることをＩＣチップ１１２が認識できるデータがコマンドのパラメータとして指定される。また，コマンド“書き込み”では，書き込みするポイント値の値と，書き込み領域のアドレス等，書き込み対象がポイント値情報であることをＩＣチップ１１２が認識できるデータがコマンドのパラメータとして指定される。
【００６２】
また，コマンド指定部１２２は，ＩＣチップ１１２による所定の処理の実行に複数のコマンドが必要である場合には，複数のコマンドを指定するようにしてもよい。例えば，コマンド指定部１２２は，ポイント値情報の更新処理のために，まずコマンド“認証”を指定し，コマンド“認証”に対するＩＣチップ１１２による実行が終了してから，コマンド“読み出し”を指定し，同様にコマンド“読み出し”に対するＩＣチップ１１２による実行が終了してからコマンド“書き込み”を指定するというように，各々のコマンドを複数回に分けて指定してもよいが，コマンド指定部１２２は，ポイント値情報の更新処理のために，コマンド“認証”“読み出し”“書き込み”を一度に指定してもよい。コマンド指定部１２２は，例えば，処理別コマンド情報記憶部１２４に記憶されている処理別のコマンド情報を参照して，複数のコマンドを一度に指定してもよい。
【００６３】
処理別コマンド情報記憶部１２４は，処理別のコマンド情報を記憶しており，ＲＡＭ，ハードディスクなどの記憶装置を含んで構成される。図４に，処理別コマンド情報記憶部１２４に記憶される処理別のコマンド情報の例を示した。処理別コマンド情報記憶部１２４には，複合コマンド名１２４０と，コマンド要求１２４２と，パラメータ１２４４が関連付けられて記憶される。複合コマンド名１２４０には，所定の処理を特定できる識別情報が格納され，例えば図示のように処理Ａ，処理Ｂなどのような処理名が格納される。コマンド要求１２４２には，複合コマンド名１２４０に格納された処理情報により識別される所定の処理をＩＣチップ１１２に実行させるために必要なコマンドの識別情報が格納される。パラメータ１２４４には，コマンド要求１２４２に格納された識別情報により識別されるコマンドの処理をＩＣチップ１１２に実行させる際にＩＣチップ１１２に使用させるデータ（コマンドのパラメータ）が格納される。
【００６４】
具体的に説明すると，例えば，図４の処理Ａは，上述のサービスポイントのポイント値情報の更新処理であり，ポイント値の更新処理をＩＣチップ１１２に実行させるために必要なコマンドは，コマンド要求１２４２に格納されているようにコマンド“認証”“読み取り”“書き込み”である。コマンド指定部１２２は，ＩＣチップ１１２に実行させたい処理を処理別コマンド情報記憶部１２４から検索し，該当する複合コマンド名１２４０に関連付けられている複数のコマンド要求１２４２を，各コマンド要求に対応付けられているパラメータとともに指定することにより，所定の処理の実行に必要な複数のコマンドを一度に指定することができる。
【００６５】
コマンド指定部１２２は，指定したコマンドのコマンド名（“認証”“読み取り”“書き込み”など）と，パラメータを暗号化要求送信部１２０に提供する。暗号化要求送信部１２０は，コマンド指定部１２２により指定された１以上のコマンドの生成と，必要に応じたコマンドの暗号化を要求する，暗号化要求をサーバ装置に送信する。詳細には，暗号化要求送信部１２０は，コマンド指定部１２２から取得したコマンド名と，パラメータを，通信網１０６を介して接続されたサーバ装置１０４に送信する。
【００６６】
コマンド受信部１２６は，サーバ装置１０４からコマンドを受信する。詳細には，コマンド受信部１２６は，サーバ装置１０４が暗号化要求送信部１２０からの要求を受けて生成，暗号化したコマンドを受信する。なお，コマンド受信部１２６が受信するコマンドには，暗号化されたものと，暗号化されていないものの双方が含まれる。また，コマンド指定部１２２が複数のコマンドを一度に指定し，暗号化要求送信部１２０が一度に複数のコマンド名を送信した場合には，コマンド受信部１２６は，複数のコマンドを一度に受信する。そこで，コマンド受信部１２６は，複数のコマンドを一度に受信した場合には，そのコマンド群をコマンド分割部１２８に提供する。なお，コマンド受信部１２６は，１つのコマンドを受信した場合には，そのコマンドをコマンド分割部１２８ではなくコマンド利用部１３０に提供してもよい。
【００６７】
コマンド分割部１２８は，複数のコマンドが含まれるコマンド群をコマンド単位に分割する。コマンド群の分割は，例えば，コマンド受信部１２６がサーバ装置１０４から受信したコマンド群に，各コマンドのレングスや開始位置などの情報が含まれていれば，その情報を参照することによって行うことができる。コマンド分割部１２８は，コマンド群をコマンド単位に分割し，各コマンドをコマンド利用部１３０に提供する。
【００６８】
コマンド利用部１３０は，所定の処理の実行に際し，１以上のコマンドを利用する。詳細には，コマンド利用部１３０は，コマンド受信部１２６またはコマンド分割部１２８から取得したコマンドを，ＩＣチップ１１２に提供する。コマンド利用部１３０がＩＣチップ１１２に提供するコマンドには，暗号化されているコマンドと暗号化されていないコマンドの双方が含まれる。なお，本実施形態では，ＩＣチップへのコマンドの提供がコマンドの利用に相当するが，コマンドの利用は，かかる例には限定されない。例えば，所定の処理の実行がＩＣチップではなく，クライアント装置１０２と通信網を介して接続された他のコンピュータにより行われる場合には，そのコンピュータに提供するようにしてもよい。
【００６９】
レスポンス取得部１３２は，ＩＣチップ１１２からレスポンスを取得する。レスポンスは，ＩＣチップ１１２がコマンドに対応するコマンド処理を行った際の処理結果である。ＩＣチップ１１２は，コマンドを受けて対応するコマンド処理を実行すると，その処理結果をレスポンスとしてクライアント装置１０２に提供する。また，ＩＣチップ１１２は，必要に応じてレスポンスを暗号化し，暗号化後のレスポンスをクライアント装置１０２に提供する。レスポンス取得部１３２はレスポンスを取得すると，復号化要求送信部１３６に提供する。また，コマンド指定部１２２が複数のコマンドを一度に指定した場合には，ＩＣチップ１１２は複数のコマンド処理を連続して行い，各々のレスポンスを連続してクライアント装置１０２に提供する。そこで，レスポンス取得部１３２は取得したレスポンスをレスポンス結合部１３４に提供し，レスポンス結合部１３４にて複数のレスポンスが結合された状態で復号化要求送信部１３６に提供されてもよい。
【００７０】
復号化要求送信部１３６は，レスポンス取得部１３２またはレスポンス結合部１３４から取得したレスポンスを含み，レスポンスが暗号化されている場合に，暗号化されたレスポンスの復号化を要求する復号化要求を送信する。
【００７１】
レスポンス受信部１３８は，サーバ装置１０４により復号化されたレスポンスを受信する。レスポンス受信部１３８は，受信したレスポンスをコマンド指定部１２２に提供する。レスポンスが提供されることにより，コマンド指定部１２２は，前回のコマンドに対するレスポンスに基づいて，次のコマンドを指定することができる。
【００７２】
以上，クライアント装置１０２の機能構成について説明した。次に，図５に基づいて，サーバ装置１０４の機能構成について説明する。
【００７３】
サーバ装置１０４は，暗号化要求受信部１４０，サーバコマンド生成部１４２，コマンド変換情報記憶部１４４，コマンド送信部１４６，コマンド暗号化部１４８，復号化要求受信部１５０，レスポンス復号化部１５２，およびレスポンス送信部１５４などを主に備える。
【００７４】
暗号化要求受信部１４０は，クライアント装置１０２から暗号化要求を受信する。詳細には，暗号化要求受信部１４０は，クライアント装置１０２から，コマンド名とパラメータとを取得し，取得したコマンド名とパラメータをサーバコマンド生成部１４２に提供する。
【００７５】
サーバコマンド生成部１４２は，暗号化要求受信部１４０から暗号化要求を取得し，暗号化要求に基づいてコマンドを生成する。詳細には，サーバコマンド生成部１４２は，暗号化要求受信部１４０から，コマンド名とパラメータを取得して，コマンド変換情報記憶部１４４に記憶されているコマンド変換情報に基づいて，取得したコマンド名に該当するコマンドを生成する。
【００７６】
コマンド変換情報記憶部１４４は，コマンド変換情報を記憶している。コマンド変換情報記憶部１４４に記憶されるコマンド変換情報の一例を図６に示した。コマンド変換情報記憶部１４４には，コマンド要求１４４０と，コマンド１４４２と，実際の値１４４４などが関連付けられて記憶されている。コマンド要求１４４０は，コマンドを一意に識別可能な識別情報であり，例えばコマンド名が格納される。コマンド要求１４４０に格納される情報は，処理別コマンド情報記憶部１２４のコマンド要求１２４２に格納される情報と対応している。コマンド１４４２は，コマンド要求１４４０に格納される識別情報により識別されるコマンドのフォーマットを示す情報が格納される。例えば，コマンド“認証”は，コマンドコード“Ａｕｔｈｅｎｔｉｃａｔｉｏｎ”とパラメータとの組み合わせであることが，コマンド１４４２に格納される情報によりわかる。実際の値１４４４は，ＩＣチップ１１２に提供される値であり，例えばコマンドコード“Ａｕｔｈｅｎｔｉｃａｔｉｏｎ”は値“１０”としてＩＣチップ１１２に提供される。
【００７７】
サーバコマンド生成部１４２は，暗号化要求受信部１４０から取得したコマンド名に相当するコマンド要求１４４０を検索し，コマンド１４４２および実際の値１４４４を参照してコマンドを生成する。具体例を挙げると，例えば，暗号化要求受信部１４０から，コマンド名としてコマンド“認証”を，パラメータとして“３９  ４３  ５８  ９２  ００”を取得した場合，サーバコマンド生成部１４２は，下記のようにコマンドを生成する。
【００７８】
コマンド＝レングス＋コマンドコード＋パラメータ
レングス＝（コマンドコード＋パラメータ）の長さ
“認証”のコマンド＝０６  １０  ３９  ５８  ９２  ００
【００７９】
サーバコマンド生成部１４２は，上記のように生成したコマンドを必要に応じてコマンド暗号化部１４８に提供する。
【００８０】
コマンド暗号化部１４８は，サーバコマンド生成部１４２から取得したコマンドを暗号化する。詳細には，コマンド暗号化部１４８は，ＩＣチップ１１２が保有する鍵で復号化することができるようにコマンドを暗号化する。コマンド暗号化部１４８は，暗号化したコマンドをコマンド送信部１４６に提供する。
【００８１】
コマンド送信部１４６は，コマンド暗号化部１４８から取得したコマンドを，通信網１０６を介して接続されており，暗号化要求の送信元であるクライアント装置１０２に送信する。
【００８２】
復号化要求受信部１５０は，クライアント装置１０２から復号化要求を受信する。詳細には，復号化要求受信部１５０は，クライアント装置１０２から，ＩＣチップ１１２によるコマンド処理の処理結果であるレスポンスを，ＩＣチップ１１２が保有する鍵により暗号化された状態で受信する。復号化要求受信部１５０は暗号化されたレスポンスをレスポンス復号化部１５２に提供する。
【００８３】
レスポンス復号化部１５２は，復号化要求受信部１５０から取得したレスポンスを復号化し，レスポンス送信部１５４に提供する。
【００８４】
レスポンス送信部１５４は，レスポンス復号化部から取得したレスポンスを，通信網１０６を介して接続されており，復号化要求の送信元であるクライアント装置１０２に送信する。
【００８５】
以上，サーバ装置１０４の機能構成について説明した。次に，図７に基づいて，ＩＣチップ１１２の機能構成について説明する。ＩＣチップ１１２は，コマンド取得部１６０，コマンド復号化部１６２，コマンド実行部１６４，レスポンス暗号化部１６６，およびレスポンス提供１６８などを主に備える。
【００８６】
コマンド取得部１６０は，クライアント装置１０２からコマンドを取得し，コマンド復号化部１６２に提供する。コマンド復号化部１６２は，コマンド取得部１６０から取得したコマンドを復号化し，復号化したコマンドをコマンド実行部１６４に提供する。コマンド実行部１６４は，コマンドに対応する処理を実行し，処理結果であるレスポンスをレスポンス暗号化部１６６に提供する。詳細には，例えばコマンドが読み取りを指示するコマンドで，読み取りの対象領域がパラメータで指定されている場合には，コマンド実行部１６４は指定された領域に格納されているデータを読み取り，読み取ったデータをレスポンスとしてレスポンス暗号化部１６６に提供する。コマンドに対するレスポンスの具体例を図８に示した。コマンド１６６０は，コマンド実行部１６４により実行されたコマンドのコマンド名であり，実際の値１６０２は，コマンド実行部１６４がレスポンスとしてレスポンス暗号化部１６６に提供するデータである。
【００８７】
レスポンス暗号化部１６６は，コマンド実行部１６４から取得したコマンドを暗号化し，暗号化したレスポンスをレスポンス提供部１６８に提供する。レスポンス提供部１６８は，暗号化されたレスポンスをクライアント装置１０２に提供する。
【００８８】
なお，コマンド取得部１６０が取得したコマンドが暗号化されていない場合には，コマンドＩＣチップ１１２はレスポンスを暗号化しないままクライアント装置１０２に提供してもよい。
【００８９】
本実施形態にかかるＩＣチップ１１２としては，従来のサーバ主導の情報処理システムにおいて使用されるＩＣチップをそのまま用いることができる。
【００９０】
以上，ＩＣチップ１１２の機能構成について説明した。次に，図９に基づいて，情報処理システム１００における情報処理の流れについて説明する。
【００９１】
まず，クライアント装置１０２とサーバ装置１０４とが通信接続されて，必要に応じて相互認証が行われる（Ｓ１００）。次に，クライアント装置１０２が，ＩＣチップ１１２に実行させたい所定の処理に応じて，コマンドを指定する（Ｓ１０２）。そして，クライアント装置１０２は，指定したコマンドの生成および暗号化を要求する暗号化要求をサーバ装置１０４に送信する（Ｓ１０４）。
【００９２】
サーバ装置１０４は，暗号化要求を受信し，暗号化要求において指定されたコマンドを生成し（Ｓ１０６），生成したコマンドを暗号化する（Ｓ１０８）。暗号化要求に複数のコマンドが指定されている場合には，サーバ装置１０４はＳ１０６〜Ｓ１０８を複数回行い，複数の暗号化されたコマンドを生成する。そして，サーバ装置１０４は暗号化されたコマンドをクライアント装置１０２に送信する（Ｓ１１０）。
【００９３】
コマンドを受信したクライアント装置１０２は，必要に応じてコマンド単位に分割する（Ｓ１１２）。つまり，クライアント装置１０２がＳ１０４において複数のコマンドの暗号化要求を一度に送信した場合には，サーバ装置１０４はＳ１１０において対応する複数のコマンドを送信する。その場合に，クライアント装置１０２はＳ１１２のコマンド単位への分割を行う。続いて，クライアント装置１０２はコマンドをＩＣチップ１１２に提供する（Ｓ１１４）。コマンドがサーバ装置１０４により暗号化されている場合は，クライアント装置１０２は暗号化されたままの状態でコマンドをＩＣチップ１１２に提供する。
【００９４】
ＩＣチップ１１２は，クライアント装置１０２からコマンドを取得し，コマンドが暗号化されている場合には保有する鍵で復号化した後に，対応するコマンド処理を実行する（Ｓ１１６）。ＩＣチップ１１２は，コマンド処理の実行後，実行結果であるレスポンスを暗号化し（Ｓ１１８），暗号化したレスポンスをクライアント装置１０２に提供する（Ｓ１１２）。クライアント装置１０２は，ＩＣチップ１１２からレスポンスを取得し，必要に応じて複数のレスポンスを結合する（Ｓ１２２）。そして，クライアント装置１０２は暗号化されたレスポンスを含む，レスポンスの復号化要求をサーバ装置１０４に送信（Ｓ１２４）する。
【００９５】
サーバ装置１０４は，受信したレスポンスを復号化し（Ｓ１２６），復号化したレスポンスをクライアント装置１０２に送信する（Ｓ１２８）。
【００９６】
クライアント装置１０２は，復号化されたレスポンスを受信し，受信したレスポンスに基づいてコマンドを指定する（Ｓ１３０）。
【００９７】
以上，情報処理システム１００における情報処理の流れについて説明した。第１実施形態にかかる情報処理システム１００は，従来サーバ装置が行っていたコマンドの指定をクライアント装置１０２が行うようにしたことで，サーバ装置にかかる負荷を減少させることができる。
【００９８】
（第２実施形態）
第２実施形態かかる情報処理システムでは，ＩＣチップに所定の処理を実行させるための主なアプリケーションプログラムをクライアント装置が有している点は，第１実施形態と同様である。従来サーバ装置が行っていた，所定の処理の実行に必要な各コマンドの指定，生成，および暗号化のうち，第１実施形態では，コマンドの指定をクライアント装置１０２に行わせた。第２実施形態では，コマンドの指定および生成をクライアント装置に行わせる点で，第１実施形態と異なる。以下，第１実施形態との相違点を中心に第２実施形態について説明する。
【００９９】
まず，図１０に基づいて，第２実施形態にかかるクライアント装置２０２の機能構成について説明する。第１実施形態にかかるクライアント装置１０２と同一の機能を有するものには同一の符号を付しており，説明を省略する。
【０１００】
コマンド指定部２２２は，第１実施形態にかかるコマンド指定部２２２と同様に，処理別コマンド情報記憶部１２４に記憶される処理別コマンド情報を参照するなどして，ＩＣチップによる所定の処理の実行に必要な１以上のコマンドを指定する。コマンド指定部２２２は，指定したコマンドのコマンド名をクライアントコマンド生成部２２４に提供する。
【０１０１】
クライアントコマンド生成部２２４は，コマンド指定部２２２により指定されたコマンドを生成する。詳細には，クライアントコマンド生成部２２４は，第１実施形態にかかるサーバコマンド生成部１４２とほぼ同様に，コマンド変換情報記憶部１４４に格納されるコマンド変換情報に基づいて，コマンド指定部２２２により指定されたコマンドを生成する。クライアントコマンド生成部２２４は，生成したコマンドを暗号化要求送信部２２０に提供する。
【０１０２】
暗号化要求送信部２２０は，クライアントコマンド生成部２２４から取得したコマンドを含む，そのコマンドの暗号化要求をサーバ装置２０４に送信する。
【０１０３】
次に，本実施形態にかかるサーバ装置２０４の機能構成について説明する。第１実施形態にかかるサーバ装置１０４と同一の機能を有するものには同一の符号を付しており，説明を省略する。
【０１０４】
暗号化要求受信部２４０は，クライアント装置２０２から暗号化要求を受信する。この暗号化要求には，第１実施形態とは異なり，コマンド名ではなくコマンド自体が含まれている。暗号化要求受信部２４０は，取得したコマンドをコマンド暗号化部２４８に提供する。コマンド暗号化部２４８は，暗号化要求受信部２４０から取得したコマンドを暗号化し，コマンド送信部１４６に提供する。
【０１０５】
次に，図１２に基づいて，本実施形態における情報処理の流れについて説明する。まず，クライアント装置２０２とサーバ装置２０４とが通信接続され，必要に応じて相互認証が行われる（Ｓ２００）。次に，クライアント装置２０２がＩＣチップ１１２に実行させたい所定の処理に応じて，コマンドを指定する（Ｓ２０２）。続いて，クライアント装置２０２はＳ２０２で指定したコマンドを生成する（Ｓ２０４）。そして，クライアント装置２０２は，Ｓ２０４で生成したコマンドを含む，そのコマンドの暗号化を要求する暗号化要求をサーバ装置２０４に送信する（Ｓ２０６）。
【０１０６】
サーバ装置２０４は，暗号化要求を受信し，受信した暗号化要求に含まれるコマンドを暗号化する（Ｓ２０８）。そしてサーバ装置２０４は，暗号化したコマンドをクライアント装置２０２に送信する（Ｓ２１０）。以降の処理は，図９のＳ１１２からＳ１３０までの処理と同様であるため，説明を省略する。
【０１０７】
本実施形態にかかる情報処理システムでは，クライアント装置２０２とサーバ装置２０４との通信を管理するセッション情報をクライアント装置２０２側で管理することができる。そのため，クライアント装置２０２とサーバ装置２０４との通信接続が切断された場合でも，接続が再開された後に，切断前に実施されていた処理の続きを行うことができる。通信接続が切断された場合の処理の流れを図１３に示した。
【０１０８】
クライアント装置２０２が暗号化要求をサーバ装置２０４に送信する（Ｓ３００）。この暗号化要求は，クライアント装置２０２が指定して生成した３つのコマンド，コマンド１，コマンド２，およびコマンド３を含み，これら３つのコマンドの暗号化を要求する暗号化要求であるとする。暗号化要求の送信中に，クライアント装置２０２とサーバ装置２０４との通信接続が切断される。特に，暗号化要求の中でも，コマンド１およびコマンド２の送信後，コマンド３をクライアント装置２０２からサーバ装置２０４に送信している最中に通信接続が切断されたとする（Ｓ３０２）。
【０１０９】
その後，クライアント装置２０２とサーバ装置２０４との間の通信接続が再開されると，必要に応じて相互認証が行われる（Ｓ３０４）。そして，クライアント装置２０２は，管理しているセッション情報に基づいて，前回の通信接続時において，クライアント装置２０２とサーバ装置２０４との間での処理がどこまで終了しているのかを調べる。具体的には，クライアント装置２０２は，送信済みのコマンドを確認する（Ｓ３０６）。クライアント装置２０２は，送信済みのコマンドを確認することにより，コマンド１およびコマンド２の送信は完了していることが分かる。そこで，クライアント装置２０２は，前回完了していないコマンド３の送信を行う。詳細には，クライアント装置２０２は，コマンド３を含み，コマンド３の暗号化を要求する暗号化要求をサーバ装置２０４に送信する（Ｓ３０８）。サーバ装置２０４は，受信したコマンド（コマンド１，コマンド２，およびコマンド３）を暗号化し（Ｓ３１０），暗号化したコマンドをクライアント装置２０２に送信する（Ｓ３１２）。このように，クライアント装置２０２は，通信接続が切断される前にサーバ装置２０４との間で行っていた処理の続きを実行することができる。なお，第１実施形態におけるクライアント装置１０２も，ほぼ同様に，通信接続が切断される前にサーバ装置１０４との間で行っていた処理の続きを実行することができる。
【０１１０】
上記構成によれば，コマンドはクライアント装置２０２によって生成されるため，サーバ装置２０４は受信したコマンドを暗号化するだけでよく，コマンドの生成を行う必要はない。そのため，第１実施形態により生じる効果を同様に生じさせることができるとともに，第１実施形態の場合よりもさらにサーバにかかる負担を減少させることができる。
【０１１１】
以上，添付図面を参照しながら本発明の好適な実施形態について説明したが，本発明は係る例に限定されないことは言うまでもない。当業者であれば，特許請求の範囲に記載された範疇内において，各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【０１１２】
【図１】本発明の第１実施形態にかかる情報処理システムの全体構成を示す説明図である。
【図２】同実施の形態における情報処理システムの全体構成を示す説明図である。
【図３】同実施の形態におけるクライアント装置の機能構成を示すブロック図である。
【図４】同実施の形態における処理別コマンド情報を示す説明図である。
【図５】同実施の形態におけるサーバ装置の機能構成を示すブロック図である。
【図６】同実施の形態におけるコマンド変換情報を示す説明図である。
【図７】同実施の形態におけるＩＣチップの機能構成を示すブロック図である。
【図８】同実施の形態におけるレスポンスの一例を示す説明図である。
【図９】同実施の形態における情報処理の流れを示すタイミングチャートである。
【図１０】本発明の第２実施形態におけるクライアント装置の機能構成を示すブロック図である。
【図１１】同実施の形態におけるサーバ装置の機能構成を示すブロック図である。
【図１２】同実施の形態における情報処理の流れを示すタイミングチャートである。
【図１３】同実施の形態における情報処理の流れを示すタイミングチャートである。
【符号の説明】
【０１１３】
１００      情報処理システム
１０２，１０２ａ，１０２ｂ，２０２      クライアント装置
１０４，２０４      サーバ装置
１０６      通信網
１１０      アプリケーション
１１２      ＩＣチップ
１２０，２２０      暗号化要求送信部
１２２，２２２      コマンド指定部
１２４      処理別コマンド情報記憶部
１２６      コマンド受信部
１２８      コマンド分割部
１３０      コマンド利用部
１３２      レスポンス取得部
１３４      レスポンス結合部
１３６      復号化要求送信部
１３８      レスポンス受信部
１４０，２４０      暗号化要求受信部
１４２      サーバコマンド生成部
１４４      コマンド変換情報記憶部
１４６      コマンド送信部
１４８，２４８      コマンド暗号化部
１５０      復号化要求受信部
１５２      レスポンス復号化部
１５４      レスポンス送信部
１６０      コマンド取得部
１６２      コマンド復号化部
１６４      コマンド実行部
１６６      レスポンス暗号化部
１６８      レスポンス提供部
２２４      クライアントコマンド生成部
【図１】
2007086957.tif 000003
【図２】
2007086957.tif 000004
【図３】
2007086957.tif 000005
【図４】
2007086957.tif 000006
【図５】
2007086957.tif 000007
【図６】
2007086957.tif 000008
【図７】
2007086957.tif 000009
【図８】
2007086957.tif 000010
【図９】
2007086957.tif 000011
【図１０】
2007086957.tif 000012
【図１１】
2007086957.tif 000013
【図１２】
2007086957.tif 000014
【図１３】
2007086957.tif 000015