JP4185715B2 - Icカード及びicカードプログラム - Google Patents

Icカード及びicカードプログラム Download PDF

Info

Publication number
JP4185715B2
JP4185715B2 JP2002189932A JP2002189932A JP4185715B2 JP 4185715 B2 JP4185715 B2 JP 4185715B2 JP 2002189932 A JP2002189932 A JP 2002189932A JP 2002189932 A JP2002189932 A JP 2002189932A JP 4185715 B2 JP4185715 B2 JP 4185715B2
Authority
JP
Japan
Prior art keywords
program
application
information
card
association
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 - Lifetime
Application number
JP2002189932A
Other languages
English (en)
Other versions
JP2004030532A (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 JP2002189932A priority Critical patent/JP4185715B2/ja
Publication of JP2004030532A publication Critical patent/JP2004030532A/ja
Application granted granted Critical
Publication of JP4185715B2 publication Critical patent/JP4185715B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数のアプリケーションを登録することが可能なICカード、及び、登録されているアプリケーションがICカードのハードウェアを利用するためにCPUを実行させるICカードプログラムに関するものである。
【0002】
【従来の技術】
従来のICカードに搭載されているオペレーティングシステム(以下、「オペレーティングシステム」を「OS」という。)は、以下の2種類に分類することができる。一方は単一のアプリケーションをICカードで利用できるようにするためのシングルアプリケーションOSであり、他方は複数のアプリケーションを利用できるようにするマルチアプリケーションOSである。
シングルアプリケーションOSを搭載したシングルアプリケーションICカードは、ほとんどのプログラムが内容を書換えることができない読出し専用メモリ(ROM)に記憶されており、読み出し及び書換え可能な不揮発性メモリ(EEPROM)のメモリ領域のほとんどは、データを記憶する領域として使用されている。従って、シングルアプリケーションICカードでは、容量あたりのコストが高いEEPROMに大きな容量が必要とされず、チップ価格が安価であるため、そのICカード価格は、低廉である。
【0003】
一方、MULTOSカード、JAVAカード(「JAVA」は登録商標)等のマルチアプリケーションOSを搭載したマルチアプリケーションICカードは、EEPROMにプログラム及びデータを含む複数のアプリケーションを格納し、ユーザ独自の機能を備える独自プログラムを登録することができるため、利便性が高い。なお、登録とは、利用できるように記憶することであって、認証等のための一時的な記憶を含まない。
【0004】
【発明が解決しようとする課題】
しかし、シングルアプリケーションICカード及びマルチアプリケーションICカードは、以下の問題があった。
シングルアプリケーションICカードは、複数のアプリケーションを登録することができないため、拡張性及び利便性に欠けるという問題があった。
【0005】
一方、マルチアプリケーションICカードは、容量あたりのコストが高価なEEPROMに複数のアプリケーションを格納するため、シングルアプリケーションICカードよりも容量の大きいEEPROMを備える必要があり、ICカード価格が高価になるという問題があった。
更に、マルチアプリケーションICカードは、アプリケーション毎にEEPROMへ記憶するため、異なるアプリケーションに同一のプログラムコードが含まれる場合であっても、それぞれのアプリケーションの機能として個別にEEPROMに記憶しなければならず、大変不経済である。
【0006】
本発明の課題は、シングルアプリケーションICカード及びマルチアプリケーションICカードのメリットを有する、つまり、製造コストの低減を図ることができ、利便性の高いICカード及びICカードプログラムを提供することである。
【0007】
【課題を解決するための手段】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。すなわち、請求項1の発明は、複数のアプリケーションにおいて共通し、各アプリケーション内で実行されるプログラムである共通プログラムを記憶し、読み出し専用であって不揮発性の第1の記憶部(15)と、メモリ領域がプログラム領域(17p)と、データ領域(17d)とに割り当てられ、個々のアプリケーションに独自のプログラムである独自プログラムをプログラム領域に、アプリケーションデータをデータ領域に、互いに関連づけて記憶する、書き換え可能な不揮発性の第2の記憶部(17−2)とを備え、前記共通プログラム、前記独自プログラム及び前記アプリケーションデータを含む複数のアプリケーションを登録することが可能なICカードであって、独自プログラムを含む独自プログラム登録要求又はアプリケーションデータを含むアプリケーションデータ登録要求を受信する登録要求受信手段(11)と、前記登録要求受信手段によって受信された前記独自プログラム又はアプリケーションデータを前記第2の記憶部の所定の領域に書き込む登録要求情報書込手段(148)と、前記登録要求情報書込手段によって前記第2の記憶部の所定の領域に書き込まれた前記独自プログラム又は前記アプリケーションデータに基づいて、前記アプリケーションを識別するアプリケーション識別情報、独自プログラム識別情報、及び、前記独自プログラムが記憶されている場所を示す場所情報を含む管理情報を作成する管理情報作成手段とを備えること、を特徴とするICカード(1−2)である。
【0008】
請求項2の発明は、請求項1に記載のICカードにおいて、前記登録要求受信手段によって受信される独自プログラム又はアプリケーションデータを前記第2の記憶部に記憶されているいずれのアプリケーションデータ又はいずれの独自プログラムに関連づけるかを示す関連づけ情報を受信する関連づけ情報受信手段(11)と、前記関連づけ情報受信手段によって受信される関連づけ情報が正当であるか否かを判定する関連づけ正当性判定手段(147)とを備え、前記登録要求情報書込手段は、前記関連づけ正当性判定手段によって肯と判定された場合に書き込みを行うこと、を特徴とするICカード(1−2)である。
【0009】
請求項3の発明は、請求項2に記載のICカードにおいて、前記第2の記憶部は、アプリケーション識別情報を、同一のアプリケーションに含まれる前記プログラム領域に記憶されている独自プログラムと、前記データ領域に記憶されているアプリケーションデータとに結びつけて記憶し、前記関連づけ情報受信手段は、関連づけ情報として、前記アプリケーション識別情報を受信すること、を特徴とするICカード(1−2)である。
【0010】
請求項4の発明は、請求項3に記載のICカードにおいて、前記関連づけ情報受信手段によって受信されたアプリケーション識別情報と同一のアプリケーション識別情報が前記第2の記憶部に記憶されているか否かを判定する登録済判定手段(144)と、前記関連づけ情報受信手段によって受信される関連づけ情報に対応する関連づけ正当性認証情報を受信する関連づけ正当性認証情報受信手段(11)とを備え、前記関連づけ正当性判定手段は、前記登録済判定手段によって記憶されていると判定された場合に、前記第2の記憶部に記憶されている同一のアプリケーション識別情報に対応する登録関連づけ正当性認証情報と、前記関連づけ正当性認証情報受信手段によって受信された関連づけ正当性認証情報とを照合することによって判定を行うこと、を特徴とするICカード(1−2)である。
【0011】
請求項5の発明は、請求項1から請求項4までのいずれか1項に記載のICカードにおいて、前記登録要求受信手段によって受信される独自プログラム又はアプリケーションデータが正当なものであるか否かを判定する登録要求情報正当性判定手段(146)を備え、前記登録要求情報書込手段は、前記登録要求情報正当性判定手段によって肯と判定された場合に書き込みを行うこと、を特徴とするICカード(1−2)である。
【0012】
請求項6の発明は、請求項1から請求項5までのいずれか1項に記載のICカードにおいて、前記第2の記憶部は、前記プログラム領域及び/又は前記データ領域の空き容量を示す領域空き容量情報、及び/又は、前記登録要求情報書込手段が独自プログラム又はアプリケーションデータを書き込む位置を示す書込位置情報を記憶すること、を特徴とするICカード(1−2)である。
【0013】
請求項7の発明は、複数のアプリケーションにおいて共通し、各アプリケーション内で実行されるプログラムである共通プログラムを記憶し、読み出し専用であって不揮発性の第1の記憶部(15)と、メモリ領域がプログラム領域(17p)と、データ領域(17d)とに割り当てられ、個々のアプリケーションに独自のプログラムである独自プログラムをプログラム領域に、アプリケーションデータをデータ領域に、互いに関連づけて記憶する、書き換え可能な不揮発性の第2の記憶部(17−2)と、前記第1及び/又は第2の記憶部に記憶されているプログラムを実行するCPU(14)とを備え、前記共通プログラム、前記独自プログラム及び前記アプリケーションデータを含む複数のアプリケーションを登録することが可能なICカードへアプリケーションを登録するために前記CPUに実行させるICカードプログラムであって、独自プログラムを含む独自プログラム登録要求又はアプリケーションデータを含むアプリケーションデータ登録要求を受信する登録要求受信手順(S209、S306)と、前記登録要求受信手順において受信した前記独自プログラム又は前記アプリケーションデータを前記第2の記憶部の所定の領域に書き込む登録要求情報書込手順(S210、S307)と、前記登録要求情報書込手順によって前記第2の記憶部の所定の領域に書き込んだ前記独自プログラム又は前記アプリケーションデータに基づいて、前記アプリケーションを識別するアプリケーション識別情報、独自プログラム識別情報、及び、前記独自プログラムが記憶されている場所を示す場所情報を含む管理情報を作成する管理情報作成手順(S213)とを備えること、を特徴とするICカードプログラムである。
【0014】
請求項8の発明は、請求項7に記載のICカードプログラムにおいて、前記登録要求受信手順において受信する独自プログラム又はアプリケーションデータを前記第2の記憶部に記憶されているいずれのアプリケーションデータ又はいずれの独自プログラムに関連づけるかを示す関連づけ情報を受信する関連づけ情報受信手順(S203、S303)と、前記関連づけ情報受信手順において受信する関連づけ情報の正当性を認証するための関連づけ正当性認証情報を受信する関連づけ正当性認証情報受信手順(S203、S303)と、前記関連づけ情報受信手順において受信する関連づけ情報が正当であるか否かを前記関連づけ正当性認証情報受信手順で受信した関連づけ正当性認証情報に基づいて判定する関連づけ正当性判定手順(S205、S305)とを備え、前記登録要求情報書込手順は、前記関連づけ正当性判定手順において正当であると判定した場合に実行されること、を特徴とするICカードプログラムである。
【0015】
請求項9の発明は、請求項7又は請求項8に記載のICカードプログラムにおいて、前記登録要求受信手順において受信する独自プログラム又はアプリケーションデータが正当なものであるか否かを判定する登録要求情報正当性判定手順(S202、S302)を備え、前記登録要求情報書込手順は、前記登録要求情報正当性判定手順において正当なものと判定した場合に実行されること、を特徴とするICカードプログラムである。
【0016】
【発明の実施の形態】
以下、図面等を参照しながら、本発明の実施の形態について、更に詳しく説明する。
(第1実施形態)
図1は、本発明によるICカードの第1実施形態を説明するための図であって、図1(a)は表面図、図1(b)及び図1(c)はICチップ内部及びCPUを示すブロック図である。
図1に示すように、ICカード1は、接触型のICチップ10を備えている。ICカード1は、図示しない外部装置である接触式のリーダライタ(以下、「リーダライタ」を「R/W」という。)から電源の供給を受け、通信を行う、複数のアプリケーションを登録することが可能なマルチアプリケーションICカードである。ICカード1は、所定のプログラムの実行を要求する命令であるコマンドをR/Wから受信すると、このコマンドを解釈実行し、その結果をレスポンスとしてR/Wへ送信する。
【0017】
アプリケーションとは、ユーザの目的を実現するために業務等に応じて作成されたソフトウェアプログラムであって、主にプログラムコードの部分であるプログラム部と、プログラム部の実行に必要な情報であるアプリケーションデータとを含んでいる。プログラム部は、共通プログラムと、ユーザプログラムとを含み、ユーザプログラムは、ユーザが任意に規定した独自のコマンドに対応した処理を行うプログラム等、個々のアプリケーションにおいて独自のプログラムである。なお、ユーザとは、ICカード1に登録されているアプリケーションを利用して業務等を行う銀行、カード会社等である。
【0018】
シングルアプリケーションの場合は、ほとんどの場合、ソフトウェアプログラムを読み出し可能な不揮発性メモリに記録するが、マルチアプリケーションの場合は異なる目的を実現するために複数のソフトウェアプログラムをEEPROMに記録する。
異なる目的を実現するために作成されたソフトウェアプログラムであっても、いくつかの機能、例えばデータを読み出す機能やパスワードを照合する機能は、共通している場合が多い。特に最近では、業種間で規格を制定するケースが増え、業務種により共通化できるプログラム(共通プログラム)が増えている。
一方、同じ業種間でも同業者との差別化を図るべく、業種規格に加えて、ある会社独自のプログラム(ユーザプログラム)が必要とされるケースも増えている。
【0019】
共通プログラムとは、例えば、R/Wより受け取ったコマンドを解析するプログラム、R/Wにデータを送信するプログラム、ユーザプログラムのコードを不揮発性メモリ17に書込むプログラム、データの読み書き、パスワード照合等のISO7816に規格化されているコマンドに対応した処理を行うプログラム等のICカード1に登録されている複数のアプリケーションが共通に使用できるプログラムである。
【0020】
ICチップ10は、カード表面に、信号及び電力を送受信する通信手段である接触端子11と、R/Wとの通信を制御する送受信回路12と、マイクロプロセッサ13とを備えている。
マイクロプロセッサ13は、CPU14、3つのメモリ15,16,17等を備えている。CPU14は、メモリに記憶されているプログラムを実行することによってICカード1を統括制御し、アプリケーション選択部141、正当性判定部142及びプログラム実行部143を実現する。
【0021】
アプリケーション選択部141は、R/Wから受信したアプリケーション選択要求に対応してアプリケーションの選択を実行する。アプリケーションの選択とは、アプリケーション選択要求で指定されるアプリケーションデータを含むファイルを識別する識別情報をRAM16に保持し、カレントファイル等のコマンドのアクセス対象を設定することである。
正当性判定部142は、R/Wからプログラム実行要求であるコマンドを受信した場合に、アプリケーション選択部141によって選択されたアプリケーションがこのコマンドに対応するプログラムの実行等のアクセスをすることができる正当なアプリケーションであるか否かを判定する。
プログラム実行部143は、正当性判定部142が正当なアプリケーションであると判定した場合に、コマンドに対応するユーザプログラム又は共通プログラムを実行する。
【0022】
3つのメモリは、それぞれ読み出し専用であって、電源が切れてもデータが消去されない不揮発性のメモリであるROM15、読み出し及び書換え可能であって、電源が切れるとデータが消去されてしまう揮発性のメモリであるRAM16、EPROM、EEPROM等の読み出し及び書換えが可能な不揮発性メモリ17である。本実施形態におけるメモリ容量は、ROM15が16Kバイト、RAM16が1Kバイト、不揮発性メモリ17が8Kバイトである。
【0023】
ROM15は、ICチップ製造時に記憶されたOS、実行環境等のICカード1が動作するために必要な機能(プログラム)を記憶している。また、ROM15は、種別毎に一の共通プログラムを記憶している。この共通プログラムは、すべてのアプリケーションで使用できる。
RAM16は、OSが動作するために必要な情報が逐次書き込まれるCPU14の作業領域であって、プログラム等は、記憶されていない。
不揮発性メモリ17は、ユーザプログラム、アプリケーションデータ等を記憶している。
【0024】
図2は、書き換え可能な不揮発性メモリのメモリ構造図である。
図2に示すように、不揮発性メモリ17のメモリ領域は、OSの管理のもとで、ユーザが利用できない使用禁止領域と、ユーザが利用可能なデータ領域17d及びプログラム領域17pとに割り当てられている。データ領域17d及びプログラム領域17pには、それぞれ、アプリケーションデータ及びユーザプログラムが記憶されている。本実施形態では、不揮発性メモリ17においてユーザが利用できる領域は、アドレスが「0100H〜1FFFH」の領域に、プログラム領域17pは「0100H〜0FFFH」に、データ領域17dは「1000H〜1FFFH」にそれぞれ割り当てられている。
【0025】
図3は、書き換え可能な不揮発性メモリのデータ領域を示すメモリ構造図である。
図3に示すように、不揮発性メモリ17のデータ領域17dには、情報が階層構造を構成するように格納されている。専用ファイルDF(DedicatedFile)は、通常、アプリケーション毎に設定されている。不揮発性メモリ17は、アプリケーションデータをこの専用ファイルの下に関連づけて記憶している。
【0026】
専用ファイルは、少なくともICカード1に格納されている他の専用ファイルから識別するためのDF識別情報を付属情報として格納している。DF識別情報は、専用ファイル名と、アプリケーションIDとを含み、専用ファイル名は、アプリケーションの名前を示す値であって、1〜16バイトの値をユーザが設定する。アプリケーションIDは、OSの管理下において一のアプリケーションを少なくともICカード1に格納されている他のアプリケーションから識別するための情報であって、アプリケーションの種別毎に設けられている。なお、アプリケーションIDの設定方法は、任意である。
【0027】
図4は、DF識別情報を説明するための図である。
図4(a)に示すように、ICカード1には、ユーザA社のアプリケーションAと、ユーザB社のアプリケーションBが登録され、不揮発性メモリ17のデータ領域には、アプリケーションA用の専用ファイルと、アプリケーションB用の専用ファイルが格納されている。
【0028】
例えば、ポイントカードアプリケーションに含まれる、複数の店舗にそれぞれ対応する専用ファイル等、アプリケーションAに含まれる複数の専用ファイル(DF1,DF2,DF3)のアプリケーションIDは、アプリケーションAを示す「A0」となる。DF1、DF2及びDF3は、DF識別情報がそれぞれ「APA1A0」、「APA2A0」、「APA3A0」であり、店舗毎のポイント等のアプリケーションAの処理において使用されるアプリケーションデータを格納している。
【0029】
また、アプリケーションBに含まれる複数の専用ファイル(DF4,DF5)のアプリケーションIDは、アプリケーションBを示す「B0」となる。DF4及びDF5は、DF識別情報がそれぞれ「APB1B0」、「APB2B0」であり、アプリケーションBの処理において使用されるアプリケーションデータを格納している。本実施形態では、アプリケーションIDを1バイトとしているが、これに限られず、2バイト等、これ以上であってもよく、データサイズは任意である。
【0030】
図4(b)に示すように、A社が、例えば、ポイントカードアプリケーションA、クレジットアプリケーションAA等の種類の異なる複数のアプリケーションをICカード1に登録したい場合には、A社は、それぞれのアプリケーションに使用するための専用ファイルを個別に作成し、異なったアプリケーションID「A0」、「A1」がそれぞれ設定される。このアプリケーションIDの違いから、OSの処理下におけるCPU14は、アプリケーションAと、アプリケーションAAとを異なったアプリケーションと認識する。
【0031】
次に、書き換え可能な不揮発性メモリのプログラム領域について説明する。
図5及び図6は、書き換え可能な不揮発性メモリのプログラム領域を示すメモリ構造図である。
図5に示すように、プログラム領域17pは、INDEX領域17piとプログラムコード領域17pcとに分けられ、INDEX領域17piには、INDEX情報が、プログラムコード領域17pcには、ユーザプログラム本体であるプログラムコードが互いに関連づけて、ユーザプログラムの数(n)だけ記憶されている。
INDEX情報は、一のユーザプログラムを少なくともICカード1内の他のユーザプログラムから識別するユーザプログラム識別子(2バイト)、プログラムコードが記憶されている場所を示すプログラム番地(2バイト)、アプリケーションID(1バイト)を含む管理情報である。
【0032】
INDEX情報内のアプリケーションIDは、少なくとも一のアプリケーションをICカード1に登録されている他のアプリケーションから識別するための識別情報であって、DF識別情報と同様にアプリケーションの種別毎に設けられている。このアプリケーションIDが示すアプリケーションにおいてのみユーザプログラムが実行される。つまり、正当性判定部142は、ユーザプログラム実行前に、選択されているアプリケーションを示すアプリケーション識別情報に含まれるアプリケーションIDと、INDEX情報に含まれるアプリケーションIDを比較し、一致する場合のみ、プログラム実行部143は、ユーザプログラムを実行する。
【0033】
例えば、選択されたアプリケーションを示すアプリケーションIDが「A0」の場合には、プログラム実行部143は、INDEX情報に含まれるアプリケーションIDが「A0」のユーザプログラムのみを実行する。プログラム実行部143は、INDEX情報に含まれるアプリケーションIDが「01」、「20」等の異なった値であるユーザプログラムを実行しない。
プログラムコード領域17pcには、ユーザプログラムコード本体が指定されたアドレスから記憶され、この先頭アドレスがINDEX情報に含まれる。
【0034】
図6に示すように、プログラム領域17pには、データ領域17dに記憶されているアプリケーションAの独自コマンドに対応した処理を行うユーザプログラムCAと、アプリケーションBの独自コマンドに対応した処理を行うユーザプログラムCBとが記憶されている。ユーザプログラムCAのINDEX情報は、「00CA020001」であり、「00CA」、「0200」、「01」がそれぞれユーザプログラム識別子、プログラムコードの先頭アドレス及びアプリケーションIDである。このINDEX情報は、ユーザプログラムCAのプログラムコードが不揮発性メモリ17の200番地から記憶され、アプリケーション識別子「01」の示すアプリケーションAにおいてのみ、ユーザプログラムCAが実行されることを示している。
【0035】
同様にユーザプログラムCBのINDEX情報「00CB060002」は、ユーザプログラムCBのプログラムコードが不揮発性メモリ17の600番地から記憶され、アプリケーション識別子「02」の示すアプリケーションBにおいてのみ、ユーザプログラムCBが実行されることを示している。
【0036】
図7は、専用ファイル及びユーザプログラムの相互関係について説明するためのメモリ構造図である。
図7に示すように、データ領域17dには、アプリケーションA用専用ファイル、アプリケーションB用専用ファイル及びアプリケーションC用専用ファイルの3つの専用ファイルが記憶され、プログラム領域17pには、これらアプリケーションでそれぞれ実行されるユーザプログラムA,B及びCが記憶されている。このように、専用ファイル及びユーザプログラムは、DF識別情報に含まれるアプリケーションIDと、ユーザプログラムのINDEX情報に含まれるアプリケーションIDによって関連づけられている。
【0037】
図8及び図9は、本発明によるICカードの発行を説明するための図である。カード発行者がA社及びB社の要求に応じて2つのアプリケーションであるサービスA及びサービスBをICカード1へ登録し、ICカード1を発行する過程を説明する。なお、サービスAに含まれるプログラムは、READ、WRITE等の共通コマンドに対応する処理を行うための共通プログラムと、サービスAの独自コマンドに対応する処理を行うためのユーザプログラムAであり、サービスBに含まれるプログラムは、共通プログラムと、サービスBの独自コマンドに対応する処理を行うためのユーザプログラムBである。
【0038】
先ず、図8及び図9に示すように、カード発行者は、ユーザプログラムを登録する所定の専用コマンドをR/WからICカード1へ送信することによってユーザプログラムA及びユーザプログラムBを不揮発性メモリ17へ登録する。この登録によって、プログラム領域17pにユーザプログラムA及びユーザプログラムBのINDEX情報及びプログラムコードが記憶される。
【0039】
次いで、カード発行者は、共通コマンドをR/WからICカード1へ送信することによって、ユーザプログラムA及び共通プログラムが使用するアプリケーションデータが格納されているデータファイルA1をアプリケーションA用の専用ファイル(DF名は、APPAである。)に関連づけて不揮発性メモリ17のデータ領域17dに形成する。同様に、カード発行者は、データファイルA2をアプリケーションB用の専用ファイル(DF名は、APPB)に関連づけてデータ領域17dに形成し、ICカード1を発行する。なお、INDEX情報及びデータファイルに含まれるアプリケーションIDは、アプリケーション登録前に予め設定してもよいし、ICカード1がユーザプログラム等の登録情報を受信後に割り当ててもよい。
【0040】
図10は、本発明によるICカードの動作及び本発明によるICカードプログラムの第1実施形態を示すフローチャートである。なお、ICカード1には、サービスA及びサービスBの2つのアプリケーションが登録されている。
ステップ100(以下、「ステップ」を「S」という。)において、カード所有者は、サービスAを動作させることのできる所定のR/WにICカード1を挿入する。
【0041】
S101においてICカード1は、開始処理を行う。具体的には、ICカード1は、R/Wと通信を行い、活性化され、R/Wからの命令を受付けることができる状態となる。また、ICカード1は、R/WからサービスAを選択するコマンドを受信し、アプリケーション選択部141は、RAM16内部にDF名「APPA」及びアプリケーションID「01」のデータを保持することによってサービスAを選択する(S102)。
【0042】
S103において、ICカード1は、R/Wから所定のフォーマットのコマンド「00CA0123456789ABCDEF」を受信する。本実施形態におけるコマンドのフォーマットは、2バイト長のユーザプログラム識別子と、8バイト長のデータ(長さは任意である。)との構成である。
正当性判定部142は、受信した2バイトのユーザプログラム識別子「00CA」をINDEX情報内で探索し、同一のユーザプログラム識別子を有するユーザプログラムがあるか否かを判定する。
本実施形態においては、不揮発性メモリ17のプログラム領域に記憶されているユーザプログラムAのユーザプログラム識別子が「00CA」であるため、正当性判定部142は、肯と判定する。
【0043】
次に、正当性判定部142は、ユーザプログラムAのINDEX情報に含まれるアプリケーションID及びS101で選択したアプリケーションを示すアプリケーションIDが一致するか否かを判定する(S105)。双方ともに「01」であるため、正当性判定部142は、肯と判定し、プログラム実行部143は、INDEX情報内のプログラムコード先頭アドレスを参照してユーザプログラムAを実行し(S106)、その結果をレスポンスとしてR/Wへ送信し(S110)、処理を終了する(S111)。
【0044】
一方、S104において、否と判定した場合には、正当性判定部142は、ROM15を探索し、ユーザプログラム識別子が一致する共通プログラムがあるか否かを判定する(S107)。一致する共通プログラムがあった場合には、プログラム実行部143は、その共通プログラムを実行し(S109)、一致する共通プログラムがない場合には、エラーとなり(S108)、ICカード1は、その結果をレスポンスとしてR/Wへ送信し(S110)、処理を終了する(S111)。
【0045】
また、S105において、アプリケーションIDが一致しない場合、例えばS101でアプリケーションIDが「02」であるサービスBが選択されているときには、ICカード1は、ユーザプログラム識別子が一致する共通プログラムがあるか否かを判定する(S107)。一致する共通プログラムがあった場合には、プログラム実行部143は、その共通プログラムを実行し(S109)、一致する共通プログラムがない場合には、エラーとなり(S108)、ICカード1は、その結果をレスポンスとしてR/Wへ送信し(S110)、処理を終了する(S111)。
【0046】
本実施形態によれば、ICカード1は、不揮発性メモリ17にユーザプログラム及びアプリケーションデータを記憶し、ROM15に共通プログラムを記憶することによって複数のアプリケーションを登録するため、従来のマルチアプリケーションICカードと比べて不揮発性メモリ17の容量を低く抑え、利便性を高く維持しつつ、製造コストの低減を図ることが可能となった。
また、種別毎に一の共通プログラムを記憶することによって、共通プログラムをアプリケーション毎に記憶する必要がないため、メモリ全体の容量を低く抑え、製造コストの低減を図ることが可能となった。
更に、ICカード1は、共通プログラム、ユーザプログラム及びアプリケーションデータを分けて登録するため、汎用性を向上するとともに、利便性の向上を図ることが可能となった。
【0047】
更に、正当性判定部142は、R/Wから受信したコマンドに対応するユーザプログラムのINDEX情報に含まれるアプリケーション識別情報と、選択されているアプリケーションを示すアプリケーション識別情報とを比較し、正当なアプリケーションであるか否かを判定するため、アクセス権限のない不当なアプリケーションによるユーザプログラムの実行を防止し、セキュリティ性の向上を図ることが可能となった。
【0048】
(第2実施形態)
図11は、本発明によるICカードの第2実施形態を説明するための図であって、図11(a)は表面図、図11(b)及び図11(c)はICチップ内部及びCPUを示すブロック図である。
なお、前述した第1実施形態と同様の機能を果たす部分には、同一の符号を付して、重複する説明を適宜省略する。
図11に示すように、第2実施形態におけるICカード1−2は、CPU14−2と、書き換え可能な不揮発性メモリ17−2とを備えている。カード所有者は、ICカード1−2を図示しない外部装置である書込装置のR/Wに挿入することによって、ICカード1−2にユーザが提供するアプリケーションを登録することができる。書込装置は、ユーザプログラム又はアプリケーションデータを含み、ユーザプログラム又はアプリケーションデータのICカード1−2への登録を要求する登録要求である登録コマンド等をICカード1−2へ送信することによって、このユーザプログラム、アプリケーションデータを含むアプリケーションの登録を行う。
【0049】
CPU14−2は、登録済判定部144と、容量判定部145と、登録要求情報正当性判定部146と、関連づけ正当性判定部147と、登録要求情報書込部148とを備えている。CPU14−2は、ROM15、不揮発性メモリ17−2に記憶されているOS等のプログラムを実行することによって、これらの各部を実現する。
登録済判定部144は、アプリケーションIDを含む第2認証コマンド(後述する)をR/Wから受信した場合に、このアプリケーションIDと同一のアプリケーションIDが不揮発性メモリ17−2に登録されているか否かを判定する登録済判定処理を行う。
【0050】
容量判定部145は、不揮発性メモリ17−2のプログラム領域17p又はデータ領域17dに、R/Wから受信するユーザプログラム又はアプリケーションデータを書き込むことができる空き容量があるか否かを、受信したこのユーザプログラム又はアプリケーションデータのデータ量と、不揮発性メモリ17−2に記憶されている空き容量とを照合することによって判定する容量判定処理を行う。本実施形態において、容量判定部145は、ユーザプログラム又はアプリケーションデータのデータ量を含み、この処理の実行を要求する容量判定要求である容量判定コマンドを書込装置から受信した場合に処理を行う。
【0051】
登録要求情報正当性判定部146は、書込装置等の登録要求パスワードの送信元がユーザプログラム又はアプリケーションデータ等の登録要求情報を登録する権限を有するか否か、つまり、この登録要求情報が正当なものであるか否かを受信した登録要求パスワードと、不揮発性メモリ17−2に記憶されている登録権限認証情報とを照合して判定する登録要求情報正当性判定処理を行う。
本実施形態において、登録要求情報正当性判定部146は、登録要求パスワードを含み、この処理の実行を要求する登録要求情報正当性判定要求である第1認証コマンドを書込装置から受信した場合にこの処理を行う。なお、登録要求情報正当性判定部146が正当と判定した場合には、ICカード1−2は、登録権限が認証済であることを示すフラグを立てる。
【0052】
関連づけ正当性判定部147は、書込装置等のアプリケーションID及びID利用パスワードの送信元がこのアプリケーションIDを正当に利用できるものであるか否かを、受信したID利用パスワードと、不揮発性メモリ17に記憶されているID登録パスワードとを照合して判定する。つまり、関連づけ正当性判定部147は、この判定を行うことによって、受信したアプリケーションIDが、登録要求に含まれるユーザプログラム又はアプリケーションデータと、不揮発性メモリ17−2に記憶されているアプリケーションデータ又はプログラム領域17pに記憶されているユーザプログラムとを関連づけるべき正当なものか否かを判定する関連づけ正当性判定処理を行う。
【0053】
本実施形態において、関連づけ正当性判定部147は、アプリケーションID及びID利用パスワードを含み、この処理の実行を要求する関連づけ正当性判定要求である第2認証コマンドを書込装置から受信し、登録済判定部144が肯と判定した場合に処理を行う。なお、関連づけ正当性判定部147が正当と判定した場合又は登録済判定部144が否と判定した場合には、ICカード1−2は、受信したアプリケーションIDが認証済であることを示すフラグを立てる。
【0054】
登録要求情報書込部148は、ユーザプログラム又はアプリケーションデータを含む登録コマンドを受信した場合であって、登録権限が認証済であることを示すフラグ及びアプリケーションIDが認証済であることを示すフラグが双方ともに立っているときに、登録コマンドに含まれる登録要求情報であるユーザプログラム又はアプリケーションデータを不揮発性メモリ17−2のプログラムコード領域17pc又はデータ領域17dに書き込む登録要求情報書込処理を行う。
【0055】
図12は、書き換え可能な不揮発性メモリのメモリ構造図である。
図12に示すように、第2実施形態における不揮発性メモリ17−2のメモリ領域は、OSの処理に必要な情報、カードが動作するために必要な情報等を記憶するシステム領域17sと、データ領域17dと、プログラム領域17pとにOSの管理のもとに割り当てられている。
本実施形態では、図12(b)に示すように、システム領域17sは「0000H〜05FFH」に、プログラム領域17pは「0600H〜13FFH」に、データ領域17dは「1400H〜1FFFH」にそれぞれ割り当てられている。
【0056】
図13に示すように、データ領域17dには、付属情報としてDF識別情報が格納されているDF1及びDF2と、この専用ファイルの下にアプリケーションデータを格納しているデータファイル1−1,1−2、2−1,2−2とが記憶されている。ICカード1−2に登録されているアプリケーションは、DFによって定義され、アプリケーション選択要求によってそのアプリケーションを定義しているDFが選択されることによって、アプリケーション選択部141は、実行するアプリケーションを選択する。
【0057】
図14は、第2実施形態における書き換え可能な不揮発性メモリのシステム領域を示すメモリ構造図である。
図14に示すように、システム領域17sには、OSが動作するために必要な基本情報であるOS管理情報(D10)と、登録権限認証情報(D21)及び第1不成功回数(D22)を含む登録認証管理情報(D20)と、アプリケーションID(D31)、ID登録パスワード(D32)及び第2不成功回数(D33)を含むAC認証情報(D30)とを含む管理情報が隠匿に記憶されている。また、システム領域17sには、プログラム領域空き容量(D41)と、次ユーザプログラム登録アドレス(D42)とが記憶されている。
【0058】
登録権限認証情報(D21)は、登録要求情報正当性判定部146による登録要求情報正当性判定処理において、登録要求パスワードと照合される参照情報である。
第1不成功回数(D22)は、この登録権限認証情報(D21)に基づく認証が不成功であっても、再認証を要求できる回数であって、登録要求情報正当性判定部146の判定結果が否となった場合に1減算される。なお、不成功回数が「0」になると、ICカード1−2は、認証を受け付けない閉塞状態となる。
AC認証情報(D30)は、ICカード1−2に登録されているアプリケーションのアプリケーションID(D31)毎に、ID登録パスワード(D32)及び不成功回数(D33)を結びつけた情報であって、アプリケーションID(D31)の認証を管理するための関連づけ管理情報である。
【0059】
ID登録パスワード(D32)は、関連づけ正当性判定部147の関連づけ正当性判定処理において、関連づけ正当性認証情報であるID利用パスワードと照合される登録関連づけ正当性認証情報であって、書込装置等のこのID利用パスワードの送信元がアプリケーションID(D31)の正当な利用者であることを認証するためのID利用権限認証情報である。ICカード1−2に登録されているID登録パスワード(D32)は、例えば、このアプリケーションID(D31)が示すアプリケーションを正当に利用できるユーザのみが知りうるパスワードである。
第2不成功回数(D33)は、第1不成功回数(D22)と同様に、このID登録パスワード(D32)に基づく認証が不成功であっても、再認証を要求できる回数である。
【0060】
領域空き容量(D41)は、INDEX領域17pi並びにプログラムコード領域17pc及びデータ領域17dの空き容量を示し、次ロードアドレス(D42)は、登録要求情報書込部148がプログラム領域17pcにユーザプログラムを書き込む空き領域の先頭アドレスと、データ領域17dにアプリケーションデータを書き込む空き領域の先頭アドレスとを示している。
【0061】
次に、アプリケーションを登録する場合のICカード1−2の動作について説明する。
図15は、本発明によるICカードの第2実施形態における動作及び本発明によるICカードプログラムの第2実施形態を示すフローチャートであって、ユーザプログラムをICカード1−2に登録するユーザプログラム登録処理を示している。
また、図16は、ユーザプログラム登録処理前の書き換え可能な不揮発性メモリのメモリ構造図であり、図17及び図18は、ユーザプログラム登録処理前、処理中、処理後のシステム領域17s及びプログラム領域17pを示すメモリ構造図である。
【0062】
以下、ICカード1−2にA社及びB社のそれぞれのアプリケーションであるアプリケーションA(アプリケーションIDは「01」、アプリケーションデータを格納するDFのDF名は「APPA」)及びアプリケーションB(アプリケーションIDは「02」、DF名は「APPB」)を登録する場合について、ICカード1−2の処理を中心に説明する。
なお、アプリケーションAに含まれるユーザプログラムのユーザプログラム識別子は「CA00」、ユーザプログラムの容量は512バイトであり、アプリケーションBに含まれるユーザプログラムのユーザプログラム識別子は「CB00」、容量は512バイトである。
【0063】
先ず、図15に示すユーザプログラム登録処理のS200におけるICカード1−2の初期状態について説明する。
ICカード1−2は、S200において、アプリケーションA及びアプリケーションB等の複数のアプリケーションに共通する所定の共通プログラムがROM15に記憶されている。
図16及び図17(a)に示すように、ICカード1−2の初期状態において、不揮発性メモリ17−2のメモリ領域は、システム領域17s、プログラム領域17p及びデータ領域17dに割り当てられ、システム領域17sは、OS管理情報(D10)、登録権限認証情報「1234567」(D22)を含む登録認証管理情報(D20)、領域空き容量(D41)、次ロードアドレス(D42)「0800H」が記憶され、AC認証情報(D30)が未登録の状態である。
【0064】
登録認証管理情報(D20)の登録権限認証情報(D21)は、「01234567」、第1不成功回数(D22)及び第2不成功回数(D33)は、3回に設定されている。また、領域空き容量(D41)は、INDEX領域17piが512バイト、プログラムコード領域17pcが3072バイトであり、次ロードアドレスが「0800H」である。
図18(a)に示すように、プログラム領域17pは、プログラムINDEX領域17pi及びプログラムコード領域17pcにユーザプログラムが未登録の状態であり、図16に示すように、データ領域17dは、アプリケーションデータを格納するDFが未登録の状態である。
【0065】
図15を参照しながら、アプリケーションAに含まれるユーザプログラムをICカード1−2へ登録するユーザプログラム登録処理について説明する。
S201において、ICカード1−2は、第1認証コマンドを書込装置のR/Wから受信する。ICカード1−2の登録要求情報正当性判定部146は、登録要求情報正当性判定処理を行う(S202)。S201において受信した登録要求パスワードが「1234567」以外であって、登録要求情報正当性判定部146が否と判定した場合には、ICカード1−2は、エラーのレスポンスをR/Wへ送信し、第1不成功回数を1減算し(S216)、再び登録要求パスワードを受信し(S201)、同様の処理を繰り返す(S202)。
【0066】
一方、肯と判定した場合には、ICカード1−2は、その旨を示すレスポンスを送信し、アプリケーションID及びID利用パスワードを含む第2認証コマンドを受信する(S203)。登録済判定部144は、登録済判定処理を行い、受信したアプリケーションID「01」と同一のものが不揮発性メモリ17−2のシステム領域17sに登録されているか否かを判定する(S204)。登録済判定部144は、システム領域17sにAC認証情報のアプリケーションIDが未登録であるため、否と判定し、ICカード1−2は、S203において受信したアプリケーションID(D31)及びID登録パスワード(D32)(ID利用パスワード)をシステム領域17sに登録し(S218)、その旨をレスポンスとして送信し、S206へ進む。
【0067】
なお、S204において、既にアプリケーションID「01」がシステム領域17sに登録され、肯と判定した場合には、ICカード1−2の関連づけ正当性判定部147は、関連づけ正当性判定処理を行う(S205)。この処理において否と判定した場合には、S216と同様に、ICカード1−2は、エラーのレスポンスを送信し、第2不成功回数を1減算し(S217)、同様の処理を繰り返す(S203からS205まで)。
【0068】
S205において肯と判定した場合及びS204において否と判定した場合には、ICカード1−2は、ユーザプログラムのバイト数を含む容量判定コマンドを受信する(S206)。容量判定部145は、領域空き容量(D41)を参照し、INDEX領域17piにINDEX情報を書き込む空き(5バイト)があるか否かを判定する容量判定処理を行う(S207)。INDEX領域17piの空き容量は、512バイトであるため、容量判定部145は、肯と判定し、同様にS206で受信したユーザプログラムのバイト数(512バイト)について容量判定処理を行う(S208)。システム領域17sのプログラムコード領域空き容量は、3072バイトであるため、容量判定部145は、肯と判定し、ICカード1−2は、その旨のレスポンスを送信する。
【0069】
S207又はS208において容量判定部145が否と判定した場合には、ICカード1−2は、エラーのレスポンスを送信し(S219)、処理を終了する。
S209において、ICカード1−2は、ユーザプログラム及びユーザプログラム識別子「CA00」を含む登録コマンドを受信し、登録要求情報書込部148は、登録要求情報書込処理を行い、このユーザプログラムをプログラムコード領域17pcの次ロードアドレス(D42)から書き込む(S210)。この書込がプログラムコード領域17pc外である場合には、ICカード1−2は、エラーのレスポンスを送信し(S219)、処理を終了する(S215)。
【0070】
書込が正常に終了した場合には、ICカード1−2は、その旨を示すレスポンスを送信し、INDEX領域17piにINDEX情報「00CA080001」を作成する(S213)。ICカード1−2は、不揮発性メモリ17−2に記憶されている領域空き容量(D41)、次ロードアドレス(D42)を更新し(S214)、ユーザプログラム登録処理を終了する(S215)。なお、本実施形態では、更新後のINDEX領域空き容量(D41)は、507バイト、プログラムコード領域空き容量(D41)は、2560バイト、次ロードアドレス(D42)は、「0A00H」となる[図17(b)参照]。
【0071】
また、アプリケーションBに含まれるユーザプログラム「00CB」も同様にICカード1−2に登録される。このユーザプログラムを登録する場合には、すでにアプリケーションID「01」がシステム領域17sに登録されているが、アプリケーションBに含まれるユーザプログラムのアプリケーションID「02」とは、異なるため、ICカード1−2は、同様の処理を行うこととなる。
このユーザプログラム「00CB]の登録後には、図17(c)及び図18(c)に示すように、INDEX領域空き容量(D41)は、502バイト、プログラムコード領域の空き容量(D41)は2048バイト、次ロードアドレス(D42)は「0C00H」となり、不揮発性メモリ17−2のプログラム領域17pには、2つのアプリケーションID「01」、「02」と、2つのユーザプログラム「00CA」、「00CB]及びINDEX情報が登録されている。
【0072】
次に、A社のアプリケーションC(アプリケーションIDは「01」)に含まれるユーザプログラム(識別子は「00DC」、データ量は1Kバイト)を次ロードアドレス(「0C00H」(D42)から追加登録する場合について説明する。
登録する流れは、前述のユーザプログラム「00CA」に係る処理と同様であるが、第2認証コマンドに対応する動作が一部異なるため、図15を参照しながらこの点について説明する。
【0073】
S200、S201及びS202において、ICカード1−2は、前述したユーザプログラム「00CA」の場合と同様の処理を行う。S203において、ICカード1−2は、アプリケーションID「01」及びID利用パスワードを含む第2認証コマンドを受信する。登録済判定部144は、受信したアプリケーションID「01」と同一のものが不揮発性メモリ17−2のシステム領域17sに登録されていると判定する[S204、図17(c)参照]。
【0074】
関連づけ正当性判定部147は、S203で受信したID利用パスワードと、システム領域17sに記憶されているアプリケーションID「01」に対応するID登録パスワード(D32)とを照合する[図17(c)参照]。この場合に、S203で受信したID利用パスワードが「11111111」であれば、関連づけの正当性が認証され、パスワードが「11111111」以外、例えば「00000000」であれば認証されない(S217)。ICカード1−2は、認証した場合には、以下、ユーザプログラム「00CA]と同様の処理を行う(S206からS215まで)。
【0075】
図19は、本発明によるICカードの第2実施形態における動作及び本発明によるICカードプログラムの第2実施形態を示すフローチャートであって、アプリケーションデータをICカード1−2に登録するアプリケーションデータ登録処理を示している。
S301からS305及びS310からS312において、ICカード1−2は、ユーザプログラム登録処理のS201からS205及びS216からS218までと同様の処理を行う。
S306において、ICカード1−2は、アプリケーションデータを含む登録コマンドを受信し、登録要求情報書込部148は、登録要求情報書込処理を行い、このアプリケーションデータをデータ領域17dの次ロードアドレス(D42)から書き込み、専用ファイルと、この専用ファイルの下にデータファイルを生成する(S307)。ICカード1−2は、不揮発性メモリ17−2に記憶されている領域空き容量(D41)、次ロードアドレス(D42)を更新し(S308)、アプリケーションデータ登録処理を終了する(S309)。
【0076】
図20は、ユーザプログラム登録処理及びアプリケーションデータ登録処理後(アプリケーション登録後)の不揮発性メモリ17−2の各領域を示すメモリ構造図である。
図20に示すように、データ領域17dには、アプリケーションデータ登録処理によって登録されたアプリケーションA用DF及びアプリケーションB用DFが格納されている。
説明の便宜上、アプリケーションAのユーザプログラム、アプリケーションBのユーザプログラム、アプリケーションAのアプリケーションデータ、アプリケーションBのアプリケーションデータの登録を順に記述したが、登録する順番は、これに限られるものではない。例えば、アプリケーションAのアプリケーションデータ登録後にアプリケーションAのユーザプログラムを登録してもよい。
【0077】
本実施形態によれば、第1実施形態の効果に加え、ICカード1−2は、独自プログラム単位、アプリケーションデータ単位で通信を行うことによって、アプリケーションの登録を行うため、一度の通信における通信量を軽減することが可能となり、通信の安全性の向上、利便性の向上を図ることが可能となった。
また、ICカード1−2は、受信した関連づけ情報としてのアプリケーションIDが正当であるか否かを判定する関連づけ正当性判定部147と、登録が要求されているユーザプログラム又はアプリケーションデータが正当なものであるか否かを判定する登録要求情報正当性判定部146とを備えるため、セキュリティ性を高く維持しつつ、アプリケーションを登録することが可能となった。
【0078】
更に、ICカード1−2は、空き容量(D41)、次ロードアドレス(D42)を不揮発性メモリ17−2のシステム領域17sに記憶するため、空き容量の確認及び書込に係る処理の簡易化を図り、処理速度の向上を図ることが可能となった。また、ICカード1−2は、不成功回数(D22,D33)をシステム領域17sに記憶するため、よりセキュリティ性を向上することが可能となった。更にまた、ユーザプログラム、アプリケーションデータを個々に登録することができるため、例えば、ポイントアプリケーションでポイント換算のユーザプログラムを追加する場合であっても、新たにアプリケーション全体を登録する必要がなく、登録されているアプリケーションの汎用性の向上を図るとともに、利便性の向上を図ることが可能となった。
【0079】
(変形形態)
以上説明した実施形態に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。例えば、本実施例ではICカード1は、接触型ICチップ10を備えているが、これに限られず、非接触用ICチップでも良く、接触/非接触両方で動作するICチップでもよい。
【0080】
不揮発性メモリ17は、INDEX情報にアプリケーションがアクセスするための条件を示すアクセス条件情報を含めて記憶してもよく、アプリケーションIDとともにユーザプログラムを実行する条件としてもよい。更にセキュリティ性を向上することが可能である。
【0081】
不揮発性メモリ17の領域をデータ領域17d及びプログラム領域17pに割り当てて、それぞれアプリケーションデータ及びユーザプログラムを記憶しているが、これらの領域に分割せず、従来のアプリケーションから共通プログラムを抜き出した形でユーザプログラム及びアプリケーションデータを記憶していてもよい。
【0082】
【発明の効果】
以上詳しく説明したように、本発明によれば、以下の効果を得ることが可能となった。
(1)共通プログラムを第1の記憶部に記憶し、登録が要求されている独自プログラムをプログラム領域に、アプリケーションデータをデータ領域に書き込むことによって、複数のアプリケーションを搭載することによって、セキュリティ性及び利便性を高く維持しつつ、製造コストの低減を図り、登録されているアプリケーションの汎用性を向上するとともに、利便性を向上する。
(2)独自プログラム単位、アプリケーションデータ単位で通信を行い、アプリケーションの登録を行うことによって、一度の通信における通信量を軽減し、通信の安全性の向上、利便性の向上を図る。
(3)関連づけ情報が正当であるか否かを判定することによって、セキュリティ性を保持しつつ、アプリケーションを追加登録する。
(4)同様に、登録が要求されている独自プログラム又はアプリケーションデータが正当なものであるか否かを判定することによって、セキュリティ性を保持しつつ、アプリケーションを追加登録する。
(5)空き容量情報、書込位置情報を記憶することによって、空き容量の確認及び書込に係る処理の簡易化を図り、処理速度を向上する。
【図面の簡単な説明】
【図1】本発明によるICカードの第1実施形態を説明する図である。
【図2】第1実施形態における書き換え可能な不揮発性メモリのメモリ構造図である。
【図3】第1実施形態における書き換え可能な不揮発性メモリのデータ領域を示すメモリ構造図である。
【図4】第1実施形態におけるDF識別情報を説明するための図である。
【図5】第1実施形態における書き換え可能な不揮発性メモリのプログラム領域を示すメモリ構造図である。
【図6】第1実施形態における書き換え可能な不揮発性メモリのプログラム領域を示すメモリ構造図である。
【図7】第1実施形態における専用ファイルと、ユーザプログラムの相互関係について説明するためのメモリ構造図である。
【図8】本発明によるICカードの発行を説明するための図である。
【図9】本発明によるICカードの発行を説明するための図である。
【図10】本発明によるICカードの第1実施形態における動作及び本発明によるICカードプログラムの第1実施形態を示すフローチャートである。
【図11】本発明によるICカードの第2実施形態を示すブロック図である。
【図12】第2実施形態における書き換え可能な不揮発性メモリのメモリ構造図である。
【図13】第2実施形態における書き換え可能な不揮発性メモリのデータ領域を示すメモリ構造図である。
【図14】第2実施形態における書き換え可能な不揮発性メモリのシステム領域を示すメモリ構造図である。
【図15】本発明によるICカードの第2実施形態における動作及び本発明によるICカードプログラムの第2実施形態を示すフローチャートである。
【図16】第2実施形態における独自プログラム登録処理前の書き換え可能な不揮発性メモリのメモリ構造図である。
【図17】第2実施形態における独自プログラム登録処理前、処理中、処理後のシステム領域を示すメモリ構造図である。
【図18】第2実施形態における独自プログラム登録処理前、処理中、処理後のプログラム領域を示すメモリ構造図である。
【図19】本発明によるICカードの第2実施形態における動作及び本発明によるICカードプログラムの第2実施形態を示すフローチャートである。
【図20】第2実施形態における独自プログラム登録処理及びアプリケーションデータ登録処理後の書き換え可能な不揮発性メモリのメモリ構造図である。
【符号の説明】
1,1−2 ICカード
10,10−2 ICチップ
11 接触端子
12 送受信回路
13,13−2 マイクロプロセッサ
14,14−2 CPU
15 ROM
16 RAM
17,17−2 不揮発性メモリ
17p プログラム領域
17d データ領域
17s システム領域
141 アプリケーション選択部
142 正当性判定部
143 プログラム実行部
144 登録判定部
145 容量判定部
146 登録要求情報正当性判定部
147 関連づけ正当性判定部
148 登録要求情報書込部

Claims (9)

  1. 複数のアプリケーションにおいて共通し、各アプリケーション内で実行されるプログラムである共通プログラムを記憶し、読み出し専用であって不揮発性の第1の記憶部と、メモリ領域がプログラム領域と、データ領域とに割り当てられ、個々のアプリケーションに独自のプログラムである独自プログラムをプログラム領域に、アプリケーションデータをデータ領域に、互いに関連づけて記憶する、書き換え可能な不揮発性の第2の記憶部とを備え、前記共通プログラム、前記独自プログラム及び前記アプリケーションデータを含む複数のアプリケーションを登録することが可能なICカードであって、
    独自プログラムを含む独自プログラム登録要求又はアプリケーションデータを含むアプリケーションデータ登録要求を受信する登録要求受信手段と、
    前記登録要求受信手段によって受信された前記独自プログラム又はアプリケーションデータを前記第2の記憶部の所定の領域に書き込む登録要求情報書込手段と
    前記登録要求情報書込手段によって前記第2の記憶部の所定の領域に書き込まれた前記独自プログラム又は前記アプリケーションデータに基づいて、前記アプリケーションを識別するアプリケーション識別情報、独自プログラム識別情報、及び、前記独自プログラムが記憶されている場所を示す場所情報を含む管理情報を作成する管理情報作成手段とを備えること、
    を特徴とするICカード。
  2. 請求項1に記載のICカードにおいて、
    前記登録要求受信手段によって受信される独自プログラム又はアプリケーションデータを前記第2の記憶部に記憶されているいずれのアプリケーションデータ又はいずれの独自プログラムに関連づけるかを示す関連づけ情報を受信する関連づけ情報受信手段と、
    前記関連づけ情報受信手段によって受信される関連づけ情報が正当であるか否かを判定する関連づけ正当性判定手段とを備え、
    前記登録要求情報書込手段は、前記関連づけ正当性判定手段によって肯と判定された場合に書き込みを行うこと、
    を特徴とするICカード。
  3. 請求項2に記載のICカードにおいて、
    前記第2の記憶部は、アプリケーション識別情報を、同一のアプリケーションに含まれる前記プログラム領域に記憶されている独自プログラムと、前記データ領域に記憶されているアプリケーションデータとに結びつけて記憶し、
    前記関連づけ情報受信手段は、関連づけ情報として、前記アプリケーション識別情報を受信すること、
    を特徴とするICカード。
  4. 請求項3に記載のICカードにおいて、
    前記関連づけ情報受信手段によって受信されたアプリケーション識別情報と同一のアプリケーション識別情報が前記第2の記憶部に記憶されているか否かを判定する登録済判定手段と、
    前記関連づけ情報受信手段によって受信される関連づけ情報に対応する関連づけ正当性認証情報を受信する関連づけ正当性認証情報受信手段とを備え、
    前記関連づけ正当性判定手段は、前記登録済判定手段によって記憶されていると判定された場合に、前記第2の記憶部に記憶されている同一のアプリケーション識別情報に対応する登録関連づけ正当性認証情報と、前記関連づけ正当性認証情報受信手段によって受信された関連づけ正当性認証情報とを照合することによって判定を行うこと、
    を特徴とするICカード。
  5. 請求項1から請求項4までのいずれか1項に記載のICカードにおいて、
    前記登録要求受信手段によって受信される独自プログラム又はアプリケーションデータが正当なものであるか否かを判定する登録要求情報正当性判定手段を備え、
    前記登録要求情報書込手段は、前記登録要求情報正当性判定手段によって肯と判定された場合に書き込みを行うこと、
    を特徴とするICカード。
  6. 請求項1から請求項5までのいずれか1項に記載のICカードにおいて、
    前記第2の記憶部は、前記プログラム領域及び/又は前記データ領域の空き容量を示す領域空き容量情報、及び/又は、前記登録要求情報書込手段が独自プログラム又はアプリケーションデータを書き込む位置を示す書込位置情報を記憶すること、
    を特徴とするICカード。
  7. 複数のアプリケーションにおいて共通し、各アプリケーション内で実行されるプログラムである共通プログラムを記憶し、読み出し専用であって不揮発性の第1の記憶部と、メモリ領域がプログラム領域と、データ領域とに割り当てられ、個々のアプリケーションに独自のプログラムである独自プログラムをプログラム領域に、アプリケーションデータをデータ領域に、互いに関連づけて記憶する、書き換え可能な不揮発性の第2の記憶部と、前記第1及び/又は第2の記憶部に記憶されているプログラムを実行するCPUとを備え、前記共通プログラム、前記独自プログラム及び前記アプリケーションデータを含む複数のアプリケーションを登録することが可能なICカードへアプリケーションを登録するために前記CPUに実行させるICカードプログラムであって、
    独自プログラムを含む独自プログラム登録要求又はアプリケーションデータを含むアプリケーションデータ登録要求を受信する登録要求受信手順と、
    前記登録要求受信手順において受信した前記独自プログラム又は前記アプリケーションデータを前記第2の記憶部の所定の領域に書き込む登録要求情報書込手順と
    前記登録要求情報書込手順によって前記第2の記憶部の所定の領域に書き込んだ前記独自プログラム又は前記アプリケーションデータに基づいて、前記アプリケーションを識別するアプリケーション識別情報、独自プログラム識別情報、及び、前記独自プログラムが記憶されている場所を示す場所情報を含む管理情報を作成する管理情報作成手順とを備えること、
    を特徴とするICカードプログラム。
  8. 請求項7に記載のICカードプログラムにおいて、
    前記登録要求受信手順において受信する独自プログラム又はアプリケーションデータを前記第2の記憶部に記憶されているいずれのアプリケーションデータ又はいずれの独自プログラムに関連づけるかを示す関連づけ情報を受信する関連づけ情報受信手順と、
    前記関連づけ情報受信手順において受信する関連づけ情報の正当性を認証するための関連づけ正当性認証情報を受信する関連づけ正当性認証情報受信手順と、
    前記関連づけ情報受信手順において受信する関連づけ情報が正当であるか否かを前記関連づけ正当性認証情報受信手順で受信した関連づけ正当性認証情報に基づいて判定する関連づけ正当性判定手順とを備え、
    前記登録要求情報書込手順は、前記関連づけ正当性判定手順において正当であると判定した場合に実行されること、
    を特徴とするICカードプログラム。
  9. 請求項7又は請求項8に記載のICカードプログラムにおいて、
    前記登録要求受信手順において受信する独自プログラム又はアプリケーションデータが正当なものであるか否かを判定する登録要求情報正当性判定手順を備え、
    前記登録要求情報書込手順は、前記登録要求情報正当性判定手順において正当なものと判定した場合に実行されること、
    を特徴とするICカードプログラム。
JP2002189932A 2002-06-28 2002-06-28 Icカード及びicカードプログラム Expired - Lifetime JP4185715B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002189932A JP4185715B2 (ja) 2002-06-28 2002-06-28 Icカード及びicカードプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002189932A JP4185715B2 (ja) 2002-06-28 2002-06-28 Icカード及びicカードプログラム

Publications (2)

Publication Number Publication Date
JP2004030532A JP2004030532A (ja) 2004-01-29
JP4185715B2 true JP4185715B2 (ja) 2008-11-26

Family

ID=31184211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002189932A Expired - Lifetime JP4185715B2 (ja) 2002-06-28 2002-06-28 Icカード及びicカードプログラム

Country Status (1)

Country Link
JP (1) JP4185715B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4774681B2 (ja) * 2004-05-18 2011-09-14 大日本印刷株式会社 共通コマンドアプリケーションを実装したマルチアプリケーション型icカード
JP4863058B2 (ja) * 2006-03-20 2012-01-25 大日本印刷株式会社 Icカード、および、アプリケーションの書込み方法
EP2199993A1 (en) * 2008-12-17 2010-06-23 Gemalto SA Method and token for managing one processing relating to an application supported or to be supported by a token

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63158683A (ja) * 1986-07-21 1988-07-01 Toshiba Corp Icカ−ド
JP2555096B2 (ja) * 1987-10-05 1996-11-20 富士通株式会社 Icカード
JP2753565B2 (ja) * 1988-01-26 1998-05-20 日立マクセル株式会社 Icカードのデータ伝送方法
JP2671213B2 (ja) * 1988-02-25 1997-10-29 日立マクセル株式会社 Icカード
JPH04220788A (ja) * 1990-12-20 1992-08-11 Fujitsu Ltd Icカードのプログラム登録方法
DE69402955T2 (de) * 1994-02-08 1997-08-14 Belle Gate Investment B.V., Den Haag Datenauswechselsystem mit tragbaren Datenverarbeitungseinheiten
JPH11212774A (ja) * 1998-01-23 1999-08-06 Fujitsu Ltd アプリケーション管理方法、及び、それを用いた情報処理装置
JP4274675B2 (ja) * 2000-04-28 2009-06-10 株式会社エヌ・ティ・ティ・データ カードシステム、icカード及び記録媒体
WO2002003271A1 (fr) * 2000-07-04 2002-01-10 Hitachi, Ltd. Carte a circuit integre, procede de duplication d'une carte a circuit integre et procede de restitution
JP4548758B2 (ja) * 2000-09-05 2010-09-22 大日本印刷株式会社 共有アクセス管理機能を備えた携帯可能な情報処理装置

Also Published As

Publication number Publication date
JP2004030532A (ja) 2004-01-29

Similar Documents

Publication Publication Date Title
JP4322021B2 (ja) メモリカード
JP3636984B2 (ja) Icカードシステム用記録媒体及びicカードシステム
EP1898370A2 (en) IC card, and access control method
EP1089156A2 (en) Device, system and method for data access control
JPH087720B2 (ja) 複数サービス用icカードの領域アクセス方法
KR20130091347A (ko) 보안 애플리케이션 디렉토리
JPS63503335A (ja) ポータブル データ キャリヤのための保安ファイル システム
JP4815912B2 (ja) Icカード、icカード用プログラム
JPH06274397A (ja) ファイル管理方式
JP2941361B2 (ja) 携帯可能電子装置
JPH0793203A (ja) ファイル管理方式
EP1710688A2 (en) Tamper resistant device and file generation method
US7769963B1 (en) RF tag system with single step read and write commands
JP5833118B2 (ja) 電子チケット記憶装置、電子チケット確認システム及び方法
EP1450235B1 (en) Memory device
JP4185715B2 (ja) Icカード及びicカードプログラム
JP4445718B2 (ja) Icカード及びicカードプログラム
JP4443699B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
US7096366B1 (en) Portable electronic device with a security function and a nonvolatile memory
JP2004029945A (ja) Icカード及びicカードプログラム
JP4291068B2 (ja) Icカード及びicカードシステム
GB2350703A (en) Smart devices
US7296289B2 (en) Setting or changing an access condition for an access management apparatus and method of a portable electronic device
JP2004259176A (ja) Icカード
JP2005011147A (ja) Icカード及びicカードプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050621

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071012

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: 20080902

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: 20080908

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

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4185715

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130912

Year of fee payment: 5

EXPY Cancellation because of completion of term