JP2005122579A - 複数の通信プロトコルに対応したicカード及びicカードソフトウェアプログラム - Google Patents

複数の通信プロトコルに対応したicカード及びicカードソフトウェアプログラム Download PDF

Info

Publication number
JP2005122579A
JP2005122579A JP2003358627A JP2003358627A JP2005122579A JP 2005122579 A JP2005122579 A JP 2005122579A JP 2003358627 A JP2003358627 A JP 2003358627A JP 2003358627 A JP2003358627 A JP 2003358627A JP 2005122579 A JP2005122579 A JP 2005122579A
Authority
JP
Japan
Prior art keywords
application
card
communication protocol
recorded
program
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.)
Pending
Application number
JP2003358627A
Other languages
English (en)
Inventor
Shunji Katsu
俊二 滑
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 JP2003358627A priority Critical patent/JP2005122579A/ja
Publication of JP2005122579A publication Critical patent/JP2005122579A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 複数のアプリケーションを1つのICチップに格納しているICカードにおいて、カードリーダーライターが使用しているプロトコルを確認し、使用プロトコルに適合したアプリケーションを実行するICカード及びICカード用ソフトウェアを提供する。
【解決手段】 アプリケーション毎に対応する通信プロトコルに関する情報を設け、アプリケーション実行時に現在使用されているプロトコルとアプリケーションが保有する情報を比較し、アプリケーション実行の可否を判断する機能を設ける。
【選択図】 図5


Description

本発明は、ICカードの利用分野、特に複数のアプリケーションを実装したICカード及びICカードソフトウェアに関する。
接触式ICカードにおいては、カードリーダーライタ装置(以下RW)とICカード間の通信に用いられるプロトコルについて、複数の通信プロトコルが規格化されている。例えばICカードの国際規格であるISO規格においては、T=0とT=1の2つが規格化されている。一方では専門分野では、オリジナルの通信プロトコル規格も規定されている。例えば金融系分野においては、ISO規格とは一部仕様が異なるEMV規格が制定されている。
非接触式ICカードの場合も同様であって、ISO規格では1つの通信プロトコルのみ規格化されているが、ユーザ独自に通信プロトコルを規格化している場合が多い。
一つのアプリケーションをICカードに実装する場合は、そのアプリケーションで規定されている通信プロトコル規格を1枚のICカードに組み込めば問題ないが、複数のアプリケーションを1枚のICカードに実装する場合は、それぞれのアプリケーションで規定されている通信プロトコルを1枚のカードに組みこむ必要がある。この場合、組み込まれるアプリケーションで規定されている通信プロトコル規格に相違点がなければ一種類の通信プロトコルを組み込むだけでよく特に問題は生じないが、相違点がある場合は、複数の通信プロトコルを組み込む必要があり、動作時には通信プロトコルと対応するアプリケーションで規定されている通信プロトコルを一致させる必要が生じる。
上記問題を解決する一つの方法として、初期応答データ(ATR)のヒストリカルデータを利用しアクセスエラーを無くす方法(特許文献1)やリセット信号を複数回送信することでアプリケーションを切り替える方法(特許文献2)がすでに発案されている。

特開平06−302180号公報 特表2002−508551号公報
しかしながら、RWからリセット信号を複数回送信する方法やATRのヒストリカルキャラクターからアプリケーションを判断する方法では、その方式に準じて特別なアプリケーションの選択手順を行う必要があるため、それぞれのアプリケーション選択方法が実行可能な様に端末の改造が必要になるため、汎用端末では利用できないという問題がある。また、リセット信号を複数回送信する方法では、時間がかかるという問題もある。なんの対処方法も講じない場合は、規定外の通信プロトコルでもアプリケーションが実行されてしまう結果、正常に動作しないという問題が生じる。
本発明はこのような問題点を解決すべく、異なる通信プロトコルを採用する複数のアプリケーションを1つのICカードに収容する場合においても、RWから送出される通信プロトコルに応じて相応しいアプリケーションを既存システムを改造することなく、また、不都合なく実行することができるICカードおよびICカードのソフトウエアプログラムを提供することを課題とする。
請求項1に記載の発明は、複数の異なる通信プロトコルに対応するICカードであって、
アプリケーションが動作可能な通信プロトコルを規定する情報をアプリケーションごと、あるいはアプリケーションのグループごとに記録し、アプリケーションプログラムを起動するコマンドを受けたときは、現在通信中の通信プロトコルに関する情報が、対象となるアプリケーションプログラムについて、前記記録されているアプリケーションが動作可能な通信プロトコルを規定する情報と一致するかどうかを検査し、一致しなければアプリケーションプログラムを実行しないようにする機能を有することを要旨とする
請求項2に記載の発明は、請求項1に記載のICカードについて、前記アプリケーションが動作可能な通信プロトコルを規定する情報をそのアプリケーションの実行プログラムを記録管理するデディケイティドファイル(DF)ごとに記録していることを特徴とするICカードである。
請求項3に記載の発明は、請求項1に記載のICカードについて、前記アプリケーションが動作可能な通信プロトコルを規定する情報をアプリケーションプログラムごとにアプリケーションプログラムが記録されているROMまたはEEPROMのメモリ領域に記録していることを特徴とするICカードである。
請求項4に記載の発明は、複数の異なる通信プロトコルに対応する請求項1に記載のICカードであって、
アプリケーションが動作可能な通信プロトコルを規定する情報を、そのアプリケーションの実行プログラムを記録管理するデディケイティドファイル(DF)ごとに記録し、かつその実行プログラムごとにそのプログラムが記録されているROMまたはEEPROMのメモリ領域にも記録し、
アプリケーションプログラムを起動するコマンドを受けたときは、現在通信中の通信プロトコルに関する情報が、該当するコマンドの実行プログラムが記録されているDFごとに記録されている通信プロトコルを規定する情報と一致し、かつ、対象となるアプリケーションプログラムについて、前記記録されているアプリケーションが動作可能な通信プロトコルを規定する情報とも一致するかどうかを検査し、両方とも一致しなければアプリケーションプログラムを実行しないようにすることを特徴とすることを特徴とするものである。
請求項4に記載の発明は2重のチェックを行なうことによりICカードリーダーライターとの間で現在使用している通信プロトコルに適合しないアプリケーションの実行を防ぐ。
請求項5に記載の発明は、前記通信プロトコルを規定する情報および前記現在通信中の通信プロトコルに関する情報は、プロトコル種別およびNAD値を含むものであることを特徴とする請求項1から請求項4のいずれかに記載のICカードである。
プロトコル種別は、通信プロトコルが、ISOT=0規格であるかISOT=1であるかを区別する。NAD値とは、ISOT=1規格におけるNAD値を意味する。
請求項6に記載の発明は、ICカードを請求項1から請求項5のいずれかに記載のICカードとして動作させる一連の命令を記述したICカードの制御プログラムである。
本発明に係るICカードおよびICカードの制御プログラムを用いれば、既存システムにおいてもシステムの改造を伴うことがなく、RWから送出される通信プロトコルに応じて相応しいアプリケーションを実行し、通信プロトコルに適合しないアプリケーション実行を回避できる。したがって、異なる通信プロトコルを採用する複数のアプリケーションを1つのICカードに収容することが可能となる。

以下、本発明を実施するための最良の実施形態を図面を適宜利用して説明してゆく。図1は本発明の実施形態に係るICカード1である。ICカード1は、接触式ICカードとし、2つの異なる規格のアプリケーションを1枚のアプリケーションに実装している。すなわち、図1に示すように、1つのアプリケーションは金融系アプリケーションであり、他はISOファイル形式のアプリケーションであるとする。
金融系アプリケーションは、金融系アプリケーションの規格であるEMV規格に、ISOファイル形式のアプリケーションはJICSAP規格にそれぞれ準拠している。このEMV規格とJICSAP規格が規定する通信プロトコルは、ともにISOT=1規格に準拠しているものの、細部で異なる仕様となっている。
そこで、まず、T=1プロトコルの構造について説明する。
図2は、T=1プロトコルの構造を説明する図である。図2に示す如く、〔プロローグフィールド〕〔情報フィールド〕〔エピローグ〕から構成されている。プロローグフィールドは、〔NAD〕〔PCB〕〔LEN〕から構成されている。情報フィールドには、アプリケーションのデータが入る。エピローグフィールドは、プロローグフィールドと情報フィールドの排他的論理和で計算される1バイトの数値である。
前記EMV規格とJICSAP規格では、ともにデータ構造はISOT=1規格に準拠しているが、使用できるNADの値が異なる。EMV規格ではNAD=00hのみ使用することが定められているが、JICSAP規格ではNAD=00h以外の値、例えばNAD=10h、80h等の値も使用できなければならない規格である。したがって、上記2つのアプリケーションを1枚のICカード内に収める場合、使用できるNAD値が異なることにより下記問題が生じる。
すなわち両方のアプリケーションを実行するためにNAD=00h及びNAD≠00hの値でも動作する機能をICカードの通信制御プログラムが有すると、図3に示すように、NAD≠00h以外の場合でも、EMVアプリケーションが実行されてしまう恐れがある。通信制御プログラムとはICカードの基本的な機能であるRWとの通信制御を行なうプログラムであって、一般のコンピュータにおけるOSの一部に相当するプログラムである。
このような事態を避けるため、ICカード1では、アプリケーションプログラムが使用できる通信プロトコル情報をICチップ内のデータ記録領域に記録し、通信制御プログラムが現在動作しているプロトコル情報と、前記アプリケーションが動作可能なプロトコル情報とを比較することで、許可されているプロトコル条件時のみアプリケーションが動作する仕組みを設ける。
以下、この仕組みを説明する。
図4は、ICカードの一般的な初期応答動作を説明するブロック図である。ICカードは、接触端子から電源が入ると、まず、ISO/IEC7816-3初期応答データ(ATR:AnswerToReset)を出力する(S1)。次に、RWからSELECTコマンドが送付されこれを受信する(S2)。SELECTコマンドにより以後使用するアプリケーションコマンドのセットが特定される。次に、RWより特定のアプリケーションコマンドが指定されると、ICカードの指定されたコマンドプログラムが起動される(S3)。
ATRの第1バイトに通信プロトコルの種別が記録されている。ISO規格では最初の1バイトが"3B"ならば"データ論理が正論理"であり、"3F"ならば"データ論理が負論理"であることを意味する。本例では、ICカード1は正論理仕様であり、ATRの1バイト目は、"3B"である。端末は、"3B"からデータ論理を正論理とし、他のATRバイトより通信条件を読取り、ICカード1と通信を開始する。
データ通信プロトコルは、"3B"以降に送出される、第6バイト目のキャラクターの下位4ビットで示される。例えば、第6キャラクターが×0hならばT=0で通信することを示し、×1hならばT=1で通信することを示す。本例では、RWとICカード1間の通信にはT=1プロトコルが用いられるため、第6バイト目の下位4ビットは、0001(2進表示)となっている。
RWとICカード間の通信に使用されるNADの値は、RWから初めて送信されるコマンドに用いたNAD値が使用される。通常、RWから送信される初回のコマンドは、SELECTコマンドが一般的である。アプリケーションの実行はSELECTコマンドにて、アプリケーションを定義しているDF(Dedicated File)を選択することから開始され、SELECTコマンドにて選択された後に、アプリケーションの処理(コマンド)が実行される。
図5は、ICカード1のROM、RAM、EEPROMから構成されるメモリの全空間1において、システム領域とユーザー領域で、通信プロトコル情報が上述のように記録保持されている様子を模式的に説明する図である。システム領域は通信制御プログラムをはじめとする基本ソフトウェア(OS)が使用する領域であり、ユーザ領域はアプリケーションプログラムが使用する領域である。
ICカード1は、RWから初回のコマンドを受信すると、「現在使用されている通信プロトコルを示すデータおよびNAD値」を通信プロトコル情報としてRAMの所定の領域2に格納する。領域2はICカードのメモリ空間のシステム領域すなわち通信制御プログラムがアクセスできるが通常のアプリケーションプログラムがアクセスできないメモリ領域に確保される。領域2は、通信プロトコル情報として2バイトの領域を確保している。1バイトの領域は通信プロトコル種別を格納するためにあり、もう1バイトはRWから送信されたNAD値を記録する領域として用いられる。通信プロトコル種別に記録される値は、01hならばT=1を意味し、00hならばT=0を意味する。
また、アプリケーションプログラム毎に設定される通信プロトコル種別及びNAD値は、ユーザ領域に記録される。例えば、DF1に関する通信プロトコル種別及びNAD値は、ユーザ領域内の領域10に記録される。同様に、DF2に関する通信プロトコル種別及びNAD値は、ユーザ領域内の領域20に記録される。本例では、領域10はEEPROM領域に設けられている。
DF1やDF2下に管理されるそれぞれのアプリケーションプログラムも、当該アプリケーションが実行可能な通信プロトコル情報の記録を持つ。図5では、メモリ領域11、21はそれぞれDF1下のアプリケーション1、DF2下のアプリケーション2の実行可能な通信プロトコル情報を格納するメモリ領域を表す。領域11および21のメモリサイズ、構成も領域2と同じである。領域11、21は、通常、リードオンリーメモリー(ROM)または不揮発性メモリEEPROMの領域に記録される。
本実施例ではICカードはT=1のみサポートするため、T=1で通信が開始されない限り、領域2の通信プロトコル種別の値は初期値FFhのままである。
以下、図5において、通信プロトコルに適合したアプリケーションプログラムだけが適切に選択起動されるメカニズムを説明する。アプリケーション1が保有する通信プロトコル情報(領域11の内容)は「0100h」であり、アプリケーション2が保有する通信プロトコル情報(領域21の内容)は「01FFh」であるとする。
アプリケーションが保有する通信プロトコル情報のNAD値は、現在使用している通信プロトコル情報の意味と若干異なる。アプリケーションが保有する通信プロトコル情報のNAD値が「FFh」の場合は、すべてのNAD値で通信を許可することを意味する。すなわち、アプリケーション1は、通信プロトコルがT=1かつ、NAD値=00hのときのみ動作するアプリケーションであり、アプリケーション2は、通信プロトコルがT=1でさえあればNAD値に関わらず動作するアプリケーションである。
ICカードが初回コマンド、本例ではSELECTコマンドを受信したとき(図4のS2)、前記コマンドが送信されたときの通信プロトコル及びNAD値を、システム領域のRAM領域2に記録する。その後、SELECTコマンドが動作する。DF1がSELECTコマンドにて選択された場合は、SELECTコマンドは、まず、ICカードの通信制御プログラムがRAM領域2に保持している通信プロトコル種別及びNAD値と、DF1がユーザ領域内の領域10に記録しているDF1の通信プロトコル種別及びNAD値を比較する。
プロトコル種別とNAD値の両方がすべて一致している場合(現在の通信プロトコル情報=0100h)は、アプリケーション選択を正常終了として取り扱う。すべて一致していない場合は、実行条件が満足していないことを意味する情報をICカードがRWに返送する。
アプリケーションコマンド1は、DF1により規定されるアプリケーションコマンドセットのひとつである。DF1のアプリケーションコマンド1が実行される場合も上記と同様である。SELECTコマンド後に通信制御プログラムにより領域2に保持されたプロトコル情報及びNAD値と、アプリケーションコマンド1が領域11に保有しているプロトコル情報及びNAD値を比較する。プロトコル情報とNAD値の両方がすべて一致している場合は、アプリケーションコマンド1の実行を開始する。そうでない場合は、アプリケーション選択を異常終了として取り扱う。
尚、アプリケーション1においては、通信プロトコル種別/NAD値の両方が一致しないとアプリケーション1は実行されないが、アプリケーション2においては通信プロトコルのみ一致すればアプリケーション2は実行できる仕組みになっている。
本実施例によれば、アプリケーションが有する通信規格に反することなく、通信規格の異なる複数のアプリケーションを実行できる。したがって通信規約の異なる複数のアプリケーションプログラムをひとつのICカードに収容することができる。尚、上記実施形態では、通信プロトコル情報(領域2)と、領域10または領域20にてDFが保持している情報を比較し、さらに、通信プロトコル情報(領域2)と、領域11または領域21等アプリケーションにて保持している通信プロトコル情報と、2重の比較チェックを行なっている。これをいずれか一方のチェックだけで済ませるような構成としてもよい。
実施形態の一例であるICカード1に2つのアプリケーションが実装されていることを示す図である。 T=1プロトコルの構造を説明する図である。 実施例におけるアプリケーションとNAD値の関係を説明する図である。 ICカードの一般的な初期応答動作およびコマンド起動を説明するブロック図である。 ICカード1のメモリの全空間1において、システム領域とユーザー領域で、通信プロトコル情報が記録保持されている様子を模式的に説明する図である。
符号の説明
1 ICカード
2 通信プロトコル情報が記録保持されるメモリ領域
10 通信プロトコル情報が記録保持されるDF1のメモリ領域
11 通信プロトコル情報が記録保持されるDF2のメモリ領域
20 通信プロトコル情報が記録保持されるアプリケーション1のメモリ領域
21 通信プロトコル情報が記録保持されるアプリケーション2のメモリ領域

Claims (6)

  1. 複数の異なる通信プロトコルに対応するICカードであって、
    アプリケーションが動作可能な通信プロトコルを規定する情報をアプリケーションごと、あるいはアプリケーションのグループごとに記録し、
    アプリケーションプログラムを起動するコマンドを受けたときは、現在通信中の通信プロトコルに関する情報が、対象となるアプリケーションプログラムについて、前記記録されているアプリケーションが動作可能な通信プロトコルを規定する情報と一致するかどうかを検査し、一致しなければアプリケーションプログラムを実行しないようにすることを特徴とするICカード。
  2. 前記アプリケーションが動作可能な通信プロトコルを規定する情報をそのアプリケーションの実行プログラムを記録管理するデディケイティドファイル(DF)ごとに記録していることを特徴とする請求項1に記載のICカード。
  3. 前記アプリケーションが動作可能な通信プロトコルを規定する情報をアプリケーションプログラムごとにアプリケーションプログラムが記録されているROMまたはEEPROMのメモリ領域に記録していることを特徴とする請求項1に記載のICカード。
  4. 複数の異なる通信プロトコルに対応するICカードであって、
    アプリケーションが動作可能な通信プロトコルを規定する情報を、そのアプリケーションの実行プログラムを記録管理するデディケイティドファイル(DF)ごとに記録し、かつその実行プログラムごとにそのプログラムが記録されているROMまたはEEPROMのメモリ領域にも記録し、
    アプリケーションプログラムを起動するコマンドを受けたときは、現在通信中の通信プロトコルに関する情報が、該当するコマンドの実行プログラムが記録されているDFごとに記録されている通信プロトコルを規定する情報と一致し、かつ、対象となるアプリケーションプログラムについて、前記記録されているアプリケーションが動作可能な通信プロトコルを規定する情報とも一致するかどうかを検査し、両方とも一致しなければアプリケーションプログラムを実行しないようにすることを特徴とすることを特徴とする請求項2に記載のICカード。
  5. 前記通信プロトコルを規定する情報および前記現在通信中の通信プロトコルに関する情報はプロトコル種別およびNAD値を含むものであることを特徴とする請求項1から請求項4のいずれかに記載のICカード。
  6. ICカードを請求項1から請求項5のいずれかに記載のICカードとして動作させる一連の命令を記述したICカードの制御プログラム。

JP2003358627A 2003-10-20 2003-10-20 複数の通信プロトコルに対応したicカード及びicカードソフトウェアプログラム Pending JP2005122579A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003358627A JP2005122579A (ja) 2003-10-20 2003-10-20 複数の通信プロトコルに対応したicカード及びicカードソフトウェアプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003358627A JP2005122579A (ja) 2003-10-20 2003-10-20 複数の通信プロトコルに対応したicカード及びicカードソフトウェアプログラム

Publications (1)

Publication Number Publication Date
JP2005122579A true JP2005122579A (ja) 2005-05-12

Family

ID=34615094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003358627A Pending JP2005122579A (ja) 2003-10-20 2003-10-20 複数の通信プロトコルに対応したicカード及びicカードソフトウェアプログラム

Country Status (1)

Country Link
JP (1) JP2005122579A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084197A (zh) * 2020-09-16 2020-12-15 艾体威尔电子技术(北京)有限公司 一种emv协议库中数据的存储方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084197A (zh) * 2020-09-16 2020-12-15 艾体威尔电子技术(北京)有限公司 一种emv协议库中数据的存储方法
CN112084197B (zh) * 2020-09-16 2023-10-31 艾体威尔电子技术(北京)有限公司 一种emv协议库中数据的存储方法

Similar Documents

Publication Publication Date Title
US20130254904A1 (en) Ic card and ic card control method
CN113361293A (zh) 刷卡方法、卡控制器、电子设备及存储介质
EP1615164B1 (en) IC card with self-diagnostic function
EP1879125A2 (en) Program execution control circuit, computer system, and IC card
JP5795921B2 (ja) Icカード、携帯可能電子装置、icカードの制御方法
JP2005122579A (ja) 複数の通信プロトコルに対応したicカード及びicカードソフトウェアプログラム
JP6182940B2 (ja) Icカード、ステータスワード出力方法、及びステータスワード出力処理プログラム
JP4868979B2 (ja) 携帯可能電子装置およびicカード
JP2007087120A (ja) 複数のosを実装したicカード、および、発行委任方法
JP2007115187A (ja) 携帯可能電子装置およびicカード
JP2006252284A (ja) 携帯可能電子装置およびicカード
JP4836707B2 (ja) 携帯可能電子装置およびicカード
JP2006293706A (ja) アプリケーションの更新機能を有するマルチアプリケーションicカード
US8245941B2 (en) Recording method, recorder and IC card
JP4734838B2 (ja) 情報記録媒体とプログラム、及びコマンド実行制御方法
JP7501808B2 (ja) Icチップ
JP5957577B2 (ja) Icカード、携帯可能電子装置、icカードの制御方法
JP7420179B1 (ja) 電子情報記憶媒体、icカード、発行処理方法、及びプログラム
JP7287789B2 (ja) 半導体装置、制御方法、およびプログラム
JP7468754B1 (ja) 電子情報記憶媒体、icチップ、icカード、受信ブロック処理方法、及びプログラム
JP2013011988A (ja) Icカード及びプログラムコードの診断方法
JP2006172271A (ja) マルチアプリケーションicカード及びicカード用プログラム
JP4549731B2 (ja) アプリケーションが共通で使用するコマンドコードを備えたマルチアプリケーション型icカード
JP2007034434A (ja) Icカード、icカードへのデータ書込み方法、および、icカードプログラム
JP4641157B2 (ja) マルチアプリケーション型icカードおよびアプリケーションプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090618

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091027