JPH09231111A - Icカード - Google Patents

Icカード

Info

Publication number
JPH09231111A
JPH09231111A JP8322692A JP32269296A JPH09231111A JP H09231111 A JPH09231111 A JP H09231111A JP 8322692 A JP8322692 A JP 8322692A JP 32269296 A JP32269296 A JP 32269296A JP H09231111 A JPH09231111 A JP H09231111A
Authority
JP
Japan
Prior art keywords
file
capacity
card
data area
changed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8322692A
Other languages
English (en)
Inventor
Kazuyoshi Irisawa
和義 入澤
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 JP8322692A priority Critical patent/JPH09231111A/ja
Publication of JPH09231111A publication Critical patent/JPH09231111A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 セキュリティーを維持しつつ、ファイルの容
量を縮小または拡大することが可能なICカードを提供
する。 【解決手段】 1又は2以上のファイルを格納可能なメ
モリを有するICカードにおいて、外部からの命令によ
り前記ファイルの1つを選択する選択手段と、外部から
指定された指定容量だけ前記選択手段により選択されて
いるファイルの容量を縮小又は拡大の一方又は双方を行
う容量変更手段とを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、外部からの命令に
より、メモリに格納されているファイルの容量を縮小又
は変更することが可能なICカードに関するものであ
る。
【0002】
【従来の技術】図11は、従来のICカードの構成、及
びそのICカードとリーダライタ装置との接続関係を示
すブロック図である。従来のICカード10は、通常、
I/Oインタフェース11、CPU12、ROM13、
RAM14、EEPROM15を内蔵している。I/O
インタフェース11は、データを送受するための入出力
回路であり、CPU12はこのI/Oインタフェース1
1を介してリーダライタ装置20と交信する。ROM1
3内には、CPU12によって実行されるべきプログラ
ムが記憶されており、CPU12は、このプログラムに
基いてICカード10を統括制御する。RAM14は、
CPU12がこのような統括制御を行う上で作業領域と
して使用するメモリである。一方、EEPROM15
は、このICカード10に記録すべき本来のデータを格
納するメモリである。
【0003】図12は、図11に示すEEPROM15
内のファイル構成を示す図である。本実施形態では、3
種類のファイルが階層構造を構成している。3種類のフ
ァイルとは、MF(Master File) 、DF(Dedicated Fil
e)及びEF(Elementary File)のことである。MFは、
データメモリ全体のファイルである。MFは、各アプリ
ケーション(サービス)に共通したデータを格納するた
めのファイルであり、例えば、ICカード10の所有者
の氏名、住所、電話番号などの情報が記録される。DF
は、専用ファイルであり、アプリケーションごとにDF
の設定がなされている。EFは、基礎ファイルであり、
CPUがICカードを管理・制御する際に解釈実行する
データを格納するIEFと、アプリケーションで使用す
るデータを格納するWEFの2種類がある。
【0004】MF、DF及びEFは、図12(A)に示
す階層構造を構成する。MFは、階層構造の根幹であ
り、その配下にDF又はEFを配置する。図12(A)
の例では、MFはDF1及びWEF1をその配下に配置
しており、DF1、WEF1の親ファイルとなってい
る。DFは、MFを親ファイルとしてその配下に位置す
ることができると同時に、自己の配下に他のDF又はE
Fを配置し、それらの親ファイルとなることも可能なフ
ァイルである。これに対しEFは、他のファイルの親フ
ァイルとなることができないファイルである。
【0005】図13は、EEPROM15におけるファ
イル格納イメージの一例を示す図である。図13では、
左上より右下へ向けてメモリの絶対アドレスが増大して
いる。また、横幅は32ビットに相当している。なお、
本明細書では、絶対アドレスが大なる方を上位アドレス
と呼ぶこととする。図13に示す例では、ファイルのデ
ィレクトリは全て32ビットから構成され、上位アドレ
スから各ディレクトリ間に空き領域が存在しないよう
に、順に配置されている。一方、ファイルのデータ格納
エリアは、下位アドレスから、これも各エリア間に空き
容量の生じないように、順に配置されている。
【0006】図示の状態では、ディレクトリは32バイ
トおきに規則的に配置されている。したがって、ディレ
クトリ又はディレクトリの内容を検索するときは、32
バイトおきのアドレスを検索すれば足り、演算処理能力
が比較的低いCPUを用いても迅速にディレクトリの検
索を行うことが可能となっている。また、1つのWEF
のデータ格納エリアは、必ず連続した1つのメモリ領域
にまとめて格納されており、例えば図14に示すWEF
1のデータ格納エリアのように、2つの領域に分散して
格納されていない。これは、EEPROM15の限られ
たメモリ資源を最大限有効に利用するための処置であ
る。つまり、図14に示すように、一つのデータ格納エ
リアを複数の領域に分散して格納した場合には、それら
分散した各領域のアドレス情報を管理するファイル・ア
ロケーション・テーブル等が必要となり、余分にメモリ
を消費することとなる。これに対し、図13の例では、
ディレクトリにおいて、一つのデータ格納エリアについ
てのアドレス情報のみを管理すればよく、メモリの消費
量が最小限に抑制される。
【0007】上記各種のファイルは、ICカードの発行
時に、ICカード発行者により、所定の階層構造を構成
するように格納される。つまり、各種のDFやEFは、
カード発行時にICカードに既に格納されており、IC
カード所有者は、既に格納された各種ファイルの中から
必要とするものを選択して利用する。
【0008】
【発明が解決しようとする課題】しかし、前述した従来
のICカードでは、ICカード所有者と無関係に、IC
カード発行者が各種のファイルを格納する。しかも、I
Cカードの価値を高めるために、ICカード発行者は、
異なるアプリケーション等に対応した数多くのファイル
を格納し、ICカードを多目的に利用可能とすることを
希望する場合がある。ところが、ICカード所有者は、
それぞれにライフスタイル等が異なるため、必ずしも提
供されている全てのアプリケーションを利用するとは限
らない。このために、所有者によっては、格納されてい
るファイルのうち一部のものは頻繁に使用するが、他の
ファイルは全く使用しないことがある。このような場合
には、頻繁に使用されるファイルでは容量が不足する一
方で、使用されないファイルではメモリが利用されず無
駄となるという問題があった。
【0009】上記の問題に対し、各ファイルを一度消去
し、それぞれのファイルを適切な大きさに直して、再度
格納することで解決を図ることも考えられる。しかし、
この場合には、各ファイルに記録されている情報をIC
カードの外部へ読み出し、再度格納することとなるの
で、ICカードの特徴の一つであるセキュリティーを担
保することができないという問題があった。
【0010】そこで、本発明の課題は、セキュリティー
を維持しつつ、ファイルの容量を縮小または拡大するこ
とが可能なICカードを提供することである。
【0011】
【課題を解決するための手段】前記課題を解決するため
に、請求項1に係る発明は、カレントファイルのファイ
ルサイズを変更することができることを特徴とする。請
求項2に係る発明は、1又は2以上のファイルを格納可
能なメモリを有するICカードにおいて、外部からの命
令により前記ファイルの1つを選択する選択手段と、外
部から指定された指定容量だけ前記選択手段により選択
されているファイルの容量を縮小又は拡大の一方又は双
方を行う容量変更手段とを有することを特徴とする。
【0012】請求項3に係る発明は、請求項2に記載の
ICカードにおいて、前記選択されているファイルが正
常な状態で情報を記憶しているか否かを検査し、前記情
報が正常な状態で記憶されていない場合に、前記容量変
更手段が前記ファイルの容量を縮小することを許可しな
い記憶状態検査手段を有することを特徴としている。請
求項4に係る発明は、請求項2又は請求項3に記載のI
Cカードにおいて、前記指定容量が、前記選択されてい
るファイルを配下に有する親ファイルの空き容量より大
である場合に、前記容量変更手段が前記選択されている
ファイルを拡大することを許可しない拡大制限手段を有
することを特徴とする。
【0013】請求項5に係る発明は、請求項2から請求
項4までのいずれか1項に記載のICカードにおいて、
前記ファイルは、自己の空き容量を記憶する空き容量記
憶部を有し、前記容量変更手段は、前記選択されている
ファイルを配下に有する親ファイルの前記空き容量記憶
部の内容を、前記指定容量に基づいて変更することを特
徴とする。請求項6に係る発明は、請求項5に記載のI
Cカードにおいて、前記ファイルには、前記親ファイル
の空き容量を自己の空き容量とする容量親依存ファイル
があり、前記容量変更手段は、前記空き容量記憶部の内
容を変更しようとする前記親ファイルが前記容量親依存
ファイルである場合は、前記親ファイルの上位階層にあ
る前記親ファイルの前記空き容量記憶部の内容を変更す
ることを特徴としている。
【0014】請求項7に係る発明は、請求項2から請求
項6までのいずれか1項に記載のICカードにおいて、
前記選択されているファイルの容量から、前記指定容量
を減算した値が、前記選択されているファイルが配下に
有する他のファイルの総容量より小となる場合に、前記
容量変更手段が前記選択されているファイルの容量を縮
小することを許可しない親ファイル変更制限手段を有す
ることを特徴としている。
【0015】請求項8に係る発明は、請求項2から請求
項7までのいずれか1項に記載のICカードにおいて、
前記ファイルが有するデータ領域を移動する移動手段を
有し、前記ファイルのディレクトリ領域は、前記メモリ
の一方の端部から未使用な領域が存在しないように順に
格納され、前記ファイルのデータ領域は、前記メモリの
他方の端部から未使用な領域が存在しないように順に格
納されており、前記容量変更手段は、前記選択されてい
るファイルがデータ領域を有するファイルである場合
は、前記データ領域を前記指定容量だけ縮小又は拡大
し、前記移動手段は、前記容量変更手段により縮小され
たデータ領域より前記メモリの一方の端部側に他の前記
データ領域が存在する場合は、前記メモリの他方の端部
側へ前記指定容量だけ前記他のデータ領域を移動させ
る、又は、前記容量変更手段により拡大されるべきデー
タ領域より前記メモリの一方の端部側に他の前記データ
領域が存在する場合は、前記メモリの一方の端部側へ、
前記指定容量だけ前記他のデータ領域を移動させること
を特徴とする。
【0016】請求項9に係る発明は、請求項8に記載の
ICカードにおいて、前記データ領域のうち、前記メモ
リの一方の端部に最も近い位置に格納されているものの
位置に関する情報を記憶する最終データ位置記憶手段を
有し、前記移動手段は、前記選択されているファイルの
データ領域の位置から、前記最終データ位置記憶手段の
記憶する情報に基づいて特定される位置までに存在する
前記データ領域を移動することを特徴とする。
【0017】請求項10に係る発明は、請求項2から請
求項9までのいずれか1項に記載のICカードにおい
て、前記ファイルは、前記データ領域が占有するメモリ
領域の位置に関する情報を記憶する位置情報記憶部を有
し、前記容量変更手段は、前記選択されているファイル
の前記位置情報記憶部の内容を、前記指定容量に基づい
て、縮小又は拡大した後の前記選択されているファイル
のデータ領域に対応する内容に変更することを特徴とす
る。請求項11に係る発明は、請求項8又は請求項9に
記載のICカードにおいて、前記ファイルは、前記デー
タ領域が占有するメモリ領域の位置に関する情報を記憶
する位置情報記憶部を有し、前記移動手段は、前記デー
タ部を移動したファイルの前記位置情報記憶部の内容
を、前記指定容量に基づいて、移動した後の前記データ
領域に対応する内容に変更することを特徴とする。
【0018】請求項12に係る発明は、請求項2から請
求項11までのいずれか1項に記載のICカードにおい
て、前記容量変更手段は、前記選択されているファイル
が可変長レコード構造のファイルである場合に、前記フ
ァイルのデータ領域に格納されている、各レコードにつ
いてのアドレス情報を、前記指定容量に基づいて、前記
データ領域が縮小又は拡大された後の前記各レコードの
アドレスに変更することを特徴とする。請求項13に係
る発明は、請求項12に記載のICカードにおいて、前
記容量変更手段は、前記アドレス情報を変更した場合
に、変更後の前記アドレス情報に基づいて、前記データ
領域に格納されている誤り検出符号を変更することを特
徴とする。
【0019】請求項14に係る発明は、請求項8から請
求項13までのいずれか1項に記載のICカードにおい
て、前記移動手段は、移動する前記ファイルが可変長レ
コード構造のファイルである場合に、前記ファイルのデ
ータ領域に格納されている、各レコードについてのアド
レス情報を、前記指定容量に基づいて、前記データ領域
が移動された後の前記各レコードのアドレスに変更する
ことを特徴とする。請求項15に係る発明は、請求項1
4に記載のICカードにおいて、前記移動手段は、前記
アドレス情報を変更した場合に、変更後の前記アドレス
情報に基づいて、前記データ領域に格納されている誤り
検出符号を変更することを特徴とする。
【0020】
【発明の実施の形態】以下、図面等を参照して、本発明
に係る一実施形態について、さらに詳しく説明する。本
実施形態は、ハードウェア構成において従来のICカー
ドと同一であるが、カレントファイルのファイルサイズ
を変更するCHANGE−SIZEコマンドを処理する
機能を備える点において従来のICカードと異なってい
る。
【0021】図1は、CHANGE−SIZEのコマン
ドAPDUを示す図である。CHANGE−SIZEコ
マンドでは、パラメータP1において、サイズ(容量)
を変更すべきファイルが現在選択されているDF(以下
「カレントDF」という)あるいはEF(以下「カレン
トEF」という)のいずれであるかを指定する。また、
データフィールド(DATA)において、変更すべきサ
イズを指定する。
【0022】図2は、CHANGE−SIZEコマンド
を処理するICカード10の動作を示す流れ図である。
リーダライタ装置20から「CHANGE−SIZE」
コマンドがあった場合には、CPU12は、実行前チェ
ックを行い(S701)、エラーがあったときには、そ
の旨のメッセージ(S703)を送信する。ファイルサ
イズの変更を行い(S704)、コマンドが正常に終了
した場合には(S705)、その旨のメッセージを送信
して(S708)、コマンドを終了する。
【0023】次に、S704のファイルサイズの変更に
ついて、さらに詳しく説明する。本実施形態において、
ファイルサイズを変更できるファイルの種別は、DF/
WEFの2種類である。サイズの変更は、増減両方をサ
ポートしている。また、容量指定なし(管理ぺージ数F
Fh)のDFのサイズ変更はできない。容量指定なしの
DFとは、自己が管理する領域の容量が定められておら
ず、親ファイルの空き容量の範囲内でファイルの容量を
拡大し得るDFをいう。言い換えると、容量指定なしの
DFとは、その空き容量が常に親ファイルの空き容量に
一致する容量親依存のファイルである。容量指定なしの
DFでは、管理ページ数が「FFh」に設定される。管
理ページ数とは、ファイルのディレクトリに格納されて
いる変数であり、ファイルの管理する容量を示すもので
ある。
【0024】エラーチェックは、以下の項目について行
う。 1)サイズ変更対象ファイルがMF/IEFでないこ
と。これは、カレントEF又はカレントDFのアドレス
によって指定されるファイルのディレクトリを参照する
ことにより判断される。 2)CRT−APとCRT−DPとMFディレクトリの
空き容量の整合性があっていること。これは、MFのデ
ィレクトリに記録されているEEPROM15の空き容
量と、CRT−APとCRT−DPの差を比較すること
により判断される。なお、CRT−APは、新しいデー
タ格納エリアを格納することが可能な領域の先頭アドレ
スを指し示すポインタであり、CRT−DPは、新しい
ディレクトリを格納することが可能な領域の先頭アドレ
スを指し示すポインタである。
【0025】3)ディレクトリテーブルの全エントリの
CRCがあっていること。これは、各ファイルディレク
トリが有するCRCコードを用いて行われる。 4)全レコード形式WEFの全レコードのCRCがあっ
ていること。CHANGE−SIZEコマンドは、ファ
イルサイズを縮小させる場合もある。この場合に、既に
格納されている情報を誤って消去する事態を防ぐため
に、予め既に情報が格納されているレコードを確認する
必要がある。しかし、レコードが何らかの事情により破
壊されている場合には、上記確認を的確に行うことがで
きなくなるため、予め、レコードが適正な状態に維持さ
れているか否かを確認するものである。
【0026】5)トランスペアレントWEFのファイル
全体のCRCがあっていること。このチェックを行う理
由は、上記4)と同じである。なお、トランスペアレン
トファイルにCRCチェックコードを備えない場合に
は、このチェック項目は省略される。 6)ファイルサイズ増加の場合に、領域管理DFの空き
ぺージ数以内にサイズ増加分が納まること。なお、本実
施形態において、1ページは32バイトとなっている。 7)DFのサイズ縮小の場合に、そのDF下のすべての
ファイルのサイズを加算したページ数以下にならないこ
と。DFは、その配下に1又は2以上の他のファイルを
配置することが可能である。この場合に、配下のファイ
ルの総容量以下に当該DFが縮小されたのでは、記憶さ
れている情報を消去するおそれがあるからである。
【0027】8)WEF(循環順編成以外)のサイズ縮
小の場合に、ライトアペンドポインタよりファイルサイ
ズが小さくならないこと。 9)WEF(循環順編成ファイル)のサイズ縮小の場
合、ローテーション済みのファイルでないこと。上記
8)、9)は、既に格納されている情報を誤って失う事
態を防止するための措置である。なお、上記エラーチェ
ックは、EEPROM15の更新前に行われる。
【0028】次に、領域管理DFを特定し、ファイルの
サイズ変更後に、その管理領域DFの空き容量を変更す
る。領域管理DFの特定方法は、以下の通りである。サ
イズ変更するファイルの親DFの管理ページ数をチェッ
クする。親DFの管理ページ数がFFhならば、1レベ
ル上のDFをチェックする。サイズ変更するファイルの
すべての親DFの管理ぺージ数がFFhならば、MFを
領域管理DFとする。
【0029】図3は、DFのサイズ変更を説明する図で
ある。DFは、データ格納エリアを持たないために、デ
ィレクトリのみの書き換えとなる。なお、容量指定なし
(管理ぺージ数FFh)のDFのサイズ変更はできな
い。図3(A)は、サイズ縮小の場合を示している。 #1:まず、DFの縮小ぺージ数が、DFの空きぺージ
数以下であることを確認する。 #2:DFの管理ぺージ数及び空きぺージ数を縮小分減
算する。 #3:領域管理DFの空きぺージ数を#1:で減算した
分だけ加算する。
【0030】図3(B)は、サイズ増加の場合を示して
いる。 #1:まず、領域管理DFの空きぺージ数をサイズ変更
DFの増加分だけ減算する。 #2:サイズ変更DFの管理ぺージ数及び空きぺージ数
をサイズ変更DFの増加分だけ加算する。
【0031】次に、WEFのサイズ変更について説明す
る。WEFは、データ格納エリアを持つために、ディレ
クトリのデータ書き換え及びデータ格納領域のデータ移
動を行う。また、データ領域の移動を行うために、移動
したファイルのディレクトリの内容を書き換える。
【0032】[サイズ縮小の場合]まず、サイズ変更フ
ァイルの変更を行なう。 #1:縮小を行うWEFが可変長のときには、後述する
<アドレステーブルポインタ移動処理>を実行する。 #2:縮小を行うWEF−DIRの管理領域内バイト
数、書込み可能最終アドレス、アドレステーブルポイン
タを縮小した分だけ減算した値に書き換える。
【0033】図4は、ファイルのデータ部分書き換え
(縮小バイト分詰める)を説明する図である。 #1:縮小対象ファイルのDIRアドレスをターゲット
としてセットする。 #2:ターゲットアドレスより32を減算する。 #3:ターゲットアドレスがCRT−DPと同じときに
終了する。 #4:ターゲットとなったDIRがWEF以外のとき
‘#2:’へ戻る。 #5:ターゲットとなったDIRのデータ部分を縮小バ
イト分移動する。 #6:‘#2:’ヘ戻る。
【0034】次に、移動済WEF−DIRの内容修正処
理について説明する。 #1:縮小対象ファイルのDIRアドレスをターゲット
としてセットする。 #2:ターゲットアドレスより32減算する。 #3:ターゲットアドレスがCRT−DPと同じときに
終了する。 #4:ターゲットとなったDIRがWEF以外のときに
‘#2:’へ戻る。 #5:DIRの管理領域内バイト数、書込み可能最終ア
ドレス、アドレステーブルポインタ、WEFエリア開始
アドレスを縮小した分だけ減算した値に書き換える。 #6:‘#2:’ヘ戻る。
【0035】図5は、データ部分を移動した結果生じた
不要部分のFFhクリアを説明する図である。 #1:CRT−APより縮小した分だけ減算したアドレ
スを求める。 #2:このアドレスを先頭に削除データ(ファイルを縮
小した容量)分FFhクリアする。
【0036】図6は、CRT−APの変更を説明する図
である。 #1:CRT−APを、もとの値より削除(ファイルを
縮小した容量)分だけ減算した値に書き換える。
【0037】WEFリニア可変長「アドレステーブルポ
インタ」とCRCの書き換えについて説明する。 #1:縮小を行うWEF−DIRをチェック用DIRと
してセットする。 #2:チェック用DIRより32減算する。 #3:チェック用DIRがCRT−DPと同じときに終
了する。 #4:チェック用DIRが「WEFリニア可変長」以外
のときに‘#2:’ヘ戻る。 #5:「移動後差分アドレス」として縮小バイトをセッ
トして、後述する<アドレステーブルポインタ修正処理
>の#3:以降を実行する。 #6:後述する<アドレステーブルポインタCRC修正
処理>を実行する。 #7:‘#2:’へ戻る。
【0038】ここで、WEFリニア可変長「アドレステ
ーブルポインタ」とCRCの書き換え動作について説明
する。 #1:7F80hをチェック用DIRとしてセットす
る。7F80hは、図13に示す例では、トランスポー
トIEFディレクトリのアドレスであり、このアドレス
より下位のアドレスにMF配下のDF、EFのディレク
トリが格納されている。 #2:チェック用DIRより32減算する。 #3:チェック用DIRがCRT−DPと同じときに終
了する。 #4:チェック用DIRが「WEFリニア可変長」以外
のときに、‘#2:’へ戻る。 #5:<アドレステーブルポインタ修正処理>を実行す
る。 #6:<アドレステーブルポインタCRC修正処理>を
実行する。 #7:‘#2:’へ戻る。
【0039】次に、<アドレステーブルポインタ修正処
理>について説明する。 #1:WEFデータエリア開始アドレス+管理領域バイ
ト数−2で指し示す内容を移動前WEF先頭アドレスと
して取得する。 #2:移動前WEF先頭アドレス−WEF消去サイズに
よって得た値を「移動後差分アドレス」として保存す
る。 #3:アドレステーブルポインタ+1を修正アドレスと
してRAM14に保存する。 #4:現在のレコード数を保存し、0のときに処理を終
了する。 #5:修正アドレスを含むページを読み込みページデー
タとして保持する。 #6:修正アドレスを32で割った余りを‘ページ位
置’として保持する。 #7:修正アドレスより2バイトを読み込む。 #8:読み込んだデータを移動した後に、差分アドレス
を修正データとして保持する。 #9:修正データ上位をページデータの‘ページ位置’
番目にセットする。 #10:‘ページ位置’に1加算し、32のときに、1
ページの書き戻しを行い、‘ページ位置’を0クリア
し、次ページの読み込みを行う。 #11:修正データの下位をページデータの‘ページ位
置’番目にセットする。 #12:‘ページ位置’に1加算し、32のときに、1
ページの書き戻しを行い、‘ページ位置’を0クリアす
る。 #13:現在のレコード数より1減算し、0のときに処
理を終了する。
【0040】次に、<アドレステーブルポインタCRC
修正処理>について説明する。 #1:ファイル最終アドレスを保持し、レコード登録個
数を取得する。 #2:レコード登録個数0のときに、処理を終了する。 #3:保持したアドレスにより2減算する。 #4:CRCチェック実行し、実行結果を保持する。 #5:レコード登録数を1減算する。 #6:‘#2:’へ戻る。
【0041】[サイズ拡大の場合]図7は、ファイルの
データ部分書き換え(拡大バイト分広げる)を説明する
図である。 #1:CRT−DPをターゲットとしてセットする。 #2:ターゲットアドレスに32加算する。 #3:ターゲットアドレスがファイル拡大をするDIR
と同じアドレスのときに終了する。 #4:ターゲットとなったDIRがWEF以外のときに
‘#2:’へ戻る。 #5:ターゲットとなったDIRのデータ部分を拡大バ
イト分だけ「アドレス上位方向」ヘ移動する。 #6:‘#2:’ヘ戻る。
【0042】移動済WEF−DIRの内容修正処理は、
以下の通りである。 #1:拡大対象ファイルのDIRアドレスをターゲット
としてセットする。 #2:ターゲットアドレスより32減算する。 #3:ターゲットアドレスがCRT−DPと同じときに
終了する。 #4:ターゲットとなったDIRがWEF以外のときに
‘#2:’へ戻る。 #5:DIRの管理領域内バイト数、書込み可能最終ア
ドレス、アドレステーブルポインタ、WEFエリア開始
アドレスを拡大した分だけ加算した値に書き換える。 #6:‘#2:’へ戻る。
【0043】図8は、CRT−APの変更を説明する図
である。 #1:CRT−APより拡大した分だけ加算した値に書
き換える。
【0044】図9は、サイズ変更ファイルの格納領域の
内容変更について説明する図である。 #1:拡大を行うWEFが可変長のときに、<アドレス
テーブルポインタ移動処理>を実行する。拡大を行うW
EFが可変長以外のときに、拡大を行うWEF−DIR
のWEF開始アドレス+管理領域内バイト数を先頭にF
Fhを書き込む。拡大を行うWEFが可変長以外のとき
には、 #2:拡大を行うWEF−DIRの管理領域内バイト
数、書込み可能最終アドレス、アドレステーブルポイン
タを拡大分加算した値に書き換える。
【0045】次に、WEFリニア可変長「アドレステー
ブルポインタ」とCRCの書き換えについて説明する。 #1:拡大を行うWEF−DIRチェック用DIRとし
てセットする。 #2:チェック用DIRより32減算する。 #3:チェック用DIRがCRT−DPと同じときに終
了する。 #4:チェック用DIRが「WEFリニア可変長」以外
のときに‘#2:’ヘ戻る。 #5:「移動後差分アドレス」として、拡大バイトをビ
ット反転して1を加えたもの(上位方向ヘファイル移動
したために)をセットして<アドレステーブルポインタ
修正処理>の#3:以降を実行する。 #6:<アドレステーブルポインタCRC修正処理>を
実行する。 #7:‘#2:’ヘ戻る。
【0046】ここで、WEFがローテーション済循環順
編成ファイルの場合を説明する。レコードの格納順序を
保持するために、サイズ増加の際に、以下の処理を行
う。並び変え不要チェックは、ライトアペンドポインタ
の示すアドレスがサイズ増加前のファイルエンドを超え
ているときに、ローテーション済フラグを消去して、処
理を終了する。
【0047】図10は、データ並び変え処理を示す流れ
図である。データ並び変え処理は、以下の手順に従い行
われる。 S901:ライトアペンドポインタまでのレコード数を
計算し、その値を変数Aに代入する。 S902:操作開始レコードは、物理番号Aのレコード
とする。 S903:変数X、Yを用意する。 S904:変数XにAを代入する。 S905:変数Xに基づいて関数Funcの計算を行
い、その結果を変数Yに代入する。関数Funcの処理
内容については、後述する。 S906:物理レコードAと物理レコードYを入れ替え
る。 S907:変数Yを変数Xに代入する。 S908:以上の処理がレコード数分行われたか否かが
判断され、レコード数分行われていないときはS905
に戻り、レコード数分行われている場合には処理を終了
する。
【0048】次に、S905の関数Funcの計算内容
を説明する。 S9051:変数AがX以上であるか否かを判断し、以
上である場合はS9052の処理を、以上でない場合に
はS9053の処理を実行する。 S9052:変数Yに変数X及び全レコード数を加算
し、さらに変数Aを減算する。 S9053:変数Yに変数Xを加算し、さらに変数Aを
減算する。
【0049】<アドレステーブルポインタ移動処理>
は、以下の通りである。移動元、移動先アドレス、移動
バイト数を取得し、(移動元)<(移動先)のときに、
最終データより移動する。 #1:移動先アドレス+移動バイト数−1を移動先アド
レス、移動元アドレス+移動バイト数−1を移動元アド
レスとする。 #2:移動先アドレスを含むぺージを読み込む。 #3:移動先アドレス÷32をカウンタとしてセットす
る。 #4:読み込んだデータのカウンタ番目に、移動元アド
レスの内容をセットする。 #5:カウンタが0でないときに‘#8:’へ進む。 #6:セットしたぺージデータをEEPROM15へ書
き戻す。 #7:1ページ前を読み込み、カウンタに32をセット
する。 #8:カウンタ、移動元アドレス、移動バイト数を1減
算する。 #9:移動バイト数が0のときに、セットしたぺージデ
ータをEEPROM15へ書き戻して、処理を終了す
る。 #10:‘#4:’ヘ戻る。
【0050】(移動元)>(移動先)のときに、先頭デ
ータより移動する。 #1:移動先アドレスを含むぺージを読み込み。 #2:移動先アドレス÷32をカウンタとしてセットす
る。 #3:読み込んだデータのカウンタ番目に、移動元アド
レスの内容をセットする。 #4:カウンタが31でないときに‘#7:’へ進む。 #5:セットしたぺージデータをEEPROM15へ書
き戻す。 #6:1ページ後を読み込み、カウンタに0をセット。 #7:カウンタ、移動元アドレス、移動バイト数を1加
算する。 #8:移動バイト数を1減算する。 #9:移動バイト数が0のときに、セットしたぺージデ
ータをEEPROM15へ書き戻して、処理を終了す
る。 #10:‘#3:’ヘ戻る。
【0051】
【発明の効果】以上詳しく説明したように、請求項1又
は請求項2に係る発明によれば、セキュリティーを維持
しつつ、選択されたファイルの容量を変更することが可
能である。請求項3に係る発明によれば、ファイルの有
する有効な情報の容量を誤認し、その容量以下にファイ
ルの容量を縮小することにより、ファイル内の情報が失
われることが防止される。
【0052】請求項4に係る発明によれば、親ファイル
が管理する領域を越えてファイルの容量を拡大し、その
結果、他のファイルの有する情報が失われるという事態
が防止される。請求項5又は請求項6に係る発明によれ
ば、ファイルの容量を縮小又は拡大しても、親ファイル
の空き容量が正確に管理される。
【0053】請求項7に係る発明によれば、ファイルの
容量を縮小した結果、その配下にあるファイルの有する
情報が失われるという事態が防止される。請求項8に係
る発明によれば、ファイルのデータ領域を縮小しても、
データ領域の間で空き領域が生じることはない。また、
データ領域を拡大しても、他のデータ領域の有する情報
が失われることはなく、かつ、データ領域の間で空き領
域が生じることもない。つまり、メモリを最大限有効に
利用し、かつ、情報を消失することなく、データ領域を
縮小又は拡大することが可能である。
【0054】請求項9に係る発明によれば、移動手段
は、最終データ位置記憶手段の記憶する情報に基づいて
特定される位置までに存在するデータ領域を移動するの
で、ファイルのデータ部が格納されていない領域のデー
タを移動する不都合が回避される。請求項10に係る発
明によれば、容量変更手段は、位置情報記憶部の内容を
指定容量に基づいて変更するので、データ領域が縮小又
は拡大された後にも、前記位置記憶部の内容は適切なも
のに維持される。請求項11に係る発明によれば、移動
手段は、位置情報記憶部の内容を指定容量に基づいて変
更するので、データ領域が移動された後にも、前記位置
情報記憶部の内容は適切なものに維持される。
【0055】請求項12又は請求項14に係る発明によ
れば、可変長レコード構造のファイルにおいて、データ
領域に格納されている各レコードのアドレス情報は、指
定容量に基づいて変更されるので、上記アドレス情報
は、データ領域が縮小若しくは拡大又は移動された後も
適正な値を有する。
【0056】請求項13又は請求項15に係る発明によ
れば、可変長レコード構造のファイルにおいて、そのア
ドレス情報が変更された場合は、変更後のアドレス情報
に基づいてデータ領域に格納されている誤り検出符号も
変更されるので、データ領域が縮小若しくは拡大又は移
動された後も誤り検出符号が適正な値を有する。
【0057】
【図面の簡単な説明】
【図1】CHANGE−SIZEのコマンドAPDUを
示す図である。
【図2】CHANGE−SIZEコマンドを処理するI
Cカード10の動作を示す流れ図である。
【図3】DFのサイズ変更を説明する図である。
【図4】ファイルのデータ部分書き換え(縮小バイト分
詰める)についての説明図である。
【図5】不要部分FFhクリアを説明する図である。
【図6】CRT−APの変更を説明する図である。
【図7】ファイルのデータ部分書き換え(拡大バイト分
広げる)についての説明図である。
【図8】CRT−APの変更を説明する図である。
【図9】サイズ変更ファイルの格納領域の内容変更につ
いての説明図である。
【図10】データ並び変え処理を示す流れ図である。
【図11】従来のICカードの構成、及びそのICカー
ドとリーダライタ装置との接続関係を示すブロック図で
ある。
【図12】EEPROM15内のファイル構成を示す図
である。
【図13】EEPROMにおけるファイル格納イメージ
の一例を示す図である。
【図14】EEPROMにおけるファイル格納イメージ
の一例であって、図13に示すものと異なるものを示す
図である。
【符号の説明】
11 I/Oインタフェース 12 CPU 13 ROM 14 RAM 15 EEPROM 20 リーダライタ装置

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 カレントファイルのファイルサイズを変
    更することができることを特徴とするICカード。
  2. 【請求項2】 1又は2以上のファイルを格納可能なメ
    モリを有するICカードにおいて、 外部からの命令により前記ファイルの1つを選択する選
    択手段と、 外部から指定された指定容量だけ前記選択手段により選
    択されているファイルの容量を縮小又は拡大の一方又は
    双方を行う容量変更手段とを有することを特徴とするI
    Cカード。
  3. 【請求項3】 請求項2に記載のICカードにおいて、 前記選択されているファイルが正常な状態で情報を記憶
    しているか否かを検査し、前記情報が正常な状態で記憶
    されていない場合に、前記容量変更手段が前記ファイル
    の容量を縮小することを許可しない記憶状態検査手段を
    有することを特徴とするICカード。
  4. 【請求項4】 請求項2又は請求項3に記載のICカー
    ドにおいて、 前記指定容量が、前記選択されているファイルを配下に
    有する親ファイルの空き容量より大である場合に、前記
    容量変更手段が前記選択されているファイルを拡大する
    ことを許可しない拡大制限手段を有することを特徴とす
    るICカード。
  5. 【請求項5】 請求項2から請求項4までのいずれか1
    項に記載のICカードにおいて、 前記ファイルは、自己の空き容量を記憶する空き容量記
    憶部を有し、 前記容量変更手段は、前記選択されているファイルを配
    下に有する親ファイルの前記空き容量記憶部の内容を、
    前記指定容量に基づいて変更することを特徴とするIC
    カード。
  6. 【請求項6】 請求項5に記載のICカードにおいて、 前記ファイルには、前記親ファイルの空き容量を自己の
    空き容量とする容量親依存ファイルがあり、 前記容量変更手段は、前記空き容量記憶部の内容を変更
    しようとする前記親ファイルが前記容量親依存ファイル
    である場合は、前記親ファイルの上位階層にある前記親
    ファイルの前記空き容量記憶部の内容を変更することを
    特徴とするICカード。
  7. 【請求項7】 請求項2から請求項6までのいずれか1
    項に記載のICカードにおいて、 前記選択されているファイルの容量から、前記指定容量
    を減算した値が、前記選択されているファイルが配下に
    有する他のファイルの総容量より小となる場合に、前記
    容量変更手段が前記選択されているファイルの容量を縮
    小することを許可しない親ファイル変更制限手段を有す
    ることを特徴とするICカード。
  8. 【請求項8】 請求項2から請求項7までのいずれか1
    項に記載のICカードにおいて、 前記ファイルが有するデータ領域を移動する移動手段を
    有し、 前記ファイルのディレクトリ領域は、前記メモリの一方
    の端部から未使用な領域が存在しないように順に格納さ
    れ、前記ファイルのデータ領域は、前記メモリの他方の
    端部から未使用な領域が存在しないように順に格納され
    ており、 前記容量変更手段は、前記選択されているファイルがデ
    ータ領域を有するファイルである場合は、前記データ領
    域を前記指定容量だけ縮小又は拡大し、 前記移動手段は、前記容量変更手段により縮小されたデ
    ータ領域より前記メモリの一方の端部側に他の前記デー
    タ領域が存在する場合は、前記メモリの他方の端部側へ
    前記指定容量だけ前記他のデータ領域を移動させる、又
    は、前記容量変更手段により拡大されるべきデータ領域
    より前記メモリの一方の端部側に他の前記データ領域が
    存在する場合は、前記メモリの一方の端部側へ、前記指
    定容量だけ前記他のデータ領域を移動させることを特徴
    とするICカード。
  9. 【請求項9】 請求項8に記載のICカードにおいて、 前記データ領域のうち、前記メモリの一方の端部に最も
    近い位置に格納されているものの位置に関する情報を記
    憶する最終データ位置記憶手段を有し、 前記移動手段は、前記選択されているファイルのデータ
    領域の位置から、前記最終データ位置記憶手段の記憶す
    る情報に基づいて特定される位置までに存在する前記デ
    ータ領域を移動することを特徴とするICカード。
  10. 【請求項10】 請求項2から請求項9までのいずれか
    1項に記載のICカードにおいて、 前記ファイルは、前記データ領域が占有するメモリ領域
    の位置に関する情報を記憶する位置情報記憶部を有し、 前記容量変更手段は、前記選択されているファイルの前
    記位置情報記憶部の内容を、前記指定容量に基づいて、
    縮小又は拡大した後の前記選択されているファイルのデ
    ータ領域に対応する内容に変更することを特徴とするI
    Cカード。
  11. 【請求項11】 請求項8又は請求項9に記載のICカ
    ードにおいて、 前記ファイルは、前記データ領域が占有するメモリ領域
    の位置に関する情報を記憶する位置情報記憶部を有し、 前記移動手段は、前記データ部を移動したファイルの前
    記位置情報記憶部の内容を、前記指定容量に基づいて、
    移動した後の前記データ領域に対応する内容に変更する
    ことを特徴とするICカード。
  12. 【請求項12】 請求項2から請求項11までのいずれ
    か1項に記載のICカードにおいて、 前記容量変更手段は、前記選択されているファイルが可
    変長レコード構造のファイルである場合に、前記ファイ
    ルのデータ領域に格納されている、各レコードについて
    のアドレス情報を、前記指定容量に基づいて、前記デー
    タ領域が縮小又は拡大された後の前記各レコードのアド
    レスに変更することを特徴とするICカード。
  13. 【請求項13】 請求項12に記載のICカードにおい
    て、 前記容量変更手段は、前記アドレス情報を変更した場合
    に、変更後の前記アドレス情報に基づいて、前記データ
    領域に格納されている誤り検出符号を変更することを特
    徴とするICカード。
  14. 【請求項14】 請求項8から請求項13までのいずれ
    か1項に記載のICカードにおいて、 前記移動手段は、移動する前記ファイルが可変長レコー
    ド構造のファイルである場合に、前記ファイルのデータ
    領域に格納されている、各レコードについてのアドレス
    情報を、前記指定容量に基づいて、前記データ領域が移
    動された後の前記各レコードのアドレスに変更すること
    を特徴とするICカード。
  15. 【請求項15】 請求項14に記載のICカードにおい
    て、 前記移動手段は、前記アドレス情報を変更した場合に、
    変更後の前記アドレス情報に基づいて、前記データ領域
    に格納されている誤り検出符号を変更することを特徴と
    するICカード。
JP8322692A 1995-12-22 1996-12-03 Icカード Pending JPH09231111A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8322692A JPH09231111A (ja) 1995-12-22 1996-12-03 Icカード

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP7-335509 1995-12-22
JP33550995 1995-12-22
JP8322692A JPH09231111A (ja) 1995-12-22 1996-12-03 Icカード

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007219026A Division JP2008016050A (ja) 1995-12-22 2007-08-24 Icカード

Publications (1)

Publication Number Publication Date
JPH09231111A true JPH09231111A (ja) 1997-09-05

Family

ID=26570902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8322692A Pending JPH09231111A (ja) 1995-12-22 1996-12-03 Icカード

Country Status (1)

Country Link
JP (1) JPH09231111A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006501555A (ja) * 2002-10-04 2006-01-12 オベルトゥル カード システムズ ソシエテ アノニム カスタマイズの後に性能を変更可能なマイクロ回路カード

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006501555A (ja) * 2002-10-04 2006-01-12 オベルトゥル カード システムズ ソシエテ アノニム カスタマイズの後に性能を変更可能なマイクロ回路カード
JP4718180B2 (ja) * 2002-10-04 2011-07-06 オベルトゥル テクノロジ カスタマイズの後に性能を変更可能なマイクロ回路カード

Similar Documents

Publication Publication Date Title
US7529882B2 (en) Dynamic volume management for flash memories
US7480775B2 (en) Method and apparatus for block-oriented memory management provided in smart card controllers
US6612490B1 (en) Extended card file system
US7493442B2 (en) Multiple segment data object management
US5682497A (en) Managing file structures for a flash memory file system in a computer
US6587915B1 (en) Flash memory having data blocks, spare blocks, a map block and a header block and a method for controlling the same
JP3215237B2 (ja) 記憶装置および記憶装置の書き込み/消去方法
EP0544252A2 (en) Data management system for programming-limited type semiconductor memory and IC memory card having the data management system
US6938140B2 (en) System and method for linear object reallocation in place
US6928531B2 (en) Linear and non-linear object management
JP3445304B2 (ja) ファイル管理装置
KR100703680B1 (ko) 플래시 파일 시스템
KR100749971B1 (ko) 고속 데이터 액세스를 유지하면서 ram 크기를감소시키는 방법 및 장치
US7167964B1 (en) Memory defragmentation in chipcards
JPH09231111A (ja) Icカード
CN110471626B (zh) 应用于Java Card的Nor Flash管理层及方法
JP2008016050A (ja) Icカード
JP3801176B2 (ja) メモリ制御方法、記憶装置、制御プログラムおよび可読記録媒体
JPH09231110A (ja) Icカード
CN100392765C (zh) 数据的安全写入
CN108415852B (zh) 一种Flash存储器的数据存取方法
JP3471838B2 (ja) 循環順編成ファイルの管理方法
JPH089795Y2 (ja) Icカード
JP2002222120A (ja) メモリ・アクセス管理装置並びに管理方法
JPH0827824B2 (ja) Icカ−ド

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070511

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070824

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070905

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20071005