(57)【要約】【課題】データファイルに対する不正なアクセスのリスクを軽減し、データのセキュリティ性を向上させることができるＩＣカードおよびＩＣカードにおけるデータ管理方法を提供する。【解決手段】ＩＣカード処理装置２からの与えられるコマンドに応じた処理を行うＩＣカード１のＣＰＵ１１は、ＩＣカード処理装置２から内部のデータメモリ１４に記憶されているデータファイルの選択を要求するコマンドを受信した場合、当該コマンドで選択が要求されたデータファイルに対するアクセス許可条件が満たされているか否かを判断し、この判断によりアクセス許可条件が満たされていると判断した場合には当該コマンドで指定された当該データファイルを選択状態とし、アクセス許可条件が満たされていないと判断した場合には当該コマンドで指定されたデータファイルを選択不可とすると共にＩＣカード処理装置２へ当該データファイルが存在しない旨を通知する。【選択図】図１
2011002895.tif 000002
【特許請求の範囲】
【請求項１】
外部装置から与えられるコマンドに応じた処理を行う携帯可能電子装置において、
データファイルを記憶するメモリと、
前記外部装置との通信を行う通信手段と、
この通信手段により前記外部装置から前記データファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対するアクセス許可条件が満たされているか否かを判断する判断手段と、
この判断手段により前記アクセス許可条件が満たされていると判断した場合、前記データファイルを選択状態とするアクセス許可手段と、
前記判断手段により前記アクセス許可条件が満たされていないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知するファイル秘匿手段と、
を有する携帯可能電子装置。
【請求項２】
外部装置から与えられるコマンドに応じた処理を行う携帯可能電子装置において、
データファイルを記憶するメモリと、
前記外部装置との通信を行う通信手段と、
前記通信手段による外部装置との通信を論理的に設定される複数のロジカルチャネルで制御する通信処理手段と、
前記外部装置から前記データファイルの選択を要求するコマンドを受信した場合、前記コマンドを受信したロジカルチャネルが前記データファイルに対応づけられた所定のロジカルチャネルであるか否かを判断する判断手段と、
この判断手段により前記所定のロジカルチャネルで前記コマンドを受信したと判断した場合、前記データファイルを選択状態とするアクセス許可手段と、
前記判断手段により前記所定のロジカルチャネルで前記コマンドを受信していないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知するファイル秘匿手段と、
を有する携帯可能電子装置。
【請求項３】
前記所定のロジカルチャネルは、前記通信処理手段により初期設定されるロジカルチャネル以外のロジカルチャネルである、
ことを特徴とする請求項２に記載の携帯可能電子装置。
【請求項４】
前記所定のロジカルチャネルは、当該携帯可能電子装置の固有情報に基づく所定の演算処理により決定されるロジカルチャネルである、
ことを特徴とする請求項２に記載の携帯可能電子装置。
【請求項５】
前記所定のロジカルチャネルは、当該携帯可能電子装置と前記外部装置との間で交換される変数に基づく所定の演算処理により決定されるロジカルチャネルである、
ことを特徴とする請求項２に記載の携帯可能電子装置。
【請求項６】
さらに、鍵データを記憶する記憶手段と、
前記通信手段により前記外部装置から与えられるコマンドに応じて前記記憶手段に記憶している鍵データを照合する照合手段と、を有し、
前記判断手段は、前記所定のロジカルチャネルで受信したコマンドに応じた前記照合手段による前記鍵データの照合が成功しているか否かを判断し、
前記アクセス許可手段は、前記判断手段により前記所定のロジカルチャネルでの前記鍵データの照合が成功していると判断した場合、前記データファイルを選択状態とし、
前記ファイル秘匿手段は、前記判断手段により前記所定のロジカルチャネルでの前記鍵データの照合が成功していないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する、
ことを特徴とする請求項２に記載の携帯可能電子装置。
【請求項７】
前記記憶手段は、第１の鍵データと第２の鍵データとを記憶し、
前記判断手段は、第１のロジカルチャネルで受信したコマンドに応じた前記第１の鍵データに対する照合が成功し、かつ、第２のロジカルチャネルで受信したコマンドに応じた前記第２の鍵データに対する照合が成功したか否かを判断し、
前記アクセス許可手段は、前記判断手段により前記第１のロジカルチャネルでの前記第１の鍵データの照合と前記第２のロジカルチャネルでの前記第２の鍵データの照合とが成功していると判断した場合、前記データファイルを選択状態とし、
前記ファイル秘匿手段は、前記判断手段により前記第１のロジカルチャネルでの前記第１の鍵データの照合と前記第２のロジカルチャネルでの前記第２の鍵データの照合との何れかが成功していないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する、
ことを特徴とする請求項２に記載の携帯可能電子装置。
【請求項８】
外部装置から与えられるコマンドに応じた処理を行う携帯可能電子装置において、
データファイルを記憶するメモリと、
前記外部装置との通信を行う通信手段と、
この通信手段により前記外部装置から前記データファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対応づけられたアクセス制御用のダミーファイルが選択済みであるか否かを判断する判断手段と、
この判断手段により前記ダミーファイルが選択済みであると判断した場合、前記データファイルを選択状態とするアクセス許可手段と、
前記判断手段により前記ダミーファイルが選択済みでないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知するファイル秘匿手段と、
を有する携帯可能電子装置。
【請求項９】
前記判断手段は、さらに、前記データファイルに対応づけられたアクセス制御用のダミーファイルに対する所定の処理が実行済みであるか否かを判断する、
ことを特徴とする請求項８に記載の携帯可能電子装置。
【請求項１０】
前記判断手段は、さらに、前記データファイルに対応づけられたアクセス制御用のダミーファイルに対する前記所定処理としての所定データの書込み処理が実行済みであるか否かを判断する、
ことを特徴とする請求項８に記載の携帯可能電子装置。
【請求項１１】
前記ダミーファイルは、複数のレコードが格納可能なレコード形式のファイルであり、
前記判断手段は、さらに、前記データファイルに対応づけられたアクセス制御用のダミーファイルにおける所定のレコードに対して前記所定の処理が実行済みであるか否かであるを判断する、
ことを特徴とする請求項９又は１０の何れかに記載の携帯可能電子装置。
【請求項１２】
前記判断手段は、さらに、前記データファイルに対応づけられたアクセス制御用のダミーファイルにおける所定のアドレスに対して前記所定の処理が実行済みであるか否かであるを判断する、
ことを特徴とする請求項９又は１０の何れかに記載の携帯可能電子装置。
【請求項１３】
前記判断手段は、前記データファイルの選択を要求するコマンドを受信する直前に、前記アクセス許可条件としてのダミーファイルに対する前記所定の処理が実行されたか否かを判断する、
ことを特徴とする請求項９乃至１２の何れかに記載の携帯可能電子装置。
【請求項１４】
外部装置から与えられるコマンドに応じた処理を行う携帯可能電子装置におけるデータ管理方法であって、
前記外部装置からメモリに記憶されているデータファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対するアクセス許可条件が満たされているか否かを判断し、
この判断により前記アクセス許可条件が満たされていると判断した場合、前記データファイルを選択状態とし、
前記判断により前記アクセス許可条件が満たされていないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する、
ことを特徴とする携帯可能電子装置におけるデータ管理方法。
【請求項１５】
論理的に設定される複数のロジカルチャネルでの外部装置との通信により受信するコマンドに応じた処理を行う携帯可能電子装置におけるデータ管理方法であって、
前記外部装置からメモリに記憶されているデータファイルの選択を要求するコマンドを受信した場合、前記コマンドを受信したロジカルチャネルが前記データファイルに対応づけられた所定のロジカルチャネルであるか否かを判断し、
この判断により前記所定のロジカルチャネルで前記コマンドを受信したと判断した場合、前記データファイルを選択状態とし、
前記判断により前記所定のロジカルチャネルで前記コマンドを受信していないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する、
ことを特徴とする携帯可能電子装置におけるデータ管理方法。
【請求項１６】
外部装置から与えられるコマンドに応じた処理を行う携帯可能電子装置におけるデータ管理方法であって、
前記外部装置からメモリに記憶されているデータファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対応づけられたアクセス制御用のダミーファイルが選択済みであるか否かを判断し、
この判断により前記ダミーファイルが選択済みであると判断した場合、前記データファイルを選択状態とし、
前記判断により前記ダミーファイルが選択済みでないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する、
ことを特徴とする携帯可能電子装置におけるデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、個人情報あるいは取引情報などが記憶されているＩＣチップが内蔵されているＩＣカードあるいはＩＣタグなどの携帯可能電子装置、および、上記携帯可能電子装置におけるデータ管理方法などに関する。
【背景技術】
【０００２】
一般に、接触式および非接触式ＩＣカードは、内部のメモリにデータを記録する場合、たとえば、ＩＳＯ／ＩＥＣ７８１６−４などの規格で規定されているデータファイルの形式に従ってデータを保存する。ＩＳＯ／ＩＥＣ７８１６−４などの規格では、通常、データファイルにアクセスする手順が規定されている。たとえば、ＩＳＯ／ＩＥＣ  ７８１６−４では、一般に、次の手順でデータファイルにアクセスする。  
（１）アクセス対象とするデータファイルを選択するコマンドを実行する。
【０００３】
（２）選択されたデータファイルに対するアクセス命令（読み出し命令、書き込み命令、或いは、書き換え命令など）を実行する。なお、ただし、（１）の処理は、（２）のコマンドに包含される場合もある。
【０００４】
従来のＩＣカードでは、上記（２）の処理のようにファイルへアクセスするコマンドの実行を無制限に許したくない場合、ＩＣカードの管理者あるいは所有者のみが知り得る「鍵」による照合あるいは認証が成功したことを条件として、ファイルへのアクセスを許可する制限を実施している。このような実行の制限は、上記コマンドの実行条件として、命令の種類ごとに設定することができる。つまり、従来のＩＣカードでは、ファイルのデータを不正に読み出されたり、改竄されたりすることから保護するために「鍵」による保護が行われている。
【０００５】
しかしながら、近年では、ＩＣカード内のデータを解析するための様々な手法が日々考案されている。このため、ＩＣカード内のメモリに保存している「鍵」の内容（鍵データ）が不正に暴かれる危険性が無視できなくなっている。そこで、ＩＣカード内の鍵データが暴かれたとしても、ファイルのデータが不正に読み出したり、改竄されたりすることを防ぐ手立てを講じることが要望されている。従来のＩＣカードでは、上記（１）の処理に対しては実行制限がかけられていない。このため、全てのファイルＩＤを順番に指定しながらファイル選択命令を実行すると、ＩＣカード内に存在するファイルは、全て明らかになってしまう。ファイルが存在することが明らかになれば、そのファイルＩＤを持つファイルに対しては、集中的にデータ解析が行われることになり、データの不正な読み出しあるいは改竄のリスクが増すことになる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−９２５６８号公報
【非特許文献】
【０００７】
【非特許文献１】ＩＳＯ／ＩＥＣ７８１６−４
【発明の概要】
【発明が解決しようとする課題】
【０００８】
この発明の一形態は、不正アクセスのリスクを軽減し、データのセキュリティ性を向上させることができる携帯可能電子装置おおび携帯可能電子装置におけるデータ管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明の一形態としての携帯可能電子装置は、外部装置から与えられるコマンドに応じた処理を行うものにおいて、データファイルを記憶するメモリと、前記外部装置との通信を行う通信手段と、この通信手段により前記外部装置から前記データファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対するアクセス許可条件が満たされているか否かを判断する判断手段と、この判断手段により前記アクセス許可条件が満たされていると判断した場合、前記データファイルを選択状態とするアクセス許可手段と、前記判断手段により前記アクセス許可条件が満たされていないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知するファイル秘匿手段とを有する。
【００１０】
この発明の他の形態としての携帯可能電子装置は、外部装置から与えられるコマンドに応じた処理を行うものにおいて、データファイルを記憶するメモリと、前記外部装置との通信を行う通信手段と、前記通信手段による外部装置との通信を論理的に設定される複数のロジカルチャネルで制御する通信処理手段と、前記外部装置から前記データファイルの選択を要求するコマンドを受信した場合、前記コマンドを受信したロジカルチャネルが前記データファイルに対応づけられた所定のロジカルチャネルであるか否かを判断する判断手段と、この判断手段により前記所定のロジカルチャネルで前記コマンドを受信したと判断した場合、前記データファイルを選択状態とするアクセス許可手段と、前記判断手段により前記所定のロジカルチャネルで前記コマンドを受信していないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知するファイル秘匿手段とを有する。
【００１１】
この発明の他の形態としての携帯可能電子装置は、外部装置から与えられるコマンドに応じた処理を行うものにおいて、データファイルを記憶するメモリと、前記外部装置との通信を行う通信手段と、この通信手段により前記外部装置から前記データファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対応づけられたアクセス制御用のダミーファイルが選択済みであるか否かを判断する判断手段と、この判断手段により前記ダミーファイルが選択済みであると判断した場合、前記データファイルを選択状態とするアクセス許可手段と、前記判断手段により前記ダミーファイルが選択済みでないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知するファイル秘匿手段とを有する。
【００１２】
この発明の他の形態としての携帯可能電子装置におけるデータ管理方法は、外部装置から与えられるコマンドに応じた処理を行う携帯可能電子装置における方法であって、前記外部装置からメモリに記憶されているデータファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対するアクセス許可条件が満たされているか否かを判断し、この判断により前記アクセス許可条件が満たされていると判断した場合、前記データファイルを選択状態とし、前記判断により前記アクセス許可条件が満たされていないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する。
【００１３】
この発明の他の形態としての携帯可能電子装置におけるデータ管理方法は、論理的に設定される複数のロジカルチャネルでの外部装置との通信により受信するコマンドに応じた処理を行う携帯可能電子装置における方法であって、前記外部装置からメモリに記憶されているデータファイルの選択を要求するコマンドを受信した場合、前記コマンドを受信したロジカルチャネルが前記データファイルに対応づけられた所定のロジカルチャネルであるか否かを判断し、この判断により前記所定のロジカルチャネルで前記コマンドを受信したと判断した場合、前記データファイルを選択状態とし、前記判断により前記所定のロジカルチャネルで前記コマンドを受信していないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する。
【００１４】
この発明の他の形態としての携帯可能電子装置におけるデータ管理方法は、外部装置から与えられるコマンドに応じた処理を行う携帯可能電子装置における方法であって、前記外部装置からメモリに記憶されているデータファイルの選択を要求するコマンドを受信した場合、前記コマンドで選択が要求されたデータファイルに対応づけられたアクセス制御用のダミーファイルが選択済みであるか否かを判断し、この判断により前記ダミーファイルが選択済みであると判断した場合、前記データファイルを選択状態とし、前記判断により前記ダミーファイルが選択済みでないと判断した場合、前記データファイルが存在しない旨を前記外部装置へ通知する。
【発明の効果】
【００１５】
この発明の一形態によれば、不正アクセスのリスクを軽減し、データのセキュリティ性を向上させることができる携帯可能電子装置おおび携帯可能電子装置におけるデータ管理方法を提供できる。
【図面の簡単な説明】
【００１６】
【図１】図１は、携帯可能電子装置としてのＩＣカードおよびＩＣカードを含むＩＣカードシステムの構成例を示すブロック図である。
【図２】図２は、非接触式ＩＣカード全体の構成例を示す図である。
【図３】図３は、データメモリに記憶される各種ファイルのファイル構造の第１の具体例を示す図である。
【図４】図４は、第１のアクセス方法による秘密ファイルの選択処理を説明するためのフローチャートである。
【図５】図５は、特定のロジカルチャネルで特定のファイルを指定するファイル選択コマンドを受信した場合の動作を示している。
【図６】図６は、特定のロジカルチャネルで秘密ファイルの選択を要求するファイル選択コマンドを受信した場合の動作を示すフローチャートである。
【図７】図７は、ＩＣカードの固有情報としての製造番号に基づく演算処理によりアクセス許可条件としてのロジカルチャネルを決定する場合の動作例を示すフローチャートである。
【図８】図８は、乱数に基づく演算処理によりアクセス許可条件としてのロジカルチャネルを決定する場合の動作例を示すフローチャートである。
【図９】図９は、第２のアクセス方法として、所定のロジカルチャネルで鍵照合を行った後、秘密ファイルを指定するファイル選択コマンドを受信した場合の動作例を示すフローチャートである。
【図１０】図１０は、特定のロジカルチャネルで特定の鍵照合を行った後、秘密ファイルを指定するファイル選択コマンドを受信した場合の動作例を示すフローチャートである。
【図１１】図１１は、第３のアクセス方法として、特定のロジカルチャネルでの第１鍵の照合と特定のロジカルチャネルでの第２鍵の照合とが成功した後、秘密ファイルを指定するファイル選択コマンドを受信した場合の動作例を示すフローチャートである。
【図１２】図１２は、特定のロジカルチャネルで第１鍵の照合を行った後、秘密ファイルを指定するファイル選択コマンドを受信した場合の動作例を示すフローチャートである。
【図１３】図１３は、データメモリに記憶される各種ファイルのファイル構造の第２の具体例を示す図である。
【図１４】図１４は、第４のアクセス方法として、ダミーファイルを選択した後に秘密ファイルの選択コマンドを受信した場合の動作例を示すフローチャートである。
【図１５】図１５は、ダミーファイルが選択されていない状態で秘密ファイルの選択コマンドを受信した場合の動作例を示すフローチャートである。
【図１６】図１６は、第５のアクセス方法として、ダミーファイルに対して所定の処理が実行された後に秘密ファイルの選択コマンドを受信した場合の動作を示すフローチャートである。
【図１７】図１７は、ダミーファイルが選択されていない状態で秘密ファイルの選択コマンドを受信した場合の動作例を示すフローチャートである。
【図１８】図１８は、ダミーファイルに対する所定の処理が実行されていない状態で秘密ファイルの選択コマンドを受信した場合の動作例を示すフローチャートである。
【図１９】図１９は、第６のアクセス方法として、秘密ファイルを正常に選択する場合の手順を示すフローチャートである。
【図２０】図２０は、ダミーファイルが選択されていない状態で秘密ファイルの選択コマンドを受信した場合の動作を示すフローチャートである。
【図２１】図２１は、ダミーファイルに対する所定データの書込み処理が実行されずに秘密ファイルの選択コマンドを受信した場合の動作を示すフローチャートである。
【図２２】図２２は、ダミーファイルに所定データでないデータの書込み処理が実行された状態で秘密ファイルの選択コマンドを受信した場合の動作を示すフローチャートである。
【図２３】図２３は、ダミーファイルにおける所定レコード「レコード３」以外のレコードに所定データの書込み処理が実行された状態で秘密ファイルの選択コマンドを受信した場合の動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、この発明の実施の形態について図面を参照して詳細に説明する。  
図１は、この発明の実施の形態に係る携帯可能電子装置としてのＩＣカード１およびＩＣカード１を含むＩＣカードシステムの構成例を示すブロック図である。  
上記ＩＣカード１は、外部装置あるいは上位装置としてのＩＣカード処理装置２からの電源供給により動作可能な状態となる。動作可能となったＩＣカード１は、上記ＩＣカード処理装置２からのコマンドに応じて種々の処理を行う。上記ＩＣカード処理装置２は、ＩＣカード１を動作させるための電源を供給するとともに、当該ＩＣカード１に対して種々の処理を要求するコマンドを供給する。上記ＩＣカード処理装置２がＩＣカード１に対して供給するコマンドは、用途あるいは運用形態などに応じた処理を要求するものである。
【００１８】
また、上記ＩＣカード１は、アンテナあるいは無線通信部等により上記ＩＣカード処理装置２と非接触の状態で無線通信を行う非接触式の携帯可能電子装置（非接触式ＩＣカード）であっても良し、上記ＩＣカード処理装置２と物理的に接触して通信を行う接触式の携帯可能電子装置（接触式ＩＣカード）であっても良い。さらには、上記ＩＣカード１は、非接触式ＩＣカードとしての通信機能と接触式ＩＣカードとしての通信機能とを有する複合型のＩＣカード（デュアルインターフェースＩＣカード）であっても良い。なお、この実施の形態では、主に、非接触式ＩＣカードを想定して説明する。非接触式ＩＣカードと接触式ＩＣカードとはＩＣカード処理装置２との通信方式等が異なるだけである。このため、以下に説明する実施の形態は、接触式ＩＣカードにも同様に適用できる。
【００１９】
上記ＩＣカード１の構成例について説明する。  
図１に示すように、上記ＩＣカード１は、ＣＰＵ１１、プログラムメモリ１２、ワーキングメモリ１３、データメモリ１４、通信制御部１５、電源部１６、および、インターフェース（アンテナあるいはコンタクト部）１７などを有している。  
また、上記ＩＣカード１は、カード状の本体Ｃにより構成される。上記ＩＣカード１を形成するカード状の本体Ｃには、１つ（あるいは複数）のＩＣチップ１ａとインターフェース１７とが埋設される。上記ＩＣチップ１ａは、ＣＰＵ１１、プログラムメモリ１２、ワーキングメモリ１３、データメモリ１４、通信制御部１５および電源部１６などを有している。上記ＩＣチップ１ａは、上記インターフェース１７に接続された状態でモジュール化され、当該ＩＣカード１を形成するカード状の本体Ｃ内に埋設される。たとえば、図２は、非接触式ＩＣカード全体の構成例を示す図である。図２に示す非接触式ＩＣカードは、カード状の本体Ｃを有している。この本体Ｃ内には、図２に点線で示すように、１つ（あるいは複数）のＩＣチップ１ａとインターフェース１７としてのアンテナとを有するモジュールＭが埋め込まれている。
【００２０】
上記ＣＰＵ１１は、ＩＣカード１全体の制御を司るものである。上記ＣＰＵ１１は、上記プログラムメモリ１２あるいはデータメモリ１４に記憶されている制御プログラムおよび制御データなどに基づいて動作する。たとえば、上記ＣＰＵ１１は、上記プログラムメモリ１２に記憶されている基本的な動作を司る制御プログラムを実行することにより、外部装置から与えられるコマンドに応じた処理を実行する。これにより、外部装置から上記データメモリ１４へのデータの書込みを要求するコマンドが与えられれば、上記ＣＰＵ１１は、上記データメモリ１４へのデータの書き込み処理を実行する。また、外部装置から上記データメモリ１４に記憶されているデータの読み出しを要求するコマンドが与えられれば、上記ＣＰＵ１１は、上記データメモリ１４からのデータの読み出し処理を実行する。さらに、上記ＣＰＵ１１は、当該ＩＣカード１の用途などに応じてインストールされる処理プログラムを実行することにより、用途に応じた処理を実現するようになっている。
【００２１】
上記プログラムメモリ１２は、読み出し専用のメモリ（ＲＯＭ：リードオンリーメモリ）により構成される。上記プログラムメモリ１２には、予め基本動作を司る制御プログラムおよび制御データなどが記憶されている。上記プログラムメモリ１２には、予め当該ＩＣカード１の仕様に応じた制御プログラム及び制御データが記憶される。たとえば、上記ＣＰＵ１１は、上記プログラムメモリ１２に記憶される制御プログラムにより外部から与えられるコマンドに応じた処理を実現する。
【００２２】
上記ワーキングメモリ１３は、揮発性のメモリ（ＲＡＭ；ランダムアクセスメモリ）により構成される。上記ワーキングメモリ１３は、データを一時保管するバッファメモリとして機能する。例えば、上記ワーキングメモリ１３には、ＩＣカード処理装置（外部装置）２との通信処理において、送受信されるデータが一時的に保管される。また、上記ワーキングメモリ１３には、種々の書込みデータなどを一時的に保持するメモリとしても利用される。
【００２３】
上記データメモリ（不揮発性メモリ）１４は、データの書き込みが可能な不揮発性のメモリである。上記データメモリ１４は、例えば、ＥＥＰＲＯＭあるいはフラッシュメモリなどにより構成される。上記データメモリ１４には、当該ＩＣカード１の使用目的に応じた種々の情報が記憶される。たとえば、当該ＩＣカードの使用目的に応じたアプリケーション（処理プログラムおよび運用データなど）は、上記データメモリ１４に書込まれる。当該ＩＣカード１が複数の使用目的に使用される場合、上記データメモリ１４には、各使用目的に応じた複数のアプリケーションが記憶される。
【００２４】
また、当該ＩＣカード１の使用目的に応じたアプリケーションは、上記データメモリ１４上に定義された使用目的ごとのプログラムファイル（ＤＦ；Ｄｅｄｉｃａｔｅｄ  Ｆｉｌｅ）およびデータファイル（ＥＦ；Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ）などの各ファイルに記憶される。このようなファイル構成は、たとえば、ＩＳＯ／ＩＥＣ７８１６−４に基づくものである。
【００２５】
また、上記データファイル自体の構造としては、レコード型のファイルあるいは透過型のファイルがある。レコード型のファイルは、複数のレコード単位のデータが格納される。なお、レコード型のファイルにおける各レコードの構造としては、たとえば、識別子（タグ：Ｔａｇ）、データ長（レングス：Ｌｅｎｇｔｈ）、データ値（バリュー：Ｖａｌｕｅ）により構成されるＴＬＶ構造などがある。このようなレコード型のファイルには、ファイル内のレコードごとにアクセスすることが可能である。たとえば、ファイル内の各レコードには、各レコードに付与されるレコード番号によりアクセスできる。また、上記透過型のファイル内のデータには、当該ファイル内のデータ位置を表すオフセット値を指定してアクセスすることも可能である。
【００２６】
また、上記データメモリ１４に記憶されるファイル（データファイル）には、後述するようなアクセス許可条件が設定されるものがある。上記アクセス許可条件は、セキュリティを確保したいファイルを選択状態（アクセス可能な状態）にするための手順などの条件を設定するものである。上記アクセス許可条件は、セキュリティを確保したい全ファイルまたは一部のファイルに対して設定される。上記アクセス許可条件は、たとえば、運用形態等に応じて、ＩＣカードの発行者あるいは管理者がＩＣカード１に対して設定する。このようなアクセス許可条件は、たとえば、データメモリ１４内の記憶領域１４ａに記憶される。また、上記アクセス許可条件は、プログラムメモリ１２に記憶するようにしても良い。
【００２７】
上記通信制御部１５は、上記インターフェース１７を介して外部装置（たとえば、ＩＣカード処理装置２）とのデータ通信を制御するものである。たとえば、当該ＩＣカードが非接触型のＩＣカードであれば、外部装置からデータを受信する場合、上記通信制御部１５は、インターフェース１７としてのアンテナにより受信した電波としての送信データを復調し、復調した信号を上記ＣＰＵ１１に供給する。また、外部装置へデータを送信する場合、上記通信制御部１５は、上記ＣＰＵ１１から与えられるデータを変調し、変調したデータを上記インターフェース１７としてのアンテナにより電波として発信する。なお、接触式ＩＣカードでは、インターフェース１７として、アンテナの代わりに、外部装置の接触端子部と物理的・電気的に接触するコンタクト部を介して外部装置とのデータ通信を行う。
【００２８】
また、当該ＩＣカード１は、外部装置との通信機能としてロジカルチャネル（論理チャネル）と称する機能（通信処理手段）を有する。ロジカルチャネルは、物理的には１つのシリアルインターフェースを擬似的（論理的）に複数のインターフェースとして使用する機能である。この機能を用いることで、１つのシリアルインターフェースしか持たないＩＣカードであっても、複数のチャンネルで通信制御を行うことができる。たとえば、ＩＣカード１は、外部装置からの命令電文が通信制御情報においてチャネル「１」を指定した電文とチャネル「２」を指定した電文とをそれぞれ別々のインターフェースを介して送信された電文と見なす。また、ＩＣカード１では、複数のロジカルチャネルでそれぞれ異なるカレント状態（たとえば、選択状態のファイルあるいはレコード）を保持することができる。
【００２９】
なお、ロジカルチャネルは、通常、デフォルト値が予め規定されている。これにより、ロジカルチャネルを意識しないで通信を行う場合、ＩＣカード１は、デフォルト値のロジカルチャネルで通信を行う。たとえば、「０」〜「３」の４つのロジカルチャネルが使用可能な運用形態では、ロジカルチャネルのデフォルト値として「０」を予め規定しておく形態が実現可能である。
【００３０】
上記電源部１６は、当該ＩＣカード１の各部を動作させるための上記インターフェース１７を介して受信する電力およびクロックパルスを供給する。たとえば、当該ＩＣカードが非接触型のＩＣカードであれば、上記電源部１６は、上記インターフェース１７としてのアンテナにより受信した電波から電力およびクロックパルスを生成し、当該ＩＣカード内の各部に供給するようになっている。また、上記電源部１６からの電力供給により起動した場合、上記ＣＰＵ１１は、当該ＩＣカード１の処理状態をリセットする処理を行うようになっている。なお、当該ＩＣカード１が接触型のＩＣカードであれば、上記電源部１６はインターフェース１７を介して外部装置から直接的に供給される電力およびクロックパルスにより各部へ供給するようになっている。
【００３１】
次に、上記ＩＣカード処理装置２について説明する。  
上記ＩＣカード処理装置２は、図１に示すように、制御装置２１およびカードリーダライタ２２を有している。上記制御装置２１は、パーソナルコンピュータ（ＰＣ）などにより構成される。上記制御装置２１は、ＣＰＵなどの演算処理部、ＲＡＭ、ＲＯＭ、不揮発性メモリおよびハードディスクドライブなどの各種メモリ、通信インターフェースなどの各種インターフェースなどにより構成される。上記制御装置２１では、上記演算処理部がメモリに記憶されている各種の制御プログラムを実行することにより各種の処理を実現している。また、上記制御装置２１は、ＩＣカード１とのデータ通信を行う上記カードリーダライタ２２とのデータの入出力を行うようになっている。
【００３２】
たとえば、上記制御装置２１には、上記ＩＣカード１を用いた各種の処理に応じた制御プログラムが予め記憶されている。上記制御装置２１では、上記のような制御プログラムを実行することにより上記ＩＣカード１を用いた各種の処理を実行する。たとえば、上記ＩＣカード１を用いた各種の処理において、上記制御装置２１は、所定のコマンドを所定の手順で供給する。上記制御装置２１では、上記のような各コマンドに対するＩＣカード１からの各レスポンス（コマンドに対する処理結果等を示す情報）に基づいて各種の処理を行うようになっている。
【００３３】
上記カードリーダライタ２２は、上記ＩＣカード１とのデータ通信を行う通信手段として機能する。上記カードリーダライタ２２は、上記ＩＣカード１の通信方式に応じた通信方式によるデータ通信を行うためのものである。つまり、上記カードリーダライタ２２を介して制御装置２１は、上記ＩＣカード１とのデータ通信を実現している。
【００３４】
上記ＩＣカード１が非接触型のＩＣカードである場合、上記カードリーダライタ２２は、上記ＩＣカード１との無線によるデータ通信を行うためのアンテナおよび通信制御部（変復調回路等）などにより構成される。非接触型のＩＣカード１へデータを送信する場合、上記カードリーダライタ２２では、通信制御部により上記制御装置２１から与えられる送信データを変調し、変調した信号を電波としてアンテナにより発信する。また、非接触型のＩＣカード１からデータを受信する場合、上記カードリーダライタ２２では、アンテナにより受信した電波としての信号を通信制御部により復調し、復調したデータを受信データとして上記制御装置２１へ供給する。また、上記カードリーダライタ２２では、上記のようなデータの送受信とともに、上記ＩＣカード１を動作させるための電源およびクロックパルスとなる電波をアンテナにより発信するようになっている。
【００３５】
また、上記ＩＣカード１が接触型のＩＣカードである場合、上記カードリーダライタ２２は、ＩＣカード１と物理的に接触してデータ通信を行うためのコンタクト部および通信制御部などにより構成される。接触型のＩＣカードとのデータの送受信を行う場合、上記カードリーダライタ２２では、上記コンタクト部がＩＣカード１側に設けられているコンタクト部と物理的に接触して各種のデータ通信を行う。また、上記カードリーダライタ２２では、ＩＣカード１に物理的に接触しているコンタクト部を介して当該ＩＣカード１に対して電力およびクロックパルスを供給するようになっている。
【００３６】
次に、上記データメモリ１４に記憶されるファイルについて説明する。  
本実施の形態では、上記データメモリ１４には、ＩＳＯ／ＩＥＣ  ７８１６で規定されているファイル構成で各ファイルが記憶されるものとする。ＩＳＯ／ＩＥＣ  ７８１６では、ＭＦ（Ｍａｓｔｅｒ  Ｆｉｌｅ）、ＤＦ（Ｄｅｄｉｃａｔｅｄ  Ｆｉｌｅ）、ＥＦ（Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ）などからなる階層構造のファイル構成が規定されている。ＭＦは、階層構造の最上位に位置するファイルであり、ＭＦの下層にＤＦあるいはＥＦが設けられる。ＤＦは、例えば、アプリケーションごとに設定されるファイルであり、当該アプリケーションで利用するデータを格納するためのデータファイルとしてのＥＦが下層に設けられる。各ＥＦは、それぞれ実データを記憶するためのデータファイルである。
【００３７】
図３は、データメモリ１４に記憶される各種ファイルのファイル構造の第１の具体例を示す図である。  
図３に示す例では、ＭＦは、階層構造の最上位階層のＭＦの直下に、ＥＦとしてのファイルＡ、ファイルＢ、ファイルＣ、鍵ファイルＸ、鍵ファイルＹが設けられている。また、ＭＦの直下にはＤＦも設けられ、このＤＦに属するＥＦとしては、ファイルＤ、ファイルＥ、ファイルＦが設けられている。ファイルＡ、ファイルＢ、ファイルＣ、ファイルＤ、ファイルＥ、ファイルＦは、それぞれファイルＩＤが１０００ｈ、２３４５ｈ、７ＦＦＦｈ、８０００ｈ、Ａ０００ｈ、ＢＦＦＦｈに設定されている。また、鍵ファイルＸおよび鍵ファイルＹは、それぞれ鍵Ｘおよび鍵Ｙとしての鍵データを格納するＥＦである。
【００３８】
次に、存在が秘匿されるファイル（秘密ファイル）へのアクセス制御として第１〜第６のアクセス方法について説明する。  
まず、第１のアクセス方法について説明する。  
この第１のアクセス方法は、秘密ファイルに対して特定のロジカルチャネルでのみアクセス可能とするものである。上記ロジカルチャネルは、上述したように、論理的な通信用のチャネルである。すなわち、ＩＣカード１は、論理的に設定されるロジカルチャネルごとに上位装置（ＩＣカード処理装置）との通信制御が可能である。この場合、ＩＣカード１は、複数のロジカルチャネルでそれぞれ異なるカレント状態（たとえば、カレントファイル）を保持しつつ、上位装置との通信制御（アクセス制御）を行う。
【００３９】
上記ＩＣカード１の通信では、デフォルト値としてのロジカルチャネル「０」で通信が行われることが多い。たとえば、一般的な運用形態において特にロジカルチャネルを意識しないで通信を行う場合には、デフォルト値としてのロジカルチャネル「０」で通信が行われる。このように、ＩＣカード１は、デフォルト値としてのロジカルチャネル「０」で通信を行うことが多く、デフォルト値としてのロジカルチャネル「０」以外のロジカルチャネルは使用頻度が少ない。
【００４０】
言い換えれば、デフォルト値以外のロジカルチャネルを指定した場合にのみ秘密ファイルへのアクセスを許可するようにすれば、当該秘密ファイルは、一般的な運用状態（つまり、デフォルト値のロジカルチャネル）において秘匿することができる。この場合、デフォルト値のロジカルチャネル（たとえば、ロジカルチャネル「０」）では、当該秘密ファイルが存在しないものとする応答コードが上位装置へ出力される。このように、デフォルト値以外のロジカルチャネルを指定した場合にのみ秘密ファイルへのアクセスを許可するようにすれば、秘密ファイルのセキュリティ性を向上させることができる。
【００４１】
ここで、ファイルＡへのアクセスを可能とするロジカルチャネルは、各秘密ファイルごとに予め固定的に決めておくようにしても良いし、所定の計算により求めるようにしても良い。前者によれば、容易に秘密ファイルを設定でき、秘密ファイルにアクセスする場合に特別な演算等が必要ないため高速なアクセス制御が実現できる。また、後者によれば、演算処理により算出するロジカルチャネルを秘密ファイルへアクセスする度に変化させることができるため、セキュリティ性を向上できる。また、ロジカルチャネルを決定するための演算処理は、ＩＣカードの製造番号あるいは発行番号などのＩＣカード毎に異なる値を基準に実行されるようにしても良いし、ＩＣカードと上位装置との間で認証のために交換される乱数を計算のベースとしても良い。
【００４２】
図４は、第１のアクセス方法による秘密ファイルの選択処理を説明するためのフローチャートである。  
まず、ＩＣカード１は、上記ＩＣカード処理装置２から指定するファイルＩＤのファイルの選択を要求するファイル要求コマンド（あるいは、ファイルの選択を含むアクセス要求（読出し要求、書込み要求）コマンド、ファイル検索コマンド等）を受けたものとする（ステップＳ１１）。この場合、ＩＣカード１のＣＰＵ１１は、指定されたファイルＩＤのファイルが存在するか否かを判断する（ステップＳ１２）。この判断により指定されたファイルＩＤのファイルが存在しないと判断した場合（ステップＳ１２、ＮＯ）、ＣＰＵ１１は、指定されたファイルＩＤのファイルが存在しない旨を示す応答コードを出力する（ステップＳ１７）。
【００４３】
上記判断により指定されたファイルＩＤのファイルが存在すると判断した場合（ステップＳ１２、ＹＥＳ）、ＣＰＵ１１は、指定されたファイルがアクセス許可条件が与えられているファイル（秘密ファイル）であるか否かを判断する（ステップＳ１３）。この判断により指定されたファイルが秘密ファイルでないと判断した場合（ステップＳ１３、ＮＯ）、ＣＰＵ１１は、当該ファイルへのアクセスを許可（指定されたファイルＩＤのファイルにアクセス）する（ステップＳ１６）。たとえば、受信したコマンドが読出しコマンドであれば、ＣＰＵ１１は、指定されたファイルを読出し処理を行う。
【００４４】
また、上記判断により指定されたファイルが秘密ファイルであると判断した場合（ステップＳ１３、ＹＥＳ）、ＣＰＵ１１は、当該秘密ファイルへのアクセス許可条件を特定する処理を行う（ステップＳ１４）。ここでは、アクセス許可条件は、上述したような特定のロジカルチャネルであるものとする。この場合、ＣＰＵ１１は、当該秘密ファイルへのアクセスが許可されるロジカルチャネルを特定する処理を行う。たとえば、アクセスを許可するロジカルチャネルが予め固定的に設定されている場合、ＣＰＵ１１は、当該設定内容を読み出す。また、アクセス許可のロジカルチャネルが演算処理により算出される場合、ＣＰＵ１１は、アクセスを許可するロジカルチャネルを演算処理により決定する。
【００４５】
当該秘密ファイルへのアクセスが許可されるロジカルチャネルを特定すると、ＣＰＵ１１は、現在のロジカルチャネルが当該秘密ファイルへのアクセスが許可されるロジカルチャネルであるか否かを判断する（ステップＳ１５）。この判断により現在のロジカルチャネルが当該秘密ファイルへのアクセスが許可されるロジカルチャネルでないと判断した場合（ステップＳ１５、ＮＯ）、ＣＰＵ１１は、指定されたファイルＩＤのファイルが存在しないものとして処理する（ステップＳ１７）。つまり、現在のロジカルチャネルが当該秘密ファイルへのアクセスが許可されるロジカルチャネルでない場合、ＣＰＵ１１は、上記したステップＳ１７へ進み、指定されたファイルＩＤのファイルが存在しない旨を示す応答コードを出力する。
【００４６】
また、上記判断により現在のロジカルチャネルが当該秘密ファイルへのアクセスが許可されるロジカルチャネルであると判断した場合（ステップＳ１５、ＹＥＳ）、ＣＰＵ１１は、当該秘密ファイルへのアクセスを許可（指定されたファイルＩＤのファイルにアクセス）する（ステップＳ１６）。たとえば、受信したコマンドが読出しコマンドであれば、ＣＰＵ１１は、指定されたファイル（秘密ファイル）の読出し処理を行う。これは、現在のロジカルチャネルが秘密ファイルへのアクセスが許可されるロジカルチャネルである場合、当該秘密ファイルの読出しが可能であることを意味している。
【００４７】
以下、第１のアクセス方法としての具体例について説明する。
【００４８】
上記第１のアクセス方法の第１の具体例として、秘密ファイルに対するアクセス許可条件が固定的に設定される場合の動作例について説明する。ここでは、図３に示すファイルＩＤが「１０００ｈ」のファイルＡを秘密ファイルとし、ファイルＡにはロジカルチャネル「２」でのみアクセス可能と設定されている場合を想定するものとする。
【００４９】
図５は、ロジカルチャネル「２」でファイルＩＤ「１０００ｈ」を指定するファイル選択コマンドを受信した場合の動作を示している。これに対して、図６は、ロジカルチャネル「０」でファイルＩＤ「１０００ｈ」を指定するファイル選択コマンドを受信した場合の動作を示している。
【００５０】
すなわち、図５に示すように、ロジカルチャネル「２」でファイルＩＤ「１０００ｈ」を指定するファイル選択コマンドを受信した場合（ステップＳ２１）、ＩＣカード１は、ファイルＩＤ「１０００ｈ」のファイル（秘密ファイル）に設定されているアクセス許可条件としてロジカルチャネルを特定する。この場合、ファイルＩＤ「１０００ｈ」のファイルＡには、ロジカルチャネル「２」がアクセス許可条件として設定されている。ここでは、ＩＣカード１は、現在のロジカルチャネルがアクセス許可条件としてのロジカルチャネル「２」であることを確認する（ステップＳ２２）。
【００５１】
この確認結果に基づいて、ＩＣカード１は、当該ファイルＩＤ「１０００ｈ」のファイルを選択し（ステップＳ２３）、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答を出力する（ステップＳ２４）。この状態において、当該ＩＣカード１は、ファイルＩＤ「１０００ｈ」のファイルを選択状態としてアクセス可能とする（ステップＳ２５）。たとえば、選択したファイルに対する読出しコマンドを受けた場合、当該ＩＣカード１は、ファイルＩＤ「１０００ｈ」のファイルに対する読出し処理を行う。
【００５２】
これに対して、図６に示すように、ロジカルチャネル「０（デフォルト値）」の状態でファイルＩＤ「１０００ｈ」を指定するファイル選択コマンドを受信した場合（ステップ３１）、ＩＣカード１は、ファイルＩＤ「１０００ｈ」のファイル（秘密ファイル）に設定されているアクセス許可条件としてのロジカルチャネル「２」であるため、上記ファイル選択コマンドで指定されたロジカルチャネル「０」でないことを確認する（ステップＳ３２）。この確認結果に基づいて、ＩＣカード１は、当該ファイルＩＤ「１０００ｈ」のファイルが選択不可であると判別し、当該ファイルを秘匿する（ステップＳ３３）。
【００５３】
この場合、ＩＣカード１は、ファイルＩＤ「１０００ｈ」の秘密ファイルを秘匿するため、上記ファイル選択コマンドに対する処理結果として指定されたファイル無しを示す応答を出力する（ステップＳ３４）。この状態において、当該ＩＣカード１は、ファイルＩＤ「１０００ｈ」のファイルを秘匿して、アクセスを不可（選択不可）とする（ステップＳ３５）。
【００５４】
次に、上記第１のアクセス方法の第２の具体例として、秘密ファイルに対するアクセス許可条件がＩＣカード１の固有情報に基づく演算処理により算出される場合の動作例について説明する。ここでは、アクセス許可条件を算出するための固有情報としては、ＩＣカードの製造番号を想定するものとする。  
図７は、ＩＣカード１の固有情報としての製造番号に基づく演算処理によりアクセス許可条件としてのロジカルチャネルを決定する場合の動作例を示している。
【００５５】
図７に示すように、ロジカルチャネル「Ｎ」でファイルＩＤ「１０００ｈ」を指定するファイル選択コマンドを受信した場合（ステップＳ４１）、ＩＣカード１は、アクセス許可条件を演算処理により算出する。ここで、ＩＣカード１は、指定されたファイルへのアクセス許可条件としてのロジカルチャネルを決定するための固有情報としての製造番号を読出す（ステップＳ４２）。製造番号を読み出すと、ＩＣカード１は、読み出した製造番号を基にしてアクセス許可条件としてのロジカルチャネルを決定するための所定の演算処理を行う（ステップＳ４３）。
【００５６】
たとえば、図７の例では、ロジカルチャネルが４つであり、かつ、ロジカルチャネルのデフォルト値が「０」であることを想定した演算処理の例を示している。図７に示す例では、演算処理として、製造番号を３で割った剰余に１を加算した値をアクセス許可条件としてロジカルチャネルとしている。つまり、図７の例では、アクセス許可条件としてロジカルチャネルが「ＭＯＤ（製造番号÷３）＋１＝Ｎ」となる例を示している。  
なお、アクセス許可条件としてのロジカルチャネルの演算処理の内容は、デフォルト値以外のロジカルチャネルで算出されるものであれば良い。ただし、ＩＣカード処理装置２とＩＣカード１とでは、同じロジカルチャネルが得られるような演算処理を行うようにする必要がある。
【００５７】
上記演算処理によりファイルＩＤ「１０００ｈ」のファイルに対するアクセス許可条件がロジカルチャネル「Ｎ」と決定された場合、ＩＣカード１は、現在のロジカルチャネル「Ｎ」がアクセス許可条件としてのロジカルチャネル「Ｎ」であることを確認する（ステップＳ４４）。この確認結果に基づいて、ＩＣカード１は、当該ファイルＩＤ「１０００ｈ」のファイルを選択し（ステップＳ４５）、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答を出力する（ステップＳ４６）。この状態において、当該ＩＣカード１は、ファイルＩＤ「１０００ｈ」のファイルを選択状態としてアクセス可能とする（ステップＳ４６）。たとえば、選択したファイルに対する読出しコマンドを受けた場合、当該ＩＣカード１は、ファイルＩＤ「１０００ｈ」のファイルに対する読出し処理を行う。
【００５８】
次に、上記第１のアクセス方法の第３の具体例として、秘密ファイルに対するアクセス許可条件が変数に基づく演算処理により算出される場合の動作例について説明する。ここでは、アクセス許可条件を算出するための変数としては、上位装置との認証処理に用いられる乱数を想定する。
【００５９】
図８は、乱数に基づく演算処理によりアクセス許可条件としてのロジカルチャネルを決定する場合の動作例を示している。
【００６０】
図８に示すように、ロジカルチャネル「Ｎ」でファイルＩＤ「１０００ｈ」を指定するファイル選択コマンドを受信した場合（ステップＳ５１）、ＩＣカード１は、アクセス許可条件を演算処理により算出する。ここで、ＩＣカード１は、指定されたファイルへのアクセス許可条件としてのロジカルチャネルを決定するために、上位装置との認証処理に用いた乱数を特定する（ステップＳ５２）。乱数を特定すると、ＩＣカード１は、当該乱数を基にしてアクセス許可条件としてのロジカルチャネルを決定するための所定の演算処理を行う（ステップＳ５３）。
【００６１】
たとえば、図８の例では、図７の例と同様に、ロジカルチャネルが４つであり、かつ、ロジカルチャネルのデフォルト値が「０」であることを想定した演算処理の例を示している。また、図８に示す例は、図７に示す例では、演算処理として、乱数を３で割った剰余に１を加算した値をアクセス許可条件としてロジカルチャネルとしている。つまり、図８の例は、図７の例で説明した演算式における「製造番号」を「乱数」に置き換えた演算処理を行う。  
なお、アクセス許可条件としてのロジカルチャネルの演算処理の内容は、デフォルト値以外のロジカルチャネルで算出されるものであれば良い。ただし、ＩＣカード処理装置２とＩＣカード１とでは、同じロジカルチャネルが得られるような演算処理を行うため、共通に認識できる変数を用いる必要がある。
【００６２】
上記演算処理によりファイルＩＤ「１０００ｈ」のファイルに対するアクセス許可条件がロジカルチャネル「Ｎ」と決定された場合、ＩＣカード１は、現在のロジカルチャネル「Ｎ」がアクセス許可条件としてのロジカルチャネル「Ｎ」であることを確認する（ステップＳ５４）。この確認結果に基づいて、ＩＣカード１は、当該ファイルＩＤ「１０００ｈ」のファイルを選択し（ステップＳ５５）、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答を出力する（ステップＳ５６）。この状態において、当該ＩＣカード１は、ファイルＩＤ「１０００ｈ」のファイルを選択状態としてアクセス可能とする（ステップＳ５６）。たとえば、選択したファイルに対する読出しコマンドを受けた場合、当該ＩＣカード１は、ファイルＩＤ「１０００ｈ」のファイルに対する読出し処理を行う。
【００６３】
上述したように、図７に示す例では、ロジカルチャネルとして「１」、「２」、「３」の何れかの値を求めるため、製造番号を３で割った余りに１を加えて１〜３の何れかの値となるようにしている。この場合、各ＩＣカードの固有情報を用いるために、結果としてアクセス許可条件となるロジカルチャネルも固定な値となる。これに対して、図８に示す例では、照合あるいは認証処理等のために用いる乱数データをもとにした演算処理を経てアクセス許可条件とするロジカルチャネルの値として１〜３の何れかの値を求めている。したがって、図８に示す例では、認証処理などの乱数の授受が行われる度に異なったロジカルチャネルがアクセス許可条件となるため、セイキュリティ性をさらに向上させることができる。
【００６４】
次に、第２のアクセス方法について説明する。  
この第２のアクセス方法は、秘密ファイルに対するアクセス許可条件として、特定のロジカルチャネルで特定のアクセスキーとしての鍵データの照合が成功していることを条件とするものである。つまり、第２のアクセス方法は、特定のロジカルチャネルで、アクセスキーとしての所定の鍵データの照合が成功した場合にのみ、秘密ファイルへのアクセスを可能とするものである。
【００６５】
また、秘密ファイルのアクセス許可条件として鍵データの照合を実行すべきロジカルチャネルは、上記第１のアクセス方法で説明したロジカルチャネルの決定方法が適用できる。つまり、アクセス許可条件として鍵データの照合を実行すべきロジカルチャネルは、各秘密ファイルごとに予め固定的に決めておくようにしても良いし、認証処理に用いられる乱数などの変数に基づく所定の演算処理により決定するようにしても良い。
【００６６】
第２のアクセス方法において、ファイル選択コマンドに対する処理は、基本的に図４に示す流れで実行される。すなわち、第２のアクセス方法としては、図４に示すステップＳ１４及びＳ１５の処理以外の説明は、上記第１のアクセス方法で説明した処理と同様な処理で実現できる。ただし、ここでは、ファイル選択コマンドは、任意のロジカルチャネルで受信したものとする。
【００６７】
すなわち、第２のアクセス方法では、図４に示すステップＳ１４におけるアクセス許可条件を特定する処理として、どのロジカルチャネルでどの鍵の照合が成功していることが必要かを特定する。たとえば、鍵データの照合を実行すべきロジカルチャネルが予め設定されている場合、ＣＰＵ１１は、当該設定内容を読み出す。また、鍵データの照合を実行すべきロジカルチャネルを演算処理により算出する場合、ＣＰＵ１１は、鍵データの照合を実行すべきロジカルチャネルを演算処理により決定する。
【００６８】
また、指定された秘密ファイルへのアクセス許可条件として鍵データの照合を実行すべきロジカルチャネルを特定すると、ＣＰＵ１１は、図４に示すステップＳ１５におけるアクセス許可条件を満たすか否かの判断として、特定されたロジカルチャネルでの鍵データの照合が成功済みであるか否かを判断する。この判断により特定されたロジカルチャネルでの鍵データの照合が成功していないと判断した場合、ＣＰＵ１１は、指定されたファイルＩＤのファイルが存在しないものとし、指定ファイルが存在しない旨の応答コードを出力する。また、特定されたロジカルチャネルでの鍵データの照合が成功していると判断した場合、ＣＰＵ１１は、指定されたファイルを選択する。
【００６９】
なお、上述した第２のアクセス方法では、秘密ファイルの選択を要求するファイル選択コマンドは、任意のロジカルチャネルで受信することを想定している。つまり、上述の第２のアクセス方法では、ファイル選択コマンドを受信する場合のロジカルチャネルは任意のチャネルで良いものとしている。ただし、第２のアクセス方法は、第１のアクセス方法と組み合わせて実施することも可能である。
【００７０】
すなわち、第１のアクセス方法で説明したような特定のロジカルチャネルで秘密ファイルの選択を要求するファイル選択コマンドを受信し、かつ、第２のアクセス方法で説明したような特定のロジカルチャネルでアクセスキーとしての鍵データの照合が成功済みであれば、ＩＣカード１は、ファイル選択コマンドで指定された秘密ファイルが選択されるようにしても良い。逆に言えば、第１のアクセス方法で説明したような特定のロジカルチャネル以外でファイル選択コマンドを受信した場合、あるいは、第２のアクセス方法で説明したような特定のロジカルチャネルでの鍵データの照合が成功してない場合、ＩＣカード１は、ファイル選択コマンドで指定されたファイルを選択不可とし、外部装置に指定されたファイル無しを通知するようにしても良い。
【００７１】
また、上述した第２のアクセス方法では、特定のロジカルチャネルで特定の鍵の照合が成功していることを秘密ファイルを選択状態（アクセス可能な状態）にするためのアクセス許可条件としている。これ加えて、アクセス許可条件として設定されている特定のロジカルチャネル以外で特定の鍵の照合が行われた場合には、当該秘密ファイルへのアクセスを不能とするような設定としても良い。これは、不正らしいアクセスを受けそうになった秘密ファイルをアクセス不能とすることにより当該秘密ファイルに対するセキュリティ性を向上させるものである。
【００７２】
次に、上記第２のアクセス方法の具体例として、秘密ファイルに対するアクセスが許可される場合の動作例について説明する。ここでは、図３に示すファイルＩＤが「２３４５ｈ」のファイルＢを秘密ファイルとし、ファイルＢにはロジカルチャネル「２」で鍵Ｘの照合が成功している状態でのみアクセス可能と設定されている場合を想定するものとする。
【００７３】
図９は、ロジカルチャネル「２」で鍵Ｘの照合を行った後、ファイルＩＤ「２３４５ｈ」を指定するファイル選択コマンドを受信した場合の動作例を示している。これに対して、図１０は、ロジカルチャネル「０」で鍵Ｘの照合を行った後、ファイルＩＤ「２３４５ｈ」を指定するファイル選択コマンドを受信した場合の動作例を示している。
【００７４】
まず、図９に示す動作例において、ＩＣカード１では、ロジカルチャネル「２」での鍵Ｘの照合処理を実行し（ステップＳ６１）、その照合処理が成功したものとする。この場合、ＩＣカード１のＣＰＵ１１は、その照合結果として鍵Ｘの照合が成功したことを示す応答コードをＩＣカード処理装置２へ出力する（ステップＳ６２）。また、ロジカルチャネル「２」で鍵Ｘの照合が成功したことを示す情報は、ワーキングメモリ１３に記憶される。このようなワーキングメモリ１３に記憶する情報により、ＩＣカード１では、どのロジカルチャネルでどの鍵の照合が成功したかを判別できるようになっている。
【００７５】
その後、ＩＣカード１のＣＰＵ１１は、ＩＣカード処理装置２からロジカルチャネル「２」でファイルＩＤ「２３４５ｈ」を指定するファイル選択コマンドを受信したものとする（ステップＳ６３）。ここで、上記ファイル選択コマンドで指定されたファイルＩＤ「２３４５ｈ」のファイルＢは、アクセス許可条件が設定されている秘密ファイルである。このため、ＩＣカード１のＣＰＵ１１は、当該ファイル（秘密ファイル）に設定されているアクセス許可条件を特定する。ここでは、ファイルＩＤ「２３４５ｈ」のファイルＢには、ロジカルチャネル「２」で鍵Ｘが照合成功していることがアクセス許可条件として設定されているものとする。
【００７６】
従って、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「２３４５ｈ」のファイルＢに対するアクセス許可条件としてのロジカルチャネル「２」での鍵Ｘの照合が成功済みであることを確認する（ステップＳ６４）。なお、アクセス許可条件として、第１のアクセス方法で説明したようなファイル選択コマンドを受信するロジカルチャネルも設定されている場合、上記ステップＳ６４では、ファイル選択コマンドを受信したロジカルチャネルがアクセス許可条件としての特定のロジカルチャネルであるかも確認する。
【００７７】
このような確認結果に基づいて、ＩＣカード１は、当該ファイルＩＤ「２３４５ｈ」のファイルを選択し（ステップＳ６５）、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答を出力する（ステップＳ６６）。この状態において、当該ＩＣカード１は、ファイルＩＤ「２３４５ｈ」のファイルを選択状態としてアクセス可能とする（ステップＳ６７）。たとえば、選択したファイルに対する読出しコマンドを受けた場合、当該ＩＣカード１は、ファイルＩＤ「２３４５ｈ」のファイルに対する読出し処理を行う。
【００７８】
これに対して、図１０に示す動作例では、ＩＣカード１は、ロジカルチャネル「０」での鍵Ｘの照合処理を実行し（ステップＳ７１）、その照合処理が成功したものとしている。この場合、ＩＣカード１のＣＰＵ１１は、その照合結果として鍵Ｘの照合が成功したことを示す応答コードをＩＣカード処理装置２へ出力する（ステップＳ７２）。また、ロジカルチャネル「０」で鍵Ｘの照合が成功したことを示す情報は、ワーキングメモリ１３に記憶される。このようなワーキングメモリ１３に記憶する情報により、ＩＣカード１では、どのロジカルチャネルでどの鍵の照合が成功したかを判別できるようになっている。
【００７９】
その後、ＩＣカード１のＣＰＵ１１は、ＩＣカード処理装置２からファイルＩＤ「２３４５ｈ」を指定するファイル選択コマンドを受信したものとする（ステップＳ７３）。上記ファイルＩＤ「２３４５ｈ」のファイルＢは、ロジカルチャネル「２」で鍵Ｘが照合成功していることがアクセス許可条件として設定されている秘密ファイルである。この場合は鍵Ｘの照合が成功したのはロジカルチャネル「０」であるため、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「２３４５ｈ」のファイルＢに対するアクセス許可条件としてのロジカルチャネル「２」での鍵Ｘの照合が実行済みでないことを確認する（ステップＳ７４）。
【００８０】
このような確認結果に基づいて、ＩＣカード１のＣＰＵ１１は、当該ファイルＩＤ「２３４５ｈ」のファイルを選択不可とし（ステップＳ７５）、上記ファイル選択コマンドに対する処理結果として指定されたファイル無しを示す応答を出力する（ステップＳ７６）。これにより、当該ＩＣカード１のＣＰＵ１１は、ファイル選択コマンドの送信元としてのＩＣカード処理装置２に対して、指定されたファイルＩＤ「２３４５ｈ」のファイルを選択不可（アクセス不可）とするだけでなく、秘匿することができる。
【００８１】
次に、第３のアクセス方法について説明する。  
この第３のアクセス方法は、秘密ファイルに対するアクセス許可条件として、２つの条件で鍵データの照合が成功していることを条件とする。つまり、第３のアクセス方法では、第１のロジカルチャネルで第１のアクセスキーとしての鍵データの照合が成功し、かつ、第２のロジカルチャネルで第２のアクセスキーとしての鍵データの照合が成功した場合にのみ、秘密ファイルへのアクセスを可能とするものである。
【００８２】
また、秘密ファイルのアクセス許可条件として各種の鍵データの照合を実行すべきそれぞれのロジカルチャネルは、上記第１のアクセス方法で説明したロジカルチャネルの決定方法が適用できる。つまり、アクセス許可条件として各種の鍵データの照合を実行すべき各ロジカルチャネルは、各秘密ファイルごとに予め固定的に決めておくようにしても良いし、認証処理に用いられる乱数などの変数に基づく所定の演算処理により決定するようにしても良い。
【００８３】
第３のアクセス方法において、ファイル選択コマンドに対する処理は、基本的に図４に示す流れで実行される。すなわち、第３のアクセス方法としては、図４に示すステップＳ１４及びＳ１５の処理以外の説明は、上記第１のアクセス方法で説明した処理と同様な処理で実現できる。ただし、ここでは、ファイル選択コマンドは、任意のロジカルチャネルで受信するものとする。
【００８４】
すなわち、第３のアクセス方法では、図４に示すステップＳ１４におけるアクセス許可条件を特定する処理として、どのロジカルチャネルでのどの鍵の照合が成功していることが必要かを特定する。たとえば、各鍵の照合を実行すべき各ロジカルチャネルが予め設定されている場合、ＣＰＵ１１は、当該設定内容を読み出す。また、各鍵の照合を実行すべき各ロジカルチャネルを演算処理により算出する場合、ＣＰＵ１１は、各鍵の照合を実行すべき各ロジカルチャネルをそれぞれ演算処理により決定する。
【００８５】
また、指定された秘密ファイルへのアクセス許可条件として各鍵データの照合を実行すべき各ロジカルチャネルを特定すると、ＣＰＵ１１は、図４に示すステップＳ１５におけるアクセス許可条件を満たすか否かの判断として、特定された各ロジカルチャネルで各鍵データの照合が成功済みであるか否かを判断する。この判断により特定された各ロジカルチャネルでの各鍵データの照合が成功していないと判断した場合、ＣＰＵ１１は、指定されたファイルＩＤのファイルを選択不可とするとともに、当該指定ファイルが存在しない旨の応答コードを出力する。また、特定された各ロジカルチャネルでの各鍵データの照合が成功していると判断した場合、ＣＰＵ１１は、指定されたファイルを選択する。
【００８６】
なお、上述した第３のアクセス方法では、秘密ファイルの選択を要求するファイル選択コマンドは、任意のロジカルチャネルで受信することを想定している。つまり、上述の第３のアクセス方法では、ファイル選択コマンドを受信する場合のロジカルチャネルは任意のチャネルで良いものとしている。ただし、第３のアクセス方法は、第１のアクセス方法と組み合わせて実施することも可能である。
【００８７】
すなわち、第１のアクセス方法で説明したような特定のロジカルチャネルで秘密ファイルの選択を要求するファイル選択コマンドを受信し、かつ、第３のアクセス方法で説明したような特定の各ロジカルチャネルでアクセスキーとしての各鍵データの照合が成功済みであれば、ＩＣカード１は、ファイル選択コマンドで指定された秘密ファイルが選択されるようにしても良い。逆に言えば、第１のアクセス方法で説明したような特定のロジカルチャネル以外でファイル選択コマンドを受信した場合、あるいは、第３のアクセス方法で説明したような特定のロジカルチャネルでの鍵データの照合が成功してない場合、ＩＣカード１は、ファイル選択コマンドで指定されたファイルを選択不可とし、外部装置に指定されたファイル無しを通知するようにしても良い。
【００８８】
次に、上記第３のアクセス方法の具体例として、秘密ファイルに対するアクセスが許可される場合の動作例について説明する。ここでは、図３に示すファイルＩＤが「７ＦＦＦｈ」のファイルＣを秘密ファイルとし、ファイルＣにはロジカルチャネル「２」で鍵Ｘの照合が成功し、かつ、ロジカルチャネル「１」で鍵Ｙの照合が成功している状態でのみアクセス可能と設定されている場合を想定するものとする。
【００８９】
図１１は、ロジカルチャネル「２」での鍵Ｘの照合およびロジカルチャネル「１」での鍵Ｙの照合が成功した後、ファイルＩＤ「７ＦＦＦｈ」を指定するファイル選択コマンドを受信した場合の動作例を示している。これに対して、図１２は、ロジカルチャネル「０」で鍵Ｘの照合を行った後、ファイルＩＤ「２３４５ｈ」を指定するファイル選択コマンドを受信した場合の動作例を示している。
【００９０】
まず、図１１に示す動作例において、ＩＣカード１では、ＩＣカード処理装置２からのコマンドに応じて、ロジカルチャネル「２」での鍵Ｘの照合処理を実行し（ステップＳ８１）、その照合処理が成功したものとする。この場合、ＩＣカード１のＣＰＵ１１は、その照合結果として鍵Ｘの照合が成功したことを示す応答コードをＩＣカード処理装置２へ出力する（ステップＳ８２）。ロジカルチャネル「２」で鍵Ｘの照合が成功したことを示す情報は、ワーキングメモリ１３に記憶される。
【００９１】
さらに、ＩＣカード１では、ＩＣカード処理装置２からのコマンドに応じて、ロジカルチャネル「１」での鍵Ｙの照合処理を実行し（ステップＳ８３）、その照合処理が成功したものとする。この場合、ＩＣカード１のＣＰＵ１１は、その照合結果として鍵Ｙの照合が成功したことを示す応答コードをＩＣカード処理装置２へ出力する（ステップＳ８４）。ロジカルチャネル「１」で鍵Ｘの照合が成功したことを示す情報は、ワーキングメモリ１３に記憶される。
【００９２】
図１１に示す例では、上記ステップＳ８１〜Ｓ８４の処理によりワーキングメモリ１３には、ロジカルチャネル「２」で鍵Ｘの照合が成功したことと、ロジカルチャネル「１」で鍵Ｙの照合が成功したこととが記憶される。
【００９３】
その後、ＩＣカード１のＣＰＵ１１は、ＩＣカード処理装置２からファイルＩＤ「７ＦＦＦｈ」を指定するファイル選択コマンドを受信したものとする（ステップＳ８５）。ここで、上記ファイル選択コマンドで指定されたファイルＩＤ「７ＦＦＦｈ」のファイルＣは、アクセス許可条件が設定されている秘密ファイルである。このため、ＩＣカード１のＣＰＵ１１は、当該ファイル（秘密ファイル）に設定されているアクセス許可条件を特定する。ここでは、ファイルＩＤ「７ＦＦＦｈ」のファイルＣには、ロジカルチャネル「２」での鍵Ｘの照合とロジカルチャネル「１」での鍵Ｙの照合とが共に成功していることがアクセス許可条件として設定されているものとする。
【００９４】
従って、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「７ＦＦＦｈ」のファイルＣに対するアクセス許可条件としてのロジカルチャネル「２」での鍵Ｘの照合が成功済みであることとロジカルチャネル「１」での鍵Ｙの照合が成功済みであることとを確認する（ステップＳ８６）。なお、アクセス許可条件として、第１のアクセス方法で説明したようなファイル選択コマンドを受信するロジカルチャネルも設定されている場合、上記ステップＳ８６では、ファイル選択コマンドを受信したロジカルチャネルがアクセス許可条件としての特定のロジカルチャネルであるかも確認する。
【００９５】
このような確認結果に基づいて、ＩＣカード１のＣＰＵ１１は、当該ファイルＩＤ「７ＦＦＦｈ」のファイルを選択し（ステップＳ８７）、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答を出力する（ステップＳ８８）。この状態において、当該ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「７ＦＦＦｈ」のファイルを選択状態としてアクセス可能とする（ステップＳ８９）。たとえば、選択したファイルに対する読出しコマンドを受けた場合、当該ＩＣカード１では、ファイルＩＤ「７ＦＦＦｈ」のファイルに対する読出し処理を行う。
【００９６】
これに対して、図１２に示す動作例では、ＩＣカード１は、ＩＣカード処理装置２からのコマンドに応じて、ロジカルチャネル「０」での鍵Ｘの照合処理を実行する（ステップＳ９１）。この照合処理が成功した場合、ＩＣカード１のＣＰＵ１１は、鍵Ｘの照合が成功したことを示す応答コードをＩＣカード処理装置２へ出力する（ステップＳ９２）。この場合、ロジカルチャネル「０」で鍵Ｘの照合が成功したことを示す情報は、ワーキングメモリ１３に記憶される。
【００９７】
さらに、ＩＣカード１は、ＩＣカード処理装置２からのコマンドに応じて、ロジカルチャネル「０」での鍵Ｙの照合処理を実行する（ステップＳ９３）。この照合処理が成功した場合、ＩＣカード１のＣＰＵ１１は、鍵Ｙの照合が成功したことを示す応答コードをＩＣカード処理装置２へ出力する（ステップＳ９４）。この場合、ロジカルチャネル「０」で鍵Ｙの照合が成功したことを示す情報は、ワーキングメモリ１３に記憶される。
【００９８】
図１２に示す例では、上記ステップＳ８１〜Ｓ８４の処理によりワーキングメモリ１３には、ロジカルチャネル「０」で鍵Ｘの照合が成功したことと、ロジカルチャネル「０」で鍵Ｙの照合が成功したこととが記憶される。
【００９９】
その後、ＩＣカード１のＣＰＵ１１は、ＩＣカード処理装置２からファイルＩＤ「７ＦＦＦｈ」を指定するファイル選択コマンドを受信したものとする（ステップＳ８５）。上記ファイルＩＤ「７ＦＦＦｈ」のファイルＣは、ロジカルチャネル「２」での鍵Ｘの照合とロジカルチャネル「１」での鍵Ｙの照合とが共に成功していることがアクセス許可条件として設定されている秘密ファイルである。図１２に示す例では、鍵Ｘ及び鍵Ｙの照合が成功したのは共にロジカルチャネル「０」である。このため、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「７ＦＦＦｈ」のファイルＣに対するアクセス許可条件としてのロジカルチャネル「２」での鍵Ｘの照合およびロジカルチャネル「１」での鍵Ｙの照合が実行済みでないことを確認する（ステップＳ９６）。
【０１００】
このような確認結果に基づいて、ＩＣカード１のＣＰＵ１１は、当該ファイルＩＤ「７ＦＦＦｈ」のファイルを選択不可とし（ステップＳ９７）、上記ファイル選択コマンドに対する処理結果として指定されたファイル無しを示す応答を出力する（ステップＳ９８）。これにより、当該ＩＣカード１のＣＰＵ１１は、ファイル選択コマンドの送信元としてのＩＣカード処理装置２に対して、指定されたファイルＩＤ「７ＦＦＦｈ」のファイルを選択不可（アクセス不可）とするだけでなく、秘匿することができる。
【０１０１】
また、上述した第３のアクセス方法では、複数の鍵に対する照合がそれぞれ特定のロジカルチャネルで成功していることをアクセス許可条件としている。ただし、上述したアクセス許可条件とは異なる条件設定として、秘密ファイルに対しては、特定のロジカルチャネル以外で特定の鍵の照合が行われた場合には当該秘密ファイルへのアクセスを不可とするような条件を設定するようにしても良い。このような処理も、ステップＳ１４で秘密ファイルに対する条件を特定し、特定した条件が満たされているか否かにより当該秘密ファイルの選択を可能とするか否かを判断することにより実現できる。
【０１０２】
上記第１から第３のアクセス方法では、秘密ファイルに対するアクセス許可条件を設定し、アクセス許可条件が満たされない場合には当該秘密ファイルが存在しない旨の応答を出力する。このようなアクセス方法は、１つのファイル内に格納される各レコードにも適用することが可能である。つまり、複数のレコードを格納しているファイルについては、個々のレコードに対するアクセス制御が可能である。このため、各レコードに対しても上記のようなアクセス許可条件を設定しておき、上記第１〜第３のアクセス方法と同様なアクセス制御を行うようにしても良い。
【０１０３】
次に、第４〜第６のアクセス方法について説明する。  
第４〜第６のアクセス方法は、上記第１〜第３のアクセス方法と同様に、図１及び図２に示すようなＩＣカード１及びＩＣカード処理システムに適用される。第４〜第６のアクセス方法では、秘密ファイルに対応づけたアクセス制御用のファイルが設定される。アクセス制御用のファイルは、各秘密ファイルごとに対応づけれる。なお、以下の説明では、アクセス制御用のファイルは、ダミーファイルとも称するものとする。
【０１０４】
図１３は、データメモリ１４に記憶される各種ファイルのファイル構造の第２の具体例を示す図である。  
図１３に示す例では、ＭＦは、階層構造の最上位階層のＭＦの直下に、ＥＦとしてのファイルＡ、ファイルＢ、ファイルＣ、ファイルＡ´、ファイルＢ´、ファイルＣ´が設けられている。また、ＭＦの直下にはＤＦも設けられ、このＤＦに属するＥＦとしては、ファイルＤ、ファイルＥ、ファイルＦが設けられている。上記ファイルＡ、ファイルＢ、ファイルＣ、ファイルＤ、ファイルＥ、ファイルＦは、それぞれファイルＩＤが１０００ｈ、２３４５ｈ、７ＦＦＦｈ、８０００ｈ、Ａ０００ｈ、ＢＦＦＦｈに設定されている。
【０１０５】
また、図１３に示す例において、ファイルＡ´、ファイルＢ´、ファイルＣ´は、それぞれ秘密ファイルとしてのファイルＡ、ファイルＢ、ファイルＣに対するアクセス制御用のファイルとしてのダミーファイルであるものとする。たとえば、ファイルＡ´、ファイルＢ´、ファイルＣ´は、それぞれファイルＡ、ファイルＢ、ファイルＣに対応するダミーファイルであるものとする。
【０１０６】
次に、第４のアクセス方法について説明する。  
この第４のアクセス方法は、秘密ファイルに対して、対となるファイル（ダミーファイル）を設定しておき、対となるダミーファイルが選択された後でのみ、秘密ファイルを選択可能とするものである。たとえば、図１３に示すファイル構成において、ファイルＡ、ファイルＢ、ファイルＣには、対となるダミーファイルとして、それぞれファイルＡ´、ファイルＢ´、ファイルＣ´が設定されるものとする。この場合、たとえば、ファイルＡを選択するためには、まず、ファイルＡ´を選択し、ファイルＡ´を選択した状態からファイルＡの選択処理を実行する。すなわち、ファイルＡへのアクセス許可条件は、対応するダミーファイルとしてのファイルＡ´が選択状態であることである。
【０１０７】
なお、第４のアクセス方法では、秘密ファイル（たとえば、ファイルＡ）へのアクセス許可条件としては、ダミーファイルが選択状態であることを条件としても良いし、秘密ファイルの選択を要求するコマンドの直前のコマンドでダミーファイルが選択されていることを条件としても良い。
【０１０８】
次に、第４のアクセス方法としての秘密ファイルの選択処理について説明する。
【０１０９】
第４のアクセス方法のファイル選択コマンドに対する処理は、基本的に図４に示す流れで実行される。すなわち、第４のアクセス方法としては、図４に示すステップＳ１４及びＳ１５の処理以外の説明は、上記第１のアクセス方法で説明した処理と同様な手順で実現できる。
【０１１０】
すなわち、第４のアクセス方法では、図４に示すステップＳ１４におけるアクセス許可条件を特定する処理として、指定ファイルを選択する前に選択しておくべきファイルを特定する。たとえば、ＩＣカード１のＣＰＵ１１は、受信したコマンドで指定された秘密ファイルに対応するダミーファイルの設定内容をプログラムメモリ１２あるいはデータメモリ１４から読み出す。
【０１１１】
指定された秘密ファイルへのアクセス許可条件として選択しておくべきダミーファイルを特定すると、ＣＰＵ１１は、図４に示すステップＳ１５におけるアクセス許可条件を満たすか否かの判断として、特定したダミーファイルが選択されているか否かを判断する。この判断によりアクセス許可条件としてのダミーファイルが選択されていないと判断した場合、ＣＰＵ１１は、指定されたファイルＩＤのファイルが存在しないものとし、指定ファイルが存在しない旨の応答コードを出力する。また、アクセス許可条件としてのダミーファイルが選択されていると判断した場合、ＣＰＵ１１は、指定されたファイル（秘密ファイル）を選択する。
【０１１２】
なお、上述した第４のアクセス方法では、秘密ファイルの選択を要求するファイル選択コマンドあるいはダミーファイルを選択するコマンドは、任意のロジカルチャネルで受信することを想定している。つまり、上述の第４のアクセス方法では、ロジカルチャネルによる秘密ファイルへのアクセス制御は行っていないものとしている。ただし、第４のアクセス方法は、第１〜第３のアクセス方法と組み合わせて実施することも可能である。
【０１１３】
たとえば、アクセス許可条件としては、上記のようなダミーファイルの設定に加えて、秘密ファイルの選択を要求するコマンドが特定のロジカルチャネルで受信することを条件としても良いし、ダミーファイルの選択を要求するコマンドが特定のロジカルチャネルで受信することを条件としても良い。また、上述した第２のアクセス方法で説明しような特定のロジカルチャネルで特定の鍵の照合が成功していることも、アクセス許可条件として加えても良い。さらには、上述した第３のアクセス方法で説明したような複数の鍵に対する照合がそれぞれ特定のロジカルチャネルで成功していることも、アクセス許可条件として加えても良い。
【０１１４】
次に、上記第４のアクセス方法の具体例として、秘密ファイルに対するアクセスが許可される場合の動作例について説明する。ここでは、図１３に示すファイルＩＤが「１０００ｈ」のファイルＡを秘密ファイルとし、ファイルＡには対応するダミーファイルとしてのファイルＡ´が選択されていることがアクセス許可条件として設定されている場合を想定するものとする。
【０１１５】
図１４は、ファイルＡ´を選択した後にファイルＡの選択を要求するファイル選択コマンドを受信した場合の動作を示している。これに対して、図１５は、ファイルＡ´が選択されていない状態でファイルＡの選択を要求するファイル選択コマンドを受信した場合の動作を示している。
【０１１６】
すなわち、図１４に示すように、ＩＣカード処理装置２からファイルＩＤ「１００１ｈ」を指定するファイル選択コマンドを受信した場合（ステップＳ１０１）、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「１００１ｈ」のファイルＡ´（ファイルＡに対応するダミーファイル）を選択する（ステップＳ１０２）。ファイルＩＤ「１００１ｈ」のファイルＡ´を選択すると、ＩＣカード１のＣＰＵ１１は、ファイルＡ´の選択処理が正常に終了したことを示す応答コードを含む応答電文をＩＣカード処理装置２へ出力する（ステップＳ１０３）。
【０１１７】
この状態においてファイルＩＤ「１０００ｈ」を指定するファイル選択コマンドを受信した場合（ステップＳ１０４）、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「１０００ｈ」のファイルＡ（秘密ファイル）に設定されているアクセス許可条件として、ファイルＡに対応するダミーファイルを特定する。ここでは、ファイルＩＤ「１０００ｈ」のファイルＡには、ダミーファイルとしてファイルＩＤ「１００１ｈ」のファイルＡ´がアクセス許可条件として設定されている。したがって、この場合、ＩＣカード１のＣＰＵ１１は、指定されたファイルＩＤ「１０００ｈ」のファイルＡに対するアクセス許可条件としてのファイルＩＤ「１００１ｈ」のファイルＡ´が選択されていることを確認する（ステップＳ１０５）。
【０１１８】
この確認結果に基づいて、ＩＣカード１のＣＰＵ１１は、当該ファイルＩＤ「１０００ｈ」のファイルＡを選択し（ステップＳ１０６）、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答コードを含む応答電文をＩＣカード処理装置２へ出力する（ステップＳ１０７）。この状態において、当該ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「１０００ｈ」のファイルＡを選択状態としてアクセス可能とする（ステップＳ１０８）。たとえば、選択したファイルＡに対する読出しコマンドを受けた場合、当該ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「１０００ｈ」のファイルに対する読出し処理を行う。
【０１１９】
これに対して、図１５に示すように、ファイルＩＤ「１００１ｈ」のファイルＡ´が選択されていない状態でファイルＩＤ「１０００ｈ」を指定するファイル選択コマンドを受信した場合（ステップ１１１）、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「１０００ｈ」のファイル（秘密ファイル）に設定されているアクセス許可条件としてのファイルＩＤ「１００１ｈ」のファイルＡ´が選択されていないことを確認する（ステップＳ１１２）。この確認結果に基づいて、ＩＣカード１のＣＰＵ１１は、当該ファイルＩＤ「１０００ｈ」のファイルＡを選択不可と判別し、当該ファイルＩＤ「１０００ｈ」のファイルＡを秘匿する（ステップＳ１１３、Ｓ１１４）。
【０１２０】
すなわち、受信したファイル選択コマンドで指定されたファイルＩＤ「１０００ｈ」のファイル（秘密ファイル）Ａに対するアクセス許可条件が満たされていない場合、ＩＣカード１のＣＰＵ１１は、上記ファイル選択コマンドに対する処理結果として指定されたファイル無しを示す応答コードを含む応答電文をＩＣカード処理装置２へ出力する（ステップＳ１１３）。これにより、当該ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「１０００ｈ」のファイルＡをアクセス不可（選択不可）とするとともに、当該コマンドの送信元としてのＩＣカード処理装置２に対しては秘匿する（ステップＳ１１４）。
【０１２１】
上記のように、第４のアクセス方法では、秘密にしたいファイルに対してアクセスを許可するためのダミーファイルを設定しておく。秘密ファイルに対応するダミーファイルが選択されている状態でのみ、当該秘密ファイルを選択可能とするものである。これにより、第４のアクセス方法は、予め設定されているダミーファイルが選択された場合にのみ、秘密ファイルへのアクセスを許可し、ダミーファイルが選択されていない場合には秘密ファイルを秘匿するようなアクセス制御が可能である。
【０１２２】
次に、第５のアクセス方法について説明する。  
この第５のアクセス方法は、秘密ファイルに対して、対となるファイル（ダミーファイル）を設定しておき、ダミーファイルに対して予め決められている処理を実行した後でのみ、秘密ファイルを選択可能とするものである。たとえば、図１３に示すファイル構成において、秘密ファイルとしてのファイルＡ、ファイルＢ、ファイルＣに対するダミーファイルとしてファイルＡ´、ファイルＢ´、ファイルＣ´が設定される場合、各秘密ファイルに対するアクセス許可条件としては、ダミーファイルだけでなく、ダミーファイルに対して実施すべき処理内容が設定される。たとえば、ファイルＡには、アクセス許可条件として、ダミーファイルとしてのファイルＡ´の所定レコード（あるいは所定アドレス領域）に所定のデータが書き込まれることが設定される。
【０１２３】
上記のように、第５のアクセス方法では、秘密ファイル（たとえば、ファイルＡ）へのアクセス許可条件としては、対応するダミーファイル（例えばファイルＡ´）に対して所定のアクセス要求コマンド（読出しコマンド、書込みコマンドあるいは書換えコマンド）を実行することを条件とする。ただし、第５のアクセス方法では、秘密ファイル（たとえば、ファイルＡ）へのアクセス許可条件は、秘密ファイルに対するダミーファイルに対する所定のアクセス要求コマンドが実行済みであることを条件としても良し、秘密ファイルの選択を要求するコマンドの直前のコマンドでダミーファイルに対する所定のアクセス要求コマンドが実行されることを条件としても良い。
【０１２４】
次に、第５のアクセス方法としての秘密ファイルの選択処理について説明する。
【０１２５】
第５のアクセス方法のファイル選択コマンドに対する処理は、基本的に図４に示す流れで実行される。すなわち、第４のアクセス方法としては、図４に示すステップＳ１４及びＳ１５の処理以外の説明は、上記第１のアクセス方法で説明した処理とほぼ同様な手順で実現できる。
【０１２６】
すなわち、第５のアクセス方法では、図４に示すステップＳ１４におけるアクセス許可条件を特定する処理として、指定ファイルを選択する前に選択しておくべきファイルを特定する。たとえば、ＩＣカード１のＣＰＵ１１は、受信したコマンドで指定された秘密ファイルに対応するダミーファイルと、当該ダミーファイルに実行すべき処理内容とをアクセス許可条件としてプログラムメモリ１２あるいはデータメモリ１４から読み出す。
【０１２７】
指定された秘密ファイルへのアクセス許可条件としてのダミーファイルと処理内容とを特定すると、ＣＰＵ１１は、図４に示すステップＳ１５におけるアクセス許可条件を満たすか否かの判断として、特定したダミーファイルが選択され、かつ、当該ダミーファイルに対して所定の処理内容が実行されているか否かを判断する。この判断によりアクセス許可条件としてのダミーファイルが選択されていないと判断した場合、あるいは、アクセス許可条件としてのダミーファイルへの所定内容の処理が実行されていないと判断した場合、ＣＰＵ１１は、指定されたファイルＩＤのファイルが存在しないものとし、指定ファイルが存在しない旨の応答コードを含む応答電文をＩＣカード処理装置２へ出力する。また、アクセス許可条件としてのダミーファイルが選択され、かつ、当該ダミーファイルに対して所定内容の処理が実行されていると判断した場合、ＣＰＵ１１は、指定されたファイル（秘密ファイル）を選択する。
【０１２８】
なお、上述した第５のアクセス方法では、秘密ファイルの選択を要求するファイル選択コマンドあるいはダミーファイルを選択するコマンドは、任意のロジカルチャネルで受信することを想定している。つまり、上述の第５のアクセス方法では、ロジカルチャネルによる秘密ファイルへのアクセス制御は行っていないものとしている。ただし、第５のアクセス方法は、第１〜第３のアクセス方法と組み合わせて実施することも可能である。
【０１２９】
たとえば、アクセス許可条件としては、上記のようなダミーファイルとダミーファイルへの処理内容との設定に加えて、秘密ファイルの選択を要求するコマンドが特定のロジカルチャネルで受信することを条件としても良いし、ダミーファイルに対する所定の処理を要求するコマンドが特定のロジカルチャネルで受信することを条件としても良い。また、上述した第２のアクセス方法で説明しような特定のロジカルチャネルで特定の鍵の照合が成功していることも、アクセス許可条件として加えても良い。さらには、上述した第３のアクセス方法で説明したような複数の鍵に対する照合がそれぞれ特定のロジカルチャネルで成功していることも、アクセス許可条件として加えても良い。
【０１３０】
次に、上記第５のアクセス方法の具体例として、秘密ファイルに対するアクセスが許可される場合の動作例について説明する。ここでは、図１３に示すファイルＩＤが「２３４５ｈ」のファイルＢを秘密ファイルとし、ファイルＢには対応するダミーファイルとしてのファイルＩＤ「３４５６ｈ」のファイルＢ´が選択されていることがアクセス許可条件として設定されている場合を想定するものとする。
【０１３１】
図１６は、ファイルＢ´を選択した後にファイルＢの選択を要求するファイル選択コマンドを受信した場合の動作を示している。これに対して、図１７は、ファイルＢ´が選択されていない状態でファイルＢの選択を要求するファイル選択コマンドを受信した場合の動作を示している。また、図１８は、ファイルＢ´が選択されているもののファイルＢ´に対する所定の処理が実行されていない状態でファイルＢの選択を要求するファイル選択コマンドを受信した場合の動作を示している。
【０１３２】
すなわち、図１６に示すように、ＩＣカード処理装置２からファイルＩＤ「３４５６ｈ」を指定するファイル選択コマンドを受信した場合（ステップＳ１２０）、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「３４５６ｈ」のファイルＢ´（ファイルＢに対応するダミーファイル）を選択する（ステップＳ１２１）。ファイルＩＤ「３４５６ｈ」のファイルＢ´を選択すると、ＩＣカード１のＣＰＵ１１は、ファイルＢ´の選択処理が正常に終了したことを示す応答コードを含む応答電文をＩＣカード処理装置２へ出力する（ステップＳ１２２）。
【０１３３】
この状態において、ＩＣカード１のＣＰＵ１１は、選択されたファイル（ファイルＢ´）における指定のレコード（以下、レコード１とする）へのデータ書込みコマンドを受信したものとする（ステップＳ１２３）。ここでは、データ書込みコマンドは、当該ＩＣカード１の固有情報（たとえば、ＩＣカードの製造番号など）を指定レコードに書込むことを要求するコマンドであるものとする。このようなデータ書込みコマンドを受信すると、当該ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「３４５６ｈ」のファイルＢ´（ファイルＢに対応するダミーファイル）におけるレコード１に指定されたＩＣカードの固有情報を書き込む（ステップＳ１２４）。ファイルＢ´のレコード１にデータを書き込むと、ＩＣカード１のＣＰＵ１１は、当該データ書込みコマンドで要求された処理が正常に終了したことを示す応答コードを含む応答電文をＩＣカード処理装置２へ出力する（ステップＳ１２５）。
【０１３４】
この状態においてファイルＩＤ「２３４５ｈ」を指定するファイル選択コマンドを受信した場合（ステップＳ１２６）、ＩＣカード１のＣＰＵ１１は、指定されたファイルＩＤ「２３４５ｈ」のファイルＢ（秘密ファイル）に対するアクセス許可条件として、ダミーファイルとダミーファイルに対して実行すべき処理内容（コマンド）とを特定する。ここでは、ファイルＢに対するアクセス許可条件は、ダミーファイルがファイルＩＤ「３４５６１ｈ」のファイルＢ´であり、かつ、ダミーファイルに対して実行すべき処理内容がＩＣカードの固有情報をレコード１に書き込む処理（上述したデータ書込みコマンドに対する処理）であるものとする。
【０１３５】
したがって、この場合、ＩＣカード１のＣＰＵ１１は、指定されたファイルＩＤ「２３４５ｈ」のファイルＢに対するアクセス許可条件としてのファイルＩＤ「３４５６ｈ」のファイルＢ´のレコード１にＩＣカードの固有情報を書込むデータ書込みコマンドが実行されていることを確認する（ステップＳ１２７）。
【０１３６】
この確認結果に基づいて、ＩＣカード１のＣＰＵ１１は、当該ファイルＩＤ「２３４５ｈ」のファイルＢを選択し（ステップＳ１２８）、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答コードを含む応答電文をＩＣカード処理装置２へ出力する（ステップＳ１２９）。この状態において、当該ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「２３４５ｈ」のファイルＢを選択状態としてアクセス可能とする（ステップＳ１３０）。たとえば、選択したファイルＢに対する読出しコマンドを受けた場合、当該ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「２３４５ｈ」のファイルＢに対する読出し処理を行う。
【０１３７】
これに対して、図１７に示すように、ファイルＩＤ「３４５６ｈ」のファイルＢ´が選択されていない状態でファイルＩＤ「２３４５ｈ」を指定するファイル選択コマンドを受信した場合（ステップ１３１）、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「２３４５ｈ」のファイルＡ（秘密ファイル）に設定されているアクセス許可条件としてのファイルＩＤ「３４５６ｈ」のファイルＢ´が選択されていないことを確認する（ステップＳ１３２）。この確認結果に基づいて、ＩＣカード１のＣＰＵ１１は、当該ファイルＩＤ「２３４５ｈ」のファイルＢを選択不可と判別し、当該ファイルＩＤ「２３４５ｈ」のファイルＢを秘匿する（ステップＳ１３３、Ｓ１３４）。
【０１３８】
すなわち、受信したファイル選択コマンドで指定されたファイルＩＤ「２３４５ｈ」のファイルＢ（秘密ファイル）に対するアクセス許可条件が満たされていない場合、ＩＣカード１のＣＰＵ１１は、上記ファイル選択コマンドに対する処理結果として指定されたファイル無しを示す応答コードを含む応答電文をＩＣカード処理装置２へ出力する（ステップＳ１３３）。これにより、当該ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「２３４５ｈ」のファイルＢをアクセス不可（選択不可）とするとともに、当該コマンドの送信元としてのＩＣカード処理装置２に対しては秘匿する（ステップＳ１３４）。
【０１３９】
また、図１８に示す例では、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「３４５６ｈ」を指定するファイル選択コマンドを受信し（ステップＳ１４１）、このファイル選択コマンドに応じてファイルＢ´を選択状態とする（ステップＳ１４２）。この状態でファイルＩＤ「２３４５ｈ」を指定するファイル選択コマンドを受信した場合（ステップＳ１４３）、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「２３４５ｈ」のファイルＢ（秘密ファイル）に対するアクセス許可条件として、ファイルＩＤ「３４５６ｈ」のファイルＢ´に対して実行すべき処理内容（コマンド）を特定する。
【０１４０】
ここでは、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「３４５６ｈ」のファイルＢ´が選択されているものの、ファイルＢ´に対して実行すべき処理内容（コマンド）は実行されていないことを確認する（ステップＳ１４４）。この確認結果に基づいて、ＩＣカード１のＣＰＵ１１は、ファイル無しを示す応答コードを含む応答電文をＩＣカード処理装置２へ出力し（ステップＳ１４５）、ファイルＩＤ「２３４５ｈ」のファイルＢをアクセス不可（選択不可）とする（ステップＳ１４６）。この結果として、ＩＣカード１は、アクセス許可条件が満たされない状態においては、当該コマンドの送信元としてのＩＣカード処理装置２に対して秘密ファイルを秘匿する。
【０１４１】
上記のように、第５のアクセス方法では、秘密ファイル（例えばファイルＣ）へのアクセス許可条件として、ダミーファイル（例えばファイルＣ´）とダミーファイルに対して実行すべきアクセス要求コマンド（読出しコマンド、書込みコマンドあるいは書換えコマンド）を設定する。また、アクセス許可条件としてのアクセス要求コマンドは、ダミーファイル内における特定のレコードにアクセスするものとしても良いし、ダミーファイル内における特定のアドレスにアクセスするものとしても良い。
【０１４２】
さらに、アクセス許可条件としてのアクセス要求コマンドにおいて指定されるダミーファイル内のアクセス対象とするレコードあるいはアドレスは、種々の形態で設定することが考えられる。  
たとえば、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするレコードは、ＩＣカード１の種類、もしくは、ＩＣカード１が実行するアプリケーションによって固定的にレコード番号が設定されるようにして良い。また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするレコードは、実際のアクセス対象である秘密ファイル内のアクセス対象とするレコードと同じレコード番号が設定（指定）されるようにしても良い。
【０１４３】
また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするレコードは、実際のアクセス対象である秘密ファイルのファイルＩＤ、および、実際のアクセス対象であるレコード番号の一方或いは両方をもとにして、事前に定められた計算式によって計算された結果がレコード番号として設定（指定）されるようにしても良い。
【０１４４】
また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするレコードは、ＩＣカードの固有情報（ＩＣカード或いはＩＣチップの製造番号、若しくは、ＩＣカードの発行番号などのＩＣカードによってユニークな情報）をもとに、事前に定められた計算式によって計算された結果がレコード番号として設定（指定）されるようにしても良い。
【０１４５】
また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするレコードは、直近で、ＩＣカード１とＩＣカード処理装置２との間で交換された乱数（認証あるいは照合処理に用いられた変数）をもとに、事前に定められた計算式によって計算された結果がレコード番号として設定（指定）されるようにしても良い。
【０１４６】
また、アクセス許可条件としてのアクセス要求コマンドにおいて指定されるダミーファイル内のアクセス対象とするアドレスは、上述したレコードの指定と同様に、種々の形態で設定することが考えられる。  
たとえば、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするアドレスは、ＩＣカード１の種類、もしくは、ＩＣカード１が実行するアプリケーションによって固定的に設定（指定）されるようにして良い。
【０１４７】
また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするアドレスは、実際のアクセス対象である秘密ファイルのファイルＩＤをもとにして、事前に定められた計算式によって計算された結果がアドレスとして設定（指定）されるようにしても良い。
【０１４８】
また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするアドレスは、ＩＣカードの固有情報（ＩＣカード或いはＩＣチップの製造番号、若しくは、ＩＣカードの発行番号などのＩＣカードによってユニークな情報）をもとに、事前に定められた計算式によって計算された結果がアドレスとして設定（指定）されるようにしても良い。  
また、アクセス許可条件としてのアクセス要求コマンドでアクセス対象とするアドレスは、直近で、ＩＣカード１とＩＣカード処理装置２との間で交換された乱数（認証あるいは照合処理に用いられた変数）をもとに、事前に定められた計算式によって計算された結果がレコード番号として設定（指定）されるようにしても良い。
【０１４９】
次に、第６のアクセス方法について説明する。  
この第６のアクセス方法は、秘密ファイルに対して、対となるファイル（ダミーファイル）を設定しておき、ダミーファイルに対して所定のデータの書込み処理を実行した後でのみ、秘密ファイルを選択可能とするものである。たとえば、図１３に示すファイル構成において、秘密ファイルとしてのファイルＡ、ファイルＢ、ファイルＣに対するダミーファイルとしてファイルＡ´、ファイルＢ´、ファイルＣ´が設定される場合、各秘密ファイルに対するアクセス許可条件としては、ダミーファイルだけでなく、ダミーファイルに対して書き込むべきデータが設定される。たとえば、ファイルＡには、アクセス許可条件として、ダミーファイルとしてのファイルＡ´の所定レコード（あるいは所定アドレス領域）に所定のデータが書き込まれることが設定される。
【０１５０】
上記のように、第６のアクセス方法では、秘密ファイル（たとえば、ファイルＡ）へのアクセス許可条件としては、対応するダミーファイル（例えば、ファイルＡ´）に対して所定のデータの書き込みを要求する書込みコマンドを実行することを条件とする。ただし、第６のアクセス方法では、秘密ファイルへのアクセス許可条件は、秘密ファイルに対するダミーファイルに対する所定のデータの書込みコマンドが実行済みであることを条件としても良し、秘密ファイルの選択を要求するコマンドの直前のコマンドでダミーファイルに対する所定のデータの書込み要求コマンドが実行されることを条件としても良い。
【０１５１】
次に、第６のアクセス方法としての秘密ファイルの選択処理について説明する。  
第６のアクセス方法のファイル選択コマンドに対する処理は、基本的に図４に示す流れで実行される。すなわち、第６のアクセス方法としては、図４に示すステップＳ１４及びＳ１５の処理以外の説明は、上記第１のアクセス方法で説明した処理とほぼ同様な手順で実現できる。
【０１５２】
すなわち、第６のアクセス方法では、図４に示すステップＳ１４におけるアクセス許可条件を特定する処理として、指定ファイルを選択する前に選択しておくべきファイルを特定する。たとえば、ＩＣカード１のＣＰＵ１１は、受信したコマンドで指定された秘密ファイルに対応するダミーファイルと、当該ダミーファイルに書き込むべきデータとをアクセス許可条件としてプログラムメモリ１２あるいはデータメモリ１４から読み出す。
【０１５３】
指定された秘密ファイルへのアクセス許可条件としてのダミーファイルと書き込むべきデータとを特定すると、ＣＰＵ１１は、図４に示すステップＳ１５におけるアクセス許可条件を満たすか否かの判断として、特定したダミーファイルが選択され、かつ、当該ダミーファイルに対して所定のデータを書込む処理が実行されているか否かを判断する。この判断によりアクセス許可条件としてのダミーファイルが選択されていないと判断した場合、あるいは、アクセス許可条件としてのダミーファイルへの所定データの書込み処理が実行されていないと判断した場合、ＣＰＵ１１は、指定されたファイルＩＤのファイルが存在しないものとし、指定ファイルが存在しない旨の応答コードを含む応答電文をＩＣカード処理装置２へ出力する。また、アクセス許可条件としてのダミーファイルが選択され、かつ、当該ダミーファイルに対して所定データの書込み処理が実行されていると判断した場合、ＣＰＵ１１は、指定されたファイル（秘密ファイル）を選択する。
【０１５４】
なお、上述した第６のアクセス方法では、秘密ファイルの選択を要求するファイル選択コマンドあるいはダミーファイルを選択するコマンドは、任意のロジカルチャネルで受信することを想定している。つまり、上述の第６のアクセス方法では、ロジカルチャネルによる秘密ファイルへのアクセス制御は行っていないものとしている。ただし、第６のアクセス方法は、第１〜第３のアクセス方法と組み合わせて実施することも可能である。
【０１５５】
たとえば、アクセス許可条件としては、上記のようなダミーファイルとダミーファイルに書き込むべきデータとの設定に加えて、秘密ファイルの選択を要求するコマンドが特定のロジカルチャネルで受信することを条件としても良いし、ダミーファイルに対する所定データの書込みを要求する書込みコマンドが特定のロジカルチャネルで受信することを条件としても良い。また、上述した第２のアクセス方法で説明しような特定のロジカルチャネルで特定の鍵の照合が成功していることも、アクセス許可条件として加えても良い。さらには、上述した第３のアクセス方法で説明したような複数の鍵に対する照合がそれぞれ特定のロジカルチャネルで成功していることも、アクセス許可条件として加えても良い。
【０１５６】
次に、上記第６のアクセス方法の具体例として、秘密ファイルに対するアクセスが許可される場合の動作例について説明する。  
ここでは、図１３に示すファイルＩＤが「７ＦＦＦｈ」のファイルＣを秘密ファイルとし、ファイルＣには、対応するダミーファイルとしてファイルＩＤ「８ＦＦＦｈ」のファイルＣ´が設定され、かつ、ファイルＣ´における所定レコード「レコード３」への所定データ「ＡＡｈ」の書込み処理が実行されていることがアクセス許可条件として設定されている場合を想定するものとする。
【０１５７】
図１９は、ファイルＣを正常に選択する場合の手順を示すフローチャートである。これに対して、図２０〜図２３は、ファイルＣが選択（アクセス）できない場合の手順を示すフローチャートである。
【０１５８】
すなわち、図１９に示すように、ＩＣカード処理装置２からファイルＩＤ「８ＦＦＦｈ」を指定するファイル選択コマンドを受信した場合（ステップＳ１５０）、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「８ＦＦＦｈ」のファイルＣ´（ファイルＣに対応するダミーファイル）を選択する（ステップＳ１５１）。ファイルＩＤ「８ＦＦＦｈ」のファイルＣ´を選択すると、ＩＣカード１のＣＰＵ１１は、ファイルＣ´の選択処理が正常に終了したことを示す応答コードを含む応答電文をＩＣカード処理装置２へ出力する（ステップＳ１５２）。
【０１５９】
この状態において、ＩＣカード１のＣＰＵ１１は、選択されたファイル（ファイルＣ´）におけるレコード３に所定データ「ＡＡｈ」を書き込むことを要求するデータ書込みコマンドを受信したものとする（ステップＳ１５３）。このようなデータ書込みコマンドを受信すると、当該ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「８ＦＦＦｈ」のファイルＣ´（ファイルＣに対応するダミーファイル）におけるレコード３に指定された所定データ「ＡＡｈ」を書き込む（ステップＳ１５４）。ファイルＣ´のレコード３にデータ「ＡＡｈ」を書き込むと、ＩＣカード１のＣＰＵ１１は、当該データ書込みコマンドで要求された処理が正常に終了したことを示す応答コードを含む応答電文をＩＣカード処理装置２へ出力する（ステップＳ１５５）。
【０１６０】
この状態においてファイルＩＤ「７ＦＦＦｈ」を指定するファイル選択コマンドを受信した場合（ステップＳ１５６）、ＩＣカード１のＣＰＵ１１は、指定されたファイルＩＤ「７ＦＦＦｈ」のファイルＣ（秘密ファイル）に対するアクセス許可条件として、ダミーファイルとダミーファイルに書き込むべきデータとを特定する。ここでは、ファイルＣに対するアクセス許可条件は、ダミーファイルがファイルＩＤ「８ＦＦＦｈ」のファイルＣ´であり、かつ、ダミーファイルに対して所定データ「ＡＡＨ」をレコード３に書き込む処理であるものとする。
【０１６１】
したがって、この場合、ＩＣカード１のＣＰＵ１１は、指定されたファイルＩＤ「７ＦＦＦｈ」のファイルＣに対するアクセス許可条件としてのファイルＩＤ「８ＦＦＦｈ」のファイルＣ´のレコード３に所定データ「ＡＡｈ」を書込むデータ書込みコマンドが実行されていることを確認する（ステップＳ１５７）。
【０１６２】
この確認結果に基づいて、ＩＣカード１のＣＰＵ１１は、当該ファイルＩＤ「７ＦＦＦｈ」のファイルＣを選択し（ステップＳ１５８）、上記ファイル選択コマンドに対する処理結果として正常終了を示す応答コードを含む応答電文をＩＣカード処理装置２へ出力する（ステップＳ１５９）。この状態において、当該ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「７ＦＦＦｈ」のファイルＣを選択状態としてアクセス可能とする（ステップＳ１６０）。たとえば、この状態において読出しコマンドを受けた場合、当該ＩＣカード１のＣＰＵ１１は、選択されたファイルＩＤ「７ＦＦＦｈ」のファイルＣに対する読出し処理を行う。
【０１６３】
これに対して、図２０は、ファイルＣ´が選択されていない状態でファイルＣの選択を要求するファイル選択コマンドを受信した場合の動作を示すフローチャートである。
【０１６４】
図２０に示すように、ファイルＩＤ「８ＦＦＦｈ」のファイルＣ´が選択されていない状態でファイルＩＤ「７ＦＦＦｈ」を指定するファイル選択コマンドを受信した場合（ステップ１６１）、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「７ＦＦＦｈ」のファイルＣ（秘密ファイル）に設定されているアクセス許可条件としてのファイルＩＤ「８ＦＦＦｈ」のファイルＣ´が選択されていないことを確認する（ステップＳ１６２）。この確認結果に基づいて、ＩＣカード１のＣＰＵ１１は、当該ファイルＩＤ「７ＦＦＦｈ」のファイルＣを選択不可と判別し、当該ファイルＩＤ「７ＦＦＦｈ」のファイルＣを秘匿する（ステップＳ１６３、Ｓ１６４）。
【０１６５】
すなわち、受信したファイル選択コマンドで指定されたファイルＩＤ「７ＦＦＦｈ」のファイルＣ（秘密ファイル）に対するアクセス許可条件が満たされていない場合、ＩＣカード１のＣＰＵ１１は、上記ファイル選択コマンドに対する処理結果として指定されたファイル無しを示す応答コードを含む応答電文をＩＣカード処理装置２へ出力する（ステップＳ１６３）。これにより、当該ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「７ＦＦＦｈ」のファイルＣをアクセス不可（選択不可）とするとともに、当該コマンドの送信元としてのＩＣカード処理装置２に対しては秘匿する（ステップＳ１６４）。
【０１６６】
また、図２１は、ファイルＣ´が選択されているもののファイルＣ´に対する書込み処理が実行されていない状態でファイルＣの選択を要求するファイル選択コマンドを受信した場合の動作を示すフローチャートである。  
図２１に示す例では、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「８ＦＦＦｈ」を指定するファイル選択コマンドを受信し（ステップＳ１７１）、このファイル選択コマンドに応じてファイルＩＤ「８ＦＦＦｈ」のファイルＣ´を選択状態とする（ステップＳ１７２）。この状態でファイルＩＤ「７ＦＦＦｈ」を指定するファイル選択コマンドを受信した場合（ステップＳ１７３）、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「７ＦＦＦｈ」のファイルＣ（秘密ファイル）に対するアクセス許可条件として、ファイルＩＤ「８ＦＦＦｈ」のファイルＣ´に書込むべきデータ「ＡＡｈ」を特定する。
【０１６７】
ここでは、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「８ＦＦＦｈ」のファイルＣ´が選択されているものの、ファイルＣ´に対する所定データ「ＡＡｈ」の書込みが実行されていないことを確認する（ステップＳ１７４）。この確認結果に基づいて、ＩＣカード１のＣＰＵ１１は、ファイル無しを示す応答コードを含む応答電文をＩＣカード処理装置２へ出力し（ステップＳ１７５）、ファイルＩＤ「７ＦＦＦｈ」のファイルＣをアクセス不可（選択不可）とする（ステップＳ１７６）。この結果として、ＩＣカード１のＣＰＵ１１は、アクセス許可条件が満たされない状態においては、当該コマンドの送信元としてのＩＣカード処理装置２に対して秘密ファイルを秘匿する。
【０１６８】
また、図２２は、ファイルＣ´におけるレコード３にアクセス許可条件の所定データ「ＡＡｈ」とは異なるデータ「００ｈ」の書込み処理が実行された状態でファイルＣの選択を要求するファイル選択コマンドを受信した場合の動作を示すフローチャートである。  
図２２に示すように、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「８ＦＦＦｈ」を指定するファイル選択コマンドを受信した場合（ステップＳ１８１）、このファイル選択コマンドに応じてファイルＩＤ「８ＦＦＦｈ」のファイルＣ´を選択状態とする（ステップＳ１８２）。
【０１６９】
この状態において、ＩＣカード１のＣＰＵ１１は、選択されたファイル（ファイルＣ´）におけるレコード３にデータ「００ｈ」を書き込むことを要求するデータ書込みコマンドを受信したものとする（ステップＳ１８３）。このようなデータ書込みコマンドを受信すると、当該ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「８ＦＦＦｈ」のファイルＣ´（ファイルＣに対応するダミーファイル）におけるレコード３に指定されたデータ「００ｈ」を書き込む（ステップＳ１８４）。ファイルＣ´のレコード３にデータ「００ｈ」を書き込むと、ＩＣカード１のＣＰＵ１１は、当該データ書込みコマンドで要求された処理が正常に終了したことを示す応答コードを含む応答電文をＩＣカード処理装置２へ出力する（ステップＳ１８５）。
【０１７０】
この状態においてファイルＩＤ「７ＦＦＦｈ」を指定するファイル選択コマンドを受信した場合（ステップＳ１８６）、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「７ＦＦＦｈ」のファイルＣ（秘密ファイル）に対するアクセス許可条件として、ファイルＩＤ「８ＦＦＦｈ」のファイルＣ´に書込むべきデータ「ＡＡｈ」を特定する。
【０１７１】
ここでは、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「８ＦＦＦｈ」のファイルＣ´のレコード３に対する書込み処理が実行されているものの、ファイルＣ´のレコード３に書込まれたデータ「００ｈ」がアクセス許可条件としての所定データ「ＡＡｈ」ではないことを確認する（ステップＳ１８７）。この確認結果に基づいて、ＩＣカード１のＣＰＵ１１は、ファイル無しを示す応答コードを含む応答電文をＩＣカード処理装置２へ出力し（ステップＳ１８８）、ファイルＩＤ「７ＦＦＦｈ」のファイルＣをアクセス不可（選択不可）とする（ステップＳ１８９）。この結果として、ＩＣカード１のＣＰＵ１１は、アクセス許可条件が満たされない状態においては、当該コマンドの送信元としてのＩＣカード処理装置２に対して秘密ファイルを秘匿する。
【０１７２】
また、図２３は、ファイルＣ´におけるアクセス許可条件の所定レコード「レコード３」とは異なる「レコード２」に「ＡＡｈ」の書込み処理が実行された状態でファイルＣの選択を要求するファイル選択コマンドを受信した場合の動作を示すフローチャートである。  
図２３に示すように、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「８ＦＦＦｈ」を指定するファイル選択コマンドを受信した場合（ステップＳ１９１）、このファイル選択コマンドに応じてファイルＩＤ「８ＦＦＦｈ」のファイルＣ´を選択状態とする（ステップＳ１９２）。
【０１７３】
この状態において、ＩＣカード１のＣＰＵ１１は、選択されたファイル（ファイルＣ´）におけるレコード２にデータ「ＡＡｈ」を書き込むことを要求するデータ書込みコマンドを受信したものとする（ステップＳ１９３）。このようなデータ書込みコマンドを受信すると、当該ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「８ＦＦＦｈ」のファイルＣ´（ファイルＣに対応するダミーファイル）におけるレコード２に指定されたデータ「ＡＡｈ」を書き込む（ステップＳ１９４）。ファイルＣ´のレコード２にデータ「ＡＡｈ」を書き込むと、ＩＣカード１のＣＰＵ１１は、当該データ書込みコマンドで要求された処理が正常に終了したことを示す応答コードを含む応答電文をＩＣカード処理装置２へ出力する（ステップＳ１９５）。
【０１７４】
この状態においてファイルＩＤ「７ＦＦＦｈ」を指定するファイル選択コマンドを受信した場合（ステップＳ１９６）、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「７ＦＦＦｈ」のファイルＣ（秘密ファイル）に対するアクセス許可条件として、ファイルＩＤ「８ＦＦＦｈ」のファイルＣ´に書込むべきデータ「ＡＡｈ」と書込む領域（レコード３）を特定する。
【０１７５】
ここでは、ＩＣカード１のＣＰＵ１１は、ファイルＩＤ「８ＦＦＦｈ」のファイルＣ´に所定データ「ＡＡｈ」が書込まれているものの、所定データ「ＡＡｈ」を書込んだ領域がアクセス許可条件としてのレコード３ではない（レコード２である）ことを確認する（ステップＳ１９７）。この確認結果に基づいて、ＩＣカード１のＣＰＵ１１は、ファイル無しを示す応答コードを含む応答電文をＩＣカード処理装置２へ出力し（ステップＳ１９８）、ファイルＩＤ「７ＦＦＦｈ」のファイルＣをアクセス不可（選択不可）とする（ステップＳ１９９）。この結果として、ＩＣカード１のＣＰＵ１１は、アクセス許可条件が満たされない状態においては、当該コマンドの送信元としてのＩＣカード処理装置２に対して秘密ファイルを秘匿する。
【０１７６】
上記のように、第６のアクセス方法では、秘密ファイル（例えばファイルＣ）へのアクセス許可条件として、ダミーファイル（例えばファイルＣ´）とダミーファイルに対して書込むべきデータを設定する。これにより、ダミーファイルを選択し、かつ、所定データをダミーファイルに書込まなければ、秘密ファイルへのアクセスが不可となって秘密ファイルを秘匿できる。また、第６のアクセス方法では、アクセス許可条件として、ダミーファイルにおける所定の位置に所定データを書込むようにしても良い。この場合、所定データを書込むためのダミーファイルにおける所定データの書込み位置は、レコードで設定（指定）されるようにしても良いし、アドレスで設定（指定）されるようにしても良い。
【０１７７】
さらに、第６のアクセス方法において、アクセス許可条件としてダミーファイルに書込むべき所定データは、以下のような種々の形態で設定することが考えられる。  
たとえば、アクセス許可条件としてダミーファイルに書込むべき所定データは、ＩＣカード１の種類、もしくは、ＩＣカード１が実行するアプリケーションごとに固定的なデータが設定されるようにして良い。
【０１７８】
また、アクセス許可条件としてダミーファイルに書込むべき所定データは、実際のアクセス対象である秘密ファイルのファイルＩＤ、および、実際のアクセス対象であるレコード番号の何れか一方あるいは両方をもとにして、事前に定められた計算式によって計算された結果が設定されるようにしても良い。
【０１７９】
また、アクセス許可条件としてダミーファイルに書込むべき所定データは、ＩＣカードの固有情報（ＩＣカード或いはＩＣチップの製造番号、若しくは、ＩＣカードの発行番号などのＩＣカードによってユニークな情報）をもとに、事前に定められた計算式によって計算された結果が設定されるようにしても良い。
【０１８０】
また、アクセス許可条件としてダミーファイルに書込むべき所定データは、直近で、ＩＣカード１とＩＣカード処理装置２との間で交換された乱数（認証あるいは照合処理に用いられた変数）をもとに、事前に定められた計算式によって計算された結果がレコード番号として設定（指定）されるようにしても良い。
【符号の説明】
【０１８１】
Ｃ…本体、Ｍ…モジュール、１…ＩＣカード、１ａ…ＩＣチップ、２…ＩＣカード処理装置、１１…ＣＰＵ、１２…プログラムメモリ、１３…ワーキングメモリ、１４…データメモリ、１５…通信制御部、１６…電源部、１７…インターフェース、２１…制御装置、２２…カードリーダライタ。
【図１】
2011002895.tif 000003
【図２】
2011002895.tif 000004
【図３】
2011002895.tif 000005
【図４】
2011002895.tif 000006
【図５】
2011002895.tif 000007
【図６】
2011002895.tif 000008
【図７】
2011002895.tif 000009
【図８】
2011002895.tif 000010
【図９】
2011002895.tif 000011
【図１０】
2011002895.tif 000012
【図１１】
2011002895.tif 000013
【図１２】
2011002895.tif 000014
【図１３】
2011002895.tif 000015
【図１４】
2011002895.tif 000016
【図１５】
2011002895.tif 000017
【図１６】
2011002895.tif 000018
【図１７】
2011002895.tif 000019
【図１８】
2011002895.tif 000020
【図１９】
2011002895.tif 000021
【図２０】
2011002895.tif 000022
【図２１】
2011002895.tif 000023
【図２２】
2011002895.tif 000024
【図２３】
2011002895.tif 000025