(57)【特許請求の範囲】
【請求項１】
センタと、インターネットを含むネットワークを介してＩＣカードの認証、及び該ＩＣカードの電子マネー操作を行う端末装置と、ＩＣカードからなるＩＣカード遠隔通信システムにおいて、該ネットワークを介して該ＩＣカードの認証、及び該ＩＣカード内の電子マネー操作を行うＩＣカード遠隔通信方法であって、
前記端末装置は、前記センタに対して、サービス要求を送信し、
前記センタは、前記ＩＣカードがセンタ認証を要求するためのセンタ認証要求コマンドを含む応答メッセージを生成し、前記端末装置に送信し、
前記端末装置は、前記センタからの前記応答メッセージを解析し、該応答メッセージ内に含まれるセンタ認証要求コマンドを取り出して、前記ＩＣカードに送信し、
前記ＩＣカードは、前記センタ認証要求コマンドを受け取ると、センタ認証のためのセンタ認証データを生成し、該センタ認証要求コマンドに対する応答として前記端末装置に送信し、
前記端末装置は、前記センタ認証要求コマンドに対する応答を前記センタに送信し、
前記センタは、前記センタ認証要求コマンドに対する応答を受け取ると、該応答に含まれるセンタ認証データと当該センタで秘匿する固有の情報を用いて特定の演算を行い、当該センタのみで作成可能なセンタレスポンスコマンドを作成し、該センタレスポンスコマンドと前記ＩＣカードでセンタ認証が成功した時のみに実行を行うコマンドからなるメッセージを生成し、前記端末装置に送信し、
前記端末装置は、前記メッセージを解析し、前記センタレスポンスコマンドと前記センタ認証が成功した時のみに実行を行うコマンドを取り出して、前記センタレスポンスコマンドを前記ＩＣカードに送信し、
前記ＩＣカードは、前記センタレスポンスコマンドの検証を行い、検証結果をセンタレスポンスコマンド応答として前記端末装置に送信し、
前記端末装置では、前記センタレスポンスコマンド応答を検査し、検査が失敗すれば前記センタ認証が成功した時のみに実行を行うコマンドの前記ＩＣカードへの送信を中止し、検査が成功したときのみ、前記センタ認証が成功した時のみに実行を行うコマンドを前記ＩＣカードへ送信し、
前記センタ認証が成功した時のみに実行を行うコマンドの送信及び応答が終了するか、前記センタレスポンスコマンド応答の検査が失敗した時に、受信した該センタレスポンスコマンド応答を前記センタに送信する
ことを特徴とするＩＣカード遠隔通信方法。
【請求項２】
前記端末装置と前記センタ間におけるメッセージの通信に、ｈｔｔｐ（Hyper Text Transfer Protocol）プロトコル上で、クライアント−サーバモデル形式のメッセージ体系を用いる、
請求項１記載の遠隔通信方法。
【請求項３】
センタと、インターネットを含むネットワークを介してＩＣカードの認証、及び該ＩＣカード内の電子マネー操作を行う端末装置と、ＩＣカードからなるＩＣカード遠隔通信システムであって、
前記端末装置は、
前記センタに対して、サービス要求を送信するサービス要求手段と、
前記サービス要求に対する前記センタからの応答メッセージを解析し、該応答メッセージ内に含まれるセンタ認証要求コマンドを取り出して、前記ＩＣカードに送信するセンタ認証要求コマンド送信手段と、
前記ＩＣカードからの前記センタ認証要求コマンドに対する応答を前記センタに送信するセンタ認証要求コマンド応答送信手段と、
前記センタからのメッセージを解析し、前記センタ認証要求コマンドに対する応答に基づき作成されたセンタレスポンスコマンドと前記ＩＣカードでセンタ認証が成功した時のみに実行を行うコマンドを取り出して、前記センタレスポンスコマンドを前記ＩＣカードに送信するコマンド抽出手段と、
前記ＩＣカードからの前記センタレスポンスコマンドの検証結果であるセンタレスポンスコマンド応答を検査し、検査が失敗すれば前記センタ認証が成功した時のみに実行を行うコマンドの前記ＩＣカードへの送信を中止し、検査が成功したときのみ、前記センタ認証が成功した時のみに実行を行うコマンドを前記ＩＣカードへ送信するコマンド送信制御手段と、
前記センタ認証が成功した時のみに実行を行うコマンドの送信及び応答の受信が終了するか、前記センタレスポンスコマンド応答の検査が失敗した時に、受信した該センタレスポンスコマンド応答を前記センタに送信するレスポンスコマンド応答送信手段と、を有し、
前記センタは、
前記端末装置から前記サービス要求を受信すると、前記ＩＣカードがセンタ認証を要求するためのセンタ認証要求コマンドを含む応答メッセージを生成し、前記端末装置に送信する応答メッセージ生成手段と、
前記端末装置から前記センタ認証要求コマンドに対する応答を受け取ると、該応答に含まれるセンタ認証データと当該センタで秘匿する固有の情報を用いて特定の演算を行い、当該センタのみで作成可能な前記センタレスポンスコマンドを作成し、該センタレスポンスコマンドと前記ＩＣカードでセンタ認証が成功した時のみに実行を行うコマンドからなるメッセージを生成し、前記端末装置に送信するセンタレスポンスコマンド生成手段と、を有し、
前記ＩＣカードは、
前記端末装置から前記センタ認証要求コマンドを受け取ると、センタ認証のためのセンタ認証データを生成し、該センタ認証要求コマンドに対する応答として該端末装置に送信するセンタ認証データ生成手段と、
前記端末装置から送信された前記センタレスポンスコマンドの検証を行い、検証結果を前記センタレスポンスコマンド応答として該端末装置に送信するセンタレスポンスコマンド検証手段と、を有する
ことを特徴とするＩＣカード遠隔通信システム。
【請求項４】
前記端末装置と前記センタ間におけるメッセージの通信に、ｈｔｔｐ（Hyper Text Transfer Protocol）プロトコル上で、クライアント−サーバモデル形式のメッセージ体系を用いる、
請求項３記載の遠隔通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＣカード遠隔通信方法及びシステムに係り、特に、インターネット等のネットワークを介してＩＣカードにアクセスを行うことでＩＣカードの認証や、ＩＣカード内電子マネーの操作（支払・チャージ等）を行う、ＩＣカード遠隔通信方法及びシステムに関する。
【０００２】
詳しくは、遠隔操作時にセンタ側からＩＣカードに対して複数コマンドの送信及び各コマンドに対する応答の受信が必要なシステムにおけるＩＣカード遠隔通信方法及びシステム及び端末装置に関する。
【０００３】
【従来の技術】
従来、インターネットなどのネットワークを介して、センタ側からＩＣカードに対して複数のコマンド及び各コマンドに対する応答の送受信を行なうシステム（例えば、認証コマンドをＩＣカードに送信して、認証が成功したときのみデータの読み書き・支払・チャージ等ができるようなＩＣカードを使ったシステム）では、コマンドに対するＩＣカードからの応答によりセンタ側で次の動作を決めるために、１コマンド毎にセンタ−ＩＣカード間でコマンド及び応答メッセージの送受信を行なう方法がある。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来の方法では、１コマンド毎にセンタ−ＩＣカード間でコマンド及び応答メッセージの送受信を行なっていると、送受信の度に、コマンドや応答のデータ以外のデータであるコネクション情報やヘッダ情報等のオーバヘッド情報の送受信を行なう必要があり、全てのコマンド及び応答メッセージの送受信を完了するのに時間がかかるという問題がある。
【０００５】
また、送受信の度に通信プロトコル起動のための時間や、中継ネットワーク上での遅延時間もかかるという問題がある。
【０００６】
本発明は、上記の点に鑑みなされたもので、通信のオーバーヘッドを無くし、短時間で複数のＩＣカードコマンド及び応答の送受信を可能とし、コマンドの応答に応じて、センタ側で次の動作を決定することを可能とし、ネットワークを介してセンタとＩＣカード間でコマンド・応答の送受信を行うＩＣカード遠隔通信方法及びシステムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
図１は、本発明の原理を説明するための図である。
【０００８】
本発明（請求項１）は、センタと、インターネットを含むネットワークを介してＩＣカードの認証、及び該ＩＣカードの電子マネー操作を行う端末装置と、ＩＣカードからなるＩＣカード遠隔通信システムにおいて、該ネットワークを介して該ＩＣカードの認証、及び該ＩＣカード内の電子マネー操作を行うＩＣカード遠隔通信方法であって、
端末装置は、センタに対して、サービス要求を送信し（ステップ１）、
センタは、ＩＣカードがセンタ認証を要求するためのセンタ認証要求コマンドを含む応答メッセージを生成し、端末装置に送信し（ステップ２）、
端末装置は、センタからの応答メッセージを解析し、該応答メッセージ内に含まれるセンタ認証要求コマンドを取り出して、ＩＣカードに送信し（ステップ３）、
ＩＣカードは、センタ認証要求コマンドを受け取ると、センタ認証のためのセンタ認証データを生成し、該センタ認証要求コマンドに対する応答として端末装置に送信し（ステップ４）、
端末装置は、センタ認証要求コマンドに対する応答をセンタに送信し（ステップ５）、
センタは、センタ認証要求コマンドに対する応答を受け取ると、該応答に含まれるセンタ認証データと当該センタで秘匿する固有の情報を用いて特定の演算を行い、当該センタのみで作成可能なセンタレスポンスコマンドを作成し、該センタレスポンスコマンドとＩＣカードでセンタ認証が成功した時のみに実行を行うコマンドからなるメッセージを生成し、端末装置に送信し（ステップ６）、
端末装置は、メッセージを解析し、センタレスポンスコマンドとセンタ認証が成功した時のみに実行を行うコマンドを取り出して、センタレスポンスコマンドをＩＣカードに送信し（ステップ７）、
ＩＣカードは、センタレスポンスコマンドの検証を行い、検証結果をセンタレスポンスコマンド応答として端末装置に送信し（ステップ８）、
端末装置では、センタレスポンスコマンド応答を検査し、検査が失敗すればセンタ認証が成功した時のみに実行を行うコマンドのＩＣカードへの送信を中止し、検査が成功したときのみ、センタ認証が成功した時のみに実行を行うコマンドをＩＣカードへ送信し（ステップ９）、
センタ認証が成功した時のみに実行を行うコマンドの送信及び応答が終了するか、センタレスポンスコマンド応答の検査が失敗した時に、受信した該センタレスポンスコマンド応答をセンタに送信する（ステップ１０）。
また、本発明（請求項２）は、端末装置と前記センタ間におけるメッセージの通信に、ｈｔｔｐ（Hyper Text Transfer Protocol）プロトコル上で、クライアント−サーバモデル形式のメッセージ体系を用いる。
図２は、本発明の原理構成図である。
【０００９】
本発明（請求項３）は、センタ３００と、インターネットを含むネットワーク４００を介してＩＣカードの認証、及び該ＩＣカード内の電子マネー操作を行う端末装置２００と、ＩＣカード１００からなるＩＣカード遠隔通信システムであって、
端末装置２００は、
センタ３００に対して、サービス要求を送信するサービス要求手段２０１と、
サービス要求に対するセンタ３００からの応答メッセージを解析し、該応答メッセージ内に含まれるセンタ認証要求コマンドを取り出して、ＩＣカード１００に送信するセンタ認証要求コマンド送信手段１０１と、
ＩＣカード１００からのセンタ認証要求コマンドに対する応答をセンタ３００に送信するセンタ認証要求コマンド応答送信手段２０３と、
センタ３００からのメッセージを解析し、センタ認証要求コマンドに対する応答に基づき作成されたセンタレスポンスコマンドとＩＣカードでセンタ認証が成功した時のみに実行を行うコマンドを取り出して、センタレスポンスコマンドをＩＣカード１００に送信するコマンド抽出手段２０４と、
ＩＣカード１００からのセンタレスポンスコマンドの検証結果であるセンタレスポンスコマンド応答を検査し、検査が失敗すればセンタ認証が成功した時のみに実行を行うコマンドのＩＣカード１００への送信を中止し、検査が成功したときのみ、該センタ認証が成功した時のみに実行を行うコマンドをＩＣカードへ送信するコマンド送信制御手段２０５と、
センタ認証が成功した時のみに実行を行うコマンドの送信及び応答が終了するか、センタレスポンスコマンド応答の検査が失敗した時に、受信した該センタレスポンスコマンド応答をセンタ３００に送信するレスポンスコマンド応答送信手段２０６と、を有し、
センタ３００は、
端末装置２００からサービス要求を受信すると、ＩＣカードがセンタ認証を要求するためのセンタ認証要求コマンドを含む応答メッセージを生成し、端末装置２００に送信する応答メッセージ生成手段３０１と、
端末装置２００からセンタ認証要求コマンドに対する応答を受け取ると、該応答に含まれるセンタ認証データと当該センタで秘匿する固有の情報を用いて特定の演算を行い、当該センタのみで作成可能なセンタレスポンスコマンドを作成し、該センタレスポンスコマンドとＩＣカードでセンタ認証が成功した時のみに実行を行うコマンドからなるメッセージを生成し、端末装置２００に送信するセンタレスポンスコマンド生成手段３０２と、を有し、
ＩＣカード１００は、
端末装置２００からセンタ認証要求コマンドを受け取ると、センタ認証のためのセンタ認証データを生成し、該センタ認証要求コマンドに対する応答として該端末装置２００に送信するセンタ認証データ生成手段１０１と、
端末装置２００から送信されたセンタレスポンスコマンドの検証を行い、検証結果をセンタレスポンスコマンド応答として該端末装置２００に送信するセンタレスポンスコマンド検証手段１０２と、を有する。
また、本発明（請求項４）は、端末装置２００とセンタ３００間におけるメッセージの通信に、ｈｔｔｐ（Hyper Text Transfer Protocol）プロトコル上で、クライアント−サーバモデル形式のメッセージ体系を用いる。
【００１１】
上記のように、本発明では、ＩＣカードが接続されるＩＣカードリーダライタを持つ端末と、ＩＣカード制御を行なうセンタとの間の通信において、端末からセンタにＩＣカードサービス（電子マネーの支払・チャージ・ＩＣカード認証など）の要求があったときに、センタから端末に対する同一通信メッセージ上に、複数のＩＣカードコマンドと、各コマンドに対応したＩＣカードの応答に対する検査情報とを乗せて送信する。
【００１２】
端末では、受け取った複数のＩＣカードコマンドを、ＩＣカードに対して順番に一つずつ送信、及びＩＣカードからの応答データ受け取りを行い、コマンド数分、送信、応答・受け取りを繰り返す。
【００１３】
この際に、端末では、ＩＣカードからのコマンドに対する応答データを受け取った時点で、センタから受信したコマンドに対応する検査情報から応答データ（ステータス等）の検査を行い、もし、検査が失敗すれば、残りのコマンドのＩＣカードへの送信は行なわずに、残りのコマンドに対する応答データは無しとする。
【００１４】
端末ですべてのＩＣカードコマンドの送信及びＩＣカードからの応答データ受け取りが完了するか、いずれかの応答データの検査が失敗すると、センタのメッセージに対する応答として、それぞれのＩＣカードコマンドに対する応答データを、各ＩＣカードコマンドに対応させて応答メッセージとして送信する。
【００１５】
センタでは、応答メッセージでＩＣカードコマンドに対する応答データを受け取ると、全てのＩＣカードコマンドに対する応答データがあるかを検査し、全ての応答データがあれば、ＩＣカードが正常に動作していると認識して、応答データに応じたサービスを提供する。
【００１６】
また、ＩＣカードコマンドに対する応答データが全て揃っていないときは、ＩＣカードへのアクセスが失敗したと解釈し、処理を中断したり、再開処理を行なう。
【００１７】
上記により、ＩＣカードコマンドを複数同時に送信できるため、通信や処理のオーバヘッドが無くなり、短時間で複数のＩＣカードコマンド及び応答の送受信が可能になると共に、処理失敗時には、ＩＣカードに対して不要なコマンドをＩＣカードに送ることを抑制できるため、無駄な時間を使ったり、処理失敗時の誤動作等を防止することが可能となり、センタ側でＩＣカードからのコマンド応答に応じた次の動作を完全に決定することが可能となる。
【００１８】
【発明の実施の形態】
以下、図面と共に本発明の実施の形態を説明する。
【００１９】
図３は、本発明の前提となるシステム構成を示す。
【００２０】
同図に示すように、本発明のシステムでは、ＩＣカード１００と、ＩＣカード１００が結合される端末２００と、センタ３００からなり、端末２００とセンタ３００との間は、インターネットのようなネットワーク４００で接続されており、ネットワークの通信速度は、ＩＣカードの処理に比べてあまり速くなかったり、遅延がある程度あることを想定している。
【００２１】
また、当該システムでは、ＩＣカード１００が端末２００に結合されたときに、センタ３００と端末２００間で通信を行い、センタ３００からＩＣカード１００の制御を行なうことで、センタ３００からのサービスを提供することを前提としている。
【００２２】
図４は、本発明の一実施の形態におけるメッセージシーケンスチャートである。
【００２３】
まず、端末２００から何等かのサービス要求があったとき（ステップ１０１）、センタ３００では、要求されたサービスを実現するための複数のＩＣカードコマンドと、ＩＣカードコマンド実行時の検査情報を含むメッセージの生成を行い（ステップ１０２）、生成された複数のＩＣカードコマンドと検査情報を含むメッセージを端末２００に送信する（ステップ１０３）。この時に、表示情報を併せて送信してもよい。
【００２４】
端末２００では、複数のＩＣカードコマンドと検査情報を受け取ると、まず、初めに、初めのＩＣカードコマンドをＩＣカード１００に送信する（ステップ１０４）。ＩＣカード１００からの応答を受け取ると（ステップ１０５）、端末２００では、ＩＣカードコマンドに対応してセンタ３００から受信した検査情報を使用して、応答時のステータス等と比較する等により応答検査を行なう（ステップ１０６）。
【００２５】
応答検査が成功すると、センタ３００から受け取った次のＩＣカードコマンドをＩＣカード１００に送信して（ステップ１０７）、ステップ１０４の時と同様の手順を受け取ったコマンド数分繰り返す（ステップ１０８、ステップ１０９）。なお、対応する検査情報のついていないＩＣカードコマンドの場合には、応答検査を行なわない（ＩＣカードコマンドｎ，ＩＣカードコマンドｎ応答）。
【００２６】
また、応答検査が失敗すると、ＮＧに進み、以後のＩＣカードコマンドの送信は行なわずに、ＩＣカード処理を終了する。
【００２７】
全ての受け取ったＩＣカードコマンドの送信が終了するか、いずれかで応答検査が失敗することで、ＩＣカード処理が終了すると、すべてのＩＣカードコマンドに対するＩＣカード１００からの応答データをセンタ３００に送信する（ステップ１１０）。
【００２８】
センタ３００では、ＩＣカードコマンドに対する応答が得られると、どのコマンドまで応答が得られたか、応答データが正しいかを検査し（ステップ１１１）、期待通りの応答が得られているときには、要求されたサービスを提供するが（ステップ１１２）、期待通りにコマンドの応答が得られていなかったりした場合には、サービスの提供を中止したり、再開処理を行なったりする。
【００２９】
【実施例】
以下、図面と共に本発明の実施例を説明する。
【００３０】
図５は、本発明の一実施例のシステム構成を示す。
【００３１】
同図に示すように、本実施例のシステムは、ＩＣカード１００、端末２００、電子マネーセンタ３００とから構成されるＩＣカードを使用した電子マネーのシステムを前提としており、商品購入時等の支払にあたっては、事前にＩＣカード１００にチャージ（入金）されている価値情報から支払われることを前提としている。
【００３２】
また、支払時には、支払処理を行なう電子マネーセンタ３００の認証をＩＣカード１００から行なうことが必須であり、センタ３００の認証が成功したときにのみ、価値情報を証明する電子マネーデータの受渡しが可能になることを前提としている。
【００３３】
また、端末２００と電子マネーセンタ３００との間は、インターネットのようなネットワーク４００で接続されており、ネットワークの通信速度は、ＩＣカード１００の処理に比べてあまり速くなかったり、遅延がある程度あることを想定している。
【００３４】
ＩＣカード１００は、電子マネーの支払に利用され、端末２００のＩＣカードリーダライタ２２０に挿入されることで端末２００と通信を行い、端末２００からのコマンドを受け付けることで電子マネーセンタ認証、電子マネー発行等を行なう機能を持つが、電子マネーセンタ認証が完了しないと電子マネーの発行を抑制する機能も持つ。
【００３５】
端末２００は、電子マネーセンタ３００と通信を行なうための通信部２１０とＩＣカード１００と通信を行なうためのＩＣカードリーダライタ２２０と、電子マネーセンタ３００からの表示情報などを表示するための表示部２３０と、ユーザのメニュー操作等を受け付ける入力部２４０と、電子マネーセンタ３００からのメッセージを解釈して、メッセージ中の複数のＩＣカードコマンドを順次処理して処理結果を電子マネーセンタ３００に送信すると共に、メッセージ中の表示情報については、表示部２３０に出力を行なうＩＣカード制御機能付きブラウザ２５０とからなる。
【００３６】
電子マネーセンタ３００は、端末２００と通信を行なうための通信部３１０と、端末２００から電子マネー支払要求に基づき、端末２００を介してＩＣカード１００に電子マネー発行のための複数のコマンドを送信すると共に、ＩＣカードからの応答を解釈して応答に応じた制御を行なうことで電子マネーの支払制御を行なうサービス制御部３２０とからなる。
【００３７】
また、当該システムでは、ＩＣカード１００が端末２００に結合されたときに、ユーザのメニュー選択などにより支払選択操作がされたことを契機として、端末２００からセンタ３００に対して支払制御要求が送信され、センタ３００からは端末２００を介してＩＣカード１００の制御が行なわれることで、ＩＣカード１００から電子マネー情報が発行されて、センタ３００に渡され、このことにより、電子マネーによる支払が完了することを前提としている（なお、電子マネーセンタ３００では、事後に支払先との間で精算が行なわれることを想定している）。
【００３８】
次に、上記のシステムにおける動作を説明する。
【００３９】
図６は、本発明の一実施例のシステムにおけるメッセージシーケンスチャートである。
【００４０】
まず、ユーザにより端末２００の入力部２４０からの入力を受け付けることにより、電子マネーを支払を決定する操作が行なわれ、支払額と支払先を取得する（ステップ２０１）。例えば、インターネット上の商品購入に対する支払等の場合には、入力部２４０からの入力操作によって、ＩＣカード制御機能付きブラウザ２５０から、ＷＷＷ（World Wide Web) へアクセスすることで、商品が選択され、商品選択時の支払情報として支払額・支払先を伴った電子マネーセンタ３００へのアクセス情報を取得することが考えられる。
【００４１】
支払のための情報（支払額，支払先、電子マネーセンタ３００へのアクセス情報）が得られると、端末２００は、支払額と支払先を電子マネーセンタ３００に通知する（ステップ２０２）。ＷＷＷによる支払の場合には、支払制御要求に対応する電子マネーセンタ３００のＵＲＬ（Uniform  Resource  Locator）に対して、支払額と支払先がＨＴＴＰ（Hyper  Text  Transfer  Protocol）のＰＯＳＴメッセージ等により送信されることになる。
【００４２】
電子マネーセンタ３００では、端末２００からの支払制御要求を受け付けると、ＩＣカード１００からセンタ認証を要求するセンタ認証要求コマンドと表示情報を含むメッセージを生成し（ステップ２０３）、生成されたセンタ認証要求コマンドを端末２００に送信する（ステップ２０４）。ＷＷＷによる支払処理の場合には、ステップ２０２の支払制御要求で受けたＨＴＴＰのＰＯＳＴ等の要求メッセージに対する応答メッセージ（センタ認証要求コマンド）（ＨＴＭＬ［Hyper Text Markup Language］のコンテンツ等) として送信が行なわれる（ステップ２０４）。
【００４３】
図７は、本発明の一実施例のセンタ認証要求コマンド送信時のメッセージの例を示す。同図に示すメッセージの例は、ＨＴＭＬ形式を採っており、＜ＳＬＥＣＰ＞から＜／ＳＬＥＣＰ＞以外の部分は、通常のＨＴＭＬ文書として、ＩＣカード制御機能付きブラウザ２５０で解釈され、表示されることとなる。
【００４４】
また、＜ＳＬＥＣＰ＞と＜／ＳＬＥＣＰ＞のタグに挟まれたデータは、ＩＣカード１００へのコマンド実行に関する情報であり、
・データ内の第１行目（ＭＥＴＨＯＤ＝“ＰＯＳＴ”；"http://aaa.bbb.com/";) は、応答先情報（送信先ＵＲＬがhttp://aaa.bbb.com/", 送信方法が“ＰＯＳＴ”）を表している。
【００４５】
・１行空けて次の行（ＮＡＭＥ＝“SessionNo"; ＶＡＬＵＥ＝“00000221”; ）は、セッション情報を表しており、応答の送信時に“SessionNo=00000221”として電子マネーセンタ３００に送信される。
【００４６】
・さらに１行空けて次の行（ＮＡＭＥ＝“ＡＵＴＨＲＥＱＵＥＳＴ”；ＣＭＤ＝“AuthRequest ”；）は、ＩＣカードコマンドを表しており、“ＣＭＤ＝”で指定されている“AuthRequest ”は、ＩＣカード１００に送られるセンタ認証用要求コマンドである。また、“ＮＡＭＥ＝”で指定された“ＡＵＴＨＲＥＱＵＥＳＴ”は、AuthRequest に対するＩＣカード１００の応答データを電子マネーセンタ３００に送信する際に、応答データの識別子として使用（“ＡＵＴＨＲＥＱＵＥＳＴ＝応答データ”として使用）される。
【００４７】
端末２００でセンタ認証要求コマンドを受け取ると、端末２００は、ＩＣカード制御機能付きブラウザ２５０にて電子マネーセンタ３００から受信したメッセージを解析し（ステップ２０５）、メッセージ内の表示情報を表示部２３０に画面表示を行うと共に（ステップ２０６）、メッセージ内のＩＣカードコマンドであるセンタ認証要求コマンドを取り出して、取り出したセンタ認証要求コマンドをＩＣカード１００に送信する（ステップ２０７）。
【００４８】
図７の例では、表示部２３０に『電子マネー支払：電子マネーセンタ認証中』が表示される共に、“AuthRequest"が送信されることになる。
【００４９】
ＩＣカード１００では、センタ認証要求コマンドを受け取ると、センタ認証のためのデータ生成を行い（ステップ２０８）、生成されたデータをセンタ認証データとして端末２００に送信する（ステップ２０９）。なお、ここで、センタ認証データは、センタ３００からセンタ認証データに対応する正しい応答が得られるかを検証するために使用され、センタ３００では、センタ認証データとセンタ３００で秘匿する固有の情報とを使って特定の演算（一方向関数や暗号化関数等の演算）をすることによって、センタ３００のみで作成可能な応答データを作成することになる。
【００５０】
ＩＣカード１００からセンタ認証要求コマンドに対する応答として、センタ認証要求コマンド応答（ステータス、認証データ）が得られると、端末２００では、得られた応答を電子マネーセンタ３００にセンタ認証要求コマンド応答としてＩＣカード１００から得られたデータを送信する（ステップ２１０）（なお、センタ認証要求コマンド応答では、センタ認証要求コマンドに対する検査情報がついていないため、ＩＣカードからの応答に対する端末での制御は行なっていない）。
【００５１】
図８は、本発明の一実施例のセンタ認証要求コマンドの応答の例を示す。同図に示す応答は、図７の例に対応する端末から電子マネーセンタ３００に送られるセンタ認証要求コマンド応答であり、ＩＣカード１００から得られたセンタ認証要求コマンド応答（ステータス、認証データ）のデータ（ステータス；認証データ）が“00;aihg25984lk2382klq34t8733245891" であったときのメッセージ形式を示している。図７の例では、図８のデータが"http://aaa.bbb.com/" のＵＲＬ宛にＨＴＴＰプロトコルのＰＯＳＴメソッドで送信されることになる。
【００５２】
電子マネーセンタ３００でセンタ認証要求コマンド応答を受け取ると、センタレスポンス生成として、ＩＣカード１００から得られたセンタ認証データから、センタスポンスの生成を行なう（ステップ２１１）。
【００５３】
センタレスポンスの生成は、センタ認証データとセンタ３００で秘匿する固有の情報とを使って特定の演算（一方向関数や暗号化関数等の演算）をすることによって、センタ３００のみで作成可能な応答データを作成する（ＩＣカード１００からのセンタ認証データに対して送信したセンタ認証データから、正当なセンタレスポンスが作成できるかをＩＣカード１００で調べることで、ＩＣカード１００からセンタ認証を行なおうとしており、チャレンジ＆レスポンスとして知られる認証方法を行なっている）。
【００５４】
また、センタレスポンスが作成されると、センタ３００では、生成したセンタレスポンスを含むセンタレスポンスコマンドと、ＩＣカード１００でセンタ認証が成功したときにのみ実行を行なう電子マネー発行コマンドとからなるメッセージを生成し（ステップ２１２）、端末２００に送信する（ステップ２１３）。
【００５５】
図９は、本発明の一実施例のセンタレスポンスコマンド・電子マネー発行コマンドの例を示す。同図では、図７と同様に、ＨＴＭＬ形式の例であり、＜ＳＬＥＣＰ＞から＜／ＳＬＥＣＰ＞以外の部分は通常のＨＴＭＬ文書として、ＩＣカード制御機能付きブラウザ２５０で解釈され、表示されることとなる。
【００５６】
また、＜ＳＬＥＣＰ＞と＜／ＳＬＥＣＰ＞のタグに挟まれたデータは、ＩＣカード１００へのコマンド実行に関する情報であり、
・データ内の第１行目（ＭＥＴＨＯＤ＝“ＰＯＳＴ”；ＵＲＬ＝"http://aaa.bbb.com/";）は、応答の送信先情報（送信先ＵＲＬがhttp://aaa.bbb.com/"、送信方法が“ＰＯＳＴ”）を表している。
【００５７】
・１行空けて次の行（ＮＡＭＥ＝"SessionNo";ＶＡＬＵＥ"00000221"; ）は、セッション情報を表しており、応答の送信時に"SessionNo=00000221"として電子マネーセンタ３００に送信されることで、センタ側で図７のセンタ認証要求コマンドと同一セッションであることがわかる。
【００５８】
・さらに、１行空けて次の行（ＮＡＭＥ“ＡＵＴＨＲＥＳＰＯＮＳＥ”；ＣＭＤ＝"AuthResponse1a38csana4812a823da42gd" ＣＨＥＣＫ＝"00";)は、ＩＣカードコマンドを表しており、“ＣＭＤ＝”で指定されている“AuthResponse 1a38csana4812a823da42gd" は、ＩＣカード１００に送られる“センタレスポンスコマンド”である。"1a38csana4812a823da42gd" は、センタで生成されたセンタレスポンスを示している。また、“ＮＡＭＥ＝”で指定された“ＡＵＴＨＲＥＱＵＥＳＴ”は、AuthResponseに対するＩＣカード１００の応答データを電子マネーセンタ３００に送信する際に、応答データの識別子として使用（“ＡＵＴＨＲＥＳＰＯＮＳＥ＝応答データ”として使用）される。また、“ＣＨＥＣＫ＝”で指定されている  “００”は、ＩＣカード１００からの当該コマンドに対する応答内のステータスが“００”であったときのみ次のコマンド（ＥＣＥmission ）を実行することを示す検査情報であり、端末のＩＣカード制御機能付きブラウザ２５０により制御される（詳細については、“応答検査”の説明で述べる）。
【００５９】
・次の行（ＮＡＭＥ＝“ＥＣＥＭＩＳＳＩＯＮ”；ＣＭＤ＝“ＥＣＥmission 100,32498598723446823"；）は、ＩＣカードコマンドを表しており、“ＣＭＤ＝”で指定されている“ＥＣＥmission100,32498598723446823”は、ＩＣカード１００に送られる“電子マネー発行コマンド”である。（"100,3249859872344682"は、パラメータを示しており、支払先が"3249859872344682"である１００円分の電子マネーを要求している。）また、“ＮＡＭＥ＝”で指定された“ＥＣＥ；ＭＩＳＳＩＯＮ”は、ＥＣＥmission に対するＩＣカードの応答データを電子マネーセンタ３００に送信する際に、応答データの識別子として使用（“ＥＣＥＭＩＳＳＩＯＮ＝応答データ”として使用）される。
【００６０】
端末２００で、“センタレスポンスコマンド、電子マネー発行コマンド”を受け取ると（ステップ２１３）、ＩＣカード制御機能付きブラウザ２５０にて電子マネーセンタ３００から受信したメッセージを解析することで（ステップ２１４）、メッセージ内の表示情報を表示部２３０に画面表示を行なう（ステップ２１５）と共に、メッセージ内のＩＣカードコマンドであるセンタレスポンスコマンドと、電子マネー発行コマンドを取り出し、取り出したコマンドを順番にＩＣカードに送信することになる（ステップ２１６）。
【００６１】
図９の例では、表示部２３０に、“電子マネー支払：電子マネー生成中”が表示されると共に、“AuthResponse 1a38csana4812a823da42gd" と“ＥＣＥmission 100,32498598723446823 ”が順番に送信されることになる。
“センタレスポンスコマンド”は、“AuthREsponse 1a38csana4812a823da42gd”の送信を示している。
【００６２】
ＩＣカード１００では、“センタレスポンスコマンド”を受け取ると、“センタレスポンス検証”でセンタから得られたレスポンスデータ（図９の例では、"1a38csana4812a823da42gd")の検証を行ない（ステップ２１７）、検証結果を“センタレスポンスコマンド応答（ステータス、応答データ）”として端末２００に送信する（ステップ２１８）。なお、ここで、センタレスポンス検証は、センタ３００からセンタ認証データに対応する正しい応答（センタレスポンス）が得られたかを検証するが、センタ３００と同様な演算を行なったり、ディジタル署名の検証などを行なうことで検証は可能である（検証方法については、本発明の範囲外であるため、詳細な説明は省略する）。
【００６３】
ＩＣカード１００から“センタレスポンスコマンド応答（ステータス、応答データ）”を受け取ると、端末２００では、“応答検査”でセンタレスポンスコマンド応答内のデータであるステータスの検査を行なう（ステップ２１９）。図９の例では、ステータスの検査は、センタレスポンスコマンドに付随する“ＣＨＥＣＫ＝００”の“００”とステータスを比較して、一致すれば検査成功となり、一致しなれば検査が失敗となる。（なお、センタレスポンスコマンド応答では、センタレスポンスコマンドに対する検査情報“ＣＨＥＣＫ＝００”が付いているため、ＩＣカード１００からの応答に対する端末での制御を行なっている。）
応答検査が失敗すると、ＮＧに進み、以降のコマンドを全て（ここでは、“電子マネー発行コマンド”）とばして、ステップ２２３（応答結合）に進む。（失敗時に以降のコマンドをとばすことで、誤ったコマンドをＩＣカード１００に送出するのを防ぎ、誤動作などを防ぐためである。）
端末２００では、応答検査が成功すると、ＯＫに進み、次のコマンドである“電子マネー発行コマンド”をＩＣカード１００に送信する（ステップ２２１）。
ＩＣカード１００では、“電子マネー発行コマンド（図９の例では、“ＥＣＥmission100,32498598723446823" ）を受け取ると、要求された額（図９の例では、１００円分）の電子マネーを生成し、生成した電子マネー情報を“電子マネー発行コマンド応答（ステータス、電子マネー情報）”で端末２００に送信する（ステップ２２２）。（電子マネーの生成方法は、本発明の範囲外であるため、詳細な説明は省略する。）
次に、端末２００では、応答結合として、全てのコマンドからの応答（ここでは、センタレスポンスコマンド応答と電子マネーコマンド応答）が得られると、センタ３００に送信する形式にして全ての応答を結合し（ステップ２２３）、“センタレスポンスコナンド応答、電子マネー発行コマンド応答”でセンタ３００に送信される（ステップ２２４）。
【００６４】
なお、応答検査が失敗した場合には、実行されなかったコマンドに対応する応答は空となる。
【００６５】
図１０は、本発明の一実施例の応答検査で成功した場合のセンタレスポンスコマンド応答・電子マネー発行コマンド応答の例を示す。同図に示す例は、図９の例に対応する端末２００から電子マネーセンタ３００に送られる応答の例であり、図１０では、ＩＣカード１００から得られた“センタレスポンスコマンド応答（ステータス、応答データ）”のデータ（ステータス；応答データ）が、"00;ahdw" で、“電子マネー発行コマンド応答（ステータス、電子マネー情報）”のデータ（ステータス；電子マネー情報）が、"00;d2s1ds4sdf232fds53agfa12ajr2hq23" であったときのメッセージ形式を示している。図９の例で応答検査成功時には、図１０の形式のデータが“http://aaa.bbb.com/"のＵＲＬ宛にＨＴＴＰプロトコルのＰＯＳＴメソッドで送信されることになる（ステップ２２４）。（センタレスポンスコマンド応答のステータスが"00"であるため、応答検査に成功して、電子マネー発行コマンドを行なっている。）
図１１は、本発明の一実施例の応答検査で失敗した場合の電子マネーセンタに送られるセンタレスポンス応答・電子マネー発行コマンド応答を示す。同図では、ＩＣカード１００から得られた“センタレスポンスコマンド応答（ステータス、応答データ）”のデータ（ステータス；応答データ）が、"00;ahdw" であったときのメッセージ形式を示している。図９の例で応答検査失敗時には、図１１の形式のデータが"http://aaa.bbb.com/" のＵＲＬ宛にＨＴＴＰプロトコルのＰＯＳＴメソッドで送信されることになる。（センタレスポンスコマンド応答のステータスが"ff"であるため、応答検査に失敗して電子マネー発行コマンドを行なっていない。）
電子マネーセンタ３００は、端末２００から“センタレスポンスコマンド応答、電子マネー発行コマンド応答”を受け取ると、受け取った“センタレスポンスコマンド応答、電子マネー発行コマンド応答”を解析して電子マネー情報が取得できたか（図９の例では、ＥＣＥＭＩＳＳＩＯＮに対応する値が入っているか）を調べ（ステップ２２５）、電子マネー情報が取得できている場合には、取得した電子マネーの検査を行なったり、支払先への支払処理（電信による振込や、後払いの場合には、データベースの支払合計額への加算など）を行なうことで、決済処理を行い（ステップ２２６）、処理が完了すると、支払完了通知を端末２００に送信する（ステップ２２７）。
【００６６】
端末２００では、支払完了通知を受け取ると、ＩＣカード制御機能付きブラウザ２５０にて電子マネーセンタ３００から受信したメッセージを解析する（ステップ２２８）ことで、メッセージ内の表示情報を表示部２３０に画面表示を行なう（ステップ２２９）。（ここでは、ＩＣカードコマンドが含まれてなく、表示情報だけであることを想定している。）
次に、上記の端末２００の動作を詳細に説明する。
【００６７】
図１２は、本発明の一実施例の端末の動作のフローチャートである。
【００６８】
なお、以下に示す動作は、ｈｔｔｐプロトコルにより端末−電子マネーセンタ間でＷＷＷの通信を行なうことを前提として説明する。
【００６９】
まず、ユーザが端末２００の入力部２４０を使用して接続先指定などの操作を行い、電子マネーセンタ３００等へのＷＷＷでの接続指示を行なう（ステップ３０１）。
【００７０】
端末２００では、ＷＷＷの接続指示を受け付けると、指定された接続先への接続を行い（ステップ３０２）、接続先からｈｔｍｌ文書の取得を行なう。
【００７１】
なお、ＩＣカード１００内に接続先情報を保持しておき、端末２００で接続先情報を読み出すことで、自動的に接続するように構成してもよい。
【００７２】
端末２００は、接続先からｈｔｍｌ文書を受信すると（ステップ３０３）、ＩＣカード制御機能付きブラウザ２５０にて受信したメッセージ（ｈｔｍｌ文書）を解析することで、メッセージ内の表示情報を取り出し（ステップ３０４）、表示部２３０に表示する（ステップ３０５）と共に、メッセージ内のＩＣカードコマンドを取り出す。ＩＣカードコマンドは、含まれていないこともあれば、１つ、または、複数含まれていることもある。また、ＩＣカードコマンドに対応して検査情報が付随しているものもあれば、付随していないものもある。メッセージ内にＩＣカードコマンドが含まれていないときには、処理を終了する（ステップ３０６、Ｎｏ）。
【００７３】
メッセージ内にＩＣコマンドが含まれているときには（ステップ３０６，Ｙｅｓ）、取り出したＩＣカードコマンドの処理に入る。
【００７４】
まず、メッセージ内から取り出した複数のＩＣカードコマンドの中で、ＩＣカード１００に未送信のＩＣカードコマンドを先頭から１つ取り出し、ＩＣカードリーダライタ２２０を使用してＩＣカード１００に送る（ステップ３０７）。
【００７５】
また、送信したＩＣカードコマンドに対応する応答をＩＣカード１００から受け取る（ステップ３０８）。
【００７６】
ここで、送信したＩＣカードコマンドに対して検査情報が付随しており、検査情報と受け取った応答の特定箇所が合致するなどにより検査が成功すれば、ステップ３１０に移行する（ステップ３０９、Ｙｅｓ）。また、送信したＩＣカードコマンドに対して検査情報が付随しており、検査情報と受け取った応答の特定箇所が合致しないなどにより検査が失敗すれば（ステップ３０９，Ｎｏ）、以後の未送信のＩＣカードコマンドに対する処理を行なわない。
【００７７】
図９の例では、センタレスポンスコマンドに付随する“ＣＨＥＣＫ＝００”が検査情報であり、“００”と応答内のステータスを比較して、一致すれば検査成功となり、一致しなければ検査が失敗となる。
【００７８】
また、送信したＩＣカードコマンドに対して検査情報が付随していない場合も、ステップ３１０に移行する。なお、このときは、検査を省略する。
【００７９】
次に、未送信のＩＣカードコマンドがあるかを検査し、ある場合には、ステップ３０７のＩＣカードコマンド送信の処理に戻り、未送信のＩＣカードコマンドが無くなるか、ステップ３０９のＩＣカードコマンド応答検査において、Ｎｏになるまで繰り返す。
【００８０】
未送信のＩＣカードコマンドが無くなるか、ステップ３０９のＩＣカードコマンド応答検査においてＮｏになった時は、センタ３００から受信したＩＣカードコマンドに対するＩＣカードの応答をセンタ３００に送信（ｈｔｔｐプロトコルのＰＯＳＴメソッド等で送信）し（ステップ３１１）、ステップ３０３のＷＷＷ応答受信の処理に移行し、センタ３００からの受信を受け取り、以降の処理を繰り返す。
【００８１】
なお、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【００８２】
【発明の効果】
上述のように、本発明によれば、ＩＣカードコマンドを複数同時に送信できるため、通信や処理のオーバーヘッドが無くなり、短時間で、複数のＩＣカードコマンド及び応答の送受信が可能になると共に、処理失敗時には、ＩＣカードに対して不要なコマンドをＩＣカードに送ることを抑制できるため、無駄な時間を使ったり、処理失敗時の誤動作等を防止することができるため、センタ側でＩＣカードからのコマンド応答に応じた次の動作を完全に決定することが可能となる。
【図面の簡単な説明】
【図１】本発明の原理を説明するための図である。
【図２】本発明の原理構成図である。
【図３】本発明の前提となるシステム構成図である。
【図４】本発明の一実施の形態におけるメッセージシーケンスチャートである。
【図５】本発明の一実施例のシステム構成図である。
【図６】本発明の一実施例のシステムにおけるメッセージシーケンスチャートである。
【図７】本発明の一実施例のセンタ認証要求コマンド送信時のメッセージの例である。
【図８】本発明の一実施例のセンタ認証要求コマンド応答の例でる。
【図９】本発明の一実施例のセンタレスポンスコマンド・電子マネー発行コマンドの例である。
【図１０】本発明の一実施例の応答検査で成功した場合のセンタレスポンスコマンド応答・電子マネー発行コマンドの応答の例である。
【図１１】本発明の一実施例の応答検査で失敗した場合のセンタレスポンスコマンド応答・電子マネー発行コマンドの例である。
【図１２】本発明の一実施例の端末の動作のフローチャートである。
【符号の説明】
１００  ＩＣカード
１０１  センタ認証データ生成手段
１０２  センタレスポンスコマンド検証手段
２００  端末装置、端末
２０１  サービス要求手段
２０２  センタ認証要求コマンド送信手段
２０３  センタ認証要求コマンド応答送信手段
２０４  コマンド抽出手段
２０５  コマンド送信制御手段
２０６ レスポンスコマンド応答送信手段
２１０  通信部
２２０  ＩＣカードリーダ
２３０  表示部
２４０  入力部
２５０  ＩＣカード制御機能付きブラウザ
３００  センタ
３０１ 応答メッセージ生成手段
３０２ センタレスポンスコマンド生成手段
４００  ネットワーク
【図１】
0003783622.tif 000002
【図２】
0003783622.tif 000003
【図３】
0003783622.tif 000004
【図４】
0003783622.tif 000005
【図５】
0003783622.tif 000006
【図６】
0003783622.tif 000007
【図７】
0003783622.tif 000008
【図８】
0003783622.tif 000009
【図９】
0003783622.tif 000010
【図１０】
0003783622.tif 000011
【図１１】
0003783622.tif 000012
【図１２】
0003783622.tif 000013