JP2011002895A - 携帯可能電子装置および携帯可能電子装置におけるデータ管理方法 - Google Patents
携帯可能電子装置および携帯可能電子装置におけるデータ管理方法 Download PDFInfo
- Publication number
- JP2011002895A JP2011002895A JP2009143450A JP2009143450A JP2011002895A JP 2011002895 A JP2011002895 A JP 2011002895A JP 2009143450 A JP2009143450 A JP 2009143450A JP 2009143450 A JP2009143450 A JP 2009143450A JP 2011002895 A JP2011002895 A JP 2011002895A
- Authority
- JP
- Japan
- Prior art keywords
- file
- data
- logical channel
- card
- command
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】データファイルに対する不正なアクセスのリスクを軽減し、データのセキュリティ性を向上させることができるICカードおよびICカードにおけるデータ管理方法を提供する。
【解決手段】ICカード処理装置2からの与えられるコマンドに応じた処理を行うICカード1のCPU11は、ICカード処理装置2から内部のデータメモリ14に記憶されているデータファイルの選択を要求するコマンドを受信した場合、当該コマンドで選択が要求されたデータファイルに対するアクセス許可条件が満たされているか否かを判断し、この判断によりアクセス許可条件が満たされていると判断した場合には当該コマンドで指定された当該データファイルを選択状態とし、アクセス許可条件が満たされていないと判断した場合には当該コマンドで指定されたデータファイルを選択不可とすると共にICカード処理装置2へ当該データファイルが存在しない旨を通知する。
【選択図】図1
【解決手段】ICカード処理装置2からの与えられるコマンドに応じた処理を行うICカード1のCPU11は、ICカード処理装置2から内部のデータメモリ14に記憶されているデータファイルの選択を要求するコマンドを受信した場合、当該コマンドで選択が要求されたデータファイルに対するアクセス許可条件が満たされているか否かを判断し、この判断によりアクセス許可条件が満たされていると判断した場合には当該コマンドで指定された当該データファイルを選択状態とし、アクセス許可条件が満たされていないと判断した場合には当該コマンドで指定されたデータファイルを選択不可とすると共にICカード処理装置2へ当該データファイルが存在しない旨を通知する。
【選択図】図1
Description
この発明は、例えば、個人情報あるいは取引情報などが記憶されているICチップが内蔵されているICカードあるいはICタグなどの携帯可能電子装置、および、上記携帯可能電子装置におけるデータ管理方法などに関する。
一般に、接触式および非接触式ICカードは、内部のメモリにデータを記録する場合、たとえば、ISO/IEC7816−4などの規格で規定されているデータファイルの形式に従ってデータを保存する。ISO/IEC7816−4などの規格では、通常、データファイルにアクセスする手順が規定されている。たとえば、ISO/IEC 7816−4では、一般に、次の手順でデータファイルにアクセスする。
(1)アクセス対象とするデータファイルを選択するコマンドを実行する。
(1)アクセス対象とするデータファイルを選択するコマンドを実行する。
(2)選択されたデータファイルに対するアクセス命令(読み出し命令、書き込み命令、或いは、書き換え命令など)を実行する。なお、ただし、(1)の処理は、(2)のコマンドに包含される場合もある。
従来のICカードでは、上記(2)の処理のようにファイルへアクセスするコマンドの実行を無制限に許したくない場合、ICカードの管理者あるいは所有者のみが知り得る「鍵」による照合あるいは認証が成功したことを条件として、ファイルへのアクセスを許可する制限を実施している。このような実行の制限は、上記コマンドの実行条件として、命令の種類ごとに設定することができる。つまり、従来のICカードでは、ファイルのデータを不正に読み出されたり、改竄されたりすることから保護するために「鍵」による保護が行われている。
しかしながら、近年では、ICカード内のデータを解析するための様々な手法が日々考案されている。このため、ICカード内のメモリに保存している「鍵」の内容(鍵データ)が不正に暴かれる危険性が無視できなくなっている。そこで、ICカード内の鍵データが暴かれたとしても、ファイルのデータが不正に読み出したり、改竄されたりすることを防ぐ手立てを講じることが要望されている。従来のICカードでは、上記(1)の処理に対しては実行制限がかけられていない。このため、全てのファイルIDを順番に指定しながらファイル選択命令を実行すると、ICカード内に存在するファイルは、全て明らかになってしまう。ファイルが存在することが明らかになれば、そのファイルIDを持つファイルに対しては、集中的にデータ解析が行われることになり、データの不正な読み出しあるいは改竄のリスクが増すことになる。
ISO/IEC7816−4
この発明の一形態は、不正アクセスのリスクを軽減し、データのセキュリティ性を向上させることができる携帯可能電子装置おおび携帯可能電子装置におけるデータ管理方法を提供することを目的とする。
この発明の一形態としての携帯可能電子装置は、外部装置から与えられるコマンドに応じた処理を行うものにおいて、データファイルを記憶するメモリと、前記外部装置との通信を行う通信手段と、この通信手段により前記外部装置から前記データファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対するアクセス許可条件が満たされているか否かを判断する判断手段と、この判断手段により前記アクセス許可条件が満たされていると判断した場合、前記データファイルを選択状態とするアクセス許可手段と、前記判断手段により前記アクセス許可条件が満たされていないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知するファイル秘匿手段とを有する。
この発明の他の形態としての携帯可能電子装置は、外部装置から与えられるコマンドに応じた処理を行うものにおいて、データファイルを記憶するメモリと、前記外部装置との通信を行う通信手段と、前記通信手段による外部装置との通信を論理的に設定される複数のロジカルチャネルで制御する通信処理手段と、前記外部装置から前記データファイルの選択を要求するコマンドを受信した場合、前記コマンドを受信したロジカルチャネルが前記データファイルに対応づけられた所定のロジカルチャネルであるか否かを判断する判断手段と、この判断手段により前記所定のロジカルチャネルで前記コマンドを受信したと判断した場合、前記データファイルを選択状態とするアクセス許可手段と、前記判断手段により前記所定のロジカルチャネルで前記コマンドを受信していないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知するファイル秘匿手段とを有する。
この発明の他の形態としての携帯可能電子装置は、外部装置から与えられるコマンドに応じた処理を行うものにおいて、データファイルを記憶するメモリと、前記外部装置との通信を行う通信手段と、この通信手段により前記外部装置から前記データファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対応づけられたアクセス制御用のダミーファイルが選択済みであるか否かを判断する判断手段と、この判断手段により前記ダミーファイルが選択済みであると判断した場合、前記データファイルを選択状態とするアクセス許可手段と、前記判断手段により前記ダミーファイルが選択済みでないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知するファイル秘匿手段とを有する。
この発明の他の形態としての携帯可能電子装置におけるデータ管理方法は、外部装置から与えられるコマンドに応じた処理を行う携帯可能電子装置における方法であって、前記外部装置からメモリに記憶されているデータファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対するアクセス許可条件が満たされているか否かを判断し、この判断により前記アクセス許可条件が満たされていると判断した場合、前記データファイルを選択状態とし、前記判断により前記アクセス許可条件が満たされていないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する。
この発明の他の形態としての携帯可能電子装置におけるデータ管理方法は、論理的に設定される複数のロジカルチャネルでの外部装置との通信により受信するコマンドに応じた処理を行う携帯可能電子装置における方法であって、前記外部装置からメモリに記憶されているデータファイルの選択を要求するコマンドを受信した場合、前記コマンドを受信したロジカルチャネルが前記データファイルに対応づけられた所定のロジカルチャネルであるか否かを判断し、この判断により前記所定のロジカルチャネルで前記コマンドを受信したと判断した場合、前記データファイルを選択状態とし、前記判断により前記所定のロジカルチャネルで前記コマンドを受信していないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する。
この発明の他の形態としての携帯可能電子装置におけるデータ管理方法は、外部装置から与えられるコマンドに応じた処理を行う携帯可能電子装置における方法であって、前記外部装置からメモリに記憶されているデータファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対応づけられたアクセス制御用のダミーファイルが選択済みであるか否かを判断し、この判断により前記ダミーファイルが選択済みであると判断した場合、前記データファイルを選択状態とし、前記判断により前記ダミーファイルが選択済みでないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する。
この発明の一形態によれば、不正アクセスのリスクを軽減し、データのセキュリティ性を向上させることができる携帯可能電子装置おおび携帯可能電子装置におけるデータ管理方法を提供できる。
以下、この発明の実施の形態について図面を参照して詳細に説明する。
図1は、この発明の実施の形態に係る携帯可能電子装置としてのICカード1およびICカード1を含むICカードシステムの構成例を示すブロック図である。
上記ICカード1は、外部装置あるいは上位装置としてのICカード処理装置2からの電源供給により動作可能な状態となる。動作可能となったICカード1は、上記ICカード処理装置2からのコマンドに応じて種々の処理を行う。上記ICカード処理装置2は、ICカード1を動作させるための電源を供給するとともに、当該ICカード1に対して種々の処理を要求するコマンドを供給する。上記ICカード処理装置2がICカード1に対して供給するコマンドは、用途あるいは運用形態などに応じた処理を要求するものである。
図1は、この発明の実施の形態に係る携帯可能電子装置としてのICカード1およびICカード1を含むICカードシステムの構成例を示すブロック図である。
上記ICカード1は、外部装置あるいは上位装置としてのICカード処理装置2からの電源供給により動作可能な状態となる。動作可能となったICカード1は、上記ICカード処理装置2からのコマンドに応じて種々の処理を行う。上記ICカード処理装置2は、ICカード1を動作させるための電源を供給するとともに、当該ICカード1に対して種々の処理を要求するコマンドを供給する。上記ICカード処理装置2がICカード1に対して供給するコマンドは、用途あるいは運用形態などに応じた処理を要求するものである。
また、上記ICカード1は、アンテナあるいは無線通信部等により上記ICカード処理装置2と非接触の状態で無線通信を行う非接触式の携帯可能電子装置(非接触式ICカード)であっても良し、上記ICカード処理装置2と物理的に接触して通信を行う接触式の携帯可能電子装置(接触式ICカード)であっても良い。さらには、上記ICカード1は、非接触式ICカードとしての通信機能と接触式ICカードとしての通信機能とを有する複合型のICカード(デュアルインターフェースICカード)であっても良い。なお、この実施の形態では、主に、非接触式ICカードを想定して説明する。非接触式ICカードと接触式ICカードとはICカード処理装置2との通信方式等が異なるだけである。このため、以下に説明する実施の形態は、接触式ICカードにも同様に適用できる。
上記ICカード1の構成例について説明する。
図1に示すように、上記ICカード1は、CPU11、プログラムメモリ12、ワーキングメモリ13、データメモリ14、通信制御部15、電源部16、および、インターフェース(アンテナあるいはコンタクト部)17などを有している。
また、上記ICカード1は、カード状の本体Cにより構成される。上記ICカード1を形成するカード状の本体Cには、1つ(あるいは複数)のICチップ1aとインターフェース17とが埋設される。上記ICチップ1aは、CPU11、プログラムメモリ12、ワーキングメモリ13、データメモリ14、通信制御部15および電源部16などを有している。上記ICチップ1aは、上記インターフェース17に接続された状態でモジュール化され、当該ICカード1を形成するカード状の本体C内に埋設される。たとえば、図2は、非接触式ICカード全体の構成例を示す図である。図2に示す非接触式ICカードは、カード状の本体Cを有している。この本体C内には、図2に点線で示すように、1つ(あるいは複数)のICチップ1aとインターフェース17としてのアンテナとを有するモジュールMが埋め込まれている。
図1に示すように、上記ICカード1は、CPU11、プログラムメモリ12、ワーキングメモリ13、データメモリ14、通信制御部15、電源部16、および、インターフェース(アンテナあるいはコンタクト部)17などを有している。
また、上記ICカード1は、カード状の本体Cにより構成される。上記ICカード1を形成するカード状の本体Cには、1つ(あるいは複数)のICチップ1aとインターフェース17とが埋設される。上記ICチップ1aは、CPU11、プログラムメモリ12、ワーキングメモリ13、データメモリ14、通信制御部15および電源部16などを有している。上記ICチップ1aは、上記インターフェース17に接続された状態でモジュール化され、当該ICカード1を形成するカード状の本体C内に埋設される。たとえば、図2は、非接触式ICカード全体の構成例を示す図である。図2に示す非接触式ICカードは、カード状の本体Cを有している。この本体C内には、図2に点線で示すように、1つ(あるいは複数)のICチップ1aとインターフェース17としてのアンテナとを有するモジュールMが埋め込まれている。
上記CPU11は、ICカード1全体の制御を司るものである。上記CPU11は、上記プログラムメモリ12あるいはデータメモリ14に記憶されている制御プログラムおよび制御データなどに基づいて動作する。たとえば、上記CPU11は、上記プログラムメモリ12に記憶されている基本的な動作を司る制御プログラムを実行することにより、外部装置から与えられるコマンドに応じた処理を実行する。これにより、外部装置から上記データメモリ14へのデータの書込みを要求するコマンドが与えられれば、上記CPU11は、上記データメモリ14へのデータの書き込み処理を実行する。また、外部装置から上記データメモリ14に記憶されているデータの読み出しを要求するコマンドが与えられれば、上記CPU11は、上記データメモリ14からのデータの読み出し処理を実行する。さらに、上記CPU11は、当該ICカード1の用途などに応じてインストールされる処理プログラムを実行することにより、用途に応じた処理を実現するようになっている。
上記プログラムメモリ12は、読み出し専用のメモリ(ROM:リードオンリーメモリ)により構成される。上記プログラムメモリ12には、予め基本動作を司る制御プログラムおよび制御データなどが記憶されている。上記プログラムメモリ12には、予め当該ICカード1の仕様に応じた制御プログラム及び制御データが記憶される。たとえば、上記CPU11は、上記プログラムメモリ12に記憶される制御プログラムにより外部から与えられるコマンドに応じた処理を実現する。
上記ワーキングメモリ13は、揮発性のメモリ(RAM;ランダムアクセスメモリ)により構成される。上記ワーキングメモリ13は、データを一時保管するバッファメモリとして機能する。例えば、上記ワーキングメモリ13には、ICカード処理装置(外部装置)2との通信処理において、送受信されるデータが一時的に保管される。また、上記ワーキングメモリ13には、種々の書込みデータなどを一時的に保持するメモリとしても利用される。
上記データメモリ(不揮発性メモリ)14は、データの書き込みが可能な不揮発性のメモリである。上記データメモリ14は、例えば、EEPROMあるいはフラッシュメモリなどにより構成される。上記データメモリ14には、当該ICカード1の使用目的に応じた種々の情報が記憶される。たとえば、当該ICカードの使用目的に応じたアプリケーション(処理プログラムおよび運用データなど)は、上記データメモリ14に書込まれる。当該ICカード1が複数の使用目的に使用される場合、上記データメモリ14には、各使用目的に応じた複数のアプリケーションが記憶される。
また、当該ICカード1の使用目的に応じたアプリケーションは、上記データメモリ14上に定義された使用目的ごとのプログラムファイル(DF;Dedicated File)およびデータファイル(EF;Elementary File)などの各ファイルに記憶される。このようなファイル構成は、たとえば、ISO/IEC7816−4に基づくものである。
また、上記データファイル自体の構造としては、レコード型のファイルあるいは透過型のファイルがある。レコード型のファイルは、複数のレコード単位のデータが格納される。なお、レコード型のファイルにおける各レコードの構造としては、たとえば、識別子(タグ:Tag)、データ長(レングス:Length)、データ値(バリュー:Value)により構成されるTLV構造などがある。このようなレコード型のファイルには、ファイル内のレコードごとにアクセスすることが可能である。たとえば、ファイル内の各レコードには、各レコードに付与されるレコード番号によりアクセスできる。また、上記透過型のファイル内のデータには、当該ファイル内のデータ位置を表すオフセット値を指定してアクセスすることも可能である。
また、上記データメモリ14に記憶されるファイル(データファイル)には、後述するようなアクセス許可条件が設定されるものがある。上記アクセス許可条件は、セキュリティを確保したいファイルを選択状態(アクセス可能な状態)にするための手順などの条件を設定するものである。上記アクセス許可条件は、セキュリティを確保したい全ファイルまたは一部のファイルに対して設定される。上記アクセス許可条件は、たとえば、運用形態等に応じて、ICカードの発行者あるいは管理者がICカード1に対して設定する。このようなアクセス許可条件は、たとえば、データメモリ14内の記憶領域14aに記憶される。また、上記アクセス許可条件は、プログラムメモリ12に記憶するようにしても良い。
上記通信制御部15は、上記インターフェース17を介して外部装置(たとえば、ICカード処理装置2)とのデータ通信を制御するものである。たとえば、当該ICカードが非接触型のICカードであれば、外部装置からデータを受信する場合、上記通信制御部15は、インターフェース17としてのアンテナにより受信した電波としての送信データを復調し、復調した信号を上記CPU11に供給する。また、外部装置へデータを送信する場合、上記通信制御部15は、上記CPU11から与えられるデータを変調し、変調したデータを上記インターフェース17としてのアンテナにより電波として発信する。なお、接触式ICカードでは、インターフェース17として、アンテナの代わりに、外部装置の接触端子部と物理的・電気的に接触するコンタクト部を介して外部装置とのデータ通信を行う。
また、当該ICカード1は、外部装置との通信機能としてロジカルチャネル(論理チャネル)と称する機能(通信処理手段)を有する。ロジカルチャネルは、物理的には1つのシリアルインターフェースを擬似的(論理的)に複数のインターフェースとして使用する機能である。この機能を用いることで、1つのシリアルインターフェースしか持たないICカードであっても、複数のチャンネルで通信制御を行うことができる。たとえば、ICカード1は、外部装置からの命令電文が通信制御情報においてチャネル「1」を指定した電文とチャネル「2」を指定した電文とをそれぞれ別々のインターフェースを介して送信された電文と見なす。また、ICカード1では、複数のロジカルチャネルでそれぞれ異なるカレント状態(たとえば、選択状態のファイルあるいはレコード)を保持することができる。
なお、ロジカルチャネルは、通常、デフォルト値が予め規定されている。これにより、ロジカルチャネルを意識しないで通信を行う場合、ICカード1は、デフォルト値のロジカルチャネルで通信を行う。たとえば、「0」〜「3」の4つのロジカルチャネルが使用可能な運用形態では、ロジカルチャネルのデフォルト値として「0」を予め規定しておく形態が実現可能である。
上記電源部16は、当該ICカード1の各部を動作させるための上記インターフェース17を介して受信する電力およびクロックパルスを供給する。たとえば、当該ICカードが非接触型のICカードであれば、上記電源部16は、上記インターフェース17としてのアンテナにより受信した電波から電力およびクロックパルスを生成し、当該ICカード内の各部に供給するようになっている。また、上記電源部16からの電力供給により起動した場合、上記CPU11は、当該ICカード1の処理状態をリセットする処理を行うようになっている。なお、当該ICカード1が接触型のICカードであれば、上記電源部16はインターフェース17を介して外部装置から直接的に供給される電力およびクロックパルスにより各部へ供給するようになっている。
次に、上記ICカード処理装置2について説明する。
上記ICカード処理装置2は、図1に示すように、制御装置21およびカードリーダライタ22を有している。上記制御装置21は、パーソナルコンピュータ(PC)などにより構成される。上記制御装置21は、CPUなどの演算処理部、RAM、ROM、不揮発性メモリおよびハードディスクドライブなどの各種メモリ、通信インターフェースなどの各種インターフェースなどにより構成される。上記制御装置21では、上記演算処理部がメモリに記憶されている各種の制御プログラムを実行することにより各種の処理を実現している。また、上記制御装置21は、ICカード1とのデータ通信を行う上記カードリーダライタ22とのデータの入出力を行うようになっている。
上記ICカード処理装置2は、図1に示すように、制御装置21およびカードリーダライタ22を有している。上記制御装置21は、パーソナルコンピュータ(PC)などにより構成される。上記制御装置21は、CPUなどの演算処理部、RAM、ROM、不揮発性メモリおよびハードディスクドライブなどの各種メモリ、通信インターフェースなどの各種インターフェースなどにより構成される。上記制御装置21では、上記演算処理部がメモリに記憶されている各種の制御プログラムを実行することにより各種の処理を実現している。また、上記制御装置21は、ICカード1とのデータ通信を行う上記カードリーダライタ22とのデータの入出力を行うようになっている。
たとえば、上記制御装置21には、上記ICカード1を用いた各種の処理に応じた制御プログラムが予め記憶されている。上記制御装置21では、上記のような制御プログラムを実行することにより上記ICカード1を用いた各種の処理を実行する。たとえば、上記ICカード1を用いた各種の処理において、上記制御装置21は、所定のコマンドを所定の手順で供給する。上記制御装置21では、上記のような各コマンドに対するICカード1からの各レスポンス(コマンドに対する処理結果等を示す情報)に基づいて各種の処理を行うようになっている。
上記カードリーダライタ22は、上記ICカード1とのデータ通信を行う通信手段として機能する。上記カードリーダライタ22は、上記ICカード1の通信方式に応じた通信方式によるデータ通信を行うためのものである。つまり、上記カードリーダライタ22を介して制御装置21は、上記ICカード1とのデータ通信を実現している。
上記ICカード1が非接触型のICカードである場合、上記カードリーダライタ22は、上記ICカード1との無線によるデータ通信を行うためのアンテナおよび通信制御部(変復調回路等)などにより構成される。非接触型のICカード1へデータを送信する場合、上記カードリーダライタ22では、通信制御部により上記制御装置21から与えられる送信データを変調し、変調した信号を電波としてアンテナにより発信する。また、非接触型のICカード1からデータを受信する場合、上記カードリーダライタ22では、アンテナにより受信した電波としての信号を通信制御部により復調し、復調したデータを受信データとして上記制御装置21へ供給する。また、上記カードリーダライタ22では、上記のようなデータの送受信とともに、上記ICカード1を動作させるための電源およびクロックパルスとなる電波をアンテナにより発信するようになっている。
また、上記ICカード1が接触型のICカードである場合、上記カードリーダライタ22は、ICカード1と物理的に接触してデータ通信を行うためのコンタクト部および通信制御部などにより構成される。接触型のICカードとのデータの送受信を行う場合、上記カードリーダライタ22では、上記コンタクト部がICカード1側に設けられているコンタクト部と物理的に接触して各種のデータ通信を行う。また、上記カードリーダライタ22では、ICカード1に物理的に接触しているコンタクト部を介して当該ICカード1に対して電力およびクロックパルスを供給するようになっている。
次に、上記データメモリ14に記憶されるファイルについて説明する。
本実施の形態では、上記データメモリ14には、ISO/IEC 7816で規定されているファイル構成で各ファイルが記憶されるものとする。ISO/IEC 7816では、MF(Master File)、DF(Dedicated File)、EF(Elementary File)などからなる階層構造のファイル構成が規定されている。MFは、階層構造の最上位に位置するファイルであり、MFの下層にDFあるいはEFが設けられる。DFは、例えば、アプリケーションごとに設定されるファイルであり、当該アプリケーションで利用するデータを格納するためのデータファイルとしてのEFが下層に設けられる。各EFは、それぞれ実データを記憶するためのデータファイルである。
本実施の形態では、上記データメモリ14には、ISO/IEC 7816で規定されているファイル構成で各ファイルが記憶されるものとする。ISO/IEC 7816では、MF(Master File)、DF(Dedicated File)、EF(Elementary File)などからなる階層構造のファイル構成が規定されている。MFは、階層構造の最上位に位置するファイルであり、MFの下層にDFあるいはEFが設けられる。DFは、例えば、アプリケーションごとに設定されるファイルであり、当該アプリケーションで利用するデータを格納するためのデータファイルとしてのEFが下層に設けられる。各EFは、それぞれ実データを記憶するためのデータファイルである。
図3は、データメモリ14に記憶される各種ファイルのファイル構造の第1の具体例を示す図である。
図3に示す例では、MFは、階層構造の最上位階層のMFの直下に、EFとしてのファイルA、ファイルB、ファイルC、鍵ファイルX、鍵ファイルYが設けられている。また、MFの直下にはDFも設けられ、このDFに属するEFとしては、ファイルD、ファイルE、ファイルFが設けられている。ファイルA、ファイルB、ファイルC、ファイルD、ファイルE、ファイルFは、それぞれファイルIDが1000h、2345h、7FFFh、8000h、A000h、BFFFhに設定されている。また、鍵ファイルXおよび鍵ファイルYは、それぞれ鍵Xおよび鍵Yとしての鍵データを格納するEFである。
図3に示す例では、MFは、階層構造の最上位階層のMFの直下に、EFとしてのファイルA、ファイルB、ファイルC、鍵ファイルX、鍵ファイルYが設けられている。また、MFの直下にはDFも設けられ、このDFに属するEFとしては、ファイルD、ファイルE、ファイルFが設けられている。ファイルA、ファイルB、ファイルC、ファイルD、ファイルE、ファイルFは、それぞれファイルIDが1000h、2345h、7FFFh、8000h、A000h、BFFFhに設定されている。また、鍵ファイルXおよび鍵ファイルYは、それぞれ鍵Xおよび鍵Yとしての鍵データを格納するEFである。
次に、存在が秘匿されるファイル(秘密ファイル)へのアクセス制御として第1〜第6のアクセス方法について説明する。
まず、第1のアクセス方法について説明する。
この第1のアクセス方法は、秘密ファイルに対して特定のロジカルチャネルでのみアクセス可能とするものである。上記ロジカルチャネルは、上述したように、論理的な通信用のチャネルである。すなわち、ICカード1は、論理的に設定されるロジカルチャネルごとに上位装置(ICカード処理装置)との通信制御が可能である。この場合、ICカード1は、複数のロジカルチャネルでそれぞれ異なるカレント状態(たとえば、カレントファイル)を保持しつつ、上位装置との通信制御(アクセス制御)を行う。
まず、第1のアクセス方法について説明する。
この第1のアクセス方法は、秘密ファイルに対して特定のロジカルチャネルでのみアクセス可能とするものである。上記ロジカルチャネルは、上述したように、論理的な通信用のチャネルである。すなわち、ICカード1は、論理的に設定されるロジカルチャネルごとに上位装置(ICカード処理装置)との通信制御が可能である。この場合、ICカード1は、複数のロジカルチャネルでそれぞれ異なるカレント状態(たとえば、カレントファイル)を保持しつつ、上位装置との通信制御(アクセス制御)を行う。
上記ICカード1の通信では、デフォルト値としてのロジカルチャネル「0」で通信が行われることが多い。たとえば、一般的な運用形態において特にロジカルチャネルを意識しないで通信を行う場合には、デフォルト値としてのロジカルチャネル「0」で通信が行われる。このように、ICカード1は、デフォルト値としてのロジカルチャネル「0」で通信を行うことが多く、デフォルト値としてのロジカルチャネル「0」以外のロジカルチャネルは使用頻度が少ない。
言い換えれば、デフォルト値以外のロジカルチャネルを指定した場合にのみ秘密ファイルへのアクセスを許可するようにすれば、当該秘密ファイルは、一般的な運用状態(つまり、デフォルト値のロジカルチャネル)において秘匿することができる。この場合、デフォルト値のロジカルチャネル(たとえば、ロジカルチャネル「0」)では、当該秘密ファイルが存在しないものとする応答コードが上位装置へ出力される。このように、デフォルト値以外のロジカルチャネルを指定した場合にのみ秘密ファイルへのアクセスを許可するようにすれば、秘密ファイルのセキュリティ性を向上させることができる。
ここで、ファイルAへのアクセスを可能とするロジカルチャネルは、各秘密ファイルごとに予め固定的に決めておくようにしても良いし、所定の計算により求めるようにしても良い。前者によれば、容易に秘密ファイルを設定でき、秘密ファイルにアクセスする場合に特別な演算等が必要ないため高速なアクセス制御が実現できる。また、後者によれば、演算処理により算出するロジカルチャネルを秘密ファイルへアクセスする度に変化させることができるため、セキュリティ性を向上できる。また、ロジカルチャネルを決定するための演算処理は、ICカードの製造番号あるいは発行番号などのICカード毎に異なる値を基準に実行されるようにしても良いし、ICカードと上位装置との間で認証のために交換される乱数を計算のベースとしても良い。
図4は、第1のアクセス方法による秘密ファイルの選択処理を説明するためのフローチャートである。
まず、ICカード1は、上記ICカード処理装置2から指定するファイルIDのファイルの選択を要求するファイル要求コマンド(あるいは、ファイルの選択を含むアクセス要求(読出し要求、書込み要求)コマンド、ファイル検索コマンド等)を受けたものとする(ステップS11)。この場合、ICカード1のCPU11は、指定されたファイルIDのファイルが存在するか否かを判断する(ステップS12)。この判断により指定されたファイルIDのファイルが存在しないと判断した場合(ステップS12、NO)、CPU11は、指定されたファイルIDのファイルが存在しない旨を示す応答コードを出力する(ステップS17)。
まず、ICカード1は、上記ICカード処理装置2から指定するファイルIDのファイルの選択を要求するファイル要求コマンド(あるいは、ファイルの選択を含むアクセス要求(読出し要求、書込み要求)コマンド、ファイル検索コマンド等)を受けたものとする(ステップS11)。この場合、ICカード1のCPU11は、指定されたファイルIDのファイルが存在するか否かを判断する(ステップS12)。この判断により指定されたファイルIDのファイルが存在しないと判断した場合(ステップS12、NO)、CPU11は、指定されたファイルIDのファイルが存在しない旨を示す応答コードを出力する(ステップS17)。
上記判断により指定されたファイルIDのファイルが存在すると判断した場合(ステップS12、YES)、CPU11は、指定されたファイルがアクセス許可条件が与えられているファイル(秘密ファイル)であるか否かを判断する(ステップS13)。この判断により指定されたファイルが秘密ファイルでないと判断した場合(ステップS13、NO)、CPU11は、当該ファイルへのアクセスを許可(指定されたファイルIDのファイルにアクセス)する(ステップS16)。たとえば、受信したコマンドが読出しコマンドであれば、CPU11は、指定されたファイルを読出し処理を行う。
また、上記判断により指定されたファイルが秘密ファイルであると判断した場合(ステップS13、YES)、CPU11は、当該秘密ファイルへのアクセス許可条件を特定する処理を行う(ステップS14)。ここでは、アクセス許可条件は、上述したような特定のロジカルチャネルであるものとする。この場合、CPU11は、当該秘密ファイルへのアクセスが許可されるロジカルチャネルを特定する処理を行う。たとえば、アクセスを許可するロジカルチャネルが予め固定的に設定されている場合、CPU11は、当該設定内容を読み出す。また、アクセス許可のロジカルチャネルが演算処理により算出される場合、CPU11は、アクセスを許可するロジカルチャネルを演算処理により決定する。
当該秘密ファイルへのアクセスが許可されるロジカルチャネルを特定すると、CPU11は、現在のロジカルチャネルが当該秘密ファイルへのアクセスが許可されるロジカルチャネルであるか否かを判断する(ステップS15)。この判断により現在のロジカルチャネルが当該秘密ファイルへのアクセスが許可されるロジカルチャネルでないと判断した場合(ステップS15、NO)、CPU11は、指定されたファイルIDのファイルが存在しないものとして処理する(ステップS17)。つまり、現在のロジカルチャネルが当該秘密ファイルへのアクセスが許可されるロジカルチャネルでない場合、CPU11は、上記したステップS17へ進み、指定されたファイルIDのファイルが存在しない旨を示す応答コードを出力する。
また、上記判断により現在のロジカルチャネルが当該秘密ファイルへのアクセスが許可されるロジカルチャネルであると判断した場合(ステップS15、YES)、CPU11は、当該秘密ファイルへのアクセスを許可(指定されたファイルIDのファイルにアクセス)する(ステップS16)。たとえば、受信したコマンドが読出しコマンドであれば、CPU11は、指定されたファイル(秘密ファイル)の読出し処理を行う。これは、現在のロジカルチャネルが秘密ファイルへのアクセスが許可されるロジカルチャネルである場合、当該秘密ファイルの読出しが可能であることを意味している。
以下、第1のアクセス方法としての具体例について説明する。
上記第1のアクセス方法の第1の具体例として、秘密ファイルに対するアクセス許可条件が固定的に設定される場合の動作例について説明する。ここでは、図3に示すファイルIDが「1000h」のファイルAを秘密ファイルとし、ファイルAにはロジカルチャネル「2」でのみアクセス可能と設定されている場合を想定するものとする。
図5は、ロジカルチャネル「2」でファイルID「1000h」を指定するファイル選択コマンドを受信した場合の動作を示している。これに対して、図6は、ロジカルチャネル「0」でファイルID「1000h」を指定するファイル選択コマンドを受信した場合の動作を示している。
すなわち、図5に示すように、ロジカルチャネル「2」でファイルID「1000h」を指定するファイル選択コマンドを受信した場合(ステップS21)、ICカード1は、ファイルID「1000h」のファイル(秘密ファイル)に設定されているアクセス許可条件としてロジカルチャネルを特定する。この場合、ファイルID「1000h」のファイルAには、ロジカルチャネル「2」がアクセス許可条件として設定されている。ここでは、ICカード1は、現在のロジカルチャネルがアクセス許可条件としてのロジカルチャネル「2」であることを確認する(ステップS22)。
この確認結果に基づいて、ICカード1は、当該ファイルID「1000h」のファイルを選択し(ステップS23)、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答を出力する(ステップS24)。この状態において、当該ICカード1は、ファイルID「1000h」のファイルを選択状態としてアクセス可能とする(ステップS25)。たとえば、選択したファイルに対する読出しコマンドを受けた場合、当該ICカード1は、ファイルID「1000h」のファイルに対する読出し処理を行う。
これに対して、図6に示すように、ロジカルチャネル「0(デフォルト値)」の状態でファイルID「1000h」を指定するファイル選択コマンドを受信した場合(ステップ31)、ICカード1は、ファイルID「1000h」のファイル(秘密ファイル)に設定されているアクセス許可条件としてのロジカルチャネル「2」であるため、上記ファイル選択コマンドで指定されたロジカルチャネル「0」でないことを確認する(ステップS32)。この確認結果に基づいて、ICカード1は、当該ファイルID「1000h」のファイルが選択不可であると判別し、当該ファイルを秘匿する(ステップS33)。
この場合、ICカード1は、ファイルID「1000h」の秘密ファイルを秘匿するため、上記ファイル選択コマンドに対する処理結果として指定されたファイル無しを示す応答を出力する(ステップS34)。この状態において、当該ICカード1は、ファイルID「1000h」のファイルを秘匿して、アクセスを不可(選択不可)とする(ステップS35)。
次に、上記第1のアクセス方法の第2の具体例として、秘密ファイルに対するアクセス許可条件がICカード1の固有情報に基づく演算処理により算出される場合の動作例について説明する。ここでは、アクセス許可条件を算出するための固有情報としては、ICカードの製造番号を想定するものとする。
図7は、ICカード1の固有情報としての製造番号に基づく演算処理によりアクセス許可条件としてのロジカルチャネルを決定する場合の動作例を示している。
図7は、ICカード1の固有情報としての製造番号に基づく演算処理によりアクセス許可条件としてのロジカルチャネルを決定する場合の動作例を示している。
図7に示すように、ロジカルチャネル「N」でファイルID「1000h」を指定するファイル選択コマンドを受信した場合(ステップS41)、ICカード1は、アクセス許可条件を演算処理により算出する。ここで、ICカード1は、指定されたファイルへのアクセス許可条件としてのロジカルチャネルを決定するための固有情報としての製造番号を読出す(ステップS42)。製造番号を読み出すと、ICカード1は、読み出した製造番号を基にしてアクセス許可条件としてのロジカルチャネルを決定するための所定の演算処理を行う(ステップS43)。
たとえば、図7の例では、ロジカルチャネルが4つであり、かつ、ロジカルチャネルのデフォルト値が「0」であることを想定した演算処理の例を示している。図7に示す例では、演算処理として、製造番号を3で割った剰余に1を加算した値をアクセス許可条件としてロジカルチャネルとしている。つまり、図7の例では、アクセス許可条件としてロジカルチャネルが「MOD(製造番号÷3)+1=N」となる例を示している。
なお、アクセス許可条件としてのロジカルチャネルの演算処理の内容は、デフォルト値以外のロジカルチャネルで算出されるものであれば良い。ただし、ICカード処理装置2とICカード1とでは、同じロジカルチャネルが得られるような演算処理を行うようにする必要がある。
なお、アクセス許可条件としてのロジカルチャネルの演算処理の内容は、デフォルト値以外のロジカルチャネルで算出されるものであれば良い。ただし、ICカード処理装置2とICカード1とでは、同じロジカルチャネルが得られるような演算処理を行うようにする必要がある。
上記演算処理によりファイルID「1000h」のファイルに対するアクセス許可条件がロジカルチャネル「N」と決定された場合、ICカード1は、現在のロジカルチャネル「N」がアクセス許可条件としてのロジカルチャネル「N」であることを確認する(ステップS44)。この確認結果に基づいて、ICカード1は、当該ファイルID「1000h」のファイルを選択し(ステップS45)、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答を出力する(ステップS46)。この状態において、当該ICカード1は、ファイルID「1000h」のファイルを選択状態としてアクセス可能とする(ステップS46)。たとえば、選択したファイルに対する読出しコマンドを受けた場合、当該ICカード1は、ファイルID「1000h」のファイルに対する読出し処理を行う。
次に、上記第1のアクセス方法の第3の具体例として、秘密ファイルに対するアクセス許可条件が変数に基づく演算処理により算出される場合の動作例について説明する。ここでは、アクセス許可条件を算出するための変数としては、上位装置との認証処理に用いられる乱数を想定する。
図8は、乱数に基づく演算処理によりアクセス許可条件としてのロジカルチャネルを決定する場合の動作例を示している。
図8に示すように、ロジカルチャネル「N」でファイルID「1000h」を指定するファイル選択コマンドを受信した場合(ステップS51)、ICカード1は、アクセス許可条件を演算処理により算出する。ここで、ICカード1は、指定されたファイルへのアクセス許可条件としてのロジカルチャネルを決定するために、上位装置との認証処理に用いた乱数を特定する(ステップS52)。乱数を特定すると、ICカード1は、当該乱数を基にしてアクセス許可条件としてのロジカルチャネルを決定するための所定の演算処理を行う(ステップS53)。
たとえば、図8の例では、図7の例と同様に、ロジカルチャネルが4つであり、かつ、ロジカルチャネルのデフォルト値が「0」であることを想定した演算処理の例を示している。また、図8に示す例は、図7に示す例では、演算処理として、乱数を3で割った剰余に1を加算した値をアクセス許可条件としてロジカルチャネルとしている。つまり、図8の例は、図7の例で説明した演算式における「製造番号」を「乱数」に置き換えた演算処理を行う。
なお、アクセス許可条件としてのロジカルチャネルの演算処理の内容は、デフォルト値以外のロジカルチャネルで算出されるものであれば良い。ただし、ICカード処理装置2とICカード1とでは、同じロジカルチャネルが得られるような演算処理を行うため、共通に認識できる変数を用いる必要がある。
なお、アクセス許可条件としてのロジカルチャネルの演算処理の内容は、デフォルト値以外のロジカルチャネルで算出されるものであれば良い。ただし、ICカード処理装置2とICカード1とでは、同じロジカルチャネルが得られるような演算処理を行うため、共通に認識できる変数を用いる必要がある。
上記演算処理によりファイルID「1000h」のファイルに対するアクセス許可条件がロジカルチャネル「N」と決定された場合、ICカード1は、現在のロジカルチャネル「N」がアクセス許可条件としてのロジカルチャネル「N」であることを確認する(ステップS54)。この確認結果に基づいて、ICカード1は、当該ファイルID「1000h」のファイルを選択し(ステップS55)、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答を出力する(ステップS56)。この状態において、当該ICカード1は、ファイルID「1000h」のファイルを選択状態としてアクセス可能とする(ステップS56)。たとえば、選択したファイルに対する読出しコマンドを受けた場合、当該ICカード1は、ファイルID「1000h」のファイルに対する読出し処理を行う。
上述したように、図7に示す例では、ロジカルチャネルとして「1」、「2」、「3」の何れかの値を求めるため、製造番号を3で割った余りに1を加えて1〜3の何れかの値となるようにしている。この場合、各ICカードの固有情報を用いるために、結果としてアクセス許可条件となるロジカルチャネルも固定な値となる。これに対して、図8に示す例では、照合あるいは認証処理等のために用いる乱数データをもとにした演算処理を経てアクセス許可条件とするロジカルチャネルの値として1〜3の何れかの値を求めている。したがって、図8に示す例では、認証処理などの乱数の授受が行われる度に異なったロジカルチャネルがアクセス許可条件となるため、セイキュリティ性をさらに向上させることができる。
次に、第2のアクセス方法について説明する。
この第2のアクセス方法は、秘密ファイルに対するアクセス許可条件として、特定のロジカルチャネルで特定のアクセスキーとしての鍵データの照合が成功していることを条件とするものである。つまり、第2のアクセス方法は、特定のロジカルチャネルで、アクセスキーとしての所定の鍵データの照合が成功した場合にのみ、秘密ファイルへのアクセスを可能とするものである。
この第2のアクセス方法は、秘密ファイルに対するアクセス許可条件として、特定のロジカルチャネルで特定のアクセスキーとしての鍵データの照合が成功していることを条件とするものである。つまり、第2のアクセス方法は、特定のロジカルチャネルで、アクセスキーとしての所定の鍵データの照合が成功した場合にのみ、秘密ファイルへのアクセスを可能とするものである。
また、秘密ファイルのアクセス許可条件として鍵データの照合を実行すべきロジカルチャネルは、上記第1のアクセス方法で説明したロジカルチャネルの決定方法が適用できる。つまり、アクセス許可条件として鍵データの照合を実行すべきロジカルチャネルは、各秘密ファイルごとに予め固定的に決めておくようにしても良いし、認証処理に用いられる乱数などの変数に基づく所定の演算処理により決定するようにしても良い。
第2のアクセス方法において、ファイル選択コマンドに対する処理は、基本的に図4に示す流れで実行される。すなわち、第2のアクセス方法としては、図4に示すステップS14及びS15の処理以外の説明は、上記第1のアクセス方法で説明した処理と同様な処理で実現できる。ただし、ここでは、ファイル選択コマンドは、任意のロジカルチャネルで受信したものとする。
すなわち、第2のアクセス方法では、図4に示すステップS14におけるアクセス許可条件を特定する処理として、どのロジカルチャネルでどの鍵の照合が成功していることが必要かを特定する。たとえば、鍵データの照合を実行すべきロジカルチャネルが予め設定されている場合、CPU11は、当該設定内容を読み出す。また、鍵データの照合を実行すべきロジカルチャネルを演算処理により算出する場合、CPU11は、鍵データの照合を実行すべきロジカルチャネルを演算処理により決定する。
また、指定された秘密ファイルへのアクセス許可条件として鍵データの照合を実行すべきロジカルチャネルを特定すると、CPU11は、図4に示すステップS15におけるアクセス許可条件を満たすか否かの判断として、特定されたロジカルチャネルでの鍵データの照合が成功済みであるか否かを判断する。この判断により特定されたロジカルチャネルでの鍵データの照合が成功していないと判断した場合、CPU11は、指定されたファイルIDのファイルが存在しないものとし、指定ファイルが存在しない旨の応答コードを出力する。また、特定されたロジカルチャネルでの鍵データの照合が成功していると判断した場合、CPU11は、指定されたファイルを選択する。
なお、上述した第2のアクセス方法では、秘密ファイルの選択を要求するファイル選択コマンドは、任意のロジカルチャネルで受信することを想定している。つまり、上述の第2のアクセス方法では、ファイル選択コマンドを受信する場合のロジカルチャネルは任意のチャネルで良いものとしている。ただし、第2のアクセス方法は、第1のアクセス方法と組み合わせて実施することも可能である。
すなわち、第1のアクセス方法で説明したような特定のロジカルチャネルで秘密ファイルの選択を要求するファイル選択コマンドを受信し、かつ、第2のアクセス方法で説明したような特定のロジカルチャネルでアクセスキーとしての鍵データの照合が成功済みであれば、ICカード1は、ファイル選択コマンドで指定された秘密ファイルが選択されるようにしても良い。逆に言えば、第1のアクセス方法で説明したような特定のロジカルチャネル以外でファイル選択コマンドを受信した場合、あるいは、第2のアクセス方法で説明したような特定のロジカルチャネルでの鍵データの照合が成功してない場合、ICカード1は、ファイル選択コマンドで指定されたファイルを選択不可とし、外部装置に指定されたファイル無しを通知するようにしても良い。
また、上述した第2のアクセス方法では、特定のロジカルチャネルで特定の鍵の照合が成功していることを秘密ファイルを選択状態(アクセス可能な状態)にするためのアクセス許可条件としている。これ加えて、アクセス許可条件として設定されている特定のロジカルチャネル以外で特定の鍵の照合が行われた場合には、当該秘密ファイルへのアクセスを不能とするような設定としても良い。これは、不正らしいアクセスを受けそうになった秘密ファイルをアクセス不能とすることにより当該秘密ファイルに対するセキュリティ性を向上させるものである。
次に、上記第2のアクセス方法の具体例として、秘密ファイルに対するアクセスが許可される場合の動作例について説明する。ここでは、図3に示すファイルIDが「2345h」のファイルBを秘密ファイルとし、ファイルBにはロジカルチャネル「2」で鍵Xの照合が成功している状態でのみアクセス可能と設定されている場合を想定するものとする。
図9は、ロジカルチャネル「2」で鍵Xの照合を行った後、ファイルID「2345h」を指定するファイル選択コマンドを受信した場合の動作例を示している。これに対して、図10は、ロジカルチャネル「0」で鍵Xの照合を行った後、ファイルID「2345h」を指定するファイル選択コマンドを受信した場合の動作例を示している。
まず、図9に示す動作例において、ICカード1では、ロジカルチャネル「2」での鍵Xの照合処理を実行し(ステップS61)、その照合処理が成功したものとする。この場合、ICカード1のCPU11は、その照合結果として鍵Xの照合が成功したことを示す応答コードをICカード処理装置2へ出力する(ステップS62)。また、ロジカルチャネル「2」で鍵Xの照合が成功したことを示す情報は、ワーキングメモリ13に記憶される。このようなワーキングメモリ13に記憶する情報により、ICカード1では、どのロジカルチャネルでどの鍵の照合が成功したかを判別できるようになっている。
その後、ICカード1のCPU11は、ICカード処理装置2からロジカルチャネル「2」でファイルID「2345h」を指定するファイル選択コマンドを受信したものとする(ステップS63)。ここで、上記ファイル選択コマンドで指定されたファイルID「2345h」のファイルBは、アクセス許可条件が設定されている秘密ファイルである。このため、ICカード1のCPU11は、当該ファイル(秘密ファイル)に設定されているアクセス許可条件を特定する。ここでは、ファイルID「2345h」のファイルBには、ロジカルチャネル「2」で鍵Xが照合成功していることがアクセス許可条件として設定されているものとする。
従って、ICカード1のCPU11は、ファイルID「2345h」のファイルBに対するアクセス許可条件としてのロジカルチャネル「2」での鍵Xの照合が成功済みであることを確認する(ステップS64)。なお、アクセス許可条件として、第1のアクセス方法で説明したようなファイル選択コマンドを受信するロジカルチャネルも設定されている場合、上記ステップS64では、ファイル選択コマンドを受信したロジカルチャネルがアクセス許可条件としての特定のロジカルチャネルであるかも確認する。
このような確認結果に基づいて、ICカード1は、当該ファイルID「2345h」のファイルを選択し(ステップS65)、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答を出力する(ステップS66)。この状態において、当該ICカード1は、ファイルID「2345h」のファイルを選択状態としてアクセス可能とする(ステップS67)。たとえば、選択したファイルに対する読出しコマンドを受けた場合、当該ICカード1は、ファイルID「2345h」のファイルに対する読出し処理を行う。
これに対して、図10に示す動作例では、ICカード1は、ロジカルチャネル「0」での鍵Xの照合処理を実行し(ステップS71)、その照合処理が成功したものとしている。この場合、ICカード1のCPU11は、その照合結果として鍵Xの照合が成功したことを示す応答コードをICカード処理装置2へ出力する(ステップS72)。また、ロジカルチャネル「0」で鍵Xの照合が成功したことを示す情報は、ワーキングメモリ13に記憶される。このようなワーキングメモリ13に記憶する情報により、ICカード1では、どのロジカルチャネルでどの鍵の照合が成功したかを判別できるようになっている。
その後、ICカード1のCPU11は、ICカード処理装置2からファイルID「2345h」を指定するファイル選択コマンドを受信したものとする(ステップS73)。上記ファイルID「2345h」のファイルBは、ロジカルチャネル「2」で鍵Xが照合成功していることがアクセス許可条件として設定されている秘密ファイルである。この場合は鍵Xの照合が成功したのはロジカルチャネル「0」であるため、ICカード1のCPU11は、ファイルID「2345h」のファイルBに対するアクセス許可条件としてのロジカルチャネル「2」での鍵Xの照合が実行済みでないことを確認する(ステップS74)。
このような確認結果に基づいて、ICカード1のCPU11は、当該ファイルID「2345h」のファイルを選択不可とし(ステップS75)、上記ファイル選択コマンドに対する処理結果として指定されたファイル無しを示す応答を出力する(ステップS76)。これにより、当該ICカード1のCPU11は、ファイル選択コマンドの送信元としてのICカード処理装置2に対して、指定されたファイルID「2345h」のファイルを選択不可(アクセス不可)とするだけでなく、秘匿することができる。
次に、第3のアクセス方法について説明する。
この第3のアクセス方法は、秘密ファイルに対するアクセス許可条件として、2つの条件で鍵データの照合が成功していることを条件とする。つまり、第3のアクセス方法では、第1のロジカルチャネルで第1のアクセスキーとしての鍵データの照合が成功し、かつ、第2のロジカルチャネルで第2のアクセスキーとしての鍵データの照合が成功した場合にのみ、秘密ファイルへのアクセスを可能とするものである。
この第3のアクセス方法は、秘密ファイルに対するアクセス許可条件として、2つの条件で鍵データの照合が成功していることを条件とする。つまり、第3のアクセス方法では、第1のロジカルチャネルで第1のアクセスキーとしての鍵データの照合が成功し、かつ、第2のロジカルチャネルで第2のアクセスキーとしての鍵データの照合が成功した場合にのみ、秘密ファイルへのアクセスを可能とするものである。
また、秘密ファイルのアクセス許可条件として各種の鍵データの照合を実行すべきそれぞれのロジカルチャネルは、上記第1のアクセス方法で説明したロジカルチャネルの決定方法が適用できる。つまり、アクセス許可条件として各種の鍵データの照合を実行すべき各ロジカルチャネルは、各秘密ファイルごとに予め固定的に決めておくようにしても良いし、認証処理に用いられる乱数などの変数に基づく所定の演算処理により決定するようにしても良い。
第3のアクセス方法において、ファイル選択コマンドに対する処理は、基本的に図4に示す流れで実行される。すなわち、第3のアクセス方法としては、図4に示すステップS14及びS15の処理以外の説明は、上記第1のアクセス方法で説明した処理と同様な処理で実現できる。ただし、ここでは、ファイル選択コマンドは、任意のロジカルチャネルで受信するものとする。
すなわち、第3のアクセス方法では、図4に示すステップS14におけるアクセス許可条件を特定する処理として、どのロジカルチャネルでのどの鍵の照合が成功していることが必要かを特定する。たとえば、各鍵の照合を実行すべき各ロジカルチャネルが予め設定されている場合、CPU11は、当該設定内容を読み出す。また、各鍵の照合を実行すべき各ロジカルチャネルを演算処理により算出する場合、CPU11は、各鍵の照合を実行すべき各ロジカルチャネルをそれぞれ演算処理により決定する。
また、指定された秘密ファイルへのアクセス許可条件として各鍵データの照合を実行すべき各ロジカルチャネルを特定すると、CPU11は、図4に示すステップS15におけるアクセス許可条件を満たすか否かの判断として、特定された各ロジカルチャネルで各鍵データの照合が成功済みであるか否かを判断する。この判断により特定された各ロジカルチャネルでの各鍵データの照合が成功していないと判断した場合、CPU11は、指定されたファイルIDのファイルを選択不可とするとともに、当該指定ファイルが存在しない旨の応答コードを出力する。また、特定された各ロジカルチャネルでの各鍵データの照合が成功していると判断した場合、CPU11は、指定されたファイルを選択する。
なお、上述した第3のアクセス方法では、秘密ファイルの選択を要求するファイル選択コマンドは、任意のロジカルチャネルで受信することを想定している。つまり、上述の第3のアクセス方法では、ファイル選択コマンドを受信する場合のロジカルチャネルは任意のチャネルで良いものとしている。ただし、第3のアクセス方法は、第1のアクセス方法と組み合わせて実施することも可能である。
すなわち、第1のアクセス方法で説明したような特定のロジカルチャネルで秘密ファイルの選択を要求するファイル選択コマンドを受信し、かつ、第3のアクセス方法で説明したような特定の各ロジカルチャネルでアクセスキーとしての各鍵データの照合が成功済みであれば、ICカード1は、ファイル選択コマンドで指定された秘密ファイルが選択されるようにしても良い。逆に言えば、第1のアクセス方法で説明したような特定のロジカルチャネル以外でファイル選択コマンドを受信した場合、あるいは、第3のアクセス方法で説明したような特定のロジカルチャネルでの鍵データの照合が成功してない場合、ICカード1は、ファイル選択コマンドで指定されたファイルを選択不可とし、外部装置に指定されたファイル無しを通知するようにしても良い。
次に、上記第3のアクセス方法の具体例として、秘密ファイルに対するアクセスが許可される場合の動作例について説明する。ここでは、図3に示すファイルIDが「7FFFh」のファイルCを秘密ファイルとし、ファイルCにはロジカルチャネル「2」で鍵Xの照合が成功し、かつ、ロジカルチャネル「1」で鍵Yの照合が成功している状態でのみアクセス可能と設定されている場合を想定するものとする。
図11は、ロジカルチャネル「2」での鍵Xの照合およびロジカルチャネル「1」での鍵Yの照合が成功した後、ファイルID「7FFFh」を指定するファイル選択コマンドを受信した場合の動作例を示している。これに対して、図12は、ロジカルチャネル「0」で鍵Xの照合を行った後、ファイルID「2345h」を指定するファイル選択コマンドを受信した場合の動作例を示している。
まず、図11に示す動作例において、ICカード1では、ICカード処理装置2からのコマンドに応じて、ロジカルチャネル「2」での鍵Xの照合処理を実行し(ステップS81)、その照合処理が成功したものとする。この場合、ICカード1のCPU11は、その照合結果として鍵Xの照合が成功したことを示す応答コードをICカード処理装置2へ出力する(ステップS82)。ロジカルチャネル「2」で鍵Xの照合が成功したことを示す情報は、ワーキングメモリ13に記憶される。
さらに、ICカード1では、ICカード処理装置2からのコマンドに応じて、ロジカルチャネル「1」での鍵Yの照合処理を実行し(ステップS83)、その照合処理が成功したものとする。この場合、ICカード1のCPU11は、その照合結果として鍵Yの照合が成功したことを示す応答コードをICカード処理装置2へ出力する(ステップS84)。ロジカルチャネル「1」で鍵Xの照合が成功したことを示す情報は、ワーキングメモリ13に記憶される。
図11に示す例では、上記ステップS81〜S84の処理によりワーキングメモリ13には、ロジカルチャネル「2」で鍵Xの照合が成功したことと、ロジカルチャネル「1」で鍵Yの照合が成功したこととが記憶される。
その後、ICカード1のCPU11は、ICカード処理装置2からファイルID「7FFFh」を指定するファイル選択コマンドを受信したものとする(ステップS85)。ここで、上記ファイル選択コマンドで指定されたファイルID「7FFFh」のファイルCは、アクセス許可条件が設定されている秘密ファイルである。このため、ICカード1のCPU11は、当該ファイル(秘密ファイル)に設定されているアクセス許可条件を特定する。ここでは、ファイルID「7FFFh」のファイルCには、ロジカルチャネル「2」での鍵Xの照合とロジカルチャネル「1」での鍵Yの照合とが共に成功していることがアクセス許可条件として設定されているものとする。
従って、ICカード1のCPU11は、ファイルID「7FFFh」のファイルCに対するアクセス許可条件としてのロジカルチャネル「2」での鍵Xの照合が成功済みであることとロジカルチャネル「1」での鍵Yの照合が成功済みであることとを確認する(ステップS86)。なお、アクセス許可条件として、第1のアクセス方法で説明したようなファイル選択コマンドを受信するロジカルチャネルも設定されている場合、上記ステップS86では、ファイル選択コマンドを受信したロジカルチャネルがアクセス許可条件としての特定のロジカルチャネルであるかも確認する。
このような確認結果に基づいて、ICカード1のCPU11は、当該ファイルID「7FFFh」のファイルを選択し(ステップS87)、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答を出力する(ステップS88)。この状態において、当該ICカード1のCPU11は、ファイルID「7FFFh」のファイルを選択状態としてアクセス可能とする(ステップS89)。たとえば、選択したファイルに対する読出しコマンドを受けた場合、当該ICカード1では、ファイルID「7FFFh」のファイルに対する読出し処理を行う。
これに対して、図12に示す動作例では、ICカード1は、ICカード処理装置2からのコマンドに応じて、ロジカルチャネル「0」での鍵Xの照合処理を実行する(ステップS91)。この照合処理が成功した場合、ICカード1のCPU11は、鍵Xの照合が成功したことを示す応答コードをICカード処理装置2へ出力する(ステップS92)。この場合、ロジカルチャネル「0」で鍵Xの照合が成功したことを示す情報は、ワーキングメモリ13に記憶される。
さらに、ICカード1は、ICカード処理装置2からのコマンドに応じて、ロジカルチャネル「0」での鍵Yの照合処理を実行する(ステップS93)。この照合処理が成功した場合、ICカード1のCPU11は、鍵Yの照合が成功したことを示す応答コードをICカード処理装置2へ出力する(ステップS94)。この場合、ロジカルチャネル「0」で鍵Yの照合が成功したことを示す情報は、ワーキングメモリ13に記憶される。
図12に示す例では、上記ステップS81〜S84の処理によりワーキングメモリ13には、ロジカルチャネル「0」で鍵Xの照合が成功したことと、ロジカルチャネル「0」で鍵Yの照合が成功したこととが記憶される。
その後、ICカード1のCPU11は、ICカード処理装置2からファイルID「7FFFh」を指定するファイル選択コマンドを受信したものとする(ステップS85)。上記ファイルID「7FFFh」のファイルCは、ロジカルチャネル「2」での鍵Xの照合とロジカルチャネル「1」での鍵Yの照合とが共に成功していることがアクセス許可条件として設定されている秘密ファイルである。図12に示す例では、鍵X及び鍵Yの照合が成功したのは共にロジカルチャネル「0」である。このため、ICカード1のCPU11は、ファイルID「7FFFh」のファイルCに対するアクセス許可条件としてのロジカルチャネル「2」での鍵Xの照合およびロジカルチャネル「1」での鍵Yの照合が実行済みでないことを確認する(ステップS96)。
このような確認結果に基づいて、ICカード1のCPU11は、当該ファイルID「7FFFh」のファイルを選択不可とし(ステップS97)、上記ファイル選択コマンドに対する処理結果として指定されたファイル無しを示す応答を出力する(ステップS98)。これにより、当該ICカード1のCPU11は、ファイル選択コマンドの送信元としてのICカード処理装置2に対して、指定されたファイルID「7FFFh」のファイルを選択不可(アクセス不可)とするだけでなく、秘匿することができる。
また、上述した第3のアクセス方法では、複数の鍵に対する照合がそれぞれ特定のロジカルチャネルで成功していることをアクセス許可条件としている。ただし、上述したアクセス許可条件とは異なる条件設定として、秘密ファイルに対しては、特定のロジカルチャネル以外で特定の鍵の照合が行われた場合には当該秘密ファイルへのアクセスを不可とするような条件を設定するようにしても良い。このような処理も、ステップS14で秘密ファイルに対する条件を特定し、特定した条件が満たされているか否かにより当該秘密ファイルの選択を可能とするか否かを判断することにより実現できる。
上記第1から第3のアクセス方法では、秘密ファイルに対するアクセス許可条件を設定し、アクセス許可条件が満たされない場合には当該秘密ファイルが存在しない旨の応答を出力する。このようなアクセス方法は、1つのファイル内に格納される各レコードにも適用することが可能である。つまり、複数のレコードを格納しているファイルについては、個々のレコードに対するアクセス制御が可能である。このため、各レコードに対しても上記のようなアクセス許可条件を設定しておき、上記第1〜第3のアクセス方法と同様なアクセス制御を行うようにしても良い。
次に、第4〜第6のアクセス方法について説明する。
第4〜第6のアクセス方法は、上記第1〜第3のアクセス方法と同様に、図1及び図2に示すようなICカード1及びICカード処理システムに適用される。第4〜第6のアクセス方法では、秘密ファイルに対応づけたアクセス制御用のファイルが設定される。アクセス制御用のファイルは、各秘密ファイルごとに対応づけれる。なお、以下の説明では、アクセス制御用のファイルは、ダミーファイルとも称するものとする。
第4〜第6のアクセス方法は、上記第1〜第3のアクセス方法と同様に、図1及び図2に示すようなICカード1及びICカード処理システムに適用される。第4〜第6のアクセス方法では、秘密ファイルに対応づけたアクセス制御用のファイルが設定される。アクセス制御用のファイルは、各秘密ファイルごとに対応づけれる。なお、以下の説明では、アクセス制御用のファイルは、ダミーファイルとも称するものとする。
図13は、データメモリ14に記憶される各種ファイルのファイル構造の第2の具体例を示す図である。
図13に示す例では、MFは、階層構造の最上位階層のMFの直下に、EFとしてのファイルA、ファイルB、ファイルC、ファイルA´、ファイルB´、ファイルC´が設けられている。また、MFの直下にはDFも設けられ、このDFに属するEFとしては、ファイルD、ファイルE、ファイルFが設けられている。上記ファイルA、ファイルB、ファイルC、ファイルD、ファイルE、ファイルFは、それぞれファイルIDが1000h、2345h、7FFFh、8000h、A000h、BFFFhに設定されている。
図13に示す例では、MFは、階層構造の最上位階層のMFの直下に、EFとしてのファイルA、ファイルB、ファイルC、ファイルA´、ファイルB´、ファイルC´が設けられている。また、MFの直下にはDFも設けられ、このDFに属するEFとしては、ファイルD、ファイルE、ファイルFが設けられている。上記ファイルA、ファイルB、ファイルC、ファイルD、ファイルE、ファイルFは、それぞれファイルIDが1000h、2345h、7FFFh、8000h、A000h、BFFFhに設定されている。
また、図13に示す例において、ファイルA´、ファイルB´、ファイルC´は、それぞれ秘密ファイルとしてのファイルA、ファイルB、ファイルCに対するアクセス制御用のファイルとしてのダミーファイルであるものとする。たとえば、ファイルA´、ファイルB´、ファイルC´は、それぞれファイルA、ファイルB、ファイルCに対応するダミーファイルであるものとする。
次に、第4のアクセス方法について説明する。
この第4のアクセス方法は、秘密ファイルに対して、対となるファイル(ダミーファイル)を設定しておき、対となるダミーファイルが選択された後でのみ、秘密ファイルを選択可能とするものである。たとえば、図13に示すファイル構成において、ファイルA、ファイルB、ファイルCには、対となるダミーファイルとして、それぞれファイルA´、ファイルB´、ファイルC´が設定されるものとする。この場合、たとえば、ファイルAを選択するためには、まず、ファイルA´を選択し、ファイルA´を選択した状態からファイルAの選択処理を実行する。すなわち、ファイルAへのアクセス許可条件は、対応するダミーファイルとしてのファイルA´が選択状態であることである。
この第4のアクセス方法は、秘密ファイルに対して、対となるファイル(ダミーファイル)を設定しておき、対となるダミーファイルが選択された後でのみ、秘密ファイルを選択可能とするものである。たとえば、図13に示すファイル構成において、ファイルA、ファイルB、ファイルCには、対となるダミーファイルとして、それぞれファイルA´、ファイルB´、ファイルC´が設定されるものとする。この場合、たとえば、ファイルAを選択するためには、まず、ファイルA´を選択し、ファイルA´を選択した状態からファイルAの選択処理を実行する。すなわち、ファイルAへのアクセス許可条件は、対応するダミーファイルとしてのファイルA´が選択状態であることである。
なお、第4のアクセス方法では、秘密ファイル(たとえば、ファイルA)へのアクセス許可条件としては、ダミーファイルが選択状態であることを条件としても良いし、秘密ファイルの選択を要求するコマンドの直前のコマンドでダミーファイルが選択されていることを条件としても良い。
次に、第4のアクセス方法としての秘密ファイルの選択処理について説明する。
第4のアクセス方法のファイル選択コマンドに対する処理は、基本的に図4に示す流れで実行される。すなわち、第4のアクセス方法としては、図4に示すステップS14及びS15の処理以外の説明は、上記第1のアクセス方法で説明した処理と同様な手順で実現できる。
すなわち、第4のアクセス方法では、図4に示すステップS14におけるアクセス許可条件を特定する処理として、指定ファイルを選択する前に選択しておくべきファイルを特定する。たとえば、ICカード1のCPU11は、受信したコマンドで指定された秘密ファイルに対応するダミーファイルの設定内容をプログラムメモリ12あるいはデータメモリ14から読み出す。
指定された秘密ファイルへのアクセス許可条件として選択しておくべきダミーファイルを特定すると、CPU11は、図4に示すステップS15におけるアクセス許可条件を満たすか否かの判断として、特定したダミーファイルが選択されているか否かを判断する。この判断によりアクセス許可条件としてのダミーファイルが選択されていないと判断した場合、CPU11は、指定されたファイルIDのファイルが存在しないものとし、指定ファイルが存在しない旨の応答コードを出力する。また、アクセス許可条件としてのダミーファイルが選択されていると判断した場合、CPU11は、指定されたファイル(秘密ファイル)を選択する。
なお、上述した第4のアクセス方法では、秘密ファイルの選択を要求するファイル選択コマンドあるいはダミーファイルを選択するコマンドは、任意のロジカルチャネルで受信することを想定している。つまり、上述の第4のアクセス方法では、ロジカルチャネルによる秘密ファイルへのアクセス制御は行っていないものとしている。ただし、第4のアクセス方法は、第1〜第3のアクセス方法と組み合わせて実施することも可能である。
たとえば、アクセス許可条件としては、上記のようなダミーファイルの設定に加えて、秘密ファイルの選択を要求するコマンドが特定のロジカルチャネルで受信することを条件としても良いし、ダミーファイルの選択を要求するコマンドが特定のロジカルチャネルで受信することを条件としても良い。また、上述した第2のアクセス方法で説明しような特定のロジカルチャネルで特定の鍵の照合が成功していることも、アクセス許可条件として加えても良い。さらには、上述した第3のアクセス方法で説明したような複数の鍵に対する照合がそれぞれ特定のロジカルチャネルで成功していることも、アクセス許可条件として加えても良い。
次に、上記第4のアクセス方法の具体例として、秘密ファイルに対するアクセスが許可される場合の動作例について説明する。ここでは、図13に示すファイルIDが「1000h」のファイルAを秘密ファイルとし、ファイルAには対応するダミーファイルとしてのファイルA´が選択されていることがアクセス許可条件として設定されている場合を想定するものとする。
図14は、ファイルA´を選択した後にファイルAの選択を要求するファイル選択コマンドを受信した場合の動作を示している。これに対して、図15は、ファイルA´が選択されていない状態でファイルAの選択を要求するファイル選択コマンドを受信した場合の動作を示している。
すなわち、図14に示すように、ICカード処理装置2からファイルID「1001h」を指定するファイル選択コマンドを受信した場合(ステップS101)、ICカード1のCPU11は、ファイルID「1001h」のファイルA´(ファイルAに対応するダミーファイル)を選択する(ステップS102)。ファイルID「1001h」のファイルA´を選択すると、ICカード1のCPU11は、ファイルA´の選択処理が正常に終了したことを示す応答コードを含む応答電文をICカード処理装置2へ出力する(ステップS103)。
この状態においてファイルID「1000h」を指定するファイル選択コマンドを受信した場合(ステップS104)、ICカード1のCPU11は、ファイルID「1000h」のファイルA(秘密ファイル)に設定されているアクセス許可条件として、ファイルAに対応するダミーファイルを特定する。ここでは、ファイルID「1000h」のファイルAには、ダミーファイルとしてファイルID「1001h」のファイルA´がアクセス許可条件として設定されている。したがって、この場合、ICカード1のCPU11は、指定されたファイルID「1000h」のファイルAに対するアクセス許可条件としてのファイルID「1001h」のファイルA´が選択されていることを確認する(ステップS105)。
この確認結果に基づいて、ICカード1のCPU11は、当該ファイルID「1000h」のファイルAを選択し(ステップS106)、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答コードを含む応答電文をICカード処理装置2へ出力する(ステップS107)。この状態において、当該ICカード1のCPU11は、ファイルID「1000h」のファイルAを選択状態としてアクセス可能とする(ステップS108)。たとえば、選択したファイルAに対する読出しコマンドを受けた場合、当該ICカード1のCPU11は、ファイルID「1000h」のファイルに対する読出し処理を行う。
これに対して、図15に示すように、ファイルID「1001h」のファイルA´が選択されていない状態でファイルID「1000h」を指定するファイル選択コマンドを受信した場合(ステップ111)、ICカード1のCPU11は、ファイルID「1000h」のファイル(秘密ファイル)に設定されているアクセス許可条件としてのファイルID「1001h」のファイルA´が選択されていないことを確認する(ステップS112)。この確認結果に基づいて、ICカード1のCPU11は、当該ファイルID「1000h」のファイルAを選択不可と判別し、当該ファイルID「1000h」のファイルAを秘匿する(ステップS113、S114)。
すなわち、受信したファイル選択コマンドで指定されたファイルID「1000h」のファイル(秘密ファイル)Aに対するアクセス許可条件が満たされていない場合、ICカード1のCPU11は、上記ファイル選択コマンドに対する処理結果として指定されたファイル無しを示す応答コードを含む応答電文をICカード処理装置2へ出力する(ステップS113)。これにより、当該ICカード1のCPU11は、ファイルID「1000h」のファイルAをアクセス不可(選択不可)とするとともに、当該コマンドの送信元としてのICカード処理装置2に対しては秘匿する(ステップS114)。
上記のように、第4のアクセス方法では、秘密にしたいファイルに対してアクセスを許可するためのダミーファイルを設定しておく。秘密ファイルに対応するダミーファイルが選択されている状態でのみ、当該秘密ファイルを選択可能とするものである。これにより、第4のアクセス方法は、予め設定されているダミーファイルが選択された場合にのみ、秘密ファイルへのアクセスを許可し、ダミーファイルが選択されていない場合には秘密ファイルを秘匿するようなアクセス制御が可能である。
次に、第5のアクセス方法について説明する。
この第5のアクセス方法は、秘密ファイルに対して、対となるファイル(ダミーファイル)を設定しておき、ダミーファイルに対して予め決められている処理を実行した後でのみ、秘密ファイルを選択可能とするものである。たとえば、図13に示すファイル構成において、秘密ファイルとしてのファイルA、ファイルB、ファイルCに対するダミーファイルとしてファイルA´、ファイルB´、ファイルC´が設定される場合、各秘密ファイルに対するアクセス許可条件としては、ダミーファイルだけでなく、ダミーファイルに対して実施すべき処理内容が設定される。たとえば、ファイルAには、アクセス許可条件として、ダミーファイルとしてのファイルA´の所定レコード(あるいは所定アドレス領域)に所定のデータが書き込まれることが設定される。
この第5のアクセス方法は、秘密ファイルに対して、対となるファイル(ダミーファイル)を設定しておき、ダミーファイルに対して予め決められている処理を実行した後でのみ、秘密ファイルを選択可能とするものである。たとえば、図13に示すファイル構成において、秘密ファイルとしてのファイルA、ファイルB、ファイルCに対するダミーファイルとしてファイルA´、ファイルB´、ファイルC´が設定される場合、各秘密ファイルに対するアクセス許可条件としては、ダミーファイルだけでなく、ダミーファイルに対して実施すべき処理内容が設定される。たとえば、ファイルAには、アクセス許可条件として、ダミーファイルとしてのファイルA´の所定レコード(あるいは所定アドレス領域)に所定のデータが書き込まれることが設定される。
上記のように、第5のアクセス方法では、秘密ファイル(たとえば、ファイルA)へのアクセス許可条件としては、対応するダミーファイル(例えばファイルA´)に対して所定のアクセス要求コマンド(読出しコマンド、書込みコマンドあるいは書換えコマンド)を実行することを条件とする。ただし、第5のアクセス方法では、秘密ファイル(たとえば、ファイルA)へのアクセス許可条件は、秘密ファイルに対するダミーファイルに対する所定のアクセス要求コマンドが実行済みであることを条件としても良し、秘密ファイルの選択を要求するコマンドの直前のコマンドでダミーファイルに対する所定のアクセス要求コマンドが実行されることを条件としても良い。
次に、第5のアクセス方法としての秘密ファイルの選択処理について説明する。
第5のアクセス方法のファイル選択コマンドに対する処理は、基本的に図4に示す流れで実行される。すなわち、第4のアクセス方法としては、図4に示すステップS14及びS15の処理以外の説明は、上記第1のアクセス方法で説明した処理とほぼ同様な手順で実現できる。
すなわち、第5のアクセス方法では、図4に示すステップS14におけるアクセス許可条件を特定する処理として、指定ファイルを選択する前に選択しておくべきファイルを特定する。たとえば、ICカード1のCPU11は、受信したコマンドで指定された秘密ファイルに対応するダミーファイルと、当該ダミーファイルに実行すべき処理内容とをアクセス許可条件としてプログラムメモリ12あるいはデータメモリ14から読み出す。
指定された秘密ファイルへのアクセス許可条件としてのダミーファイルと処理内容とを特定すると、CPU11は、図4に示すステップS15におけるアクセス許可条件を満たすか否かの判断として、特定したダミーファイルが選択され、かつ、当該ダミーファイルに対して所定の処理内容が実行されているか否かを判断する。この判断によりアクセス許可条件としてのダミーファイルが選択されていないと判断した場合、あるいは、アクセス許可条件としてのダミーファイルへの所定内容の処理が実行されていないと判断した場合、CPU11は、指定されたファイルIDのファイルが存在しないものとし、指定ファイルが存在しない旨の応答コードを含む応答電文をICカード処理装置2へ出力する。また、アクセス許可条件としてのダミーファイルが選択され、かつ、当該ダミーファイルに対して所定内容の処理が実行されていると判断した場合、CPU11は、指定されたファイル(秘密ファイル)を選択する。
なお、上述した第5のアクセス方法では、秘密ファイルの選択を要求するファイル選択コマンドあるいはダミーファイルを選択するコマンドは、任意のロジカルチャネルで受信することを想定している。つまり、上述の第5のアクセス方法では、ロジカルチャネルによる秘密ファイルへのアクセス制御は行っていないものとしている。ただし、第5のアクセス方法は、第1〜第3のアクセス方法と組み合わせて実施することも可能である。
たとえば、アクセス許可条件としては、上記のようなダミーファイルとダミーファイルへの処理内容との設定に加えて、秘密ファイルの選択を要求するコマンドが特定のロジカルチャネルで受信することを条件としても良いし、ダミーファイルに対する所定の処理を要求するコマンドが特定のロジカルチャネルで受信することを条件としても良い。また、上述した第2のアクセス方法で説明しような特定のロジカルチャネルで特定の鍵の照合が成功していることも、アクセス許可条件として加えても良い。さらには、上述した第3のアクセス方法で説明したような複数の鍵に対する照合がそれぞれ特定のロジカルチャネルで成功していることも、アクセス許可条件として加えても良い。
次に、上記第5のアクセス方法の具体例として、秘密ファイルに対するアクセスが許可される場合の動作例について説明する。ここでは、図13に示すファイルIDが「2345h」のファイルBを秘密ファイルとし、ファイルBには対応するダミーファイルとしてのファイルID「3456h」のファイルB´が選択されていることがアクセス許可条件として設定されている場合を想定するものとする。
図16は、ファイルB´を選択した後にファイルBの選択を要求するファイル選択コマンドを受信した場合の動作を示している。これに対して、図17は、ファイルB´が選択されていない状態でファイルBの選択を要求するファイル選択コマンドを受信した場合の動作を示している。また、図18は、ファイルB´が選択されているもののファイルB´に対する所定の処理が実行されていない状態でファイルBの選択を要求するファイル選択コマンドを受信した場合の動作を示している。
すなわち、図16に示すように、ICカード処理装置2からファイルID「3456h」を指定するファイル選択コマンドを受信した場合(ステップS120)、ICカード1のCPU11は、ファイルID「3456h」のファイルB´(ファイルBに対応するダミーファイル)を選択する(ステップS121)。ファイルID「3456h」のファイルB´を選択すると、ICカード1のCPU11は、ファイルB´の選択処理が正常に終了したことを示す応答コードを含む応答電文をICカード処理装置2へ出力する(ステップS122)。
この状態において、ICカード1のCPU11は、選択されたファイル(ファイルB´)における指定のレコード(以下、レコード1とする)へのデータ書込みコマンドを受信したものとする(ステップS123)。ここでは、データ書込みコマンドは、当該ICカード1の固有情報(たとえば、ICカードの製造番号など)を指定レコードに書込むことを要求するコマンドであるものとする。このようなデータ書込みコマンドを受信すると、当該ICカード1のCPU11は、ファイルID「3456h」のファイルB´(ファイルBに対応するダミーファイル)におけるレコード1に指定されたICカードの固有情報を書き込む(ステップS124)。ファイルB´のレコード1にデータを書き込むと、ICカード1のCPU11は、当該データ書込みコマンドで要求された処理が正常に終了したことを示す応答コードを含む応答電文をICカード処理装置2へ出力する(ステップS125)。
この状態においてファイルID「2345h」を指定するファイル選択コマンドを受信した場合(ステップS126)、ICカード1のCPU11は、指定されたファイルID「2345h」のファイルB(秘密ファイル)に対するアクセス許可条件として、ダミーファイルとダミーファイルに対して実行すべき処理内容(コマンド)とを特定する。ここでは、ファイルBに対するアクセス許可条件は、ダミーファイルがファイルID「34561h」のファイルB´であり、かつ、ダミーファイルに対して実行すべき処理内容がICカードの固有情報をレコード1に書き込む処理(上述したデータ書込みコマンドに対する処理)であるものとする。
したがって、この場合、ICカード1のCPU11は、指定されたファイルID「2345h」のファイルBに対するアクセス許可条件としてのファイルID「3456h」のファイルB´のレコード1にICカードの固有情報を書込むデータ書込みコマンドが実行されていることを確認する(ステップS127)。
この確認結果に基づいて、ICカード1のCPU11は、当該ファイルID「2345h」のファイルBを選択し(ステップS128)、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答コードを含む応答電文をICカード処理装置2へ出力する(ステップS129)。この状態において、当該ICカード1のCPU11は、ファイルID「2345h」のファイルBを選択状態としてアクセス可能とする(ステップS130)。たとえば、選択したファイルBに対する読出しコマンドを受けた場合、当該ICカード1のCPU11は、ファイルID「2345h」のファイルBに対する読出し処理を行う。
これに対して、図17に示すように、ファイルID「3456h」のファイルB´が選択されていない状態でファイルID「2345h」を指定するファイル選択コマンドを受信した場合(ステップ131)、ICカード1のCPU11は、ファイルID「2345h」のファイルA(秘密ファイル)に設定されているアクセス許可条件としてのファイルID「3456h」のファイルB´が選択されていないことを確認する(ステップS132)。この確認結果に基づいて、ICカード1のCPU11は、当該ファイルID「2345h」のファイルBを選択不可と判別し、当該ファイルID「2345h」のファイルBを秘匿する(ステップS133、S134)。
すなわち、受信したファイル選択コマンドで指定されたファイルID「2345h」のファイルB(秘密ファイル)に対するアクセス許可条件が満たされていない場合、ICカード1のCPU11は、上記ファイル選択コマンドに対する処理結果として指定されたファイル無しを示す応答コードを含む応答電文をICカード処理装置2へ出力する(ステップS133)。これにより、当該ICカード1のCPU11は、ファイルID「2345h」のファイルBをアクセス不可(選択不可)とするとともに、当該コマンドの送信元としてのICカード処理装置2に対しては秘匿する(ステップS134)。
また、図18に示す例では、ICカード1のCPU11は、ファイルID「3456h」を指定するファイル選択コマンドを受信し(ステップS141)、このファイル選択コマンドに応じてファイルB´を選択状態とする(ステップS142)。この状態でファイルID「2345h」を指定するファイル選択コマンドを受信した場合(ステップS143)、ICカード1のCPU11は、ファイルID「2345h」のファイルB(秘密ファイル)に対するアクセス許可条件として、ファイルID「3456h」のファイルB´に対して実行すべき処理内容(コマンド)を特定する。
ここでは、ICカード1のCPU11は、ファイルID「3456h」のファイルB´が選択されているものの、ファイルB´に対して実行すべき処理内容(コマンド)は実行されていないことを確認する(ステップS144)。この確認結果に基づいて、ICカード1のCPU11は、ファイル無しを示す応答コードを含む応答電文をICカード処理装置2へ出力し(ステップS145)、ファイルID「2345h」のファイルBをアクセス不可(選択不可)とする(ステップS146)。この結果として、ICカード1は、アクセス許可条件が満たされない状態においては、当該コマンドの送信元としてのICカード処理装置2に対して秘密ファイルを秘匿する。
上記のように、第5のアクセス方法では、秘密ファイル(例えばファイルC)へのアクセス許可条件として、ダミーファイル(例えばファイルC´)とダミーファイルに対して実行すべきアクセス要求コマンド(読出しコマンド、書込みコマンドあるいは書換えコマンド)を設定する。また、アクセス許可条件としてのアクセス要求コマンドは、ダミーファイル内における特定のレコードにアクセスするものとしても良いし、ダミーファイル内における特定のアドレスにアクセスするものとしても良い。
さらに、アクセス許可条件としてのアクセス要求コマンドにおいて指定されるダミーファイル内のアクセス対象とするレコードあるいはアドレスは、種々の形態で設定することが考えられる。
たとえば、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするレコードは、ICカード1の種類、もしくは、ICカード1が実行するアプリケーションによって固定的にレコード番号が設定されるようにして良い。また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするレコードは、実際のアクセス対象である秘密ファイル内のアクセス対象とするレコードと同じレコード番号が設定(指定)されるようにしても良い。
たとえば、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするレコードは、ICカード1の種類、もしくは、ICカード1が実行するアプリケーションによって固定的にレコード番号が設定されるようにして良い。また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするレコードは、実際のアクセス対象である秘密ファイル内のアクセス対象とするレコードと同じレコード番号が設定(指定)されるようにしても良い。
また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするレコードは、実際のアクセス対象である秘密ファイルのファイルID、および、実際のアクセス対象であるレコード番号の一方或いは両方をもとにして、事前に定められた計算式によって計算された結果がレコード番号として設定(指定)されるようにしても良い。
また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするレコードは、ICカードの固有情報(ICカード或いはICチップの製造番号、若しくは、ICカードの発行番号などのICカードによってユニークな情報)をもとに、事前に定められた計算式によって計算された結果がレコード番号として設定(指定)されるようにしても良い。
また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするレコードは、直近で、ICカード1とICカード処理装置2との間で交換された乱数(認証あるいは照合処理に用いられた変数)をもとに、事前に定められた計算式によって計算された結果がレコード番号として設定(指定)されるようにしても良い。
また、アクセス許可条件としてのアクセス要求コマンドにおいて指定されるダミーファイル内のアクセス対象とするアドレスは、上述したレコードの指定と同様に、種々の形態で設定することが考えられる。
たとえば、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするアドレスは、ICカード1の種類、もしくは、ICカード1が実行するアプリケーションによって固定的に設定(指定)されるようにして良い。
たとえば、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするアドレスは、ICカード1の種類、もしくは、ICカード1が実行するアプリケーションによって固定的に設定(指定)されるようにして良い。
また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするアドレスは、実際のアクセス対象である秘密ファイルのファイルIDをもとにして、事前に定められた計算式によって計算された結果がアドレスとして設定(指定)されるようにしても良い。
また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするアドレスは、ICカードの固有情報(ICカード或いはICチップの製造番号、若しくは、ICカードの発行番号などのICカードによってユニークな情報)をもとに、事前に定められた計算式によって計算された結果がアドレスとして設定(指定)されるようにしても良い。
また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするアドレスは、直近で、ICカード1とICカード処理装置2との間で交換された乱数(認証あるいは照合処理に用いられた変数)をもとに、事前に定められた計算式によって計算された結果がレコード番号として設定(指定)されるようにしても良い。
また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするアドレスは、直近で、ICカード1とICカード処理装置2との間で交換された乱数(認証あるいは照合処理に用いられた変数)をもとに、事前に定められた計算式によって計算された結果がレコード番号として設定(指定)されるようにしても良い。
次に、第6のアクセス方法について説明する。
この第6のアクセス方法は、秘密ファイルに対して、対となるファイル(ダミーファイル)を設定しておき、ダミーファイルに対して所定のデータの書込み処理を実行した後でのみ、秘密ファイルを選択可能とするものである。たとえば、図13に示すファイル構成において、秘密ファイルとしてのファイルA、ファイルB、ファイルCに対するダミーファイルとしてファイルA´、ファイルB´、ファイルC´が設定される場合、各秘密ファイルに対するアクセス許可条件としては、ダミーファイルだけでなく、ダミーファイルに対して書き込むべきデータが設定される。たとえば、ファイルAには、アクセス許可条件として、ダミーファイルとしてのファイルA´の所定レコード(あるいは所定アドレス領域)に所定のデータが書き込まれることが設定される。
この第6のアクセス方法は、秘密ファイルに対して、対となるファイル(ダミーファイル)を設定しておき、ダミーファイルに対して所定のデータの書込み処理を実行した後でのみ、秘密ファイルを選択可能とするものである。たとえば、図13に示すファイル構成において、秘密ファイルとしてのファイルA、ファイルB、ファイルCに対するダミーファイルとしてファイルA´、ファイルB´、ファイルC´が設定される場合、各秘密ファイルに対するアクセス許可条件としては、ダミーファイルだけでなく、ダミーファイルに対して書き込むべきデータが設定される。たとえば、ファイルAには、アクセス許可条件として、ダミーファイルとしてのファイルA´の所定レコード(あるいは所定アドレス領域)に所定のデータが書き込まれることが設定される。
上記のように、第6のアクセス方法では、秘密ファイル(たとえば、ファイルA)へのアクセス許可条件としては、対応するダミーファイル(例えば、ファイルA´)に対して所定のデータの書き込みを要求する書込みコマンドを実行することを条件とする。ただし、第6のアクセス方法では、秘密ファイルへのアクセス許可条件は、秘密ファイルに対するダミーファイルに対する所定のデータの書込みコマンドが実行済みであることを条件としても良し、秘密ファイルの選択を要求するコマンドの直前のコマンドでダミーファイルに対する所定のデータの書込み要求コマンドが実行されることを条件としても良い。
次に、第6のアクセス方法としての秘密ファイルの選択処理について説明する。
第6のアクセス方法のファイル選択コマンドに対する処理は、基本的に図4に示す流れで実行される。すなわち、第6のアクセス方法としては、図4に示すステップS14及びS15の処理以外の説明は、上記第1のアクセス方法で説明した処理とほぼ同様な手順で実現できる。
第6のアクセス方法のファイル選択コマンドに対する処理は、基本的に図4に示す流れで実行される。すなわち、第6のアクセス方法としては、図4に示すステップS14及びS15の処理以外の説明は、上記第1のアクセス方法で説明した処理とほぼ同様な手順で実現できる。
すなわち、第6のアクセス方法では、図4に示すステップS14におけるアクセス許可条件を特定する処理として、指定ファイルを選択する前に選択しておくべきファイルを特定する。たとえば、ICカード1のCPU11は、受信したコマンドで指定された秘密ファイルに対応するダミーファイルと、当該ダミーファイルに書き込むべきデータとをアクセス許可条件としてプログラムメモリ12あるいはデータメモリ14から読み出す。
指定された秘密ファイルへのアクセス許可条件としてのダミーファイルと書き込むべきデータとを特定すると、CPU11は、図4に示すステップS15におけるアクセス許可条件を満たすか否かの判断として、特定したダミーファイルが選択され、かつ、当該ダミーファイルに対して所定のデータを書込む処理が実行されているか否かを判断する。この判断によりアクセス許可条件としてのダミーファイルが選択されていないと判断した場合、あるいは、アクセス許可条件としてのダミーファイルへの所定データの書込み処理が実行されていないと判断した場合、CPU11は、指定されたファイルIDのファイルが存在しないものとし、指定ファイルが存在しない旨の応答コードを含む応答電文をICカード処理装置2へ出力する。また、アクセス許可条件としてのダミーファイルが選択され、かつ、当該ダミーファイルに対して所定データの書込み処理が実行されていると判断した場合、CPU11は、指定されたファイル(秘密ファイル)を選択する。
なお、上述した第6のアクセス方法では、秘密ファイルの選択を要求するファイル選択コマンドあるいはダミーファイルを選択するコマンドは、任意のロジカルチャネルで受信することを想定している。つまり、上述の第6のアクセス方法では、ロジカルチャネルによる秘密ファイルへのアクセス制御は行っていないものとしている。ただし、第6のアクセス方法は、第1〜第3のアクセス方法と組み合わせて実施することも可能である。
たとえば、アクセス許可条件としては、上記のようなダミーファイルとダミーファイルに書き込むべきデータとの設定に加えて、秘密ファイルの選択を要求するコマンドが特定のロジカルチャネルで受信することを条件としても良いし、ダミーファイルに対する所定データの書込みを要求する書込みコマンドが特定のロジカルチャネルで受信することを条件としても良い。また、上述した第2のアクセス方法で説明しような特定のロジカルチャネルで特定の鍵の照合が成功していることも、アクセス許可条件として加えても良い。さらには、上述した第3のアクセス方法で説明したような複数の鍵に対する照合がそれぞれ特定のロジカルチャネルで成功していることも、アクセス許可条件として加えても良い。
次に、上記第6のアクセス方法の具体例として、秘密ファイルに対するアクセスが許可される場合の動作例について説明する。
ここでは、図13に示すファイルIDが「7FFFh」のファイルCを秘密ファイルとし、ファイルCには、対応するダミーファイルとしてファイルID「8FFFh」のファイルC´が設定され、かつ、ファイルC´における所定レコード「レコード3」への所定データ「AAh」の書込み処理が実行されていることがアクセス許可条件として設定されている場合を想定するものとする。
ここでは、図13に示すファイルIDが「7FFFh」のファイルCを秘密ファイルとし、ファイルCには、対応するダミーファイルとしてファイルID「8FFFh」のファイルC´が設定され、かつ、ファイルC´における所定レコード「レコード3」への所定データ「AAh」の書込み処理が実行されていることがアクセス許可条件として設定されている場合を想定するものとする。
図19は、ファイルCを正常に選択する場合の手順を示すフローチャートである。これに対して、図20〜図23は、ファイルCが選択(アクセス)できない場合の手順を示すフローチャートである。
すなわち、図19に示すように、ICカード処理装置2からファイルID「8FFFh」を指定するファイル選択コマンドを受信した場合(ステップS150)、ICカード1のCPU11は、ファイルID「8FFFh」のファイルC´(ファイルCに対応するダミーファイル)を選択する(ステップS151)。ファイルID「8FFFh」のファイルC´を選択すると、ICカード1のCPU11は、ファイルC´の選択処理が正常に終了したことを示す応答コードを含む応答電文をICカード処理装置2へ出力する(ステップS152)。
この状態において、ICカード1のCPU11は、選択されたファイル(ファイルC´)におけるレコード3に所定データ「AAh」を書き込むことを要求するデータ書込みコマンドを受信したものとする(ステップS153)。このようなデータ書込みコマンドを受信すると、当該ICカード1のCPU11は、ファイルID「8FFFh」のファイルC´(ファイルCに対応するダミーファイル)におけるレコード3に指定された所定データ「AAh」を書き込む(ステップS154)。ファイルC´のレコード3にデータ「AAh」を書き込むと、ICカード1のCPU11は、当該データ書込みコマンドで要求された処理が正常に終了したことを示す応答コードを含む応答電文をICカード処理装置2へ出力する(ステップS155)。
この状態においてファイルID「7FFFh」を指定するファイル選択コマンドを受信した場合(ステップS156)、ICカード1のCPU11は、指定されたファイルID「7FFFh」のファイルC(秘密ファイル)に対するアクセス許可条件として、ダミーファイルとダミーファイルに書き込むべきデータとを特定する。ここでは、ファイルCに対するアクセス許可条件は、ダミーファイルがファイルID「8FFFh」のファイルC´であり、かつ、ダミーファイルに対して所定データ「AAH」をレコード3に書き込む処理であるものとする。
したがって、この場合、ICカード1のCPU11は、指定されたファイルID「7FFFh」のファイルCに対するアクセス許可条件としてのファイルID「8FFFh」のファイルC´のレコード3に所定データ「AAh」を書込むデータ書込みコマンドが実行されていることを確認する(ステップS157)。
この確認結果に基づいて、ICカード1のCPU11は、当該ファイルID「7FFFh」のファイルCを選択し(ステップS158)、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答コードを含む応答電文をICカード処理装置2へ出力する(ステップS159)。この状態において、当該ICカード1のCPU11は、ファイルID「7FFFh」のファイルCを選択状態としてアクセス可能とする(ステップS160)。たとえば、この状態において読出しコマンドを受けた場合、当該ICカード1のCPU11は、選択されたファイルID「7FFFh」のファイルCに対する読出し処理を行う。
これに対して、図20は、ファイルC´が選択されていない状態でファイルCの選択を要求するファイル選択コマンドを受信した場合の動作を示すフローチャートである。
図20に示すように、ファイルID「8FFFh」のファイルC´が選択されていない状態でファイルID「7FFFh」を指定するファイル選択コマンドを受信した場合(ステップ161)、ICカード1のCPU11は、ファイルID「7FFFh」のファイルC(秘密ファイル)に設定されているアクセス許可条件としてのファイルID「8FFFh」のファイルC´が選択されていないことを確認する(ステップS162)。この確認結果に基づいて、ICカード1のCPU11は、当該ファイルID「7FFFh」のファイルCを選択不可と判別し、当該ファイルID「7FFFh」のファイルCを秘匿する(ステップS163、S164)。
すなわち、受信したファイル選択コマンドで指定されたファイルID「7FFFh」のファイルC(秘密ファイル)に対するアクセス許可条件が満たされていない場合、ICカード1のCPU11は、上記ファイル選択コマンドに対する処理結果として指定されたファイル無しを示す応答コードを含む応答電文をICカード処理装置2へ出力する(ステップS163)。これにより、当該ICカード1のCPU11は、ファイルID「7FFFh」のファイルCをアクセス不可(選択不可)とするとともに、当該コマンドの送信元としてのICカード処理装置2に対しては秘匿する(ステップS164)。
また、図21は、ファイルC´が選択されているもののファイルC´に対する書込み処理が実行されていない状態でファイルCの選択を要求するファイル選択コマンドを受信した場合の動作を示すフローチャートである。
図21に示す例では、ICカード1のCPU11は、ファイルID「8FFFh」を指定するファイル選択コマンドを受信し(ステップS171)、このファイル選択コマンドに応じてファイルID「8FFFh」のファイルC´を選択状態とする(ステップS172)。この状態でファイルID「7FFFh」を指定するファイル選択コマンドを受信した場合(ステップS173)、ICカード1のCPU11は、ファイルID「7FFFh」のファイルC(秘密ファイル)に対するアクセス許可条件として、ファイルID「8FFFh」のファイルC´に書込むべきデータ「AAh」を特定する。
図21に示す例では、ICカード1のCPU11は、ファイルID「8FFFh」を指定するファイル選択コマンドを受信し(ステップS171)、このファイル選択コマンドに応じてファイルID「8FFFh」のファイルC´を選択状態とする(ステップS172)。この状態でファイルID「7FFFh」を指定するファイル選択コマンドを受信した場合(ステップS173)、ICカード1のCPU11は、ファイルID「7FFFh」のファイルC(秘密ファイル)に対するアクセス許可条件として、ファイルID「8FFFh」のファイルC´に書込むべきデータ「AAh」を特定する。
ここでは、ICカード1のCPU11は、ファイルID「8FFFh」のファイルC´が選択されているものの、ファイルC´に対する所定データ「AAh」の書込みが実行されていないことを確認する(ステップS174)。この確認結果に基づいて、ICカード1のCPU11は、ファイル無しを示す応答コードを含む応答電文をICカード処理装置2へ出力し(ステップS175)、ファイルID「7FFFh」のファイルCをアクセス不可(選択不可)とする(ステップS176)。この結果として、ICカード1のCPU11は、アクセス許可条件が満たされない状態においては、当該コマンドの送信元としてのICカード処理装置2に対して秘密ファイルを秘匿する。
また、図22は、ファイルC´におけるレコード3にアクセス許可条件の所定データ「AAh」とは異なるデータ「00h」の書込み処理が実行された状態でファイルCの選択を要求するファイル選択コマンドを受信した場合の動作を示すフローチャートである。
図22に示すように、ICカード1のCPU11は、ファイルID「8FFFh」を指定するファイル選択コマンドを受信した場合(ステップS181)、このファイル選択コマンドに応じてファイルID「8FFFh」のファイルC´を選択状態とする(ステップS182)。
図22に示すように、ICカード1のCPU11は、ファイルID「8FFFh」を指定するファイル選択コマンドを受信した場合(ステップS181)、このファイル選択コマンドに応じてファイルID「8FFFh」のファイルC´を選択状態とする(ステップS182)。
この状態において、ICカード1のCPU11は、選択されたファイル(ファイルC´)におけるレコード3にデータ「00h」を書き込むことを要求するデータ書込みコマンドを受信したものとする(ステップS183)。このようなデータ書込みコマンドを受信すると、当該ICカード1のCPU11は、ファイルID「8FFFh」のファイルC´(ファイルCに対応するダミーファイル)におけるレコード3に指定されたデータ「00h」を書き込む(ステップS184)。ファイルC´のレコード3にデータ「00h」を書き込むと、ICカード1のCPU11は、当該データ書込みコマンドで要求された処理が正常に終了したことを示す応答コードを含む応答電文をICカード処理装置2へ出力する(ステップS185)。
この状態においてファイルID「7FFFh」を指定するファイル選択コマンドを受信した場合(ステップS186)、ICカード1のCPU11は、ファイルID「7FFFh」のファイルC(秘密ファイル)に対するアクセス許可条件として、ファイルID「8FFFh」のファイルC´に書込むべきデータ「AAh」を特定する。
ここでは、ICカード1のCPU11は、ファイルID「8FFFh」のファイルC´のレコード3に対する書込み処理が実行されているものの、ファイルC´のレコード3に書込まれたデータ「00h」がアクセス許可条件としての所定データ「AAh」ではないことを確認する(ステップS187)。この確認結果に基づいて、ICカード1のCPU11は、ファイル無しを示す応答コードを含む応答電文をICカード処理装置2へ出力し(ステップS188)、ファイルID「7FFFh」のファイルCをアクセス不可(選択不可)とする(ステップS189)。この結果として、ICカード1のCPU11は、アクセス許可条件が満たされない状態においては、当該コマンドの送信元としてのICカード処理装置2に対して秘密ファイルを秘匿する。
また、図23は、ファイルC´におけるアクセス許可条件の所定レコード「レコード3」とは異なる「レコード2」に「AAh」の書込み処理が実行された状態でファイルCの選択を要求するファイル選択コマンドを受信した場合の動作を示すフローチャートである。
図23に示すように、ICカード1のCPU11は、ファイルID「8FFFh」を指定するファイル選択コマンドを受信した場合(ステップS191)、このファイル選択コマンドに応じてファイルID「8FFFh」のファイルC´を選択状態とする(ステップS192)。
図23に示すように、ICカード1のCPU11は、ファイルID「8FFFh」を指定するファイル選択コマンドを受信した場合(ステップS191)、このファイル選択コマンドに応じてファイルID「8FFFh」のファイルC´を選択状態とする(ステップS192)。
この状態において、ICカード1のCPU11は、選択されたファイル(ファイルC´)におけるレコード2にデータ「AAh」を書き込むことを要求するデータ書込みコマンドを受信したものとする(ステップS193)。このようなデータ書込みコマンドを受信すると、当該ICカード1のCPU11は、ファイルID「8FFFh」のファイルC´(ファイルCに対応するダミーファイル)におけるレコード2に指定されたデータ「AAh」を書き込む(ステップS194)。ファイルC´のレコード2にデータ「AAh」を書き込むと、ICカード1のCPU11は、当該データ書込みコマンドで要求された処理が正常に終了したことを示す応答コードを含む応答電文をICカード処理装置2へ出力する(ステップS195)。
この状態においてファイルID「7FFFh」を指定するファイル選択コマンドを受信した場合(ステップS196)、ICカード1のCPU11は、ファイルID「7FFFh」のファイルC(秘密ファイル)に対するアクセス許可条件として、ファイルID「8FFFh」のファイルC´に書込むべきデータ「AAh」と書込む領域(レコード3)を特定する。
ここでは、ICカード1のCPU11は、ファイルID「8FFFh」のファイルC´に所定データ「AAh」が書込まれているものの、所定データ「AAh」を書込んだ領域がアクセス許可条件としてのレコード3ではない(レコード2である)ことを確認する(ステップS197)。この確認結果に基づいて、ICカード1のCPU11は、ファイル無しを示す応答コードを含む応答電文をICカード処理装置2へ出力し(ステップS198)、ファイルID「7FFFh」のファイルCをアクセス不可(選択不可)とする(ステップS199)。この結果として、ICカード1のCPU11は、アクセス許可条件が満たされない状態においては、当該コマンドの送信元としてのICカード処理装置2に対して秘密ファイルを秘匿する。
上記のように、第6のアクセス方法では、秘密ファイル(例えばファイルC)へのアクセス許可条件として、ダミーファイル(例えばファイルC´)とダミーファイルに対して書込むべきデータを設定する。これにより、ダミーファイルを選択し、かつ、所定データをダミーファイルに書込まなければ、秘密ファイルへのアクセスが不可となって秘密ファイルを秘匿できる。また、第6のアクセス方法では、アクセス許可条件として、ダミーファイルにおける所定の位置に所定データを書込むようにしても良い。この場合、所定データを書込むためのダミーファイルにおける所定データの書込み位置は、レコードで設定(指定)されるようにしても良いし、アドレスで設定(指定)されるようにしても良い。
さらに、第6のアクセス方法において、アクセス許可条件としてダミーファイルに書込むべき所定データは、以下のような種々の形態で設定することが考えられる。
たとえば、アクセス許可条件としてダミーファイルに書込むべき所定データは、ICカード1の種類、もしくは、ICカード1が実行するアプリケーションごとに固定的なデータが設定されるようにして良い。
たとえば、アクセス許可条件としてダミーファイルに書込むべき所定データは、ICカード1の種類、もしくは、ICカード1が実行するアプリケーションごとに固定的なデータが設定されるようにして良い。
また、アクセス許可条件としてダミーファイルに書込むべき所定データは、実際のアクセス対象である秘密ファイルのファイルID、および、実際のアクセス対象であるレコード番号の何れか一方あるいは両方をもとにして、事前に定められた計算式によって計算された結果が設定されるようにしても良い。
また、アクセス許可条件としてダミーファイルに書込むべき所定データは、ICカードの固有情報(ICカード或いはICチップの製造番号、若しくは、ICカードの発行番号などのICカードによってユニークな情報)をもとに、事前に定められた計算式によって計算された結果が設定されるようにしても良い。
また、アクセス許可条件としてダミーファイルに書込むべき所定データは、直近で、ICカード1とICカード処理装置2との間で交換された乱数(認証あるいは照合処理に用いられた変数)をもとに、事前に定められた計算式によって計算された結果がレコード番号として設定(指定)されるようにしても良い。
C…本体、M…モジュール、1…ICカード、1a…ICチップ、2…ICカード処理装置、11…CPU、12…プログラムメモリ、13…ワーキングメモリ、14…データメモリ、15…通信制御部、16…電源部、17…インターフェース、21…制御装置、22…カードリーダライタ。
Claims (16)
- 外部装置から与えられるコマンドに応じた処理を行う携帯可能電子装置において、
データファイルを記憶するメモリと、
前記外部装置との通信を行う通信手段と、
この通信手段により前記外部装置から前記データファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対するアクセス許可条件が満たされているか否かを判断する判断手段と、
この判断手段により前記アクセス許可条件が満たされていると判断した場合、前記データファイルを選択状態とするアクセス許可手段と、
前記判断手段により前記アクセス許可条件が満たされていないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知するファイル秘匿手段と、
を有する携帯可能電子装置。 - 外部装置から与えられるコマンドに応じた処理を行う携帯可能電子装置において、
データファイルを記憶するメモリと、
前記外部装置との通信を行う通信手段と、
前記通信手段による外部装置との通信を論理的に設定される複数のロジカルチャネルで制御する通信処理手段と、
前記外部装置から前記データファイルの選択を要求するコマンドを受信した場合、前記コマンドを受信したロジカルチャネルが前記データファイルに対応づけられた所定のロジカルチャネルであるか否かを判断する判断手段と、
この判断手段により前記所定のロジカルチャネルで前記コマンドを受信したと判断した場合、前記データファイルを選択状態とするアクセス許可手段と、
前記判断手段により前記所定のロジカルチャネルで前記コマンドを受信していないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知するファイル秘匿手段と、
を有する携帯可能電子装置。 - 前記所定のロジカルチャネルは、前記通信処理手段により初期設定されるロジカルチャネル以外のロジカルチャネルである、
ことを特徴とする請求項2に記載の携帯可能電子装置。 - 前記所定のロジカルチャネルは、当該携帯可能電子装置の固有情報に基づく所定の演算処理により決定されるロジカルチャネルである、
ことを特徴とする請求項2に記載の携帯可能電子装置。 - 前記所定のロジカルチャネルは、当該携帯可能電子装置と前記外部装置との間で交換される変数に基づく所定の演算処理により決定されるロジカルチャネルである、
ことを特徴とする請求項2に記載の携帯可能電子装置。 - さらに、鍵データを記憶する記憶手段と、
前記通信手段により前記外部装置から与えられるコマンドに応じて前記記憶手段に記憶している鍵データを照合する照合手段と、を有し、
前記判断手段は、前記所定のロジカルチャネルで受信したコマンドに応じた前記照合手段による前記鍵データの照合が成功しているか否かを判断し、
前記アクセス許可手段は、前記判断手段により前記所定のロジカルチャネルでの前記鍵データの照合が成功していると判断した場合、前記データファイルを選択状態とし、
前記ファイル秘匿手段は、前記判断手段により前記所定のロジカルチャネルでの前記鍵データの照合が成功していないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する、
ことを特徴とする請求項2に記載の携帯可能電子装置。 - 前記記憶手段は、第1の鍵データと第2の鍵データとを記憶し、
前記判断手段は、第1のロジカルチャネルで受信したコマンドに応じた前記第1の鍵データに対する照合が成功し、かつ、第2のロジカルチャネルで受信したコマンドに応じた前記第2の鍵データに対する照合が成功したか否かを判断し、
前記アクセス許可手段は、前記判断手段により前記第1のロジカルチャネルでの前記第1の鍵データの照合と前記第2のロジカルチャネルでの前記第2の鍵データの照合とが成功していると判断した場合、前記データファイルを選択状態とし、
前記ファイル秘匿手段は、前記判断手段により前記第1のロジカルチャネルでの前記第1の鍵データの照合と前記第2のロジカルチャネルでの前記第2の鍵データの照合との何れかが成功していないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する、
ことを特徴とする請求項2に記載の携帯可能電子装置。 - 外部装置から与えられるコマンドに応じた処理を行う携帯可能電子装置において、
データファイルを記憶するメモリと、
前記外部装置との通信を行う通信手段と、
この通信手段により前記外部装置から前記データファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対応づけられたアクセス制御用のダミーファイルが選択済みであるか否かを判断する判断手段と、
この判断手段により前記ダミーファイルが選択済みであると判断した場合、前記データファイルを選択状態とするアクセス許可手段と、
前記判断手段により前記ダミーファイルが選択済みでないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知するファイル秘匿手段と、
を有する携帯可能電子装置。 - 前記判断手段は、さらに、前記データファイルに対応づけられたアクセス制御用のダミーファイルに対する所定の処理が実行済みであるか否かを判断する、
ことを特徴とする請求項8に記載の携帯可能電子装置。 - 前記判断手段は、さらに、前記データファイルに対応づけられたアクセス制御用のダミーファイルに対する前記所定処理としての所定データの書込み処理が実行済みであるか否かを判断する、
ことを特徴とする請求項8に記載の携帯可能電子装置。 - 前記ダミーファイルは、複数のレコードが格納可能なレコード形式のファイルであり、
前記判断手段は、さらに、前記データファイルに対応づけられたアクセス制御用のダミーファイルにおける所定のレコードに対して前記所定の処理が実行済みであるか否かであるを判断する、
ことを特徴とする請求項9又は10の何れかに記載の携帯可能電子装置。 - 前記判断手段は、さらに、前記データファイルに対応づけられたアクセス制御用のダミーファイルにおける所定のアドレスに対して前記所定の処理が実行済みであるか否かであるを判断する、
ことを特徴とする請求項9又は10の何れかに記載の携帯可能電子装置。 - 前記判断手段は、前記データファイルの選択を要求するコマンドを受信する直前に、前記アクセス許可条件としてのダミーファイルに対する前記所定の処理が実行されたか否かを判断する、
ことを特徴とする請求項9乃至12の何れかに記載の携帯可能電子装置。 - 外部装置から与えられるコマンドに応じた処理を行う携帯可能電子装置におけるデータ管理方法であって、
前記外部装置からメモリに記憶されているデータファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対するアクセス許可条件が満たされているか否かを判断し、
この判断により前記アクセス許可条件が満たされていると判断した場合、前記データファイルを選択状態とし、
前記判断により前記アクセス許可条件が満たされていないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する、
ことを特徴とする携帯可能電子装置におけるデータ管理方法。 - 論理的に設定される複数のロジカルチャネルでの外部装置との通信により受信するコマンドに応じた処理を行う携帯可能電子装置におけるデータ管理方法であって、
前記外部装置からメモリに記憶されているデータファイルの選択を要求するコマンドを受信した場合、前記コマンドを受信したロジカルチャネルが前記データファイルに対応づけられた所定のロジカルチャネルであるか否かを判断し、
この判断により前記所定のロジカルチャネルで前記コマンドを受信したと判断した場合、前記データファイルを選択状態とし、
前記判断により前記所定のロジカルチャネルで前記コマンドを受信していないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する、
ことを特徴とする携帯可能電子装置におけるデータ管理方法。 - 外部装置から与えられるコマンドに応じた処理を行う携帯可能電子装置におけるデータ管理方法であって、
前記外部装置からメモリに記憶されているデータファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対応づけられたアクセス制御用のダミーファイルが選択済みであるか否かを判断し、
この判断により前記ダミーファイルが選択済みであると判断した場合、前記データファイルを選択状態とし、
前記判断により前記ダミーファイルが選択済みでないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する、
ことを特徴とする携帯可能電子装置におけるデータ管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009143450A JP2011002895A (ja) | 2009-06-16 | 2009-06-16 | 携帯可能電子装置および携帯可能電子装置におけるデータ管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009143450A JP2011002895A (ja) | 2009-06-16 | 2009-06-16 | 携帯可能電子装置および携帯可能電子装置におけるデータ管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011002895A true JP2011002895A (ja) | 2011-01-06 |
Family
ID=43560823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009143450A Withdrawn JP2011002895A (ja) | 2009-06-16 | 2009-06-16 | 携帯可能電子装置および携帯可能電子装置におけるデータ管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011002895A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012194905A (ja) * | 2011-03-17 | 2012-10-11 | Toshiba Corp | 通信媒体、icカード、及び通信方法 |
JP2019053517A (ja) * | 2017-09-15 | 2019-04-04 | 株式会社明電舎 | アクセス制御装置、アクセス制御方法及びアクセス制御プログラム |
-
2009
- 2009-06-16 JP JP2009143450A patent/JP2011002895A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012194905A (ja) * | 2011-03-17 | 2012-10-11 | Toshiba Corp | 通信媒体、icカード、及び通信方法 |
US9092713B2 (en) | 2011-03-17 | 2015-07-28 | Kabushiki Kaisha Toshiba | IC card controlling access to files according to conditions, and manufacturing method, issuing method, and communication method of the same |
JP2019053517A (ja) * | 2017-09-15 | 2019-04-04 | 株式会社明電舎 | アクセス制御装置、アクセス制御方法及びアクセス制御プログラム |
JP7098898B2 (ja) | 2017-09-15 | 2022-07-12 | 株式会社明電舎 | アクセス制御装置、アクセス制御方法及びアクセス制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5454933B2 (ja) | 携帯可能電子装置、icカード、および携帯可能電子装置の制御方法 | |
JP2007532984A (ja) | 半導体メモリ | |
US9183400B2 (en) | IC card and IC card control method | |
JP4974613B2 (ja) | Icメモリ並びにicメモリ用のアクセス装置及び正当性検証方法 | |
KR20060102584A (ko) | 유에스비 인터페이스를 구비한 보안 데이터 저장 장치 및방법 | |
KR101783526B1 (ko) | Ic 카드, 전자 장치 및 휴대 가능 전자 장치 | |
JP2006343887A (ja) | 記憶媒体、サーバ装置、情報セキュリティシステム | |
JP4993114B2 (ja) | 携帯型ストレージデバイスの共有管理方法、および、携帯型ストレージデバイス | |
JP2011002895A (ja) | 携帯可能電子装置および携帯可能電子装置におけるデータ管理方法 | |
JP5148098B2 (ja) | 携帯可能電子装置、icカード、データ処理装置及びデータ処理システム | |
JP4445718B2 (ja) | Icカード及びicカードプログラム | |
JP4264958B2 (ja) | 携帯情報端末 | |
JP5459845B2 (ja) | 携帯可能電子装置、携帯可能電子装置の制御方法及びicカード | |
JP2011060136A (ja) | 携帯可能電子装置、および、携帯可能電子装置におけるデータ管理方法 | |
JP2019160191A (ja) | 携帯可能電子装置、及びicカード | |
JP2006031604A (ja) | 非接触通信システム | |
JP4601498B2 (ja) | 認証装置、認証方法、その方法を実現するプログラム、およびそのプログラムを記録した記録媒体 | |
JP4291068B2 (ja) | Icカード及びicカードシステム | |
JP2005011147A (ja) | Icカード及びicカードプログラム | |
JP5957347B2 (ja) | Icカード、および携帯可能電子装置 | |
US20090083273A1 (en) | Portable electronic apparatus and control method for portable electronic apparatus | |
JP4318494B2 (ja) | Icカード及びicカードプログラム | |
JP4899499B2 (ja) | Icカード発行方法、icカード発行システムおよびicカード | |
JP6398193B2 (ja) | 可搬型電子媒体、及び入出力制御方法 | |
JP2002024785A (ja) | Icカード及びリーダ/ライタ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120904 |