(57)【特許請求の範囲】
【請求項１】
演算装置、主メモリ、読み出し専用メモリ、不揮発性メモリを有し、初期化命令により不揮発性メモリへ展開して書き込むためのアプリケーション用ファイルレイアウトデータ及び少なくともファイルエリアの最後のアドレスを示すポインタを含むＯＳ用データを読み出し専用メモリに格納し、初期化命令で前記アプリケーション用ファイルレイアウトデータ及び前記ＯＳ用データを不揮発性メモリへ展開するようにしたＩＣカードであって、
初期化命令にはチェックコードが付されており、初期化命令で前記アプリケーション用ファイルレイアウトデータ及び前記ＯＳ用データを不揮発性メモリへ展開した後、全領域について計算したチェックコードと照合するようにしたことを特徴とするＩＣカード。
【請求項２】
演算装置、主メモリ、読み出し専用メモリ、不揮発性メモリを有し、初期化命令により不揮発性メモリへ展開して書き込むためのアプリケーション用ファイルレイアウトデータ及び少なくともファイルエリアの最後のアドレスを示すポインタを含むＯＳ用データを読み出し専用メモリに格納し、初期化命令で前記アプリケーション用ファイルレイアウトデータ及び前記ＯＳ用データを不揮発性メモリへ展開するようにしたＩＣカードであって、
初期化命令にはチェックコードが付されており、初期化命令で前記アプリケーション用ファイルレイアウトデータ及び前記ＯＳ用データを不揮発性メモリへ展開した後、予め不揮発性メモリに格納されているチェックコードと照合するようにしたことを特徴とするＩＣカード。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＥＥＰＲＯＭ（Electrically Erasable and Programable Read Only Memory）を有するＩＣカードに係り、特に初期化命令によりファイルレイアウトやシステム用データを書き込めるようにしたＩＣカードに関する。
【０００２】
【従来の技術】
図５に示すように、リーダ／ライタ１はＩＣカード２に対してコマンド（命令）を送信し、これを受信したＩＣカードは、コマンドを解釈して書き込み／読み出し等の処理を実行し、処理結果をレスポンスとしてリーダ／ライタ１へ返すようになっている。
【０００３】
図６に示すように、ＩＣカード２は、ＣＰＵ２ａ、ＲＡＭ２ｂ、ＲＯＭ２ｃ、ＥＥＰＲＯＭ２ｄを有しており、ＲＯＭ２ｃに記憶されているプログラムをＣＰＵ２ａに読み込み、リーダ／ライタ１から送信されるコマンドをＩ／Ｏポートを通して受信すると、コマンドとともに送信されたデータを読み込んで必要な処理を行い、結果をＥＥＰＲＯＭ２ｄの所定のファイルエリアに書き込み、Ｉ／Ｏポートを通してレスポンスを出力する。
【０００４】
図７はアプリケーションプログラム用領域とオペレーティング・システム（ＯＳ）用領域からなるＥＥＰＲＯＭ３を示したもので、アプリケーション領域の先頭アドレスから、アプリケーションＡ、Ｂ、Ｃのファイルをこの順で割り当てるときに、同時に、ファイルエリアの割当て順に、アプリケーション領域の最後から先頭に向かってＡディレクトリ、Ｂディレクトリ、Ｃディレクトリが形成される。ディレクトリはファイルの制御情報であり、図８に示すように、ファイルを識別するためのファイルＩＤ、ファイルが記憶される先頭アドレス、エリア容量、属性情報（リード／ライトのアクセス権（キー）の情報）、チェックコードからなっている。
【０００５】
図７において、アプリケーションの領域に続いたＯＳ用領域には、ディレクトリに示された先頭アドレスとエリア容量から、割り当てられたファイルエリアの最後のアドレスを示すポインタ、積み上げられた最後のディレクトリを示すポインタ等のＯＳが使うデータがセットされる。ポインタＰ、Ｐ′の間の領域がさらに割り当て可能なメモリ領域である。
【０００６】
リーダ／ライタからのコマンドは、図９に示すように、コマンドの分類（ＣＬＡ）、命令（ＩＮＳ）、パラメータＰ１、Ｐ２にデータ長Ｌｃおよびデータ部（ファイルＩＤ、エリア容量、属性情報）が付加されたものであり、ファイルの割り当ては、クリエイト・ファイル命令で行われる。
図１０はＩＣカードにおけるＥＥＰＲＯＭ内のファイル構造を説明する図である。ＭＦ（Ｍａｓｔｅｒ  Ｆｉｌｅ）はデータメモリ全体のファイルを意味するファイルである。ＭＦの下に並べられるＤＦ（Ｄｅｄｉｃａｔｅｄ  Ｆｉｌｅ）は専用のファイルであり、またＤＦの下にも他のＤＦが並べられるような階層構造となっている。ＭＦ、ＤＦには基礎ファイルにデータが格納されるようになっている。このような階層構造のファイルレイアイトの作成について図１１により説明する。
【０００７】
図１１は端末側とＩＣカード側との間の伝送線上のコマンド／レスポンスの例を示す図である。
ＭＦが選択されたとする（ポインタがＭＦにある）と、端末側から専用ファイルＤＦを作成するためのクリエイトＤＦ命令が送信され、これをＩＣカード側で正常に受信処理したことがレスポンスとして返されると、順次、クリエイトＤＦ命令が送信されてＤＦファイルが作成されていく。
【０００８】
次に、専用ファイルにデータを作成していく場合、目的とする専用ファイルＤＦｎを選択するセレクトＤＦｎ命令を送り、ＩＣカード側で正常に受信処理したことがレスポンスとして返されると、順次クリエイトデータ１、クリエイトデータ２のように命令を送って、専用ファイルＤＦｎの基礎ファイルにデータが格納されていく。
上記の例はアプリケーション領域についての説明であるが、ＯＳが管理する領域についても、製造者用コマンドを用いて同様にデータを作成していく。
【０００９】
【発明が解決しようとする課題】
このように従来のファイル作成処理は、ファイルを作成する命令を１ファイルづつＩＣカードに送ることと、レスポンスを得る動作を繰り返すため、通信に非常に時間がかかり、また、外部から伝送線を通してファイルの情報を与えなければならないため、コマンドのシーケンスが伝送線上で分かってしまい、内部に作成されるファイル構造が漏れてしまう問題があり、セキュリティ上問題となっていた。また、ＯＳ用のデータの書き込みについても、一度に書き込めるデータ量が、例えば３２バイトのように決まっているため、１Ｋバイトのデータを書き込むためには、３２回データの書き込みを行う必要があり、通信に時間がかかるとともに、セキュリティ上問題があった。
本発明は上記課題を解決すためのもので、ファイルレイアウトの作成、ＯＳ用データの書き込み等の初期化処理を高速化し、かつセキュリティの向上を図ることを目的とする。
【００１０】
【課題を解決するための手段】
本発明は、演算装置、主メモリ、読み出し専用メモリ、不揮発性メモリを有し、初期化命令により不揮発性メモリへ展開して書き込むためのアプリケーション用ファイルレイアウトデータ及び少なくともファイルエリアの最後のアドレスを示すポインタを含むＯＳ用データを読み出し専用メモリに格納し、初期化命令で前記アプリケーション用ファイルレイアウトデータ及び前記ＯＳ用データを不揮発性メモリへ展開するようにしたＩＣカードであって、初期化命令にはチェックコードが付されており、初期化命令で前記アプリケーション用ファイルレイアウトデータ及び前記ＯＳ用データを不揮発性メモリへ展開した後、全領域について計算したチェックコードと照合するようにしたことを特徴とする。
また、本発明は、演算装置、主メモリ、読み出し専用メモリ、不揮発性メモリを有し、初期化命令により不揮発性メモリへ展開して書き込むためのアプリケーション用ファイルレイアウトデータ及び少なくともファイルエリアの最後のアドレスを示すポインタを含むＯＳ用データを読み出し専用メモリに格納し、初期化命令で前記アプリケーション用ファイルレイアウトデータ及び前記ＯＳ用データを不揮発性メモリへ展開するようにしたＩＣカードであって、初期化命令にはチェックコードが付されており、初期化命令で前記アプリケーション用ファイルレイアウトデータ及び前記ＯＳ用データを不揮発性メモリへ展開した後、予め不揮発性メモリに格納されているチェックコードと照合するようにしたことを特徴とする。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。以下において、ＩＣカードは図５〜図１１に示した構造、コマンドを有しているが、本発明においてはさらにファイルレイアウトデータ、ポインタ等のＯＳ用データをＲＯＭにもっておき、これを初期化コマンドによりＥＥＰＲＯＭへ展開して書き込む機能を付加したものである。
図１は本発明のイニシャライズ処理を説明する図、図２はファイルレイアウトを行うためのイニシャライズコマンドの例を説明する図、図３はイニシャライズコマンドによるファイルレイアウト処理の内容を説明する図、図４は本発明のイニシャライズコマンドを固定情報のみに適用する例を示す図である。
【００１２】
図１において、例えば、３２ＫＢＲＯＭ内の１６ＫＢがプログラム領域で、残り１６ＫＢが余っている場合、これを初期化データ領域としてファイルレイアウト情報、ＯＳ用データ等を予め作成して格納しておく。工場出荷の段階でＥＥＰＲＯＭ内にファイルレイアウト、ＯＳ用データを書き込む場合、新たに付加したイニシャライズコマンドによりＲＯＭに格納されているファイルレイアウトデータ、ＯＳ用データ等の初期化データをＥＥＰＲＯＭ内に複写する。この複写により、図７に説明したように、アプリケーション領域に順次ＤＦとデータが書き込まれ、同時にそのディレクトリーが書き込まれていくとともに、ＯＳが管理する領域にもポインタ等のデータが書き込まれていき初期化が完了する。
【００１３】
各アプリケーションにおいて、ファイルの入れ物自体は可変の部分が少なく、またＯＳ用データも同様であるので、この部分についてファイルレイアウトデータ、ＯＳ用データとして予め書き換え不可能なＲＯＭに格納しておき、イニシャライズコマンドによりＲＯＭ内のファイルレイアウトデータ、ＯＳ用データをＥＥＰＲＯＭ内に複写するだけで初期化処理が終了するので、端末側からＩＣカードへ送られるのは１コマンドのみであり、通信のオーバーヘッドを含むことなく、高速な処理が可能となる。さらに、ＲＯＭ内部にファイル情報データ、ＯＳ用データを格納しているため、セキュリティを非常に高めることが可能となる。
【００１５】
図２は本発明で使用するイニシャライズコマンドの例である。コマンドの分類を示すＣＬＡ、命令コードであるＩＮＳ、パラメータＰ１，Ｐ２、ＲＯＭ内の読み出すべき先頭アドレス、読み出すべきデータの長さを示すＬＥＮ、データからなっている。さらにチェックコードを付加し、ＲＯＭからファイルレイアウトデータ、ＯＳ用データを読み出してＥＥＰＲＯＭに書き込んだときの照合を行えるようにしても良い。例えば、イニシャライズコマンドでＲＯＭからファイルレイアウトデータ、ＯＳ用データを読みだしてＥＥＰＲＯＭに展開した後、全領域についてのチェックコードを端末側あるいはＩＣカード側で計算し、イニシャライズコマンドに付されているチェックコードと照合することにより行う。また、上記したような計算により得られるチェックコードをあらかじめＲＯＭ内に格納しておき、イニシャライズコマンドのチェックコードとの照合を行うようにしてもよい。
【００１６】
次に、従来から使用されているイニシャライズコマンドとの関係について、ファイルレイアウトを例にして説明する。
ＩＣカードがもっている従来のイニシャライズコマンドをＩＮ１とすると、これは図３（ａ）に示すように、ファイルレイアウトについてはマスターファイル（ＭＦ）以外を全て消去するものである。一方、本発明で付加したイニシャライズコマンドをＩＮ２とすると、これは、ファイルレイアウトについては図３（ｂ）に示すように、マスターファイルＭＦ、専用ファイルＤＦ、データ等の階層構造を１コマンドで作成する機能を有するものである。このようなイニシャライズコマンドＩＮ１，ＩＮ２を使い分けることにより、適宜ファイル作成を行うことができる。
【００１７】
また、図４に示すように、ＲＯＭにはファイルレイアウトデータとしては固定情報のみ書き込んでおき、ＩＮ２を使用して１コマンドで読みだしてＥＥＰＲＯＭにレイアウトし、個人情報のような可変情報については従来のファイル作成コマンドを１つづつに送って、ファイルレイアウトを行うようにしてもよい。
【００１８】
【発明の効果】
本願発明によれば、１つのイニシャライズコマンドでファイルレイアウトデータ及びＯＳ用データの書き込み処理が行えるので、通信のオーバーヘッドを含まず、高速の処理が可能となり、さらにＲＯＭ内部にファイルレイアウトデータ、ＯＳ用データを格納しているため、伝送線上にその内容が現れることがなく、セキュリティを格段に高めることが可能となる。
【図面の簡単な説明】
【図１】  本発明の初期化処理を説明する図である。
【図２】  イニシャライズコマンドを説明する図である。
【図３】  イニシャライズコマンドの内容を説明する図である。
【図４】  本発明のイニシャライズコマンドを個人情報以外のみに適用する例を示す図である。
【図５】  リーダ／ライタとＩＣカードの通信を説明する図である。
【図６】  ＩＣカードの構成を説明する図である。
【図７】  ＥＥＰＲＯＭの構成を説明する図である。
【図８】  ディレクトリの構成を説明する図である。
【図９】  コマンドの構成を説明する図である。
【図１０】  ＩＣカードにおけるＥＥＰＲＯＭ内のファイル構造を説明する図である。
【図１１】  端末側とＩＣカード側とのコマンドレスポンスの状態を示す図である。
【符号の説明】
１…リーダ／ライタ、２…ＩＣカード、３…ＥＥＰＲＯＭ、４…書き込みレジスタ。
【図１】
0003982777.tif 000002
【図２】
0003982777.tif 000003
【図３】
0003982777.tif 000004
【図４】
0003982777.tif 000005
【図５】
0003982777.tif 000006
【図６】
0003982777.tif 000007
【図７】
0003982777.tif 000008
【図８】
0003982777.tif 000009
【図９】
0003982777.tif 000010
【図１０】
0003982777.tif 000011
【図１１】
0003982777.tif 000012