JPH103526A - Icカード - Google Patents
IcカードInfo
- Publication number
- JPH103526A JPH103526A JP8153563A JP15356396A JPH103526A JP H103526 A JPH103526 A JP H103526A JP 8153563 A JP8153563 A JP 8153563A JP 15356396 A JP15356396 A JP 15356396A JP H103526 A JPH103526 A JP H103526A
- Authority
- JP
- Japan
- Prior art keywords
- program
- cpu
- card
- stored
- application 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
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】
【課題】 使用しているCPUによらず、所定言語によ
り記述されたアプリケーション・プログラムを導入する
ことが可能であるICカードを提供する。 【解決手段】 CPU(18)と、前記CPUが実行可
能な汎用プログラムを格納する読み出し専用メモリ(1
2)と、前記CPUが実行可能なアプリケーション・プ
ログラムを必要に応じて格納される書き換え可能な不揮
発性メモリ(16)とを備えるICカードにおいて、前
記読み出し専用メモリは、所定言語により記述されたプ
ログラムを前記CPUが実行可能な言語により記述され
たプログラムに変換する言語変換プログラムを有し、前
記CPUは、外部より与えられたアプリケーション・プ
ログラムを前記言語変換プログラムを用いて変換し、前
記不揮発性メモリに格納する。
り記述されたアプリケーション・プログラムを導入する
ことが可能であるICカードを提供する。 【解決手段】 CPU(18)と、前記CPUが実行可
能な汎用プログラムを格納する読み出し専用メモリ(1
2)と、前記CPUが実行可能なアプリケーション・プ
ログラムを必要に応じて格納される書き換え可能な不揮
発性メモリ(16)とを備えるICカードにおいて、前
記読み出し専用メモリは、所定言語により記述されたプ
ログラムを前記CPUが実行可能な言語により記述され
たプログラムに変換する言語変換プログラムを有し、前
記CPUは、外部より与えられたアプリケーション・プ
ログラムを前記言語変換プログラムを用いて変換し、前
記不揮発性メモリに格納する。
Description
【0001】
【発明の属する技術分野】本発明は、不揮発性メモリに
アプリケーション・プログラムを格納することが可能な
ICカードに関するものである。
アプリケーション・プログラムを格納することが可能な
ICカードに関するものである。
【0002】
【従来の技術】ICカードは、磁気カードに代わる新し
い情報記憶媒体として、近年注目を集めている。特に、
CPUを内蔵したICカードは、高度なセキュリティを
実現できることから、高度情報化社会の種々の分野にお
いて利用されることが期待されている。
い情報記憶媒体として、近年注目を集めている。特に、
CPUを内蔵したICカードは、高度なセキュリティを
実現できることから、高度情報化社会の種々の分野にお
いて利用されることが期待されている。
【0003】一般にICカードは、ROM、RAM、E
EPROMの3種類のメモリと、それらメモリにアクセ
スするCPUとを備えている。EEPROMは、書換え
可能な不揮発性メモリであり、ICカードユーザの個人
情報等のデータが保存される。RAMは、CPUがプロ
グラムを実行するときに作業領域として使用する揮発性
のメモリである。ROMは、読み出し専用メモリであ
り、CPUが実行すべきプログラムが格納されている。
EPROMの3種類のメモリと、それらメモリにアクセ
スするCPUとを備えている。EEPROMは、書換え
可能な不揮発性メモリであり、ICカードユーザの個人
情報等のデータが保存される。RAMは、CPUがプロ
グラムを実行するときに作業領域として使用する揮発性
のメモリである。ROMは、読み出し専用メモリであ
り、CPUが実行すべきプログラムが格納されている。
【0004】ROMが格納するプログラムは、ICカー
ドの用途ごとに異なる。したがって、ICカードの用途
が多種多様化すると、それだけ多くの種類のROMを用
意することとなる。しかし、一般にROMは、その開発
に多大の費用を必要とする。このために、ICカードの
用途の多様化に合わせ、ROMを多品種少量生産するこ
ととすれば、ROMの単価が上がり、ICカードの製造
原価が増大する。
ドの用途ごとに異なる。したがって、ICカードの用途
が多種多様化すると、それだけ多くの種類のROMを用
意することとなる。しかし、一般にROMは、その開発
に多大の費用を必要とする。このために、ICカードの
用途の多様化に合わせ、ROMを多品種少量生産するこ
ととすれば、ROMの単価が上がり、ICカードの製造
原価が増大する。
【0005】上記の問題に対し、従来ROMに格納され
ていたプログラムを2種類に大別し、一方をROMに、
他方をEEPROMに格納するICカードが提案されて
いる。ここで、2種類のプログラムの一方は、ICカー
ドの用途によらず汎用的に使用できるプログラム(以下
「汎用プログラム」という)である。また、他方は、I
Cカードの各種用途固有の処理を行うプログラム(以下
「アプリケーション・プログラム」という)である。
ていたプログラムを2種類に大別し、一方をROMに、
他方をEEPROMに格納するICカードが提案されて
いる。ここで、2種類のプログラムの一方は、ICカー
ドの用途によらず汎用的に使用できるプログラム(以下
「汎用プログラム」という)である。また、他方は、I
Cカードの各種用途固有の処理を行うプログラム(以下
「アプリケーション・プログラム」という)である。
【0006】上記のICカードでは、全用途のICカー
ドについて、同一のROMを使用することとなるので、
安価なROMを用いた安価なICカードが生産される。
一方、ICカードのEEPROMには、各用途に対応し
たアプリケーション・プログラムが書き込まれることか
ら、用途に応じた木目細かい処理を行うICカードを提
供することが可能となっている。
ドについて、同一のROMを使用することとなるので、
安価なROMを用いた安価なICカードが生産される。
一方、ICカードのEEPROMには、各用途に対応し
たアプリケーション・プログラムが書き込まれることか
ら、用途に応じた木目細かい処理を行うICカードを提
供することが可能となっている。
【0007】
【発明が解決しようとする課題】しかし、前述した従来
のICカードでは、全ての種類のICカードについて、
同一種類のCPUが使用されている分けではなく、IC
カードの製造メーカごとに、異なる種類のCPUが使用
されている。一方、CPUは、各種類ごとに解釈実行で
きるプログラム言語が異なる。したがって、ICカード
に格納するプログラムは、使用されているCPUに対応
したプログラム言語により作成されなければならない。
このために、従来のICカードでは、例え同一内容のア
プリケーション・プログラムであっても、ICカードの
種類ごとに、それぞれのCPUにあったプログラム言語
を用いて別々に製作しなければならず、作業が大変煩雑
であるという問題があった。
のICカードでは、全ての種類のICカードについて、
同一種類のCPUが使用されている分けではなく、IC
カードの製造メーカごとに、異なる種類のCPUが使用
されている。一方、CPUは、各種類ごとに解釈実行で
きるプログラム言語が異なる。したがって、ICカード
に格納するプログラムは、使用されているCPUに対応
したプログラム言語により作成されなければならない。
このために、従来のICカードでは、例え同一内容のア
プリケーション・プログラムであっても、ICカードの
種類ごとに、それぞれのCPUにあったプログラム言語
を用いて別々に製作しなければならず、作業が大変煩雑
であるという問題があった。
【0008】そこで、本発明の第1の課題は、使用して
いるCPUによらず、所定言語により記述されたアプリ
ケーション・プログラムを導入することが可能であるI
Cカードを提供することである。
いるCPUによらず、所定言語により記述されたアプリ
ケーション・プログラムを導入することが可能であるI
Cカードを提供することである。
【0009】
【課題を解決するための手段】前記課題を解決するため
に、請求項1に係る発明は、CPU(18)と、前記C
PUが実行可能な汎用プログラムを格納する読み出し専
用メモリ(12)と、前記CPUが実行可能なアプリケ
ーション・プログラムを必要に応じて格納される書き換
え可能な不揮発性メモリ(16)とを備えるICカード
において、前記読み出し専用メモリは、所定言語により
記述されたプログラムを前記CPUが実行可能な言語に
より記述されたプログラムに変換する変換プログラムを
有し、前記CPUは、外部より与えられたアプリケーシ
ョン・プログラムを前記変換プログラムを用いて変換
し、前記不揮発性メモリに格納することを特徴とする。
に、請求項1に係る発明は、CPU(18)と、前記C
PUが実行可能な汎用プログラムを格納する読み出し専
用メモリ(12)と、前記CPUが実行可能なアプリケ
ーション・プログラムを必要に応じて格納される書き換
え可能な不揮発性メモリ(16)とを備えるICカード
において、前記読み出し専用メモリは、所定言語により
記述されたプログラムを前記CPUが実行可能な言語に
より記述されたプログラムに変換する変換プログラムを
有し、前記CPUは、外部より与えられたアプリケーシ
ョン・プログラムを前記変換プログラムを用いて変換
し、前記不揮発性メモリに格納することを特徴とする。
【0010】請求項2に係る発明は、CPU(18)
と、前記CPUが実行可能な汎用プログラムを格納する
読み出し専用メモリ(12)と、前記CPUが実行すべ
きアプリケーション・プログラムを必要に応じて格納さ
れる書き換え可能な不揮発性メモリ(16)とを備える
ICカードにおいて、前記読み出し専用メモリは、所定
言語により記述されたプログラムを前記CPUが実行可
能な言語により記述されたプログラムに変換する変換プ
ログラムを有し、前記CPUは、前記不揮発性メモリに
格納されている前記アプリケーション・プログラムを前
記変換プログラムを用いて変換して実行することを特徴
とする。
と、前記CPUが実行可能な汎用プログラムを格納する
読み出し専用メモリ(12)と、前記CPUが実行すべ
きアプリケーション・プログラムを必要に応じて格納さ
れる書き換え可能な不揮発性メモリ(16)とを備える
ICカードにおいて、前記読み出し専用メモリは、所定
言語により記述されたプログラムを前記CPUが実行可
能な言語により記述されたプログラムに変換する変換プ
ログラムを有し、前記CPUは、前記不揮発性メモリに
格納されている前記アプリケーション・プログラムを前
記変換プログラムを用いて変換して実行することを特徴
とする。
【0011】
【発明の実施の形態】以下、図面等を参照して、本発明
に係る一実施形態について、さらに詳しく説明する。図
1は、本発明に係るICカードの構成を示す図である。
図1に示されるように、ICカード10は、読み出し専
用メモリであるROM12、揮発性メモリであるRAM
14、随時書換え可能な不揮発性メモリのEEPROM
16及びそれらメモリにアクセスするCPU18を備え
ている。
に係る一実施形態について、さらに詳しく説明する。図
1は、本発明に係るICカードの構成を示す図である。
図1に示されるように、ICカード10は、読み出し専
用メモリであるROM12、揮発性メモリであるRAM
14、随時書換え可能な不揮発性メモリのEEPROM
16及びそれらメモリにアクセスするCPU18を備え
ている。
【0012】また、ICカード10は、リーダ・ライタ
(不図示)と電気信号等の授受を行うための複数の接点
(Vcc〜GND)を備えている。ICカードをリーダ
・ライタに挿入すると、リーダ・ライタの接点がこのI
Cカードの接点と接続され、電気信号の授受が行われ
る。各接点には、それぞれ異なる電気信号が割り付けら
れている。例えば、VccはICが動作するために必要
な電源電圧の供給を受けるための接点であり、I/0
は、CPUがリーダ・ライタと通信を行うための接点
(シリアルポート)である。
(不図示)と電気信号等の授受を行うための複数の接点
(Vcc〜GND)を備えている。ICカードをリーダ
・ライタに挿入すると、リーダ・ライタの接点がこのI
Cカードの接点と接続され、電気信号の授受が行われ
る。各接点には、それぞれ異なる電気信号が割り付けら
れている。例えば、VccはICが動作するために必要
な電源電圧の供給を受けるための接点であり、I/0
は、CPUがリーダ・ライタと通信を行うための接点
(シリアルポート)である。
【0013】CPU18は、上記接点を介してリーダ・
ライタからコマンド付与され、そのコマンドに従いRO
M12又はEEPROM16に格納されているプログラ
ムを実行し、その結果、EEPROM16等にアクセス
する。本実施形態では、CPU18が実行すべきコマン
ドを前述した汎用プログラムとアプリケーション・プロ
グラムとに分割し、汎用プログラムをROM12に、ア
プリケーション・プログラムをEEPROM16に格納
することとしている。
ライタからコマンド付与され、そのコマンドに従いRO
M12又はEEPROM16に格納されているプログラ
ムを実行し、その結果、EEPROM16等にアクセス
する。本実施形態では、CPU18が実行すべきコマン
ドを前述した汎用プログラムとアプリケーション・プロ
グラムとに分割し、汎用プログラムをROM12に、ア
プリケーション・プログラムをEEPROM16に格納
することとしている。
【0014】図2は、RAM14とEEPROM16の
メモリマップを示す図である。なお、本明細書において
数値の前に付されている「H’」は、その数値が16進
数に基づいて表記されていることを意味する。本実施形
態では、RAM14に絶対アドレスでH’100〜H’
12Fを、論理アドレスでR00〜R2Fを割り当てて
いる。また、EEPROM16には、絶対アドレスで
H’200以降のアドレスを割り当てている。図2で
は、一例として、EEPROM16に2つのアプリケー
ション・プログラムが格納されている場合を示してい
る。第1のアプリケーション・プログラムは、絶対アド
レスでH’200〜H’27Fに格納されており、第2
のアプリケーション・プログラムは、H’280以降に
格納されている。
メモリマップを示す図である。なお、本明細書において
数値の前に付されている「H’」は、その数値が16進
数に基づいて表記されていることを意味する。本実施形
態では、RAM14に絶対アドレスでH’100〜H’
12Fを、論理アドレスでR00〜R2Fを割り当てて
いる。また、EEPROM16には、絶対アドレスで
H’200以降のアドレスを割り当てている。図2で
は、一例として、EEPROM16に2つのアプリケー
ション・プログラムが格納されている場合を示してい
る。第1のアプリケーション・プログラムは、絶対アド
レスでH’200〜H’27Fに格納されており、第2
のアプリケーション・プログラムは、H’280以降に
格納されている。
【0015】EEPROM16に格納されているアプリ
ケーション・プログラムは、6種類の情報から構成され
ている。以下、その6種類の情報について、図2の第1
のアプリケーション・プログラムを用いて説明する。第
1の情報は、「LEN」であり、その後に続いて格納さ
れている第2の情報「APPLICATION ID」
の長さ(バイト数)を示している。第2の情報「APP
LICATION ID」は、アプリケーション・プロ
グラムの識別名である。第3の情報「NextAP a
dd」は、当該アプリケーション・プログラムの次に格
納されている、又は次に格納されるべきアプリケーショ
ン・プログラムの先頭アドレスを示す情報である。ここ
では、第2のアプリケーション・プログラムの先頭アド
レスである「H’280」が格納されている。
ケーション・プログラムは、6種類の情報から構成され
ている。以下、その6種類の情報について、図2の第1
のアプリケーション・プログラムを用いて説明する。第
1の情報は、「LEN」であり、その後に続いて格納さ
れている第2の情報「APPLICATION ID」
の長さ(バイト数)を示している。第2の情報「APP
LICATION ID」は、アプリケーション・プロ
グラムの識別名である。第3の情報「NextAP a
dd」は、当該アプリケーション・プログラムの次に格
納されている、又は次に格納されるべきアプリケーショ
ン・プログラムの先頭アドレスを示す情報である。ここ
では、第2のアプリケーション・プログラムの先頭アド
レスである「H’280」が格納されている。
【0016】「Next AP add」の次に格納さ
れいている「Data add」は、後述するデータ領
域の先頭アドレスを示す情報であり、ここでは「H’2
50」が格納されている。絶対アドレスH’212〜
H’24Fに格納されている第5の情報は、CPU18
が実行可能なプログラム言語による1又は2以上のCP
U命令コード(以下「変換されたCPU命令コード」と
いう)である。最後に、絶対アドレスH’250〜H’
27Fに格納されている第6の情報は、1又は2以上の
データコードである。図に示されるように、データコー
ドが格納されている領域には、絶対アドレスとは別に論
理アドレスE00〜E2Fが割り当てられている。後述
するように、本実施形態のアプリケーション・プログラ
ムでは、この論理アドレスを用いて特定のデータコード
を指定する。
れいている「Data add」は、後述するデータ領
域の先頭アドレスを示す情報であり、ここでは「H’2
50」が格納されている。絶対アドレスH’212〜
H’24Fに格納されている第5の情報は、CPU18
が実行可能なプログラム言語による1又は2以上のCP
U命令コード(以下「変換されたCPU命令コード」と
いう)である。最後に、絶対アドレスH’250〜H’
27Fに格納されている第6の情報は、1又は2以上の
データコードである。図に示されるように、データコー
ドが格納されている領域には、絶対アドレスとは別に論
理アドレスE00〜E2Fが割り当てられている。後述
するように、本実施形態のアプリケーション・プログラ
ムでは、この論理アドレスを用いて特定のデータコード
を指定する。
【0017】図3は、本実施形態の疑似プログラムコー
ド(プログラム言語)により記述されたアプリケーショ
ン・プログラムの一例を示す図である。ここでは、一例
として、図2の第1のアプリケーション・プログラムの
内容を示している。本実施形態では、使用されているC
PU18の種類によらず、全てのICカードについて、
共通の疑似プログラムコードを用いてアプリケーション
・プログラムを製作する。その結果得られたアプリケー
ション・プログラム(以下「疑似プログラム」という)
は、EEPROM16に格納する際に、ROM12の備
える汎用プログラムを用いて、CPU18が実行可能な
プログラム言語に変換される。この点に関しては、図6
の説明において詳述する。
ド(プログラム言語)により記述されたアプリケーショ
ン・プログラムの一例を示す図である。ここでは、一例
として、図2の第1のアプリケーション・プログラムの
内容を示している。本実施形態では、使用されているC
PU18の種類によらず、全てのICカードについて、
共通の疑似プログラムコードを用いてアプリケーション
・プログラムを製作する。その結果得られたアプリケー
ション・プログラム(以下「疑似プログラム」という)
は、EEPROM16に格納する際に、ROM12の備
える汎用プログラムを用いて、CPU18が実行可能な
プログラム言語に変換される。この点に関しては、図6
の説明において詳述する。
【0018】疑似プログラムは、図3に示すように、A
PPLICATION ID、DEFINE SECT
ION、CODE SECTION、及び、DATA
SECTIONの4つのセクションより構成されてい
る。APPLICATION IDは、プログラムの識
別名が記述されるセクションである。図3では、識別名
として「Application01」が使用されてい
る。DEFINE SECTIONは、プログラムで用
いる変数名が定義されるセクションである。DEFIN
E SECTIONの(2)行目は、変数AがRAM1
4の論理アドレスR00から始めるH’2バイトのデー
タであることを示している。同様に、(3)行目は、変
数XがRAM14の論理アドレスR10から始めるH’
10バイトのデータであることを示している。また、
(4)行目及び(5)行目は、変数YがEEPROM1
6の論理アドレスE00から始めるH’10バイトのデ
ータであること、及び、変数ZがEEPROM16の論
理アドレスE20から始めるH’10バイトのデータで
あることを示している。
PPLICATION ID、DEFINE SECT
ION、CODE SECTION、及び、DATA
SECTIONの4つのセクションより構成されてい
る。APPLICATION IDは、プログラムの識
別名が記述されるセクションである。図3では、識別名
として「Application01」が使用されてい
る。DEFINE SECTIONは、プログラムで用
いる変数名が定義されるセクションである。DEFIN
E SECTIONの(2)行目は、変数AがRAM1
4の論理アドレスR00から始めるH’2バイトのデー
タであることを示している。同様に、(3)行目は、変
数XがRAM14の論理アドレスR10から始めるH’
10バイトのデータであることを示している。また、
(4)行目及び(5)行目は、変数YがEEPROM1
6の論理アドレスE00から始めるH’10バイトのデ
ータであること、及び、変数ZがEEPROM16の論
理アドレスE20から始めるH’10バイトのデータで
あることを示している。
【0019】CODE SECTIONは、CPU18
によって実行されるべきプログラムの部分である。本セ
クションの(6)行目は、論理アドレスE00からH’
10バイトのデータを読みとり、これを論理アドレスR
00から始まるH’10バイトの領域に書き込むべきこ
とを意味している。(7)行目は、論理アドレスR00
から始まるH’10バイトのデータを読みとり、これを
論理アドレスE20から始まるH’10バイトの領域に
書き込むべきことを意味している。(8)行目は、論理
アドレスR00から始まるH’2バイトの領域に固定値
9000をセットすべきことを意味している。また、
(9)行目は、論理アドレスR00から始まるH’2バ
イトデータをレスポンスデータとしてROM12の汎用
プログラムに引き渡すべきことを意味している。最後
に、DATA SECTIONは、本アプリケーション
・プログラムが有するデータが記載されているセクショ
ンである。
によって実行されるべきプログラムの部分である。本セ
クションの(6)行目は、論理アドレスE00からH’
10バイトのデータを読みとり、これを論理アドレスR
00から始まるH’10バイトの領域に書き込むべきこ
とを意味している。(7)行目は、論理アドレスR00
から始まるH’10バイトのデータを読みとり、これを
論理アドレスE20から始まるH’10バイトの領域に
書き込むべきことを意味している。(8)行目は、論理
アドレスR00から始まるH’2バイトの領域に固定値
9000をセットすべきことを意味している。また、
(9)行目は、論理アドレスR00から始まるH’2バ
イトデータをレスポンスデータとしてROM12の汎用
プログラムに引き渡すべきことを意味している。最後
に、DATA SECTIONは、本アプリケーション
・プログラムが有するデータが記載されているセクショ
ンである。
【0020】図4は、本実施形態固有のコマンドである
Store Applicationコマンド及びSe
lect Applicationコマンドのフォーマ
ットを示す図である。Store Applicati
onコマンドは、疑似プログラムをEEPROM16に
格納するためのコマンドである。Store Appl
icationコマンドの第1バイト目は、このコマン
ド識別するための種別コード(以下「INS」という)
である。本実施形態では、Store Applica
tionコマンドの種別コードとして例えば「01」を
割り当てている。第2バイト目以降は、EEPROM1
6に格納するべき疑似プログラムである。
Store Applicationコマンド及びSe
lect Applicationコマンドのフォーマ
ットを示す図である。Store Applicati
onコマンドは、疑似プログラムをEEPROM16に
格納するためのコマンドである。Store Appl
icationコマンドの第1バイト目は、このコマン
ド識別するための種別コード(以下「INS」という)
である。本実施形態では、Store Applica
tionコマンドの種別コードとして例えば「01」を
割り当てている。第2バイト目以降は、EEPROM1
6に格納するべき疑似プログラムである。
【0021】Select Applicationコ
マンドは、EEPROM16に格納されている特定のア
プリケーション・プログラムを選択するためのコマンド
である。Selectコマンドは、3種類の情報から構
成されている。第1バイト目は、Store Appl
icationコマンドと同様にINSである。本実施
形態では、Select Applicationコマ
ンドのINSとして例えば「02」を割り当てている。
また、Select Applicationコマンド
の第2バイト目以降には、実行すべきアプリケーション
・プログラムのLENとApplication ID
とが順に配置されている。
マンドは、EEPROM16に格納されている特定のア
プリケーション・プログラムを選択するためのコマンド
である。Selectコマンドは、3種類の情報から構
成されている。第1バイト目は、Store Appl
icationコマンドと同様にINSである。本実施
形態では、Select Applicationコマ
ンドのINSとして例えば「02」を割り当てている。
また、Select Applicationコマンド
の第2バイト目以降には、実行すべきアプリケーション
・プログラムのLENとApplication ID
とが順に配置されている。
【0022】図5から図7までは、ROM12に格納さ
れている汎用プログラムの流れ図である。以下、これら
の図を用いて、ICカード10の動作について説明す
る。ICカード10とリーダ・ライタとが接続され、リ
ーダ・ライタによりICカードがリセット(活性化)さ
れると、CPU18は、まず初期応答情報(ATR)を
レスポンスとして出力する(S502)。次に、CPU
18は、リーダ・ライタからのコマンド待ち状態となる
(S504、S506)。
れている汎用プログラムの流れ図である。以下、これら
の図を用いて、ICカード10の動作について説明す
る。ICカード10とリーダ・ライタとが接続され、リ
ーダ・ライタによりICカードがリセット(活性化)さ
れると、CPU18は、まず初期応答情報(ATR)を
レスポンスとして出力する(S502)。次に、CPU
18は、リーダ・ライタからのコマンド待ち状態となる
(S504、S506)。
【0023】リーダ・ライタからのコマンドを受信する
と(S506:Yes)、CPU18は、そのコマンド
の第1バイト目であるINSの値を確認する(S50
6、S510)。この結果、INSが「01」又は「0
2」のいずれでもない場合には、S512へ進み、すで
にSelect Applicationコマンドが処
理され、所定のアプリケーション・プログラムが選択済
みであるか否かが判断される。具体的には、RAM14
の所定領域に、Select Application
コマンドを処理することにより特定された、アプリケー
ション・プログラムのアドレスが存在するか否かが判断
される。
と(S506:Yes)、CPU18は、そのコマンド
の第1バイト目であるINSの値を確認する(S50
6、S510)。この結果、INSが「01」又は「0
2」のいずれでもない場合には、S512へ進み、すで
にSelect Applicationコマンドが処
理され、所定のアプリケーション・プログラムが選択済
みであるか否かが判断される。具体的には、RAM14
の所定領域に、Select Application
コマンドを処理することにより特定された、アプリケー
ション・プログラムのアドレスが存在するか否かが判断
される。
【0024】S512において、アプリケーション・プ
ログラムが選択済みであると判断されると、当該アプリ
ケーション・プログラムが実行される(S516)。一
方、S512において、アプリケーション・プログラム
が選択されていないと判断されると、コマンド・エラー
・ステータスがRAM14の所定領域にレスポンス情報
として編集される(S514)。S514又は516の
処理が終了すると、RAM14の所定領域に編集された
レスポンス情報は、リーダ・ライタに送信される(S5
18)。レンスポンス情報が送信された後は、再びS5
04に戻り、S518までの処理が繰り返される。
ログラムが選択済みであると判断されると、当該アプリ
ケーション・プログラムが実行される(S516)。一
方、S512において、アプリケーション・プログラム
が選択されていないと判断されると、コマンド・エラー
・ステータスがRAM14の所定領域にレスポンス情報
として編集される(S514)。S514又は516の
処理が終了すると、RAM14の所定領域に編集された
レスポンス情報は、リーダ・ライタに送信される(S5
18)。レンスポンス情報が送信された後は、再びS5
04に戻り、S518までの処理が繰り返される。
【0025】一方、S508においてINSが「01」
であった場合には、コマンドがStore Appli
cationコマンドであると判断され、S510から
S516までの処理の代わりに、図6のS602からS
616までの処理が実行される。以下、S602からS
616までの処理について、未だ何らのプログラム又は
データが格納されていないEEPROM16に、図3に
示した疑似プログラムを格納する場合を例として説明す
る。
であった場合には、コマンドがStore Appli
cationコマンドであると判断され、S510から
S516までの処理の代わりに、図6のS602からS
616までの処理が実行される。以下、S602からS
616までの処理について、未だ何らのプログラム又は
データが格納されていないEEPROM16に、図3に
示した疑似プログラムを格納する場合を例として説明す
る。
【0026】まず、S602では、Store App
licationコマンドにより送られてきた疑似プロ
グラムの中で、「APPLICATION ID:」か
らその後に「;」が現れるまで間に存在するデータの長
さが求められ、その結果がEEPROM16のH’20
0番地に書き込まれる(S602)。次に、「APPL
ICATION ID:」からその後に「;」が現れる
までのデータ、すなわちアプリケーション・プログラム
の識別名「APPLICATION01」がアドレス
H’201〜H’20Dに書き込まれる。
licationコマンドにより送られてきた疑似プロ
グラムの中で、「APPLICATION ID:」か
らその後に「;」が現れるまで間に存在するデータの長
さが求められ、その結果がEEPROM16のH’20
0番地に書き込まれる(S602)。次に、「APPL
ICATION ID:」からその後に「;」が現れる
までのデータ、すなわちアプリケーション・プログラム
の識別名「APPLICATION01」がアドレス
H’201〜H’20Dに書き込まれる。
【0027】次に、「DEFINE SECTIO
N:」及び「CODE SECTION:」以降に定義
されている疑似プログラムの内容が、CPU18が実行
可能なCPU命令コード(プログラム言語)に変換され
る(S606)。S606における疑似プログラムの変
換が正常に終了し、変換されたCPU命令コードが取得
されると、その命令コードは、EEPROM16に書き
込まれる(S608)。書き込むアドレスは、APPL
ICATION IDの最後端アドレスからさらに4バ
イト進めたアドレスからである。これは、この後にS6
10、S614においてNext AP add及びD
ata addを書き込む領域をあらかじめ確保するた
めの処置である。
N:」及び「CODE SECTION:」以降に定義
されている疑似プログラムの内容が、CPU18が実行
可能なCPU命令コード(プログラム言語)に変換され
る(S606)。S606における疑似プログラムの変
換が正常に終了し、変換されたCPU命令コードが取得
されると、その命令コードは、EEPROM16に書き
込まれる(S608)。書き込むアドレスは、APPL
ICATION IDの最後端アドレスからさらに4バ
イト進めたアドレスからである。これは、この後にS6
10、S614においてNext AP add及びD
ata addを書き込む領域をあらかじめ確保するた
めの処置である。
【0028】S608において変換されたCPU命令コ
ードを書き込む処理が終了すると、その段階で次に「D
ATA SECTION:」を書き込むべき領域の先頭
アドレスが明確となるので、そのアドレス(H’25
0)がDATA add(H’210〜H’211)に
書き込まれる(S610)。また、「DATA SEC
TION:」に定義されているデータ自体がH’250
以降に書き込まれる(S612)。
ードを書き込む処理が終了すると、その段階で次に「D
ATA SECTION:」を書き込むべき領域の先頭
アドレスが明確となるので、そのアドレス(H’25
0)がDATA add(H’210〜H’211)に
書き込まれる(S610)。また、「DATA SEC
TION:」に定義されているデータ自体がH’250
以降に書き込まれる(S612)。
【0029】次に、「DATA SECTION:」の
データが書き込まれた領域の次のアドレスが、次のアプ
リケーション・プログラムを書き込むことが可能な領域
の先頭アドレスとしてNext AP(H’20E〜
H’20F)へ書き込まれる(S614)。最後に、正
常終了ステータスがRAM14の所定アドレスにセット
され(S616)、Store Applicatio
nコマンドの一連の処理は終了する。
データが書き込まれた領域の次のアドレスが、次のアプ
リケーション・プログラムを書き込むことが可能な領域
の先頭アドレスとしてNext AP(H’20E〜
H’20F)へ書き込まれる(S614)。最後に、正
常終了ステータスがRAM14の所定アドレスにセット
され(S616)、Store Applicatio
nコマンドの一連の処理は終了する。
【0030】一方、図5のS510においてINSが
「02」であった場合には、コマンドがSelect
Applicationコマンドであると判断され、S
510からS516までの処理の代わりに、図7のS7
02からS720までの処理が実行される。
「02」であった場合には、コマンドがSelect
Applicationコマンドであると判断され、S
510からS516までの処理の代わりに、図7のS7
02からS720までの処理が実行される。
【0031】S702では、EEPROM16に少なく
とも1つのアプリケーション・プログラムが格納されて
いるか否かが確認される。この結果、EEPROM16
にアプリケーション・プログラムが全く格納されていな
い場合には、S720へ進み、該当するアプリケーショ
ン・プログラムが存在しない旨のエラーステータスをR
AM14の所定アドレスにセットし、Select A
pplicationコマンドの処理を終了する。
とも1つのアプリケーション・プログラムが格納されて
いるか否かが確認される。この結果、EEPROM16
にアプリケーション・プログラムが全く格納されていな
い場合には、S720へ進み、該当するアプリケーショ
ン・プログラムが存在しない旨のエラーステータスをR
AM14の所定アドレスにセットし、Select A
pplicationコマンドの処理を終了する。
【0032】一方、S702においてEEPROM16
にアプリケーション・プログラムが格納されていること
が確認されると、コマンド中のAPPLICATION
IDとEEPROM16の絶対アドレスH’200か
ら始まるAPLICATION IDとが比較される
(S704)。比較の結果、双方のAPPLICATI
ON IDが一致した場合には、そのアプリケーション
・プログラムにおける変換されたCPU命令コードが格
納されている領域の先頭アドレスを求め、これをRAM
14の所定アドレスに格納する(S716)。次に、正
常終了ステータスをRAM14の所定アドレスに格納
し、Select Applicationコマンドの
処理は終了する。
にアプリケーション・プログラムが格納されていること
が確認されると、コマンド中のAPPLICATION
IDとEEPROM16の絶対アドレスH’200か
ら始まるAPLICATION IDとが比較される
(S704)。比較の結果、双方のAPPLICATI
ON IDが一致した場合には、そのアプリケーション
・プログラムにおける変換されたCPU命令コードが格
納されている領域の先頭アドレスを求め、これをRAM
14の所定アドレスに格納する(S716)。次に、正
常終了ステータスをRAM14の所定アドレスに格納
し、Select Applicationコマンドの
処理は終了する。
【0033】一方、S706においてAPPLICAT
ION IDが一致しなかった場合には、Next A
P addの内容を読み取ることにより、次のアプリケ
ーション・プログラムが格納されている領域の先頭アド
レスが取得される(S708)。次に、S708におい
て取得されたアドレスにアプリケーション・プログラム
が格納されいるか否かが確認され、その結果アプリケー
ション・プログラムが格納されていない場合には、S7
20の処理が実行されてSelect Applica
tionコマンドの処理が終了される。
ION IDが一致しなかった場合には、Next A
P addの内容を読み取ることにより、次のアプリケ
ーション・プログラムが格納されている領域の先頭アド
レスが取得される(S708)。次に、S708におい
て取得されたアドレスにアプリケーション・プログラム
が格納されいるか否かが確認され、その結果アプリケー
ション・プログラムが格納されていない場合には、S7
20の処理が実行されてSelect Applica
tionコマンドの処理が終了される。
【0034】一方、S710において次のアプリケーシ
ョン・プログラムが確認された場合には、さらにS71
2に進み、Next AP addが示すApplic
ation IDとコマンド中のApplicatio
n IDが比較される。比較の結果、双方のAppli
cation IDが一致しなかった場合には、S70
8以降の処理が再度実行される。一方、Applica
tion IDが一致した場合には、さらにS716、
S718の処理が実行され、Select Appli
cationコマンドの処理が終了される。
ョン・プログラムが確認された場合には、さらにS71
2に進み、Next AP addが示すApplic
ation IDとコマンド中のApplicatio
n IDが比較される。比較の結果、双方のAppli
cation IDが一致しなかった場合には、S70
8以降の処理が再度実行される。一方、Applica
tion IDが一致した場合には、さらにS716、
S718の処理が実行され、Select Appli
cationコマンドの処理が終了される。
【0035】以上説明したように、本実施形態では、ア
プリケーション・プログラムを疑似プログラムコードを
用いて作成する。作成された疑似プログラムは、ICカ
ード10内において、ROM12が有する汎用プログラ
ムを用いて、CPU18が実行可能なCPU命令コード
に変換され、変換された後にEEPROM16の所定の
領域に格納される。つまり、ROM12は、疑似プログ
ラムコードにより記述されたプログラムを、CPU18
が実行可能な言語により記述されたプログラムに変換す
るプログラムを備えているのである。したがって、疑似
プログラムコードにより記述されているアプリケーショ
ン・プログラムは、使用されているCPUの種類に関わ
らず、全てのICカードに導入することが可能である。
言い換えると、本実施形態において疑似プログラムコー
ドは、異なるCPUを備えるICカードの間で共通に使
用できるプログラム言語として機能しているのである。
この結果、本実施形態では、異なるプログラム言語によ
り記述された複数のアプリケーション・プログラムを用
意することなく、種類の異なる2以上のICカードに同
一内容のアプリケーション・プログラムを導入すること
が可能となっている。
プリケーション・プログラムを疑似プログラムコードを
用いて作成する。作成された疑似プログラムは、ICカ
ード10内において、ROM12が有する汎用プログラ
ムを用いて、CPU18が実行可能なCPU命令コード
に変換され、変換された後にEEPROM16の所定の
領域に格納される。つまり、ROM12は、疑似プログ
ラムコードにより記述されたプログラムを、CPU18
が実行可能な言語により記述されたプログラムに変換す
るプログラムを備えているのである。したがって、疑似
プログラムコードにより記述されているアプリケーショ
ン・プログラムは、使用されているCPUの種類に関わ
らず、全てのICカードに導入することが可能である。
言い換えると、本実施形態において疑似プログラムコー
ドは、異なるCPUを備えるICカードの間で共通に使
用できるプログラム言語として機能しているのである。
この結果、本実施形態では、異なるプログラム言語によ
り記述された複数のアプリケーション・プログラムを用
意することなく、種類の異なる2以上のICカードに同
一内容のアプリケーション・プログラムを導入すること
が可能となっている。
【0036】(その他の実施形態)なお、本発明は、上
記実施形態に限定されるものではない。上記実施形態
は、例示であり、本発明の特許請求の範囲に記載された
技術的思想と実質的に同一な構成を有し、同様な作用効
果を奏するものは、いかなるものであっても本発明の技
術的範囲に包含される。
記実施形態に限定されるものではない。上記実施形態
は、例示であり、本発明の特許請求の範囲に記載された
技術的思想と実質的に同一な構成を有し、同様な作用効
果を奏するものは、いかなるものであっても本発明の技
術的範囲に包含される。
【0037】例えば、アプリケーション・プログラム
を、CPU18が実行可能なCPU命令コードに変換す
る処理は、必ずしも当該プログラムをEEPROM16
へ格納する前でなくてもよい。例えば、疑似プログラム
を直接EEPROM16に格納し、その実行時に、疑似
プログラムを実行可能なCPU命令コードに変換して実
行することであってもよい。
を、CPU18が実行可能なCPU命令コードに変換す
る処理は、必ずしも当該プログラムをEEPROM16
へ格納する前でなくてもよい。例えば、疑似プログラム
を直接EEPROM16に格納し、その実行時に、疑似
プログラムを実行可能なCPU命令コードに変換して実
行することであってもよい。
【0038】なお、本明細書において、「ICカード」
とは、CPUと、このCPUによってアクセスされるメ
モリとを備え、CPUは、そのメモリに格納されている
プログラムにしたがい動作する携帯可能な情報記録媒体
を意味する。したがって、「ICカード」は、例えばそ
の形状が平面的かつ四角形であるいわゆるカード状に限
定されるものではなく、コイン形状等の媒体にCPU及
びメモリを備えたものであってもよい。
とは、CPUと、このCPUによってアクセスされるメ
モリとを備え、CPUは、そのメモリに格納されている
プログラムにしたがい動作する携帯可能な情報記録媒体
を意味する。したがって、「ICカード」は、例えばそ
の形状が平面的かつ四角形であるいわゆるカード状に限
定されるものではなく、コイン形状等の媒体にCPU及
びメモリを備えたものであってもよい。
【0039】
【発明の効果】以上詳しく説明したように、請求項1又
は請求項2に係る発明によれば、読み出し専用メモリに
所定言語により記述されたプログラムをCPUが実行可
能な言語により記述されたプログラムに変換する変換プ
ログラムを備えることとしたので、1の言語で記述され
たアプリケーション・プログラムを異なるCPUを備え
る2種類以上のICカードに導入することが可能となっ
た。
は請求項2に係る発明によれば、読み出し専用メモリに
所定言語により記述されたプログラムをCPUが実行可
能な言語により記述されたプログラムに変換する変換プ
ログラムを備えることとしたので、1の言語で記述され
たアプリケーション・プログラムを異なるCPUを備え
る2種類以上のICカードに導入することが可能となっ
た。
【図1】本発明に係るICカードの構成を示す図であ
る。
る。
【図2】RAM14とEEPROM16のメモリマップ
を示す図である。
を示す図である。
【図3】疑似プログラムコードにより記述されたアプリ
ケーション・プログラムを示す図である。
ケーション・プログラムを示す図である。
【図4】Store Applicationコマンド
及びSelect Applicationコマンドの
フォーマットを示す図である。
及びSelect Applicationコマンドの
フォーマットを示す図である。
【図5】ROM12に格納されている汎用プログラムの
流れ図である。
流れ図である。
【図6】ROM12に格納されている汎用プログラムの
うち、Store Applicationコマンドの
処理内容を示す流れ図である。
うち、Store Applicationコマンドの
処理内容を示す流れ図である。
【図7】ROM12に格納されている汎用プログラムの
うち、Select Applicationコマンド
の処理内容を示す流れ図である。
うち、Select Applicationコマンド
の処理内容を示す流れ図である。
10 ICカード 12 ROM 14 RAM 16 EEPROM 18 CPU
Claims (2)
- 【請求項1】 CPUと、 前記CPUが実行可能な汎用プログラムを格納する読み
出し専用メモリと、 前記CPUが実行可能なアプリケーション・プログラム
を必要に応じて格納される書き換え可能な不揮発性メモ
リとを備えるICカードにおいて、 前記読み出し専用メモリは、所定言語により記述された
プログラムを前記CPUが実行可能な言語により記述さ
れたプログラムに変換する変換プログラムを有し、 前記CPUは、外部より与えられたアプリケーション・
プログラムを前記変換プログラムを用いて変換し、前記
不揮発性メモリに格納することを特徴とするICカー
ド。 - 【請求項2】 CPUと、前記CPUが実行可能な汎用
プログラムを格納する読み出し専用メモリと、 前記CPUが実行すべきアプリケーション・プログラム
を必要に応じて格納される書き換え可能な不揮発性メモ
リとを備えるICカードにおいて、 前記読み出し専用メモリは、所定言語により記述された
プログラムを前記CPUが実行可能な言語により記述さ
れたプログラムに変換する変換プログラムを有し、 前記CPUは、前記不揮発性メモリに格納されている前
記アプリケーション・プログラムを前記変換プログラム
を用いて変換して実行することを特徴とするICカー
ド。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8153563A JPH103526A (ja) | 1996-06-14 | 1996-06-14 | Icカード |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8153563A JPH103526A (ja) | 1996-06-14 | 1996-06-14 | Icカード |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH103526A true JPH103526A (ja) | 1998-01-06 |
Family
ID=15565240
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8153563A Pending JPH103526A (ja) | 1996-06-14 | 1996-06-14 | Icカード |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH103526A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006503349A (ja) * | 2002-07-26 | 2006-01-26 | ギーゼッケ ウント デフリエント ゲーエムベーハー | データ・キャリアにファイル・システムをインストールする方法 |
-
1996
- 1996-06-14 JP JP8153563A patent/JPH103526A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006503349A (ja) * | 2002-07-26 | 2006-01-26 | ギーゼッケ ウント デフリエント ゲーエムベーハー | データ・キャリアにファイル・システムをインストールする方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3480746B2 (ja) | 携帯可能電子装置 | |
| JPH06302180A (ja) | 電子装置のデータアクセス方式 | |
| US20080114935A1 (en) | Memory Card System and Method Transmitting Host Identification Information Thereof | |
| KR100350972B1 (ko) | 식별번호저장기능을갖는컴퓨터시스템및그방법 | |
| TW584865B (en) | Semiconductor memory device and information device | |
| JPH103526A (ja) | Icカード | |
| JP5537036B2 (ja) | Icカード | |
| JP3718564B2 (ja) | Icカード | |
| JP4590201B2 (ja) | データキャリア及びデータキャリアのプログラム | |
| KR20060129804A (ko) | 엠엠씨 인터페이스를 갖는 플래시 메모리 장치 및 그것을포함한 메모리 시스템 | |
| JP3512252B2 (ja) | Cpuを内蔵した情報記録媒体 | |
| CN102132250A (zh) | 管理具有多个控制器的便携式电子设备中的数据的方法 | |
| JPH1040350A (ja) | Icカード及びコマンド実行方法 | |
| JP3764206B2 (ja) | Icカード、プログラム導入方法及びプログラム実行方法 | |
| JPH0435780B2 (ja) | ||
| JPH103385A (ja) | Icカード及びアプリケーション・プログラム導入方法 | |
| JP4211890B2 (ja) | トランザクションにおけるメモリカードのデータの変更方法 | |
| JP4342629B2 (ja) | 携帯可能電子装置とファイル制御情報の記憶方法とファイル制御情報の検索方法 | |
| JPH09231113A (ja) | Icカード | |
| JP2004348342A (ja) | Icカードとicカードの処理方法 | |
| US20070162699A1 (en) | Apparatus for expanding storage capacity of memory card and operating method of memory card with the same | |
| JPH103525A (ja) | Icカード、命令コード格納方法及び命令コード実行方法 | |
| JP7284796B2 (ja) | セキュアメモリカード及びその制御方法 | |
| JP7438432B1 (ja) | 電子情報記憶媒体、icチップ、icカード、レコード書き込み方法、及びプログラム | |
| JP7468757B1 (ja) | 電子情報記憶媒体、icチップ、icカード、レスポンス送信方法、及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050706 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050920 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060131 |