(57)【特許請求の範囲】
【請求項１】
ＩＣカードを発行するために必要なＡＰＤＵコマンドが予約語を含む形態で記述されたファイルであるメタテンプレートと、カード発行用データが格納されたデータベースと、メタテンプレート解釈部とデータ変換部とを有する発行コマンド生成装置により、ＩＣカード発行用の発行コマンドを生成し、該発行コマンドをカード発行装置へ出力する場合における、前記発行コマンド生成方法であって、
メタテンプレート解釈部が、前記メタテンプレートからＡＰＤＵコマンドを読み込み、該ＡＰＤＵコマンドに含まれる予約語を解釈することにより、１６進数、バイナリ及び文字のうちのいずれの形式でカード発行用データを発行用コマンドに埋め込むかの形式指定をすると共に、発行コマンドにおける埋め込み箇所を指定する予約語に対して埋め込み箇所判別を行うステップと、
データ変換部が、前記データベースからカード発行用データを読み込み、該発行用データの形式を前記形式指定に従って変換し、該変換したデータを前記埋め込み箇所判別に従って埋め込むステップとを有することを特徴とするカード発行用の発行コマンド生成方法。
【請求項２】
前記予約語は、埋め込み対象となるカード発行用データの長さを直接指定するもの、対象となるカード発行用データ及び該カード発行用データのデータ長を記述する方式を指定するもの、対象となるカード発行用データ及び該カード発行用データの一部のデータ長を記述する方式を指定するものを含むＡＰＤＵ記述規則が記述されており、該予約語の解釈により発行コマンドを生成することを特徴とする請求項１に記載のカード発行用の発行コマンド生成方法。
【請求項３】
前記予約語は、埋め込み対象となるカード発行用データを指定し、該カード発行用データのデータ長が指定値を越えた場合に、ＡＰＤＵコマンドを複数に分割するように指定するコマンド分割規則が記述されており、該予約語の解釈により発行コマンドを生成することを特徴とする請求項１に記載のカード発行用の発行コマンド生成方法。
【請求項４】
ＩＣカードを発行するために必要なＡＰＤＵコマンドが予約語を含む形態で記述されたファイルであるメタテンプレートと、カード発行用データが格納されたデータベースと、メタテンプレート解釈部とデータ変換部とを有する発行コマンド生成装置により、ＩＣカード発行用の発行コマンドを生成し、該発行コマンドをカード発行装置へ出力する発行コマンド生成システムにおいて、
メタテンプレート解釈部は、前記メタテンプレートからＡＰＤＵコマンドを読み込み、該ＡＰＤＵコマンドに含まれる予約語を解釈することにより、１６進数、バイナリ及び文字のうちのいずれの形式でカード発行用データを発行用コマンドに埋め込むかの形式指定をすると共に、発行コマンドにおける埋め込み箇所を指定する予約語に対して埋め込み箇所判別を行い、
データ変換部が、前記データベースからカード発行用データを読み込み、該発行用データの形式を前記形式指定に従って変換し、該変換したデータを前記埋め込み箇所判別に従って埋め込むことにより、発行コマンドを生成することを特徴とするカード発行用の発行コマンド生成システム。
【請求項５】
前記予約語は、埋め込み対象となるカード発行用データの長さを直接指定するもの、対象となるカード発行用データ及び該カード発行用データのデータ長を記述する方式を指定するもの、対象となるカード発行用データ及び該カード発行用データの一部のデータ長を記述する方式を指定するものを含むＡＰＤＵ記述規則が記述されていることを特徴とする請求項４に記載のカード発行用の発行コマンド生成システム。
【請求項６】
前記予約語は、埋め込み対象となるカード発行用データを指定し、該カード発行用データのデータ長が指定値を越えた場合に、ＡＰＤＵコマンドを複数に分割するように指定するコマンド分割規則が記述されていることを特徴とする請求項４に記載のカード発行用の発行コマンド生成システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＣカードの発行に際し、カード発行装置に与えるカード発行用の発行コマンド生成方法及びシステムに関するものである。
【０００２】
【従来の技術】
ＩＣカードは、セキュリティ上安全で大きな記憶容量を有するため、磁気カードに代わる新しい情報記録媒体として、公共、金融、通信、交通、医療の分野、そしてインターネット上の電子商取引等において近年普及しつつある。また、最近ではＩＣカードに複数のアプリケーションを搭載し、複数のサービスを利用できるようにしたマルチアプリケーションＩＣカードシステムも出現している。マルチアプリケーションＩＣカードシステムでは、カード発行者がカード発行者・サービス提供者・利用者の要求に応じて、多数のアプリケーションの中から適切なアプリケーションを初期搭載してＩＣカードを発行する必要がある。また、異なるハードウェアや異なるカード管理システムを持つ、多様なＩＣカードを管理するマルチカード対応のＩＣカードシステムも出現している。
【０００３】
従来、耐タンパ性のＩＣカードの発行処理を行う場合には、その発行するＩＣカード固有のＡＰＤＵ（application protocol data unit）コマンドを作成し、これらのＡＰＤＵコマンドをＩＣカード固有のシーケンスに従ってＩＣカードに送信する必要があった。これらのＡＰＤＵコマンドの形式及びコマンドシーケンスは、ＩＣカード固有のものであるため、ＩＣカード毎に、適切なＡＰＤＵコマンドを適切なシーケンスで生成するための発行コマンド生成プログラムが必要であった。
【０００４】
また、ＩＣカードの発行処理においては、ＩＣカードの識別番号や個人情報など、ＩＣカード一枚毎に異なる情報をＡＰＤＵコマンドに埋め込んで発行を行う必要があり、この際、ＩＣカードの識別番号や、個人情報は、ファイルやＤＢ（データベース）などにデータとして格納されているため、発行コマンド生成プログラムでは、これらのデータを読み取ってデータを埋め込んだＡＰＤＵコマンドを生成していた。この場合におけるデータの埋め込み方法は、それぞれのＡＰＤＵの形式に依存しており、各ＩＣカード固有の埋め込み方法を、発行コマンド生成プログラムに記述していた。
【０００５】
このように、従来の方法では、ＩＣカード毎にカスタマイズされた発行コマンド生成プログラムが必要であった。しかし、複数の種類のＩＣカードを管理するマルチカード対応のＩＣカードシステムでは、さまざまな種類のＩＣカードを発行する必要があるため、それらのＩＣカード毎に発行コマンド生成プログラムを作成しなければならず、手間・コストがかかっていた。
【０００６】
また、従来の方法では、ＩＣカード発行処理において、予め決まったアプリケーションをＩＣカードに搭載する場合があった。しかし、この場合にも、予め搭載されるアプリケーションを固定として、搭載されるアプリケーションの数や搭載するＡＰＤＵコマンドシーケンスなどを全て発行コマンド生成プログラムに記述していた。
【０００７】
さらに、マルチアプリケーションＩＣカードシステムにおいては、どのアプリケーションをＩＣカードに搭載するかと云う選択は、個人情報のように、ＩＣカード一枚毎に異なる場合が考えられるが、従来の方法では、このように柔軟に搭載するアプリケーションを選択する仕組みは存在していなかった。
【０００８】
【発明が解決しようとする課題】
本発明は、ＩＣカードの種類によらずに、様々なバリエーションの発行コマンドの生成に対応できるカード発行用の発行コマンド生成方法及びシステムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
本願発明は、ＩＣカードを発行するために必要なＡＰＤＵコマンドが予約語を含む形態で記述されたファイルであるメタテンプレートと、カード発行用データが格納されたデータベースと、メタテンプレート解釈部とデータ変換部とを有する発行コマンド生成装置により、ＩＣカード発行用の発行コマンドを生成し、該発行コマンドをカード発行装置へ出力する場合における、前記発行コマンド生成方法であって、メタテンプレート解釈部が、前記メタテンプレートからＡＰＤＵコマンドを読み込み、該ＡＰＤＵコマンドに含まれる予約語を解釈することにより、１６進数、バイナリ及び文字のうちのいずれの形式でカード発行用データを発行用コマンドに埋め込むかの形式指定をすると共に、発行コマンドにおける埋め込み箇所を指定する予約語に対して埋め込み箇所判別を行うステップと、データ変換部が、前記データベースからカード発行用データを読み込み、該発行用データの形式を前記形式指定に従って変換し、該変換したデータを前記埋め込み箇所判別に従って埋め込むステップを有することを特徴とするカード発行用の発行コマンド生成方法にある。
【００１０】
本発明はさらに、ＩＣカードを発行するために必要なＡＰＤＵコマンドが予約語を含む形態で記述されたファイルであるメタテンプレートと、カード発行用データが格納されたデータベースと、メタテンプレート解釈部とデータ変換部とを有する発行コマンド生成装置により、ＩＣカード発行用の発行コマンドを生成し、該発行コマンドをカード発行装置へ出力する発行コマンド生成システムにおいて、メタテンプレート解釈部は、前記メタテンプレートからＡＰＤＵコマンドを読み込み、該ＡＰＤＵコマンドに含まれる予約語を解釈することにより、１６進数、バイナリ及び文字のうちのいずれの形式でカード発行用データを発行用コマンドに埋め込むかの形式指定をすると共に、発行コマンドにおける埋め込み箇所を指定する予約語に対して埋め込み箇所判別を行い、データ変換部が、前記データベースからカード発行用データを読み込み、該発行用データの形式を前記形式指定に従って変換し、該変換したデータを前記埋め込み箇所判別に従って埋め込むことにより、発行コマンドを生成することを特徴とするカード発行用の発行コマンド生成システムにある。
【００１２】
本発明の他の好適例では、前記予約語が、埋め込み対象となるカード発行用データの長さを直接指定するもの、対象となるカード発行用データ及び該カード発行用データのデータ長を記述する方式を指定するもの、対象となるカード発行用データ及び該カード発行用データの一部のデータ長を記述する方式を指定するものを含むＡＰＤＵ記述規則が記述されているようにする。
【００１３】
本発明の他の好適例では、前記予約語が、埋め込み対象となるカード発行用データを指定し、該カード発行用データのデータ長が指定値を越えた場合に、ＡＰＤＵコマンドを複数に分割するように指定するコマンド分割規則が記述されているようにする。
【００１６】
〔発明の実施の形態〕
本発明をより詳細に説述するために、添付の図面に従ってこれを説明する。なお、図面中、同じ機能を示すものには同じ参照番号を付して示してある。
【００１７】
図１は本発明によるカード発行用の発行コマンド生成システムを適用するカード発行システムの全体の構成を示す概略図である。ここに、１はカード発行用のデータを格納してあるデータベース、２はデータベース１へ発行用データを格納したり、該データベースからカード発行に必要なデータを取り出したりする発行データ管理部、３はカード・アプリケーションデータ用のメタテンプレート、４はメタテンプレート３の解釈を行と共に、所定の変換規則に従ってデータ変換を適宜行って、カード発行用の発行コマンドを作成する本発明による発行コマンド生成システム、５は発行コマンド生成システム４にて作成した発行コマンドにてカードを発行する装置である。
【００１８】
データベース１には、鍵などのセキュリティデータ、個人情報である利用者の名前や、カードＩＤ、搭載するアプリケーションの識別名などが格納される。メタテンプレート３には、カード発行に必要な複数のＡＰＤＵコマンドが予約語を含む形態で定義されている。なお、予約語については後に詳細に説明する。
【００１９】
図２は本発明によるカード発行用の発行コマンド生成システム４の骨子を示す構成図である。この発行コマンド生成システム４は、メタテンプレート３からＡＰＤＵコマンドを読み込んで、これらのＡＰＤＵコマンドに埋め込まれている予約語を解析するメタテンプレート解釈部６と、データベース１からカード発行枚数分のデータを取得し、これらのデータをメタテンプレート解釈部６にて解析したＡＰＤＵコマンドの発行用データ項目名と対応付けるデータ取得部７と、メタテンプレート３に記述されている予約語によって規定された所定の変換規則８に従って前記予約語が指定する箇所へ該予約語が指定するデータの変換を適宜行ってデータを埋め込んだり、ＡＰＤＵコマンドの形式を整えるためにデータ長の埋め込みなどを行うデータ変換部９と、これにてデータ変換した後のデータによってカード発行用のコマンドを作成する発行用コマンド作成部１０とを具えている。
【００２０】
本発明では、データ変換部９にて変換するデータにタグが埋められていた場合には、そのタグに対応する発行用データを書き込み、また、発行用コマンドが長くて、一度に送れるコマンドの最大長を越える場合には、自動的にコマンドを分割して発行コマンドを生成し、さらに、発行データの種類（数値・バイナリ・文字など）によって、発行データへの変換方法を変えるように、データの属性を指定することにより、発行用データを１６進数、バイナリ、文字のいずれの形式で発行用コマンドに埋め込むかを前記予約語にて指定することにより、当該予約語に従って同一のデータでも様々な形式で発行用コマンドへ埋め込みを行えるようにし、また、発行用コマンドのデータ長が均一でない場合には、パディングを行うように指定することにより、さまざまな長さのデータのデータ長を揃えて、発行用コマンドへ埋め込むように、発行データ埋め込み規則に相当する予約語を規定するのである。
【００２１】
本発明の前提は、ＩＣカードの種類によらずに、種々なバリエーションの発行コマンドの生成に対応できるように、ＩＣカードに書込む情報を変更可能な作りの設計にすることにある。そこで、本発明では、ＡＰＤＵメタテンプレート内３の予約語（予約記号）を解釈して、発行情報のタグからデータを取得してＡＰＤＵコマンドを生成したり、処理演算結果をセットしてＡＰＤＵコマンドを生成するのであり、つまり、図２のメタテンプレート３は、カード発行時に実行するＡＰＤＵコマンドを作成するための雛形が、コマンド実行順に記述されているファイルであり、カード発行を行う場合には、このメタテンプレート３に記述されているカード発行ＡＰＤＵ予約語をメタテンプレート解釈部６にて解釈して、発行用データ取得部７が取得した発行用データを予約語で指定された形式に従ってデータ変換部９にて適宜データ変換行ってＡＰＤＵコマンドを生成するのである。
【００２２】
メタテンプレート３には、発行に必要な複数のＡＰＤＵコマンドを、予約語を含む形態でシーケンシャルに定義するのであって、  予約語は下記の３つに分類できる。
▲１▼  発行データ埋め込み規則
これは発行用データをＡＰＤＵコマンドに生め込む規則を記述する。
▲２▼  ＡＰＤＵコマンド記述規則
ＡＰＤＵコマンドを記述するためにはいろいろな規則があり（例えば、ＴＬＶ形式では、Ｌ部はＶ部のデータ長を記述しなければならないなど）、そのため▲１▼による発行データの埋め込みにより、ＡＰＤＵコマンドの他の部分の変更が必要となる場合がある。このような、▲１▼の影響を受けて変更されるＡＰＤＵコマンドの他の部分の規則を記述する。
▲３▼  コマンド分割規則
これは対象となるデータを指定し、該データのデータ長が指定値を越えた場合に、ＡＰＤＵコマンドを複数に分割するように指定する規則を記述する。
【００２３】
前記▲１▼の発行データ埋め込み規則に相当する予約語は、以下のものである。
・  発行用データ項目名を指定し、対応する発行用データを埋め込むよう指定する予約語（例：＄[]，％[]）。
・  発行用データ項目名及びパディング方法などを指定し、対応する発行用データをパディングして埋め込むよう指定する予約語（例：$n）。
・  発行用データ項目名を指定し、対応する発行用データが示すファイル内のデータを埋め込むよう指定する予約語（例：￥[]）。
・  発行用データ項目名及び使用するデータの範囲を指定し、対応する発行用データの一部を埋め込むよう指定する予約語（例：*SnBm。Ｎバイト目からＭバイトを埋め込む）。
・  データ変換部が保持する変数名を指定し、対応する変数を埋め込むよう指定する予約語（例：！。E=0,1はデータ変換部によって変更される）。
【００２４】
前記▲２▼のＡＰＤＵ記述規則に相当する予約語は、以下のものである。（ＡＰＤＵではＴＬＶ構造やLc，Leなどデータの長さを代入するＬ部が多く存在する。発行用データの代入に従い、データ長を表すＬ部の変更が必須となり、▲２▼は殆どこの部分の変更規則である）。
・  データ長を直接指定する予約語（例：＃Le，(I)）。
・  対象となるデータと、そのデータのデータ長を記述する方式を指定する予約語（Ｌの記述方式には簡易TLV方式、BerTLV方式、ISOにて定義されたLc，Leの記述方式など、数値データの記述方法には、リトルエンディアン、ビッグエンディアンなど、方法が幾つかあるため、それを指定する）（例：＾，@Len，@ILc，@BLen，＃Len，#ILc，＃BLen）。
・  対象となるデータと、そのデータの一部のデータ長を記述する方式を指定する予約語（例：＃SignLen。署名付きデータの署名対象データ部分のみのデータ長など）。
【００２５】
前記▲３▼のコマンド分割規則に相当する予約語は、以下のものである。
・  対象となるデータを指定し、そのデータのデータ長が指定値を超えた場合に、ＡＰＤＵコマンドを複数に分割するように指定する予約語（例：＃239c，＃BlockNo）。
【００２６】
メタテンプレート３にて使用する予約語の例を下記の表１に示す。
【表１】
0003862609.tif 000002
0003862609.tif 000003
0003862609.tif 000004
0003862609.tif 000005
0003862609.tif 000006
【００２７】
【発明の効果】
本発明によれば、ＩＣカードの種類によらずに、一度メタテンプレートを作成することにより、様々なバリエーションの発行コマンドの生成に対して対応することができる。
【００２８】
コマンドの自動生成時に、様々な発行用コマンドの確認を行うため、発行コマンドの記述ミスなどを事前に防ぐことができる。
【図面の簡単な説明】
【図１】  本発明による発行コマンド生成システムを適用するカード発行システムの概略構成図である。
【図２】  本発明による発行コマンド生成システムの骨子を示す構成図である。
【符号の説明】
１  発行用データ格納データベース
２  発行データ管理部
３  メタテンプレート
４  発行コマンド生成システム
６  テンプレート解釈部
７  発行用データ取得部
８  変換規則
７  データ変換部
８  発行用コマンド作成部
【図１】
0003862609.tif 000007
【図２】
0003862609.tif 000008