(57)【要約】【課題】  ＩＣカードを遠隔制御する際に、通信網の利用効率を改善する。【解決手段】  第１地点のシステム１００に接続されたＩＣカード１０を、第２地点のシステム２００から遠隔制御する。第２の制御部２２０から、通信網３００を介して、第１の制御部１２０へ、所定の順序で並べられた複数のコマンドと、これら各コマンドのそれぞれに対して期待されるべき期待レスポンスと、を含んだコマンドスクリプトを送信する。第１の制御部１２０は、このコマンドスクリプトから１つずつコマンドを抽出してＩＣカード１０に送信し、返信されてきたレスポンスが期待レスポンスに一致するか否かを判定する。一致を示す判定結果が得られる限り、コマンド送信とレスポンス受信を繰り返し実行し、全コマンドの実行が完了した場合は成功を示す実行結果を、期待レスポンスに対する不一致が生じた場合は失敗を示す実行結果を、第２の制御部２２０に送信する。【選択図】        図１
2005027215.tif 000002
【特許請求の範囲】
【請求項１】
第１の地点にあるＩＣカードを、第２の地点から遠隔制御するためのシステムであって、
第１の地点に設置された第１の処理システムと、第２の地点に設定された第２の処理システムと、を備え、
前記第１の処理システムは、ＩＣカードに対してコマンド送信とレスポンス受信とを行うリーダライタ装置と、このリーダライタ装置を制御する第１の制御部と、この第１の制御部と外部との間の通信を行う第１の通信部と、を有し、
前記第２の処理システムは、遠隔制御による指示を与える第２の制御部と、この第２の制御部と外部との間の通信を行う第２の通信部と、を有し、
前記第１の通信部と前記第２の通信部とは所定の通信網を介して互いに通信を行う機能を有しており、
前記第２の制御部は、所定の順序で並べられた複数のコマンドと、これら各コマンドのそれぞれに対して期待されるべき期待レスポンスと、を含んだコマンドスクリプトを、前記第２の通信部を介して前記通信網へ送信する機能を有し、
前記第１の制御部は、前記通信網から前記第１の通信部を介して前記コマンドスクリプトを受信する機能を有し、
前記第１の制御部は、更に、前記コマンドスクリプトから前記順序に従って１つのコマンドを抽出し、この抽出したコマンドを前記リーダライタ装置を介して前記ＩＣカードに送信し、この送信したコマンドに対して前記ＩＣカードから返信されてきたレスポンスを前記リーダライタ装置を介して受信し、この受信したレスポンスが前記コマンドスクリプトに含まれている期待レスポンスに一致するか否かを判定する一巡交信処理を、一致を示す判定結果が得られる限り繰り返し実行し、その実行結果を前記第１の通信部を介して前記通信網へ送信する機能を有し、
前記第２の制御部は、更に、前記通信網から前記第２の通信部を介して前記実行結果を受信する機能を有することを特徴とするＩＣカード遠隔制御システム。
【請求項２】
請求項１に記載の遠隔制御システムにおいて、
第１の制御部が、コマンドスクリプトに含まれていたすべてのコマンドに関する一巡交信処理において一致を示す判定結果が得られた場合には、成功を示す実行結果を送信し、いずれかのコマンドに関する一巡交信処理において不一致を示す判定結果が得られた場合には、失敗を示す実行結果を送信することを特徴とするＩＣカード遠隔制御システム。
【請求項３】
請求項１または２に記載の遠隔制御システムにおいて、
第１の制御部が、コマンドスクリプトに含まれていたすべてのコマンドに関する一巡交信処理が完了するまで、もしくは、いずれかのコマンドに関する一巡交信処理において不一致を示す判定結果が得られるまで、実行結果の送信を行わないことを特徴とするＩＣカード遠隔制御システム。
【請求項４】
請求項１〜３のいずれかに記載の遠隔制御システムにおいて、
第１の制御部が、一巡交信処理を繰り返し実行している間、ＩＣカードから返信されてきたレスポンスに含まれている情報を蓄積し、この蓄積された情報を実行結果としてまとめて送信する機能を有することを特徴とするＩＣカード遠隔制御システム。
【請求項５】
請求項１〜４のいずれかに記載の遠隔制御システムにおいて、
第２の制御部が、複数のコマンドスクリプトを順番に送信する機能を有し、１つのコマンドスクリプトに関する実行結果を受信してから、次のコマンドスクリプトの送信を行うことを特徴とするＩＣカード遠隔制御システム。
【請求項６】
請求項１〜５のいずれかに記載の遠隔制御システムにおいて、
第２の制御部が、期待されるべきレスポンスが予測不能な特定のコマンドに対しては、「不明」を示す期待レスポンスを対応づけたコマンドスクリプトを送信する機能を有し、
第１の制御部が、「不明」を示す期待レスポンスに関しては常に一致を示す判定結果が得られたものとする処理を行うことを特徴とするＩＣカード遠隔制御システム。
【請求項７】
請求項１〜６のいずれかに記載の遠隔制御システムにおいて、
第１の通信部および第２の通信部が、それぞれデータを圧縮／伸張する機能を有し、両者間の通信がデータ圧縮された状態で行われるようにしたことを特徴とするＩＣカード遠隔制御システム。
【請求項８】
請求項１〜７のいずれかに記載の遠隔制御システムにおいて、
第１の通信部および第２の通信部が、それぞれデータを暗号化／復号化する機能を有し、両者間の通信が暗号化された状態で行われるようにしたことを特徴とするＩＣカード遠隔制御システム。
【請求項９】
請求項１〜６のいずれかに記載の遠隔制御システムにおける第１の制御部もしくは第２の制御部としてコンピュータを機能させるためのプログラムまたはこのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカード遠隔制御システムに関し、特に、携帯電話やＰＤＡ機器などに装着されたＩＣカードに対して、通信網を介して離れた地点から遠隔操作で制御するためのシステムに関する。
【背景技術】
【０００２】
ＣＰＵを内蔵したＩＣカードは、様々なデータを記録する記録媒体として機能するとともに、様々な処理を実行する情報処理装置としても機能し、今後もその利用分野は益々広がってゆくものと期待されている。特に、内蔵ＣＰＵによる照合処理を行うことにより、高度なセキュリティを確保することができる点は、信頼度が要求される商取引などに利用する上で、大きなメリットになっている。
【０００３】
通常、ＩＣカードに対する直接的なアクセスは、リーダライタ装置を介して行われる。ユーザがＩＣカードをリーダライタ装置に挿入すると、両者間で電気信号のやりとりが行われる。リーダライタ装置は、ネットワーク端末装置やパソコンなどの処理装置に接続して用いられ、この処理装置からの指示に基づいて、ＩＣカードに対するアクセスを行うことになる。ＣＰＵを内蔵したＩＣカードに対するアクセスは、コマンドの送信／レスポンスの受信という操作の繰り返しによって行われる。すなわち、外部の処理装置が、リーダライタ装置を介して、ＩＣカードにコマンドを送信すると、ＩＣカードに内蔵されたＣＰＵが、このコマンドを所定の内蔵プログラムに基づいて実行し、その結果をレスポンスという形式で返送することになる。外部の処理装置は、このレスポンスをリーダライタ装置を介して受信した上で、次のコマンドをＩＣカードに対して送信する処理を行う。このように、ＩＣカードと外部の処理装置との間で、コマンドとレスポンスとをキャッチボールのようにやりとりすることにより、ＩＣカードに対する種々の制御が可能になる。
【０００４】
最近では、携帯電話やＰＤＡ機器など、小型携帯情報端末に装着可能なＩＣカードも普及し始めている。たとえば、いわゆる第三世代の携帯電話には、ＩＣカードが装着されるようになっており、このＩＣカードを利用した様々なサービスも提供されるようになっている。このように、携帯電話に装着されたＩＣカードに対しては、通信網を介した遠隔制御が可能である。すなわち、携帯電話は、もともと通信網を介して任意の地点からアクセス可能な通信装置であるので、この携帯電話の通信機能を利用すれば、原理的には、地球上の任意の地点から、別な任意の地点にある携帯電話に搭載されているＩＣカードにアクセスすることが可能であり、コマンド／レスポンスのやりとりを行うことにより遠隔制御を行うことが可能である。したがって、携帯電話を通信網を介して任意のサーバ装置に接続すれば、この携帯電話に内蔵されているＩＣカードに対して、サーバ装置から、アプリケーションプログラムや種々のデータをダウンロードするような制御も可能になる。
【特許文献１】特開平６−１１９５０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前述したとおり、ＩＣカードに対して、外部の処理装置からアクセスを行うには、リーダライタ装置を介して、コマンドおよびレスポンスのやりとりを行う必要がある。したがって、通信網を介してＩＣカードを遠隔制御するには、通信網を介してコマンドおよびレスポンスのやりとりを繰り返し実行することになる。これは、通信網の利用効率の観点からは好ましくない。
【０００６】
一般に、リーダライタ装置を介したＩＣカードに対する通信は、数バイト〜数百バイトの単位で行われる。これは、ＩＣカードの標準規格（ＩＳＯ７８１６）によって、１回のコマンド／レスポンスにおけるデータの転送最大量が所定値に制限されているためである。したがって、たとえば、パケット通信網を介して、サーバ装置から携帯電話内のＩＣカードに、アプリケーションプログラムをダウンロードするような場合、ダウンロードの対象となるプログラムを、たかだか数百バイト程度の長さの部分に分割し、個々の分割部分を、それぞれコマンド／レスポンスの繰り返し処理を行う形式でＩＣカード内に送り込む必要がある。パケット通信網を介して、このような小さな単位の通信を繰り返すと、パケットの利用率が下がり、パケットヘッダなどのいわゆるオーバーヘッド部の比率が相対的に大きくなるため、通信網の利用効率は極めて低下してしまう。
【０００７】
そこで本発明は、通信網を介してＩＣカードを遠隔制御する際に、当該通信網の利用効率を改善することが可能なＩＣカード遠隔制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
(1)   本発明の第１の態様は、第１の地点にあるＩＣカードを、第２の地点から遠隔制御するためのＩＣカード遠隔制御システムにおいて、
第１の地点に設置された第１の処理システムと、第２の地点に設定された第２の処理システムと、を設け、
第１の処理システムには、ＩＣカードに対してコマンド送信とレスポンス受信とを行うリーダライタ装置と、このリーダライタ装置を制御する第１の制御部と、この第１の制御部と外部との間の通信を行う第１の通信部と、を設け、
第２の処理システムには、遠隔制御による指示を与える第２の制御部と、この第２の制御部と外部との間の通信を行う第２の通信部と、を設け、
第１の通信部と第２の通信部とは所定の通信網を介して互いに通信を行う機能を有するようにし、
第２の制御部は、所定の順序で並べられた複数のコマンドと、これら各コマンドのそれぞれに対して期待されるべき期待レスポンスと、を含んだコマンドスクリプトを、第２の通信部を介して通信網へ送信する機能を有するようにし、
第１の制御部は、通信網から第１の通信部を介してコマンドスクリプトを受信する機能を有するようにし、
第１の制御部は、更に、コマンドスクリプトから決められた順序に従って１つのコマンドを抽出し、この抽出したコマンドをリーダライタ装置を介してＩＣカードに送信し、この送信したコマンドに対してＩＣカードから返信されてきたレスポンスをリーダライタ装置を介して受信し、この受信したレスポンスがコマンドスクリプトに含まれている期待レスポンスに一致するか否かを判定する一巡交信処理を、一致を示す判定結果が得られる限り繰り返し実行し、その実行結果を第１の通信部を介して通信網へ送信する機能を有するようにし、
第２の制御部は、更に、通信網から第２の通信部を介して実行結果を受信する機能を有するようにしたものである。
【０００９】
(2)   本発明の第２の態様は、上述の第１の態様に係るＩＣカード遠隔制御システムにおいて、
第１の制御部が、コマンドスクリプトに含まれていたすべてのコマンドに関する一巡交信処理において一致を示す判定結果が得られた場合には、成功を示す実行結果を送信し、いずれかのコマンドに関する一巡交信処理において不一致を示す判定結果が得られた場合には、失敗を示す実行結果を送信するようにしたものである。
【００１０】
(3)   本発明の第３の態様は、上述の第１または第２の態様に係るＩＣカード遠隔制御システムにおいて、
第１の制御部が、コマンドスクリプトに含まれていたすべてのコマンドに関する一巡交信処理が完了するまで、もしくは、いずれかのコマンドに関する一巡交信処理において不一致を示す判定結果が得られるまで、実行結果の送信を行わないようにしたものである。
【００１１】
(4)   本発明の第４の態様は、上述の第１〜第３の態様に係るＩＣカード遠隔制御システムにおいて、
第１の制御部が、一巡交信処理を繰り返し実行している間、ＩＣカードから返信されてきたレスポンスに含まれている情報を蓄積し、この蓄積された情報を実行結果としてまとめて送信する機能を有するようにしたものである。
【００１２】
(5)   本発明の第５の態様は、上述の第１〜第４の態様に係るＩＣカード遠隔制御システムにおいて、
第２の制御部が、複数のコマンドスクリプトを順番に送信する機能を有し、１つのコマンドスクリプトに関する実行結果を受信してから、次のコマンドスクリプトの送信を行うようにしたものである。
【００１３】
(6)   本発明の第６の態様は、上述の第１〜第５の態様に係るＩＣカード遠隔制御システムにおいて、
第２の制御部が、期待されるべきレスポンスが予測不能な特定のコマンドに対しては、「不明」を示す期待レスポンスを対応づけたコマンドスクリプトを送信する機能を有し、
第１の制御部が、「不明」を示す期待レスポンスに関しては常に一致を示す判定結果が得られたものとする処理を行うようにしたものである。
【００１４】
(7)   本発明の第７の態様は、上述の第１〜第６の態様に係るＩＣカード遠隔制御システムにおいて、
第１の通信部および第２の通信部が、それぞれデータを圧縮／伸張する機能を有し、両者間の通信がデータ圧縮された状態で行われるようにしたものである。
【００１５】
(8)   本発明の第８の態様は、上述の第１〜第７の態様に係るＩＣカード遠隔制御システムにおいて、
第１の通信部および第２の通信部が、それぞれデータを暗号化／復号化する機能を有し、両者間の通信が暗号化された状態で行われるようにしたものである。
【００１６】
(9)   本発明の第９の態様は、上述の第１〜第６の態様に係るＩＣカード遠隔制御システムにおける第１の制御部もしくは第２の制御部としてコンピュータを機能させるためのプログラムを用意し、このプログラムをコンピュータ読み取り可能な記録媒体に記録して配付できるようにしたものである。
【発明の効果】
【００１７】
本発明に係るＩＣカード遠隔制御システムによれば、通信網を介してＩＣカードを遠隔制御する際に、当該通信網の利用効率を改善することが可能になる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を図示する実施形態に基づいて説明する。図１は、本発明の一実施形態に係るＩＣカード遠隔制御システムの基本構成を示すブロック図である。このシステムは、第１の地点にあるＩＣカード１０を、第２の地点から遠隔制御するためのシステムであり、図示のとおり、第１の地点に設置された第１の処理システム１００と、第２の地点に設定された第２の処理システム２００と、によって構成されている。両システム１００，２００は、通信網３００を介して接続することが可能である。通信網３００は、両システムを接続することができる通信網であれば、どのような通信網であってもかまわない。具体的には、たとえば、電話回線網やインターネットなどを通信網３００として利用することができる。
【００１９】
図示のとおり、第１の処理システム１００は、ＩＣカード１０に対してコマンド送信とレスポンス受信とを行うリーダライタ装置１１０と、このリーダライタ装置１１０を制御する第１の制御部１２０と、この第１の制御部１２０と外部との間の通信を行う第１の通信部１３０と、を有しており、第２の処理システム２００は、外部との間の通信を行う第２の通信部２１０と、遠隔制御による指示を与える第２の制御部２２０と、を有している。
【００２０】
第１の通信部１３０と第２の通信部２１０とは通信網３００を介して互いに通信を行う機能を有している。たとえば、通信網３００が電話回線網であれば、第１の通信部１３０および第２の通信部２１０は、この電話回線網に接続する機能をもった通信装置によって構成され、通信網３００がインターネットであれば、第１の通信部１３０および第２の通信部２１０は、ＩＰプロトコルに従ったパケット通信機能をもった通信装置によって構成されることになる。
【００２１】
第２の制御部２２０は、ＩＣカード１０に対する制御を統括するための構成要素であり、後述するように、所定のコマンドスクリプトを用意し、これを第２の通信部２１０を介して通信網３００へと送り出す処理を行う。ここで、コマンドスクリプトとは、所定の順序で並べられた複数のコマンドと、これら各コマンドのそれぞれに対して期待されるべき期待レスポンスと、によって構成されるコード群である。図２は、このコマンドスクリプトＣＳの一例を示す概念図である。
【００２２】
図示の例は、５つのコマンドと、この５つのコマンドのそれぞれに対応する期待レスポンスと、によってコマンドスクリプトＣＳを構成した例である。具体的には、ＣＭＤ１〜ＣＭＤ５までの５つのコマンドが順序づけられており、ＥＸＰ１〜ＥＸＰ５までの５つのレスポンスが対応づけられている。たとえば、コマンドＣＭＤ１には、期待レスポンスＥＸＰ１が対応づけられているが、これは、ＩＣカード１０に対して、コマンドＣＭＤ１を与えた場合に、ＩＣカード１０からは、ＥＸＰ１なるレスポンスが返ってくることが期待されることを意味している。なお、図２のＮｏ．の欄の数字は、コマンドの順番を示すために便宜的に記述したものであり、実際には、このような順番を示すコードは、必ずしも含ませる必要はない。
【００２３】
ここで、各期待レスポンスＥＸＰ１〜ＥＸＰ５は、コマンドがＣＭＤ１〜ＣＭＤ５の順に与えられるという点を考慮した上で、ＩＣカード１０側から返信されるであろうと期待されるレスポンスになっている。たとえば、コマンドＣＭＤ１が、ＩＣカード１０の内部メモリの所定アドレスＡＤＤ１に所定のデータを書き込む命令であり、コマンドＣＭＤ２が、当該アドレスＡＤＤ１に書き込まれているデータを読み出してレスポンスとして返す命令であった場合、期待レスポンスＥＸＰ２は、コマンドＣＭＤ１によって書き込まれるデータに依存することになるので、直前にコマンドＣＭＤ１が実行されることを考慮した上で、期待レスポンスＥＸＰ２の内容が定義されることになる。
【００２４】
ＩＣカード１０内に組み込まれているプログラムの内容がわかっていれば、このＩＣカード１０に対して、５つのコマンドＣＭＤ１〜ＣＭＤ５を、この順番で与えた場合、それぞれに対してどのようなレスポンスが返ってくるかを予測することができるので、予測されるレスポンスを期待レスポンスＥＸＰ１〜ＥＸＰ５として予め用意しておくことができる。したがって、５つのコマンドＣＭＤ１〜ＣＭＤ５が決まれば、たとえば、コンピュータ上でのシミュレーションを行うことにより、期待レスポンスＥＸＰ１〜ＥＸＰ５を自動的に生成することが可能である。なお、ＩＣカード１０内に書き込まれている未知のデータに基づいて、レスポンスの内容が変化するようなコマンドの場合は、得られるレスポンスを予測することはできないが、そのようなコマンドの場合には、期待レスポンスとして「不明」を示すコードを入れておけばよい。
【００２５】
第２の制御部２２０内に用意されたコマンドスクリプトＣＳは、第２の通信部２１０を介して、第１の通信部１３０宛てに通信網３００へと送信される。第１の通信部１３０は、このコマンドスクリプトＣＳを受信し、これを第１の制御部１２０へ与える。
【００２６】
こうして、第１の通信部１３０を介してコマンドスクリプトＣＳを受信した第１の制御部１２０は、これを順に実行する処理を行う。すなわち、第１の制御部１２０は、コマンドスクリプトＣＳから決められた順序に従って１つのコマンドを抽出し、この抽出したコマンドをリーダライタ装置１１０を介してＩＣカード１０に送信し、この送信したコマンドに対してＩＣカード１０から返信されてきたレスポンスをリーダライタ装置１１０を介して受信し、この受信したレスポンスがコマンドスクリプトＣＳに含まれている期待レスポンスに一致するか否かを判定する処理を行う。ここでは、このような処理を、「一巡交信処理」と呼ぶことにする。要するに、この一巡交信処理は、ＩＣカード１０との間で、１コマンドを送信し、１レスポンスを受信し、これを期待レスポンスと照合する処理ということができる。
【００２７】
第１の制御部１２０は、このような一巡交信処理を、一致を示す判定結果が得られる限り繰り返し実行し、その実行結果を第１の通信部１３０を介して、第２の通信部２１０宛てに通信網３００へと送信する。第２の通信部２１０は、こうして送信されてきた実行結果を受信し、第２の制御部２２０へ与える。結局、第２の制御部２２０は、図２に示すようなコマンドスクリプトＣＳを送信し、これに対する実行結果を受信することになる。
【００２８】
図３は、第１の制御部１２０の上述した処理手順を示す流れ図である。まず、ステップＳ１で、コマンドスクリプトＣＳを受信し、ステップＳ２で、所定の順序に従い、１つのコマンドを抽出し、ステップＳ３で、抽出したコマンドをリーダライタ装置１１０を介してＩＣカード１０へ送信する処理を行う。ＩＣカード１０は、与えられたコマンドを、内蔵するプログラムに基づいて実行し、所定のレスポンスを返す処理を行う。そこで、第１の制御部１２０は、ステップＳ４で、ＩＣカード１０からのレスポンスを受信した上で、ステップＳ５で、この受信したレスポンスが期待レスポンスに一致するか否かを判定する。もし一致していれば、ステップＳ５からステップＳ６へと進み、コマンドスクリプトＣＳ内にまだ抽出していないコマンドの残りがあれば、ステップＳ２へと戻ることになる。結局、ステップＳ２〜Ｓ６までの一連の処理が、上述した一巡交信処理に相当する。
【００２９】
こうして、ＩＣカード１０からのレスポンスが、期待レスポンスに一致している限り、ステップＳ６からステップＳ２へと戻り、一巡交信処理が繰り返し実行されることになる。そして、コマンドスクリプトＣＳ内のすべてのコマンドを抽出し終えたら、ステップＳ６からステップＳ７へと進み、第２の処理システム２００に対して、成功を示す実行結果を送信する。一方、ステップＳ５において、不一致なる判定結果が得られたら、ステップＳ５からステップＳ８へと進み、第２の処理システム２００に対して、失敗を示す実行結果が送信される。
【００３０】
たとえば、ステップＳ１において、図２に示すコマンドスクリプトＣＳが受信された場合、まず、ステップＳ２で、コマンドＣＭＤ１が抽出され、ステップＳ３で、このコマンドＣＭＤ１がＩＣカード１０へと送信されることになる。そして、ステップＳ４で、ＩＣカード１０から返信されてきたレスポンスが受信され、ステップＳ５において、受信されたレスポンスが期待レスポンスＥＸＰ１に一致するか否かが判定される。一致していれば、今度は、ステップＳ２で、コマンドＣＭＤ２が抽出され、同様の処理が実行される。このコマンドＣＭＤ２に対するレスポンスが、期待レスポンスＥＸＰ２と一致していれば、続いてコマンドＣＭＤ３が抽出され、ＩＣカード１０へと与えられる。こうして、一連のコマンドＣＭＤ１〜ＣＭＤ５のすべてについて、それぞれ期待レスポンスＥＸＰ１〜ＥＸＰ５と一致するレスポンスが得られたら、ステップＳ７において、成功を示す実行結果が第２の処理システム２００宛に送信される。しかし、いずれかのコマンドに対するレスポンスが、期待レスポンスと一致しなかったら、その時点で処理は中止され、ステップＳ８において、失敗を示す実行結果が第２の処理システム２００宛に送信される。こうして、成功もしくは失敗を示す実行結果の送信が完了したら、再びステップＳ１へと戻り、次に与えられるコマンドスクリプトを受信し、同様の処理を繰り返すことになる。
【００３１】
結局、第１の制御部１２０は、コマンドスクリプトＣＳに含まれていたすべてのコマンドに関する一巡交信処理において一致を示す判定結果が得られた場合には、成功を示す実行結果を送信し、いずれかのコマンドに関する一巡交信処理において不一致を示す判定結果が得られた場合には、失敗を示す実行結果を送信することになる。しかも、第１の制御部１２０は、コマンドスクリプトＣＳに含まれていたすべてのコマンドに関する一巡交信処理が完了するまで、もしくは、いずれかのコマンドに関する一巡交信処理において不一致を示す判定結果が得られるまで、実行結果の送信を行うことはない。
【００３２】
第１の制御部１２０が、このような処理を行えば、第２の制御部２２０は、用意したコマンドスクリプトＣＳが、第１の処理システム１００側で支障なく実行されたか否かを認識することができる。すなわち、第１の処理システム１００側から成功を示す実行結果が送信されてくれば、コマンドスクリプトＣＳ内のすべてのコマンドの実行に対して、期待したレスポンスが得られたことを認識でき、すべてのコマンドが予定どおり実行されたことを認識できる。逆に、失敗を示す実行結果が送信されてくれば、コマンドスクリプトＣＳ内のいずれかのコマンドの実行に対して、期待したレスポンスが得られず、そこで処理が中止されたことを認識できる。
【００３３】
第２の制御部２２０に、複数のコマンドスクリプトを用意しておいた場合には、これを第１の処理システム１００側に順番に送信するようにし、１つのコマンドスクリプトに関する実行結果を受信してから、次のコマンドスクリプトの送信を行うようにすればよい。たとえば、ｎ個のコマンドスクリプトＣＳ１，ＣＳ２，…，ＣＳｎが用意されていた場合、まず、コマンドスクリプトＣＳ１を送信し、これに対して成功を示す実行結果が得られたら、次にコマンドスクリプトＣＳ２を送信し、以下同様に順次送信を行うようにすればよい。また、失敗を示す実行結果が得られたら、第２の制御部２２０で、必要な回復処理をとるようにすればよい。
【００３４】
本発明に係るＩＣカード遠隔制御システムの特徴は、一巡交信処理が、ＩＣカード１０と第１の処理システム１００との間でのみ（別言すれば、第１の地点においてのみ）実行される点にある。要するに、コマンドおよびレスポンスのキャッチボール式のやりとりが、第１の地点においてのみ実行されることになり、通信網３００を介してのコマンドおよびレスポンスのキャッチボール式のやりとりは不要になるのである。コマンドスクリプトＣＳとして、ある程度まとまった数のコマンドおよび期待レスポンスを用意しておけば、通信網３００の利用効率を向上させることができる。
【００３５】
なお、実用上は、第１の通信部１３０および第２の通信部２１０には、それぞれデータを圧縮／伸張する機能を付加しておき、通信網３００を介して行われる両者間の通信が、データ圧縮された状態で行われるようにしておくのが好ましい。このデータ圧縮により、通信網３００の利用効率を更に向上させることができる。
【００３６】
また、第１の通信部１３０および第２の通信部２１０には、それぞれデータを暗号化／復号化する機能を付加しておき、通信網３００を介して行われる両者間の通信が、暗号化された状態で行われるようにしておくのが好ましい。そうすれば、通信網３００を介した通信における安全性の確保も可能になる。
【００３７】
ところで、ＩＣカード１０から返信されるレスポンスには、最終的に、第２の制御部２２０側へ伝達すべき情報が含まれている場合がある。たとえば、ＩＣカード１０内の所定アドレスからデータを読み出すコマンドを与えた場合、読み出されたデータを含むレスポンスが返されることになる。そこで、実用上は、第１の制御部１２０に、一巡交信処理を繰り返し実行している間、ＩＣカード１０から返信されてきたレスポンスに含まれている情報を蓄積し、この蓄積された情報を、成功を示す実行結果としてまとめて送信する機能を設けておくのが好ましい。
【００３８】
なお、前述したとおり、期待されるべきレスポンスが予測不能な特定のコマンドに対しては、「不明」を示す期待レスポンスを対応づけたコマンドスクリプトを用意しておくことができるが、このような「不明」を示す期待レスポンスを利用する場合、第１の制御部１２０が、「不明」を示す期待レスポンスに関しては常に一致を示す判定結果が得られたものとする処理を行うようにしておけばよい。
【００３９】
たとえば、ＩＣカード１０内の所定アドレスからデータを読み出すコマンドの場合、期待されるレスポンスは、正常に読み出しが完了したことを示す正常読出コードに続いて、読み出されたデータが羅列された形式になるのが一般的である。この場合、正常読出コードについては既知であるが、それに後続するデータの羅列の内容は未知である。このような場合は、データの羅列部分に関しては「不明」を示す期待レスポンスを用意しておくようにし、一致判定の際には、正常読出コードの部分のみの一致判定を行い、データの羅列部分に関しては、常に一致を示す判定結果が得られたものとする処理を行うようにしておけばよい。
【００４０】
最後に、より具体的な処理に本発明を適用した例を述べておく。図４は、１０個のデータＤ１〜Ｄ１０を、ＩＣカード１０内の所定のアドレスに書き込むための一連のコマンド群と、これに応じてＩＣカードから返信されてくるレスポンス群の対応を示すテーブルである。ここで、１番目に示す「Ｒｅａｄ  ＩＤ」なるコマンドは、ＩＣカード１０自身に付与された所定の識別コード（ＩＣカード１０内のメモリの所定箇所に格納されている）をレスポンスとして返すことを指示するコマンドであり、この例では、「１２３４５」なる識別コードが、レスポンスとして返された例が示されている。
【００４１】
２番目の「Ｗｒｉｔｅ  Ｄ１」なるコマンドは、ＩＣカード１０内の所定のメモリ場所に、Ｄ１なるデータを書き込むことを指示するコマンドである。実際には、このような書き込みコマンドには、書き込みを行うメモリアドレスあるいはレコードを特定するコードが含まれるのが一般的であるが、ここでは便宜上、このような単純なコマンドを例にとって説明する。図示の例では、このような書き込みコマンドに対して、「ＯＫ」なるレスポンスが返された例が示されている。このレスポンスは、指示どおりの書き込み処理が正常に終了したことを示すものであり、書き込みが正常に行われなかった場合には、たとえば、「ＥＲＲＯＲ」のような別なレスポンスが返されることになる。３番目〜１１番目のコマンドも、同じ書き込みコマンドであり、それぞれデータＤ２〜Ｄ１０の書き込みを指示しており、「ＯＫ」なるレスポンスが得られた例が示されている。
【００４２】
この例では、データＤ１〜Ｄ１０のように、細かく分割したデータを複数のコマンドに分けて書き込むようにしているが、一般的なＩＣカードでは、このような形式で書き込みが行われることが少なくない。これは、既に述べたとおり、ＩＣカードの標準規格（ＩＳＯ７８１６）によって、１回のコマンド／レスポンスにおけるデータの転送最大量が所定値に制限されているためである。その結果、合計１１回の連続したコマンド／レスポンスのやりとりが必要になり、もし、このコマンド／レスポンスのやりとりを、従来どおり、通信網を介して遠隔操作で行ったとすると、通信網を利用した往復通信回数は合計１１回になる。
【００４３】
本発明に係るＩＣカード遠隔制御システムを利用すれば、同じ処理を実行する場合でも、通信網を利用した往復通信回数を２回に減らすことが可能になる。図５は、図４に示すコマンド群を用いた処理を、本発明に係るＩＣカード遠隔制御システムを用いて実行する際に用意するコマンドスクリプトを示すテーブルである。図示の例では、２つのコマンドスクリプトＣＳ１，ＣＳ２が用意されている。
【００４４】
第１のコマンドスクリプトＣＳ１は、「Ｒｅａｄ  ＩＤ」なるコマンドと、その期待レスポンス「φ」とによって構成されている。ここで、期待レスポンス「φ」は、前述した「不明」を示すものであり、「Ｒｅａｄ  ＩＤ」なるコマンドによって返されるレスポンスが予測できないものであることを示す。上述したように、「Ｒｅａｄ  ＩＤ」なるコマンドは、ＩＣカード１０自身に付与された所定の識別コードをレスポンスとして返すことを指示するコマンドであるため、個々のＩＣカードごとにレスポンス内容は異なり、期待レスポンスを予測することはできない。そこで「不明」を示す「φ」なるコードが期待レスポンスとして定義されている。
【００４５】
一方、第２のコマンドスクリプトＣＳ２は、「Ｗｒｉｔｅ  Ｄ１」〜「Ｗｒｉｔｅ  Ｄ１０」なる１０個のコマンドと、それぞれについての期待レスポンス「ＯＫ」によって構成されている。ここで、期待レスポンス「ＯＫ」は、書き込み処理が正常に終了した場合に返されるレスポンスであり、何らかの支障がなければ、この「ＯＫ」なるレスポンスが返されることが期待される。
【００４６】
本発明に係るＩＣカード遠隔制御システムの場合、この図５に示す２つのコマンドスクリプトＣＳ１，ＣＳ２を第２の処理システム２００側に用意しておき、まず、第１のコマンドスクリプトＣＳ１を第１の処理システム１００側に送信し、これに対して成功を示す実行結果が返信されてきたら、次に、第２のコマンドスクリプトＣＳ２を送信し、これに対する実行結果を受信すればよい。したがって、通信網３００を利用した往復通信回数を２回に抑えることができ、通信網の利用効率を大幅に改善することができる。
【００４７】
この図５に示すようなコマンドスクリプトＣＳ１，ＣＳ２を受信したときの第１の制御部１２０の処理は、次のとおりである。まず、図３の流れ図におけるステップＳ１において、コマンドスクリプトＣＳ１を受信し、ステップＳ２で、「Ｒｅａｄ  ＩＤ」なるコマンドを抽出し、ステップＳ３で、これをＩＣカード１０へと送信する。すると、ＩＣカード１０からは、たとえば、「１２３４５」なる識別コードがレスポンスとして返されるので、ステップＳ４でこれを受信し、ステップＳ５で一致判定が行われる。このとき、コマンドスクリプトＣＳ１内の期待レスポンスは、「φ」（不明）となっているので、一致したとする判定がなされ、ステップＳ６へ進む。コマンドスクリプトＣＳ１には、もうコマンドは残っていないので、更にステップＳ７へと進み、成功を示す実行結果が第２の処理システム２００側へと送信されることになる。このとき、この成功を示す実行結果に、レスポンスに含まれていた「１２３４５」なる識別コードを組み込むようにすれば、「Ｒｅａｄ  ＩＤ」なるコマンドの実行結果を、第２の処理システム２００側へと伝えることができる。
【００４８】
第２の制御部２２０は、この実行結果を受信して、ＩＣカード１０の識別コード「１２３４５」を認識する。ここで、必要があれば、当該識別コードが正当な権限を与えられたＩＣカードの識別コードであるか否か等の判断処理が行われ、問題がなければ、今度は、第２のコマンドスクリプトＣＳ２が、第１の処理システム１００側に送信されることになる。
【００４９】
第１の制御部１２０では、再び、ステップＳ１において、コマンドスクリプトＣＳ２の受信が行われる。そして、ステップＳ２で、「Ｗｒｉｔｅ  Ｄ１」なる最初のコマンドを抽出し、ステップＳ３で、これをＩＣカード１０へと送信する。すると、ＩＣカード１０内では、データＤ１を所定のメモリ場所に書き込む処理が行われ、書込処理が正常に実行されれば、「ＯＫ」なるレスポンスが返される。このレスポンスは、ステップＳ４で受信され、ステップＳ５で一致判定が行われる。コマンドスクリプトＣＳ２内のコマンド「Ｗｒｉｔｅ  Ｄ１」に対応する期待レスポンスは、「ＯＫ」であるので、期待どおりのレスポンスが得られたことになり、一致判定がなされ、ステップＳ６を経て、ステップＳ２へ進む。そして、２番目のコマンド「Ｗｒｉｔｅ  Ｄ２」が抽出され、ステップＳ３で、ＩＣカード１０へと送信される。
【００５０】
こうして、ＩＣカード１０側から、「ＯＫ」なるレスポンスが返信される限り、ステップＳ２〜Ｓ６の一巡交信処理が繰り返し実行され、「Ｗｒｉｔｅ  Ｄ１」〜「Ｗｒｉｔｅ  Ｄ１０」なるコマンドが順次、ＩＣカード１０内で実行される。こうして、最後の「Ｗｒｉｔｅ  Ｄ１０」なるコマンドの実行が完了すると、コマンドスクリプトＣＳ２には、もうコマンドは残っていないので、ステップＳ７へと進み、成功を示す実行結果が第２の処理システム２００側へと送信されることになる。第２の制御部２２０は、この実行結果を受信することにより、ＩＣカード１０側において、データＤ１〜Ｄ１０の書込処理が、支障なく完了したことを認識することができる。
【００５１】
一方、書込処理に何らかの支障が生じた場合には、第２の制御部２２０に対して、失敗を示す実行結果が送信されることになる。たとえば、ＩＣカード１０側で、４番目のコマンド「Ｗｒｉｔｅ  Ｄ４」を実行しようとしたときに、所定のメモリ場所の空き領域が不足しており、正常な書込処理が完了できなかったとすると、この「Ｗｒｉｔｅ  Ｄ４」なるコマンドに対しては、たとえば、「ＥＲＲＯＲ」というような書込失敗を示すレスポンスが返されることになる。すると、第１の制御部１２０では、期待レスポンス「ＯＫ」との不一致が確認されるので、ステップＳ５からステップＳ８へと移行し、第２のコマンドスクリプトＣＳ２の実行はそこで中止され、失敗を示す実行結果が第２の処理システム２００側へと送信されることになる。したがって、第２の制御部２２０は、コマンドスクリプトＣＳ２の実行が正常に終了しなかったことを認識できる。
【００５２】
なお、第１の制御部１２０が、失敗を示す実行結果として、４番目のコマンド「Ｗｒｉｔｅ  Ｄ４」に対して、「ＥＲＲＯＲ」なるレスポンスが得られたために不一致が生じたことを示す情報を送信するようにしておけば、第２の制御部２２０は、第２のコマンドスクリプトＣＳ２内の３番目のコマンド「Ｗｒｉｔｅ  Ｄ３」までは正常に実行され、ＩＣカード１０内には、データＤ１〜Ｄ３までが正常に書き込まれている状態になっていることを認識することができ、４番目のコマンド「Ｗｒｉｔｅ  Ｄ４」に対しては「ＥＲＲＯＲ」なるレスポンスが得られたことも認識することができる。
【００５３】
この図５に示すコマンドスクリプトＣＳ１，ＣＳ２は、たとえば、携帯電話に装着されたＩＣカードに対して、サーバ装置からアプリケーションプログラムをダウンロードするような処理に利用することができる。この場合、第１の処理システム１００は携帯電話ということになり、ＩＣカード１０はこの携帯電話内に装着されたＩＣカードということになる。また、第２の処理システム２００は、アプリケーションプログラムを提供する機能をもったサーバ装置ということになる。そして、第１のコマンドスクリプトＣＳ１の実行により、当該ＩＣカードが正規のダウンロード権限をもったＩＣカードであることを確認した上で、第２のコマンドスクリプトＣＳ２の実行により、データＤ１〜Ｄ１０なる１０個の部分に分割されたアプリケーションプログラムがＩＣカード１０側にダウンロードされる。
【００５４】
もちろん、データＤ１〜Ｄ１０はプログラムのデータである必要はなく、画像データ、音楽データ、その他、任意のデータでかまわない。したがって、図５に示すコマンドスクリプトＣＳ１，ＣＳ２は、たとえば、ＩＣカード内に格納されているユーザの顔写真を通信網３００を介して更新するような処理にも利用することができる。一般に、顔写真のような画像データは、比較的データ量が大きく、ＩＣカードへの書込処理を行うには、複数回の書込コマンドを与える必要がある。図５に示すコマンドスクリプトＣＳ２を利用すれば、ユーザの顔写真の画像データをデータＤ１〜Ｄ１０に分割して書き込むことができ、コマンドスクリプトＣＳ１により、事前に、ＩＣカードの識別コードの確認が行われることになるので、セキュリティの確保も配慮されることになる。
【００５５】
図５では、ＩＣカードに対するデータの書込処理の例を示したが、もちろん、本発明は、ＩＣカードからのデータの読出処理にも利用可能である。この場合、ＩＣカードに対する連続したデータ読出コマンドからなるコマンドスクリプトＣＳを用意しておけばよい。通常、読み出されたデータは、レスポンスの一部として返信されることになるので、期待レスポンスとしては、読出処理が正常に終了したことを示すコードの部分のみ用意しておき、読み出されたデータの部分については「φ」（不明）を示すコードにしておくようにする。そうすれば、正常な読み出しが行われている限り、連続して読出処理が実行されることになる。第１の制御部１２０は、個々の読出コマンドのレスポンスに含まれていたデータ（読み出されたデータ）を蓄積しておき、最後に、これら蓄積データを、成功を示す実行結果として、第２の処理システム２００側に送信する処理を実行すればよい。
【００５６】
以上、本発明を図示する実施形態に基づいて説明したが、本発明はこの実施形態に限定されることはなく、この他にも種々の形態で実施可能である。特に、第１の処理システム１００や第２の処理システム２００は、上述した実施形態のような携帯電話とサーバ装置に限定されるものではなく、通信機能と情報処理機能とを備えた装置であれば、どのような装置を用いてもかまわない。また、第１の制御部１２０や第２の制御部２２０の機能は、実際には、携帯電話内に組み込まれたＣＰＵ（小型コンピュータ）や、サーバ装置を構成するコンピュータに、専用の処理プログラムを組み込むことにより実現されるものであり、このような専用の処理プログラムは、光ディスクなどのコンピュータ読み取り可能な記録媒体に記録して配付することが可能である。
【００５７】
また、本発明にいう「ＩＣカード」とは、一般市場において、いわゆる「ＩＣカード」と称されて取引されているものに限定されるわけではなく、外部装置からのコマンド送信に基づいて所定の処理を実行し、その結果をレスポンスとして返信する機能をもった小型情報処理装置を広く意味するものである。同様に、本発明にいう「リーダライタ装置」とは、このような広義の「ＩＣカード」に対して、コマンド送信を行うとともに、レスポンス受信を行う機能をもった装置を広く意味するものである。最近では、ＰＤＡやデジカメなどで利用するＳＤカードやＭＭＣなどのメモリカードに、従来の一般的な「ＩＣカード」の機能を組み込んだ商品（たとえば、ＭＯＰＡＳＳカード）なども提案されている。このＭＯＰＡＳＳカードのようなＩＣカード機能付きのメモリカードも、本発明にいう「ＩＣカード」の範疇に入るものであり、この場合、ＭＯＰＡＳＳカードに対応したメモリカードスロットは、本発明にいう「リーダライタ装置」の範疇に入るものである。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施形態に係るＩＣカード遠隔制御システムの基本構成を示すブロック図である。
【図２】本発明に用いられるコマンドスクリプトＣＳの一例を示す概念図である。
【図３】第１の制御部１２０の処理手順を示す流れ図である。
【図４】１０個のデータＤ１〜Ｄ１０を、ＩＣカード１０内の所定のアドレスに書き込むための一連のコマンド群と、これに応じてＩＣカードから返信されてくるレスポンス群の対応を示すテーブルである。
【図５】図４に示すコマンド群を用いた処理を、本発明に係るＩＣカード遠隔制御システムを用いて実行する際に用意するコマンドスクリプトを示すテーブルである。
【符号の説明】
【００５９】
１０…ＩＣカード
１００…第１の処理システム
１１０…リーダライタ装置
１２０…第１の制御部
１３０…第１の通信部
２００…第２の処理システム
２１０…第２の通信部
２２０…第２の制御部
３００…通信網
ＣＳ，ＣＳ１，ＣＳ２…コマンドスクリプト
Ｓ１〜Ｓ８…流れ図の各ステップ
【図１】
2005027215.tif 000003
【図２】
2005027215.tif 000004
【図３】
2005027215.tif 000005
【図４】
2005027215.tif 000006
【図５】
2005027215.tif 000007