JP2007317093A - Icカード発行装置、icカード発行方法およびコンピュータプログラム - Google Patents
Icカード発行装置、icカード発行方法およびコンピュータプログラム Download PDFInfo
- Publication number
- JP2007317093A JP2007317093A JP2006148262A JP2006148262A JP2007317093A JP 2007317093 A JP2007317093 A JP 2007317093A JP 2006148262 A JP2006148262 A JP 2006148262A JP 2006148262 A JP2006148262 A JP 2006148262A JP 2007317093 A JP2007317093 A JP 2007317093A
- Authority
- JP
- Japan
- Prior art keywords
- card
- issuing
- card issuing
- script
- apdu
- 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.)
- Withdrawn
Links
Abstract
【課題】ICカード製造会社などが発行パターンを容易に作成することができるICカード発行装置を提供する。
【解決手段】ICカード発行装置1はスクリプト言語で記述された発行スクリプト15を記憶している。ICカード2を発行するとき、ICカード発行装置1は、テストスクリプト15に含まれるステートメントを逐次解釈し、解釈した処理をICカード2に実行させることで、ICカード2を発行する。例えば、ICカード発行装置1は、スクリプト言語で記述された発行スクリプトから、ICカード2のプログラムインターフェース仕様に従い、16進数のキャラクターで記述されたコマンドAPDUを生成し、生成したコマンドAPDUを用いてICカード2を発行する。
【選択図】図2
【解決手段】ICカード発行装置1はスクリプト言語で記述された発行スクリプト15を記憶している。ICカード2を発行するとき、ICカード発行装置1は、テストスクリプト15に含まれるステートメントを逐次解釈し、解釈した処理をICカード2に実行させることで、ICカード2を発行する。例えば、ICカード発行装置1は、スクリプト言語で記述された発行スクリプトから、ICカード2のプログラムインターフェース仕様に従い、16進数のキャラクターで記述されたコマンドAPDUを生成し、生成したコマンドAPDUを用いてICカード2を発行する。
【選択図】図2
Description
本発明は、ICカードを発行するICカード発行装置およびICカード発行方法に関する。
クレジットカードやPKI(Public Key Infrastructure)のハードウェアトークンとして利用されているICカードのプログラムインターフェースは、非特許文献1または非特許文献2で定義されているように、16進数のキャラクター(0〜9、A〜F)を用いて表記される。
このようなICカードを発行するとき、ICカードを発行するために、ICカード製造会社は、ICカードのプログラムインターフェースに従い、16進数のキャラクターで記述した発行スクリプトを作成する。
JICSAP 外部端子付きICカード仕様(第1.1版) ICカードシステム利用促進協議会 EMV規格(BOOK1) Version 4.1 May 2004
JICSAP 外部端子付きICカード仕様(第1.1版) ICカードシステム利用促進協議会 EMV規格(BOOK1) Version 4.1 May 2004
しかしながら、ICカード製造会社が発行スクリプトを作成するときは、非特許文献1や非特許文献2などを参照しながら16進数のキャラクターで発行スクリプトを記述しなければならないため、発行スクリプトの作成に時間が費やされてしまっていた。更に、発行スクリプトに作成ミスがあると、当然のことながら発行スクリプトの作成ミスに起因するエラーが発生し、ICカード発行の阻害要因にもなってしまう。
そこで、本発明は、ICカード製造会社が発行パターンを容易に作成することができ、更に、発行パターンの作成ミスが生じにくいICカード発行装置、ICカード発行方法およびコンピュータプログラムを提供することを目的とする。
上述した課題を解決する第1の発明は、ICカードに実装されるコンピュータプログラムを利用して、前記ICカードを発行するICカード発行装置であって、ICカード発行装置は、前記ICカード発行装置用のスクリプト言語で記述された発行スクリプトを記憶し、更に、ICカード発行装置は、前記ICカード装置とデータ通信するためのリーダライタと、前記リーダライタを用いて前記ICカード装置とデータ通信するための前記伝送制御手段と、前記発行スクリプトを解釈し、前記ICカード装置に解釈した処理を実行させるICカード発行手段と、を備えていることを特徴とする。
更に、第2の発明は、第1の発明に記載のICカード発行装置であって、前記ICカード発行手段は、前記ICカードプログラムのプログラムインターフェース仕様に基づき、前記ICカード装置に実行させるコマンドAPDUを前記発行スクリプトから生成するコマンドAPDU生成部を備え、前記ICカード発行手段は、少なくとも、前記コマンドAPDU生成部が生成した前記コマンドAPDUを前記ICカード装置に送信し、前記ICカード装置から受信したレスポンスAPDUを処理することを特徴とする。
更に、第3の発明は、ICカードに実装されるコンピュータプログラムであるICカードプログラムを発行するICカード発行方法であって、ICカード発行方法は、
ステップ1)前記ICカード発行装置用のスクリプト言語で記述された発行スクリプトを解釈するステップ、
ステップ2)前記ICカードプログラムを実行するICカード装置に、前記ステップ1)で解釈した処理を実行させるステップ、
を備え、ステップ1)およびステップ2)を繰り返し実行することで、前記ICカードを発行することを特徴とする。
ステップ1)前記ICカード発行装置用のスクリプト言語で記述された発行スクリプトを解釈するステップ、
ステップ2)前記ICカードプログラムを実行するICカード装置に、前記ステップ1)で解釈した処理を実行させるステップ、
を備え、ステップ1)およびステップ2)を繰り返し実行することで、前記ICカードを発行することを特徴とする。
更に、第4の発明は、第3の発明に記載のICカード発行方法であって、前記ICカード発行方法に備えられた前記ステップ1)では、前記ICカードプログラムのプログラムインターフェース仕様に基づき、前記ICカード装置に実行させるコマンドAPDUを前記発行スクリプトから生成し、生成した前記コマンドAPDUを前記ICカード装置に伝送する処理が実行され、前記ステップ2)では、前記ステップ1)で伝送した前記コマンドAPDUに対するレスポンスAPDUを前記ICカード装置から受信し、前記レスポンスAPDUを判定する処理が実行されることを特徴とする。
更に、第5の発明は、第4の発明に記載のICカード発行方法であって、前記ステップ2)では、前記レスポンスAPDUの判定結果に従って、前記ICカードの発行処理を分岐させることを特徴とする。
更に、第6の発明は、第3の発明から第5の発明のいずれかに記載のICカード発行方法に含まれる各ステップを実行させるためのコンピュータプログラムである。
上述した本発明によれば、前記スクリプト言語は16進のキャラクターよりも遥かに扱いやすいため、発行スクリプトを記述するときにスクリプト言語を利用できることで、ICカード製造会社が発行スクリプトを容易に作成することができばかりか、発行スクリプトの作成ミスも生じにくくなる。更に、前記レスポンスAPDUの判定結果に従って前記発行スクリプトの処理を分岐させることで、様々なケースに対応した発行を一つの発行スクリプトで実行できるようになる。
ここから本発明に係るICカード発行装置1について、図を参照しながら詳細に説明する。図1は、ICカード発行装置の利用形態を説明する図で、ICカード発行装置1には、リーダライタ3を介してICカード2が接続されている。
ICカード発行装置1は、ICカード2を発行するための発行スクリプトをファイル形式で記憶している。一般的にICカード用の発行スクリプトは、ICカード2のプログラムインターフェースの内容に従い16進数で記述されるが、本発明の発行スクリプトはスクリプト言語で記述されている。
ICカード2を発行するとき、ICカード発行装置1は、指定された発行スクリプトに含まれるステートメントを逐次解釈し、解釈した処理をICカード2に実行させることで、ICカード2を発行する。詳しくは、ICカード発行装置1は、スクリプト言語で記述された発行スクリプトから、ICカードのプログラムインターフェースに従い、16進数のキャラクターで記述されたコマンドAPDU(APDU:Applicaiton Protocol Data Unit)を生成し、生成したコマンドAPDUを用いてICカード2を発行する。
スクリプト言語は16進数のキャラクターよりも遥かに扱いやすいため、発行スクリプトを記述するときにスクリプト言語を利用できることで、ICカード製造会社が発行スクリプトを容易に作成することができばかりか、発行スクリプトの作成ミスも生じにくくなる。
図2は、図1で図示したICカード発行装置1のブロック図である。図2に示したように、ICカード発行装置1は、ICカード2用の発行スクリプト15を記憶するためのデータ記憶手段14と、発行スクリプト15を解釈実行するICカード発行モジュール10と、ICカード2のプログラムインターフェース仕様に従い、発行スクリプト15に含まれるステートメントを解釈し、ICカード2が実行可能なコマンドAPDUにコンパイルするコンパイルモジュール11と、ICカード2とデータ通信するための伝送制御モジュール12と、ICカード2と通信するためのリーダライタ13を備える。
図3は、ICカード発行装置1に記憶される発行スクリプト15を説明する図である。図3に示したように発行スクリプトには複数のステートメント150が記述されている。
図4は、ステートメント150の構造を説明する図である。一つのステートメント150は、スクリプトの内容を示すスクリプトID151に加え、少なくとも1つの宣言ブロック152が記述され、複数の宣言ブロック152は{}で括られている。ステートメント150に含まれる一つの宣言ブロック152は、宣言ブロック152の属性とその値を有し、宣言ブロック152の属性とその値は「:」で区切られる。
図3において、Protocol{}は伝送制御プロトコルを示すステートメント150で、ICカード2とデータ通信するときの伝送制御プロトコル150を示す宣言ブロック152が含まれる。
図3のATR{}はICカードを活性化することを示すステートメント150で、ATRの期待値は、属性が「Expectaion」である宣言ブロックの値として記述される。
図3のC−APDU{}は、ICカード2に伝送するコマンドAPDUを示すステートメント150で、コマンドAPDUに変換するために必要な少なくとも一つの宣言ブロック152が記述される。属性が「Channel」である宣言ブロック152の値ではコマンドが実行される論理チャネルの番号が宣言され、属性が「Name」である宣言ブロック152の値ではコマンド名が宣言され、例えば、その値が「Select」ならば、非特許文献1のSlectコマンドを示す。また、属性が「Parameter」の宣言ブロック152ではコマンド実行時の様々なパラメータが記述される。
図3のR−APDU{}は、ICカード2から受信したレスポンスAPDUの処理を示すステートメント150である。C−APDU{}と同じく、R−APDU{}には複数の宣言ブロック152が記述され、属性が「Compare」である宣言ブロック152はレスポンスAPDUと期待値とのコンペア実行の有無が宣言される。また、レスポンスAPDUの期待値は、属性が「SW」の宣言ブロック152および属性が「Expectatin属性」の宣言ブロック152の値として記述される。
また、IF{}は、R−APDU{}の処理結果に基づき条件分岐を示すステートメント150である。IF{}は直前のR―APDU{}に対して有効であり、IF{}のステートメントに記述され、属性が「Flag」である宣言ブロック152は分岐の条件を示す。図3においては、直前のレスポンスAPDUのコンペア結果が「False」(一致しない)の場合は、#Session1の行にジャンプする。
ICカード発行装置1に備えられたコンパイルモジュール11は、プログラムインターフェース(コマンドAPDUおよびレスポンスAPDU)の仕様を記憶し、C−APDU{}のステートメント150をこの定義内容に従ってコマンドAPDUにコンパイルする。
図5は、プログラムインターフェースで定義されているコマンドAPDUの一例で、図5はSelectコマンドのコマンドAPDUを示している。
図5に示したように、SelectコマンドのコマンドAPDUは、非特許文献1で定義されているケース3のコマンド構造に準拠し、CLA、INS、P1、P2、LcおよびDataから構成されている。INSはコマンドを識別するためのデータで、Selectコマンドでは「A4h」(hは16進表記)である。また、P1、P2はコマンド実行時のパラメータを示し、Lcはデータ長を示し、Dataでは選択するファイルのファイル番号が示される。
コンパイルモジュールがC−APDU{}をコマンドAPDUに変換するときは、属性が「Channel」である宣言ブロック152の値がCLAに変換され、ここでは「00h」である。また、属性が「Name」の宣言ブロック152の値からコマンドAPDUのINSを抽出する。例えば、属性が「Name」の宣言ブロックの値が「Select」である場合は、SlecltコマンドのINSである「A4h」が抽出される。また、C−APDU{}のパラメータを示す宣言ブロック152から、コマンドAPDUのパラメータ(P1,P2,Lc、Data)が変換される。
ここから、ICカード発行装置1の動作手順について説明する。図6は、ICカード発行装置1の動作手順を示したフロー図である。ICカード発行装置1がICカードプログラムの発行を開始するとき、ICカード発行モジュール10は発行スクリプト15の先頭から順にステートメント150を読出し、読み出したステートメント150に対応した処理を実行する。
この手順の最初のステップS1は、ICカード2とのデータ通信で利用する伝送制御プロトコルを設定するステップである。このステップでは、ICカード2の発行を開始すると、ICカード発行装置1のICカード発行モジュール10は、発行スクリプト15からProtocol{}のステートメント150を読出し、Protocol{}で示される伝送制御プロトコルに設定する。
次のステップS2は、ICカード2を活性化するステップである。このステップでは、データスクリプト15からATR{}のステートメント150を読出し、ステップS1で設定した伝送制御プロトコルに準拠した手順で、ICカード2を活性化し、例えば、ICカード2から受信したATRの返信と期待値とを比較する。
次のステップS3は、ICカード2に送信するコマンドAPDUを生成し、ICカード2に送信するステップである。このステップでは、ICカード発行モジュール10は、発行スクリプト15からC−APUD{}のステートメント150を読出し、読み出したC−APUD{}をコンパイラモジュール11に処理させる。コンパイラモジュール11は、プログラムインターフェースの定義内容を参照して、C−APDU{}に含まれる宣言ブロック152からコマンドAPDUを作成する。
次のステップS4は、ステップS3で生成したコマンドAPDUをICカード2に送信するステップである。このステップでは、ICカード発行モジュール10は、コマンドAPDUを伝送制御モジュール12に送り、伝送制御モジュール12はコマンドAPDUにTPDU(Transmission Protocol Data Unit)を付加し、通信インターフェース13を介してICカード2にコマンドAPDUを送信し、送信したコマンドAPDUはICカード2で処理される。
次のステップS5は、ICカード2からレスポンスAPDUを受信し、受信したレスポンスADPUを処理するステップである。このステップでは、ICカード発行モジュール10は、レスポンスAPDUを受信すると、発行スクリプト15からR−APDU{}を読み取り、レスポンスAPDUに含まれるSWの期待値や、データがある場合はデータの期待値をコンペアなどして、読取ったR−APDU{}を処理する。
次のステップS6は、次のステートメント150を読取るステップである。このステップで、ICカード発行モジュール10は、レスポンスAPDUの次のステートメント150を読み取り、読取ったステートメント150がIF{}属性のステートメント150ならばステップS7に進み、C−APDU{}属性のステートメント150ならばステップS3に戻り、End属性のステートメント150ならばこの手順を終了する。
ステップS7ではIF{}に含まれる宣言ブロック152に対応した処理を実行する。例えば、条件付きのジャンプした後、ステップS6に戻る。
1 ICカード発行装置
10 ICカード発行モジュール
11 コンパイルモジュール
12 伝送制御モジュール
13 通信インターフェース回路
14 データ記憶手段
15 発行スクリプト
150 ステートメント
151 スクリプトID
152 宣言ブロック
2 ICカード
10 ICカード発行モジュール
11 コンパイルモジュール
12 伝送制御モジュール
13 通信インターフェース回路
14 データ記憶手段
15 発行スクリプト
150 ステートメント
151 スクリプトID
152 宣言ブロック
2 ICカード
Claims (6)
- ICカードに実装されるコンピュータプログラムを利用して、前記ICカードを発行するICカード発行装置であって、ICカード発行装置は、前記ICカード発行装置用のスクリプト言語で記述された発行スクリプトを記憶し、更に、ICカード発行装置は、前記ICカード装置とデータ通信するためのリーダライタと、前記リーダライタを用いて前記ICカード装置とデータ通信するための前記伝送制御手段と、前記発行スクリプトを解釈し、前記ICカード装置に解釈した処理を実行させるICカード発行手段と、を備えていることを特徴とするICカード発行装置。
- 請求項1に記載のICカード発行装置であって、前記ICカード発行手段は、前記ICカードプログラムのプログラムインターフェース仕様に基づき、前記ICカード装置に実行させるコマンドAPDUを前記発行スクリプトから生成するコマンドAPDU生成部を備え、前記ICカード発行手段は、少なくとも、前記コマンドAPDU生成部が生成した前記コマンドAPDUを前記ICカード装置に送信し、前記ICカード装置から受信したレスポンスAPDUを処理することを特徴とするICカード発行装置。
- ICカードに実装されるコンピュータプログラムであるICカードプログラムを発行するICカード発行方法であって、ICカード発行方法は、
ステップ1)前記ICカード発行装置用のスクリプト言語で記述された発行スクリプトを解釈するステップ、
ステップ2)前記ICカードプログラムを実行するICカード装置に、前記ステップ1)で解釈した処理を実行させるステップ、
を備え、ステップ1)およびステップ2)を繰り返し実行することで、前記ICカードを発行することを特徴とするICカード発行方法。 - 請求項3に記載のICカード発行方法であって、前記ICカード発行方法に備えられた前記ステップ1)では、前記ICカードプログラムのプログラムインターフェース仕様に基づき、前記ICカード装置に実行させるコマンドAPDUを前記発行スクリプトから生成し、生成した前記コマンドAPDUを前記ICカード装置に伝送する処理が実行され、前記ステップ2)では、前記ステップ1)で伝送した前記コマンドAPDUに対するレスポンスAPDUを前記ICカード装置から受信し、前記レスポンスAPDUを判定する処理が実行されることを特徴とするICカード発行方法。
- 請求項4に記載のICカード発行方法であって、前記ステップ2)では、前記レスポンスAPDUの判定結果に従って、前記ICカードの発行処理を分岐させることを特徴とするICカード発行方法。
- 請求項3から請求項5のいずれかに記載のICカード発行方法に含まれる各ステップを実行させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006148262A JP2007317093A (ja) | 2006-05-29 | 2006-05-29 | Icカード発行装置、icカード発行方法およびコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006148262A JP2007317093A (ja) | 2006-05-29 | 2006-05-29 | Icカード発行装置、icカード発行方法およびコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007317093A true JP2007317093A (ja) | 2007-12-06 |
Family
ID=38850873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006148262A Withdrawn JP2007317093A (ja) | 2006-05-29 | 2006-05-29 | Icカード発行装置、icカード発行方法およびコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007317093A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100916543B1 (ko) | 2007-12-28 | 2009-09-14 | 비씨카드(주) | 스마트 카드 발급 시스템 및 방법 |
EP2120490A2 (en) | 2008-05-13 | 2009-11-18 | Sony Corporation | Communication device, communication method, communication system and service issuing method |
JP2013003628A (ja) * | 2011-06-13 | 2013-01-07 | Nippon Telegr & Teleph Corp <Ntt> | Icカードシステム、icカードシステムのリカバリ方法およびサーバ |
-
2006
- 2006-05-29 JP JP2006148262A patent/JP2007317093A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100916543B1 (ko) | 2007-12-28 | 2009-09-14 | 비씨카드(주) | 스마트 카드 발급 시스템 및 방법 |
EP2120490A2 (en) | 2008-05-13 | 2009-11-18 | Sony Corporation | Communication device, communication method, communication system and service issuing method |
CN102957692A (zh) * | 2008-05-13 | 2013-03-06 | 索尼株式会社 | 通信装置、通信方法、通信系统和服务发布方法 |
US8638943B2 (en) | 2008-05-13 | 2014-01-28 | Sony Corporation | Communication device, communication method, communication system and service issuing method |
US9729530B2 (en) | 2008-05-13 | 2017-08-08 | Sony Corporation | Communication device, communication method, communication system and service issuing method |
JP2013003628A (ja) * | 2011-06-13 | 2013-01-07 | Nippon Telegr & Teleph Corp <Ntt> | Icカードシステム、icカードシステムのリカバリ方法およびサーバ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6718407B2 (en) | Multiplexer selecting one of input/output data from a low pin count interface and a program information to update a firmware device from a communication interface | |
TWI511051B (zh) | 具有整合感應元件之小型rfid卡 | |
US7325231B2 (en) | Method and related device for updating firmware code stored in non-volatile memory | |
JP2008059271A (ja) | 情報通信媒体 | |
US9021504B2 (en) | Method and device for automatically selecting an application that can be implemented by said device | |
TWI433560B (zh) | 用於小型rfid卡的功率協商 | |
JP2007317085A (ja) | Icカードテスト装置、icカードテスト方法およびコンピュータプログラム | |
JP2007317093A (ja) | Icカード発行装置、icカード発行方法およびコンピュータプログラム | |
US20100153622A1 (en) | Data Access Controller and Data Accessing Method | |
CN109426511B (zh) | 软核更新方法和系统 | |
KR100374526B1 (ko) | 스마트 카드 및 그를 이용한 컴퓨터 프로그램 동작 방법 | |
US7840716B2 (en) | Communication method for storage devices on the basis of file access | |
EP2194458A2 (en) | Request processing device, request processing system, and access testing method | |
JP4590201B2 (ja) | データキャリア及びデータキャリアのプログラム | |
US20030216902A1 (en) | Chip development system with built-in function library | |
JP2007334469A (ja) | プログラマブルコントローラ及びこれを用いた機器制御方法 | |
CN101814057B (zh) | 一种驱动信息安全设备的方法及信息安全设备 | |
US8629757B2 (en) | Processing system for portable electronic apparatus, portable electronic apparatus, and processing apparatus for portable electronic apparatus | |
JP2012511775A (ja) | 異なるユーザインターフェースコマンドシステムのブリッジングのためのアダプタ | |
JP2000099249A (ja) | カ―ド処理機能を備えたキ―ボ―ド及びその制御方法 | |
JP2008052698A (ja) | 言語フォーマット認識方法および装置 | |
JP2006338311A (ja) | 複数のアプリケーションを搭載したデバイスを処理するコンピュータシステム、デバイスおよびコンピュータプログラム | |
JP2004185419A (ja) | 携帯可能電子媒体と、その携帯可能電子媒体の発行システム、処理方法及び発行方法 | |
US9367506B2 (en) | Executive device and control method and electronic system thereof | |
CN113067581B (zh) | 解码系统、解码方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090804 |