説明

ICカードおよびICカードにおけるファイル管理方法

【課題】トランスポートキーを上位者から下位者に渡した後、下位者が当該キーを変更しない限り、その効力が発揮されないようにすることができ、セキュリティ性に優れたICカードおよびICカードにおけるファイル管理方法を提供する。
【解決手段】ICカードにおいて、データメモリを複数のファイルに分割し、この分割した複数のファイルを、キーの照合をアクセスの条件としてそれぞれ管理するファイル管理方法において、キーが変更されたか否かを判断し、この判断によりキーが変更されていないと判断すると、このときキーの照合を行なった場合、アクセスの条件として満たされない状態とし、キーが変更されたと判断すると、このときキーの照合を行なった場合、アクセスの条件として満たされた状態とすることを特徴としている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、たとえば、不揮発性メモリ、および、これらを制御するCPUなどの制御素子を有するICチップを内蔵したICカード、および、このICカードにおいてメモリ内に分割設定される複数のファイルを管理するICカードにおけるファイル管理方法に関する。
【背景技術】
【0002】
最近、携帯可能なデータ記憶媒体として、不揮発性のデータメモリ、および、これらを制御するCPU(セントラル・プロセッシング・ユニット)などの制御素子を有するICチップを内蔵したICカードが注目されている。
【0003】
この種のICカードは、内蔵するデータメモリを複数のファイルに分割し、かつ、個々のファイルには、利用アプリケーションが運用時に必要なデータなどが格納されるようになっており、外部装置からアプリケーション識別名などを入力することにより、選択的に対応ファイルのみが使用可能な状態を実現するようになっている。このため、複数のアプリケーションデータをファイル分けし、1枚のICカードに格納することにより、多目的利用が可能なようになっている。
これらのアプリケーションファイルには、取引データなどのデータ格納のための複数のデータファイルと、キーデータ格納のためのキーファイルが所属できるようになっている。
【0004】
また、最近のICカードでは、各ファイルごとにアクセス条件と称する情報が付加されるようになっており、この情報により指示されているカード内のキーが照合されていることを条件に、コマンドアクセスの可否判定を行なうようになっている。
【0005】
ところで、このようなICカードが製造元からカード利用者にわたる過程において、カードの発行処理/カード内へのシステム基本情報格納など、種々の工程が想定される。このとき、それぞれ工程に関与している当事者も異なる場合が想定される。
【0006】
たとえば、前者がカード発行者(上位者)であり、後者がアプリケーション提供者(下位者)である。カード発行者がアプリケーション提供者にカードアクセスの権限を移行する場合、一般的には「トランスポートキー」と称する仮キーをICカードに設定し、アプリケーション提供者がこれを照合することにより、以降,アプリケーション提供者がICカードに対してのアクセスを行なえるようになる。
【0007】
このとき、トランスポートキーはカード発行者も既知としているので、アプリケーション提供者が自身のみにしか当該キーを知らないようにするために、一般的には、このトランスポートキーを照合することにより、これを書き換えることを行なう。
【0008】
なお、カード所有者により入力されたIPINが、カード製造工程で書込まれたIPINと一致した場合、PINを書込み、IPINを消去する技術は公知である(たとえば、特許文献1参照)。
すなわち、この公知技術は、キー照合が一致すると次のキー(下位者のキー)を書込んだ後に照合一致したキー(上位者のキー)を削除するものである。
【特許文献1】特開昭62−44869号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかし、上記した従来技術の問題点として、ICカード内のデータが改竄された場合などの問題解決に影響するものである。たとえば、ICカード内のアプリケーション利用の有効期限は、一般的にアプリケーション提供者のキーを照合することにより変更されることを考えると、仮に、このデータが改竄された場合には、アプリケーション提供者の責任が問われることになる。
【0010】
しかしながら、このアプリケーション提供者が前述したトランスポートキーを変更せずして利用していた場合には、カード発行者はアプリケーション提供者と同等の処理をなし得ることになる。すなわち、アプリケーション提供者の不注意に起因するものであるにもかかわらず、カード発行者も同時に疑いがかけられることになる。
【0011】
したがって、トランスポートキーを適用する本来の意図にある、「ICカードに対する管理権限の委譲」に反する結果となってしまう。
ただし、トランスポートキーの書換えを義務づけ、かつ、これをICカード内で一義的にチェックすることは、ICカードの利便性のみを要求するアプリケーションには不向きである。
【0012】
また、従来の公知技術では、単にキー照合が一致すると次のキーを書込んだ後に照合一致したキーを削除するものであるから、トランスポートキーを上位者から下位者に渡した後、下位者が当該キーを変更しない限り、その効力が発揮されないようにすることはできない。
【0013】
そこで、本発明は、トランスポートキーを上位者から下位者に渡した後、下位者が当該キーを変更しない限り、その効力が発揮されないようにすることができ、セキュリティ性に優れたICカードおよびICカードにおけるファイル管理方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明のICカードは、複数の記憶領域にキーデータおよびデータを記憶するための記憶手段と、初期キーデータを前記記憶手段に記憶された前記キーデータと比較することによって初期キーデータが変更されているかどうかを判定するための判定手段と、この判定手段により前記キーデータが変更されていないと判定されたときに前記複数の記憶領域においてデータが処理されるのを阻止するための阻止手段と、前記判定手段により前記キーデータが変更されていると判定されたときに特定のコマンドに応じて前記複数の記憶領域のデータを処理するための処理手段とを具備し、前記処理手段は、特定のコマンドに応じて前記複数の記憶領域のそれぞれにおいて前記キーデータのファイルを作成するためのファイル作成手段を含み、このファイル作成手段によるファイル作成は前記キーデータが変更される前に前記阻止手段によって阻止されることを特徴とする。
【0015】
また、本発明のICカードにおけるファイル管理方法は、少なくともメモリを有するICカードにおいて、前記メモリ内の複数のファイルへのアクセスを管理するファイル管理方法であって、前記メモリを使用するシステムの上位概念により前記ファイルの下位にあらかじめ設定されている第1キーを前記メモリを使用するシステムの下位概念により設定されている新しいキーと照合することによって前記ファイルへのアクセスを許可し、前記上位概念は、前記第1キーを前記第1キーの中に設定されたキー変更アクセス条件を参照して前記下位概念だけに知られている第2キーに変更し、かつ、前記第1キーが前記第2キーに変更されると前記上位概念が前記ファイルの下位におけるキーの作成を拒絶することを特徴とする。
【0016】
また、本発明のICカードにおけるファイル管理方法は、少なくともメモリを有するICカードにおいて、前記メモリ内の上位概念ファイルおよび下位概念ファイルを含む木構造ファイルへのアクセスを管理するファイル管理方法であって、上位概念管理プログラムによって管理される前記上位概念ファイルにアクセス条件を設定し、前記上位概念管理プログラムから下位概念管理プログラムへ提供されるファイルにアクセス条件を設定し、前記上位概念管理プログラムから前記下位概念管理プログラムへ移送される移送キーを前記下位概念ファイルのアクセス条件を参照して前記下位概念ファイルに設定し、前記上位概念ファイルの前記アクセス条件が満たされたときに前記下位概念ファイルに前記移送キーを設定し、前記下位概念ファイルのアクセス条件を参照するとともに、このアクセス条件が満たされたときに前記下位概念ファイルの下位にファイルを設定することを特徴とする。
【0017】
さらに、本発明のICカードは、少なくともメモリを有し、このメモリ内に上位概念ファイルおよび下位概念ファイルを有する木構造ファイルを含むICカードにおいて、アクセス条件が設定されているとともに上位概念管理プログラムによって使用される上位概念ファイルと、アクセス条件が設定されているとともに前記上位概念管理プログラムによって提供されかつ下位概念管理プログラムによって使用される下位概念ファイルと、前記上位概念ファイルの前記アクセス条件が満たされたときに前記上位概念ファイルの前記アクセス条件を参照するとともに、前記下位概念ファイルに前記上位概念管理プログラムから前記下位概念管理プログラムへ移送される移送キーを設定するための第1手段と、前記下位概念ファイルの前記アクセス条件が満たされたときに前記下位概念ファイルの前記アクセス条件を参照するとともに、前記下位概念ファイルの下位にファイルを設定するための第2手段とを具備している。
【発明の効果】
【0018】
本発明によれば、トランスポートキーを上位者から下位者に渡した後、下位者が当該キーを変更しない限り、その効力が発揮されないようにすることができ、セキュリティ性に優れたICカードおよびICカードにおけるファイル管理方法を提供できる。
【発明を実施するための最良の形態】
【0019】
以下、本発明の実施の形態について図面を参照して説明する。
図1は、本実施の形態に係る携帯可能電子装置としてのICカードが適用される、たとえば、金融システムあるいはショッピングシステムなどの端末装置として用いられるカード取扱装置の構成例を示すものである。すなわち、この装置は、ICカード1をカードリーダ・ライタ2を介してCPUなどからなる制御部3と接続可能とするとともに、制御部3にキーボード4、CRTディスプレイ装置5、プリンタ6、および、フロッピー(登録商標)ディスク装置7を接続して構成される。
【0020】
図2は、ICカード1の構成例を示すものであり、制御部としての制御素子(たとえば、CPU)11、記憶内容が消去可能な不揮発性のデータメモリ12、ワーキングメモリ13、プログラムメモリ14、および、カードリーダ・ライタ2との電気的接触を得るためのコンタクト部15によって構成されている。これらのうち、破線内の部分(制御素子11、データメモリ12、ワーキングメモリ13、プログラムメモリ14)は1つ(あるいは複数)のICチップで構成されてICカード本体内に埋設されている。
【0021】
データメモリ12は、各種データの記憶に使用され、たとえば、EEPROMなどで構成されている。ワーキングメモリ13は、制御素子11が処理を行なう際の処理データを一時的に保持するためのメモリであり、たとえば、RAMなどで構成される。プログラムメモリ14は、たとえば、マスクROMで構成されており、制御素子11のプログラムなどを記憶するものである。
【0022】
データメモリ12は、たとえば、図3に示すように、制御領域120、ディレクトリ121、空き領域122、および、エリア群123に分割されている。エリア群123は、複数のデータエリアおよびキーエリアを有することができ、かつ、データファイル(DF)と呼ばれる概念でグループ化することができる。なお、後述するマスタファイル(MF)は、データファイルの1つの形態として一括管理される。
【0023】
データファイルは、対応するアプリケーションにて使用されるデータエリア、および、キーエリアを一括して管理するためのファイルである。
データエリアは、たとえば、取引データなどのように、必要に応じて読み書きするためのデータを格納するエリアである。
キーエリアは、たとえば、暗証番号などの格納に利用されているエリアであり、書込み/書換え/照合の対象になり、読出しはできないようになっている。
【0024】
なお、これらのエリアは、図3に示すように、エリア群123として一括して割当てられている。また、これらのファイルあるいはエリアは、データメモリ12内のディレクトリ121を用いることにより、それぞれの物理的位置などを制御素子11が認識するようになっている。
【0025】
さらに、図3の制御領域120には、エリア群123の先頭アドレス情報、および、空き領域122の先頭アドレス情報が格納されている。
図3のディレクトリ121は、図4に示すように、各データファイルおよびエリアに対応する各種定義情報が格納される。
【0026】
図4(a)は、データファイルの名称を定義する情報である。この定義情報は、ディレクトリ121内でデータファイル名定義情報を識別するためのデータPTN、本データファイルに割当てられたファイル通し番号DFSN、本データファイルの親ファイルの通し番号PFSN、本データファイルに付与されたファイル名DFnameおよびその長さを示すデータNL、および、これらのデータの正当性をチェックするためのデータBCCから構成される。
【0027】
図4(b)は、データファイルの管理情報を定義する情報である。この定義情報は、ディレクトリ121内でデータファイル名定義情報を識別するためのデータPTN、本データファイルに割当てられたファイル通し番号DFSN、本データファイルの親ファイルの通し番号PFSN、データファイルサイズDFS、本データファイルの付加情報が格納されるデータエリアを識別するためのAAID、当該付加情報を出力するか否かなどを規定するTYPE、キーの種別を禁止するUCF、データファイルのアクセス条件を示すDFAC、本データファイルの状態を保持するためのDFST、本データファイルの配下に位置するデータファイルおよびエリアにより使用されているバイト数US、および、これらのデータの正当性をチェックするためのデータBCCから構成される。
また、特にAAIDは、後述するデータファイル選択コマンドにてデータファイルが選択された際に、必要に応じてそれに示されるデータエリアの内容を出力する。
【0028】
図4(c)は、各種取引データなどを格納するエリアを定義する情報である。この定義情報は、ディレクトリ121内でエリア定義情報を識別するためのデータPTN、本エリアが属するデータファイルの通し番号DFSN、エリアに対してアクセスする際の識別番号AID、エリアの先頭アドレスを示すATOP、エリアサイズを示すASIZ、エリアのアクセス条件を示すAAC、エリアの状態を保持するAST、および、これらのデータの正当性をチェックするためのデータBCCから構成される。
【0029】
図4(d)は、各種キーデータを格納するエリアを定義する情報である。この定義情報は、ディレクトリ121内でキーエリア定義情報を識別するためのデータPTN、本エリアが属するデータファイルの通し番号DFSN、エリアに対してアクセスする際の識別番号KID、エリアの先頭アドレスを示すKTOP、エリアサイズを示すKSIZ、キーの種別を示すCF、キーのアクセス条件を示すKAC、キーの状態を保持するKST、および、これらのデータの正当性をチェックするためのデータBCCから構成される。
【0030】
これらに使用されている識別情報PTNは、たとえば、1バイトで構成されており、データファイルの名称を定義するもの(図4(a))に対しては‘00’が、データファイルの管理情報を定義するもの(図4(b))に対しては‘01’が、データエリアを定義するもの(図中(c))に対しては‘02’が、また、キーエリアを定義するもの(図4(d))に対しては‘03’が、それぞれ使用される。
【0031】
図5は、ファイルの構造例を示している。この図において、DFnnはデータファイルを、Dnnはデータエリアを、Knnはキーエリアを、それぞれ示している。
図示するように、ICカード1内のメモリ12において、マスタファイル(MF)の配下には、データファイルDF1,DF2が、また、キーエリアK00,K01、データエリアD00,D01が、それぞれ設定されている。
【0032】
また、データファイルDF1の配下には、データファイルDF1−1,DF1−2が、また、キーエリアK11,K12、データエリアD11,D12が、それぞれ設定されている。
【0033】
また、データファイルDF1−1の配下には、キーエリアK111,K112、データエリアD111/D112が、また、データファイルDF1−2の配下には、キーエリアK121,K122、データエリアD121,D122が、それぞれ設定されている。
【0034】
一方、データファイルDF2の配下には、データファイルDF2−1,DF2−2が、また、キーエリアK21,K22、データエリアD21,D22が、それぞれ設定されている。
【0035】
また、データファイルDF2−1の配下には、キーエリアK211,K212、データエリアD211,D212が、また、データファイルDF2−2の配下には、キーエリアK221,K222、データエリアD221,D222が、それぞれ設定されている。
【0036】
これらの各種定義情報は、一括して図6に示すように、ディレクトリ121に格納される。図示するように、各定義情報には、DFSN(ファイル通し番号)が、ファイル創成時に自動的に付与される。このDFSN、および、データファイル定義情報に格納される親ファイルのシーケンス番号により、各ファイルの関連状態を制御素子11が認識する。
【0037】
たとえば、データファイルDF1−1の定義情報(通し番号#13)は、DFSNが‘03’、また、PFSNが‘01’となっている。すなわち、本データファイルは、ファイルシーケンス番号‘03’が創成時に付与され、同時に本データファイルがDF1の配下に創成されることを認識し、データファイルDF1のDFSN(‘01’)をPFSNとして付与する。
【0038】
図7は、データファイル(DF)創成のための動作を説明するフローチヤートを示しており、以下それについて説明する。ICカード1が、外部から入力されるデータファイル創成コマンドを受信すると、まず、使用可能状態、すなわち、カレント状態となっているデータファイル(以後、カレントDFと称す)を認識する(ST1)。特に、ICカード1への電気的活性化の直後は、カレントDFはマスタファイル(MF)となる。
【0039】
カレントDFを認識すると、次に、カレントDF定義情報中のアクセス条件情報のうち、ファイル創成に関する情報を参照する。この条件と、後述するRAM上の照合状態保持領域Aのみを比較し、アクセス条件が要求しているキーの照合状態が確立されているか否かを判断する(ST2)。
【0040】
もし確立されていなければ、アクセス条件不一致を意味するレスポンス電文を出力し、コマンド待ち状態に戻る(ST3)。また、もし確立されていれば、次に、コマンド内に設定されているデータファイルのファイル名(DF−ID)を抽出し、カレントDFが有するFSNと同一の値を親FSNとして有しており、さらに、抽出したファイル名と同一のファイル名を有しているデータファイル定義情報が存在するか否かを確認する(ST4)。
【0041】
もし存在するとしたら、ID重複異常を意味するレスポンス電文を出力し、コマンド待ち状態に戻る(ST5)。また、もし存在しないとしたら、コマンドにて与えられたデータファイル創成のためのデータにより、図4(a)〜(c)に示すデータファイル定義情報を生成し(ST6)、これを所定領域に書込む(ST7)。
【0042】
この書込みにおいて、書込みが正常に終了しなかった場合(ST8)、データ書込み異常を意味するレスポンス電文を出力し、コマンド待ち状態に戻る(ST9)。また、書込みが正常に終了した場合(ST8)、正常終了を意味するレスポンス電文を出力し、コマンド待ち状態に戻る(ST10)。
【0043】
図8は、キーエレメンタリファイル(EF)創成のための動作を説明するフローチヤートを示しており、以下それについて説明する。ICカード1が、外部から入力されるキーEF創成コマンドを受信すると、まず、カレントDFを認識する(ST11)。
【0044】
カレントDFを認識すると、次に、カレントDF定義情報中のアクセス条件情報のうち、ファイル創成に関する情報を参照する。この条件と、後述するRAM上の照合状態保持領域Aのみを比較し、アクセス条件が要求しているキーの照合状態が確立されているか否かを判断する(ST12)。
【0045】
もし確立されていなければ、アクセス条件不一致を意味するレスポンス電文を出力し、コマンド待ち状態に戻る(ST13)。また、もし確立されていれば、次に、コマンド電文にて指示されているエレメンタリファイル名(EF−ID)を参照し、アクセス対象となっているカレントDF内に、当該エレメンタリファイル名が存在するか否かをチェックする(ST14)。もし存在する場合には、ID重複異常を示すレスポンス電文を出力し、コマンド待ち状態に戻る(ST15)。
【0046】
もし存在しなければ、次に、コマンド電文にて指定されているキーEFのサイズデータを参照し、アクセス対象となっているカレントDF内の空き領域サイズと比較する(ST16)。この比較においては、指定されたキーEFのサイズに当該キーEFを創成した際に使用するディレクトリ情報のサイズを加算したものに対して、前記空き領域サイズがそれ以上であるか否かをチェックする。もし前者が後者よりも大きい場合には、指定サイズ異常を示すレスポンス電文を出力し、コマンド待ち状態に戻る(ST17)。
【0047】
もしそうでなければ、次に、コマンド電文にて指定されたキーのタイプと、サイズの正当性をチェックする(ST18)。このとき、キーのタイプが「認証関連キー」となっていればサイズが例えば10バイト、また、キーのタイプが「照合キー」となっていればサイズは例えば3〜18バイトであるとき、サイズが正当であると判断する。もし正当でないと判断された場合には、指定サイズ整合異常を示すレスポンス電文を出力し、コマンド待ち状態に戻る(ST19)。
【0048】
ここで、サイズが正当であったと判断された場合には、受信したコマンドに基づき、ディレクトリに格納すべきキーEF定義情報を生成し(ST20)、これを所定領域に書込む(ST21)。このとき、ステータス情報の第8ビット目は、コマンド電文にて指定されたキータイプ情報のうちの第1ビット目に依存して、その値が決定される。すなわち、後者のビット値と同様の値を前者のビットに設定する。
【0049】
このステータス情報の第8ビット目は、キーデータの変更がなされたか否かを示すビットであり、当該ビットが「1」の場合、変更行為がなされていないことを示し、また、「0」であればその行為がなされたことを示している。
【0050】
したがって、上記キータイプ情報の第1ビット目が「1」の場合には、キー変更を行なわない限りステータス情報の第8ビット目が「0」とはならず、また、「0」の場合には、キー変更を行なうか否かに関わらず、ステータス情報の第8ビット目が「0」となっている(つまり、書換え行為が暗黙的に行なわれたことと等価になる)。
【0051】
上記キーEF定義情報の書込みにおいて、書込みが正常に終了しなかった場合(ST22)、データ書込み異常を意味するレスポンス電文を出力し、コマンド待ち状態に戻る(ST23)。また、書込みが正常に終了した場合(ST22)、正常終了を意味するレスポンス電文を出力し、コマンド待ち状態に戻る(ST24)。
【0052】
図9は、キーデータ設定のための動作を説明するフローチヤートを示しており、以下それについて説明する。ICカード1が、外部から入力されるキーデータ設定コマンドを受信すると、まず、カレントDFを認識する(ST31)。
【0053】
カレントDFを認識すると、次に、コマンド電文にて指示されているエレメンタリファイル名(EF−ID)を参照し、アクセス対象となっているカレントDF内に、当該エレメンタリファイル名が存在するか否かをチェックする(ST32)。もし存在しない場合には、該当キーID無しを意味するレスポンス電文を出力し、コマンド待ち状態に戻る(ST33)。
【0054】
もし存在すれば、次に当該キーEF定義情報中のアクセス条件情報のうち、キーデータ設定に関する情報を参照する。この条件と、後述するRAM上の照合状態保持領域Aのみを比較し、アクセス条件が要求しているキーの照合状態が確立されているか否かを判断する(ST34)。
【0055】
もし確立されていなければ、アクセス条件不一致を意味するレスポンス電文を出力し、コマンド待ち状態に戻る(ST35)。また、もし確立されていれば、次に、対応するキーEF領域内にキーデータが存在するか否かを確認する(ST36)。もし存在すれば、既存キーデータ有りを意味するレスポンスデータを出力し、コマンド待ち状態に戻る(ST37)。
【0056】
もし存在しなければ、コマンド電文にて指定されたキーのタイプと、入力キーデータのサイズの正当性をチェックする(ST38)。このとき、キーのタイプが「認証関連キー」となっていればサイズが例えば8バイト、また、キーのタイプが「照合キー」となっていればサイズは例えば1〜16バイトであるとき、サイズが正当であると判断する。もし正当でないと判断された場合には、入力キーデータサイズ異常を示すレスポンス電文を出力し、コマンド待ち状態に戻る(ST39)。
【0057】
ここで、サイズが正当であったと判断された場合には、次に、当該キーEF定義情報中にて定義されているサイズと、入力されたキーデータのサイズとの比較を行なう(ST40)。後者のサイズに例えば「2」を加えたものが、前者のサイズよりも大きい場合には、領域サイズ不足を意味するレスポンス電文を出力し、コマンド待ち状態に戻る(ST41)。
【0058】
そうでなければ、受信したコマンドにて入力されたキーデータに、1バイトの長さの情報および1バイトのBCCを付加して、これを当該キーEF領域に格納し(ST42)、処理結果をレスポンス電文にて出力し、コマンド待ち状態に戻る(ST43)。
【0059】
図10は、キーデータ変更のための動作を説明するフローチヤートを示しており、以下それについて説明する。ICカード1が、外部から入力されるキーデータ変更コマンドを受信すると、まず、カレントDFを認識する(ST51)。
【0060】
カレントDFを認識すると、次に、コマンド電文にて指示されているエレメンタリファイル名(EF−ID)を参照し、アクセス対象となっているカレントDF内に、当該エレメンタリファイル名が存在するか否かをチェックする(ST52)。もし存在しない場合には、該当キーID無しを意味するレスポンス電文を出力し、コマンド待ち状態に戻る(ST53)。
【0061】
もし存在すれば、次に当該キーEF定義情報中のアクセス条件情報のうち、キーデータ変更に関する情報を参照する。この条件と、後述するRAM上の照合状態保持領域AおよびBを比較し、アクセス条件が要求しているキーの照合状態が確立されているか否かを判断する(ST54)。
【0062】
もし確立されていなければ、アクセス条件不一致を意味するレスポンス電文を出力し、コマンド待ち状態に戻る(ST55)。また、もし確立されていれば、次に、対応するキーEF領域内にキーデータが存在するか否かを確認する(ST56)。もし存在しなければ、既存キーデータ無しを意味するレスポンスデータを出力し、コマンド待ち状態に戻る(ST57)。
【0063】
もし存在すれば、コマンド電文にて指定されたキーのタイプと、入力キーデータのサイズの正当性をチェックする(ST58)。このとき、キーのタイプが「認証関連キー」となっていればサイズが例えば8バイト、また、キーのタイプが「照合キー」となっていればサイズは例えば1〜16バイトであるとき、サイズが正当であると判断する。もし正当でないと判断された場合には、入力キーデータサイズ異常を示すレスポンス電文を出力し、コマンド待ち状態に戻る(ST59)。
【0064】
ここで、サイズが正当であったと判断された場合には、次に、当該キーEF定義情報中にて定義されているサイズと、入力されたキーデータのサイズとの比較を行なう(ST60)。後者のサイズに例えば「2」を加えたものが、前者のサイズよりも大きい場合には、領域サイズ不足を意味するレスポンス電文を出力し、コマンド待ち状態に戻る(ST61)。
【0065】
そうでなければ、受信したコマンドにて入力されたキーデータに、1バイトの長さの情報および1バイトのBCCを付加して、これを当該キーEF領域に格納し(ST62)、その処理結果をレスポンス電文にて出力し、コマンド待ち状態に戻る(ST63)。また、このとき、キーEF定義情報にあるステータス情報の第8ビット目を「0」とする。
【0066】
図11は、キー照合のための動作を説明するフローチヤートを示しており、以下それについて説明する。ICカード1が、外部から入力されるキー照合コマンドを受信すると、まず、カレントDFを認識する(ST71)。
【0067】
カレントDFを認識すると、次に、ディレクトリ121を検索することにより、カレントDF内に指定されたファイル名(ID)を有するキーEF定義情報が存在するか否かを確認する(ST72)。もし存在しない場合には、該当キーID無しを示すレスポンス電文を出力し、コマンド待ち状態に戻る(ST73)。
【0068】
もし存在していた場合には、当該キーがロック状態になっているか否かを確認する(ST74)。このとき、ロック状態であると判断した場合には、キーロックを示すレスポンス電文を出力し、コマンド待ち状態に戻る(ST75)。
【0069】
もしそうでなければ、コマンド電文内のキーデータと、当該キーEF内に格納されているキーデータとを照合する(ST76)。このとき、両者が一致している場合には(ST77)、当該キーEF定義情報中の照合ビット指定情報を参照し、所定のRAM領域の当該情報にて指定されているビット位置を「1」にする(ST78)。次に、当該キーEF定義情報中のキー固有の照合不一致カウンタをクリアし(ST79)、正常終了を示すレスポンス電文を出力して、コマンド待ち状態に戻る(ST80)。
【0070】
なお、所定のRAM領域は、照合状態保持領域AおよびBに分割されている。どちらの領域の対応ビットを「1」にするかは、当該キーEF定義情報中のキーのステータス情報の第8ビット目の値に依存する。このビットは、当該キーEF定義情報により定義づけられているキーに対し、変更処理が行なわれたか否かを示すものであり、後述するように、「0」となっていれば変更されたキーであり、「1」となっていれば変更処理が行なわれていないキーであることを示す。さらに、これが「0」となっていた場合には、前記照合状態保持領域Aの、また、「1」となっていれば、前記照合状態保持領域Bの、対応ビットを設定することになる。
【0071】
また、キー照合処理において、不一致であると判断した場合には(ST77)、まず、当該キーEF定義情報中の照合ビット指定情報、および、ステータス情報を参照し、上記と同様の手順にしたがって、照合状態保持領域AまたはBのいずれかの領域の所定ビットを「0」にする(ST81)。
【0072】
次に、キー固有の照合不一致カウンタを1つだけインクリメントする(ST82)。このとき、キーEF定義情報中のカウント最大値に達していない場合には(ST83)、照合不一致を示すレスポンス電文を出力し、コマンド待ち状態に戻る(ST84)。また、最大値に達していたならば、キーロック済みを示すレスポンス電文を出力し、コマンド待ち状態に戻る(ST85)。
【0073】
図12は、データEFへのアクセスのための動作を説明するフローチヤートを示しており、以下それについて説明する。ICカード1が、外部から入力されるデータEFアクセスコマンドを受信すると、まず、カレントDFを認識する(ST91)。
【0074】
カレントDFを認識すると、次に、コマンド電文にて指示されているエレメンタリファイル名(EF−ID)を参照し、アクセス対象となっているカレントDF内に、当該エレメンタリファイル名が存在するか否かをチェックする(ST92)。もし存在しない場合には、該当キーID無しを意味するレスポンス電文を出力し、コマンド待ち状態に戻る(ST93)。
【0075】
もし存在すれば、次に当該データEF定義情報中のアクセス条件情報のうち、アクセスのタイプ(データ読出し/書込み/変更)に対応するアクセス条件情報を参照する。この条件と、後述するRAM上の照合状態保持領域Aを比較し、アクセス条件が要求しているキーの照合状態が確立されているか否かを判断する(ST94)。
【0076】
もし確立されていなければ、アクセス条件不一致を意味するレスポンス電文を出力し、コマンド待ち状態に戻る(ST95)。もし確立されていれば、次に、対応するデータEF領域内に対してアクセスを行ない(ST96)、その処理結果をレスポンス電文として出力し、コマンド待ち状態に戻る(ST97)。
【0077】
これによれば、たとえば、アプリケーション提供者キー(トランスポートキー)を設定するアクセス条件として、その上位者である発行者のキーが必要であり、また、アプリケーション提供者トランスポートキーの変更は、当該キーの照合により可能となるように設定しておき、他のアクセスコマンドを実行する際には、アプリケーション提供者のキー照合が必要なように設定されているとする。
【0078】
この場合、変更前のアプリケーション提供者トランスポートキーの照合結果は、照合状態保持領域Bに格納される。したがって、他のアクセスがアプリケーション提供者キーの照合が必要となっていても、これらのアクセスに使用される照合状態保持領域Aには照合結果が反映されず、よって、当該キーの効果が発揮されていないことが実現できる。
【0079】
また、当該キー変更の場合に限っては、照合状態保持領域AおよびBを参照するため、変更前においても確立された照合状態が参照でき、したがって、キー変更行為が許可される。
また、キー変更後のキーの照合により、照合状態保持領域Aに照合状態が反映されるため、以降の他のアクセスに関して効果が発揮されたことになる。
【0080】
また、本実施の形態のように、キーEF創成時に入力されるキーのタイプ情報により、この時点で変更がなされたことを疑似的に行なわせるか否かを設定できるため、アプリケーション提供者個々の要求により、上位者であるカード発行者が種々のタイプを選択的に設定することが可能となる。
【0081】
なお、前記実施の形態では、キーのタイプ情報から、あらかじめキーの変更がなされたか否かを示すステータス情報を設定するタイミングとして、キーEF創成コマンド処理中になっているが、たとえば、キーを設置するコマンド処理中に行なってもよい。
【0082】
また、前記実施の形態では、ファイル管理を行なう電子機器としてICカードを例示したが、これに限定されることなく、ファイル管理を必要とするメモリを備えた電子機器であれば適用可能である。
【図面の簡単な説明】
【0083】
【図1】本発明の実施の形態に係るICカードが適用されるカード取扱装置の構成例を示すブロック図。
【図2】ICカードの構成例を示すブロック図。
【図3】データメモリの構成例を示すメモリマップ図。
【図4】各種定義情報のフォーマット例を示す図。
【図5】データメモリ内に設定されるファイルの構造例を示す図。
【図6】データメモリ内に設定されるディレクトリの構成例を示す図。
【図7】データファイル創成のための動作を説明するフローチャート。
【図8】キーエレメンタリファイル創成のための動作を説明するフローチャート。
【図9】キーデータ設定のための動作を説明するフローチャート。
【図10】キーデータ変更のための動作を説明するフローチャート。
【図11】キー照合のための動作を説明するフローチャート。
【図12】データエレメンタリファイルへのアクセスのための動作を説明するフローチャート。
【符号の説明】
【0084】
1……ICカード、2……カードリーダ・ライタ、3……制御部、4……キーボード、5……CRTディスプレイ装置、11……制御素子、12……データメモリ、13……ワーキングメモリ、14……プログラムメモリ、15……コンタクト部、120……制御領域、121……ディレクトリ、123……エリア群。

【特許請求の範囲】
【請求項1】
複数の記憶領域にキーデータおよびデータを記憶するための記憶手段と、
初期キーデータを前記記憶手段に記憶された前記キーデータと比較することによって初期キーデータが変更されているかどうかを判定するための判定手段と、
この判定手段により前記キーデータが変更されていないと判定されたときに前記複数の記憶領域においてデータが処理されるのを阻止するための阻止手段と、
前記判定手段により前記キーデータが変更されていると判定されたときに特定のコマンドに応じて前記複数の記憶領域のデータを処理するための処理手段とを具備し、
前記処理手段は、特定のコマンドに応じて前記複数の記憶領域のそれぞれにおいて前記キーデータのファイルを作成するためのファイル作成手段を含み、このファイル作成手段によるファイル作成は前記キーデータが変更される前に前記阻止手段によって阻止されることを特徴とするICカード。
【請求項2】
少なくともメモリを有するICカードにおいて、
前記メモリ内の複数のファイルへのアクセスを管理するファイル管理方法であって、
前記メモリを使用するシステムの上位概念により前記ファイルの下位にあらかじめ設定されている第1キーを前記メモリを使用するシステムの下位概念により設定されている新しいキーと照合することによって前記ファイルへのアクセスを許可し、
前記上位概念は、前記第1キーを前記第1キーの中に設定されたキー変更アクセス条件を参照して前記下位概念だけに知られている第2キーに変更し、かつ、前記第1キーが前記第2キーに変更されると前記上位概念が前記ファイルの下位におけるキーの作成を拒絶することを特徴とするICカードにおけるファイル管理方法。
【請求項3】
少なくともメモリを有するICカードにおいて、
前記メモリ内の上位概念ファイルおよび下位概念ファイルを含む木構造ファイルへのアクセスを管理するファイル管理方法であって、
上位概念管理プログラムによって管理される前記上位概念ファイルにアクセス条件を設定し、
前記上位概念管理プログラムから下位概念管理プログラムへ提供されるファイルにアクセス条件を設定し、
前記上位概念管理プログラムから前記下位概念管理プログラムへ移送される移送キーを前記下位概念ファイルのアクセス条件を参照して前記下位概念ファイルに設定し、
前記上位概念ファイルの前記アクセス条件が満たされたときに前記下位概念ファイルに前記移送キーを設定し、
前記下位概念ファイルのアクセス条件を参照するとともに、このアクセス条件が満たされたときに前記下位概念ファイルの下位にファイルを設定することを特徴とするICカードにおけるファイル管理方法。
【請求項4】
少なくともメモリを有し、このメモリ内に上位概念ファイルおよび下位概念ファイルを有する木構造ファイルを含むICカードにおいて、
アクセス条件が設定されているとともに上位概念管理プログラムによって使用される上位概念ファイルと、
アクセス条件が設定されているとともに前記上位概念管理プログラムによって提供されかつ下位概念管理プログラムによって使用される下位概念ファイルと、
前記上位概念ファイルの前記アクセス条件が満たされたときに前記上位概念ファイルの前記アクセス条件を参照するとともに、前記下位概念ファイルに前記上位概念管理プログラムから前記下位概念管理プログラムへ移送される移送キーを設定するための第1手段と、
前記下位概念ファイルの前記アクセス条件が満たされたときに前記下位概念ファイルの前記アクセス条件を参照するとともに、前記下位概念ファイルの下位にファイルを設定するための第2手段と、
を具備したことを特徴とするICカード。
【請求項5】
上位概念ファイルおよび下位概念ファイルを有する木構造ファイルを作成するとともに、制御手段によって前記ファイルのそれぞれへのアクセスを管理する情報処理のための制御プログラムを記憶するための記憶媒体であって、
前記制御プログラムは、
アクセス条件が上位概念管理プログラムによって設定されている前記上位概念ファイルを作成し、
前記下位概念ファイルが前記上位概念管理プログラムによって提供され、かつ、下位概念管理プログラムによって使用されるようにアクセス条件が設定されている前記下位概念ファイルを作成し、
前記上位概念ファイルの前記アクセス条件が満たされたときに前記上位概念ファイルの前記アクセス条件を参照するとともに、前記下位概念ファイルに前記上位概念管理プログラムから前記下位概念管理プログラムへ移送される移送キーを設定し、
前記下位概念ファイルの前記アクセス条件が満たされたときに前記下位概念ファイルの前記アクセス条件を参照するとともに、前記下位概念ファイルの下位にファイルを設定することを含むことを特徴とする記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2006−92568(P2006−92568A)
【公開日】平成18年4月6日(2006.4.6)
【国際特許分類】
【出願番号】特願2005−313276(P2005−313276)
【出願日】平成17年10月27日(2005.10.27)
【分割の表示】特願平8−76200の分割
【原出願日】平成8年3月29日(1996.3.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】