JP4283611B2 - Icカード遠隔制御システム - Google Patents

Icカード遠隔制御システム Download PDF

Info

Publication number
JP4283611B2
JP4283611B2 JP2003270271A JP2003270271A JP4283611B2 JP 4283611 B2 JP4283611 B2 JP 4283611B2 JP 2003270271 A JP2003270271 A JP 2003270271A JP 2003270271 A JP2003270271 A JP 2003270271A JP 4283611 B2 JP4283611 B2 JP 4283611B2
Authority
JP
Japan
Prior art keywords
command
card
communication
response
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003270271A
Other languages
English (en)
Other versions
JP2005027215A (ja
Inventor
哲夫 神力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2003270271A priority Critical patent/JP4283611B2/ja
Publication of JP2005027215A publication Critical patent/JP2005027215A/ja
Application granted granted Critical
Publication of JP4283611B2 publication Critical patent/JP4283611B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Description

本発明は、ICカード遠隔制御システムに関し、特に、携帯電話やPDA機器などに装着されたICカードに対して、通信網を介して離れた地点から遠隔操作で制御するためのシステムに関する。
CPUを内蔵したICカードは、様々なデータを記録する記録媒体として機能するとともに、様々な処理を実行する情報処理装置としても機能し、今後もその利用分野は益々広がってゆくものと期待されている。特に、内蔵CPUによる照合処理を行うことにより、高度なセキュリティを確保することができる点は、信頼度が要求される商取引などに利用する上で、大きなメリットになっている。
通常、ICカードに対する直接的なアクセスは、リーダライタ装置を介して行われる。ユーザがICカードをリーダライタ装置に挿入すると、両者間で電気信号のやりとりが行われる。リーダライタ装置は、ネットワーク端末装置やパソコンなどの処理装置に接続して用いられ、この処理装置からの指示に基づいて、ICカードに対するアクセスを行うことになる。CPUを内蔵したICカードに対するアクセスは、コマンドの送信/レスポンスの受信という操作の繰り返しによって行われる。すなわち、外部の処理装置が、リーダライタ装置を介して、ICカードにコマンドを送信すると、ICカードに内蔵されたCPUが、このコマンドを所定の内蔵プログラムに基づいて実行し、その結果をレスポンスという形式で返送することになる。外部の処理装置は、このレスポンスをリーダライタ装置を介して受信した上で、次のコマンドをICカードに対して送信する処理を行う。このように、ICカードと外部の処理装置との間で、コマンドとレスポンスとをキャッチボールのようにやりとりすることにより、ICカードに対する種々の制御が可能になる。
最近では、携帯電話やPDA機器など、小型携帯情報端末に装着可能なICカードも普及し始めている。たとえば、いわゆる第三世代の携帯電話には、ICカードが装着されるようになっており、このICカードを利用した様々なサービスも提供されるようになっている。このように、携帯電話に装着されたICカードに対しては、通信網を介した遠隔制御が可能である。すなわち、携帯電話は、もともと通信網を介して任意の地点からアクセス可能な通信装置であるので、この携帯電話の通信機能を利用すれば、原理的には、地球上の任意の地点から、別な任意の地点にある携帯電話に搭載されているICカードにアクセスすることが可能であり、コマンド/レスポンスのやりとりを行うことにより遠隔制御を行うことが可能である。したがって、携帯電話を通信網を介して任意のサーバ装置に接続すれば、この携帯電話に内蔵されているICカードに対して、サーバ装置から、アプリケーションプログラムや種々のデータをダウンロードするような制御も可能になる。
特開平6−119506号公報
前述したとおり、ICカードに対して、外部の処理装置からアクセスを行うには、リーダライタ装置を介して、コマンドおよびレスポンスのやりとりを行う必要がある。したがって、通信網を介してICカードを遠隔制御するには、通信網を介してコマンドおよびレスポンスのやりとりを繰り返し実行することになる。これは、通信網の利用効率の観点からは好ましくない。
一般に、リーダライタ装置を介したICカードに対する通信は、数バイト〜数百バイトの単位で行われる。これは、ICカードの標準規格(ISO7816)によって、1回のコマンド/レスポンスにおけるデータの転送最大量が所定値に制限されているためである。したがって、たとえば、パケット通信網を介して、サーバ装置から携帯電話内のICカードに、アプリケーションプログラムをダウンロードするような場合、ダウンロードの対象となるプログラムを、たかだか数百バイト程度の長さの部分に分割し、個々の分割部分を、それぞれコマンド/レスポンスの繰り返し処理を行う形式でICカード内に送り込む必要がある。パケット通信網を介して、このような小さな単位の通信を繰り返すと、パケットの利用率が下がり、パケットヘッダなどのいわゆるオーバーヘッド部の比率が相対的に大きくなるため、通信網の利用効率は極めて低下してしまう。
そこで本発明は、通信網を介してICカードを遠隔制御する際に、当該通信網の利用効率を改善することが可能なICカード遠隔制御システムを提供することを目的とする。
(1) 本発明の第1の態様は、第1の地点にあるICカードを、第2の地点から遠隔制御するためのICカード遠隔制御システムにおいて、
第1の地点に設置された第1の処理システムと、第2の地点に設定された第2の処理システムと、を設け、
第1の処理システムには、ICカードに対してコマンド送信とレスポンス受信とを行うリーダライタ装置と、このリーダライタ装置を制御する第1の制御部と、この第1の制御部と外部との間の通信を行う第1の通信部と、を設け、
第2の処理システムには、遠隔制御による指示を与える第2の制御部と、この第2の制御部と外部との間の通信を行う第2の通信部と、を設け、
第1の通信部と第2の通信部とは所定の通信網を介して互いに通信を行う機能を有するようにし、
第2の制御部は、期待されるべきレスポンスが予測可能な予測可能コマンドと、期待されるべきレスポンスが予測不能な予測不能コマンドと、を所定の順序で並べたコマンド群と、予測可能コマンドのそれぞれに対して期待されるべき期待レスポンスと、予測不能コマンドに対する「不明」を示す期待レスポンスと、を含んだコマンドスクリプトを、第2の通信部を介して通信網へ送信する機能を有するようにし、
第1の制御部は、通信網から第1の通信部を介してコマンドスクリプトを受信する機能を有するようにし、
第1の制御部は、更に、コマンドスクリプトから決められた順序に従って1つのコマンドを抽出し、この抽出したコマンドをリーダライタ装置を介してICカードに送信し、この送信したコマンドに対してICカードから返信されてきたレスポンスをリーダライタ装置を介して受信し、この受信したレスポンスとコマンドスクリプト内の対応する期待レスポンスとを比較し両者が一致した場合、もしくは対応する期待レスポンスが「不明」を示す期待レスポンスであった場合には一致を示す判定結果を、それ以外の場合には不一致を示す判定結果を、それぞれ得る一巡交信処理を、一致を示す判定結果が得られる限り繰り返し実行し、この一巡交信処理を繰り返し実行している間、ICカードから返信されてきたレスポンスに含まれている情報を蓄積し、コマンドスクリプトに含まれていたすべてのコマンドに関する一巡交信処理において一致を示す判定結果が得られた場合には、成功を示す実行結果を第1の通信部を介して通信網へ送信し、いずれかのコマンドに関する一巡交信処理において不一致を示す判定結果が得られた場合には、失敗を示す実行結果を第1の通信部を介して通信網へ送信し、かつ、蓄積されていた情報を実行結果としてまとめて送信する機能を有し、
第2の制御部は、更に、通信網から第2の通信部を介して実行結果を受信する機能を有するようにしたものである。
(2) 本発明の第2の態様は、上述の第1の態様に係るICカード遠隔制御システムにおいて、
第2の制御部が、複数のコマンドスクリプトを順番に送信する機能を有し、1つのコマンドスクリプトに関する実行結果を受信してから、次のコマンドスクリプトの送信を行うようにしたものである。
(3) 本発明の第3の態様は、上述の第1または第2の態様に係るICカード遠隔制御システムにおいて、
第1の通信部および第2の通信部が、それぞれデータを圧縮/伸張する機能を有し、両者間の通信がデータ圧縮された状態で行われるようにしたものである。
(4) 本発明の第4の態様は、上述の第1〜第3の態様に係るICカード遠隔制御システムにおいて、
第1の通信部および第2の通信部が、それぞれデータを暗号化/復号化する機能を有し、両者間の通信が暗号化された状態で行われるようにしたものである。
(5) 本発明の第5の態様は、上述の第1〜第4の態様に係るICカード遠隔制御システムにおける第1の制御部もしくは第2の制御部としてコンピュータを機能させるためのプログラムを用意し、このプログラムをコンピュータ読み取り可能な記録媒体に記録して配付できるようにしたものである。
本発明に係るICカード遠隔制御システムによれば、通信網を介してICカードを遠隔制御する際に、当該通信網の利用効率を改善することが可能になる。
以下、本発明を図示する実施形態に基づいて説明する。図1は、本発明の一実施形態に係るICカード遠隔制御システムの基本構成を示すブロック図である。このシステムは、第1の地点にあるICカード10を、第2の地点から遠隔制御するためのシステムであり、図示のとおり、第1の地点に設置された第1の処理システム100と、第2の地点に設定された第2の処理システム200と、によって構成されている。両システム100,200は、通信網300を介して接続することが可能である。通信網300は、両システムを接続することができる通信網であれば、どのような通信網であってもかまわない。具体的には、たとえば、電話回線網やインターネットなどを通信網300として利用することができる。
図示のとおり、第1の処理システム100は、ICカード10に対してコマンド送信とレスポンス受信とを行うリーダライタ装置110と、このリーダライタ装置110を制御する第1の制御部120と、この第1の制御部120と外部との間の通信を行う第1の通信部130と、を有しており、第2の処理システム200は、外部との間の通信を行う第2の通信部210と、遠隔制御による指示を与える第2の制御部220と、を有している。
第1の通信部130と第2の通信部210とは通信網300を介して互いに通信を行う機能を有している。たとえば、通信網300が電話回線網であれば、第1の通信部130および第2の通信部210は、この電話回線網に接続する機能をもった通信装置によって構成され、通信網300がインターネットであれば、第1の通信部130および第2の通信部210は、IPプロトコルに従ったパケット通信機能をもった通信装置によって構成されることになる。
第2の制御部220は、ICカード10に対する制御を統括するための構成要素であり、後述するように、所定のコマンドスクリプトを用意し、これを第2の通信部210を介して通信網300へと送り出す処理を行う。ここで、コマンドスクリプトとは、所定の順序で並べられた複数のコマンドと、これら各コマンドのそれぞれに対して期待されるべき期待レスポンスと、によって構成されるコード群である。図2は、このコマンドスクリプトCSの一例を示す概念図である。
図示の例は、5つのコマンドと、この5つのコマンドのそれぞれに対応する期待レスポンスと、によってコマンドスクリプトCSを構成した例である。具体的には、CMD1〜CMD5までの5つのコマンドが順序づけられており、EXP1〜EXP5までの5つのレスポンスが対応づけられている。たとえば、コマンドCMD1には、期待レスポンスEXP1が対応づけられているが、これは、ICカード10に対して、コマンドCMD1を与えた場合に、ICカード10からは、EXP1なるレスポンスが返ってくることが期待されることを意味している。なお、図2のNo.の欄の数字は、コマンドの順番を示すために便宜的に記述したものであり、実際には、このような順番を示すコードは、必ずしも含ませる必要はない。
ここで、各期待レスポンスEXP1〜EXP5は、コマンドがCMD1〜CMD5の順に与えられるという点を考慮した上で、ICカード10側から返信されるであろうと期待されるレスポンスになっている。たとえば、コマンドCMD1が、ICカード10の内部メモリの所定アドレスADD1に所定のデータを書き込む命令であり、コマンドCMD2が、当該アドレスADD1に書き込まれているデータを読み出してレスポンスとして返す命令であった場合、期待レスポンスEXP2は、コマンドCMD1によって書き込まれるデータに依存することになるので、直前にコマンドCMD1が実行されることを考慮した上で、期待レスポンスEXP2の内容が定義されることになる。
ICカード10内に組み込まれているプログラムの内容がわかっていれば、このICカード10に対して、5つのコマンドCMD1〜CMD5を、この順番で与えた場合、それぞれに対してどのようなレスポンスが返ってくるかを予測することができるので、予測されるレスポンスを期待レスポンスEXP1〜EXP5として予め用意しておくことができる。したがって、5つのコマンドCMD1〜CMD5が決まれば、たとえば、コンピュータ上でのシミュレーションを行うことにより、期待レスポンスEXP1〜EXP5を自動的に生成することが可能である。なお、ICカード10内に書き込まれている未知のデータに基づいて、レスポンスの内容が変化するようなコマンドの場合は、得られるレスポンスを予測することはできないが、そのようなコマンドの場合には、期待レスポンスとして「不明」を示すコードを入れておけばよい。
第2の制御部220内に用意されたコマンドスクリプトCSは、第2の通信部210を介して、第1の通信部130宛てに通信網300へと送信される。第1の通信部130は、このコマンドスクリプトCSを受信し、これを第1の制御部120へ与える。
こうして、第1の通信部130を介してコマンドスクリプトCSを受信した第1の制御部120は、これを順に実行する処理を行う。すなわち、第1の制御部120は、コマンドスクリプトCSから決められた順序に従って1つのコマンドを抽出し、この抽出したコマンドをリーダライタ装置110を介してICカード10に送信し、この送信したコマンドに対してICカード10から返信されてきたレスポンスをリーダライタ装置110を介して受信し、この受信したレスポンスがコマンドスクリプトCSに含まれている期待レスポンスに一致するか否かを判定する処理を行う。ここでは、このような処理を、「一巡交信処理」と呼ぶことにする。要するに、この一巡交信処理は、ICカード10との間で、1コマンドを送信し、1レスポンスを受信し、これを期待レスポンスと照合する処理ということができる。
第1の制御部120は、このような一巡交信処理を、一致を示す判定結果が得られる限り繰り返し実行し、その実行結果を第1の通信部130を介して、第2の通信部210宛てに通信網300へと送信する。第2の通信部210は、こうして送信されてきた実行結果を受信し、第2の制御部220へ与える。結局、第2の制御部220は、図2に示すようなコマンドスクリプトCSを送信し、これに対する実行結果を受信することになる。
図3は、第1の制御部120の上述した処理手順を示す流れ図である。まず、ステップS1で、コマンドスクリプトCSを受信し、ステップS2で、所定の順序に従い、1つのコマンドを抽出し、ステップS3で、抽出したコマンドをリーダライタ装置110を介してICカード10へ送信する処理を行う。ICカード10は、与えられたコマンドを、内蔵するプログラムに基づいて実行し、所定のレスポンスを返す処理を行う。そこで、第1の制御部120は、ステップS4で、ICカード10からのレスポンスを受信した上で、ステップS5で、この受信したレスポンスが期待レスポンスに一致するか否かを判定する。もし一致していれば、ステップS5からステップS6へと進み、コマンドスクリプトCS内にまだ抽出していないコマンドの残りがあれば、ステップS2へと戻ることになる。結局、ステップS2〜S6までの一連の処理が、上述した一巡交信処理に相当する。
こうして、ICカード10からのレスポンスが、期待レスポンスに一致している限り、ステップS6からステップS2へと戻り、一巡交信処理が繰り返し実行されることになる。そして、コマンドスクリプトCS内のすべてのコマンドを抽出し終えたら、ステップS6からステップS7へと進み、第2の処理システム200に対して、成功を示す実行結果を送信する。一方、ステップS5において、不一致なる判定結果が得られたら、ステップS5からステップS8へと進み、第2の処理システム200に対して、失敗を示す実行結果が送信される。
たとえば、ステップS1において、図2に示すコマンドスクリプトCSが受信された場合、まず、ステップS2で、コマンドCMD1が抽出され、ステップS3で、このコマンドCMD1がICカード10へと送信されることになる。そして、ステップS4で、ICカード10から返信されてきたレスポンスが受信され、ステップS5において、受信されたレスポンスが期待レスポンスEXP1に一致するか否かが判定される。一致していれば、今度は、ステップS2で、コマンドCMD2が抽出され、同様の処理が実行される。このコマンドCMD2に対するレスポンスが、期待レスポンスEXP2と一致していれば、続いてコマンドCMD3が抽出され、ICカード10へと与えられる。こうして、一連のコマンドCMD1〜CMD5のすべてについて、それぞれ期待レスポンスEXP1〜EXP5と一致するレスポンスが得られたら、ステップS7において、成功を示す実行結果が第2の処理システム200宛に送信される。しかし、いずれかのコマンドに対するレスポンスが、期待レスポンスと一致しなかったら、その時点で処理は中止され、ステップS8において、失敗を示す実行結果が第2の処理システム200宛に送信される。こうして、成功もしくは失敗を示す実行結果の送信が完了したら、再びステップS1へと戻り、次に与えられるコマンドスクリプトを受信し、同様の処理を繰り返すことになる。
結局、第1の制御部120は、コマンドスクリプトCSに含まれていたすべてのコマンドに関する一巡交信処理において一致を示す判定結果が得られた場合には、成功を示す実行結果を送信し、いずれかのコマンドに関する一巡交信処理において不一致を示す判定結果が得られた場合には、失敗を示す実行結果を送信することになる。しかも、第1の制御部120は、コマンドスクリプトCSに含まれていたすべてのコマンドに関する一巡交信処理が完了するまで、もしくは、いずれかのコマンドに関する一巡交信処理において不一致を示す判定結果が得られるまで、実行結果の送信を行うことはない。
第1の制御部120が、このような処理を行えば、第2の制御部220は、用意したコマンドスクリプトCSが、第1の処理システム100側で支障なく実行されたか否かを認識することができる。すなわち、第1の処理システム100側から成功を示す実行結果が送信されてくれば、コマンドスクリプトCS内のすべてのコマンドの実行に対して、期待したレスポンスが得られたことを認識でき、すべてのコマンドが予定どおり実行されたことを認識できる。逆に、失敗を示す実行結果が送信されてくれば、コマンドスクリプトCS内のいずれかのコマンドの実行に対して、期待したレスポンスが得られず、そこで処理が中止されたことを認識できる。
第2の制御部220に、複数のコマンドスクリプトを用意しておいた場合には、これを第1の処理システム100側に順番に送信するようにし、1つのコマンドスクリプトに関する実行結果を受信してから、次のコマンドスクリプトの送信を行うようにすればよい。たとえば、n個のコマンドスクリプトCS1,CS2,…,CSnが用意されていた場合、まず、コマンドスクリプトCS1を送信し、これに対して成功を示す実行結果が得られたら、次にコマンドスクリプトCS2を送信し、以下同様に順次送信を行うようにすればよい。また、失敗を示す実行結果が得られたら、第2の制御部220で、必要な回復処理をとるようにすればよい。
本発明に係るICカード遠隔制御システムの特徴は、一巡交信処理が、ICカード10と第1の処理システム100との間でのみ(別言すれば、第1の地点においてのみ)実行される点にある。要するに、コマンドおよびレスポンスのキャッチボール式のやりとりが、第1の地点においてのみ実行されることになり、通信網300を介してのコマンドおよびレスポンスのキャッチボール式のやりとりは不要になるのである。コマンドスクリプトCSとして、ある程度まとまった数のコマンドおよび期待レスポンスを用意しておけば、通信網300の利用効率を向上させることができる。
なお、実用上は、第1の通信部130および第2の通信部210には、それぞれデータを圧縮/伸張する機能を付加しておき、通信網300を介して行われる両者間の通信が、データ圧縮された状態で行われるようにしておくのが好ましい。このデータ圧縮により、通信網300の利用効率を更に向上させることができる。
また、第1の通信部130および第2の通信部210には、それぞれデータを暗号化/復号化する機能を付加しておき、通信網300を介して行われる両者間の通信が、暗号化された状態で行われるようにしておくのが好ましい。そうすれば、通信網300を介した通信における安全性の確保も可能になる。
ところで、ICカード10から返信されるレスポンスには、最終的に、第2の制御部220側へ伝達すべき情報が含まれている場合がある。たとえば、ICカード10内の所定アドレスからデータを読み出すコマンドを与えた場合、読み出されたデータを含むレスポンスが返されることになる。そこで、実用上は、第1の制御部120に、一巡交信処理を繰り返し実行している間、ICカード10から返信されてきたレスポンスに含まれている情報を蓄積し、この蓄積された情報を、成功を示す実行結果としてまとめて送信する機能を設けておくのが好ましい。
なお、前述したとおり、期待されるべきレスポンスが予測不能な特定のコマンドに対しては、「不明」を示す期待レスポンスを対応づけたコマンドスクリプトを用意しておくことができるが、このような「不明」を示す期待レスポンスを利用する場合、第1の制御部120が、「不明」を示す期待レスポンスに関しては常に一致を示す判定結果が得られたものとする処理を行うようにしておけばよい。
たとえば、ICカード10内の所定アドレスからデータを読み出すコマンドの場合、期待されるレスポンスは、正常に読み出しが完了したことを示す正常読出コードに続いて、読み出されたデータが羅列された形式になるのが一般的である。この場合、正常読出コードについては既知であるが、それに後続するデータの羅列の内容は未知である。このような場合は、データの羅列部分に関しては「不明」を示す期待レスポンスを用意しておくようにし、一致判定の際には、正常読出コードの部分のみの一致判定を行い、データの羅列部分に関しては、常に一致を示す判定結果が得られたものとする処理を行うようにしておけばよい。
最後に、より具体的な処理に本発明を適用した例を述べておく。図4は、10個のデータD1〜D10を、ICカード10内の所定のアドレスに書き込むための一連のコマンド群と、これに応じてICカードから返信されてくるレスポンス群の対応を示すテーブルである。ここで、1番目に示す「Read ID」なるコマンドは、ICカード10自身に付与された所定の識別コード(ICカード10内のメモリの所定箇所に格納されている)をレスポンスとして返すことを指示するコマンドであり、この例では、「12345」なる識別コードが、レスポンスとして返された例が示されている。
2番目の「Write D1」なるコマンドは、ICカード10内の所定のメモリ場所に、D1なるデータを書き込むことを指示するコマンドである。実際には、このような書き込みコマンドには、書き込みを行うメモリアドレスあるいはレコードを特定するコードが含まれるのが一般的であるが、ここでは便宜上、このような単純なコマンドを例にとって説明する。図示の例では、このような書き込みコマンドに対して、「OK」なるレスポンスが返された例が示されている。このレスポンスは、指示どおりの書き込み処理が正常に終了したことを示すものであり、書き込みが正常に行われなかった場合には、たとえば、「ERROR」のような別なレスポンスが返されることになる。3番目〜11番目のコマンドも、同じ書き込みコマンドであり、それぞれデータD2〜D10の書き込みを指示しており、「OK」なるレスポンスが得られた例が示されている。
この例では、データD1〜D10のように、細かく分割したデータを複数のコマンドに分けて書き込むようにしているが、一般的なICカードでは、このような形式で書き込みが行われることが少なくない。これは、既に述べたとおり、ICカードの標準規格(ISO7816)によって、1回のコマンド/レスポンスにおけるデータの転送最大量が所定値に制限されているためである。その結果、合計11回の連続したコマンド/レスポンスのやりとりが必要になり、もし、このコマンド/レスポンスのやりとりを、従来どおり、通信網を介して遠隔操作で行ったとすると、通信網を利用した往復通信回数は合計11回になる。
本発明に係るICカード遠隔制御システムを利用すれば、同じ処理を実行する場合でも、通信網を利用した往復通信回数を2回に減らすことが可能になる。図5は、図4に示すコマンド群を用いた処理を、本発明に係るICカード遠隔制御システムを用いて実行する際に用意するコマンドスクリプトを示すテーブルである。図示の例では、2つのコマンドスクリプトCS1,CS2が用意されている。
第1のコマンドスクリプトCS1は、「Read ID」なるコマンドと、その期待レスポンス「φ」とによって構成されている。ここで、期待レスポンス「φ」は、前述した「不明」を示すものであり、「Read ID」なるコマンドによって返されるレスポンスが予測できないものであることを示す。上述したように、「Read ID」なるコマンドは、ICカード10自身に付与された所定の識別コードをレスポンスとして返すことを指示するコマンドであるため、個々のICカードごとにレスポンス内容は異なり、期待レスポンスを予測することはできない。そこで「不明」を示す「φ」なるコードが期待レスポンスとして定義されている。
一方、第2のコマンドスクリプトCS2は、「Write D1」〜「Write D10」なる10個のコマンドと、それぞれについての期待レスポンス「OK」によって構成されている。ここで、期待レスポンス「OK」は、書き込み処理が正常に終了した場合に返されるレスポンスであり、何らかの支障がなければ、この「OK」なるレスポンスが返されることが期待される。
本発明に係るICカード遠隔制御システムの場合、この図5に示す2つのコマンドスクリプトCS1,CS2を第2の処理システム200側に用意しておき、まず、第1のコマンドスクリプトCS1を第1の処理システム100側に送信し、これに対して成功を示す実行結果が返信されてきたら、次に、第2のコマンドスクリプトCS2を送信し、これに対する実行結果を受信すればよい。したがって、通信網300を利用した往復通信回数を2回に抑えることができ、通信網の利用効率を大幅に改善することができる。
この図5に示すようなコマンドスクリプトCS1,CS2を受信したときの第1の制御部120の処理は、次のとおりである。まず、図3の流れ図におけるステップS1において、コマンドスクリプトCS1を受信し、ステップS2で、「Read ID」なるコマンドを抽出し、ステップS3で、これをICカード10へと送信する。すると、ICカード10からは、たとえば、「12345」なる識別コードがレスポンスとして返されるので、ステップS4でこれを受信し、ステップS5で一致判定が行われる。このとき、コマンドスクリプトCS1内の期待レスポンスは、「φ」(不明)となっているので、一致したとする判定がなされ、ステップS6へ進む。コマンドスクリプトCS1には、もうコマンドは残っていないので、更にステップS7へと進み、成功を示す実行結果が第2の処理システム200側へと送信されることになる。このとき、この成功を示す実行結果に、レスポンスに含まれていた「12345」なる識別コードを組み込むようにすれば、「Read ID」なるコマンドの実行結果を、第2の処理システム200側へと伝えることができる。
第2の制御部220は、この実行結果を受信して、ICカード10の識別コード「12345」を認識する。ここで、必要があれば、当該識別コードが正当な権限を与えられたICカードの識別コードであるか否か等の判断処理が行われ、問題がなければ、今度は、第2のコマンドスクリプトCS2が、第1の処理システム100側に送信されることになる。
第1の制御部120では、再び、ステップS1において、コマンドスクリプトCS2の受信が行われる。そして、ステップS2で、「Write D1」なる最初のコマンドを抽出し、ステップS3で、これをICカード10へと送信する。すると、ICカード10内では、データD1を所定のメモリ場所に書き込む処理が行われ、書込処理が正常に実行されれば、「OK」なるレスポンスが返される。このレスポンスは、ステップS4で受信され、ステップS5で一致判定が行われる。コマンドスクリプトCS2内のコマンド「Write D1」に対応する期待レスポンスは、「OK」であるので、期待どおりのレスポンスが得られたことになり、一致判定がなされ、ステップS6を経て、ステップS2へ進む。そして、2番目のコマンド「Write D2」が抽出され、ステップS3で、ICカード10へと送信される。
こうして、ICカード10側から、「OK」なるレスポンスが返信される限り、ステップS2〜S6の一巡交信処理が繰り返し実行され、「Write D1」〜「Write D10」なるコマンドが順次、ICカード10内で実行される。こうして、最後の「Write D10」なるコマンドの実行が完了すると、コマンドスクリプトCS2には、もうコマンドは残っていないので、ステップS7へと進み、成功を示す実行結果が第2の処理システム200側へと送信されることになる。第2の制御部220は、この実行結果を受信することにより、ICカード10側において、データD1〜D10の書込処理が、支障なく完了したことを認識することができる。
一方、書込処理に何らかの支障が生じた場合には、第2の制御部220に対して、失敗を示す実行結果が送信されることになる。たとえば、ICカード10側で、4番目のコマンド「Write D4」を実行しようとしたときに、所定のメモリ場所の空き領域が不足しており、正常な書込処理が完了できなかったとすると、この「Write D4」なるコマンドに対しては、たとえば、「ERROR」というような書込失敗を示すレスポンスが返されることになる。すると、第1の制御部120では、期待レスポンス「OK」との不一致が確認されるので、ステップS5からステップS8へと移行し、第2のコマンドスクリプトCS2の実行はそこで中止され、失敗を示す実行結果が第2の処理システム200側へと送信されることになる。したがって、第2の制御部220は、コマンドスクリプトCS2の実行が正常に終了しなかったことを認識できる。
なお、第1の制御部120が、失敗を示す実行結果として、4番目のコマンド「Write D4」に対して、「ERROR」なるレスポンスが得られたために不一致が生じたことを示す情報を送信するようにしておけば、第2の制御部220は、第2のコマンドスクリプトCS2内の3番目のコマンド「Write D3」までは正常に実行され、ICカード10内には、データD1〜D3までが正常に書き込まれている状態になっていることを認識することができ、4番目のコマンド「Write D4」に対しては「ERROR」なるレスポンスが得られたことも認識することができる。
この図5に示すコマンドスクリプトCS1,CS2は、たとえば、携帯電話に装着されたICカードに対して、サーバ装置からアプリケーションプログラムをダウンロードするような処理に利用することができる。この場合、第1の処理システム100は携帯電話ということになり、ICカード10はこの携帯電話内に装着されたICカードということになる。また、第2の処理システム200は、アプリケーションプログラムを提供する機能をもったサーバ装置ということになる。そして、第1のコマンドスクリプトCS1の実行により、当該ICカードが正規のダウンロード権限をもったICカードであることを確認した上で、第2のコマンドスクリプトCS2の実行により、データD1〜D10なる10個の部分に分割されたアプリケーションプログラムがICカード10側にダウンロードされる。
もちろん、データD1〜D10はプログラムのデータである必要はなく、画像データ、音楽データ、その他、任意のデータでかまわない。したがって、図5に示すコマンドスクリプトCS1,CS2は、たとえば、ICカード内に格納されているユーザの顔写真を通信網300を介して更新するような処理にも利用することができる。一般に、顔写真のような画像データは、比較的データ量が大きく、ICカードへの書込処理を行うには、複数回の書込コマンドを与える必要がある。図5に示すコマンドスクリプトCS2を利用すれば、ユーザの顔写真の画像データをデータD1〜D10に分割して書き込むことができ、コマンドスクリプトCS1により、事前に、ICカードの識別コードの確認が行われることになるので、セキュリティの確保も配慮されることになる。
図5では、ICカードに対するデータの書込処理の例を示したが、もちろん、本発明は、ICカードからのデータの読出処理にも利用可能である。この場合、ICカードに対する連続したデータ読出コマンドからなるコマンドスクリプトCSを用意しておけばよい。通常、読み出されたデータは、レスポンスの一部として返信されることになるので、期待レスポンスとしては、読出処理が正常に終了したことを示すコードの部分のみ用意しておき、読み出されたデータの部分については「φ」(不明)を示すコードにしておくようにする。そうすれば、正常な読み出しが行われている限り、連続して読出処理が実行されることになる。第1の制御部120は、個々の読出コマンドのレスポンスに含まれていたデータ(読み出されたデータ)を蓄積しておき、最後に、これら蓄積データを、成功を示す実行結果として、第2の処理システム200側に送信する処理を実行すればよい。
以上、本発明を図示する実施形態に基づいて説明したが、本発明はこの実施形態に限定されることはなく、この他にも種々の形態で実施可能である。特に、第1の処理システム100や第2の処理システム200は、上述した実施形態のような携帯電話とサーバ装置に限定されるものではなく、通信機能と情報処理機能とを備えた装置であれば、どのような装置を用いてもかまわない。また、第1の制御部120や第2の制御部220の機能は、実際には、携帯電話内に組み込まれたCPU(小型コンピュータ)や、サーバ装置を構成するコンピュータに、専用の処理プログラムを組み込むことにより実現されるものであり、このような専用の処理プログラムは、光ディスクなどのコンピュータ読み取り可能な記録媒体に記録して配付することが可能である。
また、本発明にいう「ICカード」とは、一般市場において、いわゆる「ICカード」と称されて取引されているものに限定されるわけではなく、外部装置からのコマンド送信に基づいて所定の処理を実行し、その結果をレスポンスとして返信する機能をもった小型情報処理装置を広く意味するものである。同様に、本発明にいう「リーダライタ装置」とは、このような広義の「ICカード」に対して、コマンド送信を行うとともに、レスポンス受信を行う機能をもった装置を広く意味するものである。最近では、PDAやデジカメなどで利用するSDカードやMMCなどのメモリカードに、従来の一般的な「ICカード」の機能を組み込んだ商品(たとえば、MOPASSカード)なども提案されている。このMOPASSカードのようなICカード機能付きのメモリカードも、本発明にいう「ICカード」の範疇に入るものであり、この場合、MOPASSカードに対応したメモリカードスロットは、本発明にいう「リーダライタ装置」の範疇に入るものである。
本発明の一実施形態に係るICカード遠隔制御システムの基本構成を示すブロック図である。 本発明に用いられるコマンドスクリプトCSの一例を示す概念図である。 第1の制御部120の処理手順を示す流れ図である。 10個のデータD1〜D10を、ICカード10内の所定のアドレスに書き込むための一連のコマンド群と、これに応じてICカードから返信されてくるレスポンス群の対応を示すテーブルである。 図4に示すコマンド群を用いた処理を、本発明に係るICカード遠隔制御システムを用いて実行する際に用意するコマンドスクリプトを示すテーブルである。
符号の説明
10…ICカード
100…第1の処理システム
110…リーダライタ装置
120…第1の制御部
130…第1の通信部
200…第2の処理システム
210…第2の通信部
220…第2の制御部
300…通信網
CS,CS1,CS2…コマンドスクリプト
S1〜S8…流れ図の各ステップ

Claims (5)

  1. 第1の地点にあるICカードを、第2の地点から遠隔制御するためのシステムであって、
    第1の地点に設置された第1の処理システムと、第2の地点に設定された第2の処理システムと、を備え、
    前記第1の処理システムは、ICカードに対してコマンド送信とレスポンス受信とを行うリーダライタ装置と、このリーダライタ装置を制御する第1の制御部と、この第1の制御部と外部との間の通信を行う第1の通信部と、を有し、
    前記第2の処理システムは、遠隔制御による指示を与える第2の制御部と、この第2の制御部と外部との間の通信を行う第2の通信部と、を有し、
    前記第1の通信部と前記第2の通信部とは所定の通信網を介して互いに通信を行う機能を有しており、
    前記第2の制御部は、期待されるべきレスポンスが予測可能な予測可能コマンドと、期待されるべきレスポンスが予測不能な予測不能コマンドと、を所定の順序で並べたコマンド群と、前記予測可能コマンドのそれぞれに対して期待されるべき期待レスポンスと、前記予測不能コマンドに対する「不明」を示す期待レスポンスと、を含んだコマンドスクリプトを、前記第2の通信部を介して前記通信網へ送信する機能を有し、
    前記第1の制御部は、前記通信網から前記第1の通信部を介して前記コマンドスクリプトを受信する機能を有し、
    前記第1の制御部は、更に、前記コマンドスクリプトから前記順序に従って1つのコマンドを抽出し、この抽出したコマンドを前記リーダライタ装置を介して前記ICカードに送信し、この送信したコマンドに対して前記ICカードから返信されてきたレスポンスを前記リーダライタ装置を介して受信し、この受信したレスポンスと前記コマンドスクリプト内の対応する期待レスポンスとを比較し両者が一致した場合、もしくは前記対応する期待レスポンスが「不明」を示す期待レスポンスであった場合には一致を示す判定結果を、それ以外の場合には不一致を示す判定結果を、それぞれ得る一巡交信処理を、一致を示す判定結果が得られる限り繰り返し実行し、この一巡交信処理を繰り返し実行している間、前記ICカードから返信されてきたレスポンスに含まれている情報を蓄積し、コマンドスクリプトに含まれていたすべてのコマンドに関する一巡交信処理において一致を示す判定結果が得られた場合には、成功を示す実行結果を前記第1の通信部を介して前記通信網へ送信し、いずれかのコマンドに関する一巡交信処理において不一致を示す判定結果が得られた場合には、失敗を示す実行結果を前記第1の通信部を介して前記通信網へ送信し、かつ、蓄積されていた前記情報を実行結果としてまとめて送信する機能を有し、
    前記第2の制御部は、更に、前記通信網から前記第2の通信部を介して前記実行結果を受信する機能を有することを特徴とするICカード遠隔制御システム。
  2. 請求項1に記載の遠隔制御システムにおいて、
    第2の制御部が、複数のコマンドスクリプトを順番に送信する機能を有し、1つのコマンドスクリプトに関する実行結果を受信してから、次のコマンドスクリプトの送信を行うことを特徴とするICカード遠隔制御システム。
  3. 請求項1または2に記載の遠隔制御システムにおいて、
    第1の通信部および第2の通信部が、それぞれデータを圧縮/伸張する機能を有し、両者間の通信がデータ圧縮された状態で行われるようにしたことを特徴とするICカード遠隔制御システム。
  4. 請求項1〜3のいずれかに記載の遠隔制御システムにおいて、
    第1の通信部および第2の通信部が、それぞれデータを暗号化/復号化する機能を有し、両者間の通信が暗号化された状態で行われるようにしたことを特徴とするICカード遠隔制御システム。
  5. 請求項1〜4のいずれかに記載の遠隔制御システムにおける第1の制御部もしくは第2の制御部としてコンピュータを機能させるためのプログラム。
JP2003270271A 2003-07-02 2003-07-02 Icカード遠隔制御システム Expired - Fee Related JP4283611B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003270271A JP4283611B2 (ja) 2003-07-02 2003-07-02 Icカード遠隔制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003270271A JP4283611B2 (ja) 2003-07-02 2003-07-02 Icカード遠隔制御システム

Publications (2)

Publication Number Publication Date
JP2005027215A JP2005027215A (ja) 2005-01-27
JP4283611B2 true JP4283611B2 (ja) 2009-06-24

Family

ID=34190272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003270271A Expired - Fee Related JP4283611B2 (ja) 2003-07-02 2003-07-02 Icカード遠隔制御システム

Country Status (1)

Country Link
JP (1) JP4283611B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4913357B2 (ja) * 2005-04-12 2012-04-11 東日本電信電話株式会社 管理サーバと管理方法
JP2006338306A (ja) * 2005-06-01 2006-12-14 Fuji Electric Holdings Co Ltd 非接触icチップを利用した大量データ転送システムおよび方法
JP2007049554A (ja) * 2005-08-11 2007-02-22 Nec Corp Rfidリーダ管理システム、rfidリーダ管理システム、及びプログラム
JP4979912B2 (ja) 2005-08-31 2012-07-18 フェリカネットワークス株式会社 情報処理システム,クライアント,サーバ,プログラム,情報処理方法
JP4796010B2 (ja) * 2006-06-27 2011-10-19 パナソニック株式会社 通信方法及び通信装置
JP5224538B2 (ja) * 2009-06-03 2013-07-03 株式会社アタリ メールコミュニケーションシステム
JP5662777B2 (ja) * 2010-12-03 2015-02-04 株式会社エヌ・ティ・ティ・データ コマンド送信装置、コマンド送信プログラム、コマンド送信方法、及びコマンド通信システム
WO2016007057A1 (en) * 2014-07-10 2016-01-14 Telefonaktiebolaget L M Ericsson (Publ) Methods and devices for signalling in a communication network
JP6676924B2 (ja) * 2015-10-27 2020-04-08 大日本印刷株式会社 データ変換装置
JP7074826B2 (ja) * 2020-11-18 2022-05-24 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 通信ネットワークでのシグナリングのための方法およびデバイス

Also Published As

Publication number Publication date
JP2005027215A (ja) 2005-01-27

Similar Documents

Publication Publication Date Title
US8184810B2 (en) Secure device and relay terminal
USRE44442E1 (en) Information processing apparatus and information processing method
US7428992B2 (en) Secure device and system for issuing IC cards
JP3028815B2 (ja) 携帯可能電子装置の伝送方法と携帯可能電子装置
JP4283611B2 (ja) Icカード遠隔制御システム
JP6516133B2 (ja) 通信デバイス及び通信システム
EP1615164B1 (en) IC card with self-diagnostic function
KR100782113B1 (ko) 메모리 카드 시스템 및 그것의 호스트 식별 정보 전송 방법
US20110197203A1 (en) Communication device, communication method and program
CN101309266A (zh) 数据控制系统、控制服务器、数据控制方法和程序
CN104850873A (zh) 通信设备及其控制方法和信息处理设备及其控制方法
US6811089B2 (en) Portable electronic medium issuing system and issuing method and portable electronic medium
JP5754287B2 (ja) Icチップ、icチップにおける処理方法、uim、携帯端末、及びicチップ用処理プログラム
JP2001282467A (ja) Sdカード認証領域へのデータリード/ライトの方法およびデータ通信装置
US6607138B2 (en) Communication method of IC card reader/writer
JPH01255990A (ja) Icカードデータ伝送方式
CN112613872A (zh) 作为协议接口的类型4nfc标记
JP6097855B2 (ja) Icカード
JP4620418B2 (ja) リアルタイムコマンドの処理方法、icカード、およびその組み込み端末
KR101455539B1 (ko) Ic 카드 및 ic 카드 제어 방법
CN108521646A (zh) 一种近场通信方法、装置及计算机可读存储介质
EP1804189A2 (en) Recording method, recorder and IC card
JP7468754B1 (ja) 電子情報記憶媒体、icチップ、icカード、受信ブロック処理方法、及びプログラム
JP6948021B2 (ja) 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
JPH0772891B2 (ja) データ伝送方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090317

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090319

R150 Certificate of patent or registration of utility model

Ref document number: 4283611

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140327

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees