(57)【特許請求の範囲】
【請求項１】
ＣＰＵを内蔵したＩＣカードと、このＩＣカードをアクセスするためのリーダライタ装置と、の間に信号伝送路を形成し、この信号伝送路を介して、前記リーダライタ装置から前記ＩＣカードへ所定のコマンドを往信し、前記ＩＣカードから前記リーダライタ装置へ前記コマンドに応じたレスポンスを返信する、という往信処理および返信処理を、コマンドおよびレスポンスを並べたパターンファイルに基いて実行することにより、ＩＣカードに対するアクセスを行う場合に、アクセスに利用するパターンファイルを作成する作業を支援する装置であって、
種々の書式で記述されたもとになるパターンファイルを入力する入力部と、
前記もとになるパターンファイルを所定の共通書式で記述しなおした中間パターンファイルに変換する変換部と、
前記変換部による変換作業に用いられる対応関係を定義する対応関係定義部と、
を備え、
前記入力部が、実際に前記信号伝送路を伝送させるための伝送データ部と、この伝送データ部の前後に識別子として付与される区切子部と、を有する文字列からなるもとになるパターンファイルを入力する機能を有し、
前記対応関係定義部が、前記種々の書式における区切子部と所定の共通区切子部との対応関係を定義する機能を有し、
前記変換部が、前記対応関係に基づいて、前記もとになるパターンファイル内の区切子部を、前記共通区切子部に置換することにより、実際に前記信号伝送路を伝送させるための伝送データ部と、この伝送データ部の前後に識別子として付与される共通区切子部と、を有する文字列からなる中間パターンファイルへの変換を行うことを特徴とするＩＣカードアクセス用パターンファイルの作成支援装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はＩＣカードアクセス用パターンファイルの作成支援装置、特に、種々の書式で記述されたもとになるパターンファイルを、実際のアクセスに利用できる形態に変換することにより、アクセス用のパターンファイルを作成する作業を支援する装置に関する。
【０００２】
【従来の技術】
磁気カードに代わる新しい情報記憶媒体として、ＩＣカードが注目を集めている。特に、ＣＰＵを内蔵したＩＣカードでは、内部に記憶された情報に関して高度のセキュリティが確保できるため、重要な情報を取り扱う分野においても広く利用されるものと期待されている。
【０００３】
現在、一般的に普及しているＩＣカードは、リーダライタ装置によってアクセスされる。特に、ＣＰＵを内蔵したＩＣカードでは、インターフェイス回路を介して、リーダライタ装置とＩＣカード内部のＣＰＵとが信号伝送路で結合され、この信号伝送路を介して、両者の間での情報交換が行われる。この場合、リーダライタ装置からＩＣカードへは、コマンドという形式で情報が伝達され、逆に、ＩＣカードからリーダライタ装置へは、このコマンドに対するレスポンスという形式で情報が伝達される。ＩＣカード内のＣＰＵは、リーダライタ装置から与えられたコマンドに基いて、リセット、内蔵メモリへの書き込みや読出しなど、種々の処理を実行し、その実行結果をレスポンスという形式でリーダライタ装置側へ返すことになる。たとえば、リーダライタ装置側からリセットコマンドが与えられると、ＩＣカード側のＣＰＵはリセット処理を実行した後、このリセット処理の実行を示す所定のコードをレスポンスとしてリーダライタ装置側へと返すことになる。また、リーダライタ装置側から所定のデータとともにこれを所定のアドレスに書き込む命令がコマンドとして与えられると、ＩＣカード側のＣＰＵは、コマンドとして与えられたデータを内部メモリに書き込む処理を実行した後、正しく書き込まれたか、あるいは何らかのエラーが発生したか、を示す情報をレスポンスとしてリーダライタ装置側へと返すことになる。
【０００４】
このように、リーダライタ装置とＩＣカードとの間の情報交換は、リーダライタ装置側からＩＣカード側へのコマンドの往信処理と、ＩＣカード側からリーダライタ装置側へのレスポンスの返信処理と、を交互に繰り返し実行することにより行われている。リーダライタ装置側は、返信処理によりＩＣカード側から返ってきたレスポンスに基いて、先に与えたコマンドが正しく実行されたか否かを判断することができる。このようなＩＣカードに対するアクセス処理を円滑に行うため、通常は、リーダライタ装置側にパターンファイルが用意される。現在、一般的に利用されているパターンファイルは、コマンドと、このコマンドに応じて返信されるであろうと期待されるレスポンスと、を交互に並べたテーブルによって構成されている。すなわち、コマンド，レスポンス，コマンド，レスポンス，コマンド，…、というように、コマンドとレスポンスとを交互に配列したテーブルからなるパターンファイルを用意しておき、リーダライタ装置は、このパターンファイルの順序に従って、コマンドを送信し、これに応じて実際に返信されてきたレスポンスを、パターンファイル内のレスポンスと比較する処理を行うことになる。
【０００５】
【発明が解決しようとする課題】
前述したように、パターンファイルは、個々のリーダライタ装置がＩＣカードを円滑にアクセスするために利用するファイルである。このため、パターンファイルの書式は、用いるリーダライタ装置に依存することになり、現実的には、種々のリーダライタ装置ごとに、パターンファイルの書式が異なっている。また、種々のリーダライタ装置には、それぞれ得意な処理と不得意な処理とがあり、ＩＣカードに対して行う処理によって、複数種類のリーダライタ装置を使い分けるようなことが一般に行われている。その上、パターンファイルを最初に設計する設計者も、それぞれ好みの書式でパターンファイルを記述する傾向にある。このため、設計されたパターンファイルに基いて、所定のリーダライタ装置を利用して実際にＩＣカードをアクセスしようとしても、通常は、書式が異なるために、もとのパターンファイルをアクセス用のパターンファイルに書き換える処理が必要になる。
【０００６】
特に、ユーザが設計したパターンファイルに基いて、ＩＣカードの発行処理や検証処理などを行う業務委託を受けた企業では、このような書式の相違により、アクセス用のパターンファイルを作成する作業が非常に煩雑なものとなっている。すなわち、複数のユーザからそれぞれ異なった書式で記述されたパターンファイルを受け取り、これらのパターンファイルに基いて、ＩＣカードに対して種々の処理作業を行うには、これら種々の書式のパターンファイルを、それぞれ、実際のアクセスに利用するリーダライタ装置の書式に適合するように書き換える作業が必要になる。
【０００７】
そこで本発明は、書式の異なるパターンファイルに基いて、実際のアクセスに利用できるパターンファイルを効率的に作成することができるパターンファイルの作成支援装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、ＣＰＵを内蔵したＩＣカードと、このＩＣカードをアクセスするためのリーダライタ装置と、の間に信号伝送路を形成し、この信号伝送路を介して、リーダライタ装置からＩＣカードへ所定のコマンドを往信し、ＩＣカードからリーダライタ装置へコマンドに応じたレスポンスを返信する、という往信処理および返信処理を、コマンドおよびレスポンスを並べたパターンファイルに基いて実行することにより、ＩＣカードに対するアクセスを行う場合に、アクセスに利用するパターンファイルを作成する作業を支援する装置において、
種々の書式で記述されたもとになるパターンファイルを入力する入力部と、
もとになるパターンファイルを所定の共通書式で記述しなおした中間パターンファイルに変換する変換部と、
変換部による変換作業に用いられる対応関係を定義する対応関係定義部と、
を設け、
入力部が、実際に信号伝送路を伝送させるための伝送データ部と、この伝送データ部の前後に識別子として付与される区切子部と、を有する文字列からなるもとになるパターンファイルを入力し、
対応関係定義部が、種々の書式における区切子部と所定の共通区切子部との対応関係を定義し、
変換部が、この対応関係に基づいて、もとになるパターンファイル内の区切子部を、共通区切子部に置換することにより、実際に信号伝送路を伝送させるための伝送データ部と、この伝送データ部の前後に識別子として付与される共通区切子部と、を有する文字列からなる中間パターンファイルへの変換を行うようにしたものである。
【００１０】
【作  用】
本発明に係るパターンファイルの作成支援装置を用いれば、設計者が記述したもとになるパターンファイルを、一旦、所定の共通書式をもった中間パターンファイルに変換することができるので、作業者は、この中間パターンファイルから、個々のリーダライタ装置が要求する所定の書式のパターンファイルに変換する作業を行えばよい。このように、中間パターンファイルを介しての書き換えを行うことにより、作業は非常に効率的になる。特に、区切子部を、所定の共通区切子部に置換することにより、中間パターンファイルへの変換を行うようにしたため、変換は機械的に行うことができ、コンピュータを用いた自動的な変換が可能になる。
【００１１】
【実施例】
以下、本発明を図示する実施例に基いて説明する。まず、図１に示すブロック図に基いて、ＣＰＵを内蔵したＩＣカードに対する従来の一般的なアクセス処理の手順を説明する。ここでは、２枚のＩＣカード１０，２０を、リーダライタ装置３０に同時に接続し、両ＩＣカード１０，２０に対して適宜アクセスを行う場合を例にとって説明する。たとえば、多数の会員に対してそれぞれ会員証として１枚ずつＩＣカードを発行するような場合、発行対象となるＩＣカード１０と、発行業務におけるキーカードとしての機能を果たすＩＣカード２０と、をリーダライタ装置３０に接続し、発行業務を行うような形態を採ると、セキュリティを向上させることができる。すなわち、キーカードとしてのＩＣカード２０を用いない限り、発行業務を行うことができないので、ＩＣカード２０をきちんと管理しておけば、不正な方法で会員証（ＩＣカード１０）が発行されることを防ぐことができる。
【００１２】
図１に示されているように、一般的なＩＣカード１０は、Ｉ／Ｏインターフェイス１１と、ＣＰＵ１２と、ＲＯＭ１３と、ＲＡＭ１４と、ＥＥＰＲＯＭ１５と、を内蔵している。Ｉ／Ｏインターフェイス１１は、リーダライタ装置３０との間に形成された信号伝送路３１を介して、外部と情報のやりとりを行う機能をもった装置である。信号伝送路３１は、電気的な配線路として形成される場合もあるし、電磁的に結合された空間路として形成される場合もある。リーダライタ装置３０から信号伝送路３１を介してＩ／Ｏインターフェイス１１に与えられた情報は、ＣＰＵ１２に伝送され、逆に、ＣＰＵ１２から外部へ伝送すべき情報は、Ｉ／Ｏインターフェイス１１から信号伝送路３１を介してリーダライタ装置３０に与えられる。リーダライタ装置３０には、ホストコンピュータ４０が接続されており、リーダライタ装置３０はこのホストコンピュータ４０の制御に基き、ＩＣカード１０に対するアクセス処理を行うことになる。また、ＩＣカード２０もＩＣカード１０と全く同様に、Ｉ／Ｏインターフェイス２１と、ＣＰＵ２２と、ＲＯＭ２３と、ＲＡＭ２４と、ＥＥＰＲＯＭ２５と、を備えており、信号伝送路３２を介してリーダライタ装置３０に接続されている。
【００１３】
ＩＣカード１０内には、ＲＯＭ１３、ＲＡＭ１４、ＥＥＰＲＯＭ１５という３種類のメモリが用意されている。ＲＯＭ１３は、ＣＰＵ１２を動作させるための基本的なプログラムを格納したメモリであり、ＣＰＵ１２は、このＲＯＭ１３内のプログラムに基いて種々の演算処理を実行することになる。ＲＡＭ１４は、この演算処理におけるワークスペースとして利用されるメモリである。また、ＥＥＰＲＯＭ１５は、主として、このＩＣカード１０の本来の機能であるユーザデータの蓄積に用いられるメモリであり、リーダライタ装置３０側から与えられたユーザデータは、ＣＰＵ１２によってこのＥＥＰＲＯＭ１５に書き込まれる。また、リーダライタ装置３０側から所定の読出し命令が与えられると、ＣＰＵ１２は、ＥＥＰＲＯＭ１５内のユーザデータを読出し、これをリーダライタ装置３０側へと返信する。ＩＣカード２０内のＲＯＭ２３、ＲＡＭ２４、ＥＥＰＲＯＭ２５という３種類のメモリも、同様の用途に利用される。
【００１４】
ＩＣカード１０，２０とリーダライタ装置３０との間での情報交換は、コマンドＣとレスポンスＲという形式で行われる。すなわち、リーダライタ装置３０からＩＣカード１０，２０へは、コマンドＣという形式で情報が伝達され、逆に、ＩＣカード１０，２０からリーダライタ装置３０へは、このコマンドＣに対するレスポンスＲという形式で情報が伝達される。すなわち、両者間の情報交換は、リーダライタ装置３０側からＩＣカード１０，２０側へのコマンドＣの往信処理と、ＩＣカード１０，２０側からリーダライタ装置３０側へのレスポンスＲの返信処理と、を交互に繰り返し実行することにより行われている。
【００１５】
このようなＩＣカード１０に対するアクセス処理を円滑に行うため、通常は、図２に示すようなパターンファイルＦが用意される。このパターンファイルＦは、コマンドＣと、このコマンドＣに応じて返信されるであろうと期待されるレスポンスＲと、を交互に並べたテーブルによって構成されている。図２の例では、コマンドＣ１，レスポンスＲ１，コマンドＣ２，レスポンスＲ２，コマンドＣ３，レスポンスＲ３…、というように、コマンドＣとレスポンスＲとが交互に配列されている。ここで、コマンドＣ１は、第１番目にＩＣカード側に与えるべきコマンドであり、レスポンスＲ１は、このコマンドＣ１を往信として与えたときに、ＩＣカード側から返信されるであろうと期待されるレスポンスである。同様に、コマンドＣ２は、第２番目にＩＣカード側に与えるべきコマンドであり、レスポンスＲ２は、このコマンドＣ２を往信として与えたときに、ＩＣカード側から返信されるであろうと期待されるレスポンスである。
【００１６】
この図２に示すようなパターンファイルＦを、ホストコンピュータ４０において用意しておき、必要に応じてリーダライタ装置３０に与えるようにすれば、リーダライタ装置３０は、このパターンファイルＦに基いて、ＩＣカードに対する円滑なアクセスを行うことができる。すなわち、まず、リーダライタ装置３０はコマンドＣ１をＩＣカード側に送る往信処理を行う。ＩＣカード１０または２０のいずれにコマンドＣ１を送ればよいかは、パターンファイルＦ内に記述された指示に従う。たとえば、ＩＣカード１０に対してコマンドＣ１を送ったとすると、ＩＣカード１０内のＣＰＵ１２は、このコマンドＣ１を実行した後、所定のレスポンスをリーダライタ装置３０に返す返信処理を行う。そこで、リーダライタ装置３０は、この実際に返信されたレスポンスを、パターンファイルＦ内のレスポンスＲ１と比較照合し、問題がなければ、次のコマンドＣ２をＩＣカード１０に送る往信処理を行う。ＣＰＵ１２は、このコマンドＣ２を実行した後、所定のレスポンスをリーダライタ装置３０に返す返信処理を行う。そこで、リーダライタ装置３０は、この実際に返信されたレスポンスを、パターンファイルＦ内のレスポンスＲ２と比較照合し、問題がなければ、次のコマンドＣ３をＩＣカード１０に送る往信処理を行う。このように、リーダライタ装置３０は、パターンファイルＦに並べられたコマンド／レスポンスを順に用いて、円滑に往信および返信処理を行うことができる。なお、レスポンスの照合の結果、何らかの問題があれば、もう一度同じコマンドを送り直すなどの措置がとられることになる。
【００１７】
以上のように、パターンファイルＦを利用したアクセス方法は、リーダライタ装置３０の負担を軽減することができ、能率的なアクセスをすることができるが、このパターンファイルの書式が、用いるリーダライタ装置によって異なるという問題があることは既に述べたとおりである。一般に、ＩＣカードに関しては、ＩＳＯの規格などによりある程度の標準化が図られており、ＩＣカードに対して与えるコマンドＣや、ＩＣカードから返信されてくるレスポンスＲとしては、所定の書式が定められている。しかしながら、リーダライタ装置は、種々のメーカにより種々のものが提供されており、全く同一のＩＣカードに対するアクセスを行う場合であっても、リーダライタ装置Ｐを利用する場合に必要なパターンファイルの書式と、リーダライタ装置Ｑを利用する場合に必要なパターンファイルの書式と、は異なるのが一般的である。したがって、実際にパターンファイルを用いてＩＣカードへのアクセスを行う場合、このパターンファイルの書式を個々のリーダライタ装置の書式に適合させなければならず、多数の書式を取り扱う場合には非常に煩雑な作業が要求される。
【００１８】
このような煩雑な作業が必要な例を、図３のブロック図で説明しよう。ここに示す例は、ＩＣカードに対する発行処理，検証処理，取引処理などをユーザからの委託により実施する企業における作業を示すものである。たとえば、Ａ社，Ｂ社，Ｃ社の３つのユーザから委託を受けていたものとしよう。このような場合、各社から、それぞれもとになるパターンファイルが納入され、このパターンファイルに基いて、個々の処理を実行するように指示されることが少なくない。また、通常は、各社によって、パターンファイルを記述する書式が異なっている。ここでは、Ａ社の設計者によって記述されたパターンファイルは書式Ａによって記述されており、Ｂ社の設計者によって記述されたパターンファイルは書式Ｂによって記述されており、Ｃ社の設計者によって記述されたパターンファイルは書式Ｃによって記述されていたという場合を考えてみよう。一方、この企業では、リーダライタ装置として、それぞれ得意な処理を考慮して、３種類のリーダライタ装置Ｐ，Ｑ，Ｒを用意しているものとする。すなわち、ＩＣカードの発行処理にはリーダライタ装置Ｐを用い、ＩＣカードの検証処理にはリーダライタ装置Ｑを用い、ＩＣカードの取引処理にはリーダライタ装置Ｒを用いるものとする。そして、更に、各リーダライタ装置Ｐ，Ｑ，Ｒは、パターンファイルとして、それぞれ異なる書式Ｐ，Ｑ，Ｒを要求しているものとする。
【００１９】
このような状況下では、ユーザから納入されたパターンファイルに基いて、実際にＩＣカードにアクセス処理を行うためには、それぞれのリーダライタ装置に適した書式のパターンファイルを作成する必要がある。具体的には、書式Ａで記述されたＡ社のパターンファイルを、書式Ｐ，Ｑ，Ｒに書き替え、書式Ｂで記述されたＢ社のパターンファイルを、書式Ｐ，Ｑ，Ｒに書き替え、書式Ｃで記述されたＣ社のパターンファイルを、書式Ｐ，Ｑ，Ｒに書き替える、という９種類の書き替え作業を必要に応じて行わねばならない。ユーザがパターンファイルを記述する書式の種類や、用いるリーダライタ装置が要求する書式の種類が、これ以上増えると、このような書き替え作業のバリエーションは膨大な数に達する。
【００２０】
本発明の主眼は、ユーザが納入したパターンファイルを、一旦、中間パターンファイルへ変換することにより、このような書き替え作業の負担を低減させる点にある。この原理を、図４のブロック図に示す。この例では、Ａ社のパターンファイル、Ｂ社のパターンファイル、Ｃ社のパターンファイルは、いずれも、一旦、共通の書式Ｍをもった中間パターンファイルに変換される。そして、この中間パターンファイルが、リーダライタ装置Ｐ，Ｑ，Ｒ用のパターンファイルにあらためて変換されることになる。このような方法を採れば、書式の書き替え作業としては、書式Ａ，Ｂ，Ｃのパターンファイルを、書式Ｍの中間パターンファイルに書き替える３とおりの処理と、書式Ｍの中間パターンファイルを、書式Ｐ，Ｑ，Ｒのパターンファイルに書き替える３とおりの処理と、の６種類の書き替え作業ですむ。たとえば、ユーザの用いる書式の種類や、リーダライタ装置が要求する書式の種類が、これ以上増えたとしても、書き替え作業のバリエーションは、たかだか書式の増加分だけ増えるだけである。
【００２１】
しかも、本発明の方法では、パターンファイルを構成する文字列のうちの区切子部を置換するという単純な作業により、中間パターンファイルへの変換を行うことができるので、書式Ａ，Ｂ，Ｃから書式Ｍへの変換処理は、機械的に行うことができ、コンピュータを用いた自動的な変換が可能になる。これを具体例に即して説明しよう。
【００２２】
いま、中間パターンファイルの書式Ｍとして、図５のテーブルに示すような取決めがなされている単純なモデルを考えてみる（実用上は、より複雑な取決めが必要になるが、ここでは説明の便宜上、このような単純なモデルで説明を行う）。この書式Ｍでは、５種類の内容が定義されている。すなわち、ＩＣカード１０に対するリセットコマンド、ＩＣカード２０に対するリセットコマンド、通常コマンド、レスポンス、コメント、の５種類である。この書式Ｍで記述された文字列は、ステップナンバー、第１区切子、伝送データ部、第２区切子、の各部に分類される。ステップナンバーは、コマンド行についてのみ付与される連続番号であり、図５のテーブルに「ＳＮ」と記されている場合にのみ付与される。また、第１区切子および第２区切子は、伝送データ部の前後に付与される識別子である。リーダライタ装置とＩＣカードとの間に形成された信号伝送路を、実際に伝送するのは伝送データ部の部分だけであり、それ以外の部分は、リーダライタ装置の内部処理のために用いられる。
【００２３】
ＩＣカード１０に対するリセットコマンドは、ＩＣカード１０のＣＰＵ１２に対してリセットの指示を与えるコマンドであり、ＩＣカード２０に対するリセットコマンドは、ＩＣカード２０のＣＰＵ２２に対してリセットの指示を与えるコマンドである。これらの２つのコマンドは、通常の信号伝送路ではなく、専用のリセットラインを介してＩＣカード側へと伝送されるため、伝送データ部はデータがなく、ステップナンバーと区切子によってのみ構成されている。通常コマンドは、ＩＣカードに対する書き込み，読出し，検証、といった一般的なコマンドを示しており、実際のコマンドの内容はコマンドコード列として記述されることになる。レスポンスは、何らかのコマンドをＩＣカード側に往信した場合に、このコマンドに応じてＩＣカード側から返信されるであろうと期待されるレスポンスを示すものである。実際に期待されるレスポンスに対応する文字列は、レスポンスコード列として記述されることになる。最後のコメントは、パターンファイルの中に記述されるコメント行であり、実際のアクセス処理では、この行は無視される。したがって、図５のテーブルにおいて、伝送データ部に記述されているコメント文字列は、実際には伝送されずに無視されることになる。
【００２４】
一方、発行処理に利用されるリーダライタ装置Ｐおよび検証処理に利用されるリーダライタ装置Ｑが要求する書式Ｐ，Ｑは、基本的には、図５に示す書式Ｍに準じたものであるが、部分的に異なる取決めがなされているものとする。具体的には、書式Ｐについては図６に示す部分が異なり、書式Ｑについては図７に示す部分が異なるものとしよう。もっとも、実際には、書式Ｍの一部分を変更することにより書式Ｐ，Ｑが定められたわけではない。むしろ逆に、リーダライタ装置Ｐ用の書式Ｐやリーダライタ装置Ｑ用の書式Ｑというものが先に定められている状況において、本発明を実施するために、この書式ＰおよびＱの共通する基本的な部分のみを抽出して、書式Ｍを定めたということになる。以下、書式Ｐ，Ｑの書式Ｍに対する相違点のみを簡単に説明しておく。
【００２５】
書式Ｐの第１の相違点は、通常コマンドにおいて、クロック切換をともなう場合は第１区切子を「＆−Ｃ」とする点である。現在、一般的に利用されているクロック信号の周波数は、たとえば、３．５ＭＨｚ、４．９ＭＨｚといったものであるが、種々の規格に適合させる等の事情から、アクセス途中において、クロック周波数を切換える場合がある。一般的なＩＣカードは、内部にクロック発生源を有しておらず、リーダライタ装置側からクロック信号の供給を受けて動作する。したがって、クロック周波数を切換える操作はリーダライタ装置側で行う処理である。書式Ｐでは、このようなクロック周波数の切換処理を行った後に通常コマンドを伝送するための書式として、第１区切子に「＆−Ｓ」を記述する代わりに、「＆−Ｃ」を記述することを定めている。書式Ｐの第２の相違点は、「／ＰＡＲＡ，ｎ／」なる書式が定義されている点である。これは、リーダライタ装置内部において、パラメータを発生し、この発生したパラメータをこの位置に組込む処理を示すものである。具体的には、ｎバイトのシリアル番号が発生されて組込まれることになる。書式Ｐの第３の相違点は、「／ＤＡＴＡ，ｍ，ｎ／」なる書式が定義されている点である。これは、別個に用意されたデータ情報ファイルのレコード先頭のｍバイト目からｎバイト分のデータを組込む処理を示すものである。これらのデータ組込処理は、発行処理を行う場合に便利な機能であり、発行処理を得意とするリーダライタ装置Ｐに特有の機能である。たとえば、１０００人分の会員証として、１０００枚のＩＣカードに対して発行処理を行うような場合、会員番号の部分には実際のデータを記述する代わりに、「／ＰＡＲＡ，ｎ／」なる記述を行っておけば、所定のシリアル番号がリーダライタ装置Ｐ内において自動的に発生され、組込まれることになる。また、会員の氏名の部分については、別個に１０００人分の氏名を格納した個人データファイルを用意しておき、「／ＤＡＴＡ，ｍ，ｎ／」なる記述により、個々の氏名をこの個人データファイルから抽出して組込む処理が可能になる。書式Ｐの第４の相違点は、レスポンスコード内の「ＸＸ」はノーチェックとする点である。前述のように、レスポンスコードは、実際にＩＣカード側から返信されてきたレスポンスと比較照合されることになるが、レスポンスコード内に「ＸＸ」と記述された１バイト分のデータについては、比較照合を行わないことになる。
【００２６】
一方、書式Ｑの第１の相違点は、クロック切換を行う場合には、「Ｃ−Ｃ  ｍ，ｎ，ｋ  Ｃ」なる記述を行う点である。すなわち、この記述は、クロック周波数をｍＭＨｚ，転送レートをｎボー，クロック電圧をｋボルトとする設定を行う指示を示している。また、書式Ｑの第２の相違点は、レスポンスコード内の「ＸＸ」はノーチェックとする点である。これは、上述した書式Ｐと同様である。
【００２７】
ここで、Ａ社において、図８に示すようなパターンファイルが書式Ａによって記述され、これに関連して、図９に示すような説明文が用意されたものとする。図８に示すパターンファイルは、ステップナンバー、区切子、伝送データ部によって構成されている。ここで、区切子については、図９の説明文に記されたような意味づけがなされているものとする。すなわち、第１バイト目は必ず「３Ａ」であり、第２バイト目は伝送データ部のバイト長を示し、第３バイト目は「４Ｆ」であればＩＣカード１０に対するリセットを示し、「４９」であれば通常コマンドを示し、「ＦＥ」であればレスポンスを示している。なお、伝送データ部は、ＩＣカード１０の規格（たとえば、ＩＳＯ規格）に基いて一義的に決められる内容であり、パターンファイルの書式には左右されない部分である。また、この伝送データ部の最後の１バイト（図では、他の部分と少し空隙をあけて示してある）は、エラーチェックコードである。
【００２８】
図９に示すＡ社の説明文によれば、更に、次のような情報が提示されている。すなわち、クロック周波数については、最初は３．５ＭＨｚとし、ステップ３からは４．９ＭＨｚに切換える。また、ステップＳ３のコマンド末尾の「０００１」なる２バイトの部分は、実際には、この「０００１」なるデータの代わりにシリアル番号を入れ、ステップＳ４の「０１０２０３０４０５」なる５バイトの部分は、実際には、この「０１０２０３０４０５」なるデータの代わりに、別個に用意された個人情報ファイルの氏名のデータを入れる。そして、伝送データ部末尾のエラーチェックコードとしてはＢＣＣコードを用いる。という情報が提示されている。したがって、Ａ社からは、別途、個人情報ファイルがフロッピディスクなどの媒体を利用して納入されることになり、この個人情報ファイル内には、たとえば、１０００人分の氏名のデータが収容されていることになる。ここでは、Ａ社は、１０００人分の会員証として、ＩＣカードを発行することを意図しているものとして、以下の説明を行うことにする。
【００２９】
これに対して、Ｂ社では、図１０に示すようなパターンファイルが書式Ｂによって記述され、これに関連して、図１１に示すような説明文が用意されたものとする。図１０に示すパターンファイルは、第１区切子と第２区切子と、これらによって囲まれた伝送データ部とによって１行が構成されている。ただ、クロック周波数を切換える旨のコマンドは、区切子をもたない。ここで、区切子については、図１１の説明文に記されたような意味づけがなされているものとする。すなわち、第１区切子「＊−＊」および第２区切子「＊」を有する行はリセットコマンド（伝送データ部にデータは存在しない）、第１区切子「＊−＋」および第２区切子「＊」を有する行は通常コマンド（コマンドの内容は、伝送データ部の記述によって示される）、第１区切子「＠−＠」および第２区切子「＠」を有する行はレスポンス（レスポンスの内容は、伝送データ部の記述によって示される）という意味づけがなされている。
【００３０】
図１１に示すＢ社の説明文によれば、更に、次のような情報が提示されている。すなわち、クロックについては、「ＣＬＫ＝」なる記述により周波数が指定され、「ＢＰＳ＝」なる記述により転送レートが指定される。パターンファイルの８行目（＠−＠  ００００００００  ＠）まではＩＣカード１０を対象とし、９行目からはＩＣカード２０を対象とする。レスポンス中の変数「ＹＹ」はノーチェックとする。エラーチェックコードは記述が省略されているが、実際には、ＢＣＣコードを用いる。ＩＳＯ規格によるプロログおよびエピログは記載が省略されている。という情報が提示されている。したがって、実際のＩＣカードアクセス用のパターンファイルを作成するには、伝送データ部にＢＣＣコードやＩＳＯ規格によるプロログやエピログといった部分を付加する必要がある。
【００３１】
さて、本発明に係るパターンファイルの作成支援装置を用いると、図８に示すようなＡ社のパターンファイル（書式Ａ）や、図１０に示すようなＢ社のパターンファイル（書式Ｂ）を、一旦、図５に定義された書式Ｍによる中間パターンファイルに変換することができる。すなわち、図８に示すようなＡ社のパターンファイルは、図１２に示すような中間パターンファイルに変換され、図１０に示すようなＢ社のパターンファイルは、図１３に示すような中間パターンファイルに変換される。この変換は、Ａ社の用いている書式Ａの区切子、あるいは、Ｂ社の用いている書式Ｂの区切子と、図５に定義された書式Ｍの区切子と、の対応関係を定義しておけば、機械的な作業として行うことができる。
【００３２】
具体的には、図９に示すＡ社の説明文によれば、書式Ａにおける「３Ａ００４Ｆ」なる区切子は、ＩＣカード１０に対するリセットを示すものであるから、書式Ｍでは、ステップナンバーＳＮに続いて、「＆−Ｒ−Ｉ  ＆」なる一対の区切子に変換すればよい。同様に、書式Ａにおける「３Ａ０５ＦＥ」なる区切子は、レスポンスを示すものであるから、書式Ｍでは「％−Ｎ  ％」なる一対の区切子に変換すればよく、書式Ａにおける「３Ａ０６４９」なる区切子は、通常コマンドを示すものであるから、書式ＭではステップナンバーＳＮに続いて、「＆−Ｓ＆」なる一対の区切子に変換すればよい。このように、中間パターンファイルへの変換は、対応する区切子への書き替え作業を行うだけであり、伝送データ部については、この段階では書き替えを行う必要はない。したがって、区切子の対応づけを予め定義しておけば、中間パターンファイルへの変換処理は、コンピュータを利用して自動的に行うことができる。図８に示すＡ社のパターンファイルと、図１２に示すＡ社についての中間パターンファイルとを比較すれば、このような一義的な区切子の置換が行われていることが理解できよう。
【００３３】
Ｂ社のパターンファイルについても同様である。ただ、書式Ｂでは、クロック切換えのコマンドとして、区切子を用いていないコマンドがある。たとえば、「ＣＬＫ＝３．５  ＢＰＳ＝９６００」や「ＣＬＫ＝４．９」といったコマンドである。このような区切子をもたないコマンドについては、書式Ｍとの間での区切子同士の対応関係が定義できないので、便宜的に、コメント行として取り扱い、「＄−Ｗ  ＄」なる一対の区切子に対応づけている。このように、書式Ｍにおける実質的な区切子に対応がとれない行については、コメント行として取り扱うようにすれば、やはり一義的な区切子の置換によって変換が可能になる。たとえば、書式Ｂにおける「＊−＊  ＊」なる一対の区切子は、リセットコマンドであるから、書式Ｍでは、ステップナンバーＳＮに続いて、「＆−Ｒ−Ｉ  ＆」または「＆−Ｒ−Ｓ  ＆」なる一対の区切子に変換すればよい。書式Ｂによるパターンファイルでは、いずれのＩＣカードを対象としたものであるかという情報が示されていないので（これはＢ社の説明文として示されている情報である）、ここでは、とりあえず「＆−Ｒ−Ｉ  ＆」なる一対の区切子に変換をしている。同様に、書式Ｂにおける「＠−＠  ＠」なる一対の区切子は、レスポンスを示すものであるから、書式Ｍでは「％−Ｎ  ％」なる一対の区切子に変換すればよく、書式Ｂにおける「＊−＋」なる一対の区切子は、通常コマンドを示すものであるから、書式ＭではステップナンバーＳＮに続いて、「＆−Ｓ  ＆」なる一対の区切子に変換すればよい。やはり、この中間パターンファイルへの変換は、対応する区切子への書き替え作業を行うだけであり、伝送データ部については、この段階では書き替えを行う必要はない。したがって、区切子の対応づけを予め定義しておけば、中間パターンファイルへの変換処理は、コンピュータを利用して自動的に行うことができる。図１０に示すＢ社のパターンファイルと、図１３に示すＢ社についての中間パターンファイルとを比較すれば、このような一義的な区切子の置換が行われていることが理解できよう。
【００３４】
こうして得られた図１２あるいは図１３に示すような中間パターンファイルは、いずれも書式Ｍによって記述されたパターンファイルであり、この中間パターンファイルを得る作業は、上述のように、コンピュータを利用して構成した本発明に係るＩＣカードアクセス用パターンファイルの作成支援装置によって自動的に行うことができる。続いて、この中間パターンファイルに基いて、実際にアクセスを行う各リーダライタ装置用のパターンファイルを作成する作業を行うことになる。具体的には、発行処理を行うためのリーダライタ装置Ｐに適用できるパターンファイルを作成するのであれば、図１２に示すＡ社についての中間パターンファイルを、図１４に示すような書式Ｐで記述されたパターンファイルに書き替える作業を行えばよいし、図１３に示すＢ社についての中間パターンファイルを、図１５に示すような書式Ｐで記述されたパターンファイルに書き替える作業を行えばよい。同様に、検証処理を行うためのリーダライタ装置Ｑに適用できるパターンファイルを作成するのであれば、図１２に示すＡ社についての中間パターンファイルを、図１６に示すような書式Ｑで記述されたパターンファイルに書き替える作業を行えばよいし、図１３に示すＢ社についての中間パターンファイルを、図１７に示すような書式Ｑで記述されたパターンファイルに書き替える作業を行えばよい。
【００３５】
このような書式Ｐあるいは書式Ｑへの書き替え作業は、必ずしも一義的に行うことはできない。すなわち、図９や図１１に示す各社の説明文に記載された事項を念頭に入れ、図６に示す書式Ｐの特徴あるいは図７に示す書式Ｑの特徴を利用して、書き替えを行わねばならないからである。しかしながら、本発明に係るＩＣカードアクセス用パターンファイルの作成支援装置による変換を行っておけば、書き替える対象となるファイルは、いずれも書式Ｍの中間パターンファイルになっているため、書き替え作業者にとってみれば、同じ書式Ｍのパターンファイルに対する書き替え作業を行えばよいので、作業負担は非常に軽減される。
【００３６】
最後に、この書式Ｍで記述された各中間パターンファイルに対する書き替え作業を、個々の具体例について簡単に説明しておく。まず、図１２に示すＡ社についての中間パターンファイル（書式Ｍ）を、図１４に示す発行処理用パターンファイル（書式Ｐ）に変換する作業を考えてみる。ここで、留意すべき点は、図９のＡ社の説明文に示されている内容である。まず、ステップ３からクロック周波数の切換えを行う必要がある。書式Ｐでは、図６に定義されているように、クロック切換をともなう通常コマンドは、第１区切子として「＆−Ｃ」を用いることになっている。そこで、図１４のステップナンバー３の第１区切子は、「＆−Ｃ」に書き替えられている。また、ステップ３のコマンド末尾の「０００１」の部分にはシリアル番号を組込む必要がある。そこで、図１４のステップナンバー３の伝送データ部の末尾には、書式Ｐに特有の「ＰＡＲＡ，２」なる記述を行い、２バイト分のシリアル番号をリーダライタ装置Ｐ内で発生させて組込むように書き替えている。更に、ステップ４のコマンド末尾の「０１０２０３０４０５」の部分には、別途納入された個人情報ファイルの氏名を組込む必要がある。そこで、図１４のステップナンバー４の伝送データ部の末尾には、書式Ｐに特有の「ＤＡＴＡ，１，５」なる記述を行い、個人情報ファイルの各レコードの先頭から１バイト目から５バイト目までに収容されている各個人の氏名のデータをリーダライタ装置Ｐ内に取り込み、この氏名のデータを伝送データ部に組込むように書き替えている。また、各伝送データ部末尾の１バイトの部分には、新たにＢＣＣエラーチェックコードを演算して発生すべきことを示すコード「ＢＣＣ」に記述しなおしている。これにより、氏名のデータなどを組込んだ場合でも、正しいエラーチェックコードがリーダライタ装置Ｐ内で演算され伝送データ部末尾に付加されることになる。結局、リーダライタ装置Ｐは、図１４に示すような書式Ｐで記述されたパターンファイルと、別途用意さえた個人情報ファイルと、に基いて、１０００人分のＩＣカード１０に対して発行処理を行うことになる。
【００３７】
次に、図１３に示すＢ社についての中間パターンファイル（書式Ｍ）を、図１５に示す発行処理用パターンファイル（書式Ｐ）に変換する作業を考えてみる。ここで、留意すべき点は、図１１のＢ社の説明文に示されている内容である。まず、クロック周波数の切換えについては、「ＣＬＫ＝」なる記述により指定されている。この記述は、図１３の中間パターンファイルにおいては、区切子「＄−Ｗ  ＄」で挟まれたコメント行に変換されている。そこで、このコメント行を参照すれば、ステップ３の段階でクロック切換が必要であることが認識できる。書式Ｐでは、図６に定義されているように、クロック切換をともなう通常コマンドは、第１区切子として「＆−Ｃ」を用いることになっている。そこで、図１５のステップナンバー３の第１区切子は、「＆−Ｃ」に書き替えられている。また、Ｂ社の説明文によれば、書式Ｂにおいては、ＩＳＯ規格によるプロログおよびエピログの記載は省略されている旨が示されている。ＩＳＯ規格のＩＣカードをアクセスするためには、このプロログおよびエピログを付加する必要があり、図１５に示す書式Ｐのパターンファイルでは、伝送データ部の先頭部分に３バイト分のエピログを付加し、伝送データ部の末尾の１バイトの部分に、新たにＢＣＣエラーチェックコードを演算して発生すべきことを示すコード「ＢＣＣ」を付加している。また、レスポンスにおいてノーチェックとすべきバイトは、書式Ｂでは「ＹＹ」で表示されているのに対し、書式Ｐでは「ＸＸ」で表示する必要があるため、図１５のパターンファイルの２行目の伝送データ部の記述は、「ＸＸＸＸ…」に書き替えられている。更に、図１１に示すＢ社の説明文によれば、対象となるＩＣカードについては、８行目まではＩＣカード１０を対象とし、９行目からはＩＣカード２０を対象とする旨が指定されている。この対象となるＩＣカードは、上述したプロログの部分に反映されている。すなわち、プロログの１バイト目は、ＩＣカードのＩＳＯ規格に準じて、ＩＣカード１０に対するコマンドの場合は「０１」、ＩＣカード１０からのレスポンスの場合は「１０」、ＩＣカード２０に対するコマンドの場合は「６７」、ＩＣカード２０からのレスポンスの場合は「７６」、となっている。また、図１３の中間パターンファイルにおいて、ステップ１のリセットコマンドは、とりあえずＩＣカード１０に対するリセットコマンド「＆−Ｒ−Ｉ  ＆」なる記述を行っていたが、この段階で、Ｂ社の説明文の指示と一致することが確認される（なお、Ｂ社の指示がＩＣカード２０となっていた場合には、この段階で、「＆−Ｒ−Ｓ」なるＩＣカード２０に対するリセットコマンド（図５）に書き替える作業が行われる）。
【００３８】
続いて、図１２に示すＡ社についての中間パターンファイル（書式Ｍ）を、図１６に示す検証処理用パターンファイル（書式Ｑ）に変換する作業を考えてみる。図９に示すＡ社の説明文に留意すれば、ステップ３からクロック周波数の切換えを行う必要がある。書式Ｑでは、図７に定義されているように、クロック切換を行う場合には、「Ｃ−Ｃ  ｍ，ｎ，ｋ」なる記述を行うことになっている。そこで、図１６のステップナンバー３の直前に、「Ｃ−Ｃ  ４．９  ９６００  ５．０  Ｃ」なる記述を挿入し、ここでクロック周波数４．９ＭＨｚ、転送レート９６００ボー、クロック電圧５．０ボルト、に設定するようにしている。また、書式Ｑには、書式Ｐのような組込みコマンドが用意されていないため、ステップ３のコマンド末尾の「０００１」の部分には、それぞれ該当するシリアル番号を手作業で記述する必要があり、ステップ４のコマンド末尾の「０１０２０３０４０５」の部分には、別途納入された個人情報ファイルの氏名を手作業で組込む必要がある。具体的には、１０００人分の会員証を発行するのであれば、これらの部分を手作業で書き替えることにより、１０００の異なるパターンファイルを作成する必要がある。既に述べたように、発行処理用の書式Ｐでは、組込みコマンドが用意されており、前述したように、シリアル番号や氏名を自動的に組込んでパターンファイルを作成することができるが、検証処理用の書式Ｑでは、組込みコマンドは用意されていないので、１０００人分の会員証を発行するような発行処理には本来向いていない。したがって、現実的には、このような発行処理を行うためのパターンファイルを書式Ｑで記述することは、通常は行われない。ここでは、説明の便宜上、書式Ｑへの書き替え例を示しただけのものである。
【００３９】
最後に、図１３に示すＢ社についての中間パターンファイル（書式Ｍ）を、図１７に示す検証処理用パターンファイル（書式Ｑ）に変換する作業を考えてみる。図１１のＢ社の説明文に示されている内容を留意すると、クロック周波数の切換えについては、「ＣＬＫ＝」なる記述により指定されている。この記述は、図１３の中間パターンファイルにおいては、区切子「＄−Ｗ  ＄」で挟まれたコメント行に変換されている。そこで、このコメント行に対して、若干の修正を施せば、書式Ｑによるクロック切換えコマンドに書き替えることができる。また、伝送データ部に関しては、対象となるＩＣカードが１０または２０のいずれであるかを考慮した上で、ＩＳＯ規格のプロログおよびエピログの記載を付加し、伝送データ部の末尾の１バイトの部分に、新たにＢＣＣエラーチェックコードを演算して発生すべきことを示すコード「ＢＣＣ」を付加している。更に、レスポンスにおいてノーチェックとすべきバイトは、書式Ｂでは「ＹＹ」で表示されているのに対し、書式Ｐでは「ＸＸ」で表示する必要があるため、図１７のパターンファイルの３行目の伝送データ部の記述は、「ＸＸＸＸ…」に書き替えられている。
【００４０】
以上、本発明を図示する具体的な実施例に基いて説明したが、本発明はこれらの実施例に限定されるものではなく、この他にも種々の態様で実施可能である。特に、上述の実施例で述べた各書式Ａ，Ｂ，Ｍ，Ｐ，Ｑは、いずれも単純なモデルの提示という意味で、いくつかの例を示したものであり、本発明の適用がこれらの書式に限定されるものではない。
【００４１】
【発明の効果】
以上のとおり本発明に係るパターンファイルの作成支援装置によれば、設計者が記述したもとになるパターンファイルを、一旦、所定の共通書式をもった中間パターンファイルに変換することができるため、作業者は、この中間パターンファイルから、個々のリーダライタ装置が要求する所定の書式のパターンファイルに変換する作業を行えばよい。したがって、書式の異なるパターンファイルに基いて、実際のアクセスに利用できるパターンファイルを効率的に作成することができるようになる。
【図面の簡単な説明】
【図１】ＩＣカードに対する一般的なアクセス処理の形態を示すブロック図である。
【図２】図１に示すアクセス処理で用いられるパターンファイルＦの基本構成を示す図である。
【図３】従来の一般的なパターンファイルの作成方法による書式変換作業の手順を示す概念図である。
【図４】  本発明に係るパターンファイルの作成支援装置を利用した書式変換作業の手順を示す概念図である。
【図５】図４における中間パターンファイルの書式Ｍの一例を示す図である。
【図６】図４におけるリーダライタ装置Ｐ用の書式Ｐの一例を示す図である。
【図７】図４におけるリーダライタ装置Ｑ用の書式Ｑの一例を示す図である。
【図８】図４におけるＡ社のパターンファイル（書式Ａ）の一例を示す図である。
【図９】図８に示すパターンファイルについてのＡ社の説明文の一例を示す図である。
【図１０】図４におけるＢ社のパターンファイル（書式Ｂ）の一例を示す図である。
【図１１】図１０に示すパターンファイルについてのＢ社の説明文の一例を示す図である。
【図１２】図８に示すＡ社のパターンファイル（書式Ａ）に基いて作成された中間パターンファイル（書式Ｍ）を示す図である。
【図１３】図９に示すＢ社のパターンファイル（書式Ｂ）に基いて作成された中間パターンファイル（書式Ｍ）を示す図である。
【図１４】図１２に示すＡ社についての中間パターンファイル（書式Ｍ）に基いて作成された発行処理用パターンファイル（書式Ｐ）を示す図である。
【図１５】図１３に示すＢ社についての中間パターンファイル（書式Ｍ）に基いて作成された発行処理用パターンファイル（書式Ｐ）を示す図である。
【図１６】図１２に示すＡ社についての中間パターンファイル（書式Ｍ）に基いて作成された検証処理用パターンファイル（書式Ｑ）を示す図である。
【図１７】図１３に示すＢ社についての中間パターンファイル（書式Ｍ）に基いて作成された検証処理用パターンファイル（書式Ｑ）を示す図である。
【符号の説明】
１０…ＩＣカード
１１…Ｉ／Ｏインターフェイス
１２…ＣＰＵ
１３…ＲＯＭ
１４…ＲＡＭ
１５…ＥＥＰＲＯＭ
２０…ＩＣカード
２１…Ｉ／Ｏインターフェイス
２２…ＣＰＵ
２３…ＲＯＭ
２４…ＲＡＭ
２５…ＥＥＰＲＯＭ
３０…リーダライタ装置
３１，３２…信号伝送路
４０…ホストコンピュータ
【図１】
0003645587.tif 000002
【図２】
0003645587.tif 000003
【図３】
0003645587.tif 000004
【図４】
0003645587.tif 000005
【図５】
0003645587.tif 000006
【図６】
0003645587.tif 000007
【図７】
0003645587.tif 000008
【図８】
0003645587.tif 000009
【図９】
0003645587.tif 000010
【図１０】
0003645587.tif 000011
【図１１】
0003645587.tif 000012
【図１２】
0003645587.tif 000013
【図１３】
0003645587.tif 000014
【図１４】
0003645587.tif 000015
【図１５】
0003645587.tif 000016
【図１６】
0003645587.tif 000017
【図１７】
0003645587.tif 000018