JP4011641B2 - Portable information recording medium - Google Patents

Portable information recording medium Download PDF

Info

Publication number
JP4011641B2
JP4011641B2 JP29474995A JP29474995A JP4011641B2 JP 4011641 B2 JP4011641 B2 JP 4011641B2 JP 29474995 A JP29474995 A JP 29474995A JP 29474995 A JP29474995 A JP 29474995A JP 4011641 B2 JP4011641 B2 JP 4011641B2
Authority
JP
Japan
Prior art keywords
file
management area
information
file management
recording unit
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.)
Expired - Fee Related
Application number
JP29474995A
Other languages
Japanese (ja)
Other versions
JPH09114741A (en
Inventor
和義 入澤
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 JP29474995A priority Critical patent/JP4011641B2/en
Publication of JPH09114741A publication Critical patent/JPH09114741A/en
Application granted granted Critical
Publication of JP4011641B2 publication Critical patent/JP4011641B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は携帯可能情報記録媒体、特に、CPUと、このCPUによってアクセスされるメモリとを備えた記録媒体に関する。
【0002】
【従来の技術】
ICカードに代表される携帯可能情報記録媒体は、磁気カードに代わる次世代の媒体として注目を集めており、最近では、半導体集積回路の小型化、低コスト化のための技術革新により、実社会の種々のシステムにおいてICカードが実用されるに至っている。
【0003】
特に、CPUを内蔵したICカードは、単なる情報記録媒体としての機能だけではなく、情報処理機能を有するため、高度なセキュリティを必要とする情報処理システムへの利用が期待されている。一般に、ICカードには、EEPROMなどの不揮発性メモリが内蔵されており、このEEPROM内にファイルとして情報が記録されることになる。しかも、EEPROMへのアクセスは、内蔵CPUによって行われるため、予め所定のアクセス条件を設定しておけば、内蔵CPUがこのアクセス条件を満足したと判断したときのみ、ファイルへのアクセスを許可するようにすることができる。通常は、いくつかのキーについての照合をアクセス条件として設定する。すなわち、EEPROM内に予めキーを書き込んでおき、この内部のキーと外部から与えられたキーとを内蔵CPUで比較照合し、両者が一致した場合に、当該キーが開錠されたものと判断するのである。
【0004】
キーとしては、特定の対象者(たとえば、ICカードの所有者、発行者など)を認証するためのキーや、特定のハードウエア(たとえば、端末装置)を認証するためのキーなどが利用されている。通常は、これらのキーを複数用い、ファイルに対するアクセス条件として、複数のキーの開錠を条件として設定することが多い。すなわち、特定のファイルに対するアクセス条件として、特定のキーの組み合わせが要求されることになる。個々のファイルごとに異なったアクセス条件を設定するために、各ファイルごとにそれぞれディレクトリ領域を設け、このディレクトリ領域内に、開錠を必要とするキーを指定する情報を書き込んでおくのが一般的である。この場合、各ファイルに対するアクセスコマンドが外部から与えられると、内蔵CPUは、まず、そのアクセス対象ファイルについてのディレクトリ領域を参照し、照合を必要とするキーについての開錠作業が完了している場合に限って、アクセスコマンドの実行を行うことになる。
【0005】
【発明が解決しようとする課題】
ICカードは、磁気カードに比べてデータの記憶容量が大きく、内蔵した不揮発性メモリ内に多数のファイルを記録しておくことができる。しかも、EEPROMなどの内蔵不揮発性メモリの容量は、半導体集積回路の製造技術の進歩により、今後も益々増加してゆくものと期待されている。このため、1枚のICカードを複数の用途に利用する利用形態が一般化するものと予想される。たとえば、銀行用カード、クレジットカード、交通機関用プリペイドカード、病院用カード、といった複数の用途に対して、1枚のICカードで対応することが可能になる。
【0006】
このような複数の用途に対応するICカードでは、個々の用途ごとにそれぞれ別個のファイルを用意する必要が生じ、各ファイルに対するアクセス条件もそれぞれ別個独立して設定する必要がある。しかも、用途の異なる複数のファイルを交互にアクセスするような利用形態も、今後は益々増えてゆくものと予想される。たとえば、病院用カードとしての部分に書き込まれた医療費を、銀行用カードとしての部分に書き込まれた預金残高から振り替えることにより、医療費の支払いを行うような場合、病院用ファイルと銀行用ファイルとを交互にアクセスする必要が生じる。この場合、病院用ファイルに対するセキュリティと銀行用カードに対するセキュリティとは、別個に設定されているため、各ファイルをアクセスするごとにそれぞれ開錠操作が必要になり、使い勝手が悪いという問題が生じる。
【0007】
このような多用途に対応したICカードについての使い勝手を向上させる手法として、アクセスチャネルという概念を導入し、個々のアクセスチャネルごとに開錠操作を行う方法が提案されている。たとえば、特開平7−160547号公報には、各チャネルごとにそれぞれ異なる識別番号を定義し、それぞれのチャネルごとに開錠状態を記録しておく方法が開示されている。しかしながら、階層構造をもったファイルについて、用途ごとに別々のセキュリティが設定されている場合に、種々のファイルを交錯してアクセスするには、十分な使い勝手が得られていないのが現状である。
【0008】
そこで本発明は、用途ごとに別々のセキュリティ設定がなされ、しかも階層構造をもったファイルに対して、十分なセキュリティを確保しつつ使い勝手の良いアクセスが可能な携帯可能情報記録媒体を提供することを目的とする。
【0009】
【課題を解決するための手段】
(1) 本発明の第1の態様は、外部から与えられるコマンドを実行するCPUと、このCPUによってアクセスされる第1のメモリと第2のメモリと、を備え、第1のメモリには、階層構造をもったファイル管理領域を定義して各ファイル管理領域内にそれぞれ所定のファイルを所定のアクセス条件とともに記録し、第2のメモリには、アクセス条件に関連した開錠情報を記録し、この開錠情報と各ファイルについてのアクセス条件とを比較することにより、第1のメモリ内の各ファイルに対するアクセスの可否を判定するようにした携帯可能情報記録媒体において、
ファイルに対するアクセスコマンドを、そのアクセスの態様に応じて複数のグループに分け、第1のメモリ内に、各ファイルについて、アクセス条件の設定を各グループごとに行い、かつ、上位階層の開錠情報を参照するか否かの設定を各グループごとに行い、
第2のメモリ内に、複数のチャネル設定領域を設け、各チャネル設定領域を互いに上下の階層関係をもった複数の記録部に分割し、個々の記録部には、特定のファイル管理領域を示す識別情報を記録する識別情報記録部と、この特定のファイル管理領域についての開錠情報を記録する開錠情報記録部と、を設け、
特定のチャネルを指定して特定のファイル管理領域を選択するコマンドが与えられたときには、選択されたファイル管理領域およびこれより上位階層のファイル管理領域の識別情報を、指定されたチャネル設定領域内のそれぞれの階層に対応した識別情報記録部に書き込んで記録済状態とし、選択されたファイル管理領域より下位階層に相当する識別情報記録部には、識別情報が未記録状態であることを示す固有データを書き込むことにより未記録状態とする書込処理を行い、この書込処理によって、識別情報が更新されなかった記録部については開錠情報をそのまま維持し、識別情報が更新された記録部については、この更新された識別情報と同一の識別情報が記録されている他の記録部が存在する場合には、他の記録部に記録されている開錠情報をそのまま複写し、そのような他の記録部が存在しない場合には、未開錠を示す開錠情報を書き込む処理を行い、
特定のチャネルを指定して所定のキー照合を行うコマンドが与えられたときには、指定されたチャネル設定領域内の記録済状態にある最下層の記録部に記録されている開錠情報をキー照合の結果に基いて更新する更新処理を行い、この最下層の記録部に記録されている識別情報と同一の識別情報が記録されている別な記録部が存在する場合には、更新処理によって更新された開錠情報を、この別な記録部にそのまま複写する処理を行い、
特定のチャネルを指定して所定の対象ファイルをアクセスするコマンドが与えられたときには、(i) 指定されたチャネル設定領域内の記録済状態にある最下層の記録部に記録されている識別情報で特定されるファイル管理領域内に対象ファイルが所属し、かつ、対象ファイルの与えられたコマンドが所属するグループについて、上位階層の開錠情報を参照しない旨の設定がなされていたときには、最下層の記録部に記録されている開錠情報が、対象ファイルの与えられたコマンドが所属するグループについて設定されているアクセス条件を満足する場合に、対象ファイルに対するアクセスを可能とし、 (ii) 指定されたチャネル設定領域内の記録済状態にある最下層の記録部に記録されている識別情報で特定されるファイル管理領域内に対象ファイルが所属し、かつ、対象ファイルの与えられたコマンドが所属するグループについて、上位階層の開錠情報を参照する旨の設定がなされていたときには、最下層の記録部に記録されている開錠情報とその上位階層の開錠情報とを融合させた融合開錠情報が、対象ファイルの与えられたコマンドが所属するグループについて設定されているアクセス条件を満足する場合に、対象ファイルに対するアクセスを可能とするようにしたものである。
【0011】
(2) 本発明の第2の態様は、上述の第1の態様に係る携帯可能情報記録媒体において、
第2階層以下の各ファイル管理領域について、最上位階層のファイル管理領域の開錠情報を常に参照する旨の設定を行うようにしたものである。
【0013】
(3) 本発明の第3の態様は、上述の第1または第2に記載の携帯可能情報記録媒体において、
最上位階層については、複数のチャネルを代表する単一の記録部のみを設けるようにしたものである。
【0014】
【発明の実施の形態】
本発明に係る携帯可能情報記録媒体は、外部から与えられるコマンドを実行するCPUと、このCPUによってアクセスされる2種類のメモリとを有する。もっとも、この2種類のメモリは、その記録内容によって概念上区別されるだけのものであり、物理的には単一のメモリ素子を領域分割して用いてもかまわない。これら2種類のメモリのうち、第1のメモリには、この媒体に本来記録すべきファイルが、それぞれ所定のアクセス条件とともに記録される。このアクセス条件は、そのファイルに対するアクセスを行うためには、どのキーを照合する必要があるかを示す条件である。一方、第2のメモリには、このアクセス条件に関連した開錠情報が記録される。具体的には、どのキーの照合が既に完了して開錠状態になっているか、という情報が記録されることになる。したがって、特定のファイルに対する読出コマンドや書込コマンドなどのアクセスコマンドが与えられた場合には、このアクセス対象となったファイルについてのアクセス条件と、その時点における開錠情報とを比較することにより、アクセスの可否が判定される。
【0015】
本発明では、第1のメモリ内に、階層構造をもったファイル管理領域が定義される。このファイル管理領域は、概念的には、いわば具体的なファイルを入れる箱に相当するものであり、この箱を入れ子状にすることにより階層構造を採ることができる。具体的なファイルは、いずれかの箱の中に入れられることになる。セキュリティは、個々の箱ごとに別個に設定することができる。したがって、各用途ごとに別個の箱を用意しておけば、用途ごとに異なるセキュリティ設定が可能になる。
【0016】
第2のメモリ内に記録される開錠情報も、個々の箱ごとに、すなわち、個々のファイル管理領域ごとに別個に記録される。しかも、実際のアクセスは「チャネル」という概念を用いて行われる。すなわち、まず特定のチャネルを指定して、特定のファイル管理領域(箱)を選択する。特定のチャネルについて、どの箱が選択されたかを示すために、第2のメモリ内には、複数のチャネル設定領域が設けられる。各チャネル設定領域は、上下の階層関係をもった複数の記録部に分割され、個々の記録部には、特定のファイル管理領域を示す識別情報と、この特定のファイル管理領域についての開錠情報と、が記録される。特定のチャネルを指定して特定のファイル管理領域(箱)を選択すると、この選択されたファイル管理領域(選択された箱)およびこれより上位階層のファイル管理領域(外側の箱)を示す識別情報が、指定されたチャネル設定領域内のそれぞれの階層に対応した記録部に書き込まれる。このような書き込みが行われた記録部は記録済状態になる。このとき、選択されたファイル管理領域(選択された箱)より下位階層のファイル管理領域(内側の箱)に相当する記録部は未記録状態である。したがって、チャネル設定領域内の記録済の最下層の記録部が、常に、そのチャネルについて選択されたファイル管理領域(選択された箱)に対応することになる。
【0017】
このように、チャネル設定領域には、選択されたファイル管理領域(箱)に至るまでの階層構造上のパスが記録されることになる。各チャネルごとに、それぞれ任意のファイル管理領域を選択することができるので、異なるチャネルについて、部分的にパスが共通するファイル管理領域が選択されると、異なる記録部に同一のファイル管理領域を示す識別情報が記録されることになる。
【0018】
各記録部には、ファイル管理領域(箱)を特定するための識別情報とともに、そのファイル管理領域(箱)についての開錠情報が記録される。すなわち、1つの記録部を参照すれば、ある1つの箱についての現時点における開錠状態が認識できることになる。本発明の重要な特徴は、この開錠情報の更新方法にある。各記録部の開錠情報は、次の2とおりの場合に更新される。第1の場合は、特定のチャネルを指定して、特定のファイル管理領域(箱)を選択するコマンドが与えられたときである。この場合は、識別情報が更新されなかった記録部については、開錠情報もそのまま更新されずに維持される。すなわち、既に何らかの開錠操作が行われていた箱については、その開錠情報がそのまま維持されることになり、再度の開錠操作を行う必要はない。一方、識別情報が更新された記録部については、この更新された識別情報と同一の識別情報が記録されている他の記録部が存在する場合には、他の記録部に記録されている開錠情報をそのまま複写する。すなわち、他のチャネルにおいて、同一のファイル管理領域(箱)に対して既に何らかの開錠操作が行われていた場合には、その開錠情報がそのまま複写されるので、別なチャネルで同じファイル管理領域(箱)をアクセスする場合でも、再度の開錠操作を行う必要はなくなる。そして、そのような他の記録部が存在しない場合には、未開錠を示す開錠情報が書き込まれる。すなわち、その選択されたファイル管理領域(箱)について、過去にいずれかのチャネルにおいて開錠操作が行われたという記録が残っていない場合には、未開錠なる開錠情報が書き込まれ、アクセスには所定の開錠操作が要求されることになる。
【0019】
各記録部の開錠情報が更新される第2の場合は、特定のチャネルを指定して所定のキー照合を行うコマンドが与えられたときである。前述したように、各チャネル設定領域内の記録済状態にある最下層の記録部は、常に、そのチャネルについて選択されたファイル管理領域(選択された箱)を示している。別言すれば、チャネルの指定は、最下層の記録部に記録されたファイル管理領域(箱)の指定と同等の意味をもつ。そこで、このようなキー照合コマンドが与えられたときには、そのチャネルの最下層の記録部に記録されたファイル管理領域(箱)についての照合処理が実行され、キー照合が一致すれば、そのキーが開錠状態になったことを示す開錠情報がこの記録部に書き込まれることになる。このように、キー照合コマンドの実行により、この記録部内の開錠情報が更新されることになるが、本発明では、この記録部に記録されている識別情報と同一の識別情報が記録されている別な記録部が存在する場合には、更新処理によって更新された開錠情報を、この別な記録部にもそのまま複写する処理が行われる。すなわち、ある1つのチャネルについて、ある1つのファイル管理領域(箱)の開錠状態に変更があった場合には、別なチャネルに記録されている同一のファイル管理領域(箱)の開錠状態にも同一の変更が加えられることになる。別言すれば、1つのチャネルにおける開錠操作が、別なチャネルにおいても反映されることになり、同一のファイル管理領域(箱)についての開錠操作を、アクセスチャネルが変わるごとに繰り返す必要がなくなる。
【0020】
本発明では、個々のファイルに対するアクセスも、チャネルを指定して行うことになる。このようなアクセスコマンドが与えられると、まず、指定されたチャネル設定領域内の記録済状態にある最下層の記録部に記録されている識別情報で特定されるファイル管理領域(箱)にアクセスの対象となるファイルが所属しているか否かが調べられる。指定されたチャネルによって選択されているファイル管理領域(箱)に、アクセス対象ファイルが所属していなければ、チャネル管轄外のファイルアクセスが行われたことになるので、アクセスは許可されない。アクセス対象ファイルが、チャネルで選択されているファイル管理領域(箱)に所属している場合には、このファイル管理領域(箱)についての開錠情報が、対象ファイルのアクセス条件を満足しているか否かが調べられ、満足している場合には、この対象ファイルに対するアクセスが行われることになる。
【0021】
【実施例】
§1. ICカードの基本構成
以下、本発明を図示する実施例に基づいて説明する。図1は、一般的なICカード10に、外部装置としてのリーダライタ装置20を接続し、アクセスを行っている状態を示すブロック図である。ICカード10とリーダライタ装置20とはI/Oライン30によって相互に接続されている。ここで、ICカード10には、I/Oインタフェース11、CPU12、ROM13、RAM14、EEPROM15が内蔵されている。I/Oインタフェース11は、I/Oライン30を介してデータを送受するための入出力回路であり、CPU12はこのI/Oインタフェース11を介して、リーダライタ装置20と交信することになる。ROM13内には、CPU12によって実行されるべきプログラムが記憶されており、CPU12はこのプログラムに基いて、ICカード10を統括制御する機能を有する。RAM14は、CPU12がこのような統括制御を行う上での作業領域として使用されるメモリである。一方、EEPROM15は、このICカード10に記録すべき本来のデータを格納するメモリである。
【0022】
このICカード10に対しては、外部のリーダライタ装置20から電源やクロックが供給される。したがって、ICカード10がリーダライタ装置20と切り離されると、ICカード10への電源およびクロックの供給は停止する。しかしながら、EEPROM15は不揮発性メモリであるため、電源供給が停止した後もその記録内容はそのまま保持される。ただ、RAM14内のデータは、電源供給の停止によりすべて失われる。
【0023】
ICカード10内の各メモリ13,14,15へのアクセスは、すべてCPU12を介して行われ、外部からこれらメモリを直接アクセスすることはできない。すなわち、リーダライタ装置20からCPU12に対して所定の「コマンド」を与えると、CPU12はこの「コマンド」を解釈実行し、その結果を、リーダライタ装置20に対して「レスポンス」として返送することになる。たとえば、EEPROM15内の所定のファイルに書き込みを行う場合には、「書込コマンド」とともに書込対象となるデータをCPU12に与え、CPU12による「書込コマンド」の実行という形式で書込処理が行われることになる。逆に、EEPROM15内の所定のファイルからデータの読出しを行う場合は、所定の「読出コマンド」をCPU12に与え、CPU12による「読出コマンド」の実行という形式で読出処理が行われることになる。このように、ICカード10内において「コマンド」の実行が終了すると、実行した「コマンド」に対する「レスポンス」が外部に対して返送される。たとえば、「書込コマンド」を与えた場合には、書込処理が支障なく実行されたか否かを示す「レスポンス」が返送され、「読出コマンド」を与えた場合には、読出対象となったデータがレスポンスという形で返送されることになる。
【0024】
ただし、上述のようなEEPROM15へのアクセスは、無条件で行われるわけではなく、所定のアクセス条件が満足されることが前提となる。このアクセス条件は、個々のファイルごとに、また、個々のコマンドグループごとに設定される。これについては後述する。
【0025】
EEPROM15内には、階層構造をもったファイル管理領域が定義される。既に述べたように、このファイル管理領域は、概念的には、いわば具体的なファイルを入れる箱に相当するものであり、一般的には、このファイル管理領域は「Dedicated File」と呼ばれている。そこで本実施例では、このファイル管理領域を「DF」なる記号で示すことにし、特に、最上階層のファイル管理領域を「Master File 」の意味を示す記号「MF」で表すことにする。図2は、階層構造をもった具体的なファイル管理領域を、EEPROM15内に定義した状態を示す概念図である。最上階層に相当する階層1には、ファイル管理領域MFが定義され、その中に、階層2に相当するファイル管理領域DF1,DF2が定義され、それぞれの中に、階層3に相当するファイル管理領域DF1−1,DF1−2,DF2−1,DF2−2が定義されている。各ファイル管理領域内に示されている円で囲ったDおよびKは、それぞれ具体的なデータファイルおよびキーファイルを示す。各ファイル管理領域が「箱」であるのに対し、データファイルDおよびキーファイルKは、具体的な情報をもったファイルである。データファイルDは、本来記録すべきデータを収容したファイルであり、キーファイルKは、セキュリティ管理のために用いられるキー暗証コードを収容したファイルである。
【0026】
図3は、図2に示すファイル管理領域および各ファイルの階層構造を示すツリー図である。四角で囲ったブロックはいずれもファイル管理領域(箱)を示し、楕円で囲ったブロックは個々のデータファイル(頭に記号Dのついたファイル)およびキーファイル(頭に記号Kのついたファイル)を示す。説明の便宜上、この図3では、個々のデータファイルおよびキーファイルを特定するために、K11,D112などの番号を付して示してある。たとえば、ファイルK00,K01,D00,D01は、階層1のファイル管理領域MFの管理下にあるファイルであり、ファイルK11,K12,D11,D12は、階層2のファイル管理領域DF1の管理下にあるファイルであり、ファイルK111,K112,D111,D112は、階層3のファイル管理領域DF1−1の管理下にあるファイルである。
【0027】
このように、階層をもったファイル管理領域を定義すると、各ファイルを用途ごとに分けて管理することができる。この実施例では、このICカード10を、銀行用カード兼病院用カードとして利用する場合を述べる。図4は、各ファイル管理領域に、それぞれ大まかな用途を定義した一例を示すブロック図である。階層1のファイル管理領域MFは、このICカード10全体を統括管理する領域であり、その管理下にあるデータファイルD00,D01には、たとえば、このICカード10の所有者の氏名、住所、電話番号などの情報が記録される。これに対し、階層2のファイル管理領域DF1は、銀行業務を統括管理する領域であり、その管理下にあるデータファイルD11,D12には、たとえば、銀行がこのICカード10の所有者に付与した顧客番号、担保明細、信用情報などが記録される。また、同じ階層2のファイル管理領域DF2は、病院業務を統括管理する領域であり、その管理下にあるデータファイルD21,D22には、たとえば、病院がこのICカード10の所有者に付与した患者番号、血液型、身長、体重、緊急連絡先などの情報が記録される。
【0028】
階層3のファイル管理領域DF1−1,DF1−2,DF2−1,DF2−2は、階層2の業務を更に細分化した個別の業務を管理する領域である。たとえば、ファイル管理領域DF1−1は、銀行業務のうちの国内預金を管理する領域であり、その管理下にあるデータファイルD111,D112には、たとえば、普通預金あるいは定期預金の口座取引情報が記録される。また、ファイル管理領域DF1−2は、銀行業務のうちの外国為替を管理する領域であり、その管理下にあるデータファイルD121,D122には、たとえば、ドル立預金の取引情報や外国送金情報などが記録される。一方、ファイル管理領域DF2−1は、病院業務のうちの診療データを管理する領域であり、その管理下にあるデータファイルD211,D212には、たとえば、血液検査、レントゲン検査などの検査情報や、投薬情報などが記録される。また、ファイル管理領域DF2−2は、病院業務のうちの医療費データを管理する領域であり、その管理下にあるデータファイルD221,D222には、たとえば、初診料、診察料、健康保険点数などの情報が記録される。
【0029】
§2. セキュリティの設定方法
さて、図3に示す階層構造では、階層1に4個のファイル、階層2に8個のファイル、階層3に16個のファイル、がそれぞれ定義されているが、これら各ファイルには、それぞれ独立したアクセス条件が設定されている。図5は、1つのファイルについてのアクセス条件の設定例を示すアクセス条件テーブルである。この実施例では、アクセス条件は、コマンドグループごとに設定されている。すなわち、各ファイルに対するアクセスコマンドは、そのアクセスの態様に応じて複数のグループに分けられる。この実施例では、キー照合を行うコマンドの集合であるコマンドグループ0と、情報の読出しを行うコマンドの集合であるコマンドグループ1と、情報の追記を行うコマンドの集合であるコマンドグループ2と、情報の書換え/消去を行うコマンドの集合であるコマンドグループ3と、の4つのグループが定義されている。ただ、コマンドグループ0は、無条件でアクセス可能という設定がなされているため、アクセス条件は、コマンドグループ1〜3の3つのコマンドグループについてのみ設定されている。
【0030】
図5に示すアクセス条件は、各コマンドグループのコマンドを実行するために、開錠が必要とされるキーを特定するテーブルから構成されている。すなわち、このアクセス条件テーブルは、各コマンドグループごとに8ビットの情報からなり、各ビットは、キーK1〜K8までの8種類のキーについて、それぞれ開錠が必要であるか否かを示している。具体的には、ビット“1”は開錠必要を示し、ビット“0”は開錠不要を示す。たとえば、図5に示すようなアクセス条件が設定されたファイルに対して、情報の読出しを行うコマンドを実行する場合には、コマンドグループ1においてビット“1”が設定されている2つのキーK3,K5についての開錠が行われていなければならない。
【0031】
図5に示すアクセス条件テーブルには、更に、Rと記された9番目のビットが設けられているが、この9番目のビットは、上位階層の開錠情報の参照の有無を示す参照ビットである。すなわち、この参照ビットRに“1”が設定されていると、上位階層の開錠情報を参照することを意味し、“0”が設定されていると、上位階層の開錠情報を参照しないことを意味する。この参照ビットRの取り扱いについては、後に詳述する。
【0032】
既に述べたように、図5に示すようなアクセス条件テーブルは、図3に楕円で示したすべてのファイル(データファイルおよびキーファイル)について、それぞれ設定されており、これらの各ファイルは、このアクセス条件テーブルとともに、EEPROM15に書き込まれていることになる。より具体的には、各ファイルには、それぞれ対応するディレクトリ領域が設けられ、このディレクトリ領域内に、各ファイルの先頭アドレスやファイル長が記録されるとともに、アクセス条件テーブルが記録されることになる。
【0033】
一方、RAM14内には、開錠情報が記録される。この開錠情報は、図5に示すアクセス条件テーブルの各キーについて、開錠されたか否かを示すものであり、たとえば、図6(a) に示すような8ビットの領域がRAM14内に確保される。この8ビットの領域は、それぞれキーK1〜K8の開錠状態を示しており、ビット“1”は開錠、ビット“0”は未開錠を示す。既に述べたように、ICカード10をリーダライタ装置20に接続すると、電源やクロックの供給が行われ、RAM14の記録内容はリセット状態となる。図6(a) に示す8ビットの開錠情報は、このリセット時において「00000000」の状態、すなわち、キーK1〜K8のいずれもが未開錠の状態となる。たとえば、キー照合コマンド「VERIFY K3 ????」をリーダライタ装置20からICカード10に与えると(????の部分には、具体的なキー暗証コードがくる)、CPU12は、所定のキーファイルからキーK3に対応するキー暗証コードを読出し、これを外部から与えられたキー暗証コード「????」と比較照合し、両者が一致していれば、図6(b) に示すように、RAM14内の開錠情報の第3ビットK3にビット“1”を書き込み、キーK3が開錠状態になったことを示す。続いて、キー照合コマンド「VERIFY K5 ????」を与えて照合を行えば、図6(c) に示すように、RAM14内の開錠情報の第5ビットK5にもビット“1”が書き込まれる。こうして、2つのキーK3,K5が開錠状態になれば、図5に示すようなアクセス条件が設定されているファイルに対して、コマンドグループ1に属するコマンドの実行が可能になる。
【0034】
以上、RAM14内の開錠情報に基くアクセス可否判定の基本原理を述べたが、本発明の特徴のひとつは、このRAM14内の開錠情報を、チャネルごとに、階層ごとに記録する点にある。すなわち、本発明では、RAM14内の開錠情報は、図6に示すような単純な構成で記録されるのではなく、図7に示すような構成をもったチャネル設定領域をRAM14内に設定し、このチャネル設定領域内に記録されることになる。この図7に示す例では、3つのチャネル設定領域(チャネル#1,#2,#3)が定義されており、各チャネル設定領域は、互いに上下の階層関係をもった3つの記録部に分割されている。すなわち、3つのチャネル設定領域のそれぞれが、階層1〜3の3つの記録部に分割され、合計9個の記録部が形成されている。ここで各記録部には、特定のファイル管理領域を示す識別情報を記録する領域(上段)と、この特定のファイル管理領域についての開錠情報を記録する領域(8区画に分割された下段)と、が設けられている。この下段の記録領域には、図6に示したような8ビットからなる開錠情報が記録され、この開錠情報と、図5に示したアクセス条件テーブルとを比較して、アクセスの可否判定が行われることになる。
【0035】
§3. 具体的な利用態様を示す実施例
続いて、上述したICカードの具体的な利用態様を、図7に示すチャネル設定領域の記録内容の変遷を追いながら説明する。この実施例では、ICカード10をリーダライタ装置20に接続した直後のリセット時には、RAM14内のチャネル設定領域の記録内容は、図8に示すような初期状態になる。すなわち、各記録部上段には、識別情報が未記録であることを示す「FFFF」なる2バイトのデータが書き込まれ、各記録部下段には、8個のキーすべてが未開錠であることを示す「00000000」なる1ビットのデータが書き込まれる。なお、以下の説明では、便宜上、この9個の記録部を図8に示すように、記録部(1,1),記録部(1,2),…,記録部(3,3)と呼ぶことにする。
【0036】
<3−1:ファイル管理領域の選択その1>
本発明では、各ファイルをアクセスする準備段階として、特定のチャネルを指定して特定のファイル管理領域を選択する作業が必要になる。この作業を行うためには、リーダライタ装置20からICカード10に対して、所定のフォーマットをもった選択コマンドを与えればよい。ここでは、たとえば、図9▲1▼に示すように、「SELECT #1 DF1」なるフォーマットで、選択コマンドを与えた場合を考える。この選択コマンドは、特定のチャネル#1を指定して、特定のファイル管理領域DF1を選択するコマンドである。このようなコマンドが与えられると、CPU12は、選択されたファイル管理領域DF1およびこれより上位階層のファイル管理領域MFの識別情報を、指定されたチャネル設定領域(チャネル#1)内のそれぞれの階層に対応した記録部の上段に書き込んで記録済状態とし、各記録部の下段にはすべてのキーが未開錠であることを示す開錠情報を書き込む処理を行う。図9は、このような処理が行われた直後のチャネル設定領域の状態を示している。各記録部の上段には、実際には、特定のファイル管理領域を示す2バイトの識別情報が書き込まれるが、図では、説明の便宜上、各ファイル管理領域名(MF,DF1)を直接書き込んだ状態を示してある。また、図が繁雑になるのを避けるため、説明に直接関連しない未記録状態の記録部は空欄にして示すことにするが、実際には、これらの空欄には、図8に示すように、「FFFF(上段)」もしくは「00000000(下段)」なるデータが書き込まれている。
【0037】
結局、各チャネル設定領域を構成する記録部のうち、上段が「FFFF」である記録部は未記録状態の記録部を示し、上段が「FFFF」以外である記録部は記録済状態の記録部を示す。そして、各チャネル設定領域において、記録済状態にある最下層の記録部に識別情報が記録されているファイル管理領域が、当該チャネルについて現在選択されているファイル管理領域となる。図9に示す例の場合、チャネル#1の領域において、記録済状態にある最下層の記録部(2,1)には、ファイル管理領域DF1を示す識別情報が書き込まれているので、チャネル#1について現在選択されているファイル管理領域は、DF1ということになる。このとき、チャネル#1の上位階層の記録部(1,1)には、ファイル管理領域MFの識別情報が書き込まれているが、これは、現在選択されているファイル管理領域DF1の階層構造上の親がMFであることを示す役目を果たすとともに、後述するように、上位階層の開錠情報を参照する設定を可能にするためのものである。
【0038】
本発明では、このように特定のチャネルを指定して特定のファイル管理領域を選択するコマンドが与えられたときには、選択されたファイル管理領域およびこれより上位階層のファイル管理領域の識別情報が、指定されたチャネル設定領域内のそれぞれの階層に対応した記録部に書き込まれ、選択されたファイル管理領域より下位階層に相当する記録部は未記録状態とされる。したがって、たとえば、図9▲1▼に示す「SELECT #1 DF1」なる選択コマンドの代わりに、図10▲1▼に示す「SELECT #1 DF1−2」なる選択コマンドを与えて、階層3のファイル管理領域DF1−2を選択した場合には、チャネル#1の記録内容は図10に示すようなものになる。この図10では、記録済状態にある最下層の記録部(3,1)には、ファイル管理領域DF1−2を示す識別情報が書き込まれているので、チャネル#1について現在選択されているファイル管理領域は、DF1−2ということになる。
【0039】
<3−2:キーの照合その1>
続いて、キーの照合が行われた場合の、チャネル設定領域の更新処理を説明する。本発明では、キーの照合は、特定のチャネルを指定して所定のキー照合を行うコマンドを与えることによって行われる。たとえば、いま、図9に示すように、チャネル#1としてファイル管理領域DF1が選択されている状態において、この選択されているファイル管理領域DF1についてのキー照合を行う場合を考える。ここでは、キーK3とキーK5の照合を行うものとしよう。この場合、まず、図11▲1▼に示すような「VERIFY #1 K3 ????」なる照合コマンドを与えればよい。ここで、「????」は具体的なキー暗証コードであり、CPU12は、チャネル#1として選択されているファイル管理領域DF1内の所定のキーファイルから、キーK3の暗証コードを読出し、これを外部から与えられたキー暗証コード「????」と比較照合する。そして、両者が一致すれば、図11の記録部(2,1)の下段第3ビット目に開錠状態を示すビット“1”を書き込む処理を行う。続いて、図11▲2▼に示すような「VERIFY #1K5 ????」なる照合コマンドが与えられたら、キーK5の照合を行い、一致すれば、第5ビット目にビット“1”を書き込む処理を行う。図11に示す記録部(2,1)のビット状態は、このような処理が行われた直後の状態を示している。
【0040】
結局、本発明において、特定のチャネルを指定して所定のキー照合を行うコマンドが与えられた場合には、指定されたチャネル設定領域内の記録済状態にある最下層の記録部(上述の例の場合は、記録部(2,1))に記録されている開錠情報を、キー照合の結果に基いて更新する更新処理が行われることになる。
【0041】
<3−3:ファイルのアクセス>
本発明におけるファイルのアクセスは、特定のチャネルを指定して所定の対象ファイルをアクセスするコマンドを与えることによって行われる。たとえば、図4に示すような用途が定義されている状態において、銀行業務全般に用いるデータ(たとえば、顧客番号)を、ファイル管理領域DF1の管理下にあるデータファイルD11から読み出す処理を行う場合を考えよう。ここでは、より具体的に、データファイルD11内の第8レコードを読み出すことにする。本発明では、このように特定のファイルをアクセスする場合も、必ず特定のチャネルを指定する必要がある。しかも、指定するチャネルは、アクセス対象ファイルを管理するファイル管理領域を現在選択中のチャネルでなければならない。別言すれば、特定のファイルをアクセスするコマンドを与える前には、必ず、そのアクセス対象ファイルを管理するファイル管理領域を特定のチャネルを用いて選択しておく必要がある。
【0042】
上述の実施例の場合、図9▲1▼に示す「SELECT #1 DF1」なる選択コマンドにより、チャネル#1を用いてファイル管理領域DF1を選択し、更に、図11▲1▼,▲2▼に示す照合コマンドにより、キーK3,K5を開錠状態にしておけば、データファイルD11内の第8レコードを読み出すことが可能になる。具体的には、図11▲3▼に示す「READ #1 D11 REC8」なるアクセスコマンドを与えればよい。CPU12は、このようなファイルアクセスのコマンドを受け取ると、まず、指定されたチャネル設定領域内の記録済状態にある最下層の記録部(この例の場合、記録部(2,1))に記録されている識別情報で特定されるファイル管理領域(この例の場合、ファイル管理領域DF1)内に、アクセスの対象ファイル(この例の場合、データファイルD11)が所属しているか否かを判断する。もし所属していなかった場合には、アクセス対象ファイルが発見できない旨のエラーレスポンスがリーダライタ装置20側に伝達される。上述の例の場合、アクセスの対象ファイルD11は、ファイル管理領域DF1内に所属しているファイルとして発見されるので、エラーは生じない。
【0043】
アクセス対象のファイルが発見されたら、続いて、アクセス条件が満たされているか否かの判定が行われる。すなわち、CPU12は、指定されたチャネル設定領域内の記録済状態にある最下層の記録部(この例の場合、記録部(2,1))に記録されている開錠情報(この例の場合、「00101000」)と、アクセス対象のファイルについて設定されているアクセス条件(たとえば、図5に示すようなアクセス条件テーブル)と、を比較し、アクセス条件が満足されているか否かを判断するのである。この例の場合、「READ」なるコマンドは、コマンドグループ1に所属する読出しコマンドであるから、図5のアクセス条件テーブルによれば、キーK3およびK5が開錠状態になっていれば、アクセス可能である。図11に示す記録部(2,1)の開錠情報は、この条件を満たしている。よって、データファイルD11に対するアクセスは許可され、第8レコードの内容がリーダライタ装置20側へ読み出されることになる。
【0044】
<3−4:ファイル管理領域の選択その2>
図11に示す状態では、チャネル#1を用いてファイル管理領域DF1が選択状態となっているので、チャネル#1を指定したアクセスコマンドでは、ファイル管理領域DF1の管理下にあるファイルしかアクセスすることはできない。たとえば、ここで、外国為替に関する処理を行うために、ファイル管理領域DF1−2の管理下にあるデータファイルD121をアクセスする必要が生じたものとしよう。この場合、新たに、ファイル管理領域DF1−2を選択しなおす必要がある。そこで、図12▲1▼に示すような選択コマンド「SELECT #1 DF1−2」を与えたとする。すると、チャネル設定領域の状態は、図12に示すようになる。図12と図11との相違点は、図12では、新たに記録部(3,1)が記録済状態になっている点である。ここで留意すべき点は、図11における記録部(2,1)の開錠状態が、図12においてもそのまま維持されている点である。
【0045】
この留意点は、図12と図10とを比較すればより明確になる。図10は、図8に示す初期状態において「SELECT #1 DF1−2」なる選択コマンドを与えた状態を示すのに対し、図12は、図11に示す中途状態において「SELECT #1 DF1−2」なる同じ選択コマンドを与えた状態を示す。別言すれば、図10に示す状態は、何もない初期状態からファイル管理領域DF1−2に至るまでの階層上のパスを定義した場合に得られる状態であるのに対し、図12に示す状態は、図11に示すように、ファイル管理領域DF1に至るまでの階層上のパスを更に階層3のファイル管理領域DF1−2まで伸ばした場合に得られる状態であると言える。このようにパスを伸ばした場合には、伸ばした部分についての開錠状態は、未開錠を示す「00000000」が設定されるが、もとの部分についての開錠状態はもとの状態がそのまま維持されることになる。
【0046】
要するに、所定のチャネルを用いてファイル管理領域を選択する選択コマンドが実行された場合、識別情報が更新されなかった記録部(図12の例の場合、記録部(1,1)および記録部(2,1))については開錠情報をそのまま維持し、識別情報が更新された記録部(図12の例の場合、記録部(3,1))については未開錠を示す開錠情報「00000000」を書き込む処理が実行されることになる。
【0047】
<3−5:上位階層の開錠情報の参照>
さて、図12に示す状態では、チャネル#1を用いてファイル管理領域DF1−2が選択されているので、このファイル管理領域DF1−2に対するキー照合処理を行い、必要な開錠操作を行えば、ファイル管理領域DF1−2の管理下にあるデータファイルD121に対するアクセスが許可されることになる。たとえば、データファイルD121からデータを読み出すためのアクセス条件として、3つのキーK3,K5,K6の開錠が要求されていたとしよう。この場合、図13▲1▼の「VERIFY #1 K3 ????」、図13▲2▼の「VERIFY #1 K5 ????」、図13▲3▼の「VERIFY #1 K6 ????」なるキー照合コマンドを与えて開錠操作を行えば、チャネル設定領域は図13に示すような状態となり、記録部(3,1)に、3つのキーK3,K5,K6が開錠状態となったことが記録される。そこで、更に、図13▲4▼の「READ #1D121 REC5」なるアクセスコマンドを与えれば、アクセス条件は満足されているため、データファイルD121の第5レコードがリーダライタ装置20側に読み出されることになる。
【0048】
しかしながら、図11▲1▼,▲2▼において、既にキーK3,K5の照合は完了しているので、図13▲1▼,▲2▼におけるキーK3,K5の照合処理は、冗長な処理操作となっている。実用上は、このように階層間で同一のキー照合をアクセス条件に設定することが少なくない。たとえば、図4に示すように、銀行業務全般を管理するファイル管理領域DF1においては、銀行顧客認証キーK3と銀行支店認証キーK5との照合をアクセス条件として設定し、その下位階層のファイル管理領域DF1−2においては、これらのキー照合に加えて、更に外国為替取扱権限キーK6の照合を付加的なアクセス条件として設定するというような利用形態は、実用上、多用される利用形態である。このような場合、ファイル管理領域DF1のアクセス時に既にキーK3,K5の照合が完了しているのであれば、続いてファイル管理領域DF1−2をアクセスする時には、キーK6の照合を行うだけで十分である。図5のアクセス条件テーブルにおいて示した参照ビットRは、このような便宜を考えて設けたものである。
【0049】
たとえば、データファイルD121に対して読出しコマンドを実行するためのアクセス条件テーブルの参照ビットRが、ビット“1”(参照する)に設定されていた場合には、図13▲1▼〜▲4▼の代わりに、図14▲1▼,▲2▼の2つのコマンドを与えるだけで、データファイルD121の第5レコードがリーダライタ装置20側に読み出されることになる。この場合、ファイル管理領域DF1−2を選択した状態でのキー照合は、キーK6についてのみ行われ、記録部(3,1)の開錠情報は、図14に示すように、キーK6のビットのみが“1”(開錠状態)となる。しかしながら、上位階層の開錠情報(この例の場合、記録部(2,1)の開錠情報)が参照されるので、ファイル管理領域DF1−2の開錠情報は、その上位階層のファイル管理領域DF1の開錠情報「00101000」と自己の開錠情報「00000100」とを融合させた融合開錠情報「00101100」(この実施例の場合、融合開錠情報は個々の開錠情報の各ビットごとの論理和をとることにより得られる)として取り扱われることになり、アクセス条件は満足されていると判断されることになる。
【0050】
このように、上位階層の開錠情報を参照できる旨の設定を行っておけば、冗長な照合処理を省略することができ、十分なセキュリティを確保しつつ使い勝手の良いアクセスが可能になる。もちろん、高度なセキュリティを必要とするファイルに対しては、参照ビットRを“0”とし、参照を行わないような設定にしておけばよい。
【0051】
<3−6:ファイル管理領域の選択その3>
さて、外国為替に関するデータファイルD121のアクセスが完了した後に、銀行業務一般用のデータファイルD11を再度アクセスする必要が生じた場合を考えよう。この場合、データファイルD11を管理するファイル管理領域DF1を再度選択しなければならない。それには、図15▲1▼に示すように、「SELECT #1 DF1」なる選択コマンドを実行すればよい。これにより、チャネル設定領域は図15に示す状態に更新される。図14と図15とを比較すればわかるように、図15では、記録部(3,1)が初期状態(未記録状態)に戻されている。このように階層3を未記録状態にすれば、記録済状態にある最下層の記録部(2,1)には、ファイル管理領域DF1の識別情報が書き込まれているので、現時点で、チャネル#1はファイル管理領域DF1を選択している状態に戻ることになる。
【0052】
このように、特定のファイル管理領域の選択を行った場合、選択されたファイル管理領域より下位階層に相当する記録部は未記録状態となり、開錠情報は未開錠を示す「00000000」となる点は留意すべきである。このように、下位階層のファイル管理領域を選択していた状態から、その上位階層のファイル管理領域を選択する状態に移行した場合に、下位階層の開錠情報を初期状態(未開錠状態)に戻すことは、セキュリティを確保する上で重要である。一般に、階層構造をもったファイル管理領域を構築した場合、下位階層へゆくに従って、より高度なセキュリティが要求される。したがって、上位階層へ戻った場合には、下位階層についての開錠情報を初期状態に戻し、再び下位階層へのアクセスを行う場合には、再度の開錠操作が要求されるようにしておくのが、セキュリティ確保の上からは好ましい。
【0053】
<3−7:ファイル管理領域の選択その4>
上述したように、選択ファイル管理領域を上位階層に戻した場合、下位階層の開錠情報は未開錠状態に戻される。すなわち、図14から図15への変遷により、記録部(3,1)の情報は失われることになる。このような処理は、セキュリティを確保する上では好ましいが、使い勝手の良いアクセスを行う上では障害となる。たとえば、データファイルD11とD121とを交互にアクセスする必要が生じた場合、ファイル管理領域DF1とDF2−1とを交互に選択しなければならないが、上位階層のファイル管理領域DF1を選択した時点で、図15に示すように、下位階層のファイル管理領域DF1−2の開錠情報が失われてしまうため、同じ照合操作を何度も繰り返さなくてはならなくなる。このような弊害を避けるためには、別なチャネルを用いた選択を行えばよい。
【0054】
たとえば、図14に示す状態において、図15▲1▼の「SELECT #1 DF1」なる選択コマンドを与える代わりに、図16▲1▼の「SELECT #2 DF1」なる選択コマンドを与えるのである。すると、図16に示すように、チャネル#1を用いてファイル管理領域DF1−2を選択した状態のまま、チャネル#2を用いてファイル管理領域DF1を選択することが可能になる。チャネル#2の各記録部には、選択されたファイル管理領域DF1およびその上位階層のファイル管理領域MFの識別情報が書き込まれる。
【0055】
ここで留意すべき点は、図16において、記録部(1,1)内の開錠情報が記録部(1,2)へ複写され、記録部(2,1)内の開錠情報が記録部(2,2)へ複写される点である。この複写処理の意図するところは、1つのチャネルにおいて既に完了している照合処理については、別なチャネルにおいても照合処理を不要にすることである。図16に示す例では、チャネル#1においてファイル管理領域DF1のキーK3,K5の照合処理が既に完了しているが、記録部(2,1)内の開錠情報が記録部(2,2)へ複写されるため、チャネル#1においてもファイル管理領域DF1のキーK3,K5の照合処理が既に完了した状態となる。よって、チャネル#2を用いてファイル管理領域DF1の管理下にあるファイルD11をアクセスする場合は、キーK3,K5の照合処理をあらためて行う必要はなく、図16▲2▼に示す「READ #2 D11 REC25」のようなアクセスコマンドを与えることにより、ファイルD11内の第25レコードの読出しが可能になる。
【0056】
前述したように、特定のファイル管理領域を選択するコマンドが実行されると、チャネル設定領域を構成する各記録部(この例の場合、記録部(1,2)および記録部(2,2))の識別情報が更新されることになるが、この更新された識別情報(この例の場合、MFおよびDF1)と同一の識別情報が記録されている他の記録部(この例の場合、記録部(1,1)および記録部(2,1))が存在する場合には、この他の記録部に記録されている開錠情報をそのまま複写する処理が行われることになる点が、本発明のひとつの特徴である。
【0057】
<3−8:ファイル管理領域の選択その5>
続いて、図16に示す状態において、今度は、医療費データに関するデータファイルD222をアクセスする必要が生じたため、図17▲1▼に示す「SELECT #1 DF2−2」なる選択コマンドを与えた場合を考える。この場合、チャネル#1は図17のように更新されることになる。最上層のMFに変わりはないので、記録部(1,1)の記録内容は、開錠情報も含めてそのまま維持されるが、階層2,階層3は識別情報がDF2,DF2−2に更新され、それぞれの開錠情報は未開錠を示す状態になる。このように、チャネル#1としては、記録部(2,1)の内容は、DF1からDF2へと更新されてしまうが、DF1の情報は記録部(2,2)に複写されているため、チャネル#1が更新されたとしても、DF1の開錠情報はチャネル#2としてそのまま残ることになる。ただし、図16において記録部(3,1)に記録されていたDF1−2の開錠情報は失われてしまう。
【0058】
DF1−2の開錠情報をそのまま維持したい場合には、図17▲1▼に示す「SELECT #1 DF2−2」なる選択コマンドの代わりに、図18▲1▼に示す「SELECT #3 DF2−2」なる選択コマンドを与えればよい。すると、図18に示すように、チャネル#1を用いてファイル管理領域DF1−2を選択し、チャネル#2を用いてファイル管理領域DF1を選択した状態のまま、新たに、チャネル#3を用いてファイル管理領域DF2−2を選択することが可能になる。チャネル#3の各記録部には、選択されたファイル管理領域DF2−2およびその上位階層のファイル管理領域MF,DF2の識別情報が書き込まれる。この場合もやはり、記録部(1,2)内の開錠情報が記録部(1,3)へと複写される。要するに、この複写処理は、同じ識別情報をもった記録部の開錠情報が常に同一となるようにするための処理と言うことができる。図18の例では、記録部(1,1),(1,2),(1,3)は、いずれも同一の識別情報「MF」をもった記録部であるから、開錠情報は「00000000」と同一となり、記録部(2,1),(2,2)は、いずれも同一の識別情報「DF1」をもった記録部であるから、開錠情報は「00101000」と同一となっている。複写処理は、このような同一性を維持するための処理である。
【0059】
さて、続いて、医療費データに関するデータファイルD222をアクセスするために、図19▲1▼に示す「VERIFY #3 K7 ????」なる照合コマンドおよび図19▲2▼に示す「VERIFY #3 K8 ????」なる照合コマンドを与えることにより、ファイル管理領域DF2−2のキーK7,K8を開錠した場合を考える。この場合、図19に示すように、記録部(3,3)には、キーK7,K8が開錠状態になったことが書き込まれる。そこで、図19▲3▼に示す「READ #3 D222 REC4」なる読出しコマンドを与えれば、データファイルD222の第4レコード(たとえば、医療費未精算額)がリーダライタ装置20側へと読み出されることになる。
【0060】
ここで、この医療費未精算額について、国内預金データを示すファイルD111を書換えて振替精算する処理を行ってみよう。この場合、たとえば、図20▲1▼に示す「SELECT #1 DF1−1」なる選択コマンドを与え、チャネル#1を更新すればよい。図20に示すように、記録部(3,1)の識別情報が、DF1−2からDF1−1へと更新され、開錠情報は未開錠の状態となる。そこで、図21▲1▼に示す「VERIFY #1 K6 ????」なる照合コマンドおよび図21▲2▼に示す「VERIFY #1 K7 ????」なる照合コマンドを与えることにより、ファイル管理領域DF1−1のキーK6,K7を開錠し、図21▲3▼に示す「WRITE #1 D111 REC8 (DATA)」なる書込コマンドを与えれば、データファイルD111の第8レコードに、医療費未精算額を示す(DATA)が書き込まれることになる。
【0061】
続いて、外国為替処理を行うために、ファイル管理領域DF1−2を選択する必要が生じたので、図22▲1▼に示す「SELECT #3 DF1−2」なる選択コマンドを与え、チャネル#3を更新したとする。すると、図22に示すように、記録部(1,3)の識別情報はMFのままであるが、記録部(2,3)の識別情報はDF1に更新され、記録部(3,3)の識別情報はDF1−2に更新される。こうして更新された記録部の開錠情報は、原則として未開錠の状態となるが、上述した同一性維持を図るため、同じ識別情報をもった記録部が他のチャネルにある場合には、開錠情報の複写処理を行う。図22の例では、DF1なる同じ識別情報をもった記録部(2,2)もしくは(2,1)の開錠情報が、記録部(2,3)へと複写されることになる。
【0062】
<3−9:キーの照合その2>
続いて、図23▲1▼に示すような「VERIFY #2 K8 ????」なる照合コマンドにより、ファイル管理領域DF1についてのキーK8を照合する処理を行ったとする。キーK8が照合一致すれば、記録部(2,2)の開錠情報は、「00101000」の状態から、「00101001」の状態へと更新され、図23▲2▼に示すような「WRITE #2 D11 REC7 (DATA)」なる書込コマンドを与えることにより、データファイルD11の第7レコードに(DATA)が書き込まれることになる。ところで、上述した同一性維持を図るためには、このような開錠情報の更新があった場合にも複写処理を行う必要がある。すなわち、図23に示すように、記録部(2,2)の開錠情報が更新された場合には、同じDF1なる識別情報をもった記録部(2,1)および(2,3)へ、更新された記録部(2,2)の開錠情報を複写する処理が行われる。
【0063】
このように、複写処理は、選択コマンドによりチャネルが更新された場合だけでなく、照合コマンドにより開錠情報が更新された場合にも行う必要がある。要するに、特定の記録部の開錠情報が更新された場合には、同一の識別情報をもった記録部についても、同様の更新が行われるように複写処理を実行すればよい。
【0064】
§4. CPU12の行う処理
上述した§3では、本発明に係るICカードの利用形態を、チャネル設定領域の記録内容の変遷を追いながら、具体例に即して説明した。このような利用形態を実現させるためには、結局、CPU12は各コマンドに対して次のような処理を行えばよいことがわかる。
【0065】
<4−1:選択コマンド>
特定のチャネルを指定して特定のファイル管理領域を選択するコマンド(たとえば、図22▲1▼「SELECT #3 DF1−2」)が与えられたときには、選択されたファイル管理領域およびこれより上位階層のファイル管理領域の識別情報を、指定されたチャネル設定領域内のそれぞれの階層に対応した記録部に書き込んで記録済状態とし、選択されたファイル管理領域より下位階層に相当する記録部は未記録状態とする書込処理を行う(たとえば、図22参照)。そして、この書込処理によって、識別情報が更新されなかった記録部(図22の記録部(1,3))については開錠情報をそのまま維持し、識別情報が更新された記録部については、この更新された識別情報と同一の識別情報(図22のDF1)が記録されている他の記録部(図22の記録部(2,2))が存在する場合には、この他の記録部に記録されている開錠情報をそのまま複写し、そのような他の記録部が存在しない場合には、未開錠を示す開錠情報を書き込む処理を行う(図22の記録部(3,3))。
【0066】
<4−2:照合コマンド>
特定のチャネルを指定して所定のキー照合を行うコマンド(たとえば、図23▲1▼「VERIFY #2 K8 ????」)が与えられたときには、指定されたチャネル設定領域内の記録済状態にある最下層の記録部(たとえば、図23の記録部(2,2))に記録されている開錠情報をキー照合の結果に基いて更新する更新処理を行い、この最下層の記録部に記録されている識別情報と同一の識別情報(DF1)が記録されている別な記録部(たとえば、図23の記録部(2,1),(2,3))が存在する場合には、更新処理によって更新された開錠情報を、この別な記録部にそのまま複写する処理を行う。
【0067】
<4−3:アクセスコマンド>
特定のチャネルを指定して所定の対象ファイルをアクセスするコマンド(たとえば、図11▲3▼「READ #1 D11 REC8」)が与えられたときには、指定されたチャネル設定領域内の記録済状態にある最下層の記録部(たとえば、図11の記録部(2,1))に記録されている識別情報で特定されるファイル管理領域(DF1)内にアクセス対象ファイル(D11)が所属し、かつ、この最下層の記録部に記録されている開錠情報(「00101000」)が、アクセス対象ファイルのアクセス条件(たとえば、図5のコマンドグループ1の条件)を満足する場合に、アクセス対象ファイルに対するアクセスを可能とする。
【0068】
§5. その他の実施例
以上、本発明を図示する実施例に基いて説明したが、本発明はこれらの実施例に限定されるものではなく、この他にも種々の態様で実施可能である。たとえば、上述の実施例では、図5に示すアクセス条件テーブルの参照ビットRを“1”にしておくことにより、上位階層の開錠情報を参照できることを説明した。この参照ビットRは、上述の実施例では、個々のファイルごとにそれぞれ設定していたが、個々のファイル管理領域ごとに1つの参照ビットRを設定してもよい。この場合、複数階層にわたって参照が行われることもありうる。たとえば、図3において、ファイル管理領域DF1−1について「参照する」の設定を行い、更に、ファイル管理領域DF1についても「参照する」の設定を行っておけば、たとえば、階層3のデータファイルD111に対するアクセスを行う場合には、ファイル管理領域DF1−1,DF1,MFの3つの開錠情報の各ビットごとの論理和をとった融合開錠情報に基いて、アクセス条件の判断が行われることになる。
【0069】
また、上述の実施例では、参照ビットRのビット状態に応じて、上位階層の開錠情報を「参照する」か「参照しない」かの設定を行っていたが、特定の階層については、常に「参照する」旨の設定を行うことも可能である。たとえば、最上位階層のファイル管理領域MFは、このICカードの記録領域全体を統括管理する領域であり、ICカード10をリーダライタ装置20に接続した後、まず第1の照合操作として、カード所有者キーなど基本的なキー照合操作が、このファイル管理領域MFについて行われるのが一般的である。そこで、実用上は、第2階層以下の各ファイル管理領域については、最上位階層のファイル管理領域MFの開錠情報を常に参照する旨の設定を行っておくと便利である。このような設定は、わざわざ参照ビットRを用いて行う必要はなく、ROM13内のプログラムに、常にファイル管理領域MFの開錠情報を参照するようなルーチンを組み込んでおけばよい。
【0070】
なお、上述の実施例では、説明の便宜上、図7に示すような3×3の配列をもった記録部をRAM14内に定義する例を述べたが、実際には、最上位階層は必ずファイル管理領域MFが占めることになるので、最上位階層については、複数のチャネルを代表する単一の記録部のみを用意しておけば足りる。すなわち、図24に示すように、階層1としては、ファイル管理領域MF専用の記録部を1つだけ設けておけばよく、この記録部には、開錠情報を記録する領域だけを設けておけば足りる。このような構成にすれば、ファイル管理領域MF内の開錠情報については、チャネル間での複写処理も不要になる。
【0071】
【発明の効果】
以上のとおり本発明によれば、携帯可能情報記録媒体において、用途ごとに別々のセキュリティ設定がなされ階層構造をもったファイルに対して、十分なセキュリティを確保しつつ使い勝手の良いアクセスが可能になる。
【図面の簡単な説明】
【図1】一般的なICカード10に、外部装置としてのリーダライタ装置20を接続し、アクセスを行っている状態を示すブロック図である。
【図2】階層構造をもった具体的なファイル管理領域を、EEPROM15内に定義した状態を示す概念図である。
【図3】図2に示すファイル管理領域および各ファイルの階層構造を示すツリー図である。四角で囲ったブロックはいずれもファイル管理領域を示し、楕円で囲ったブロックは個々のデータファイル(頭に記号Dのついたファイル)およびキーファイル(頭に記号Kのついたファイル)を示す。
【図4】各ファイル管理領域に、それぞれ大まかな用途を定義した一例を示すブロック図である。
【図5】EEPROM15内において、各ファイルについてのアクセス条件の設定例を示すアクセス条件テーブルである。
【図6】RAM14内に確保されるキーK1〜K8の開錠状態を示す8ビットの領域を示す図である。
【図7】本発明において用いられるチャネル設定領域の一例を示す図である。
【図8】図7に示すチャネル設定領域の初期状態の記録内容を示す図である。
【図9】図8に示す初期状態において、チャネル#1を用いてファイル管理領域DF1を選択するコマンドを実行した状態を示す図である。
【図10】図8に示す初期状態において、チャネル#1を用いてファイル管理領域DF1−2を選択するコマンドを実行した状態を示す図である。
【図11】図9に示す状態において、ファイル管理領域DF1に対するキー照合コマンドを実行した状態を示す図である。
【図12】図11に示す状態において、チャネル#1を用いてファイル管理領域DF1−2を選択するコマンドを実行した状態を示す図である。
【図13】図12に示す状態において、ファイル管理領域DF1−2に対するキー照合コマンドを実行した状態を示す図である。
【図14】上位階層の開錠状態を参照する処理を説明する図である。
【図15】図14に示す状態において、チャネル#1を用いてファイル管理領域DF1を再選択するコマンドを実行した状態を示す図である。
【図16】図14に示す状態において、チャネル#2を用いてファイル管理領域DF1を再選択するコマンドを実行した状態を示す図である。
【図17】図16に示す状態において、チャネル#1を用いてファイル管理領域DF2−2を選択するコマンドを実行した状態を示す図である。
【図18】図16に示す状態において、チャネル#3を用いてファイル管理領域DF2−2を選択するコマンドを実行した状態を示す図である。
【図19】図18に示す状態において、ファイル管理領域DF2−2に対するキー照合コマンドを実行した状態を示す図である。
【図20】図19に示す状態において、チャネル#1を用いてファイル管理領域DF1−1を選択するコマンドを実行した状態を示す図である。
【図21】図20に示す状態において、ファイル管理領域DF1−1に対するキー照合コマンドを実行した状態を示す図である。
【図22】図21に示す状態において、チャネル#3を用いてファイル管理領域DF1−2を選択するコマンドを実行した状態を示す図である。
【図23】図22に示す状態において、ファイル管理領域DF1に対するキー照合コマンドを実行した状態を示す図である。
【図24】最上位階層について、複数のチャネルを代表する単一の記録部のみを用意したチャネル設定領域の一例を示す図である。
【符号の説明】
10…ICカード
11…I/Oインタフェース
12…CPU
13…ROM
14…RAM
15…EEPROM
D…データファイル
DF…ファイル管理領域
K…キーファイル
K1〜K8…キー
MF…最上位階層のファイル管理領域
R…参照ビット
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a portable information recording medium, in particular, a recording medium including a CPU and a memory accessed by the CPU.
[0002]
[Prior art]
Portable information recording media represented by IC cards are attracting attention as next-generation media to replace magnetic cards. Recently, due to technological innovation for miniaturization and cost reduction of semiconductor integrated circuits, IC cards have come into practical use in various systems.
[0003]
In particular, an IC card with a built-in CPU has not only a function as a simple information recording medium but also an information processing function, so that it is expected to be used in an information processing system that requires high security. Generally, a non-volatile memory such as an EEPROM is built in the IC card, and information is recorded as a file in the EEPROM. Moreover, since access to the EEPROM is performed by the built-in CPU, if a predetermined access condition is set in advance, access to the file is permitted only when the built-in CPU determines that the access condition is satisfied. Can be. Usually, collation for several keys is set as an access condition. That is, a key is written in advance in the EEPROM, and the internal key and a key given from the outside are compared and collated by the built-in CPU, and when the two match, it is determined that the key is unlocked. It is.
[0004]
As the key, a key for authenticating a specific target person (for example, an IC card owner, an issuer, etc.) or a key for authenticating specific hardware (for example, a terminal device) is used. Yes. Normally, a plurality of these keys are used, and the unlocking of a plurality of keys is often set as a condition for accessing a file. That is, a specific key combination is required as an access condition for a specific file. In order to set different access conditions for each file, it is common to provide a directory area for each file, and write information specifying the key that needs to be unlocked in this directory area. It is. In this case, when an access command for each file is given from the outside, the built-in CPU first refers to the directory area for the access target file, and the unlocking operation for the key that needs to be verified has been completed. Only the access command is executed.
[0005]
[Problems to be solved by the invention]
An IC card has a larger data storage capacity than a magnetic card, and can store a large number of files in a built-in nonvolatile memory. In addition, the capacity of built-in nonvolatile memories such as EEPROMs is expected to increase more and more in the future due to advances in semiconductor integrated circuit manufacturing technology. For this reason, it is expected that a usage form in which one IC card is used for a plurality of purposes will be generalized. For example, a single IC card can be used for a plurality of uses such as a bank card, a credit card, a transportation prepaid card, and a hospital card.
[0006]
In such an IC card corresponding to a plurality of uses, it is necessary to prepare a separate file for each use, and it is necessary to set access conditions for each file separately. Moreover, it is anticipated that the number of usage modes in which a plurality of files with different uses will be accessed alternately will increase in the future. For example, when paying medical expenses by transferring the medical expenses written in the hospital card portion from the deposit balance written in the bank card portion, the hospital file and bank file Need to be accessed alternately. In this case, since the security for the hospital file and the security for the bank card are set separately, each time each file is accessed, an unlocking operation is required, resulting in a problem that the usability is poor.
[0007]
As a technique for improving the usability of such a versatile IC card, a method of introducing the concept of an access channel and performing an unlocking operation for each individual access channel has been proposed. For example, Japanese Patent Application Laid-Open No. 7-160547 discloses a method of defining different identification numbers for each channel and recording the unlocked state for each channel. However, in the case of files having a hierarchical structure, when different security is set for each use, it is not possible to obtain sufficient usability to access various files in a mixed manner.
[0008]
In view of this, the present invention provides a portable information recording medium in which different security settings are made for each application, and which allows easy access to a file having a hierarchical structure while ensuring sufficient security. Objective.
[0009]
[Means for Solving the Problems]
  (1) A first aspect of the present invention includes a CPU for executing a command given from the outside, a first memory and a second memory accessed by the CPU, and the first memory includes: A file management area having a hierarchical structure is defined, a predetermined file is recorded in each file management area together with a predetermined access condition, and unlocking information related to the access condition is recorded in the second memory, In the portable information recording medium that determines whether or not access to each file in the first memory is made by comparing the unlocking information and the access condition for each file,
  The access command for the file is divided into a plurality of groups according to the access mode, the access condition is set for each file in the first memory, and the unlock information of the upper hierarchy is stored in each group. Set whether to refer to each group,
  A plurality of channel setting areas are provided in the second memory, and each channel setting area is divided into a plurality of recording sections having upper and lower hierarchical relationships, and a specific file management area is shown in each recording section. An identification information recording unit for recording identification information, and an unlocking information recording unit for recording unlocking information for this specific file management area,
  When a command is given to select a specific file management area by specifying a specific channel, the identification information of the selected file management area and the file management area of a higher hierarchy is displayed in the specified channel setting area. Unique data indicating that the identification information is in an unrecorded state in the identification information recording unit corresponding to the lower layer than the selected file management area, written in the identification information recording unit corresponding to each layer and set to the recorded state. For the recording unit in which the identification information is not updated by this writing processing, the unlocking information is maintained as it is, and for the recording unit in which the identification information is updated. If there is another recording unit in which the same identification information as this updated identification information is recorded, it is recorded in the other recording unit. The lock information as it is copied, in the absence of such other recording section performs a process of writing the unlocking information indicating a primitive tablets,
  When a command for specifying a specific channel and performing a specified key verification is given, the unlock information recorded in the recording unit at the lowest layer in the recorded state within the specified channel setting area is used for key verification. Update processing is performed based on the result, and when there is another recording unit in which the same identification information as the recording information recorded in the lowermost recording unit exists, it is updated by the update processing. The process of copying the unlocked information directly to this separate recording section,
  When given a command to access a given target file by specifying a specific channel,(i) The target file belongs to the file management area specified by the identification information recorded in the recording section of the lowest layer in the recorded state within the specified channel setting area, and the command given to the target file is When the group to which the unlocking information is set not to refer to the unlocking information in the upper hierarchy, the unlocking information recorded in the lowermost recording section is changed to the group to which the command given in the target file belongs. When the set access conditions are satisfied, the target file can be accessed, (ii) The target file belongs to the file management area specified by the identification information recorded in the recording section of the lowest layer in the recorded state within the specified channel setting area, and the command given to the target file is When the group to which it belongs is set to refer to the unlocking information of the upper hierarchy, the fusion that fuses the unlocking information recorded in the lowermost recording section and the unlocking information of the upper hierarchy Enables access to the target file when the unlock information satisfies the access conditions set for the group to which the given command of the target file belongs.It is what I did.
[0011]
  (2)   Of the present inventionSecondAspects of the aboveFirstIn the portable information recording medium according to the aspect of
  For each file management area below the second hierarchy, a setting is made to always refer to the unlock information of the file management area of the highest hierarchy.
[0013]
  (3)   Of the present inventionThirdAspects of the above1st or 2ndIn the portable information recording medium described in
  As for the highest layer, only a single recording unit representing a plurality of channels is provided.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
The portable information recording medium according to the present invention includes a CPU that executes a command given from the outside and two types of memories that are accessed by the CPU. Of course, these two types of memories are only conceptually distinguished by their recorded contents, and physically a single memory element may be divided into regions. Of these two types of memories, the first memory records files to be recorded on the medium together with predetermined access conditions. This access condition is a condition indicating which key needs to be collated in order to access the file. On the other hand, the unlock information related to this access condition is recorded in the second memory. Specifically, information indicating which key collation has already been completed and unlocked is recorded. Therefore, when an access command such as a read command or a write command for a specific file is given, by comparing the access condition for the file to be accessed with the unlocking information at that time, Access permission is determined.
[0015]
In the present invention, a file management area having a hierarchical structure is defined in the first memory. The file management area conceptually corresponds to a box for storing a specific file, and a hierarchical structure can be taken by nesting the box. Specific files will be placed in either box. Security can be set separately for each individual box. Therefore, if a separate box is prepared for each application, different security settings can be made for each application.
[0016]
The unlocking information recorded in the second memory is also recorded separately for each box, that is, for each file management area. Moreover, actual access is performed using the concept of “channel”. That is, first, a specific channel is designated and a specific file management area (box) is selected. A plurality of channel setting areas are provided in the second memory to indicate which box has been selected for a particular channel. Each channel setting area is divided into a plurality of recording sections having upper and lower hierarchical relationships. Each recording section includes identification information indicating a specific file management area and unlocking information about the specific file management area. And are recorded. When a specific channel is specified and a specific file management area (box) is selected, identification information indicating the selected file management area (selected box) and a higher-level file management area (outer box) Are written in the recording unit corresponding to each layer in the designated channel setting area. The recording unit in which such writing has been performed is in a recorded state. At this time, the recording unit corresponding to the file management area (inner box) in the lower hierarchy than the selected file management area (selected box) is in an unrecorded state. Therefore, the lowest recorded unit in the channel setting area always corresponds to the file management area (selected box) selected for the channel.
[0017]
In this way, the hierarchical path up to the selected file management area (box) is recorded in the channel setting area. Since an arbitrary file management area can be selected for each channel, when a file management area having a partially shared path is selected for different channels, the same file management area is shown in different recording units. Identification information is recorded.
[0018]
Each recording unit records identification information for specifying the file management area (box) and unlocking information for the file management area (box). That is, referring to one recording unit, the unlocked state at the present time for a certain box can be recognized. An important feature of the present invention resides in this unlocking information updating method. The unlocking information of each recording unit is updated in the following two cases. The first case is when a command for designating a specific channel and selecting a specific file management area (box) is given. In this case, for the recording unit in which the identification information has not been updated, the unlocking information is also maintained without being updated. That is, for a box that has already undergone some unlocking operation, the unlocking information is maintained as it is, and there is no need to perform the unlocking operation again. On the other hand, for the recording unit with the updated identification information, if there is another recording unit in which the same identification information as the updated identification information is recorded, the recording unit recorded in the other recording unit is opened. Copy the lock information as it is. That is, if any unlocking operation has already been performed on the same file management area (box) in another channel, the unlocking information is copied as it is, so the same file management is performed in another channel. Even when the area (box) is accessed, it is not necessary to perform the unlocking operation again. When there is no such other recording unit, unlocking information indicating that the unlocking is not performed is written. That is, when there is no record that the unlocking operation has been performed in any channel in the past for the selected file management area (box), unlocking information that is not unlocked is written and accessed. A predetermined unlocking operation is required.
[0019]
The second case where the unlocking information of each recording unit is updated is when a command for specifying a specific channel and performing a predetermined key collation is given. As described above, the lowermost recording unit in the recorded state in each channel setting area always indicates the file management area (selected box) selected for that channel. In other words, the designation of the channel has the same meaning as the designation of the file management area (box) recorded in the lowermost recording unit. Therefore, when such a key collation command is given, a collation process is executed for the file management area (box) recorded in the recording section at the bottom layer of the channel. Unlocking information indicating the unlocked state is written in this recording unit. As described above, the unlock information in the recording unit is updated by the execution of the key verification command. In the present invention, the same identification information as the identification information recorded in the recording unit is recorded. If there is another recording unit, the unlocking information updated by the updating process is copied to the other recording unit as it is. That is, when there is a change in the unlocked state of one file management area (box) for a certain channel, the unlocked state of the same file management area (box) recorded in another channel Will be subject to the same changes. In other words, the unlocking operation in one channel is reflected in another channel, and it is necessary to repeat the unlocking operation for the same file management area (box) every time the access channel changes. Disappear.
[0020]
In the present invention, access to individual files is also performed by specifying a channel. When such an access command is given, the file management area (box) specified by the identification information recorded in the recording unit in the lowest layer in the recorded state in the designated channel setting area is first accessed. It is checked whether the target file belongs. If the file to be accessed does not belong to the file management area (box) selected by the designated channel, file access outside the channel jurisdiction has been performed, so access is not permitted. If the file to be accessed belongs to the file management area (box) selected in the channel, does the unlock information for this file management area (box) satisfy the access conditions for the target file? If the result is checked and satisfied, the target file is accessed.
[0021]
【Example】
§1. Basic configuration of IC card
Hereinafter, the present invention will be described based on embodiments shown in the drawings. FIG. 1 is a block diagram showing a state in which a reader / writer device 20 as an external device is connected to a general IC card 10 and accessed. The IC card 10 and the reader / writer device 20 are connected to each other by an I / O line 30. Here, the IC card 10 includes an I / O interface 11, a CPU 12, a ROM 13, a RAM 14, and an EEPROM 15. The I / O interface 11 is an input / output circuit for transmitting and receiving data via the I / O line 30, and the CPU 12 communicates with the reader / writer device 20 via the I / O interface 11. A program to be executed by the CPU 12 is stored in the ROM 13, and the CPU 12 has a function of performing overall control of the IC card 10 based on this program. The RAM 14 is a memory used as a work area when the CPU 12 performs such overall control. On the other hand, the EEPROM 15 is a memory for storing original data to be recorded on the IC card 10.
[0022]
The IC card 10 is supplied with power and a clock from an external reader / writer device 20. Therefore, when the IC card 10 is disconnected from the reader / writer device 20, the supply of power and clock to the IC card 10 is stopped. However, since the EEPROM 15 is a non-volatile memory, the recorded content is retained as it is even after the power supply is stopped. However, all the data in the RAM 14 is lost by stopping the power supply.
[0023]
All accesses to the memories 13, 14, and 15 in the IC card 10 are performed via the CPU 12, and these memories cannot be directly accessed from the outside. That is, when a predetermined “command” is given from the reader / writer device 20 to the CPU 12, the CPU 12 interprets and executes this “command” and returns the result as a “response” to the reader / writer device 20. Become. For example, when writing to a predetermined file in the EEPROM 15, data to be written is given to the CPU 12 together with the “write command”, and the writing process is performed in the form of execution of the “write command” by the CPU 12. It will be. Conversely, when data is read from a predetermined file in the EEPROM 15, a predetermined “read command” is given to the CPU 12, and read processing is performed in the form of execution of the “read command” by the CPU 12. As described above, when the execution of the “command” is completed in the IC card 10, a “response” for the executed “command” is returned to the outside. For example, when a “write command” is given, a “response” indicating whether or not the write process has been executed without any trouble is returned, and when a “read command” is given, it becomes a read target. Data will be returned in the form of responses.
[0024]
However, the access to the EEPROM 15 as described above is not performed unconditionally, and it is assumed that a predetermined access condition is satisfied. This access condition is set for each individual file and for each command group. This will be described later.
[0025]
A file management area having a hierarchical structure is defined in the EEPROM 15. As already mentioned, this file management area is conceptually equivalent to a box for storing specific files. Generally, this file management area is called “Dedicated File”. Yes. Therefore, in this embodiment, this file management area is indicated by a symbol “DF”, and in particular, the uppermost file management area is indicated by a symbol “MF” indicating the meaning of “Master File”. FIG. 2 is a conceptual diagram showing a state in which a specific file management area having a hierarchical structure is defined in the EEPROM 15. The file management area MF is defined in the hierarchy 1 corresponding to the top hierarchy, and the file management areas DF1 and DF2 corresponding to the hierarchy 2 are defined therein, and the file management areas corresponding to the hierarchy 3 are included therein. DF1-1, DF1-2, DF2-1, and DF2-2 are defined. D and K surrounded by a circle shown in each file management area indicate a specific data file and key file, respectively. While each file management area is a “box”, the data file D and the key file K are files having specific information. The data file D is a file that contains data to be originally recorded, and the key file K is a file that contains a key code used for security management.
[0026]
FIG. 3 is a tree diagram showing the file management area shown in FIG. 2 and the hierarchical structure of each file. Each block enclosed by a square indicates a file management area (box), and each block enclosed by an ellipse is an individual data file (a file with a symbol D at the beginning) and a key file (a file with a symbol K at the beginning). Indicates. For convenience of explanation, in FIG. 3, numbers such as K11 and D112 are given to identify individual data files and key files. For example, the files K00, K01, D00, and D01 are files under the management of the file management area MF of the hierarchy 1, and the files K11, K12, D11, and D12 are under the management of the file management area DF1 of the hierarchy 2. The files K111, K112, D111, and D112 are files under the management of the file management area DF1-1 of the hierarchy 3.
[0027]
In this way, when a file management area having a hierarchy is defined, each file can be managed separately for each application. In this embodiment, the case where the IC card 10 is used as a bank card and a hospital card will be described. FIG. 4 is a block diagram showing an example in which a rough application is defined in each file management area. The file management area MF of the hierarchy 1 is an area that manages and manages the entire IC card 10, and the data files D00 and D01 under its management include, for example, the name, address, and telephone of the owner of the IC card 10. Information such as numbers is recorded. On the other hand, the file management area DF1 of the hierarchy 2 is an area for comprehensively managing the banking business. For example, the bank gives the owner of the IC card 10 to the data files D11 and D12 under the management. Customer number, collateral details, credit information, etc. are recorded. In addition, the file management area DF2 in the same hierarchy 2 is an area for comprehensively managing hospital operations, and the data files D21 and D22 under its management include, for example, a patient granted to the owner of the IC card 10 by the hospital. Information such as number, blood type, height, weight, and emergency contact information is recorded.
[0028]
The level 3 file management areas DF1-1, DF1-2, DF2-1, and DF2-2 are areas for managing individual tasks obtained by further subdividing the level 2 tasks. For example, the file management area DF1-1 is an area for managing domestic deposits in the banking business, and the data files D111 and D112 under the management record, for example, account transaction information of ordinary deposits or fixed deposits. Is done. In addition, the file management area DF1-2 is an area for managing foreign exchange in banking business, and the data files D121 and D122 under the management include, for example, dollar deposit transaction information and foreign remittance information. Is recorded. On the other hand, the file management area DF2-1 is an area for managing medical data in hospital operations, and the data files D211 and D212 under the management include, for example, examination information such as blood examination and X-ray examination, Medication information etc. are recorded. In addition, the file management area DF2-2 is an area for managing medical cost data in the hospital work, and the data files D221 and D222 under the management include, for example, initial examination fee, examination fee, health insurance score, and the like. Information is recorded.
[0029]
§2. How to set security
In the hierarchical structure shown in FIG. 3, four files are defined in hierarchy 1, eight files are defined in hierarchy 2, and 16 files are defined in hierarchy 3. Each of these files is independent of each other. The access conditions that have been set are set. FIG. 5 is an access condition table showing an example of setting access conditions for one file. In this embodiment, the access condition is set for each command group. That is, access commands for each file are divided into a plurality of groups according to the mode of access. In this embodiment, a command group 0 which is a set of commands for performing key matching, a command group 1 which is a set of commands for reading information, a command group 2 which is a set of commands for adding information, and information There are defined four groups, command group 3, which is a set of commands for performing rewrite / erase. However, since the command group 0 is set to be accessible unconditionally, the access conditions are set only for the three command groups of the command groups 1 to 3.
[0030]
The access conditions shown in FIG. 5 are configured from a table for specifying a key that needs to be unlocked in order to execute a command of each command group. That is, this access condition table includes 8-bit information for each command group, and each bit indicates whether or not unlocking is required for each of the eight types of keys K1 to K8. . Specifically, bit “1” indicates that unlocking is necessary, and bit “0” indicates that unlocking is not necessary. For example, when a command for reading information is executed for a file in which an access condition as shown in FIG. 5 is set, two keys K3 in which bit “1” is set in the command group 1 are set. Unlocking for K5 must be performed.
[0031]
The access condition table shown in FIG. 5 is further provided with a ninth bit labeled R. This ninth bit is a reference bit indicating whether or not the unlock information of the upper layer is referenced. is there. That is, when “1” is set in the reference bit R, it means that the unlock information of the upper layer is referred to, and when “0” is set, the unlock information of the upper layer is not referred to. Means that. The handling of the reference bit R will be described later in detail.
[0032]
As described above, the access condition table as shown in FIG. 5 is set for each of the files (data file and key file) indicated by the ellipses in FIG. 3, and each of these files has this access. It is written in the EEPROM 15 together with the condition table. More specifically, each file is provided with a corresponding directory area. In this directory area, the head address and file length of each file are recorded, and an access condition table is recorded. .
[0033]
On the other hand, unlocking information is recorded in the RAM 14. This unlocking information indicates whether or not each key of the access condition table shown in FIG. 5 has been unlocked. For example, an 8-bit area as shown in FIG. Is done. These 8-bit areas indicate the unlocked states of the keys K1 to K8, respectively, where bit “1” indicates unlocked and bit “0” indicates unlocked. As described above, when the IC card 10 is connected to the reader / writer device 20, power and clocks are supplied, and the recorded content of the RAM 14 is reset. The 8-bit unlocking information shown in FIG. 6 (a) is in the state of “00000000” at the time of reset, that is, all of the keys K1 to K8 are in an unlocked state. For example, when the key verification command “VERIFY K3 ???” is given from the reader / writer device 20 to the IC card 10 (a specific key password code is placed in the “???” portion), the CPU 12 The key code corresponding to the key K3 is read from the key file, and compared with the key code "????" given from the outside. If the two match, the result is shown in FIG. 6 (b). As described above, the bit “1” is written into the third bit K3 of the unlocking information in the RAM 14 to indicate that the key K3 is in the unlocked state. Subsequently, if the verification is performed by giving the key verification command “VERIFY K5 ???”, the bit “1” is also set in the fifth bit K5 of the unlocking information in the RAM 14, as shown in FIG. Written. In this way, if the two keys K3 and K5 are unlocked, the commands belonging to the command group 1 can be executed on the file in which the access conditions as shown in FIG. 5 are set.
[0034]
The basic principle of access permission determination based on the unlocking information in the RAM 14 has been described above. One of the features of the present invention is that the unlocking information in the RAM 14 is recorded for each channel and for each layer. . That is, in the present invention, the unlocking information in the RAM 14 is not recorded with a simple configuration as shown in FIG. 6, but a channel setting area having a configuration as shown in FIG. , It is recorded in this channel setting area. In the example shown in FIG. 7, three channel setting areas (channels # 1, # 2, and # 3) are defined, and each channel setting area is divided into three recording units having upper and lower hierarchical relationships. Has been. In other words, each of the three channel setting areas is divided into three recording sections of layers 1 to 3 to form a total of nine recording sections. Here, in each recording unit, an area for recording identification information indicating a specific file management area (upper stage) and an area for recording unlocking information for the specific file management area (lower stage divided into 8 sections) And are provided. In the lower recording area, unlocking information consisting of 8 bits as shown in FIG. 6 is recorded, and this unlocking information is compared with the access condition table shown in FIG. Will be done.
[0035]
§3. Examples showing specific modes of use
Next, a specific usage mode of the above-described IC card will be described following the transition of the recorded contents of the channel setting area shown in FIG. In this embodiment, at the time of reset immediately after the IC card 10 is connected to the reader / writer device 20, the recorded content of the channel setting area in the RAM 14 is in an initial state as shown in FIG. That is, 2 bytes of data “FFFF” indicating that the identification information has not been recorded is written in the upper part of each recording unit, and all eight keys are unlocked in the lower part of each recording unit. 1-bit data “00000000” shown is written. In the following description, for convenience, these nine recording units are referred to as recording unit (1, 1), recording unit (1, 2),..., Recording unit (3, 3) as shown in FIG. I will decide.
[0036]
<3-1: File management area selection 1>
In the present invention, as a preparation stage for accessing each file, it is necessary to designate a specific channel and select a specific file management area. In order to perform this operation, a selection command having a predetermined format may be given from the reader / writer device 20 to the IC card 10. Here, for example, as shown in FIG. 9 (1), a case where a selection command is given in the format of “SELECT # 1 DF1” is considered. This selection command is a command for designating a specific channel # 1 and selecting a specific file management area DF1. When such a command is given, the CPU 12 uses the identification information of the selected file management area DF1 and the higher-level file management area MF to each layer in the designated channel setting area (channel # 1). Is written in the upper part of the recording unit corresponding to, and a process of writing unlocked information indicating that all keys are not unlocked is performed in the lower part of each recording unit. FIG. 9 shows the state of the channel setting area immediately after such processing is performed. In the upper part of each recording section, 2-byte identification information indicating a specific file management area is actually written, but in the figure, for convenience of explanation, each file management area name (MF, DF1) is directly written. The state is shown. Moreover, in order to avoid the figure from becoming complicated, unrecorded recording parts that are not directly related to the description will be shown as blanks. In practice, these blanks are shown in FIG. Data “FFFF (upper)” or “00000000 (lower)” is written.
[0037]
After all, among the recording units constituting each channel setting area, the recording unit whose upper stage is “FFFF” indicates the recording unit in the unrecorded state, and the recording unit whose upper stage is other than “FFFF” is the recording unit in the recorded state Indicates. In each channel setting area, the file management area in which the identification information is recorded in the lowermost recording unit in the recorded state becomes the currently selected file management area for the channel. In the example shown in FIG. 9, in the area of channel # 1, the identification information indicating the file management area DF1 is written in the lowermost recording unit (2, 1) in the recorded state. The currently selected file management area for 1 is DF1. At this time, the identification information of the file management area MF is written in the recording part (1, 1) of the upper hierarchy of the channel # 1, which is based on the hierarchical structure of the currently selected file management area DF1. This serves to indicate that the parent of the MF is MF and enables setting to refer to unlocking information of an upper hierarchy as will be described later.
[0038]
In the present invention, when a command for specifying a specific channel and selecting a specific file management area is given in this way, the identification information of the selected file management area and the file management area of a higher hierarchy is specified. The recording unit corresponding to each layer in the channel setting area is written, and the recording unit corresponding to the layer below the selected file management area is set in an unrecorded state. Therefore, for example, instead of the selection command “SELECT # 1 DF1” shown in FIG. 9 (1), the selection command “SELECT # 1 DF1-2” shown in FIG. When the management area DF1-2 is selected, the recorded contents of the channel # 1 are as shown in FIG. In FIG. 10, since the identification information indicating the file management area DF1-2 is written in the lowermost recording unit (3, 1) in the recorded state, the currently selected file for channel # 1. The management area is DF1-2.
[0039]
<3-2: Key verification # 1>
Next, a channel setting area update process when key matching is performed will be described. In the present invention, key verification is performed by giving a command for specifying a specific channel and performing predetermined key verification. For example, as shown in FIG. 9, let us consider a case where key verification is performed for the selected file management area DF1 in a state where the file management area DF1 is selected as channel # 1. Here, it is assumed that key K3 and key K5 are collated. In this case, first, a verification command “VERIFY # 1 K3 ???” as shown in FIG. Here, “???” is a specific key code, and the CPU 12 reads the code of the key K3 from the predetermined key file in the file management area DF1 selected as the channel # 1. This is compared with a key password code “???” given from outside. If they match, a process of writing a bit “1” indicating an unlocked state to the lower third bit of the recording unit (2, 1) in FIG. 11 is performed. Subsequently, when a collation command “VERIFY # 1K5 ???” as shown in FIG. 11 (2) is given, the key K5 is collated, and if they match, the bit “1” is set to the fifth bit. Perform the writing process. The bit state of the recording unit (2, 1) shown in FIG. 11 indicates a state immediately after such processing is performed.
[0040]
After all, in the present invention, when a command for specifying a specific channel and performing a predetermined key collation is given, the lowermost recording unit in the recorded state in the specified channel setting area (the above example) In this case, update processing for updating the unlocking information recorded in the recording unit (2, 1)) based on the result of the key collation is performed.
[0041]
<3-3: File access>
In the present invention, a file is accessed by designating a specific channel and giving a command for accessing a predetermined target file. For example, in a state where the usage as shown in FIG. 4 is defined, a case where data (for example, customer number) used for general banking is read from the data file D11 under the management of the file management area DF1 is performed. let's think. Here, more specifically, the eighth record in the data file D11 is read. In the present invention, a specific channel must be specified even when a specific file is accessed in this way. In addition, the designated channel must be a channel that currently selects the file management area for managing the access target file. In other words, before giving a command for accessing a specific file, a file management area for managing the file to be accessed must be selected using a specific channel.
[0042]
In the case of the above-described embodiment, the file management area DF1 is selected using the channel # 1 by the selection command “SELECT # 1 DF1” shown in FIG. 9 (1), and further, FIG. 11 (1), (2). If the keys K3 and K5 are in the unlocked state by the collation command shown in FIG. 8, the eighth record in the data file D11 can be read. Specifically, an access command “READ # 1 D11 REC8” shown in FIG. When the CPU 12 receives such a file access command, the CPU 12 first records it in the lowest-level recording unit (in this example, the recording unit (2, 1)) in the recorded state within the designated channel setting area. It is determined whether or not the file to be accessed (in this example, the data file D11) belongs in the file management area (in this example, the file management area DF1) specified by the identification information that has been assigned. . If it does not belong, an error response indicating that the access target file cannot be found is transmitted to the reader / writer device 20 side. In the case of the above example, the access target file D11 is found as a file belonging to the file management area DF1, so that no error occurs.
[0043]
If the file to be accessed is found, it is subsequently determined whether or not the access condition is satisfied. That is, the CPU 12 unlocks information (in this example, the unlocking information recorded in the lowermost recording unit (in this example, the recording unit (2, 1)) in the recorded state within the designated channel setting area. , “00101000”) and an access condition (for example, an access condition table as shown in FIG. 5) set for the file to be accessed, to determine whether the access condition is satisfied. is there. In this example, since the command “READ” is a read command belonging to the command group 1, it can be accessed if the keys K3 and K5 are unlocked according to the access condition table of FIG. It is. The unlocking information of the recording unit (2, 1) shown in FIG. 11 satisfies this condition. Therefore, access to the data file D11 is permitted, and the contents of the eighth record are read out to the reader / writer device 20 side.
[0044]
<3-4: File management area selection 2>
In the state shown in FIG. 11, since the file management area DF1 is selected using the channel # 1, the access command specifying the channel # 1 accesses only the file under the management of the file management area DF1. I can't. For example, suppose that it becomes necessary to access the data file D121 under the management of the file management area DF1-2 in order to perform processing related to foreign exchange. In this case, it is necessary to newly select the file management area DF1-2. Accordingly, it is assumed that a selection command “SELECT # 1 DF1-2” as shown in FIG. Then, the state of the channel setting area is as shown in FIG. The difference between FIG. 12 and FIG. 11 is that the recording unit (3, 1) is newly in the recorded state in FIG. The point to be noted here is that the unlocked state of the recording unit (2, 1) in FIG. 11 is maintained as it is in FIG.
[0045]
This point to be noted becomes clearer when FIG. 12 and FIG. 10 are compared. 10 shows a state in which the selection command “SELECT # 1 DF1-2” is given in the initial state shown in FIG. 8, whereas FIG. 12 shows “SELECT # 1 DF1-2” in the midway state shown in FIG. This shows a state in which the same selection command is given. In other words, the state shown in FIG. 10 is a state obtained when a hierarchical path from the initial empty state to the file management area DF1-2 is defined, whereas it is shown in FIG. As shown in FIG. 11, the state can be said to be a state obtained when the hierarchical path leading to the file management area DF1 is further extended to the file management area DF1-2 of the hierarchy 3. In this way, when the path is extended, the unlocked state for the extended part is set to “00000000” indicating the unlocked state, but the unlocked state for the original part remains unchanged. Will be maintained.
[0046]
In short, when a selection command for selecting a file management area using a predetermined channel is executed, the recording unit (in the example of FIG. 12, the recording unit (1, 1) and the recording unit ( 2, 1)), the unlocking information is maintained as it is, and the unlocking information “00000000” indicating that the unlocking is not performed for the recording part (the recording part (3, 1) in the example of FIG. 12) in which the identification information is updated. "Is written.
[0047]
<3-5: Reference to unlocking information of higher layer>
In the state shown in FIG. 12, since the file management area DF1-2 is selected using the channel # 1, the key matching process is performed on the file management area DF1-2, and the necessary unlocking operation is performed. Thus, access to the data file D121 under the management of the file management area DF1-2 is permitted. For example, assume that unlocking of three keys K3, K5, and K6 is requested as an access condition for reading data from the data file D121. In this case, “VERIFY # 1 K3 ???” in FIG. 13 (1), “VERIFY # 1 K5 ???” in FIG. 13 (2), “VERIFY # 1 K6 ??? in FIG. If the key collation command “??” is given and the unlocking operation is performed, the channel setting area becomes as shown in FIG. 13, and the three keys K3, K5, and K6 are unlocked in the recording unit (3, 1). The status is recorded. Therefore, if the access command “READ # 1D121 REC5” in FIG. 13 (4) is given, the access condition is satisfied, and the fifth record of the data file D121 is read to the reader / writer device 20 side. Become.
[0048]
However, in FIGS. 11 (1) and (2), since the verification of the keys K3 and K5 has already been completed, the verification processing of the keys K3 and K5 in FIGS. 13 (1) and (2) is a redundant processing operation. It has become. In practice, the same key collation between hierarchies is often set as an access condition in this way. For example, as shown in FIG. 4, in the file management area DF1 for managing banking operations in general, collation between the bank customer authentication key K3 and the bank branch authentication key K5 is set as an access condition, and the file management area in the lower hierarchy thereof In DF1-2, in addition to these key verifications, the usage mode in which verification of the foreign exchange handling authority key K6 is set as an additional access condition is a usage mode that is frequently used in practice. In such a case, if the verification of the keys K3 and K5 has already been completed when the file management area DF1 is accessed, it is sufficient to perform the verification of the key K6 when the file management area DF1-2 is subsequently accessed. It is. The reference bit R shown in the access condition table of FIG. 5 is provided for such convenience.
[0049]
For example, when the reference bit R of the access condition table for executing the read command for the data file D121 is set to the bit “1” (referred), FIG. 13 (1) to (4). Instead, the fifth record of the data file D121 is read out to the reader / writer device 20 only by giving the two commands shown in FIGS. 14 (1) and (2). In this case, the key verification with the file management area DF1-2 selected is performed only for the key K6, and the unlocking information of the recording unit (3, 1) is the bit of the key K6 as shown in FIG. Only becomes “1” (unlocked state). However, since the unlock information of the upper hierarchy (in this example, the unlock information of the recording unit (2, 1)) is referred to, the unlock information of the file management area DF1-2 is the file management of the upper hierarchy. Fusion unlocking information “00101100” obtained by fusing the unlocking information “00101000” of the area DF1 and the self unlocking information “00000100” (in this embodiment, the fusion unlocking information includes each bit of each unlocking information) It is determined that the access condition is satisfied.
[0050]
As described above, if the setting is made so that the unlocking information of the upper hierarchy can be referred to, redundant collation processing can be omitted, and easy-to-use access is possible while ensuring sufficient security. Of course, for a file that requires a high level of security, the reference bit R may be set to “0” so that the reference is not performed.
[0051]
<3-6: File management area selection 3>
Consider the case where it becomes necessary to access the data file D11 for general banking operations again after the access to the data file D121 related to foreign exchange is completed. In this case, the file management area DF1 for managing the data file D11 must be selected again. For this purpose, a selection command of “SELECT # 1 DF1” may be executed as shown in FIG. As a result, the channel setting area is updated to the state shown in FIG. As can be seen by comparing FIG. 14 and FIG. 15, in FIG. 15, the recording unit (3, 1) is returned to the initial state (unrecorded state). If the layer 3 is set to the unrecorded state in this way, the identification information of the file management area DF1 is written in the lowermost recording unit (2, 1) in the recorded state. 1 returns to the state in which the file management area DF1 is selected.
[0052]
As described above, when a specific file management area is selected, the recording unit corresponding to the lower hierarchy than the selected file management area is in an unrecorded state, and the unlocking information is “00000000” indicating that unlocking is not performed. Should be noted. As described above, when the file management area of the lower hierarchy is selected and the state is changed to the state of selecting the file management area of the upper hierarchy, the unlock information of the lower hierarchy is set to the initial state (unlocked state). Returning is important for ensuring security. Generally, when a file management area having a hierarchical structure is constructed, a higher level of security is required as it goes to a lower hierarchy. Therefore, when returning to the upper layer, the unlocking information for the lower layer is returned to the initial state, and when the lower layer is accessed again, the unlocking operation is requested again. However, it is preferable from the viewpoint of ensuring security.
[0053]
<3-7: File management area selection 4>
As described above, when the selected file management area is returned to the upper hierarchy, the unlock information of the lower hierarchy is returned to the unlocked state. That is, the information in the recording part (3, 1) is lost due to the transition from FIG. 14 to FIG. Such a process is preferable for ensuring security, but it is an obstacle to easy-to-use access. For example, when it becomes necessary to alternately access the data files D11 and D121, the file management areas DF1 and DF2-1 must be selected alternately. At the time of selecting the file management area DF1 in the upper hierarchy, As shown in FIG. 15, since the unlock information of the lower layer file management area DF1-2 is lost, the same collation operation must be repeated many times. In order to avoid such an adverse effect, selection using another channel may be performed.
[0054]
For example, in the state shown in FIG. 14, instead of the selection command “SELECT # 1 DF1” shown in FIG. 15 (1), the selection command “SELECT # 2 DF1” shown in FIG. 16 (1) is given. Then, as shown in FIG. 16, the file management area DF1 can be selected using the channel # 2 while the file management area DF1-2 is selected using the channel # 1. In each recording unit of channel # 2, identification information of the selected file management area DF1 and the file management area MF in the upper hierarchy is written.
[0055]
Note that in FIG. 16, the unlocking information in the recording unit (1,1) is copied to the recording unit (1,2) and the unlocking information in the recording unit (2,1) is recorded. It is a point copied to the part (2, 2). The intent of this copying process is to make collation processing unnecessary in another channel for collation processing that has already been completed in one channel. In the example shown in FIG. 16, the verification processing of the keys K3 and K5 in the file management area DF1 has already been completed in the channel # 1, but the unlocking information in the recording unit (2, 1) is recorded in the recording unit (2, 2 ), The collation processing of the keys K3 and K5 in the file management area DF1 is already completed in the channel # 1. Therefore, when the file D11 under the management of the file management area DF1 is accessed using the channel # 2, there is no need to perform the key K3 and K5 collation again, and “READ # 2” shown in FIG. By giving an access command such as “D11 REC25”, the 25th record in the file D11 can be read.
[0056]
As described above, when a command for selecting a specific file management area is executed, each recording unit constituting the channel setting area (in this example, the recording unit (1, 2) and the recording unit (2, 2)). ) Is updated, but another recording unit (recorded in this example) in which the same identification information as the updated identification information (MF and DF1 in this example) is recorded is recorded. If there is a part (1, 1) and a recording part (2, 1)), the process of copying the unlocking information recorded in the other recording part as it is is performed. It is one feature of the invention.
[0057]
<3-8: File management area selection 5>
Next, in the state shown in FIG. 16, it is necessary to access the data file D222 relating to the medical expenses data, so that the selection command “SELECT # 1 DF2-2” shown in FIG. think of. In this case, channel # 1 is updated as shown in FIG. Since there is no change in the MF of the top layer, the recorded contents of the recording unit (1, 1) are maintained as they are including the unlocking information, but the identification information is updated to DF2 and DF2-2 in the hierarchy 2 and 3 Thus, each unlocking information is in a state of indicating unlocking. Thus, for channel # 1, the content of the recording unit (2, 1) is updated from DF1 to DF2, but the information of DF1 is copied to the recording unit (2, 2). Even if channel # 1 is updated, the unlock information of DF1 remains as channel # 2. However, the unlocking information of DF1-2 recorded in the recording unit (3, 1) in FIG. 16 is lost.
[0058]
When it is desired to keep the unlocking information of DF1-2 as it is, instead of the selection command “SELECT # 1 DF2-2” shown in FIG. 17 (1), “SELECT # 3 DF2-” shown in FIG. The selection command “2” may be given. Then, as shown in FIG. 18, the file management area DF1-2 is selected using the channel # 1, and the channel # 3 is newly used while the file management area DF1 is selected using the channel # 2. The file management area DF2-2 can be selected. In each recording section of channel # 3, identification information of the selected file management area DF2-2 and its upper layer file management areas MF and DF2 is written. Also in this case, the unlocking information in the recording unit (1, 2) is copied to the recording unit (1, 3). In short, this copying process can be said to be a process for making the unlocking information of the recording units having the same identification information always the same. In the example of FIG. 18, since the recording units (1, 1), (1, 2), (1, 3) are all recording units having the same identification information “MF”, the unlocking information is “ “00000000” and the recording parts (2, 1) and (2, 2) are both recording parts having the same identification information “DF1”, so that the unlocking information is the same as “00101000”. ing. The copying process is a process for maintaining such identity.
[0059]
Now, in order to access the data file D222 relating to the medical cost data, a verification command “VERIFY # 3 K7 ???” shown in FIG. 19 (1) and “VERIFY # 3” shown in FIG. Consider a case where the keys K7 and K8 of the file management area DF2-2 are unlocked by giving a collation command "K8 ???". In this case, as shown in FIG. 19, the fact that the keys K7 and K8 are unlocked is written in the recording part (3, 3). Therefore, if a read command “READ # 3 D222 REC4” shown in FIG. 19 (3) is given, the fourth record (for example, unpaid medical expenses) of the data file D222 is read to the reader / writer device 20 side. become.
[0060]
Now, let's perform a process of reimbursing the file D111 indicating the domestic deposit data for the unsettled amount of medical expenses. In this case, for example, a selection command “SELECT # 1 DF1-1” shown in FIG. 20 (1) may be given to update channel # 1. As shown in FIG. 20, the identification information of the recording unit (3, 1) is updated from DF1-2 to DF1-1, and the unlocking information is in an unlocked state. Therefore, by giving a verification command “VERIFY # 1 K6 ???” shown in FIG. 21 (1) and a verification command “VERIFY # 1 K7 ???” shown in FIG. If the keys K6 and K7 in the area DF1-1 are unlocked and a write command “WRITE # 1 D111 REC8 (DATA)” shown in FIG. 21 (3) is given, the medical expenses are stored in the eighth record of the data file D111. (DATA) indicating the unsettled amount is written.
[0061]
Subsequently, since it becomes necessary to select the file management area DF1-2 in order to perform the foreign exchange processing, a selection command "SELECT # 3 DF1-2" shown in FIG. Is updated. Then, as shown in FIG. 22, the identification information of the recording unit (1, 3) remains MF, but the identification information of the recording unit (2, 3) is updated to DF1, and the recording unit (3, 3) The identification information is updated to DF1-2. In principle, the updated unlocking information of the recording unit is in an unlocked state. However, in order to maintain the above-described identity, when the recording unit having the same identification information is in another channel, the unlocking information is unlocked. The lock information is copied. In the example of FIG. 22, the unlocking information of the recording unit (2, 2) or (2, 1) having the same identification information DF1 is copied to the recording unit (2, 3).
[0062]
<3-9: Key verification # 2>
Subsequently, it is assumed that a process of collating the key K8 for the file management area DF1 is performed by a collation command “VERIFY # 2 K8 ???” as shown in FIG. If the key K8 matches, the unlocking information of the recording unit (2, 2) is updated from the state of “00101000” to the state of “00101001”, and the “WRITE #” as shown in FIG. By giving a write command “2 D11 REC7 (DATA)”, (DATA) is written to the seventh record of the data file D11. Incidentally, in order to maintain the above-described identity, it is necessary to perform a copying process even when such unlocking information is updated. That is, as shown in FIG. 23, when the unlocking information of the recording unit (2, 2) is updated, the recording units (2, 1) and (2, 3) having the same identification information DF1 are transferred. Then, the process of copying the updated unlocking information of the recording unit (2, 2) is performed.
[0063]
Thus, the copying process needs to be performed not only when the channel is updated by the selection command but also when the unlocking information is updated by the collation command. In short, when the unlocking information of a specific recording unit is updated, the copying process may be executed so that the same update is performed on the recording unit having the same identification information.
[0064]
§4. Processing performed by CPU 12
In §3 described above, the usage pattern of the IC card according to the present invention has been described according to a specific example while following the transition of the recorded contents of the channel setting area. In order to realize such a usage pattern, it can be understood that the CPU 12 may eventually perform the following processing for each command.
[0065]
<4-1: Selection command>
When a command for designating a specific channel and selecting a specific file management area (for example, FIG. 22 (1) “SELECT # 3 DF1-2”) is given, the selected file management area and its upper hierarchy The file management area identification information is written to the recording section corresponding to each hierarchy in the designated channel setting area to make it a recorded state, and the recording section corresponding to the lower hierarchy than the selected file management area is not recorded. A writing process for setting the state is performed (for example, see FIG. 22). And, by this writing process, the unlocking information is maintained as it is for the recording unit (the recording unit (1, 3) in FIG. 22) whose identification information has not been updated, and the recording unit whose identification information has been updated is as follows: If there is another recording unit (recording unit (2, 2) in FIG. 22) in which the same identification information (DF1 in FIG. 22) as the updated identification information is recorded, this other recording unit 22 is copied as it is, and when there is no such other recording unit, a process of writing unlocking information indicating that the unlocking has not been performed is performed (recording unit (3, 3) in FIG. 22). ).
[0066]
<4-2: Verification command>
When a command (for example, FIG. 23 (1) “VERIFY # 2 K8 ???” in FIG. 23) is given by designating a specific channel, the recorded state in the designated channel setting area is given. Update processing for updating the unlocking information recorded in the lowermost recording unit (for example, the recording unit (2, 2) in FIG. 23) based on the result of the key collation. When there is another recording unit (for example, the recording unit (2, 1), (2, 3) in FIG. 23) in which the same identification information (DF1) as the identification information recorded in is recorded Then, the unlocking information updated by the updating process is copied as it is to this other recording unit.
[0067]
<4-3: Access command>
When a command for designating a specific channel and accessing a predetermined target file (for example, FIG. 11 (3) “READ # 1 D11 REC8”) is given, it is in a recorded state in the designated channel setting area. The access target file (D11) belongs in the file management area (DF1) specified by the identification information recorded in the lowermost recording unit (for example, the recording unit (2, 1) in FIG. 11), and When the unlocking information (“00101000”) recorded in the lowermost recording unit satisfies the access condition of the access target file (for example, the condition of the command group 1 in FIG. 5), the access to the access target file is performed. Is possible.
[0068]
§5. Other examples
As mentioned above, although this invention was demonstrated based on the Example shown in figure, this invention is not limited to these Examples, In addition, it can implement in a various aspect. For example, in the above-described embodiment, it has been described that the unlock information of the upper layer can be referred to by setting the reference bit R of the access condition table shown in FIG. 5 to “1”. In this embodiment, the reference bit R is set for each individual file. However, one reference bit R may be set for each individual file management area. In this case, reference may be performed over a plurality of hierarchies. For example, in FIG. 3, if “reference” is set for the file management area DF1-1, and “reference” is also set for the file management area DF1, for example, the data file D111 of the hierarchy 3 is stored. When accessing the file, the access condition should be determined based on the fusion unlocking information obtained by ORing each bit of the three unlocking information of the file management areas DF1-1, DF1, and MF. become.
[0069]
In the above-described embodiment, the unlocking information of the upper hierarchy is set to “reference” or “not reference” according to the bit state of the reference bit R. It is also possible to set “reference”. For example, the file management area MF in the highest hierarchy is an area that manages and manages the entire recording area of the IC card. After the IC card 10 is connected to the reader / writer device 20, the card is first owned as a first verification operation. In general, a basic key collation operation such as a person key is performed on the file management area MF. Therefore, for practical use, it is convenient to make a setting to always refer to the unlock information of the file management area MF in the highest hierarchy for each file management area below the second hierarchy. Such a setting does not need to be made by using the reference bit R, and a routine that always refers to the unlocking information of the file management area MF may be incorporated in the program in the ROM 13.
[0070]
In the above-described embodiment, for the sake of convenience of explanation, an example in which a recording unit having a 3 × 3 array as shown in FIG. 7 is defined in the RAM 14 has been described. Since the management area MF occupies, it is sufficient to prepare only a single recording unit representing a plurality of channels for the highest layer. That is, as shown in FIG. 24, only one recording unit dedicated to the file management area MF needs to be provided in the hierarchy 1, and only an area for recording unlocking information can be provided in this recording part. It's enough. With this configuration, the unlocking information in the file management area MF need not be copied between channels.
[0071]
【The invention's effect】
As described above, according to the present invention, on a portable information recording medium, it is possible to easily access a file having a hierarchical structure with different security settings for each use while ensuring sufficient security. .
[Brief description of the drawings]
FIG. 1 is a block diagram showing a state in which a reader / writer device 20 as an external device is connected to a general IC card 10 and accessed.
FIG. 2 is a conceptual diagram showing a state in which a specific file management area having a hierarchical structure is defined in an EEPROM 15;
FIG. 3 is a tree diagram showing the file management area shown in FIG. 2 and the hierarchical structure of each file. Each block enclosed by a square indicates a file management area, and each block enclosed by an ellipse indicates an individual data file (a file with a symbol D at the beginning) and a key file (a file with a symbol K at the beginning).
FIG. 4 is a block diagram showing an example in which a rough application is defined in each file management area.
FIG. 5 is an access condition table showing an example of setting access conditions for each file in the EEPROM 15;
6 is a diagram showing an 8-bit area indicating an unlocked state of keys K1 to K8 secured in a RAM 14. FIG.
FIG. 7 is a diagram showing an example of a channel setting region used in the present invention.
8 is a diagram showing the recorded contents in the initial state of the channel setting area shown in FIG.
9 is a diagram showing a state in which a command for selecting a file management area DF1 is executed using channel # 1 in the initial state shown in FIG.
10 is a diagram showing a state in which a command for selecting a file management area DF1-2 using channel # 1 is executed in the initial state shown in FIG.
11 is a diagram showing a state in which a key verification command for the file management area DF1 is executed in the state shown in FIG.
12 is a diagram showing a state in which a command for selecting a file management area DF1-2 using channel # 1 is executed in the state shown in FIG.
13 is a diagram showing a state in which a key verification command for the file management area DF1-2 is executed in the state shown in FIG.
FIG. 14 is a diagram illustrating a process of referring to an unlocked state of an upper hierarchy.
15 is a diagram showing a state in which a command for reselecting a file management area DF1 using channel # 1 is executed in the state shown in FIG.
16 is a diagram showing a state in which a command for reselecting the file management area DF1 is executed using channel # 2 in the state shown in FIG.
17 is a diagram showing a state in which a command for selecting a file management area DF2-2 is executed using channel # 1 in the state shown in FIG.
18 is a diagram showing a state in which a command for selecting a file management area DF2-2 is executed using channel # 3 in the state shown in FIG.
FIG. 19 is a diagram showing a state in which a key collation command for the file management area DF2-2 is executed in the state shown in FIG.
20 is a diagram showing a state in which a command for selecting a file management area DF1-1 using channel # 1 is executed in the state shown in FIG.
FIG. 21 is a diagram showing a state in which a key verification command for the file management area DF1-1 is executed in the state shown in FIG.
FIG. 22 is a diagram showing a state in which a command for selecting a file management area DF1-2 using channel # 3 is executed in the state shown in FIG.
23 is a diagram showing a state in which a key collation command for the file management area DF1 is executed in the state shown in FIG.
FIG. 24 is a diagram illustrating an example of a channel setting area in which only a single recording unit representing a plurality of channels is prepared for the highest layer.
[Explanation of symbols]
10 ... IC card
11 ... I / O interface
12 ... CPU
13 ... ROM
14 ... RAM
15 ... EEPROM
D ... Data file
DF ... File management area
K ... Key file
K1-K8 ... key
MF: File management area at the highest level
R: Reference bit

Claims (3)

外部から与えられるコマンドを実行するCPUと、このCPUによってアクセスされる第1のメモリと第2のメモリと、を備え、前記第1のメモリには、階層構造をもったファイル管理領域を定義して各ファイル管理領域内にそれぞれ所定のファイルを所定のアクセス条件とともに記録し、前記第2のメモリには、前記アクセス条件に関連した開錠情報を記録し、この開錠情報と各ファイルについてのアクセス条件とを比較することにより、前記第1のメモリ内の各ファイルに対するアクセスの可否を判定するようにした携帯可能情報記録媒体において、
ファイルに対するアクセスコマンドを、そのアクセスの態様に応じて複数のグループに分け、前記第1のメモリ内に、各ファイルについて、アクセス条件の設定を各グループごとに行い、かつ、上位階層の開錠情報を参照するか否かの設定を各グループごとに行い、
前記第2のメモリ内に、複数のチャネル設定領域を設け、各チャネル設定領域を互いに上下の階層関係をもった複数の記録部に分割し、個々の記録部には、特定のファイル管理領域を示す識別情報を記録する識別情報記録部と、この特定のファイル管理領域についての開錠情報を記録する開錠情報記録部と、を設け、
特定のチャネルを指定して特定のファイル管理領域を選択するコマンドが与えられたときには、選択されたファイル管理領域およびこれより上位階層のファイル管理領域の識別情報を、指定されたチャネル設定領域内のそれぞれの階層に対応した識別情報記録部に書き込んで記録済状態とし、選択されたファイル管理領域より下位階層に相当する識別情報記録部には、識別情報が未記録状態であることを示す固有データを書き込むことにより未記録状態とする書込処理を行い、この書込処理によって、識別情報が更新されなかった記録部については開錠情報をそのまま維持し、識別情報が更新された記録部については、この更新された識別情報と同一の識別情報が記録されている他の記録部が存在する場合には、前記他の記録部に記録されている開錠情報をそのまま複写し、そのような他の記録部が存在しない場合には、未開錠を示す開錠情報を書き込む処理を行い、
特定のチャネルを指定して所定のキー照合を行うコマンドが与えられたときには、指定されたチャネル設定領域内の記録済状態にある最下層の記録部に記録されている開錠情報をキー照合の結果に基いて更新する更新処理を行い、前記最下層の記録部に記録されている識別情報と同一の識別情報が記録されている別な記録部が存在する場合には、前記更新処理によって更新された開錠情報を、前記別な記録部にそのまま複写する処理を行い、
特定のチャネルを指定して所定の対象ファイルをアクセスするコマンドが与えられたときには、(i) 指定されたチャネル設定領域内の記録済状態にある最下層の記録部に記録されている識別情報で特定されるファイル管理領域内に前記対象ファイルが所属し、かつ、前記対象ファイルの前記コマンドが所属するグループについて、上位階層の開錠情報を参照しない旨の設定がなされていたときには、前記最下層の記録部に記録されている開錠情報が、前記対象ファイルの前記コマンドが所属するグループについて設定されているアクセス条件を満足する場合に、前記対象ファイルに対するアクセスを可能とし、 (ii) 指定されたチャネル設定領域内の記録済状態にある最下層の記録部に記録されている識別情報で特定されるファイル管理領域内に前記対象ファイルが所属し、かつ、前記対象ファイルの前記コマンドが所属するグループについて、上位階層の開錠情報を参照する旨の設定がなされていたときには、前記最下層の記録部に記録されている開錠情報とその上位階層の開錠情報とを融合させた融合開錠情報が、前記対象ファイルの前記コマンドが所属するグループについて設定されているアクセス条件を満足する場合に、前記対象ファイルに対するアクセスを可能とすることを特徴とする携帯可能情報記録媒体。
A CPU for executing a command given from the outside, and a first memory and a second memory accessed by the CPU, wherein a file management area having a hierarchical structure is defined in the first memory; In each file management area, a predetermined file is recorded together with a predetermined access condition, and unlocking information related to the access condition is recorded in the second memory, and the unlocking information and each file are recorded. In the portable information recording medium that determines whether or not each file in the first memory is accessible by comparing the access condition,
The access command for the file is divided into a plurality of groups according to the mode of access, the access condition is set for each file in the first memory, and the unlock information of the upper layer is set. Set whether or not to refer to each group,
A plurality of channel setting areas are provided in the second memory, and each channel setting area is divided into a plurality of recording units having a hierarchical relationship with each other, and each recording unit has a specific file management area. An identification information recording unit for recording the identification information to be shown, and an unlocking information recording unit for recording the unlocking information for this specific file management area,
When a command is given to select a specific file management area by specifying a specific channel, the identification information of the selected file management area and the file management area of a higher hierarchy is displayed in the specified channel setting area. Unique data indicating that the identification information is in an unrecorded state in the identification information recording unit corresponding to the lower layer than the selected file management area, written in the identification information recording unit corresponding to each layer and set to the recorded state. For the recording unit in which the identification information is not updated by this writing processing, the unlocking information is maintained as it is, and for the recording unit in which the identification information is updated. If there is another recording unit in which the same identification information as the updated identification information is recorded, the information is recorded in the other recording unit. That the unlocking information as it is copied, in the absence of such other recording section performs a process of writing the unlocking information indicating a primitive tablets,
When a command for specifying a specific channel and performing a specified key verification is given, the unlock information recorded in the recording unit at the lowest layer in the recorded state within the specified channel setting area is used for key verification. Update processing is performed based on the result, and if there is another recording unit in which the same identification information as the identification information recorded in the lowermost recording unit exists, the update processing is performed. The process of copying the opened unlocking information as it is to the other recording unit,
When a command is given to access a specific target file by designating a specific channel, (i) the identification information recorded in the lowermost recording unit in the recorded state in the designated channel setting area. When the target file belongs to the specified file management area, and the group to which the command of the target file belongs is set not to refer to the unlock information of the upper hierarchy, the lowest layer When the unlocking information recorded in the recording section of the target file satisfies the access condition set for the group to which the command of the target file belongs, the target file can be accessed, and (ii) specified In the file management area specified by the identification information recorded in the recording section of the lowest layer in the recorded state in the channel setting area When the setting is made to refer to the unlock information of the upper hierarchy for the group to which the recording target file belongs and the command of the target file belongs, it is recorded in the lowermost recording unit The access to the target file is performed when the fusion unlocking information obtained by fusing the unlocking information and the unlock information of the upper layer satisfies the access condition set for the group to which the command of the target file belongs. A portable information recording medium characterized by that.
請求項1に記載の携帯可能情報記録媒体において、The portable information recording medium according to claim 1,
第2階層以下の各ファイル管理領域について、最上位階層のファイル管理領域の開錠情報を常に参照する旨の設定が行われていることを特徴とする携帯可能情報記録媒体。  A portable information recording medium characterized in that, for each file management area below the second hierarchy, a setting is made to always refer to unlocking information in the file management area of the highest hierarchy.
請求項1または2に記載の携帯可能情報記録媒体において、The portable information recording medium according to claim 1 or 2,
最上位階層については、複数のチャネルを代表する単一の記録部のみを設けるようにしたことを特徴とする携帯可能情報記録媒体。  A portable information recording medium characterized in that only the single recording unit representing a plurality of channels is provided for the highest layer.
JP29474995A 1995-10-18 1995-10-18 Portable information recording medium Expired - Fee Related JP4011641B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29474995A JP4011641B2 (en) 1995-10-18 1995-10-18 Portable information recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29474995A JP4011641B2 (en) 1995-10-18 1995-10-18 Portable information recording medium

Publications (2)

Publication Number Publication Date
JPH09114741A JPH09114741A (en) 1997-05-02
JP4011641B2 true JP4011641B2 (en) 2007-11-21

Family

ID=17811815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29474995A Expired - Fee Related JP4011641B2 (en) 1995-10-18 1995-10-18 Portable information recording medium

Country Status (1)

Country Link
JP (1) JP4011641B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3565481B2 (en) * 1998-11-19 2004-09-15 株式会社エヌ・ティ・ティ・データ Computer directory access control system and method
JP4434428B2 (en) * 2000-05-02 2010-03-17 キヤノン株式会社 Information terminal equipment
US6944766B2 (en) 2000-05-02 2005-09-13 Canon Kabushiki Kaisha Information processing apparatus
GB2399903A (en) * 2003-03-28 2004-09-29 Hewlett Packard Development Co Security attributes of nodes in trusted computing systems
JP4618259B2 (en) * 2007-02-16 2011-01-26 ソニー株式会社 Data storage device and data storage method
JP2007193826A (en) * 2007-02-19 2007-08-02 Ricoh Co Ltd Data control device, data control and processing method, and computer readable recording medium with program recorded to make computer execute the same method
US9940469B2 (en) 2012-08-15 2018-04-10 Entit Software Llc Encrypted data store for records

Also Published As

Publication number Publication date
JPH09114741A (en) 1997-05-02

Similar Documents

Publication Publication Date Title
US4849614A (en) Composite IC card
JP3662946B2 (en) File management system and portable electronic device
JPH01500379A (en) System for portable data carriers
JP3594980B2 (en) File management method
JPS63503335A (en) Secure file system for portable data carriers
JP4393733B2 (en) Portable information recording medium
US6370517B2 (en) Electronic money card, electronic money receiving/paying machine, and electronic money card editing device
JP4011641B2 (en) Portable information recording medium
JP2575358B2 (en) IC card
JP3720113B2 (en) Portable information storage medium, portable information storage medium system, and data access method for portable information storage medium
US7266517B2 (en) Method to create an inventory file with the application of warehouse management system
JPH10105472A (en) Method for managing access of memory
JP2532063B2 (en) IC card
EP0798672A2 (en) Electronic settlement method employing electronic money value with identifier and system for use in such a method
JPS62200441A (en) Ic card
US7296289B2 (en) Setting or changing an access condition for an access management apparatus and method of a portable electronic device
JPH09106376A (en) Portable information recording medium
JPH11232177A (en) Information recording and reproducing method
JP2534984B2 (en) IC card
JPH06309531A (en) Checking method for instruction format given to ic card
CN1231042A (en) Security module comprising means generating links between main files and auxiliary files
JP2544722B2 (en) Information storage control method and information storage device equipped with the method
JP3517275B2 (en) Issue processing system
JP3654965B2 (en) Information recording medium issue support device
JP3222619B2 (en) Information recording medium using key

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070123

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: 20070904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070906

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: 20100914

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110914

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110914

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120914

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120914

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130914

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees