(57)【要約】【課題】ＩＣカードの高機能化により処理に使用するデータ量が増え、ＥＥＰＲＯＭの容量を多く使用するようになり、ＥＥＰＲＯＭの容量が小さいチップでは全データが搭載できない場合が生じてきた。【解決手段】本発明は、データの書込みの際、自動的にデータを圧縮し、ＥＥＰＲＯＭに書込み、外部に読み出すときには自動的に解凍することにより、外部の端末に特別な処理をさせることがない上に、ＥＥＰＲＯＭの利用効率を向上させ、ＥＥＰＲＯＭの容量が小さなチップでも多数のアプリケーションを搭載することができる。【選択図】図３
2008243017.tif 000002
【特許請求の範囲】
【請求項１】
ＥＥＰＲＯＭと、外部からの要求により前記ＥＥＰＲＯＭの指定された領域に指定されたデータを書き込む手段とを備えるＩＣカードであって、
外部より書き込み要求があった場合に、指定されたＥＥＰＲＯＭの領域にデータを書き込む際、ＩＣカード内部で自動的に指定されたデータを圧縮する手段を備え、
前記圧縮手段により圧縮されたデータをＥＥＰＲＯＭの指定された領域に書き込むこと、
を特徴とするＩＣカード。
【請求項２】
ＥＥＰＲＯＭと、外部からの要求により前記ＥＥＰＲＯＭの指定された領域からデータを読み出す手段とを備えるＩＣカードであって、
外部からの読み出し要求があった場合に、指定された領域からデータを外部へ読み出す際、圧縮されて保存されていたデータをＩＣカード内部で自動的に解凍する手段を備え、
前記解凍手段により解凍されたデータを外部へ読み出すこと、
を特徴とするＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカードでデータを記憶するためのＥＥＰＲＯＭの容量を小さくするためのデータ保存方法を具備するＩＣカードに関する。
【背景技術】
【０００２】
ＩＣカードとは、クレジットカードサイズのカード媒体にＩＣチップを埋め込み、ＩＣチップのメモリにデータを記録できるカードである。
近年ＩＣカードはキャッシュカード、クレジットカードまたは電子マネーなどに幅広く応用されている。
【０００３】
ＩＣカードを使用する場合、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に保存されているアプリケーションが動作する際に保持することが必要なデータが存在する。それらデータはＩＣカードに埋め込まれたＩＣチップのＥＥＰＲＯＭに書き込まれる。
【０００４】
従来技術では、ＩＣチップに対して外部より書込みの要求があった場合、ＩＣチップのＣＰＵがＥＥＰＲＯＭにデータを書き込む。この際、ＣＰＵが書込み先の領域を指定し、圧縮をおこなわず、そのままの形式で書き込みを実施していた。
そのままの形式でＥＥＰＲＯＭに書き込んだデータを外部に読み出す場合には、解凍を行わずにそのままの形式でＣＰＵが読み出していた。
また、ＩＣチップ内のＥＥＰＲＯＭでデータを圧縮して保持する場合には、外部の端末が書き込むデータを事前に圧縮し、当該端末から圧縮した書き込みデータを送信し、そのデータをそのままＥＥＰＲＯＭにＣＰＵが書き込んでいた。圧縮してＥＥＰＲＯＭに書き込んだデータを読み出す場合には端末からの要求で指定のデータをそのままの形式で読み出し、端末がデータの解凍を行っていた。
【特許文献１】特開２０００−１３７７７６
【発明の開示】
【発明が解決しようとする課題】
【０００５】
１つのアプリケーションを搭載するような場合には1つのアプリケーションの処理に使用するデータのみを保持するだけで良いのでＥＥＰＲＯＭが不足するという問題は発生しない。
カードの高機能化している現在では１つのＩＣカードに複数のアプリケーションを搭載することはごく普通に行われるようになった。
複数のアプリケーションを搭載する場合、それぞれのアプリケーションが処理に使用するデータを保持する必要が生じる。
ＩＣカードの高機能化により処理に使用するデータ量が増え、ＥＥＰＲＯＭの容量を多く使用するようになり、これまで述べた従来の技術では、ＥＥＰＲＯＭの容量が小さいチップでには搭載できなくなってきた。
【０００６】
例えば、８ＫＢのＥＥＰＲＯＭを持つチップで、一つのアプリケーションが動作するためにデータとして２ＫＢのデータ領域を使用するアプリケーションを４つ搭載しいたとの要求があったとする。この場合、データとして使用する領域が８ＫＢとなり、ＯＳの管理領域やファイルの管理領域を保持することができず、４つのアプリケーションを搭載することができない。このような場合、ＥＥＰＲＯＭの容量が大きなチップを採用せざるおえなかった。
【０００７】
ＥＥＰＲＯＭの容量が大きなチップを使用することにより、要求されるアプリケーションが使用する必要があるデータ全てをＥＥＰＲＯＭに保存することができるが、チップの単価を上昇させる問題を発生させる結果となった。
【０００８】
そこで本発明は、データの書込みの際、自動的にデータを圧縮し、ＥＥＰＲＯＭに書込み、外部に読み出すときには自動的に解凍することにより、外部の端末に特別な処理をさせることがない上に、ＥＥＰＲＯＭの利用効率を向上させ、ＥＥＰＲＯＭの容量が小さなチップでも多数のアプリケーションを搭載することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決する第１の発明は、ＥＥＰＲＯＭと、外部からの要求により前記ＥＥＰＲＯＭの指定された領域に指定されたデータを書き込む手段とを備えるＩＣカードであって、外部より書き込み要求があった場合に、指定されたＥＥＰＲＯＭの領域にデータを書き込む際、ＩＣカード内部で自動的に指定されたデータを圧縮する手段を備え、前記圧縮手段により圧縮されたデータをＥＥＰＲＯＭの指定された領域に書き込むこと、を特徴とするＩＣカードである。
これにより、利用者は意識せずにＥＥＰＲＯＭへデータを圧縮して書き込むことができ、ＥＥＰＲＯＭ容量を削減することができる。
【００１０】
更に、第２の発明は、ＥＥＰＲＯＭと、外部からの要求により前記ＥＥＰＲＯＭの指定された領域からデータを読み出す手段とを備えるＩＣカードであって、外部からの読み出し要求があった場合に、指定された領域からデータを外部へ読み出す際、圧縮されて保存されていたデータをＩＣカード内部で自動的に解凍する手段を備え、前記解凍手段により解凍されたデータを外部へ読み出すこと、を特徴とするＩＣカードである。
これにより、利用者は意識せずにＥＥＰＲＯＭのからデータを解凍して読み出すことができる。
【発明の効果】
【００１１】
図２は従来技術によりＥＥＰＲＯＭにデータを書き込んだ場合のメモリマップと、本発明によりＥＥＰＲＯＭにデータを書き込んだ場合のメモリマップの対比するの図である。上述した本発明によれば、ＥＥＰＲＯＭにデータを書き込む場合に、ファイルのデータ領域に自動的に圧縮して保持させておき、外部に読み出す時に自動的にデータを解凍することにより外部からは通常の読み書きの動作と処理を変えることが無く、ＥＥＰＲＯＭの容量の使用を圧縮することができる。
【発明を実施するための最良の形態】
【００１２】
図を参照しながら本発明の実施の形態について詳細に説明する。
【００１３】
図１はＩＣカードに実装されるＩＣチップのハードウェア資源を示した図である。ＩＣカード１００には、演算機能およびＩＣチップが具備するデバイスを制御する機能を備えたＣＰＵ１０１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ１０２（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、電気的に書換え可能な不揮発性メモリとしてＥＥＰＲＯＭ１０４（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ１０３（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、および、外部の端末装置と通信するためのＩ／Ｏ回路１０５を少なくとも備なえている。
【００１４】
本実施形態では、ＩＣカード１００に実装されるＩＣチップの仕様をなんら限定するものではなく、ＩＣカード１００の用途に適した仕様のＩＣチップを選択することができる。
例えば、ＲＯＭ１０２およびＥＥＰＲＯＭ１０４の容量については限定しない。
またＩＣチップは乱数を生成する乱数生成回路、暗号演算回路等の図示していない他のデバイスを備えていても構わない。
【００１５】
図３は本実施形態でのＩＣカードのＲＯＭ及びＥＥＰＲＯＭのメモリマップを示した図である。ＩＣカード１００のＲＯＭには、ＯＳ３０１、通信制御モジュール３０２、暗号制御モジュール３０３、自動圧縮／解凍モジュール３０４、ＥＥＰＲＯＭ書込みモジュール３０５、搭載しているクレジット決済、キャッシュカード、ＥＴＣ等の各機能を実現するためのアプリケーションプログラムａ３０６〜アプリケーションプログラムｎ３０８とを備えている。
【００１６】
ＯＳ３０１はＩＣカード１００の基本的な動作を制御するために動作する。ＯＳにはファイルの生成、ファイルの書込み／更新、ファイルの読み出しなどＩＣカード内で共通に使用する共通コマンドを含んでいる。
【００１７】
通信制御モジュール３０２は外部のリーダライタを経由して端末との送受信を行うためのプロトコルの制御を行っている。
【００１８】
暗号制御モジュール３０３はＤＥＳ暗号方式やＲＳＡ暗号方式の暗号化／複号を行うための制御を行っている。
【００１９】
自動圧縮／解凍モジュール３０４はＥＥＰＲＯＭにデータを書き込む際に自動的にデータの圧縮を行っている。また、ＥＥＰＲＯＭよりデータを読み出す場合には自動的に解凍を行っている。
【００２０】
ＥＥＰＲＯＭ書込みモジュール３０５はＥＥＰＲＯＭを書き込む際の各種制御や書き込み中に電源断が発生した場合の復旧する処理を行っている。
【００２１】
各アプリケーションはクレジット決済、銀行のキャッシュカード、ＥＴＣ等の各機能を実現するために搭載されている。
アプリケーションを使用可能にした後にはそれぞれの機能を実現する。
アプリケーションを利用可能にするためには発行コマンドでアプリケーションのＤＦをＣＰＵが作成することにより行う。
【００２２】
各アプリケーションが使用するデータは自動圧縮／解凍モジュール３０４により自動的に圧縮して、ＥＥＰＲＯＭ書込みモジュールを用いてＥＥＰＲＯＭにＣＰＵが保存する。
【００２３】
今まで述べたように本実施形態においては、書き込むデータを自動的にＣＰＵが圧縮して保存し、読み出すデータは自動的にＣＰＵが解凍してＩ／Ｏ回路に出力している。
しかし、ＩＣカードの性質からして外部からのコマンドによらないとこれらの動作を行うことはできない。
以降に、前記動作を行うためのファイル生成、データ書込み／変更、データ読み出しの各コマンドの動作を記述する。
【００２４】
本実施形態による自動圧縮／解凍モジュールが動作してファイルに対して読み書きをＣＰＵが行う。そのためにはまず、ファイルを生成する必要がある。
図4は本実施形態におけるファイル生成手順を示したフロー図である。以降にファイル生成処理をフローチャートを使用して説明する。
【００２５】
ＩＣカード発行機等の端末から送信されたファイル生成コマンドをＩＣカードが受信する。
ＩＣカードでは、受信したコマンドのコマンドの分類、命令コードを参照し、受信したコマンドがファイル生成コマンドであるかどうかＣＰＵが判断を行う。
解析した結果がファイル生成コマンドであった場合には、ファイル生成コマンドの処理を開始する。（ステップＳ４０１）
【００２６】
ＩＣカードのファイル生成コマンドのデータエリアにはファイルを生成する際に必要となるファイルＩＤ、ファイルの構造、ファイルの容量等を指定するファイル生成情報を保持している。
データエリアに保持されているデータをＣＰＵは解析し、それを基にＥＥＰＲＯＭに書き込むためのファイル管理情報をＣＰＵが作成する。（ステップＳ４０２）
【００２７】
受信したデータエリア内の圧縮指定フラグがＯＮかＯＦＦをＣＰＵが判断する。（ステップＳ４０３）
圧縮指定がＯＦＦの場合には、ファイル生成情報で指定されたよう領域サイズ分ＥＥＰＲＯＭに領域をＣＰＵが確保する。（ステップＳ４０６）
その際、その領域の先頭アドレス、最終アドレスのポインタをＣＰＵがファイル管理情報に書き込む。
【００２８】
圧縮指定がＯＮの場合には、ＣＰＵがファイル管理情報の圧縮フラグをＯＮにする。（ステップＳ４０４）
【００２９】
ファイル生成情報で指定された領域サイズから圧縮率を考慮して全てのデータが保持できるサイズ分ＥＥＰＲＯＭに領域をＣＰＵが確保する。（ステップＳ４０５）
その際、その領域の先頭アドレス、最終アドレスのポインタをＣＰＵがファイル管理情報に書き込む。
作成したファイル管理情報をＥＥＰＲＯＭにＣＰＵが書き込む。（ステップＳ４０７）
【００３０】
図５は本実施形態におけるファイルへの書込み／変更を示したフロー図である。データ書込み／変更処理をフローチャートを使用して説明する。
【００３１】
ファイルにデータを書き込む／変更する場合、ＡＴＭ等の端末はＩＣカードに対してデータ書込み／変更コマンドを送信する。
ＡＴＭ等の端末から送信されたデータ書込み／変更コマンドをＩＣカードが受信する。
ＩＣカードでは、受信したコマンドのコマンドの分類、命令コードを参照し、受信したコマンドがデータ書込み／変更コマンドであるかどうかＣＰＵが判断を行う。
解析した結果がデータ書込み／変更コマンドであった場合には、ＣＰＵがデータ書込み／変更コマンドの処理を開始する。（ステップＳ５０１）
【００３２】
ＥＥＰＲＯＭに保持している書込み／変更対象ファイルのファイル管理情報の圧縮指定データをＣＰＵが参照する。（ステップＳ５０２）
【００３３】
圧縮指定がＯＦＦの場合には、コマンドで指定されたＥＥＰＲＯＭの領域にコマンドのデータエリアで指定したデータをＣＰＵがＥＥＰＲＯＭ書込みモジュールを使用して書込み／変更する。（ステップＳ５０８）
【００３４】
圧縮指定がＯＮの場合には、自動圧縮／解凍モジュールを使用して書込み／変更対象ファイルに圧縮されている書込みデータをＣＰＵが解凍する。ＣＰＵが解凍したデータをＲＡＭに保存する。（ステップＳ５０４）
【００３５】
コマンドで指定された解凍したデータ領域にコマンドのデータエリアで指定したデータをＣＰＵがＲＡＭ上で追加／置換を行う。（ステップＳ５０５）
ＲＡＭに保存されている追加／置換したデータをＣＰＵが再び自動圧縮／解凍モジュールを使用して圧縮する。（ステップＳ５０６）
【００３６】
コマンドで指定されたＥＥＰＲＯＭの領域にＥＥＰＲＯＭ書込みモジュールを使用してコマンドの追加／置換したデータをＣＰＵが書込み／変更する。（ステップＳ５０７）
【００３７】
図６は本実施形態におけるファイルからの読み出しを示したフロー図である。データの読み出しをフローチャートを使用して説明する。
【００３８】
ファイルにデータを読み出す場合、ＡＴＭ等の端末はＩＣカードに対してデータ読み出しコマンドを送信する。
ＡＴＭ等の端末から送信されたデータ読み出しコマンドをＩＣカードが受信する。
ＩＣカードでは、受信したコマンドのコマンドの分類、命令コードを参照し、受信したコマンドがデータ読み出しコマンドであるかどうか判断を行う。
解析した結果がデータ読み出しコマンドであった場合には、データ読み出しコマンドの処理を開始する。（ステップＳ６０１）
【００３９】
ＥＥＰＲＯＭに存在する読み出し対象ファイルのファイル管理情報に保持している圧縮指定データをＣＰＵが参照する。（ステップＳ６０２）
【００４０】
圧縮指定がＯＦＦの場合には、コマンドで指定されたＥＥＰＲＯＭの領域から指定されたデータ長分のデータをＣＰＵがＩ／Ｏ回路を経由して端末に出力する。（ステップＳ６０６）
【００４１】
圧縮指定がＯＮの場合には、自動圧縮／解凍モジュールを使用して圧縮されている読み出し対象ファイルのデータをＣＰＵが解凍する。ＣＰＵは解凍したデータファイル内のデータをＲＡＭに保存する。（ステップＳ６０４）
【００４２】
コマンドで指定されたＲＡＭの領域から指定されたデータ長分のデータをＣＰＵがＩ／Ｏ回路を経由して端末に出力する。（ステップＳ６０５）
【００４３】
以上のような実施形態でユーザは全く意識することなくＥＥＰＲＯＭ容量の削減を行うことができる。
【図面の簡単な説明】
【００４４】
【図１】ＩＣチップのハードウェア資源を示した図。
【図２】従来技術と本発明によるメモリマップの比較図。
【図３】本実施形態を実現する際のメモリマップ。
【図４】本実施形態によるファイル生成コマンドの処理フロー図。
【図５】本実施形態によるデータ書込み/変更コマンドの処理フロー図。
【図６】本実施形態による読み出しコマンドの処理フロー図。
【符号の説明】
【００４５】
１００  ＩＣカード
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ＥＥＰＲＯＭ
１０５  Ｉ／Ｏ回路
１０６  バス
２０１，２０３，２０５  従来技術によるファイルの管理情報
２０２，２０４，２０６  従来技術によるファイルのデータ領域
２０７，２０９，２１１  本発明によるファイルの管理情報
２０８，２１０，２１２  本発明によるファイルのデータ領域
３０１  ＯＳ
３０２  通信制御モジュール
３０３  暗号制御モジュール
３０４  自動圧縮／解凍モジュール
３０５  ＥＥＰＲＯＭ書込みモジュール
３０６〜３０８  アプリケーション
３０９  ＯＳの管理領域
３１０，３１２，３１４  ファイルの管理情報
３１１，３１３，３１５  ファイルのデータ領域
【図１】
2008243017.tif 000003
【図２】
2008243017.tif 000004
【図３】
2008243017.tif 000005
【図４】
2008243017.tif 000006
【図５】
2008243017.tif 000007
【図６】
2008243017.tif 000008