(57)【特許請求の範囲】
【請求項１】
ＩＣカードが、ディレクトリ構造を有するファイルシステムへの不正なアクセスを防止するためのディレクトリ隠蔽方法であって、
ディレクトリの生成要求に応答して、ディレクトリと、一対のディレクトリ選択鍵と、を生成し、一方の選択鍵を要求元に送信するとともに他方の選択鍵を当該ディレクトリと関連付けて記憶し、
前記一方の選択鍵を暗号鍵として用いて生成された認証コードと、ディレクトリを特定する情報と、をアクセス要求元から受信し、
前記認証コードを前記他方の選択鍵を用いて復号化して認証を行い、
認証結果が正常を示す場合には、カレントディレクトリを、選択されたディレクトリへ移行し、
認証結果がエラーを示す場合には、選択されたディレクトリが存在しない旨のエラーステータスを返すことにより、選択されたディレクトリの存在を否定することにより各ディレクトリを正当権限のないものから隠蔽する、
ことを特徴とするディレクトリ隠蔽方法。
【請求項２】
ディレクトリ構造を有するファイルシステムを備えるディレクトリ隠蔽装置であって、
ディレクトリの生成要求に応答して、ディレクトリと、一対のディレクトリ選択鍵と、を生成し、一方の選択鍵を要求元に送信するとともに他方の選択鍵を当該ディレクトリと関連付けて記憶する手段と、
前記一方の選択鍵を暗号鍵として用いて生成された認証コードと、ディレクトリを特定する情報と、をアクセス要求元から受信する手段と、
前記認証コードを前記他方の選択鍵を用いて復号化して認証を行う手段と、
認証結果が正常を示す場合には、カレントディレクトリを、選択されたディレクトリへ移行する手段と、
認証結果がエラーを示す場合には、選択されたディレクトリが存在しない旨のエラーステータスを返すことにより、選択されたディレクトリの存在を否定することにより各ディレクトリを正当権限のないものから隠蔽する手段と、
を備えることを特徴とするディレクトリ隠蔽装置。
【請求項３】
記憶領域にサービス提供者毎にディレクトリが形成されているＩＣカードと、サービス提供者の端末と、を含むＩＣカードシステムであって、
前記ＩＣカードは、
前記サービス提供者の端末からのディレクトリの生成要求に応答して、ディレクトリと、一対のディレクトリ選択鍵と、を生成し、一方の選択鍵を前記サービス提供者の端末に送信するとともに他方の選択鍵を当該ディレクトリに関連付けて記憶する手段と、
前記一方の選択鍵を暗号鍵として用いて生成された認証コードと、前記サービス提供者のディレクトリを示す情報と、を前記サービス提供者の端末から受信する手段と、
前記認証コードを前記他方の選択鍵を用いて復号化して認証を行う手段と、
認証結果が正常を示す場合には、要求されたディレクトリへのアクセスを許可する手段と、
認証結果がエラーを示す場合には、選択されたディレクトリが存在しない旨のエラーステータスを返すことにより、要求されたディレクトリの存在を否定することにより各ディレクトリを正当権限のないものから隠蔽する手段と、を備え、
前記サービス提供者の端末は、
前記ディレクトリの生成要求を前記ＩＣカードに送信する手段と、
前記ＩＣカードから前記一方の選択鍵を受信する手段と、
前記認証コードと、前記サービス提供者のディレクトリを示す情報と、を前記ＩＣカードに送信する手段と、
を備える、  ことを特徴とするＩＣカードシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディレクトリ構造を有するファイルシステムに複数の者がアクセスするシステム等に関する。
【０００２】
【従来の技術】
従来、ディレクトリ構造を有するファイルシステムに複数の者がアクセスするシステムの一例として、１枚のＩＣカードに対して複数のサービス提供者によるサービスの提供が可能なマルチアプリケーションＩＣカードを用いたＩＣカードシステムがある。このようなＩＣカードには、例えば、サービス提供者毎に複数のディレクトリが生成され、各サービス提供者は、各自のディレクトリの配下に存在するファイルやデータにアクセスし、サービス提供に必要な処理を行っていた。
【０００３】
【発明が解決しようとする課題】
しかし、上記のようなＩＣカードに対して、あるサービス提供者がアクセスする場合、サービス提供者は、自由にカード内の他のサービス提供者のディレクトリを選択することができるため、他のサービス提供者のファイルの中身が改竄されたり、データが盗み出される等のセキュリティ上の問題が生じる虞がある。また、カード保持者にとっては、自分のカードにどのようなサービスが格納されているかを他者が知ることができるので、プライバシー上の問題もある。
【０００４】
また、複数のユーザが、各自のディレクトリに記憶されているデータを利用するような環境にあるパーソナルコンピュータ、端末、サーバ等のコンピュータについても、上記と同様の問題が生じていた。
【０００５】
本発明は、上述した事情に鑑みてなされたもので、ディレクトリ構造を有するファイルシステムへの不正なアクセスを防止することができるディレクトリ隠蔽方法、装置及びＩＣカードシステムを提供することを目的とする。
また、ユーザのプライバシを保護することができるディレクトリ隠蔽方法、装置及びＩＣカードシステムを提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、本発明の第１の観点に係るディレクトリ隠蔽方法は、
ＩＣカードが、ディレクトリ構造を有するファイルシステムへの不正なアクセスを防止するためのディレクトリ隠蔽方法であって、
ディレクトリの生成要求に応答して、ディレクトリと、一対のディレクトリ選択鍵と、を生成し、一方の選択鍵を要求元に送信するとともに他方の選択鍵を当該ディレクトリと関連付けて記憶し、
前記一方の選択鍵を暗号鍵として用いて生成された認証コードと、ディレクトリを特定する情報と、をアクセス要求元から受信し、
前記認証コードを前記他方の選択鍵を用いて復号化して認証を行い、
認証結果が正常を示す場合には、カレントディレクトリを、選択されたディレクトリへ移行し、
認証結果がエラーを示す場合には、選択されたディレクトリが存在しない旨のエラーステータスを返すことにより、選択されたディレクトリの存在を否定することにより各ディレクトリを正当権限のないものから隠蔽する、
ことを特徴とする。
【０００７】
このような構成によれば、ディレクトリ構造を有するファイルシステムにおいて、ディレクトリの選択に応じて認証を行い、認証結果がエラーの場合にはディレクトリの存在を否定するため、各ディレクトリを正当な権限を有しない者から隠し、他者が入り込めないようにすることができる。また、ファイルシステムのあるディレクトリにアクセス可能な者であっても、どうような他のディレクトリがファイルシステム内に存在するかを知ることができないため、各ディレクトリを利用するユーザのプライバシーを保護することができる。
【０００８】
また、本発明の第２の観点に係るディレクトリ隠蔽装置は、
ディレクトリ構造を有するファイルシステムを備えるディレクトリ隠蔽装置であって、
ディレクトリの生成要求に応答して、ディレクトリと、一対のディレクトリ選択鍵と、を生成し、一方の選択鍵を要求元に送信するとともに他方の選択鍵を当該ディレクトリと関連付けて記憶する手段と、
前記一方の選択鍵を暗号鍵として用いて生成された認証コードと、ディレクトリを特定する情報と、をアクセス要求元から受信する手段と、
前記認証コードを前記他方の選択鍵を用いて復号化して認証を行う手段と、
認証結果が正常を示す場合には、カレントディレクトリを、選択されたディレクトリへ移行する手段と、
認証結果がエラーを示す場合には、選択されたディレクトリが存在しない旨のエラーステータスを返すことにより、選択されたディレクトリの存在を否定することにより各ディレクトリを正当権限のないものから隠蔽する手段と、
を備えることを特徴とする。
【０００９】
このような構成によれば、ディレクトリ構造を有するファイルシステムにおいて、ディレクトリの選択に応じて認証を行い、認証結果がエラーの場合にはディレクトリの存在を否定するため、各ディレクトリを正当な権限を有しない者から隠し、他者が入り込めないようにすることができる。また、ファイルシステムのあるディレクトリにアクセス可能な者であっても、どうような他のディレクトリがファイルシステム内に存在するかを知ることができないため、各ディレクトリを利用するユーザのプライバシーを保護することができる。
【００１０】
また、本発明の第３の観点に係るＩＣカードシステムは、
記憶領域にサービス提供者毎にディレクトリが形成されているＩＣカードと、サービス提供者の端末と、を含むＩＣカードシステムであって、
前記ＩＣカードは、
前記サービス提供者の端末からのディレクトリの生成要求に応答して、ディレクトリと、一対のディレクトリ選択鍵と、を生成し、一方の選択鍵を前記サービス提供者の端末に送信するとともに他方の選択鍵を当該ディレクトリに関連付けて記憶する手段と、
前記一方の選択鍵を暗号鍵として用いて生成された認証コードと、前記サービス提供者のディレクトリを示す情報と、を前記サービス提供者の端末から受信する手段と、
前記認証コードを前記他方の選択鍵を用いて復号化して認証を行う手段と、
認証結果が正常を示す場合には、要求されたディレクトリへのアクセスを許可する手段と、
認証結果がエラーを示す場合には、選択されたディレクトリが存在しない旨のエラーステータスを返すことにより、要求されたディレクトリの存在を否定することにより各ディレクトリを正当権限のないものから隠蔽する手段と、を備え、
前記サービス提供者の端末は、
前記ディレクトリの生成要求を前記ＩＣカードに送信する手段と、
前記ＩＣカードから前記一方の選択鍵を受信する手段と、
前記認証コードと、前記サービス提供者のディレクトリを示す情報と、を前記ＩＣカードに送信する手段と、を備える、
ことを特徴とする。
【００１１】
このような構成によれば、記憶領域にサービス提供者毎にディレクトリが形成されているＩＣカードにおいて、サービス提供者がディレクトリにアクセスする際に認証を行い、認証結果がエラーの場合にはディレクトリの存在を否定するため、各サービス提供者のディレクトリを他のサービス提供者から隠し、他者が入り込めないようにすることができる。これにより、各ディレクトリについて正当な権限を有しない者による不正なアクセスを防止することができる。
また、ＩＣカードにアクセス可能なサービス提供者であっても、どのような他のサービスのデータがＩＣカードに格納されているかを知ることができないため、カード保持者のプライバシーを保護することができる。
【００１２】
【発明の実施の形態】
以下、本発明の実施の形態に係るＩＣカードシステムについて図面を参照して説明する。本システムは、ユーザが１枚のＩＣカードを用いて複数のサービス提供者によるサービスの提供を受けるためのシステムである。
【００１３】
本発明の実施形態に係るＩＣカードシステムは、図１に示すように、ＩＣカード１と、カード処理端末３と、を備える。
【００１４】
ＩＣカード１は、記憶部１１と、制御部１２と、入出力Ｉ／Ｆ（インタフェース）１３と、を備えるＩＣチップを有する。
記憶部１１は、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ等のメモリから構成され、図２に示すように、サービス提供者毎のディレクトリが形成されている。ディレクトリには隠蔽ディレクトリと通常のディレクトリがあり、隠蔽ディレクトリとは、正当な権限を有する者のみがアクセス可能なディレクトリを示す。
隠蔽ディレクトリには、サービスの提供に利用される情報等の他に、サービス提供者が自己の隠蔽ディレクトリへアクセスする際に使用されるディレクトリ選択鍵（公開鍵）が格納されている。
【００１５】
制御部１２は、カード処理端末３からの要求に応じて、記憶部１１におけるディレクトリの生成や、各ディレクトリに格納されているデータの読み出し／書き込み等の処理を行う。
【００１６】
例えば、制御部１２は、カード処理端末３からのディレクトリの作成要求の受信に応じて、記憶部１１に新たなディレクトリを生成する。この際、隠蔽ディレクトリの生成が要求された場合には、一対のディレクトリ選択鍵（秘密鍵／公開鍵）を生成し、一方のディレクトリ選択鍵（秘密鍵）をカード処理端末３に供給するともに、他方のディレクトリ選択鍵（公開鍵）を、生成したディレクトリに格納する。
【００１７】
また、制御部１２は、サービス提供者によるカード内のディレクトリへのアクセス要求をカード処理端末３から受信した場合、選択されたディレクトリが隠蔽ディレクトリであるかを判別し、隠蔽ディレクトリである場合には、所定の認証処理によりサービス提供者の認証を行い、認証結果が適正である場合には、カレントディレクトリを、選択された隠蔽ディレクトリに移す。このとき、認証結果がエラーである場合には、該当するディレクトリが存在しない旨のエラーステータスを返す。
なお、選択されたディレクトリが通常のディレクトリである場合には、そのまま、カレントディレクトリを、選択されたディレクトリへ移す。
【００１８】
入出力Ｉ／Ｆ１３は、制御部１２からの指示に従って、カード処理端末３と接続して通信を行う。
【００１９】
カード処理端末３は、例えばサービス提供者毎に設けられており、制御部３１と、カードＲ／Ｗ（リーダ／ライタ）部３２と、記憶部３３と、入力部３４と、表示部３５と、を備える。
【００２０】
制御部３１は、記憶部３３に記憶されるプログラムを実行することにより、ＩＣカード１にアクセスし、その記憶領域へサービス提供者のディレクトリを生成するための処理や、ディレクトリに格納されているデータを用いてサービス提供者がユーザにサービス提供するための種々の処理等を行う。
例えば、制御部３１は、ＩＣカード１におけるディレクトリの生成において、ＩＣカード１にディレクトリの生成要求を送信する。このとき、作成対象のディレクトリの種別（隠蔽ディレクトリか通常のディレクトリか）を示す情報もＩＣカード１に供給する。
また、ＩＣカード１の記憶領域へのアクセスにおいて、例えば、そのサービス提供者が選択したディレクトリが隠蔽ディレクトリである場合、制御部３１は、ＩＣカード１との間で所定の認証処理を行う。この認証結果が正常を示す場合に、そのサービス提供者のディレクトリへの移行が許可される。
【００２１】
カードＲ／Ｗ部３２は、制御部３１からの指示に従って、ＩＣカード１との通信を行う。
記憶部３３は、対応するサービス提供者のディレクトリの生成に伴って生成されたディレクトリ選択鍵（暗号鍵）等の情報を記憶する。
また、記憶部３３は、制御部３１が実行するプログラムを記憶するとともに、処理に必要な各種のデータを記憶する。
入力部３４は、入力されたデータを制御部３１に通知する。
表示部３５は、制御部３１からの指示に従って、サービス提供のための処理画面等を表示する。
【００２２】
次に、本実施形態に係るＩＣカードシステムの動作について説明する。
例えば、あるＩＣカード１の記憶領域にサービス提供者Ｃのディレクトリを新たに生成する場面におけるディレクトリ生成処理について図３を参照して説明する。
【００２３】
例えば、ＩＣカード１がサービス提供者Ｃに対応するカード処理端末３にセットされ、操作者（ユーザ、サービス提供者Ｃの担当者等）がディレクトリの生成要求をカード処理端末３に入力する。このとき、操作者は、例えば、隠蔽ディレクトリを生成対象として設定する。これに応じて、カード処理端末３は、サービス提供者Ｃの隠蔽ディレクトリの生成要求をＩＣカード１に送信する（Ｌ１）。
【００２４】
ＩＣカード１は、サービス提供者Ｃの隠蔽ディレクトリの生成要求をカード処理端末３から受信すると、サービス提供者Ｃに対応するディレクトリを記憶部１１に生成するとともに、一対のディレクトリ選択鍵（秘密鍵／公開鍵）を生成する（Ｌ２）。そして、一方のディレクトリ選択鍵（秘密鍵）をカード処理端末３に供給し（Ｌ３）、他方のディレクトリ選択鍵（公開鍵）をカード内のサービス提供者Ｃのディレクトリに格納する（Ｌ４）。
これにより、ＩＣカード１にサービス提供者Ｃの隠蔽ディレクトリが生成される。
【００２５】
次に、サービス提供者Ｃがサービスをユーザに提供するためにＩＣカード１における自己の隠蔽ディレクトリにアクセスする場面における認証処理について図４を参照して説明する。
【００２６】
例えば、ユーザのＩＣカード１がサービス提供者Ｃに対応するカード処理端末３にセットされると、カード処理端末３は、ＩＣカード１に乱数の生成要求を送信する（Ｌ１１）。
これに応じて、ＩＣカード１は乱数を生成して記憶部１１に記憶するとともに、カード処理端末３に送信する（Ｌ１２）。
カード処理端末３は、乱数を受け取ると、乱数をディレクトリ選択鍵（秘密鍵）で暗号化する等して認証コードを生成する（Ｌ１３）。そして、認証コードと、サービス提供者Ｃの隠蔽ディレクトリのディレクトリ名と、ディレクトリ選択鍵（秘密鍵）と対となるディレクトリ選択鍵（公開鍵）のＩＤと、を認証要求とともにＩＣカード１へ送信する（Ｌ１４）。
【００２７】
これに応じて、ＩＣカード１は、引数のディレクトリ名とディレクトリ選択鍵（公開鍵）のＩＤから、サービス提供者Ｃの隠蔽ディレクトリに対応するディレクトリ選択鍵（公開鍵）を検索し、該当するディレクトリ選択鍵を検出した場合には、その鍵を用いて認証コードを復号化する。そして、復号化により取得したコードを、先に記憶部１１に記憶していた乱数と照合し、これらが一致するかをチェックする（Ｌ１５）。そして、チェック結果に基づく返答をカード処理端末３に送信する（Ｌ１６）。これにより認証処理が完了する。
【００２８】
この例では、チェック結果が正常であり、サービス提供者Ｃの隠蔽ディレクトリへのアクセスを許可する旨の返信がなされることとする。この場合、ＩＣカード１は、カレントディレクトリを、選択されたサービス提供者Ｃのディレクトリに移す。これにより、サービス提供者は、自己のディレクトリの配下にあるデータを読み出して、サービス提供のための処理を行うことができる。
【００２９】
なお、上記認証処理において、認証コードのチェック結果がエラーを示す場合には、ＩＣカード１は、該当するディレクトリが存在しない旨の返答をカード処理端末３に送信して処理を終了する。
【００３０】
このようにして、サービス提供者毎のディレクトリが形成されるファイルシステムを有するＩＣカード１において、サービス提供者がＩＣカード１内の自己のディレクトリを選択する際に認証を行い、認証結果がエラーの場合にはディレクトリの存在を否定するため、各サービス提供者のディレクトリを他のサービス提供者から隠し、他者が入り込めないようにすることができる。これにより、各ディレクトリについて正当な権限を有しない者による不正なアクセスを防止することができる。
また、ＩＣカード１にアクセス可能なサービス提供者であっても、どのような他のサービスのデータがＩＣカード１に格納されているかを知ることができないため、カード保持者のプライバシーを保護することができる。
【００３１】
なお、上記説明では、サービス提供者毎にカード処理端末３を設けるようにしているが、これに限定されず、例えば、１台のカード処理端末３で複数のサービス提供者によりサービスが提供されるようにしてもよい。この場合、カード処理端末３の記憶部３３には各サービス提供者の処理プログラム及びデータが記憶され、所定の要求に応じて、カード処理端末３が、いずれかのサービス提供者の処理プログラム等を読み出して実行するようにしてもよい。実行対象のサービスの選択基準は任意であり、外部的要求（例えば、入力部３４からサービスの選択入力を受け付ける場合等）に応じて行うようにしてもよく、また、内部的要求（例えば、カード処理端末３がＩＣカード１に記憶されている情報等に基づいて自動的にサービスを選択する場合等）に応じて行うようにしてもよい。
【００３２】
また、カード処理端末３は、ネットワークに接続されていてもよく、スタンドアロンでもよい。
また、ＩＣカード１内のデータの利用主体はサービス提供者に限定されず任意である。
【００３３】
なお、本実施形態は、ＩＣカード１内のファイルシステムに本発明を適用した場合のシステムであるが、本発明の適用対象はこれに限定されず、ディレクトリ構造を有する種々のファイルシステムについて適用可能である。
次に、例えば、本実施形態の変形例として、複数ユーザにより利用される端末内のファイルシステムへの不正アクセスを防止するためのファイル保護システムについて説明する。
【００３４】
このファイル保護システムは、例えば図５に示すように、端末５と、認証用ＩＣカード７と、を備える。
【００３５】
端末５は、記憶部５１と、制御部５２と、入力部５３と、表示部５４と、を備え、ＩＣカードＲ／Ｗ６に接続されている。
記憶部５１には、端末５を利用するユーザ毎のディレクトリが形成されている。ディレクトリには、通常のディレクトリと、隠蔽ディレクトリと、がある。このうち、隠蔽ディレクトリには、ユーザが使用するデータの他に、ユーザがそのディレクトリにアクセスする際に使用するディレクトリ選択鍵（公開鍵）が格納されている。
また、記憶部５１は、制御部５２が実行するプログラムを記憶するとともに、処理に必要な各種のデータを記憶する。
【００３６】
制御部５２は、記憶部５１に記憶されるプログラムを実行することにより、各ユーザのディレクトリの生成処理、ユーザによる選択対象が隠蔽ディレクトリであるの場合の認証処理、ユーザにより選択された各ディレクトリの配下にあるデータの読み出し／書き込み処理等を行う。
【００３７】
例えば、制御部５２は、入力部５３から入力されたディレクトリの作成要求に応じて、記憶部５１に新たなユーザ用のディレクトリを生成する。この際、隠蔽ディレクトリの生成が要求された場合には、一対のディレクトリ選択鍵（秘密鍵／公開鍵）を生成し、一方のディレクトリ選択鍵（秘密鍵）をＩＣカードＲ／Ｗ６を介してユーザの認証用ＩＣカード７に記録するともに、他方のディレクトリ選択鍵（公開鍵）を、生成したディレクトリに格納する。
【００３８】
また、制御部５２は、ユーザによって入力部５３から入力されたディレクトリへのアクセス要求に応じて、選択されたディレクトリが隠蔽ディレクトリであるかを判別し、隠蔽ディレクトリである場合には、所定の認証処理によりユーザの認証を行う。そして、認証結果が適正である場合には、カレントディレクトリを、選択された隠蔽ディレクトリに移行する。このとき、認証結果がエラーである場合には、該当するディレクトリが存在しない旨のエラーメッセージを表示部５４に表示する。
なお、選択されたディレクトリが通常のディレクトリである場合には、そのまま、カレントディレクトリを、選択されたディレクトリへ移行する。
【００３９】
入力部５３は、ユーザにより入力されたデータを制御部５２に通知する。
表示部５４は、制御部５２からの指示に従って、各種処理画面等を表示する。
【００４０】
認証用ＩＣカード７は、ユーザ毎に設けられ、記憶部７１と、制御部７２と、入出力Ｉ／Ｆ（インタフェース）７３と、を備えるＩＣチップを有する。
記憶部７１は、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ等のメモリから構成され、端末５から供給されたディレクトリ選択鍵（秘密鍵）を記憶する。
制御部７２は、ユーザが端末５においてユーザにより選択された処理対象のディレクトリが隠蔽ディレクトリである場合には、端末５との間で所定の認証処理を行う。
【００４１】
次に、このファイル保護システムの動作について説明する。
例えば、端末５の記憶部５１にあるユーザＤのディレクトリを新たに生成する場面におけるディレクトリ生成処理について図６を参照して説明する。
【００４２】
例えば、ユーザＤが端末５の入力部５３から、ディレクトリの生成要求を入力する（Ｌ２１）。このとき、ユーザＤは、例えば、隠蔽ディレクトリを生成対象として設定する。
これに応じて、端末５の制御部５２は、ユーザＤに対応するディレクトリを記憶部５１に生成するとともに、一対のディレクトリ選択鍵（秘密鍵／公開鍵）を生成する（Ｌ２２）。そして、一方のディレクトリ選択鍵（秘密鍵）をＩＣカードＲ／Ｗ６を介してユーザＤの認証用ＩＣカード７に供給し（Ｌ２３）、他方のディレクトリ選択鍵（公開鍵）をユーザＤのディレクトリに格納する（Ｌ２４）。
これにより、端末５にユーザＤの隠蔽ディレクトリが生成される。
【００４３】
次に、ユーザＤが端末５における自己の隠蔽ディレクトリにアクセスする場面における認証処理について図７を参照して説明する。
【００４４】
例えば、ユーザＤが端末５の入力部５３からユーザＤのディレクトリを選択すると（Ｌ３１）、端末５は、乱数を生成して記憶部５１に記憶するとともに、認証用ＩＣカード７に送信する（Ｌ３２）。
認証用ＩＣカード７は、乱数を受け取ると、乱数をディレクトリ選択鍵（秘密鍵）で暗号化する等して認証コードを生成する（Ｌ３３）。そして、認証コードと、ユーザＤの隠蔽ディレクトリのディレクトリ名と、ディレクトリ選択鍵（秘密鍵）と対となるディレクトリ選択鍵（公開鍵）のＩＤと、を認証要求とともに端末５へ送信する（Ｌ３４）。
【００４５】
これに応じて、端末５は、引数のディレクトリ名とディレクトリ選択鍵（公開鍵）のＩＤから、ユーザＤのディレクトリに対応するディレクトリ選択鍵（公開鍵）を検索し、該当するディレクトリ選択鍵を検出した場合には、その鍵を用いて認証コードを復号化する。そして、復号化により取得したコードを、先に記憶部５１に記憶していた乱数と照合し、これらが一致するかをチェックする（Ｌ３５）。そして、チェック結果に基づくメッセージを表示部５４に表示する（Ｌ３６）。これにより認証処理が完了する。
【００４６】
この例では、チェック結果が正常であるとする。この場合、端末５は、カレントディレクトリを、選択されたユーザＤのディレクトリに移す。これにより、ユーザＤは、自己のディレクトリの配下にあるデータを読み出すことができる。
【００４７】
なお、上記認証処理において、認証コードのチェック結果がエラーを示す場合には、端末５は、該当するディレクトリが存在しない旨のメッセージを表示部５４に表示して処理を終了する。
【００４８】
このようにして、ユーザ毎のディレクトリが形成されるファイルシステムを有する端末５において、ユーザが端末５内の自己のディレクトリを選択する際に認証を行い、認証結果がエラーの場合にはディレクトリの存在を否定するため、各ユーザのディレクトリを他のユーザから隠し、他者が入り込めないようにすることができる。これにより、各ディレクトリについて正当な権限を有しない者による不正なアクセスを防止することができる。
また、端末５にアクセス可能なユーザであっても、他のどのユーザのデータがＩＣカード１に格納されているかを知ることができないため、各ユーザのプライバシーを保護することができる。
【００４９】
なお、本実施形態では、公開鍵暗号方式を用いて秘密鍵をカード処理端末３側（変形例では認証用カード７側）で保持し、公開鍵をＩＣカード１（変形例では端末５側）で保持するようにしているが、これに限定されず、例えば共通鍵暗号方式を用いるようにしてもよい。この場合、例えば、ＩＣカード１とカード処理端末３（変形例では、端末５と認証用カード７）で共通の鍵を保持するようにしてもよい。
【００５０】
また、本実施例では、認証に用いるディレクトリ選択鍵をＩＣカード内部で生成するようにしているが、これに限定されず、例えばＩＣカード外部（カード処理端末３等）で生成するようにしてもよい。
例えば、カード処理端末３が一対のディレクトリ選択鍵を生成し、ＩＣカード１に対して隠蔽ディレクトリの生成を要求し、これに応じて、ＩＣカード１が隠蔽ディレクトリを生成して、隠蔽ディレクトリの生成の完了をカード処理端末３に通知し、これに応じて、カード処理端末３がＩＣカード１に対してディレクトリ選択鍵を送信し、これに応じて、ＩＣカード１がディレクトリ選択鍵を、生成した隠蔽ディレクトリに格納するようにしてもよい。
また、上記処理において、ディレクトリ選択鍵の生成を処理の最初に行う必要はなく、例えば、カード処理端末３が隠蔽ディレクトリの生成要求をＩＣカード１に送信した後に行ってもよい。
【００５１】
また、上記変形例において、ディレクトリ選択鍵を用いた認証を行わず、ある隠蔽ディレクトリの存在を知っている全てのユーザが、その隠蔽ディレクトリにアクセスすることができるようにしてもよい。この場合、端末５は、ユーザからの隠蔽ディレクトリの指定に応じて、指定されたディレクトリが存在する場合にはカレントディレクトリを、選択されたディレクトリに移し、また、指定されたディレクトリが検出できない場合には、エラーメッセージを出力してもよい。また、ＩＣカード１についても、同様に、ディレクトリ選択鍵を用いた認証を行わず、ある隠蔽ディレクトリの存在を知っている全てのサービス提供者が、その隠蔽ディレクトリにアクセスすることができるようにしてもよい。
【００５２】
また、上記説明では、ディレクトリへのアクセス要求を受け付けたときの認証において、チェック結果がエラーを示す場合にはディレクトリの存在を否定しているが、これに限定されず、要求されたディレクトリへのアクセスを拒絶する旨の返答を行ってもよい。
【００５３】
なお、この発明のシステムは、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体（ＦＤ、ＣＤ−ＲＯＭ、ＤＶＤ等）に格納して配布し、該プログラムをコンピュータにインストールすることにより、上述の処理を実行するカード処理端末３、端末５等を構成してもよい。また、インターネット等のネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば搬送波に重畳してコンピュータにダウンロード等するようにしてもよい。
また、上述の機能を、ＯＳが分担又はＯＳとアプリケーションの共同により実現する場合等には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、搬送波に重畳してコンピュータにダウンロード等してもよい。
【００５４】
【発明の効果】
以上説明したように、本発明によれば、ディレクトリ構造を有するファイルシステムへの不正なアクセスを防止することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るＩＣカードシステムのシステム構成図である。
【図２】図１のＩＣカードシステムで使用されるＩＣカードの記憶部内のデータ構造を説明するための図である。
【図３】ディレクトリ生成処理を説明するための図である。
【図４】ＩＣカード内のディレクトリにアクセスする際の認証処理を説明するための図である。
【図５】本発明の実施形態の変形例のシステム構成図である。
【図６】図５に示すシステムにおけるディレクトリ生成処理を説明するための図である。
【図７】図５に示すシステムにおいて端末内のディレクトリにアクセスする際の認証処理を説明するための図である。
【符号の説明】
１          ＩＣカード
１１        記憶部
１２        制御部
１３        入出力Ｉ／Ｆ
３          カード処理端末
３１        制御部
３２        カードＲ／Ｗ部
３３        記憶部
３４        入力部
３５        表示部
５          端末
５１        記憶部
５２        制御部
５３        入力部
５４        表示部
６          カードＲ／Ｗ
７          認証用ＩＣカード
７１        記憶部
７２        制御部
７３        入出力Ｉ／Ｆ
【図１】
0004140683.tif 000002
【図２】
0004140683.tif 000003
【図３】
0004140683.tif 000004
【図４】
0004140683.tif 000005
【図５】
0004140683.tif 000006
【図６】
0004140683.tif 000007
【図７】
0004140683.tif 000008