JPH08190614A - Ic card - Google Patents
Ic cardInfo
- Publication number
- JPH08190614A JPH08190614A JP7018403A JP1840395A JPH08190614A JP H08190614 A JPH08190614 A JP H08190614A JP 7018403 A JP7018403 A JP 7018403A JP 1840395 A JP1840395 A JP 1840395A JP H08190614 A JPH08190614 A JP H08190614A
- Authority
- JP
- Japan
- Prior art keywords
- application
- specific information
- command
- card
- area
- 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.)
- Granted
Links
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は,CPU付きICカード
に関し、特に、複数のアプリケーションプログラムをロ
ーデイングしたICカードに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an IC card with a CPU, and more particularly to an IC card loaded with a plurality of application programs.
【0002】[0002]
【従来の技術】ICカードは新しい情報記録媒体とし
て、特に磁気カードに代わる情報記録媒体として注目を
集めており次第に普及しつつある。特に、CPUを内蔵
したICカードは、高度なセキュリテイーを有するた
め、種々の分野での利用が期待されている。一般にIC
カードは、RAM、ROM、EEPROMといった3種
類のメモリを内蔵しており、いずれも内蔵CPUによっ
てアクセスされる。ROM内には、CPUが実行すべき
プログラム(ルーチンプログラム)が格納されており、
EEPROMには、ユーザのための個人データなどが格
納される。またRAMは、CPUが命令を実行するとき
のワークエリアとして利用される。2. Description of the Related Art IC cards have been attracting attention as new information recording media, especially as information recording media to replace magnetic cards, and are becoming increasingly popular. In particular, since an IC card having a built-in CPU has a high degree of security, it is expected to be used in various fields. IC in general
The card contains three types of memories such as RAM, ROM, and EEPROM, all of which are accessed by the built-in CPU. A program (routine program) to be executed by the CPU is stored in the ROM,
The EEPROM stores personal data for the user. The RAM is also used as a work area when the CPU executes instructions.
【0003】ROM内に格納されたルーチンプログラム
の他に、ICカードの外部からICカードに各種使用に
あったアプリケーションプログラムを入力(ローデイン
グ)し、処理させることがある。この際、複数のアプリ
ケーションプログラムをICカードにローデイングし
て、必要に応じ、各プログラムを実行する場合がある。
この場合、従来の第一の方法においては、一つのPC
(プログラムカウンター)でアクセスできるアドレス空
間に、ユーザが作成した複数のアプリケーション(CP
U命令コード群)をローデイングして、指定されたアプ
リケーションのCPU命令コードを実行することでその
アプリケーション処理を実現していた。また、従来の第
二の方法においては、ICカード内にあらかじめ決めら
れたサイズの分割した領域があり、各領域内にアプリケ
ーションを設定して一つのアプリケーションから他のア
プリケーションをアクセスできないようにしていた。In addition to the routine program stored in the ROM, an application program suitable for various uses may be input (loaded) from the outside of the IC card to the IC card for processing. At this time, a plurality of application programs may be loaded on the IC card and each program may be executed as needed.
In this case, in the first conventional method, one PC
In the address space that can be accessed by (program counter), multiple applications (CP
The U instruction code group) is loaded and the CPU instruction code of the designated application is executed to realize the application processing. In the second conventional method, the IC card has divided areas of a predetermined size, and an application is set in each area so that one application cannot access another application. .
【0004】しかしながら、上記従来の第一の方法にお
いては、ICカード内にアプリケーションプログラムを
ローデイングする際、そのアプリケーション内で使用し
ているCPU命令コードの処理内容およびアクセス範囲
等をチエックする手段を持たないため、アプリケーショ
ンは、ICカード内を自由にアクセスすることが可能で
ある。即ち、一つのアプリケーションから他のアプリケ
ーションをアクセスできてしまう。これはセキュリテイ
ー上、問題となっていた。上記従来の第二の方法におい
ては、セキュリテイーが保たれている領域が複数存在し
ても、その領域のサイズがあらかじめ決まっているため
アプリケーションの設定数がそれにより限定されててし
まい、アプリケーションサイズには大きいものもあれば
小のものもあるためメモリの有効利用をすることはでき
ないという問題があった。However, in the above-mentioned first conventional method, when the application program is loaded into the IC card, there is a means for checking the processing contents of the CPU instruction code used in the application and the access range. Since it does not exist, the application can freely access the inside of the IC card. That is, one application can access another application. This was a problem in terms of security. In the above second conventional method, even if there are a plurality of areas where security is maintained, the size of the area is predetermined, so the number of application settings is limited by it, and the application size is limited. There is a problem that the memory cannot be effectively used because some are large and some are small.
【0005】[0005]
【発明が解決しようとする課題】上記のように、複数の
アプリケーションプログラムをローデイングして、使用
するICカードにおいては、セキュリテイー上の問題を
解決し、且つ、メモリの有効利用ができるものが求めら
れていた。本発明は、このような状況のもと、複数のア
プリケーションプログラムをローデイングして、使用す
るICカードで、セキュリテイー上の問題を解決し、且
つ、メモリの有効利用ができる、ICカードを提供しよ
うとするものである。As described above, in the IC card to be used by loading a plurality of application programs, it is required to solve the security problem and effectively use the memory. Was there. Under such circumstances, the present invention intends to provide an IC card that loads a plurality of application programs and solves the security problem with the IC card to be used and can effectively use the memory. To do.
【0006】[0006]
【課題を解決するための手段】本発明のICカードは、
複数のアプリケーションプログラムを電気的に書き換え
可能なメモリ内にローデイングして、使用するICカー
ドであって、少なくとも、複数のアプリケーションを前
記電気的に書き換え可能なメモリ内に入力するためのア
プリケーション入力手段と、アプリケーションに対応し
た所定の特定情報を前記電気的に書き換え可能なメモリ
(EEPROM)内に入力するためのアプリケーション
特定情報入力手段と、前記アプリケーション特定情報入
力手段にて入力された特定情報に応じてアプリケーショ
ンを実行するアプリケーション実行手段とを有し、前記
入力されたアプリケーション中の各CPU命令コードは
使用が許可されたCPU命令コードであり、且つ、その
CPU命令コードの動作範囲がアプリケーション記憶予
定領域もしくは、各アプリケーションに共通使用が許可
されている領域である場合のみ、アプリケーション特定
情報に入力手段にて入力された特定情報に応じて、アプ
リケーションが実行されることを特徴とするものであ
る。そして、上記において、アプリケーション入力手段
がI/O、ROM、RAMからなり、アプリケーション
特定情報入力手段が、I/O、ROM、RAMからな
り、アプリケーション実行手段が、CPU、ROMから
なることを特徴とするものである。また、上記におい
て、使用が許可されたCPU命令コードは、スタックレ
ジスタを除くレジスタ間のデータ移動命令、レジスタの
ビット操作命令、及びアドレスのジヤンプ命令であり、
該アドレスのジヤンプ命令の場合には、特定情報に従
う、アプリケーション記憶予定領域もしくは、各アプリ
ケーションに共通使用が許可されている領域である場合
のみ、実行可能であることを特徴とするものである。
尚、上記における電気的に書き換え可能なメモリとして
はEEPROMが挙げられる。The IC card of the present invention comprises:
An IC card to be used by loading a plurality of application programs in an electrically rewritable memory, and at least an application input means for inputting a plurality of applications into the electrically rewritable memory. An application specific information input means for inputting predetermined specific information corresponding to an application into the electrically rewritable memory (EEPROM), and in accordance with the specific information input by the application specific information input means An application executing means for executing an application, each CPU instruction code in the input application is a CPU instruction code permitted to be used, and the operation range of the CPU instruction code is an application storage scheduled area or , Only if the common use in the application is a region that is permitted, in accordance with identification information input by the input means to the application specifying information, it is characterized in that the application is executed. Further, in the above, the application input means comprises I / O, ROM and RAM, the application specific information input means comprises I / O, ROM and RAM, and the application execution means comprises CPU and ROM. To do. Further, in the above, the CPU instruction codes that are permitted to be used are a data movement instruction between registers excluding the stack register, a bit operation instruction of a register, and a jump instruction of an address,
In the case of the jump instruction of the address, it can be executed only in an application storage scheduled area or an area in which common use is permitted for each application according to the specific information.
An EEPROM is an example of the electrically rewritable memory described above.
【0007】尚、上記においてアプリケーションとはI
Cカードへ入力されるユーザのあるアプリケーションプ
ログラムを実行させるための、プログラムとプログラム
によって参照されるデータを意味する。また、特定情報
とは、図3に図示されている、電気的に書き換え可能な
メモリであるEEPROMのメモリマップにおける、プ
ログラムのローデイング未済みを示すLF(Appli
cation Loading Flag)、アプリケ
ーションの長さを示すALEN、、アプリケーションの
ネームを示すAP−NAME、アプリケーションプログ
ラムの格納予定領域の開始アドレスを示すAPSAD
D、アプリケーションプログラムの格納予定領域の最終
アドレスを示すAPEADD、アプリケーションの開始
を示すJADD、アプリケーションプログラムの長さを
示すAP−LEN等の情報である。In the above, the application is I
It means a program and data referred to by the program for executing a certain application program of a user input to the C card. Further, the specific information is an LF (Appli) indicating that the program has not been loaded in the memory map of the electrically rewritable memory EEPROM shown in FIG.
(Cation Loading Flag), ALEN indicating the length of the application, AP-NAME indicating the name of the application, APSAD indicating the start address of the storage area of the application program.
D, APEEDD indicating the final address of the storage area of the application program, JADD indicating the start of the application, AP-LEN indicating the length of the application program, and the like.
【0008】[0008]
【作用】本発明のICカードは、上記のように、入力さ
れたアプリケーションが、アプリケーション中の各CP
U命令コードの使用が許可されたCPU命令コードであ
り、且つ、そのCPU命令コードの動作範囲がアプリケ
ーション記憶予定領域もしくは、各アプリケーションに
共通使用が許可されている領域である場合のみ、アプリ
ケーション特定情報に入力手段にて入力された特定情報
に応じて、実行されることにより、複数のアプリケーシ
ョンプログラムをローデイングして、使用するICカー
ドにおいて、一つのアプリケーションから他のアプリケ
ーションをアクセスできないようにして、セキュリテイ
ー上の問題を解決し、且つ、セキュリテイーが保たれて
いる領域を複数存在させることができ、メモリの有効利
用を可能としている。As described above, in the IC card of the present invention, the input application is the CPs in the application.
Only when the U instruction code is a CPU instruction code permitted to be used and the operation range of the CPU instruction code is an application storage planned area or an area which is commonly used by each application, is the application specific information. The plurality of application programs are loaded by being executed according to the specific information input by the input means to prevent access from one application to another in the IC card to be used. The above problem can be solved, and a plurality of areas where security is maintained can exist, which enables effective use of memory.
【0009】[0009]
【実施例】本発明のICカード実施例を図にもとづいて
説明する。図1(a)は本発明の実施例1のICカード
のハード構成を示す図で、図1(b)は本発明の実施例
1のICカードの機能構成を示す図である。図1中、1
00はICカード、101はCPU、102はROM、
103はRAM、104はEEPROM、105はI/
Oライン、106はVCC(電源電圧)、107はRST
(リセットライン)、108はCLK(クロックライ
ン)、109はGND(グランドライン)である。本実
施例のICカードは、基本的な構成は、図1に示すよう
に、従来のICカードと同じで、CPU101と、メモ
リとしてのROM102、RAM103、EEPROM
104と、I/Oライン105と、VCC(電源電圧ライ
ン)106と、RST(リセットライン)107と、C
LK(クロックライン)108とGND(グランドライ
ン)109とを有するものであるが、図3に示すEEP
ROMメモリマップのアプリケーションプログラムやア
プリケーションプログラムのデータ領域以外の所定の領
域に、特定情報領域SAを設け、ここに、プログラムの
ローデイング未済みを示すLF(Applicatio
n LoadingFlag)、アプリケーションの長
さを示すALEN、、アプリケーションのネームを示す
AP−NAME、アプリケーションプログラムの格納予
定領域の開始アドレスを示すAPSADD、アプリケー
ションプログラムの格納予定領域の最終アドレスを示す
APEADD、アプリケーションの開始を示すJAD
D、アプリケーションプログラムの長さを示すAP−L
EN等の特定情報を書き込んでいる。そして、本実施例
のICカードは、上記のEEPROMの所定領域に書き
込まれている特定情報により、使用が許可されているC
PU命令コードである、スタックレジスタを除くレジス
タ間のデータ移動命令コード、レジスタのビット操作命
令コード、及びアドレスのジヤンプ命令コード中、アド
レスのジヤンプ命令コードが、前記特定情報に従うアプ
リケーション記憶予定領域もしくは、各アプリケーショ
ンに共通使用が許可されている領域であるかを判断し、
アドレスのジヤンプ命令コードが特定情報に従うアプリ
ケーション記憶予定領域もしくは、各アプリケーション
に共通使用が許可されている領域である場合のみ、プリ
ケーションは実行可能となるものである。そしてまた、
本実施例のICカードは、I/O、ROM、RAMから
なるアプリケーション入力手段、I/O、ROM、RA
Mからなるアプリケーション特定情報入力手段、EEP
ROMからなるアプリケーション記憶手段、CPU、R
OMからなるアプリケーション実行手段とを有するもの
である。図2は、上記ROM102、RAM103、E
EPROM104のメモリのアドレスを示したものであ
る。DESCRIPTION OF THE PREFERRED EMBODIMENTS An IC card embodiment of the present invention will be described with reference to the drawings. FIG. 1A is a diagram showing a hardware configuration of an IC card according to the first embodiment of the present invention, and FIG. 1B is a diagram showing a functional configuration of the IC card according to the first embodiment of the present invention. 1 in FIG.
00 is an IC card, 101 is a CPU, 102 is a ROM,
103 is RAM, 104 is EEPROM, 105 is I /
O line, 106 is V CC (power supply voltage), 107 is RST
(Reset line), 108 is CLK (clock line), and 109 is GND (ground line). The basic configuration of the IC card of this embodiment is the same as that of a conventional IC card, as shown in FIG. 1, and includes a CPU 101, a ROM 102 as a memory, a RAM 103, and an EEPROM.
104, I / O line 105, V CC (power supply voltage line) 106, RST (reset line) 107, and C
Although having an LK (clock line) 108 and a GND (ground line) 109, the EEP shown in FIG.
A specific information area SA is provided in a predetermined area other than the application program of the ROM memory map and the data area of the application program, and an LF (Applicatio) indicating that the program has not been loaded is provided therein.
n LoadingFlag), ALEN indicating the length of the application, AP-NAME indicating the name of the application, APSADD indicating the start address of the storage area of the application program, APADED indicating the last address of the storage area of the application program, JAD showing start
D, AP-L indicating the length of the application program
The specific information such as EN is written. The IC card according to the present embodiment is allowed to be used C according to the specific information written in the predetermined area of the EEPROM.
Of the PU instruction code, a data movement instruction code between registers excluding stack registers, a bit operation instruction code of a register, and an address jump operation code, an address jump operation code is an application storage scheduled area according to the specific information, or Determine whether it is an area where common use is permitted for each application,
The application can be executed only when the jump instruction code of the address is the application storage scheduled area according to the specific information or the area which is commonly used by each application. and again,
The IC card of this embodiment includes an application input means including I / O, ROM and RAM, I / O, ROM and RA.
Application-specific information input means consisting of M, EEP
Application storage means composed of ROM, CPU, R
And an application execution means composed of an OM. FIG. 2 shows the ROM 102, RAM 103, E
The address of the memory of the EPROM 104 is shown.
【0010】図3は、EEPROMメモリマップを示す
もので、各アプリケーション毎に、特定情報、アプリケ
ーションプログラム、アプリケーションプログラムの参
照データが所定の領域に書き込まれている。前述のよう
に、特定情報としては、プログラムネームやその領域の
開始アドレスや終了アドレス等の特定の情報が書き込ま
れている。図4は、ROMのメモリマップを示すもの
で、0000〜0007はシステム領域、0008〜0
015はアプリケーションプログラムからアクセスが許
可されている共通領域(フアンクション群)で、機能サ
ブルーチンに間接的にプログラムジャンプするアドレス
が書き込まれており、0016〜27FFは各機能サブ
ルーチンの処理プログラム及びアプリケーションのロー
ド、実行を行う為の処理プログラム格納領域である。例
えば、アプリケーション実行においてジヤンプ命令があ
り、ROMの000EアドレスにジヤンプされるとRA
Mのデータ2をレジスタへ移行させる命令を実行する。
図5は、RAMのメモリマップを示すもので、アドレス
FEC0〜FEFEまでがSystem Area、ア
ドレスFF00〜FF9EまでがUser Area、
FFA0〜FFBEまでがSystem Areaとな
っており、一般にUser Areaは全てのアプリケ
ーションに対し共通領域とされている。FIG. 3 shows an EEPROM memory map in which specific information, an application program, and reference data of the application program are written in a predetermined area for each application. As described above, specific information such as the program name and the start address and end address of the area is written as the specific information. FIG. 4 shows a memory map of the ROM. 0000 to 0007 are system areas, and 0008 to 0.
Reference numeral 015 is a common area (function group) that is permitted to be accessed by the application program, in which an address for indirectly jumping the program is written in the functional subroutine, and 0016 to 27FF are loaded with processing programs and applications of each functional subroutine. , A processing program storage area for execution. For example, if there is a jump instruction in the application execution and it is jumped to the 000E address of ROM, RA
An instruction to transfer the data 2 of M to the register is executed.
FIG. 5 shows a memory map of the RAM. System addresses are at addresses FEC0 to FEFE, user areas are at addresses FF00 to FF9E.
FFA0 to FFBE are System Areas, and User Area is generally a common area for all applications.
【0011】図6(a)に、アプリケーションをロード
するアプリケーションロードコマンドの1例を挙げる。
アプリケーションロードコマンドは、CLA(コマンド
クラス)、INS(コマンドインストラクション)、A
LEN(アプリケーションの名前の長さ)、AP−NA
ME(アプリケーションの名前)、APSADD(アプ
リケーションプログラムの格納予定領域の開始アドレ
ス)、APEADD(アプリケーションプログラムの格
納予定領域の終了アドレス)、JADD(アプリケーシ
ョンの開始アドレス)、AP−LEN(アプリケーショ
ンプログラムの長さ)、AP−PRO(アプリケーショ
ンプログラム)からなっている。図6(b)は、アプリ
ケーションロードコマンドに対するResponseの
フオーマット例である。FIG. 6A shows an example of an application load command for loading an application.
Application load commands are CLA (command class), INS (command instruction), A
LEN (application name length), AP-NA
ME (application name), APSADD (start address of storage area of application program), APEADD (end address of storage area of application program), JADD (start address of application), AP-LEN (length of application program) ), AP-PRO (application program). FIG. 6B is an example of the format of Response to the application load command.
【0012】図7(a)に、アプリケーションデータを
書き込む、アプリケーションデータライトコマンドの1
例を挙げる。アプリケーションデータライトコマンド
は、CLA(コマンドクラス)、INS(コマンドイン
ストラクション)、ALEN(アプリケーションの名前
の長さ)、AP−NAME(アプリケーションの名
前)、ADSADD(アプリケーションデータの格納予
定領域の開始アドレス)、ADEADD(アプリケーシ
ョンデータの格納予定領域の終了アドレス)、AD−L
EN(アプリケーションデータの長さ)、AD−DAT
A(アプリケーションデータ)からなっている。図7
(b)は、アプリケーションデータライトコマンドに対
するResponseのフオーマット例である。FIG. 7A shows an application data write command 1 for writing application data.
Here's an example. The application data write command includes CLA (command class), INS (command instruction), ALEN (application name length), AP-NAME (application name), ADSADD (start address of application data storage area), ADEADD (end address of storage area for storing application data), AD-L
EN (application data length), AD-DAT
It is composed of A (application data). Figure 7
(B) is an example of the format of Response to the application data write command.
【0013】図8(a)に、アプリケーションを選択す
る、アプリケーション選択コマンドの1例を挙げる。ア
プリケーション選択コマンドは、CLA(コマンドクラ
ス)、INS(コマンドインストラクション)、ALE
N(アプリケーションの名前の長さ)、AP−NAME
(アプリケーションの名前)からなっている。図8
(b)は、アプリケーション選択コマンドに対するRe
sponseのフオーマット例である。FIG. 8A shows an example of an application selection command for selecting an application. Application selection commands are CLA (command class), INS (command instruction), ALE
N (application name length), AP-NAME
(Application name). FIG.
(B) shows Re for the application selection command
It is an example of format of sponse.
【0014】図9は、ICカード中にロードが許可され
るCPU命令コード群を示したもので、大きくは、スタ
ックレジスタを除くレジスタ間のデータ移動命令コード
群Aと、レジスタのビット操作命令コード群Bとアドレ
スのジヤンプ命令コード群Cに分けられる。この中で、
ジヤンプ命令コード群Cが実行される際には、特定情報
に従う、アプリケーション記憶予定領域もしくは、各ア
プリケーションに共通使用が許可されている領域である
であることを確認した後、実行される。FIG. 9 shows a group of CPU instruction codes that are permitted to be loaded in the IC card. The data instruction code group A between registers excluding the stack register and the bit operation instruction code of the registers are roughly shown. It is divided into a group B and an address jump code group C. In this,
When the jump instruction code group C is executed, it is executed after confirming that the area is an application storage scheduled area or an area permitted to be commonly used by each application according to the specific information.
【0015】次に、実施例ICカードの動作を図10を
もとに簡単に説明する。先ず、ICカードがリセットさ
れると、装置側へ(Answer to Reset)
を送出し(S101)、コマンド待ち状態となり(S1
02)、装置側から、ユーザのアプリケーションプログ
ラムや実データ、特定情報等が含まれたコマンドは、一
旦、RAMへ受信されると、ICカードのCPU、RO
Mにより以下の処理が実行される。コマンドがRAMへ
受信されると、はじめに、コマンドがアプリケーション
プログラムをEEPROMにロードするLoad Ap
lication Command(LAC)であるか
否かをチエックする。(S103) コマンドがLACの場合には、Load Aplica
tion Command処理を行った(S103A)
後、再度装置からのコマンド待ち状態となり、コマンド
がLACでない場合には、次に、アプリケーションプロ
グラムデータをEEPROMに書き込むWrite A
pplication Data Command(W
AC)であるか否かをチエックする。(S104) ここで、コマンドがWACの場合には、Write A
pplicationData Command処理を
行った(S104A)後、再度、装置からのコマンド待
ち状態となる。そして、コマンドがWACでない場合に
は、次に、コマンドがEEPROM内の所定のプログラ
ムを実行するSelect Application
Command(SAC)であるか否かをチエックす
る。(S105) ここで、コマンドがSACである場合にはSelect
Application Command処理を実行
した(S105A)後、再度、装置からのコマンド待ち
状態となる。この際コマンドがSACでない場合には異
常終了状態を装置側へ送出し(S106)た後、再度、
装置からのコマンド待ち状態となる。Next, the operation of the embodiment IC card will be briefly described with reference to FIG. First, when the IC card is reset, it goes to the device side (Answer to Reset)
Is sent (S101) and the command wait state is entered (S1
02), the command including the user's application program, actual data, specific information, etc. from the device side is once received in the RAM, the CPU of the IC card, the RO
The following processing is executed by M. When the command is received in RAM, first the command loads the Load Ap into the EEPROM.
Check whether or not it is a license command (LAC). (S103) When the command is LAC, Load Application
A function command was performed (S103A)
After that, the device again waits for a command from the device, and if the command is not LAC, then write A to write the application program data to the EEPROM
application Data Command (W
Check whether it is AC) or not. (S104) If the command is WAC, Write A
After the applicationData Command process is performed (S104A), the state of waiting for a command from the device is entered again. Then, if the command is not WAC, then the command executes Select Application which executes a predetermined program in the EEPROM.
Check if it is Command (SAC). (S105) Here, if the command is SAC, Select
After executing the Application Command processing (S105A), the state of waiting for a command from the apparatus is again established. At this time, if the command is not SAC, an abnormal end state is sent to the device side (S106),
Waiting for a command from the device.
【0016】アプリケーションをロードするLoad
Aplication Command(LAC)の処
理を図11をもとに簡単に説明しておく。先ず、Loa
d Aplication Command(LAC)
の処理に入いる(S201)と、図3に示すEEPRO
Mのアドレス6040〜UASP迄の領域で指定された
アプリケーションの名前を検索する。(S202) 尚、UASPはあらかじめ発行処理時に値を決定してお
く。アプリケーションの名前がある場合には、異常状態
終了を送出し(S211)、処理を終了する。(S20
8) アプリケーションの名前がない場合には、受信コマンド
のアプリケーションプログラム(AP−PRO)の先頭
アドレスをCPU命令コードチエックアドレス(CAD
D)にセットし、CPU命令コードを取り出し(S20
3)、命令コードのチエックを行う。(S204) CPU命令コードがデータ移動命令コード群Aである場
合、及びレジスタのビット操作命令コード群Bである場
合には、該当するレジスタのチエックを行い、スタック
レジスタの場合を除く(S205)。レジスタチエック
がNGの場合は異常終了状態を送出(S211)し、処
理を終了し(S208)、レジスタチエックがOKの場
合は、全てのCPU命令コードがチエックが完了してい
ないときは再度(S203)、(S204)を行うが、
完了してるときは正常終了状態を送出(S209)した
後、処理を終了する。(S210) また、CPU命令コードがアドレスのジヤンプ命令コー
ド群Cである場合には、命令動作の領域のチエックを行
う(S206)。命令動作の領域チエック(S206)
で、命令コードの動作範囲が特定情報に従う、アプリケ
ーション記憶予定領域もしくは、各アプリケーションに
共通使用が許可されている領域である場合のみ、実行可
能とする。ここで、全てのCPU命令コードチエックが
完了している場合は、RAMへ受信したAP−PROを
EEPROMへ書込み(S207)、ADSADD、A
DEADD、APSADD、APEADD、JADDを
EEPROMへ書き込み(S208)、正常状態終了を
送出し(S209)、処理を終了する(S210)が、
全てのCPU命令コードチエックが完了ていないときは
再度(S203)、(S204)を行う。また、命令動
作の領域チエック(S206)で、命令コードの動作範
囲チエックがOKでない場合には異常終了状態を送出し
(S211)、処理を終了する。(S210)Load that loads the application
The process of the Application Command (LAC) will be briefly described with reference to FIG. First, Loa
d Application Command (LAC)
(S201), the EEPRO shown in FIG. 3 is entered.
The name of the specified application is searched in the area from M address 6040 to UASP. (S202) The UASP determines the value in advance during the issuing process. If there is an application name, the abnormal state end is sent (S211) and the process ends. (S20
8) If there is no application name, the start address of the application program (AP-PRO) of the received command is set to the CPU command code check address (CAD).
D) and fetch the CPU instruction code (S20
3) Check the instruction code. (S204) When the CPU instruction code is the data movement instruction code group A and the bit operation instruction code group B of the register, the corresponding register is checked, and the case of the stack register is excluded (S205). If the register check is NG, an abnormal end state is sent (S211) and the process is ended (S208). If the register check is OK, if all the CPU instruction codes have not been checked (S203) again. ), (S204),
If it has been completed, a normal end state is sent (S209), and then the process ends. (S210) If the CPU instruction code is the address jump instruction code group C, the instruction operation area is checked (S206). Command operation area check (S206)
Then, it is executable only when the operation range of the instruction code is an application storage scheduled area or an area where common use is permitted for each application according to the specific information. If all the CPU command code checks have been completed, the AP-PRO received in the RAM is written in the EEPROM (S207), ADSADD, A
DEADD, APSADD, APEADD, and JADD are written in the EEPROM (S208), the normal state end is sent (S209), and the process is terminated (S210).
When all the CPU command code checks are not completed, (S203) and (S204) are performed again. Further, in the command operation area check (S206), if the operation range check of the instruction code is not OK, an abnormal end state is sent (S211) and the processing is ended. (S210)
【0017】アプリケーションデータを書き込むWri
te Application Data Comma
nd(WAC)の処理を図12をもとに簡単に説明して
おく。先ず、Write Application D
ata Command(WAC)の処理に入る(S3
01)と、図3に示すEEPROMのアドレス6040
〜UASP迄の領域でコマンドで指定されたアプリケー
ションの名前を検索する。(S302) アプリケーションの名前がない場合には、異常終了状態
を送出し(S311)、処理を終了する。(S306) アプリケーションの名前がある場合には、アプリケーシ
ョンデータが書き込み済みであるかを判断するが、書き
込み済みの場合には異常終了状態を送出し(S31
1)、処理を終了し(S306)、書き込み未の場合は
コマンドが受信したAD−LENがADSADD〜AD
EADDの範囲か否かのチエックを行う。(S303) ここで、範囲外の場合は異常終了状態を送出(S31
1)し、処理を終了する。(S306) 範囲内の場合は、AADSADDからAD−LEN(ア
プリケーションデータの長さ)分、AD−DATA(ア
プリケーションデータ)を書き込み、ADSADD、A
DEADDをアプリケーション管理情報の該当部分に書
きこみ、LF(Load apllication F
lag)をアプリケーションデータ書き込み済みにセッ
トする処理を行う(S304)。ステップS304の処
理が正常に終了しない場合は、異常状態終了を送出し
(S311)、正常に終了した場合には、正常終了状態
を送出し(S305)、処理を終了する。(S306)Wri for writing application data
te Application Data Comma
The nd (WAC) process will be briefly described with reference to FIG. First, Write Application D
The process of ata Command (WAC) is started (S3
01) and the address 6040 of the EEPROM shown in FIG.
Search for the name of the application specified by the command in the area up to UASP. (S302) If there is no application name, an abnormal end status is sent (S311), and the process ends. (S306) If there is an application name, it is determined whether or not the application data has been written, but if it has been written, an abnormal end state is sent (S31).
1), the process is terminated (S306), and when the writing is not completed, the command received AD-LEN is ADSADD to AD
Check to see if it is in the EADD range. (S303) Here, if it is out of the range, an abnormal end state is sent (S31).
1) and then the process ends. (S306) If it is within the range, AD-DATA (application data) is written from AADSADD by the amount of AD-LEN (application data length), and ADSADD, A
Write DEADD in the corresponding part of the application management information, and load LF (Load application F
lag) is set to the application data written status (S304). If the process of step S304 does not end normally, an abnormal state end is sent (S311), and if it ends normally, a normal end state is sent (S305) and the process ends. (S306)
【0018】次いで、アプリケーションを選択するSe
lect ApplicationCommand(S
AC)について図13をもとに簡単に説明する。先ず、
Select Application Comman
d(SAC)の処理に入る(S401)と、図3に示す
EEPROMのアドレス6040〜UASP迄の領域で
コマンドで指定されたアプリケーションの名前を検索す
る。(S402) アプリケーションの名前がない場合には、異常終了状態
を送出し(S411)、処理を終了する。(S406) アプリケーションの名前がある場合にはRAMのユーザ
領域を消去しFFにし(S403)、正常状態終了を送
出した(S404)後、EEPROMのJADDが示す
アドレスにプログララムをジヤンプし(S405)処理
を実行した後、処理を終了する。(S406)Next, Se for selecting an application
lect Application Command (S
AC) will be briefly described with reference to FIG. First,
Select Application Command
When the process of d (SAC) is started (S401), the area of address 6040 to UASP of the EEPROM shown in FIG. 3 is searched for the name of the application specified by the command. (S402) If there is no application name, an abnormal end state is sent (S411) and the process ends. (S406) If there is an application name, the user area of the RAM is erased and set to FF (S403), the normal state end is sent (S404), and then the program is jumped to the address indicated by the JADD of the EEPROM (S405). After executing the processing, the processing ends. (S406)
【0019】[0019]
【効果】本発明のICカードは、上記のように、複数の
アプリケーションプログラムをローデイングして使用す
るICカードにおいて、セキュリテイーが保たれている
領域を複数設けずに、あるアプリケーションから他のア
プリケーションへ、アクセスができないようにしたもの
であり、結局、セキュリテイー上の問題を解決し、且
つ、メモリの有効利用ができるICカードの提供を可能
にしている。As described above, in the IC card of the present invention, in which an application card is loaded with a plurality of application programs and used, one application can be transferred to another application without providing a plurality of areas where security is maintained. In the end, it is possible to provide an IC card that solves the security problem and can effectively use the memory.
【図1】実施例ICカードの構成図FIG. 1 is a configuration diagram of an example IC card.
【図2】実施例ICカードの各メモリのアドレスを説明
するための図FIG. 2 is a diagram for explaining an address of each memory of the embodiment IC card.
【図3】EEPROMのメモリマップを説明するための
図FIG. 3 is a diagram for explaining an EEPROM memory map.
【図4】ROMのメモリマップを説明するための図FIG. 4 is a diagram for explaining a memory map of a ROM.
【図5】RAMのメモリマップを説明するための図FIG. 5 is a diagram for explaining a memory map of RAM.
【図6】ロードアプリケーションコマンドを示す図FIG. 6 is a diagram showing a load application command.
【図7】ライトアプリケーションデータコマンド(特定
情報書き込みコマンド)の図FIG. 7 is a diagram of a write application data command (specific information write command).
【図8】セレクトアプリケーションコマンド(アプリケ
ーション選択コマンド)の図FIG. 8 is a diagram of a select application command (application select command)
【図9】ICカート中にロードが許可されるCPU命令
コードを示した図FIG. 9 is a diagram showing a CPU instruction code which is permitted to be loaded in the IC cart.
【図10】ICカードの動作を説明するための図FIG. 10 is a diagram for explaining the operation of the IC card.
【図11】ロードアプリケーションコマンド処理をフロ
ー部[Fig. 11] Flow part for load application command processing
【図12】ライトアプリケーションデータコマンド(特
定情報書き込みコマンド)処理のフロー図FIG. 12 is a flow chart of write application data command (specific information write command) processing.
【図13】セレクトアプリケーションコマンド(アプリ
ケーション選択コマンド)処理のフロー図FIG. 13 is a flow chart of select application command (application select command) processing.
100 ICカード 101 CPU 102 ROM 103 RAM 104 EEPROM 105 I/Oライン 106 VCC 107 RST 108 CLK 109 GND LAC アプリケーションロードコマンド WAC アプリケーションデータ書き込み
コマンド SAC アプリケーション選択コマンド100 IC card 101 CPU 102 ROM 103 RAM 104 EEPROM 105 I / O line 106 V CC 107 RST 108 CLK 109 GND LAC application load command WAC application data write command SAC application selection command
Claims (3)
気的に書き換え可能なメモリ内にローデイングして、使
用するICカードであって、少なくとも、複数のアプリ
ケーションを前記電気的に書き換え可能なメモリ内に入
力するためのアプリケーション入力手段と、アプリケー
ションに対応した所定の特定情報を前記電気的に書き換
え可能なメモリ内に入力するためのアプリケーション特
定情報入力手段と、前記アプリケーション特定情報入力
手段にて入力された特定情報に応じてアプリケーション
を実行するアプリケーション実行手段とを有し、前記入
力されたアプリケーション中の各CPU命令コードは使
用が許可されたCPU命令コードであり、且つ、そのC
PU命令コードの動作範囲がアプリケーション記憶予定
領域もしくは、各アプリケーションに共通使用が許可さ
れている領域である場合のみ、アプリケーション特定情
報に入力手段にて入力された特定情報に応じて、アプリ
ケーションが実行されることを特徴とするICカード。1. An IC card to be used by loading a plurality of application programs in an electrically rewritable memory, for inputting at least a plurality of applications into the electrically rewritable memory. Application input means, application specific information input means for inputting predetermined specific information corresponding to the application into the electrically rewritable memory, and the specific information input by the application specific information input means. An application executing means for executing an application in response to each of the CPU application codes, and each CPU instruction code in the input application is a CPU instruction code permitted to be used, and C
Only when the operation range of the PU instruction code is the application storage scheduled area or the area where common use is permitted for each application, the application is executed in accordance with the specific information input by the input means in the application specific information. An IC card characterized by
力手段がI/O、ROM、RAMからなり、アプリケー
ション特定情報入力手段が、I/O、ROM、RAMか
らなり、アプリケーション実行手段が、CPU、ROM
からなることを特徴とするICカード。2. The application input means according to claim 1, comprising I / O, ROM and RAM, the application specific information input means comprising I / O, ROM and RAM, and the application executing means, CPU and ROM.
An IC card characterized by comprising:
されたCPU命令コードは、スタックレジスタを除くレ
ジスタ間のデータ移動命令、レジスタのビット操作命
令、及びアドレスのジヤンプ命令であり、該アドレスの
ジヤンプ命令の場合には、特定情報に従う、アプリケー
ション記憶予定領域もしくは、各アプリケーションに共
通使用が許可されている領域である場合のみ、実行可能
であることを特徴とするICカード。3. The CPU instruction code permitted to be used according to claim 1 or 2, which is a data movement instruction between registers excluding a stack register, a bit operation instruction of a register, and a jump instruction of an address. In the case of a jump instruction, the IC card can be executed only in an application storage planned area or an area where common use is permitted for each application according to specific information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01840395A JP3923546B2 (en) | 1995-01-11 | 1995-01-11 | IC card |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01840395A JP3923546B2 (en) | 1995-01-11 | 1995-01-11 | IC card |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08190614A true JPH08190614A (en) | 1996-07-23 |
JP3923546B2 JP3923546B2 (en) | 2007-06-06 |
Family
ID=11970715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01840395A Expired - Fee Related JP3923546B2 (en) | 1995-01-11 | 1995-01-11 | IC card |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3923546B2 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000066708A (en) * | 1999-04-20 | 2000-11-15 | 최규용 | Ic card being applied chaos ciphering method |
JP2003036419A (en) * | 2001-07-24 | 2003-02-07 | Dainippon Printing Co Ltd | Multiapplication ic card |
JP2003108384A (en) * | 2001-09-28 | 2003-04-11 | Dainippon Printing Co Ltd | Apparatus for loading ic card application program and processing method thereof |
US6766961B2 (en) | 2000-07-07 | 2004-07-27 | Fujitsu Limited | IC card |
JP2006252284A (en) * | 2005-03-11 | 2006-09-21 | Toshiba Corp | Portable electronic device and ic card |
JP2007179468A (en) * | 2005-12-28 | 2007-07-12 | Sharp Corp | Recording method, recording device and ic card |
JP2010134933A (en) * | 1997-05-15 | 2010-06-17 | Mondex Internatl Ltd | Key delivery unit for ic card |
US8001375B2 (en) | 2004-06-11 | 2011-08-16 | Ntt Docomo, Inc. | Mobile device, and access control method |
-
1995
- 1995-01-11 JP JP01840395A patent/JP3923546B2/en not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010134933A (en) * | 1997-05-15 | 2010-06-17 | Mondex Internatl Ltd | Key delivery unit for ic card |
KR20000066708A (en) * | 1999-04-20 | 2000-11-15 | 최규용 | Ic card being applied chaos ciphering method |
US6766961B2 (en) | 2000-07-07 | 2004-07-27 | Fujitsu Limited | IC card |
JP2003036419A (en) * | 2001-07-24 | 2003-02-07 | Dainippon Printing Co Ltd | Multiapplication ic card |
JP2003108384A (en) * | 2001-09-28 | 2003-04-11 | Dainippon Printing Co Ltd | Apparatus for loading ic card application program and processing method thereof |
US8001375B2 (en) | 2004-06-11 | 2011-08-16 | Ntt Docomo, Inc. | Mobile device, and access control method |
JP2006252284A (en) * | 2005-03-11 | 2006-09-21 | Toshiba Corp | Portable electronic device and ic card |
JP4764034B2 (en) * | 2005-03-11 | 2011-08-31 | 株式会社東芝 | Portable electronic device, IC card and portable electronic device self-diagnosis method |
JP2007179468A (en) * | 2005-12-28 | 2007-07-12 | Sharp Corp | Recording method, recording device and ic card |
JP4583305B2 (en) * | 2005-12-28 | 2010-11-17 | シャープ株式会社 | Recording method, recording apparatus, and IC card |
US8245941B2 (en) | 2005-12-28 | 2012-08-21 | Sharp Kabushiki Kaisha | Recording method, recorder and IC card |
Also Published As
Publication number | Publication date |
---|---|
JP3923546B2 (en) | 2007-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6785808B2 (en) | System and method for altering an operating system start-up sequence prior to operating system loading | |
EP0985202A1 (en) | Multi-application ic card with delegation feature | |
JPH0259937A (en) | Ic card | |
CN101645046A (en) | Emulation eines einmal programmierbaren speichers | |
JP3563412B2 (en) | Method for modifying a code sequence and related devices | |
JPH08190614A (en) | Ic card | |
JPH01219982A (en) | Ic card | |
JPH10510652A (en) | Method and apparatus for modifying a fixed program | |
JPS59107491A (en) | Ic card | |
US5862402A (en) | System for rapidly issuing IC cards by proving an association between stored issue data and discrimination data then issuing IC cards pursuant to the issue data | |
JPH08129628A (en) | Information recording medium with incorporated cpu | |
JP4868979B2 (en) | Portable electronic device and IC card | |
JP4836707B2 (en) | Portable electronic device and IC card | |
JP2006293706A (en) | Multi-application ic card with application updating function | |
JP2004334745A (en) | Ic card | |
JP2003331236A (en) | Portable electronic device | |
JPH06259609A (en) | Management method for ic card issue process | |
JP2001356916A (en) | Memory blocking compiler and program executing method | |
JP2003281487A (en) | Portable electronic device, and method for providing application and data area in memory | |
EP0292237B2 (en) | IC card and IC card information processing system using the IC card | |
JP4371696B2 (en) | IC card issuing system | |
JP2006172005A (en) | Portable electronic instrument | |
JP2005056259A (en) | Portable electronic medium and portable electronic medium handling device | |
JPH08147440A (en) | Ic card | |
JPH01223586A (en) | Ic card testing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040304 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040511 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050531 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060328 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060525 |
|
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: 20070208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070222 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100302 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110302 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110302 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120302 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130302 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130302 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140302 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |