(57)【要約】  暗証番号の照合や秘密鍵暗号方式による認証と、公開鍵暗号方式による認証という２つの異なる認証方法を組み合わせたアクセス制御方法はなかった。  暗証番号等、ＩＣカードの不揮発性メモリに格納される固定キーに付与されるキー番号を一時キーにも仮想的に付与し、このキー番号を公開鍵証明書に含めるとともに、アクセス権を設定するセキュリティ属性において、このキー番号を用いることにより、固定キーに関する情報と、一時キーに関する情報とを組み合わせて指定する。これにより、暗証番号の照合や秘密鍵暗号方式による認証と、公開鍵暗号方式による認証という２つの異なる認証方法を組み合わせたアクセス制御を行うことが可能となる。
2008032648.tif 000002
【特許請求の範囲】
【請求項１】
ＩＣカード内のファイルに対するアクセス制御方法であって、
前記ＩＣカードは、不揮発性メモリ内に固定キーを有し、
端末は、自身の公開鍵に対してカード発行者の秘密鍵により署名された公開鍵証明書を、前記ＩＣカードに送り、
前記ＩＣカードは、前記端末から受け取った前記公開鍵証明書の正当性を検証した後に、該公開鍵証明書から前記公開鍵を取り出し、それを一時キーとして前記ＩＣカード内の揮発性メモリに保持し、
前記ＩＣカード内のファイルは、前記固定キーを参照する固定キー参照情報と、前記一時キーを参照する一時キー参照情報とを有し、
前記ＩＣカードは、少なくとも前記固定キー参照情報、および前記一時キー参照情報に基づき、該ＩＣカード内の前記ファイルへのアクセスの可否を判断する、
ことを特徴とするアクセス制御方法。
【請求項２】
請求項１記載のアクセス制御方法において、
前記公開鍵証明書は、前記一時キーに仮想的に付与された第１のキー番号を含むとともに、
前記一時キー参照情報に格納される前記第１のキー番号によって、前記一時キーを用いた認証結果を参照する、
ことを特徴とするアクセス制御方法。
【請求項３】
請求項２記載のアクセス制御方法において、
前記固定キーに第２のキー番号が付与され、
前記固定キー参照情報に格納される前記第２のキー番号によって、前記固定キーを用いた認証結果を参照するとともに、
前記第１のキー番号と、前記第２のキー番号とに異なる値を付与されており、これより前記固定キーと、前記一時キーとを判別する、
ことを特徴とするアクセス制御方法。
【請求項４】
請求項２記載のアクセス制御方法において、
前記固定キーに第２のキー番号が付与され、
前記固定キー参照情報に格納される前記第２のキー番号によって、前記固定キーを用いた認証結果を参照するとともに、
前記固定キー参照情報、および前記一時キー参照情報の格納位置が固定とされ、これより前記固定キーと、前記一時キーとを判別する、
ことを特徴とするアクセス制御方法。
【請求項５】
請求項２記載のアクセス制御方法において、
前記固定キーに第２のキー番号が付与され、
前記固定キー参照情報に格納される前記第２のキー番号によって、前記固定キーを用いた認証結果を参照するとともに、
前記固定キー参照情報と、前記一時キー参照情報に、各々異なる識別子が付加されて、これより前記固定キーと、前記一時キーとを判別する、
ことを特徴とするアクセス制御方法。
【請求項６】
請求項１ないし請求項５のいずれかに記載のアクセス制御方法において、
前記ＩＣカード内のファイルが、階層構造をなし、
前記一時キー参照情報は、前記公開鍵証明書の段数に関する情報を有する、
ことを特徴とするアクセス制御方法。
【請求項７】
請求項１ないし請求項５のいずれかに記載のアクセス制御方法において、
前記ＩＣカード内のファイルが、階層構造をなし、
前記一時キー参照情報は、前記階層構造の階層番号に関する情報を有する、
ことを特徴とするアクセス制御方法。
【請求項８】
請求項１記載のアクセス制御方法において、
前記一時キー参照情報は、公開鍵暗号方式による認証結果をアクセス制御に反映させるか否かを示す情報を含む、
ことを特徴とするアクセス制御方法。
【請求項９】
請求項８記載のアクセス制御方法において、
前記公開鍵証明書は、ディレクトリ識別情報を有し、
現在選択されているディレクトリが、前記公開鍵証明書内にある前記ディレクトリ識別情報で示されたディレクトリである場合に、前記ＩＣカードは、通常処理を行う、
ことを特徴とするアクセス制御方法。
【請求項１０】
請求項８記載のアクセス制御方法において、
前記公開鍵証明書は、複数のディレクトリ識別情報を有し、
現在選択されているディレクトリが、前記公開鍵証明書内にある複数の前記ディレクトリ識別情報の各々で示されたディレクトリである場合に、前記ＩＣカードは、通常処理を行う、
ことを特徴とするアクセス制御方法。
【請求項１１】
請求項８記載のアクセス制御方法において、
前記公開鍵証明書は、複数のディレクトリ識別情報を有し、
現在選択されているディレクトリが、前記公開鍵証明書内にある複数の前記ディレクトリ識別情報の各々で示されたディレクトリであって、ルートディレクトリと、現在選択されているディレクトリとを結ぶ枝上にあるディレクトリか、あるいは、現在選択されているディレクトリの子孫である場合に、前記ＩＣカードは、通常処理を行う、
ことを特徴とするアクセス制御方法。
【請求項１２】
請求項８記載のアクセス制御方法において、
前記公開鍵証明書は、一つのファイル識別情報に、複数のコマンド識別情報を連結したものを有する、
ことを特徴とするアクセス制御方法。
【請求項１３】
請求項８記載のアクセス制御方法において、
前記公開鍵証明書は、一つのコマンド識別情報に、複数のファイル識別情報を連結したものを有する、
ことを特徴とするアクセス制御方法。
【請求項１４】
請求項１記載のアクセス制御方法において、
前記公開鍵証明書は、前記一時キーに仮想的に付与された第１のキー番号を含むとともに、
前記ＩＣカード内にある少なくとも１つのディレクトリが、前記第１のキー番号に対応した照合回数管理情報を有する、
ことを特徴とするアクセス制御方法。
【請求項１５】
ＩＣカード内のファイルに対するアクセス制御方法であって、
前記ＩＣカードは、不揮発性メモリ内に固定キーを有し、
端末は、前記固定キーを参照するアクセス制御情報に対して署名された情報を、前記ＩＣカードに送り、
前記ＩＣカードは、前記端末から受け取った前記署名された情報の正当性を検証した後に、該署名された情報から前記アクセス制御情報を取り出し、少なくとも該アクセス制御情報に基づき、前記ファイルへのアクセスの可否を判断する、
ことを特徴とするアクセス制御方法。
【請求項１６】
請求項１５記載のアクセス制御方法において、
前記ＩＣカードは、前記不揮発性メモリ内に絶対的アクセス権情報を有し、
この絶対的アクセス権情報に、前記アクセス制御情報よりも優先的に基づき、アクセス制御を行う、
ことを特徴とするアクセス制御方法。
【請求項１７】
ＣＰＵと、揮発性メモリと、不揮発性メモリを有し、
前記不揮発性メモリは、ファイルと、固定キーを有し、
前記ＣＰＵは、端末から受け取った公開鍵証明書の正当性を検証した後に、該公開鍵署名書から公開鍵を取り出し、それを一時キーとして前記揮発性メモリに保持し、
前記ファイルは、前記固定キーを参照する固定キー参照情報と、前記一時キーを参照する一時キー参照情報とを有し、
前記ＣＰＵは、少なくとも前記固定キー参照情報と、前記一時キー参照情報とに基づき、当該ファイルへのアクセスの可否を判断する、
ことを特徴とするＩＣカード。
【請求項１８】
請求項１７記載のＩＣカードにおいて、
前記一時キーは、これに仮想的に付与されたキー番号を持ち、
前記ＣＰＵは、前記公開鍵証明書に含まれるキー番号の正当性を検証するとともに、前記一時キー参照情報に格納されるキー番号によって、前記一時キーを用いた認証結果を参照する、
ことを特徴とするＩＣカード。
【請求項１９】
請求項１７記載のＩＣカードにおいて、
前記ＣＰＵは、前記一時キー参照情報に格納される公開鍵暗号方式による認証結果をアクセス制御に反映させるか否かを示す情報を用いて、アクセス制御を行う、
ことを特徴とするＩＣカード。
【請求項２０】
請求項１７記載のＩＣカードにおいて、
前記一時キーは、これに仮想的に付与されたキー番号を持ち、
前記ＣＰＵは、公開鍵証明書に含まれるキー番号の正当性を検証するとともに、該公開鍵証明書が有する少なくとも１つのディレクトリに含まれる、このキー番号に対応した情報に基づいて、前記一時キーの照合回数を管理する、
ことを特徴とするＩＣカード。
【請求項２１】
ＣＰＵと、揮発性メモリと、不揮発性メモリを有し、
前記不揮発性メモリは、ファイルと、固定キーを有し、
前記ＣＰＵは、端末から受け取った、前記固定キーを参照するアクセス制御情報に対して署名された情報の正当性を検証した後に、前記アクセス制御情報を取り出すとともに、少なくともこのアクセス制御情報によって、前記ファイルへのアクセスの可否を判断する、
ことを特徴とするＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカード、およびＩＣカードに格納されたファイル等に対するアクセス制御方法に関する。
【背景技術】
【０００２】
近年、磁気カードに代わるハイセキュリティなデバイスとしてＩＣカードが実用化されつつある。ＩＣカードは不揮発性メモリを有し、そこにファイルや暗証番号等を格納することができる。ＩＣカードのファイル構成は、一般的に図１７に示すように階層構造をなす。図１７は、ＩＣカードのファイル構成が２階層の場合を示している。なお、図１７では簡略化しているが、ファイルやキー（暗証番号や秘密鍵等）は、各ディレクトリ直下に複数個ずつ設けることができる。【０００３】
各ファイルは、図１８に示すようなセキュリティ属性を有する。セキュリティ属性とは、当該ファイルをアクセスするために満たすべき条件を示したものである。アクセスモード１８１には、“読出し”や“書込み”等、当該ファイルに対するアクセスの種別を識別する情報が格納される。セキュリティ条件１８２には、アクセスモード１８１で指定されたアクセス（例えば“読出し”）を実行するに先立って認証すべきキーに関する情報が格納される。論理条件１８３とは、セキュリティ条件が複数のキーに関する情報を有する場合のキーの組合せ条件を示し、ＡＮＤ論理（全てのキーの認証が必要）、またはＯＲ論理（いずれか一つのキーの認証が必要）のいずれか一方が設定される。また、各キーはキー番号で指定され、図１８は２つのキーに関する情報を有している場合を示している。キー番号とは、暗証番号のようなキーデータそのものではなく、キーを識別するための情報である。例えば、ＩＣカード内に最大８個のキーの設定が可能である場合、各々のキーに１〜８までのキー番号を付与する。キー番号で各キーを一意に特定できるよう、キー番号はＩＣカード内で重複しないように付与される。【０００４】
セキュリティ属性の設定方法について、以下、具体的に説明する。例えば図１７の第２階層のファイル１７６を読み出す際に、キー１７４とキー１７５の両方のキーの認証が必要である場合、アクセスモード１８１には、読出しコマンドであることを識別する情報が設定され、論理条件１８３には「ＡＮＤ論理」が設定される。また、キー１７４、およびキー１７５のキー番号として各々 “１”、“３”が付与されている場合、キー番号１８４、およびキー番号１８５には、各々“１”、“３”が設定される。【０００５】
キーの認証方法には幾つかの方法があるが、最も簡単な方法は、端末から入力されたキーデータと、ＩＣカードに格納されるキーデータとを単純に比較する方法である。ＩＣカード所持者の暗証番号の照合がこれに当たる。また、よりセキュリティを高めた認証手段として、秘密鍵暗号方式を利用した方法がある。この方法は、ＩＣカードと端末が同じ秘密鍵を共有し、ＩＣカードが生成した乱数に対して双方が同じ暗号化処理を行い、これらの結果をＩＣカードが比較する方式である。この比較結果が同じであれば、端末がＩＣカードと同じ秘密鍵を有していると考えられるため、この端末が正当なものであると判断することができる。これらいずれの方法でも、キー（暗証番号、あるいは秘密鍵）が不揮発性メモリに固定的に格納され、これらのキーを指定することによりセキュリティ属性が構成される。（以降、これらのキーを総称して“固定キー“と呼ぶ。）【０００６】
一方、公開鍵暗号方式を用いて認証を行う場合は、かなり状況が異なる。公開鍵暗号方式による認証手順を、図１９を用いて説明する。まず、ＩＣカードの所持者にサービスを提供する端末は、自分の公開鍵証明書をＩＣカードに送る。この公開鍵証明書は、カード発行者から予め発行されたもので、カード発行者の秘密鍵によるサービス提供者の公開鍵に対する署名を含んだものである。ＩＣカードは、カード発行者の秘密鍵と対を成す公開鍵を有しており、これを用いて、受信した公開鍵証明書に含まれる署名を検証し、この署名が正しければ、公開鍵証明書からサービス提供者の公開鍵を取り出し、これを一時的な公開鍵（以降、“一時キー”と呼ぶ）としてＩＣカード内の揮発性メモリに保持する。【０００７】
次に、ＩＣカードは取得した一時キーで外部認証を行う。この外部認証は、ＩＣカードが生成した乱数を端末に送り、端末から返送されてくる、サービス提供者の秘密鍵で署名した電子署名を先に取得した一時キーで検証することにより、端末の正当性を確認するものである。【０００８】
このように公開鍵暗号方式を用いた認証では、ＩＣカードの不揮発性メモリに格納された固定キーが使用されるのではなく、揮発性メモリに格納された一時キーが使用される。一時キーは一時的に保持されるキーであり、階層番号やキー番号は持たないため、図１８で示すセキュリティ属性の構造は適用できない。カード発行者の公開鍵はＩＣカード１の不揮発性メモリに格納される固定キーであるが、この公開鍵は端末を管理するサービス提供者の公開鍵に対する証明書以外の公開鍵証明書の検証にも汎用的に使用されるため、アクセス制御のために用いるには適していない。【０００９】
一般に公開鍵暗号方式を用いたシステムでアクセス制御を行う方法として、アクセス権限を示した属性証明書を使用する方法が知られている。これをＩＣカードシステムに適用した例として特許文献１と特許文献２がある。特許文献１では、ＩＣカード内のアクセス制御情報において、アプリケーションやデータごと、さらにはコマンド機能ごとにアクセスが許可されるアクセス主体者のＩＤを持たせ、このＩＤを公開鍵証明書に含めることにより、アクセスが許可される範囲をＩＣカードが特定できる方法を提供している。また、特許文献２では、公開鍵証明書に含まれるアクセス制御情報内でコマンド機能やアクセス対象データを指定することにより、アクセス権原の変更に柔軟に対応できる方法を提供している。
【特許文献１】特開２００３−３１６６５５号公報（図３）
【特許文献２】特開２００４−２４７７９９号公報（図９）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、実際のＩＣカードシステムでは、暗証番号の照合や秘密鍵暗号方式による認証と、公開鍵暗号方式による認証とを組み合わせたアクセス制御を行う必要がある場合が多い。例えば、あるファイルにアクセスするために、暗証番号による本人確認と、公開鍵暗号方式による端末認証の両方を必要とする場合等である。したがって、これらの組合せを実現できるセキュリティ属性の仕組みが必要となる。【００１１】
また、暗証番号の照合や秘密鍵暗号による認証の場合は、ＩＣカードのファイルの階層構造に対応したセキュリティ構造を採用するケースも多く、公開鍵暗号方式による認証の場合もこれに適応できることが望ましい。さらに、暗証番号の照合や秘密鍵暗号による認証では照合誤り回数を記録する機能を有しており、公開鍵暗号方式の場合もこの概念を導入することによってセキュリティを向上させることが必要となる。
【課題を解決するための手段】
【００１２】
上記の課題を解決するため、本発明に係るアクセス制御方法は、ＩＣカード内のファイルに対するアクセス制御方法であって、前記ＩＣカードは、不揮発性メモリ内に固定キーを有し、端末は、自身の公開鍵に対してカード発行者の秘密鍵により署名された公開鍵証明書を、前記ＩＣカードに送り、前記ＩＣカードは、前記端末から受け取った前記公開鍵証明書の正当性を検証した後に、該公開鍵証明書から前記公開鍵を取り出し、それを一時キーとして前記ＩＣカード内の揮発性メモリに保持し、前記ＩＣカード内のファイルは、前記固定キーを参照する固定キー参照情報と、前記一時キーを参照する一時キー参照情報とを有し、前記ＩＣカードは、少なくとも前記固定キー参照情報、および前記一時キー参照情報に基づき、該ＩＣカード内の前記ファイルへのアクセスの可否を判断することを特徴とする。【００１３】
これにより、暗証番号の照合や秘密鍵暗号方式による認証と、公開鍵暗号方式による認証、という２つの異なる認証方法を組み合わせたアクセス制御を行うことが可能となる。【００１４】
また、前記公開鍵証明書は、前記一時キーに仮想的に付与された第１のキー番号を含むとともに、前記一時キー参照情報に格納される前記第１のキー番号によって、前記一時キーを用いた認証結果を参照し、前記固定キーに第２のキー番号が付与され、前記固定キー参照情報に格納される前記第２のキー番号によって、前記固定キーを用いた認証結果を参照するとともに、前記第１のキー番号と、前記第２のキー番号とに異なる値を付与されており、これより前記固定キーと、前記一時キーとを判別するので、固定キー参照情報であるか一時キー参照情報であるかを識別するための特別な手段は必要なくなり、簡易で柔軟性に富んだ構成が可能となる。【００１５】
また、前記固定キー参照情報、および前記一時キー参照情報の格納位置が固定とされ、これより前記固定キーと、前記一時キーとを判別するので、格納位置によって固定キーか一時キーかを判別できるため、固定キーと一時キーとの間でキー番号を重複させることが可能となり、アクセス制御に使用できるキーの数を増やすことが可能となる。【００１６】
また、前記固定キー参照情報と、前記一時キー参照情報に、各々異なる識別子が付加されて、これより前記固定キーと、前記一時キーとを判別するので、固定キー参照情報と一時キー参照情報を任意の数だけ設けることができ、より柔軟性に富んだアクセス制御を実現することが可能となる。【００１７】
また、前記ＩＣカード内のファイルが、階層構造をなし、前記一時キー参照情報は、前記公開鍵証明書の段数に関する情報を有するので、公開鍵暗号方式による認証の場合に、ファイルの階層構造に対応したアクセス制御を実現することが可能となる。【００１８】
また、前記ＩＣカード内のファイルが、階層構造をなし、前記一時キー参照情報は、前記階層構造の階層番号に関する情報を有するので、サービス提供者間のなりすましを防止することが可能となる。【００１９】
また、前記一時キー参照情報は、公開鍵暗号方式による認証結果をアクセス制御に反映させるか否かを示す情報を含むので、一時キーを用いた認証に関するアクセス権の変更に柔軟に対応することができる。【００２０】
また、前記公開鍵証明書は、ディレクトリ識別情報を有し、現在選択されているディレクトリが、前記公開鍵証明書内にある前記ディレクトリ識別情報で示されたディレクトリである場合に、前記ＩＣカードは、通常処理を行うので、サービス提供者による不正ななりすましを防止することができる。【００２１】
また、前記公開鍵証明書は、複数のディレクトリ識別情報を有し、現在選択されているディレクトリが、前記公開鍵証明書内にある複数の前記ディレクトリ識別情報の各々で示されたディレクトリである場合に、前記ＩＣカードは、通常処理を行うので、複数のディレクトリに関するアクセス権情報を一つの公開鍵証明書にまとめてＩＣカードに送信することが可能となり、伝送効率を上げることができる。【００２２】
また、前記公開鍵証明書は、一つのファイル識別情報に、複数のコマンド識別情報を連結したものを有するので、一つのファイルに対して複数のアクセス（例えば、読出しと、書込み等）が許可される場合に伝送効率を上げることができる。【００２３】
また、前記公開鍵証明書は、一つのコマンド識別情報に、複数のファイル識別情報を連結したものを有するので、一つのアクセス（例えば、読出し）が複数のファイルに対して許可される場合に伝送効率を上げることができる。【００２４】
また、前記公開鍵証明書は、前記一時キーに仮想的に付与された第１のキー番号を含むとともに、前記ＩＣカード内にある少なくとも１つのディレクトリが、前記第１のキー番号に対応した照合回数管理情報を有するので、該キー番号により対象となるキーを識別することが可能となり、一時キーごとの照合回数の管理が可能となる。【００２５】
さらに、本発明に係るアクセス制御方法は、ＩＣカード内のファイルに対するアクセス制御方法であって、前記ＩＣカードは、不揮発性メモリ内に固定キーを有し、端末は、前記固定キーを参照するアクセス制御情報に対して署名された情報を、前記ＩＣカードに送り、前記ＩＣカードは、前記端末から受け取った前記署名された情報の正当性を検証した後に、該署名された情報から前記アクセス制御情報を取り出し、少なくとも該アクセス制御情報に基づき、前記ファイルへのアクセスの可否を判断することを特徴とする。【００２６】
これにより、従来はＩＣカードの不揮発性メモリに格納していたセキュリティ属性に関する情報を、端末からＩＣカードに送信することとなり、暗証番号の照合や、秘密鍵暗号方式による認証に関するアクセス権の変更にも、柔軟に対応することができる。【００２７】
また、前記ＩＣカードは、前記不揮発性メモリ内に絶対的アクセス権情報を有し、この絶対的アクセス権情報に、前記アクセス制御情報よりも優先的に基づき、アクセス制御を行うので、アクセス権情報を含む公開鍵証明書がたとえ偽造されたとしても、必要なセキュリティを確保することが可能となる。
【発明の効果】
【００２８】
この発明にかかるＩＣカード、およびアクセス制御方法によれば、暗証番号の照合や秘密鍵暗号方式による認証と、公開鍵暗号方式による認証、という２つの異なる認証方法を組み合わせたアクセス制御を行うことが可能となり、多様なシステム要件に対応することができる。【００２９】
また、暗証番号の照合や、秘密鍵暗号による認証の場合と同様に、公開鍵暗号の場合もＩＣカードのファイルの階層構造に対応したアクセス制御が可能となる。【００３０】
さらに、暗証番号の照合や秘密鍵暗号による認証の場合と同様に、公開鍵暗号方式の場合にも照合誤り回数を記録することが可能となり、セキュリティを向上させることができる。【００３１】
さらに、一時キーを用いた認証に関するアクセス権の変更のみならず、暗証番号の照合や秘密鍵暗号方式による認証に関するアクセス権の変更にも、柔軟に対応することができる。
【図面の簡単な説明】
【００３２】
【図１】図１は、本発明の実施の形態１におけるＩＣカードシステムの構成図である。
【図２】図２は、本実施の形態１のアクセス制御方法におけるファイル等の論理構造図である。
【図３】図３は、本実施の形態１におけるセキュリティ属性の構造図である。
【図４】図４は、本実施の形態１におけるＩＣカードシステムのアクセス制御手順を示す図である。
【図５】図５は、本実施の形態１における他のセキュリティ属性の構造図である。
【図６】図６は、本発明の実施の形態２によるアクセス制御方法におけるセキュリティ属性の構造図である。
【図７】図７は、本実施の形態２におけるＩＣカードシステムのアクセス制御手順を示す図である。
【図８】図８は、本実施の形態３のアクセス制御方法におけるファイル等の論理構造図である。
【図９】図９は、本実施の形態３におけるセキュリティ属性の構造図である。
【図１０】図１０は、本実施の形態４のアクセス制御方法におけるセキュリティ属性の構造図である。
【図１１】図１１は、本実施の形態４におけるＩＣカードシステムのアクセス制御手順を示す図である。
【図１２】図１２は、本実施の形態４における公開鍵証明書の構成図である。
【図１３】図１３は、本実施の形態４における他の公開鍵証明書の構成図である。
【図１４】図１４は、本実施の形態５のアクセス制御方法におけるディレクトリの構成図である。
【図１５】図１５は、本実施の形態６のアクセス制御方法における公開鍵証明書の構成図である。
【図１６】図１６は、本実施の形態６のアクセス制御方法におけるディレクトリの構成図である。
【図１７】図１７は、一般的なＩＣカードのファイル等の論理構造図である。
【図１８】図１８は、従来のＩＣカードのセキュリティ属性の構造図である。
【図１９】図１９は、一般的なＩＣカードシステムの公開鍵暗号方式による認証手順を示す図である。
【符号の説明】
【００３３】
１  ＩＣカード
２  端末
１０  セキュリティ属性
３１  アクセスモード
３２  セキュリティ条件
３３  論理条件
３４  固定キー参照情報
３５  一時キー参照情報
６４  固定キー参照情報
６５  一時キー参照情報
６６  証明書の段数
９５  一時キー参照情報
９６  階層番号
１０２  一時キー参照情報
１２３  アクセス権情報
１４１  照合回数管理テーブル
１５２  ディレクトリ関連コマンドアクセス権情報
１５３  ファイル関連コマンドアクセス権情報
１６１  絶対的アクセス権情報
【発明を実施するための最良の形態】
【００３４】
以下、本発明の実施の形態について、図面を参照しながら説明する。【００３５】
（実施の形態１）
図１は、本発明の実施の形態１によるアクセス制御方法を実施するＩＣカードシステムの構成を示す図である。【００３６】
図１において、１はＩＣカード、２はＩＣカード１の所持者にサービスを提供する端末であり、ＩＣカード１はＣＰＵ３、ＲＡＭ４、およびＥＥＰＲＯＭ５で構成される。ＣＰＵ３は、端末２との間のコマンドおよびレスポンスの送受信やアクセス制御を初めとするＩＣカード１の処理全般を司る。ＲＡＭ４は、作業用に使用される揮発性メモリである。また、ＥＥＰＲＯＭ５は、キーやファイル等を格納するための不揮発性メモリである。【００３７】
ＥＥＰＲＯＭ５に格納されるファイルの論理構造を、図２に示す。図１ではＥＥＰＲＯＭ５に格納されるものとしてキーと、ファイルしか示していないが、実際にはディレクトリに関する情報等も含まれる。ディレクトリは２階層で構成され、第１階層にルートディレクトリ２１、第２階層に２つのサブディレクトリ２２および２３を有する。第１階層のルートディレクトリ２１直下には、暗証番号６と、カード発行者の公開鍵１１と、ファイル７が格納され、第２階層のサブディレクトリ２２直下には、ファイル９が格納されている。【００３８】
図１に示すように、ファイル７，９には、それぞれセキュリティ属性８，１０が設定されている。ここでは、ファイル９に対するアクセス制御、すなわち、セキュリティ属性１０に対するアクセス制御を例に説明を行う。ファイル９からデータを読み出す際のアクセス条件として、暗証番号６によるカード所持者の認証、かつ、公開鍵暗号方式による端末２（正確には端末２のアプリケーションのオーナーであるサービス提供者）の認証が、要求されている場合のセキュリティ属性１０の構造を、図３に示す。【００３９】
図３に示すように、セキュリティ属性１０は、アクセスモード３１と、セキュリティ条件３２で構成される。アクセスモード３１には、当該ファイルに対するアクセスの種別である“読出し”を識別する情報、例えば、読出しコマンドの命令コード、が格納される。また、セキュリティ条件３２には、アクセスモード３１で指定されたアクセス（“読出し”）を実行するに先立って認証すべきキーに関する情報が格納される。固定キー参照情報３４には、暗証番号６を特定するための情報が格納される。【００４０】
これらの情報の説明に先立ち、本実施の形態１におけるキーの識別方法について説明する。【００４１】
ＩＣカード１に格納されるキーの識別情報として、各キーに対し独自のキー番号が付与される。例えば“１”から始まるシーケンス番号が付与されるものとし、暗証番号６にキー番号“１”が付与され、後述するように、カード発行者の公開鍵１１にキー番号“２”が付与される。キー番号は、ディレクトリの階層に関係なく、ＩＣカード内で全階層を通して重複しない番号が付与される。【００４２】
本実施の形態１では、まず、固定キー参照情報３４には、カード所持者の認証のための暗証番号６を特定する情報として、キー番号“１”という情報が格納されている。【００４３】
また、本実施の形態１では、ＩＣカード１のＥＥＰＲＯＭ５に格納される固定キーに付与されるキー番号を、実体のない一時キーにも仮想的に付与する。具体的には、本実施の形態１では、キー番号“６”〜“８”を、一時キー用に割り当てる。ここで、現時点ではＩＣカード１の固定キー参照情報３４には、暗証番号６しか格納されていないが、将来新たなキーが追加で格納される可能性があることを考慮し、キー番号“３”〜“５”は予備としておく。そして、上記においても述べているように、一時キー参照情報３５には、一時キーを特定するための情報として、キー番号“６”〜“８”の内、例えば“８”という情報を格納する。最後に、論理条件３３にはＡＮＤ論理を設定する。【００４４】
このセキュリティ属性１０の構造は、ファイル９からデータを読み出す際のアクセス条件として、キー番号“１”の暗証番号の照合と、キー番号“８”の一時キーによる認証、との両方を要求していることを、示している。【００４５】
この本実施の形態１においては、そのアクセス制御は、図４に示す手順で実行される。図４はファイル９からデータを読み出す際のアクセス制御手順を示したものである。【００４６】
まず、ＩＣカード１の所持者にサービスを提供する端末２は、所持者に暗証番号の入力を促し、端末２に入力された暗証番号をＩＣカード１に送る。ＩＣカード１は、端末２から送られてきた暗証番号と、ＥＥＰＲＯＭ５に格納されている暗証番号６とを照合し、その結果をＲＡＭ４に保持するとともに、結果を端末２に知らせる。【００４７】
前記暗証番号の照合が正しく行われた場合、次に、端末２は自身の公開鍵証明書を、ＩＣカード１に送る。この公開鍵証明書は、カード発行者から予め発行されたもので、カード発行者の秘密鍵によるサービス提供者（この場合、端末２）の公開鍵に対する署名を含んだものである。さらに、この公開鍵証明書は、前述した一時キーに付与されたキー番号“８”に対する署名をも含んでいる。【００４８】
ＩＣカード１は、カード発行者の秘密鍵と対を成す公開鍵を有しており、これを用いて端末２から送られて来て受信した公開鍵証明書に含まれる署名を検証し、この署名が正しければ、該公開鍵証明書からサービス提供者の公開鍵を取り出し、これを一時キーとして、ＩＣカード１内のＲＡＭ４に保持する。【００４９】
次に、ＩＣカード１は、上記取得した一時キーで外部認証を行う。この外部認証は、ＩＣカード１が生成した乱数を端末２に送り、端末２から返送されてくる、サービス提供者の秘密鍵で署名した電子署名を、先に取得した一時キーで検証することにより、端末２（即ちサービス提供者）の正当性を確認するものである。この外部認証が成功した時、端末２がキー番号“８”に対応するアクセス権限を有するものであることの証として、キー番号“８”という情報をＲＡＭ４に保持する。【００５０】
その後、ＩＣカード１は、ファイル９に対する読出しコマンドを端末２から受信した際、セキュリティ属性１０の内容から、データを読み出す際のアクセス条件として、キー番号“１”の暗証番号の照合、かつ、キー番号“８”の一時キーによる認証が要求されていることを認識し、上述した照合結果および外部認証結果から、アクセス条件が満たされていると判断し、ファイル９からのデータの読み出しを許可する。【００５１】
このように、本実施の形態１においては、暗証番号等、ＩＣカードの不揮発性メモリに格納される固定キーに付与されるキー番号を一時キーにも仮想的に付与し、このキー番号を公開鍵証明書に含めるとともに、アクセス権を設定するセキュリティ属性においてこのキー番号を用いるので、固定キーに関する情報と一時キーに関する情報とを組み合わせて指定することにより、暗証番号の照合や秘密鍵暗号方式による認証と、公開鍵暗号方式による認証という２つの異なる認証方法を組み合わせたアクセス制御を行うことが可能となる。【００５２】
なお、上記の説明では、固定キーと一時キーに異なるキー番号を割り当てている。上記の例において、キー番号“１”〜“５”が固定キーに割り当てられ、キー番号“６”〜“８”が一時キーに割り当てられているということをＩＣカードが知ることができれば、キー番号によって固定キーか一時キーかを判別できるため、固定キー参照情報３４であるか一時キー参照情報３５であるかを識別するための特別な手段は必要ではなく、簡易で柔軟性に富んだ構成を提供することが可能となる。このキー番号の割り当て情報をＩＣカードが知る手段としては、暗黙的な方法（ＣＰＵ３にプログラミングされている）、あるいは明示的な方法（例えば、ルートディレクトリの管理情報にキー番号の割当て情報を持たせる等）によって実現可能である。【００５３】
逆に、固定キー参照情報３４と一時キー参照情報３５の並びを固定すれば、格納位置によって固定キーか一時キーかを判別できるため、固定キー間および一時キー間でのキー番号の重複さえ回避すればよく、固定キーと一時キーとの間でキー番号を重複させることが可能となり、アクセス制御に使用可能なキーの数を増やすことが可能となる。【００５４】
また、この方法では、公開鍵暗号方式を用いて認証する端末が１種類しかない場合、複数の一時キーを識別する必要はなく、したがって一時キーにキー番号は付与しなくてもよい。この場合、一時キー参照情報３５はキー番号として空の情報を持つことになる。ただし、公開鍵暗号方式による認証結果がアクセス制御に反映されることを示すため、一時キー参照情報３５自体は、セキュリティ属性１０内に存在する必要がある。【００５５】
また、セキュリティ属性１０の具体的な実現手段には、様々な方法が考えられる。例えば、上記の方法では、固定キー参照情報と一時キー参照情報とを１つずつ設けているが、それぞれ複数個連結してもよい。この場合も、上記で説明した２つの方法、すなわち、固定キーと一時キーに異なるキー番号を割り当てる方法と、固定キー参照情報と一時キー参照情報の格納位置を固定とする方法のいずれも実現可能である。あるいは、その他の方法として、固定キー参照情報と、一時キー参照情報の各々に識別子を付加する方法が考えられる。【００５６】
この方法によれば、固定キー参照情報と一時キー参照情報を任意の数だけ設けることができ、より柔軟性に富んだアクセス制御を実現できる。この場合も、識別子によって固定キーか一時キーかを判別できるため、固定キーと一時キーとの間でキー番号が重複してもよい。【００５７】
この方法の場合も、上記の方法と同様に、公開鍵暗号方式を用いて認証する端末が１種類しかない場合、一時キー参照情報３５は、キー番号として空の情報を持つことになる。【００５８】
さらに、セキュリティ属性１０の他の実現方法として、例えば、図５に示す構成も可能である。この方法では、読出しコマンド、書込みコマンド、および書換えコマンド用に１バイトずつ割り当てられ、各々がキー指定情報５１を有する。このキー指定情報５１は、各コマンドを実行するために認証が必要となるキーに関する情報であり、図３のセキュリティ条件３２に相当するものである。第１〜４ビット（ｂ１〜ｂ４）、および第５〜７ビット（ｂ５〜ｂ７）を、それぞれ固定キー指定情報と、一時キー指定情報に割り当てる。各ビットはキー番号に対応し、例えば、ビット５はキー番号“５”が付与されたキーの認証が必要であることを示す。また、最上位ビット（ｂ８）で、論理条件を示す。【００５９】
このような構造のセキュリティ属性によっても、上記と同じ目的を達成することができる。【００６０】
なお、上記で説明したキー番号の割り当て方法やセキュリティ属性の変形は、以降の他の実施の形態についても同様であるため、以降は説明を割愛する。【００６１】
以上のように本実施の形態１によるアクセス制御方法によれば、ＩＣカードの不揮発性メモリに格納される固定キーに付与されるキー番号を一時キーにも仮想的に付与し、このキー番号を公開鍵証明書に含めるとともに、アクセス権を設定するセキュリティ属性において固定キーと一時キーの両キー番号を用いるようにしたので、固定キー情報と一時キー情報の両者を組み合わせてアクセス条件を指定することにより、暗証番号の照合や秘密鍵暗号方式による認証と、公開鍵暗号方式による認証という２つの異なる認証方法を組み合わせたアクセス制御を行うことが可能となる。【００６２】
（実施の形態２）
本発明の実施の形態２によるアクセス制御方法は、ファイルの階層構造に対応したキーの参照方法を用いたものである。【００６３】
前記実施の形態１では、ディレクトリの階層に関係なく、ＩＣカード内で全階層を通して重複しないキー番号が付与される場合を示したが、キー番号を各ディレクトリ直下でのみ重複しないように付与し、ディレクトリが異なれば重複を許す場合も多い。このようにすれば、他のディレクトリを気にすることなく、ディレクトリごとにキー番号を割り当てることができる。例えば、一つのディレクトリ直下に各々最大８個のキーの設定が可能である場合、各固定キーに１〜８のいずれかのキー番号を付与する。このように、一つのディレクトリ直下でキー番号が重ならないように付与すれば、階層番号とキー番号の組合せで各固定キーを一意に指定することが可能となる。【００６４】
これをより詳細に説明すると、例えば、図２のファイル９に対するアクセス制御を考える場合、ルートディレクトリ２１から始まって自身に至るまでの経路にあたるルートディレクトリ２１、およびサブディレクトリ２２直下の固定キーのみが対象となり、それ以外のディレクトリ（すなわち、サブディレクトリ２３）の配下のキーは対象外となる。すなわち、階層番号が特定できれば、対象となるディレクトリは一意に決まる。したがって、例えば、第２階層が指定された場合は、サブディレクトリ２２が対象となるため、このディレクトリ直下でキー番号が重ならないように付与すれば、階層番号とキー番号の組合せで、各固定キーを一意に指定することが可能となる。【００６５】
このように階層番号と、キー番号の組合せで固定キーを指定する場合のセキュリティ属性１０の構造を、図６に示す。図６に示すように、固定キー参照情報６４が、階層番号と、キー番号で構成される。なお、アクセスモード３１、および論理条件３３は、図３に示したものと同じである。【００６６】
次に、一時キー参照情報６５について説明する。一時キーは、ＥＥＰＲＯＭ５内に存在しないため、固定キーのような階層番号という概念を持たない。これに取って代わるものとして、一時キーの場合は、以下に説明するように、“証明書の段数”という概念を導入する。以下、これについて詳細に説明する。【００６７】
サブディレクトリ２２は、ルートディレクトリ２１の配下に位置するものであるから、ルートディレクトリ２１を管理する第１のサービス提供者の許可の下で、第２のサービス提供者がサブディレクトリ２２直下のファイル９にアクセスすると考えることができる。第１のサービス提供者をカード発行者が兼ねる場合も多いと考えられるが、ここでは、カード発行者とは別に、第１のサービス提供者が存在するものとする。【００６８】
ファイル９からデータを読み出す際のアクセス条件として、暗証番号６によるカード所持者の認証、かつ、公開鍵暗号方式による第２のサービス提供者の認証、が要求されている場合のアクセス制御手順について、図７を用いて説明する。【００６９】
図７は、ファイル９からデータを読み出す際のアクセス制御手順を示したものである。ＩＣカード１の所持者の暗証番号入力に関しては、前記実施の形態１と同じであるため説明を割愛する。【００７０】
暗証番号の照合が正しく行われた場合、次に、端末２は第１の公開鍵証明書をＩＣカード１に送る。この第１の公開鍵証明書は、カード発行者から予め発行されたもので、カード発行者の秘密鍵による第１のサービス提供者の公開鍵に対する署名を含んだものである。ＩＣカード１は、カード発行者の秘密鍵と対を成す公開鍵を有しており、これを用いて、受信した第１の公開鍵証明書に含まれる署名を検証し、この署名が正しければ、第１の公開鍵証明書から第１のサービス提供者の公開鍵を取り出し、第１の一時キーとしてＩＣカード１内のＲＡＭ４に保持する。【００７１】
次に、端末２は、第２の公開鍵証明書をＩＣカード１に送る。この第２の公開鍵証明書は、第１のサービス提供者から予め発行されたもので、第１のサービス提供者の秘密鍵による第２のサービス提供者の公開鍵に対する署名を含んだものである。ＩＣカード１は、先に取得した第１のサービス提供者の公開鍵である第１の一時キーを用いて、受信した第２の公開鍵証明書に含まれる署名を検証し、この署名が正しければ、第２の公開鍵証明書から第２のサービス提供者の公開鍵を取り出し、第２の一時キーとしてＩＣカード１内のＲＡＭ４に保持する。【００７２】
次に、ＩＣカード１は取得した第２の一時キーで外部認証を行い、その結果を用いてアクセス制御を行う。この外部認証の手順は、実施の形態１と同じであるため、説明を割愛する。【００７３】
このように、第２のサービス提供者が自身の正当性を証明する場合、２段階の公開鍵証明書を用いる。【００７４】
上記で説明したように、第１の公開鍵証明書は、カード発行者が第１のサービス提供者に権限を与えるものであり、第２の公開鍵証明書は、第１のサービス提供者が第２のサービス提供者に権限を与えるものとなっている。したがって、図６の一時キー参照情報６５の証明書の段数６６に、２段階の公開鍵証明書を意味する“２”という値を設定することにより、公開鍵暗号方式による第２のサービス提供者の認証が要求されていることを示すことができる。【００７５】
また、図６の一時キー参照情報６５のキー番号６７には、第２の一時キーに付与されたキー番号が格納される。前記実施の形態１と同様に、第２の公開鍵証明書は、この一時キーに付与されたキー番号に対する署名も含んでおり、キー番号が改竄されたものでないことが保証される。【００７６】
なお、証明書の段数６６に“１”という値が設定されている場合は、１段階の公開鍵証明書を示し、上記の第１の一時キーを用いた外部認証による第１のサービス提供者の認証が必要となる。第１の公開鍵証明書は、第１の一時キーに付与されたキー番号に対する署名も含んでおり、キー番号６７には、このキー番号が設定される。【００７７】
このように、証明書の段数という概念を導入することにより、公開鍵暗号方式による認証の場合も、ＩＣカードのファイルの階層構造に対応したセキュリティ構造を提供できる。【００７８】
以上のような本実施の形態２によるアクセス制御方法によれば、実施の形態１のアクセス制御方法において、ファイルの階層構造に対応したキーの参照方法を用い、特に、一時キーの場合は、“証明書の段数”という概念を導入して、キー番号を各ディレクトリ直下でのみ重複しないように付与するようにしたので、暗証番号の照合や秘密鍵暗号方式による認証と、公開鍵暗号方式による認証という２つの異なる認証方法を組み合わせたアクセス制御を行う際において、公開鍵暗号方式による認証においても、ＩＣカードのファイルの階層構造に対応したセキュリティ構造を提供できる効果が得られる。【００７９】
（実施の形態３）
本発明の実施の形態３によるアクセス制御方法は、第２のサービス提供者が第１のサービス提供者からの独立性を保てないという、前記実施の形態２によるアクセス制御方法における問題点を、解決するように工夫されたものである。【００８０】
前記実施の形態２のアクセス制御方法では、第２の公開鍵証明書は第１のサービス提供者によって署名されるものであるため、第１のサービス提供者であれば、この第２の公開鍵証明書を偽造することができる。すなわち、第１のサービス提供者が第２のサービス提供者になりすまして、ファイル９のデータを読み出すことが可能である。したがって、ファイル９を第１のサービス提供者が読み出すことを禁止したい場合には、前記実施の形態２のアクセス制御方法は、適さない。【００８１】
この問題点を解決するため、本発明の実施の形態３によるアクセス制御方法は、以下の方法を採ったものである。すなわち、予めカード発行者の秘密鍵／公開鍵ペアを各階層用に別々に生成し、図８に示すように、ＩＣカードの各階層にカード発行者の公開鍵を設定する。すなわち、ディレクトリが２階層の場合は、第１階層に発行者の第１公開鍵８１を設定し、第２階層に発行者の第２公開鍵８２を設定する。そして、カード発行者の第１秘密鍵による第１のサービス提供者の公開鍵に対する署名を含んだ第１の公開鍵証明書を、カード発行者から予め第１のサービス提供者に対して発行する。同様に、カード発行者の第２秘密鍵による第２のサービス提供者の公開鍵に対する署名を含んだ第２の公開鍵証明書を、カード発行者から予め第２のサービス提供者に対して発行する。ここで、カード発行者の第１秘密鍵と、第１公開鍵が対をなすものであり、第２秘密鍵と、第２公開鍵が対をなすものである。また、各公開鍵証明書には、これまでと同様に、各一時キーに付与されたキー番号に対する署名も含まれる。【００８２】
この場合のセキュリティ属性１０の構造を、図９に示す。一時キー参照情報９５以外の構成要素は、図６と同じものである。一時キー参照情報９５の階層番号９６には、該当する公開鍵証明書の検証に使用される発行者の公開鍵が格納されるディレクトリの階層番号が設定される。すなわち、第１のサービス提供者にアクセスを許可する場合は、階層番号９６に“１”という値が設定され、第２のサービス提供者にアクセスを許可する場合は、階層番号９６に“２”という値が設定される。キー番号９７には、一時キーに付与されたキー番号が格納される。【００８３】
以上のような本実施の形態３のアクセス制御方法によれば、予めカード発行者の秘密鍵／公開鍵ペアを各階層用に別々に生成し、ＩＣカードの各階層にカード発行者の公開鍵を設定するようにしたので、第１のサービス提供者が第２のサービス提供者になりすますためには、カード発行者の第２秘密鍵による第１のサービス提供者の公開鍵に対する署名が必要となるが、これを生成できるのはカード発行者だけであることになり、該第１のサービス提供者によるなりすましを防止することができる。また同様に、第２のサービス提供者が第１のサービス提供者になりすますことも防止できる。【００８４】
（実施の形態４）
前述した実施の形態１ないし３では、ファイルにセキュリティ属性を設定したが、公開鍵暗号方式においては、サービス提供者が許されるアクセス種別や対象ファイルを、端末から送られる公開鍵証明書の中で指定するようにすることもできる。このようにすれば、公開鍵証明書を変更するだけでＩＣカード内のファイルへのアクセス権を変更することができる。すなわち、ＩＣカード内のセキュリティ属性を変更する必要がないため、ＩＣカードを回収する必要がないという運用上のメリットが生まれる。【００８５】
以下、本発明の実施の形態４によるアクセス制御方法について、図１０、および図１１を用いて説明する。【００８６】
本実施の形態４では、前提として、ＩＣカードシステムの構成、およびファイルの論理構造は、以前の実施の形態と同様に、図１、図２と同じものを想定する。また、ファイル９からデータを読み出す際のアクセス条件についても、以前の実施の形態と同様に、暗証番号６によるカード所持者の認証、かつ、公開鍵暗号方式による端末２の認証、が要求されているものとする。【００８７】
図１０は、本実施の形態４によるアクセス制御方法におけるファイルのセキュリティ属性の構造を示しており、一時キー参照情報１０２以外は、前記実施の形態１と同じ構成である。一時キー参照情報１０２には、一時キーを用いた外部認証が必要であるか否かを示す情報が設定されている。例えば、値“０”が設定されていれば、外部認証は不要であり、値“１”が設定されていれば、外部認証が必要であるものとし、ここでは、値“１”が設定されているものとする。【００８８】
あるいは他の方法としては、一時キー参照情報１０２が存在すれば、一時キーを用いた外部認証が必要であることを示し、一時キー参照情報１０２が存在しなければ、一時キーを用いた外部認証が不要であるとする等、の構成を採ることも可能である。【００８９】
図１１は、本実施の形態４によるアクセス制御方法におけるアクセス制御手順を示す。【００９０】
暗証番号の照合から外部認証までの基本的な処理の流れは、前記実施の形態１と同じであるため説明を割愛する。外部認証まで正しく行われた場合、公開鍵証明書で指定されたコマンド名と、対象ファイルの識別子等を、ＲＡＭ４に保持する。【００９１】
その後、ＩＣカード１はファイル９に対する読出しコマンドを端末２から受信した際、セキュリティ属性１０の内容から、データを読み出す際のアクセス条件として、キー番号“１”の暗証番号の照合、かつ、一時キーによる認証、が要求されていることを認識し、まず、暗証番号の照合結果と、外部認証の結果をチェックする。これらがともに成功していた場合は、上記ＲＡＭ４に保持されたコマンド名に読出しコマンドが含まれ、かつ、対象ファイルにファイル９が含まれているか否かをチェックし、ともに含まれていた場合に限り、アクセス条件が満たされていると判断し、ファイル９からのデータの読み出しを許可する。【００９２】
上記では、論理条件３３がＡＮＤ論理である場合を説明したが、ＯＲ論理の場合は、暗証番号の照合か、一時キーによる外部認証のいずれか一方が成功すれば、ファイルの読出しが許可される。【００９３】
このように、公開鍵暗号方式による認証結果をアクセス制御に反映させるか否かを示す情報を、セキュリティ属性に持たせることにより、一時キーを用いた認証に関するアクセス権の変更に、柔軟に対応することができる。【００９４】
以下、本実施の形態４における公開鍵証明書について詳しく説明する。【００９５】
図１２は、本実施の形態４における公開鍵証明書の構成を示したものである。【００９６】
公開鍵関連情報１２２には、サービス提供者の公開鍵の他、署名者の識別情報、署名アルゴリズム、有効期限等が格納される。この公開鍵関連情報１２２と、後述するアクセス権情報１２３とで構成される署名対象データ１２１に対し、カード発行者の秘密鍵で署名したものが、署名データ１２４である（図１２（ａ）参照）。【００９７】
アクセス権情報１２３は、ディレクトリ名１２５と、ファイル／コマンド種別情報１２６で構成される（図１２（ｂ）参照）。【００９８】
まず、ファイル／コマンド種別情報１２６について説明する。ファイル／コマンド種別情報１２６の最も簡単な構成は、図１２（ｃ）に示すように、ファイル識別子と、コマンド種別とを連結する方法である。例えば、ファイル９に対する読出し権限を持つサービス提供者の公開鍵証明書であれば、ファイル識別子として、ファイル９のファイル名が設定され、アクセス種別として、読出しコマンドのコマンドコードが設定される。【００９９】
複数のファイル、および複数のアクセス種別に対するアクセス権限を持つ場合、ファイル識別子とアクセス種別を単純に連結する方法では、伝送効率が悪いため、図１２（ｄ）あるいは図１２（ｅ）の方法が考えられる。図１２（ｄ）は、一つのファイル識別子に複数のコマンド種別を連結する方法であり、一つのファイルに対して複数のアクセス（例えば、読出しと書込み等）が許可される場合に有効である。一方、図１２（ｅ）は、一つのコマンド種別に複数のファイル識別子を連結する方法であり、一つのアクセス方法（例えば、読出し）が複数のファイルに対して許可される場合に有効である。【０１００】
ディレクトリ名１２５は、各ディレクトリ（ルートディレクトリ、またはサブディレクトリ）を識別するためのものである。ファイル識別子は、ディレクトリごとに独立に付与されるのが一般的であり、異なるディレクトリ直下に同じファイル識別子が存在するケースは、往々にしてある。したがって、公開鍵証明書がディレクトリ名１２５を持たない場合、あるディレクトリを対象とした公開鍵証明書を、別のディレクトリに流用することが可能となり、セキュリティ上問題がある。公開鍵証明書にディレクトリ名１２５を含め、カード発行者による署名の対象とすることにより、この問題点を解消することができる。【０１０１】
ここで、ＩＣカード１の処理としては、公開鍵証明書に含まれるディレクトリ名１２５が現在選択されているディレクトリと異なる場合は、エラーとする。また、別のディレクトリが選択された場合は、図１１で説明したＲＡＭ４に保持された一時キーと、コマンド名および対象ファイルの識別子は、消去される。【０１０２】
このように、ディレクトリごとに公開鍵証明書を準備する方法もあるが、親子さらにその子孫という関係にあたる、一つの枝上に位置する複数のディレクトリ（例えば、図２のルートディレクトリ２１と、サブディレクトリ２２）に対するアクセス権限がサービス提供者に与えられている場合、これらを一つの公開鍵証明書にまとめてＩＣカード１に送ることができれば、伝送効率を上げることができる。【０１０３】
それを実現するための公開鍵証明書の構成を、図１３に示す。図１３は、２つのディレクトリに関する情報が、該公開鍵証明書に含まれる場合を示している。このように、アクセス権情報１２３は、ディレクトリ数１３１、第１のディレクトリ情報１３２、および第２のディレクトリ情報１３３を有し、第１のディレクトリ情報１３２と、第２のディレクトリ情報１３３は、各々、図１２で説明したディレクトリ名１２５と、ファイル／コマンド種別情報１２６で構成される。【０１０４】
以下、本実施の形態４における、複数のディレクトリ情報を有する公開鍵証明書を受けた取った場合のＩＣカード１の処理について、図２のファイル構成を例として説明する。【０１０５】
現在選択されているディレクトリがルートディレクトリ２１である場合、ＩＣカード内の全てのディレクトリが子ディレクトリに当たるため、公開鍵証明書で示されるディレクトリ名がＩＣカード内に存在すれば正常であるとみなし（存在しない場合は、エラーとする）、当該ディレクトリのファイル／コマンド識別情報１２６で示されるコマンド名、および対象ファイルの識別子を、当該ディレクトリの階層番号に対応する情報としてＲＡＭ４に保持する。この処理を、公開鍵証明書に含まれる複数のディレクトリ（２階層の場合は、高々２個）に対して繰り返し行う。ただし、その後、前記公開鍵証明書に含まれないサブディレクトリが選択された場合は、前記ＲＡＭ４内に保持された情報のうち、第２階層に対応する情報は破棄される。【０１０６】
一方、現在選択されているディレクトリがサブディレクトリ２２である時、公開鍵証明書で示されるディレクトリ名が自分自身か、または親であるルートディレクトリ２１のものであれば、正常であるとみなし（それ以外の場合は、エラーとする）、当該ディレクトリに対応するファイル／コマンド識別情報１２６で示されるコマンド名、および対象ファイルの識別子を、当該ディレクトリの階層番号に対応する情報としてＲＡＭ４に保持する。この処理を、公開鍵証明書に含まれる複数のディレクトリ（２階層の場合は、高々２個）に対して繰り返し行う。その後、ルートディレクトリ２１または隣りのサブディレクトリ２３が選択された場合、前記ＲＡＭ４内に保持された情報のうち、第２階層に対応する情報は破棄される。【０１０７】
なお、上記の説明はファイルの階層が２階層の場合であるが、３階層以上の場合もこれに沿った処理が行われる。すなわち、公開鍵証明書で示されるディレクトリ名が、ルートディレクトリと現在選択されているディレクトリとを結ぶ枝上に存在するか、あるいは、現在選択されているディレクトリの子孫であれば、正常であるとみなして通常処理を行い、公開鍵証明書で示されたディレクトリと異なる第ｎ階層のディレクトリが選択された時点で、ＲＡＭ４内に保持された情報のうち、第ｎ階層に対応する情報が破棄される。この場合、ｎ＋１階層目以下の階層に対応するＲＡＭ４内の情報があれば、それも同時に破棄される。【０１０８】
あるいは、公開鍵証明書を受け取った時点で、自分より配下のディレクトリに関するものはエラーとする等、他の様々な方法も採用可能である。【０１０９】
以上のような本実施の形態４によるアクセス制御方法によれば、前記実施の形態１〜３において、サービス提供者が許されるアクセス種別や対象ファイルを、端末から送られる公開鍵証明書の中で指定するようにしたので、これにより、公開鍵証明書を変更するだけでＩＣカード内のファイルへのアクセス権を変更することができ、ＩＣカード内のセキュリティ属性を変更する必要がなくなり、ＩＣカードを回収する必要がないという運用上のメリットを得ることができる。【０１１０】
（実施の形態５）
本発明の実施の形態５によるアクセス制御方法は、暗証番号の照合や、秘密鍵暗号による認証の場合と同様に、公開鍵暗号方式の場合においても、照合誤り回数を記録することを可能とする方法である。暗証番号等の固定キーの場合は、キー自身が照合誤り回数に関する情報を持つことができるが、一時キーの場合は、不揮発性メモリ内に存在しないため、ディレクトリで管理する方法を採用する。【０１１１】
以下、本実施の形態５のアクセス制御方法におけるセキュリティ属性に対応した方法について、図１４を参照しながら説明する。なお、以下の説明において、“照合”と記した箇所は、“照合”又は“認証”を意味している。【０１１２】
図１４は、本実施の形態５によるアクセス制御方法におけるルートディレクトリ２１に含まれる照合回数管理テーブルの構成を示したものである。照合回数管理テーブル１４１は、キー番号ごとに、照合許容回数と、照合誤り回数とで構成される。照合許容回数は、照合誤りが連続何回まで許されるかを示したものである。また、照合誤り回数は、連続して照合を誤った回数を記録し、照合に失敗する度にインクリメントされ、照合が成功すれば値“０”にクリアされる。照合誤り回数が照合許容回数に達した時、当該キーは閉塞される。【０１１３】
前記実施の形態１で説明したように、暗証番号６にはキー番号“１”が付与されているため、照合回数管理テーブル１４１のキー番号“１”の行は、暗証番号６に関する情報を示している。ここでは、照合許容回数は３回に設定され、照合を１回失敗した場合を示している。キー番号“２”は、カード発行者の公開鍵１１に付与されているが、このキーは照合回数の管理の対象外であるため、照合許容回数の欄には、未使用を示す値“０”が設定される。また、キー番号“３”〜“７”も現在未使用であるため、照合許容回数の欄には、値“０”が設定される。一時キーには、キー番号“８”が付与されているため、公開鍵暗号方式による認証誤り回数は、キー番号“８”の行で管理される。この例では、２回まで許容されていることを示している。【０１１４】
このように、前記実施の形態５では、全てのキーがＩＣカード全体で管理されるため、照合回数管理テーブルはルートディレクトリ２１で管理される。【０１１５】
一方、実施の形態２〜４では、キーの管理がディレクトリ単位で行われるため、照合回数管理テーブルも、ディレクトリごとに持つこととなる。【０１１６】
すなわち、前記実施の形態２では、証明書の段数が“１”であれば、ルートディレクトリ２１の照合回数管理テーブルが参照され、証明書の段数が“２”であれば、サブディレクトリ２２の照合回数管理テーブルが参照される。【０１１７】
また、実施の形態３では、第１の公開鍵証明書を用いた認証では、ルートディレクトリ２１の照合回数管理テーブルが参照され、第２の公開鍵証明書を用いた認証では、サブディレクトリ２２の照合回数管理テーブルが参照される。【０１１８】
また、実施の形態４では、公開鍵証明書がルートディレクトリ２１のディレクトリ名を含めば、ルートディレクトリ２１の照合回数管理テーブルが参照され、公開鍵証明書がサブディレクトリ２２のディレクトリ名を含めば、サブディレクトリ２２の照合回数管理テーブルが参照される。【０１１９】
このように、本実施の形態５では、各キー番号に対応した照合回数管理テーブルをディレクトリに持たせることにより、キー番号により対象となるキーを識別することが可能となり、一時キーごとの照合回数の管理が可能となる。さらに、例えば、閉塞解除コマンドのパラメータでキー番号を指定することにより、一時キーの閉塞解除の機能等をも同様に実現可能となる。【０１２０】
なお、前述の実施の形態４では、一時キーのキー番号に関する情報を一時キー参照情報１０２に持たないため、公開鍵証明書にキー番号は必須ではないが、照合回数を管理する場合には、公開鍵証明書の公開鍵関連情報にキー番号を含めればよい。【０１２１】
（実施の形態６）
本発明の実施の形態６によるアクセス制御方法は、アクセス権情報を外部からＩＣカードに与えるという公開鍵証明書の考え方を、暗証番号の照合や秘密鍵暗号方式による認証にも適用した方法である。これにより、暗証番号の照合や秘密鍵暗号方式による認証に関しても、ＩＣカードを回収することなくアクセス条件を変更できるという運用上のメリットが生まれる。【０１２２】
これを実現するための本実施の形態６における公開鍵証明書の構成を、図１５に示す。公開鍵関連情報１２２は、図１２で説明したものと同じものであり、サービス提供者の公開鍵の他、署名者の識別情報、署名アルゴリズム、有効期限等が格納される。また、この公開鍵証明書は一時キーのキー番号も含んでいる。この公開鍵関連情報１２２と、後述するディレクトリ関連コマンドアクセス権情報１５２、およびファイル関連コマンドアクセス権情報１５３とで構成される署名対象データ１５１に対し、カード発行者の秘密鍵で署名したものが、署名データ１５４である。【０１２３】
ディレクトリ関連コマンドアクセス権情報１５２は、現在選択されているディレクトリに対するコマンド（例えば、ディレクトリ名の更新やファイルの創生等）に関するアクセス権情報であり、図１５（ａ）に示すように複数のアクセスモードとセキュリティ条件の対で構成される。アクセスモードとセキュリティ条件は、実施の形態１〜３で説明したセキュリティ属性１０と同じ情報を有するものであり、一時キーに関する情報も含んでいる。【０１２４】
ファイル関連コマンドアクセス権情報１５３も、ディレクトリ関連コマンドアクセス権情報１５２と同様の構成であるが、現在選択されているディレクトリ直下に複数のファイルが存在する場合は、図１５（ｂ）に示すように、ファイルの数だけファイルアクセス情報が連結される。各ファイルアクセス情報は、ファイルを識別するためのファイル識別子と、複数のアクセスモードとセキュリティ条件との対で構成される。このアクセスモードと、セキュリティ条件も、実施の形態１〜３で説明したセキュリティ属性１０と同じ情報を有するものであり、一時キーに関する情報も含んでいる。【０１２５】
ディレクトリ関連コマンドアクセス権情報１５２の場合も、ファイル関連コマンドアクセス権情報１５２の場合も、アクセスモードとセキュリティ条件との対は、この公開鍵証明書を送信する端末が使用し得るコマンド分だけ連結される。ここで指定されないコマンドは、その端末にとって実行が許可されていないことを意味する。【０１２６】
このように、従来はＩＣカードの不揮発性メモリに格納していたセキュリティ属性に関する情報を、公開鍵証明書の中に含め、端末からＩＣカードに送信することにより、暗証番号の照合や秘密鍵暗号方式による認証に関するアクセス権の変更にも、柔軟に対応することができる。【０１２７】
しかし、公開鍵証明書を変更することによってＩＣカードに対するアクセス権を自由に変更できるというのは運用上便利ではあるが、外部からＩＣカードへ与えることのできる公開鍵証明書は、攻撃の対象になりやすく、セキュリティ上の脆弱性を露呈する危険性も秘めている。したがって、これを防ぐための何らかの防御対策を、ＩＣカード側で講じることが好ましい。【０１２８】
図１６は、本実施の形態６におけるこのような防御対策の一例を示すものであり、各ディレクトリは絶対的アクセス権情報１６１を有する。図１６では、ルートディレクトリ２１の場合を示しているが、サブディレクトリについても同様の情報を有する。絶対アクセス権情報は、ディレクトリ関連コマンド絶対的アクセス権情報１６２と、ファイル関連コマンド絶対的アクセス権情報１６３とで構成される。ディレクトリ関連コマンド絶対的アクセス権情報１６２は、図１５のディレクトリ関連コマンドアクセス権情報１５２と同じ構成である。同様に、ファイル関連コマンド絶対的アクセス権情報１６３は、図１５のファイル関連コマンドアクセス権情報１５３と同じ構成である。【０１２９】
ディレクトリ関連コマンド絶対的アクセス権情報１６２は、絶対的なアクセス条件であり、公開鍵証明書に含まれるディレクトリ関連コマンドアクセス権情報１５２よりも優先される。すなわち、公開鍵証明書のディレクトリ関連コマンドアクセス権情報１５２でどのようなアクセス条件が提示されようとも、ＩＣカードは、現在選択されているディレクトリに含まれるディレクトリ関連コマンド絶対的アクセス権情報１６２に従ってアクセス制御を行う。【０１３０】
現在選択されているディレクトリに、ディレクトリ関連コマンド絶対的アクセス権情報１６２が存在しなければ、公開鍵証明書のディレクトリ関連コマンドアクセス権情報１５２が有効となるが、逆にディレクトリ関連コマンド絶対的アクセス権情報１６２が存在する場合、公開鍵証明書のディレクトリ関連コマンドアクセス権情報１５２は無効となる。【０１３１】
ファイル関連コマンド絶対的アクセス権情報１６３についても、同様である。【０１３２】
このように、ＩＣカード内に絶対的アクセス権情報を格納することにより、アクセス権情報を含む公開鍵証明書がたとえ偽造されたとしても、必要なセキュリティを確保することが可能となる。【０１３３】
なお、上記の説明では各ディレクトリに絶対的アクセス権情報を持たせる構成としたが、ファイル関連コマンド絶対的アクセス権情報１６３は、ディレクトリではなく、各ファイルに持たせてもよい。
【産業上の利用可能性】
【０１３４】
本発明にかかる方法は、ＩＣカードに格納されたファイル等に対するアクセス制御を行うシステムに有用である。
【図１】
2008032648.tif 000003
【図２】
2008032648.tif 000004
【図３】
2008032648.tif 000005
【図４】
2008032648.tif 000006
【図５】
2008032648.tif 000007
【図６】
2008032648.tif 000008
【図７】
2008032648.tif 000009
【図８】
2008032648.tif 000010
【図９】
2008032648.tif 000011
【図１０】
2008032648.tif 000012
【図１１】
2008032648.tif 000013
【図１２】
2008032648.tif 000014
【図１３】
2008032648.tif 000015
【図１４】
2008032648.tif 000016
【図１５】
2008032648.tif 000017
【図１６】
2008032648.tif 000018
【図１７】
2008032648.tif 000019
【図１８】
2008032648.tif 000020
【図１９】
2008032648.tif 000021
【手続補正書】
【提出日】平成20年2月29日(2008.2.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＩＣカード内のファイルに対するアクセス制御方法であって、
前記ＩＣカードは、不揮発性メモリ内に固定キーを有し、
端末は、自身の公開鍵に対してカード発行者の秘密鍵により署名された公開鍵証明書を、前記ＩＣカードに送り、
前記ＩＣカードは、前記端末から受け取った前記公開鍵証明書の正当性を検証した後に、該公開鍵証明書から前記公開鍵を取り出し、それを一時キーとして前記ＩＣカード内の揮発性メモリに保持し、
前記ＩＣカード内のファイルは、前記固定キーを参照する固定キー参照情報と、前記一時キーを参照する一時キー参照情報とを有し、
前記ＩＣカードは、少なくとも前記固定キー参照情報、および前記一時キー参照情報に基づき、該ＩＣカード内の前記ファイルへのアクセスの可否を判断する、
ことを特徴とするアクセス制御方法。
【請求項２】
請求項１記載のアクセス制御方法において、
前記公開鍵証明書は、前記一時キーに仮想的に付与された第１のキー番号を含むとともに、
前記一時キー参照情報に格納される前記第１のキー番号によって、前記一時キーを用いた認証結果を参照する、
ことを特徴とするアクセス制御方法。
【請求項３】
請求項２記載のアクセス制御方法において、
前記固定キーに第２のキー番号が付与され、
前記固定キー参照情報に格納される前記第２のキー番号によって、前記固定キーを用いた認証結果を参照するとともに、
前記第１のキー番号と、前記第２のキー番号とに異なる値を付与されており、これより前記固定キーと、前記一時キーとを判別する、
ことを特徴とするアクセス制御方法。
【請求項４】
請求項２記載のアクセス制御方法において、
前記固定キーに第２のキー番号が付与され、
前記固定キー参照情報に格納される前記第２のキー番号によって、前記固定キーを用いた認証結果を参照するとともに、
前記固定キー参照情報、および前記一時キー参照情報の格納位置が固定とされ、これより前記固定キーと、前記一時キーとを判別する、
ことを特徴とするアクセス制御方法。
【請求項５】
請求項２記載のアクセス制御方法において、
前記固定キーに第２のキー番号が付与され、
前記固定キー参照情報に格納される前記第２のキー番号によって、前記固定キーを用いた認証結果を参照するとともに、
前記固定キー参照情報と、前記一時キー参照情報に、各々異なる識別子が付加されて、これより前記固定キーと、前記一時キーとを判別する、
ことを特徴とするアクセス制御方法。
【請求項６】
請求項１ないし請求項５のいずれかに記載のアクセス制御方法において、
前記ＩＣカード内のファイルが、階層構造をなし、
前記一時キー参照情報は、前記公開鍵証明書の段数に関する情報を有する、
ことを特徴とするアクセス制御方法。
【請求項７】
請求項１ないし請求項５のいずれかに記載のアクセス制御方法において、
前記ＩＣカード内のファイルが、階層構造をなし、
前記一時キー参照情報は、前記階層構造の階層番号に関する情報を有する、
ことを特徴とするアクセス制御方法。
【請求項８】
請求項１記載のアクセス制御方法において、
前記一時キー参照情報は、公開鍵暗号方式による認証結果をアクセス制御に反映させるか否かを示す情報を含む、
ことを特徴とするアクセス制御方法。
【請求項９】
請求項８記載のアクセス制御方法において、
前記公開鍵証明書は、ディレクトリ識別情報を有し、
現在選択されているディレクトリが、前記公開鍵証明書内にある前記ディレクトリ識別情報で示されたディレクトリである場合に、前記ＩＣカードは、通常処理を行う、
ことを特徴とするアクセス制御方法。
【請求項１０】
請求項８記載のアクセス制御方法において、
前記公開鍵証明書は、複数のディレクトリ識別情報を有し、
この複数のディレクトリ識別情報の各々で示されたディレクトリが、ルーとディレクトリと現在選択されているディレクトリとを結ぶ枝上にあるディレクトリである場合に、前記ＩＣカードは、通常処理を行う、
ことを特徴とするアクセス制御方法。
【請求項１１】
請求項８記載のアクセス制御方法において、
前記公開鍵証明書は、複数のディレクトリ識別情報を有し、
この複数のディレクトリ識別情報の各々で示されたディレクトリが、ルートディレクトリと、現在選択されているディレクトリとを結ぶ枝上にあるディレクトリか、あるいは、現在選択されているディレクトリの子孫である場合に、前記ＩＣカードは、通常処理を行う、
ことを特徴とするアクセス制御方法。
【請求項１２】
請求項８記載のアクセス制御方法において、
前記公開鍵証明書は、一つのファイル識別情報に、複数のコマンド識別情報を連結したものを有する、
ことを特徴とするアクセス制御方法。
【請求項１３】
請求項８記載のアクセス制御方法において、
前記公開鍵証明書は、一つのコマンド識別情報に、複数のファイル識別情報を連結したものを有する、
ことを特徴とするアクセス制御方法。
【請求項１４】
請求項１記載のアクセス制御方法において、
前記公開鍵証明書は、前記一時キーに仮想的に付与された第１のキー番号を含むとともに、
前記ＩＣカード内にある少なくとも１つのディレクトリが、前記第１のキー番号に対応した照合回数管理情報を有する、
ことを特徴とするアクセス制御方法。
【請求項１５】
ＩＣカード内のファイルに対するアクセス制御方法であって、
前記ＩＣカードは、不揮発性メモリ内に固定キーと、絶対的アクセス権情報とを有し、
端末は、前記固定キーを参照するアクセス制御情報に対して署名された情報を、前記ＩＣカードに送り、
前記ＩＣカードは、前記端末から受け取った前記署名された情報の正当性を検証した後に、該署名された情報から前記アクセス制御情報を取り出し、少なくとも該アクセス制御情報に基づき、前記ファイルへのアクセスの可否を判断し、前記絶対的アクセス権情報に、前記アクセス制御情報よりも優先的に基づき、アクセス制御を行う、
ことを特徴とするアクセス制御方法。
【請求項１６】
ＣＰＵと、揮発性メモリと、不揮発性メモリを有し、
前記不揮発性メモリは、ファイルと、固定キーを有し、
前記ＣＰＵは、端末から受け取った公開鍵証明書の正当性を検証した後に、該公開鍵署名書から公開鍵を取り出し、それを一時キーとして前記揮発性メモリに保持し、
前記ファイルは、前記固定キーを参照する固定キー参照情報と、前記一時キーを参照する一時キー参照情報とを有し、
前記ＣＰＵは、少なくとも前記固定キー参照情報と、前記一時キー参照情報とに基づき、当該ファイルへのアクセスの可否を判断する、
ことを特徴とするＩＣカード。
【請求項１７】
請求項１６記載のＩＣカードにおいて、
前記一時キーは、これに仮想的に付与されたキー番号を持ち、
前記ＣＰＵは、前記公開鍵証明書に含まれるキー番号の正当性を検証するとともに、前記一時キー参照情報に格納されるキー番号によって、前記一時キーを用いた認証結果を参照する、
ことを特徴とするＩＣカード。
【請求項１８】
請求項１６記載のＩＣカードにおいて、
前記ＣＰＵは、前記一時キー参照情報に格納される公開鍵暗号方式による認証結果をアクセス制御に反映させるか否かを示す情報を用いて、アクセス制御を行う、
ことを特徴とするＩＣカード。
【請求項１９】
請求項１６記載のＩＣカードにおいて、
前記一時キーは、これに仮想的に付与されたキー番号を持ち、
前記ＣＰＵは、公開鍵証明書に含まれるキー番号の正当性を検証するとともに、該公開鍵証明書が有する少なくとも１つのディレクトリに含まれる、このキー番号に対応した情報に基づいて、前記一時キーの照合回数を管理する、
ことを特徴とするＩＣカード。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカード、およびＩＣカードに格納されたファイル等に対するアクセス制御方法に関する。
【背景技術】
【０００２】
近年、磁気カードに代わるハイセキュリティなデバイスとしてＩＣカードが実用化されつつある。ＩＣカードは不揮発性メモリを有し、そこにファイルや暗証番号等を格納することができる。ＩＣカードのファイル構成は、一般的に図１７に示すように階層構造をなす。図１７は、ＩＣカードのファイル構成が２階層の場合を示している。なお、図１７では簡略化しているが、ファイルやキー（暗証番号や秘密鍵等）は、各ディレクトリ直下に複数個ずつ設けることができる。
【０００３】
各ファイルは、図１８に示すようなセキュリティ属性を有する。セキュリティ属性とは、当該ファイルをアクセスするために満たすべき条件を示したものである。アクセスモード１８１には、“読出し”や“書込み”等、当該ファイルに対するアクセスの種別を識別する情報が格納される。セキュリティ条件１８２には、アクセスモード１８１で指定されたアクセス（例えば“読出し”）を実行するに先立って認証すべきキーに関する情報が格納される。論理条件１８３とは、セキュリティ条件が複数のキーに関する情報を有する場合のキーの組合せ条件を示し、ＡＮＤ論理（全てのキーの認証が必要）、またはＯＲ論理（いずれか一つのキーの認証が必要）のいずれか一方が設定される。また、各キーはキー番号で指定され、図１８は２つのキーに関する情報を有している場合を示している。キー番号とは、暗証番号のようなキーデータそのものではなく、キーを識別するための情報である。例えば、ＩＣカード内に最大８個のキーの設定が可能である場合、各々のキーに１〜８までのキー番号を付与する。キー番号で各キーを一意に特定できるよう、キー番号はＩＣカード内で重複しないように付与される。
【０００４】
セキュリティ属性の設定方法について、以下、具体的に説明する。例えば図１７の第２階層のファイル１７６を読み出す際に、キー１７４とキー１７５の両方のキーの認証が必要である場合、アクセスモード１８１には、読出しコマンドであることを識別する情報が設定され、論理条件１８３には「ＡＮＤ論理」が設定される。また、キー１７４、およびキー１７５のキー番号として各々 “１”、“３”が付与されている場合、キー番号１８４、およびキー番号１８５には、各々“１”、“３”が設定される。
【０００５】
キーの認証方法には幾つかの方法があるが、最も簡単な方法は、端末から入力されたキーデータと、ＩＣカードに格納されるキーデータとを単純に比較する方法である。ＩＣカード所持者の暗証番号の照合がこれに当たる。また、よりセキュリティを高めた認証手段として、秘密鍵暗号方式を利用した方法がある。この方法は、ＩＣカードと端末が同じ秘密鍵を共有し、ＩＣカードが生成した乱数に対して双方が同じ暗号化処理を行い、これらの結果をＩＣカードが比較する方式である。この比較結果が同じであれば、端末がＩＣカードと同じ秘密鍵を有していると考えられるため、この端末が正当なものであると判断することができる。これらいずれの方法でも、キー（暗証番号、あるいは秘密鍵）が不揮発性メモリに固定的に格納され、これらのキーを指定することによりセキュリティ属性が構成される。（以降、これらのキーを総称して“固定キー“と呼ぶ。）
【０００６】
一方、公開鍵暗号方式を用いて認証を行う場合は、かなり状況が異なる。公開鍵暗号方式による認証手順を、図１９を用いて説明する。まず、ＩＣカードの所持者にサービスを提供する端末は、自分の公開鍵証明書をＩＣカードに送る。この公開鍵証明書は、カード発行者から予め発行されたもので、カード発行者の秘密鍵によるサービス提供者の公開鍵に対する署名を含んだものである。ＩＣカードは、カード発行者の秘密鍵と対を成す公開鍵を有しており、これを用いて、受信した公開鍵証明書に含まれる署名を検証し、この署名が正しければ、公開鍵証明書からサービス提供者の公開鍵を取り出し、これを一時的な公開鍵（以降、“一時キー”と呼ぶ）としてＩＣカード内の揮発性メモリに保持する。
【０００７】
次に、ＩＣカードは取得した一時キーで外部認証を行う。この外部認証は、ＩＣカードが生成した乱数を端末に送り、端末から返送されてくる、サービス提供者の秘密鍵で署名した電子署名を先に取得した一時キーで検証することにより、端末の正当性を確認するものである。
【０００８】
このように公開鍵暗号方式を用いた認証では、ＩＣカードの不揮発性メモリに格納された固定キーが使用されるのではなく、揮発性メモリに格納された一時キーが使用される。一時キーは一時的に保持されるキーであり、階層番号やキー番号は持たないため、図１８で示すセキュリティ属性の構造は適用できない。カード発行者の公開鍵はＩＣカード１の不揮発性メモリに格納される固定キーであるが、この公開鍵は端末を管理するサービス提供者の公開鍵に対する証明書以外の公開鍵証明書の検証にも汎用的に使用されるため、アクセス制御のために用いるには適していない。
【０００９】
一般に公開鍵暗号方式を用いたシステムでアクセス制御を行う方法として、アクセス権限を示した属性証明書を使用する方法が知られている。これをＩＣカードシステムに適用した例として特許文献１と特許文献２がある。特許文献１では、ＩＣカード内のアクセス制御情報において、アプリケーションやデータごと、さらにはコマンド機能ごとにアクセスが許可されるアクセス主体者のＩＤを持たせ、このＩＤを公開鍵証明書に含めることにより、アクセスが許可される範囲をＩＣカードが特定できる方法を提供している。また、特許文献２では、公開鍵証明書に含まれるアクセス制御情報内でコマンド機能やアクセス対象データを指定することにより、アクセス権原の変更に柔軟に対応できる方法を提供している。
【特許文献１】特開２００３−３１６６５５号公報（図３）
【特許文献２】特開２００４−２４７７９９号公報（図９）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、実際のＩＣカードシステムでは、暗証番号の照合や秘密鍵暗号方式による認証と、公開鍵暗号方式による認証とを組み合わせたアクセス制御を行う必要がある場合が多い。例えば、あるファイルにアクセスするために、暗証番号による本人確認と、公開鍵暗号方式による端末認証の両方を必要とする場合等である。したがって、これらの組合せを実現できるセキュリティ属性の仕組みが必要となる。
【００１１】
また、暗証番号の照合や秘密鍵暗号による認証の場合は、ＩＣカードのファイルの階層構造に対応したセキュリティ構造を採用するケースも多く、公開鍵暗号方式による認証の場合もこれに適応できることが望ましい。さらに、暗証番号の照合や秘密鍵暗号による認証では照合誤り回数を記録する機能を有しており、公開鍵暗号方式の場合もこの概念を導入することによってセキュリティを向上させることが必要となる。
【課題を解決するための手段】
【００１２】
上記の課題を解決するため、本発明に係るアクセス制御方法は、ＩＣカード内のファイルに対するアクセス制御方法であって、前記ＩＣカードは、不揮発性メモリ内に固定キーを有し、端末は、自身の公開鍵に対してカード発行者の秘密鍵により署名された公開鍵証明書を、前記ＩＣカードに送り、前記ＩＣカードは、前記端末から受け取った前記公開鍵証明書の正当性を検証した後に、該公開鍵証明書から前記公開鍵を取り出し、それを一時キーとして前記ＩＣカード内の揮発性メモリに保持し、前記ＩＣカード内のファイルは、前記固定キーを参照する固定キー参照情報と、前記一時キーを参照する一時キー参照情報とを有し、前記ＩＣカードは、少なくとも前記固定キー参照情報、および前記一時キー参照情報に基づき、該ＩＣカード内の前記ファイルへのアクセスの可否を判断することを特徴とする。
【００１３】
これにより、暗証番号の照合や秘密鍵暗号方式による認証と、公開鍵暗号方式による認証、という２つの異なる認証方法を組み合わせたアクセス制御を行うことが可能となる。
【００１４】
また、前記公開鍵証明書は、前記一時キーに仮想的に付与された第１のキー番号を含むとともに、前記一時キー参照情報に格納される前記第１のキー番号によって、前記一時キーを用いた認証結果を参照し、前記固定キーに第２のキー番号が付与され、前記固定キー参照情報に格納される前記第２のキー番号によって、前記固定キーを用いた認証結果を参照するとともに、前記第１のキー番号と、前記第２のキー番号とに異なる値を付与されており、これより前記固定キーと、前記一時キーとを判別するので、固定キー参照情報であるか一時キー参照情報であるかを識別するための特別な手段は必要なくなり、簡易で柔軟性に富んだ構成が可能となる。
【００１５】
また、前記固定キー参照情報、および前記一時キー参照情報の格納位置が固定とされ、これより前記固定キーと、前記一時キーとを判別するので、格納位置によって固定キーか一時キーかを判別できるため、固定キーと一時キーとの間でキー番号を重複させることが可能となり、アクセス制御に使用できるキーの数を増やすことが可能となる。
【００１６】
また、前記固定キー参照情報と、前記一時キー参照情報に、各々異なる識別子が付加されて、これより前記固定キーと、前記一時キーとを判別するので、固定キー参照情報と一時キー参照情報を任意の数だけ設けることができ、より柔軟性に富んだアクセス制御を実現することが可能となる。
【００１７】
また、前記ＩＣカード内のファイルが、階層構造をなし、前記一時キー参照情報は、前記公開鍵証明書の段数に関する情報を有するので、公開鍵暗号方式による認証の場合に、ファイルの階層構造に対応したアクセス制御を実現することが可能となる。
【００１８】
また、前記ＩＣカード内のファイルが、階層構造をなし、前記一時キー参照情報は、前記階層構造の階層番号に関する情報を有するので、サービス提供者間のなりすましを防止することが可能となる。
【００１９】
また、前記一時キー参照情報は、公開鍵暗号方式による認証結果をアクセス制御に反映させるか否かを示す情報を含むので、一時キーを用いた認証に関するアクセス権の変更に柔軟に対応することができる。
【００２０】
また、前記公開鍵証明書は、ディレクトリ識別情報を有し、現在選択されているディレクトリが、前記公開鍵証明書内にある前記ディレクトリ識別情報で示されたディレクトリである場合に、前記ＩＣカードは、通常処理を行うので、サービス提供者による不正ななりすましを防止することができる。
【００２１】
また、前記公開鍵証明書は、複数のディレクトリ識別情報を有し、この複数のディレクトリ識別情報の各々で示されたディレクトリが、ルーとディレクトリと現在選択されているディレクトリとを結ぶ枝上にあるディレクトリである場合に、前記ＩＣカードは、通常処理を行うので、複数のディレクトリに関するアクセス権情報を一つの公開鍵証明書にまとめてＩＣカードに送信することが可能となり、伝送効率を上げることができる。
【００２２】
また、前記公開鍵証明書は、一つのファイル識別情報に、複数のコマンド識別情報を連結したものを有するので、一つのファイルに対して複数のアクセス（例えば、読出しと、書込み等）が許可される場合に伝送効率を上げることができる。
【００２３】
また、前記公開鍵証明書は、一つのコマンド識別情報に、複数のファイル識別情報を連結したものを有するので、一つのアクセス（例えば、読出し）が複数のファイルに対して許可される場合に伝送効率を上げることができる。
【００２４】
また、前記公開鍵証明書は、前記一時キーに仮想的に付与された第１のキー番号を含むとともに、前記ＩＣカード内にある少なくとも１つのディレクトリが、前記第１のキー番号に対応した照合回数管理情報を有するので、該キー番号により対象となるキーを識別することが可能となり、一時キーごとの照合回数の管理が可能となる。
【００２５】
さらに、本発明に係るアクセス制御方法は、ＩＣカード内のファイルに対するアクセス制御方法であって、前記ＩＣカードは、不揮発性メモリ内に固定キーと、絶対的アクセス権情報とを有し、端末は、前記固定キーを参照するアクセス制御情報に対して署名された情報を、前記ＩＣカードに送り、前記ＩＣカードは、前記端末から受け取った前記署名された情報の正当性を検証した後に、該署名された情報から前記アクセス制御情報を取り出し、少なくとも該アクセス制御情報に基づき、前記ファイルへのアクセスの可否を判断し、前記絶対的アクセス権情報に、前記アクセス制御情報よりも優先的に基づき、アクセス制御を行うことを特徴とする。
【００２６】
これにより、従来はＩＣカードの不揮発性メモリに格納していたセキュリティ属性に関する情報を、端末からＩＣカードに送信することとなり、暗証番号の照合や、秘密鍵暗号方式による認証に関するアクセス権の変更にも、柔軟に対応することができる。また、アクセス権情報を含む公開鍵証明書がたとえ偽造されたとしても、必要なセキュリティを確保することが可能となる。
【発明の効果】
【００２７】
この発明にかかるＩＣカード、およびアクセス制御方法によれば、暗証番号の照合や秘密鍵暗号方式による認証と、公開鍵暗号方式による認証、という２つの異なる認証方法を組み合わせたアクセス制御を行うことが可能となり、多様なシステム要件に対応することができる。
【００２８】
また、暗証番号の照合や、秘密鍵暗号による認証の場合と同様に、公開鍵暗号の場合もＩＣカードのファイルの階層構造に対応したアクセス制御が可能となる。
【００２９】
さらに、暗証番号の照合や秘密鍵暗号による認証の場合と同様に、公開鍵暗号方式の場合にも照合誤り回数を記録することが可能となり、セキュリティを向上させることができる。
【００３０】
さらに、一時キーを用いた認証に関するアクセス権の変更のみならず、暗証番号の照合や秘密鍵暗号方式による認証に関するアクセス権の変更にも、柔軟に対応することができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００３２】
（実施の形態１）
図１は、本発明の実施の形態１によるアクセス制御方法を実施するＩＣカードシステムの構成を示す図である。
【００３３】
図１において、１はＩＣカード、２はＩＣカード１の所持者にサービスを提供する端末であり、ＩＣカード１はＣＰＵ３、ＲＡＭ４、およびＥＥＰＲＯＭ５で構成される。ＣＰＵ３は、端末２との間のコマンドおよびレスポンスの送受信やアクセス制御を初めとするＩＣカード１の処理全般を司る。ＲＡＭ４は、作業用に使用される揮発性メモリである。また、ＥＥＰＲＯＭ５は、キーやファイル等を格納するための不揮発性メモリである。
【００３４】
ＥＥＰＲＯＭ５に格納されるファイルの論理構造を、図２に示す。図１ではＥＥＰＲＯＭ５に格納されるものとしてキーと、ファイルしか示していないが、実際にはディレクトリに関する情報等も含まれる。ディレクトリは２階層で構成され、第１階層にルートディレクトリ２１、第２階層に２つのサブディレクトリ２２および２３を有する。第１階層のルートディレクトリ２１直下には、暗証番号６と、カード発行者の公開鍵１１と、ファイル７が格納され、第２階層のサブディレクトリ２２直下には、ファイル９が格納されている。
【００３５】
図１に示すように、ファイル７，９には、それぞれセキュリティ属性８，１０が設定されている。ここでは、ファイル９に対するアクセス制御、すなわち、セキュリティ属性１０に対するアクセス制御を例に説明を行う。ファイル９からデータを読み出す際のアクセス条件として、暗証番号６によるカード所持者の認証、かつ、公開鍵暗号方式による端末２（正確には端末２のアプリケーションのオーナーであるサービス提供者）の認証が、要求されている場合のセキュリティ属性１０の構造を、図３に示す。
【００３６】
図３に示すように、セキュリティ属性１０は、アクセスモード３１と、セキュリティ条件３２で構成される。アクセスモード３１には、当該ファイルに対するアクセスの種別である“読出し”を識別する情報、例えば、読出しコマンドの命令コード、が格納される。また、セキュリティ条件３２には、アクセスモード３１で指定されたアクセス（“読出し”）を実行するに先立って認証すべきキーに関する情報が格納される。固定キー参照情報３４には、暗証番号６を特定するための情報が格納される。
【００３７】
これらの情報の説明に先立ち、本実施の形態１におけるキーの識別方法について説明する。
【００３８】
ＩＣカード１に格納されるキーの識別情報として、各キーに対し独自のキー番号が付与される。例えば“１”から始まるシーケンス番号が付与されるものとし、暗証番号６にキー番号“１”が付与され、後述するように、カード発行者の公開鍵１１にキー番号“２”が付与される。キー番号は、ディレクトリの階層に関係なく、ＩＣカード内で全階層を通して重複しない番号が付与される。
【００３９】
本実施の形態１では、まず、固定キー参照情報３４には、カード所持者の認証のための暗証番号６を特定する情報として、キー番号“１”という情報が格納されている。
【００４０】
また、本実施の形態１では、ＩＣカード１のＥＥＰＲＯＭ５に格納される固定キーに付与されるキー番号を、実体のない一時キーにも仮想的に付与する。具体的には、本実施の形態１では、キー番号“６”〜“８”を、一時キー用に割り当てる。ここで、現時点ではＩＣカード１には暗証番号６と公開鍵１１しか格納されていないが、将来新たなキーが追加で格納される可能性があることを考慮し、キー番号“３”〜“５”は予備としておく。そして、上記においても述べているように、一時キー参照情報３５には、一時キーを特定するための情報として、キー番号“６”〜“８”の内、例えば“８”という情報を格納する。最後に、論理条件３３にはＡＮＤ論理を設定する。
【００４１】
このセキュリティ属性１０の構造は、ファイル９からデータを読み出す際のアクセス条件として、キー番号“１”の暗証番号の照合と、キー番号“８”の一時キーによる認証、との両方を要求していることを、示している。
【００４２】
この本実施の形態１においては、そのアクセス制御は、図４に示す手順で実行される。図４はファイル９からデータを読み出す際のアクセス制御手順を示したものである。
【００４３】
まず、ＩＣカード１の所持者にサービスを提供する端末２は、所持者に暗証番号の入力を促し、端末２に入力された暗証番号をＩＣカード１に送る。ＩＣカード１は、端末２から送られてきた暗証番号と、ＥＥＰＲＯＭ５に格納されている暗証番号６とを照合し、その結果をＲＡＭ４に保持するとともに、結果を端末２に知らせる。
【００４４】
前記暗証番号の照合が正しく行われた場合、次に、端末２は自身の公開鍵証明書を、ＩＣカード１に送る。この公開鍵証明書は、カード発行者から予め発行されたもので、カード発行者の秘密鍵によるサービス提供者（この場合、端末２）の公開鍵に対する署名を含んだものである。さらに、この公開鍵証明書は、前述した一時キーに付与されたキー番号“８”に対する署名をも含んでいる。
【００４５】
ＩＣカード１は、カード発行者の秘密鍵と対を成す公開鍵を有しており、これを用いて端末２から送られて来て受信した公開鍵証明書に含まれる署名を検証し、この署名が正しければ、該公開鍵証明書からサービス提供者の公開鍵を取り出し、これを一時キーとして、ＩＣカード１内のＲＡＭ４に保持する。
【００４６】
次に、ＩＣカード１は、上記取得した一時キーで外部認証を行う。この外部認証は、ＩＣカード１が生成した乱数を端末２に送り、端末２から返送されてくる、サービス提供者の秘密鍵で署名した電子署名を、先に取得した一時キーで検証することにより、端末２（即ちサービス提供者）の正当性を確認するものである。この外部認証が成功した時、端末２がキー番号“８”に対応するアクセス権限を有するものであることの証として、キー番号“８”という情報をＲＡＭ４に保持する。
【００４７】
その後、ＩＣカード１は、ファイル９に対する読出しコマンドを端末２から受信した際、セキュリティ属性１０の内容から、データを読み出す際のアクセス条件として、キー番号“１”の暗証番号の照合、かつ、キー番号“８”の一時キーによる認証が要求されていることを認識し、上述した照合結果および外部認証結果から、アクセス条件が満たされていると判断し、ファイル９からのデータの読み出しを許可する。
【００４８】
このように、本実施の形態１においては、暗証番号等、ＩＣカードの不揮発性メモリに格納される固定キーに付与されるキー番号を一時キーにも仮想的に付与し、このキー番号を公開鍵証明書に含めるとともに、アクセス権を設定するセキュリティ属性においてこのキー番号を用いるので、固定キーに関する情報と一時キーに関する情報とを組み合わせて指定することにより、暗証番号の照合や秘密鍵暗号方式による認証と、公開鍵暗号方式による認証という２つの異なる認証方法を組み合わせたアクセス制御を行うことが可能となる。
【００４９】
なお、上記の説明では、固定キーと一時キーに異なるキー番号を割り当てている。上記の例において、キー番号“１”〜“５”が固定キーに割り当てられ、キー番号“６”〜“８”が一時キーに割り当てられているということをＩＣカードが知ることができれば、キー番号によって固定キーか一時キーかを判別できるため、固定キー参照情報３４であるか一時キー参照情報３５であるかを識別するための特別な手段は必要ではなく、簡易で柔軟性に富んだ構成を提供することが可能となる。このキー番号の割り当て情報をＩＣカードが知る手段としては、暗黙的な方法（ＣＰＵ３にプログラミングされている）、あるいは明示的な方法（例えば、ルートディレクトリの管理情報にキー番号の割当て情報を持たせる等）によって実現可能である。
【００５０】
逆に、固定キー参照情報３４と一時キー参照情報３５の並びを固定すれば、格納位置によって固定キーか一時キーかを判別できるため、固定キー間および一時キー間でのキー番号の重複さえ回避すればよく、固定キーと一時キーとの間でキー番号を重複させることが可能となり、アクセス制御に使用可能なキーの数を増やすことが可能となる。
【００５１】
また、この方法では、公開鍵暗号方式を用いて認証する端末が１種類しかない場合、複数の一時キーを識別する必要はなく、したがって一時キーにキー番号は付与しなくてもよい。この場合、一時キー参照情報３５はキー番号として空の情報を持つことになる。ただし、公開鍵暗号方式による認証結果がアクセス制御に反映されることを示すため、一時キー参照情報３５自体は、セキュリティ属性１０内に存在する必要がある。
【００５２】
また、セキュリティ属性１０の具体的な実現手段には、様々な方法が考えられる。例えば、上記の方法では、固定キー参照情報と一時キー参照情報とを１つずつ設けているが、それぞれ複数個連結してもよい。この場合も、上記で説明した２つの方法、すなわち、固定キーと一時キーに異なるキー番号を割り当てる方法と、固定キー参照情報と一時キー参照情報の格納位置を固定とする方法のいずれも実現可能である。あるいは、その他の方法として、固定キー参照情報と、一時キー参照情報の各々に識別子を付加する方法が考えられる。
【００５３】
この方法によれば、固定キー参照情報と一時キー参照情報を任意の数だけ設けることができ、より柔軟性に富んだアクセス制御を実現できる。この場合も、識別子によって固定キーか一時キーかを判別できるため、固定キーと一時キーとの間でキー番号が重複してもよい。
【００５４】
この方法の場合も、上記の方法と同様に、公開鍵暗号方式を用いて認証する端末が１種類しかない場合、一時キー参照情報３５は、キー番号として空の情報を持つことになる。
【００５５】
さらに、セキュリティ属性１０の他の実現方法として、例えば、図５に示す構成も可能である。この方法では、読出しコマンド、書込みコマンド、および書換えコマンド用に１バイトずつ割り当てられ、各々がキー指定情報５１を有する。このキー指定情報５１は、各コマンドを実行するために認証が必要となるキーに関する情報であり、図３のセキュリティ条件３２に相当するものである。第１〜４ビット（ｂ１〜ｂ４）、および第５〜７ビット（ｂ５〜ｂ７）を、それぞれ固定キー指定情報と、一時キー指定情報に割り当てる。各ビットはキー番号に対応し、例えば、ビット５はキー番号“５”が付与されたキーの認証が必要であることを示す。また、最上位ビット（ｂ８）で、論理条件を示す。
【００５６】
このような構造のセキュリティ属性によっても、上記と同じ目的を達成することができる。
【００５７】
なお、上記で説明したキー番号の割り当て方法やセキュリティ属性の変形は、以降の他の実施の形態についても同様であるため、以降は説明を割愛する。
【００５８】
以上のように本実施の形態１によるアクセス制御方法によれば、ＩＣカードの不揮発性メモリに格納される固定キーに付与されるキー番号を一時キーにも仮想的に付与し、このキー番号を公開鍵証明書に含めるとともに、アクセス権を設定するセキュリティ属性において固定キーと一時キーの両キー番号を用いるようにしたので、固定キー情報と一時キー情報の両者を組み合わせてアクセス条件を指定することにより、暗証番号の照合や秘密鍵暗号方式による認証と、公開鍵暗号方式による認証という２つの異なる認証方法を組み合わせたアクセス制御を行うことが可能となる。
【００５９】
（実施の形態２）
本発明の実施の形態２によるアクセス制御方法は、ファイルの階層構造に対応したキーの参照方法を用いたものである。
【００６０】
前記実施の形態１では、ディレクトリの階層に関係なく、ＩＣカード内で全階層を通して重複しないキー番号が付与される場合を示したが、キー番号を各ディレクトリ直下でのみ重複しないように付与し、ディレクトリが異なれば重複を許す場合も多い。このようにすれば、他のディレクトリを気にすることなく、ディレクトリごとにキー番号を割り当てることができる。例えば、一つのディレクトリ直下に各々最大８個のキーの設定が可能である場合、各固定キーに１〜８のいずれかのキー番号を付与する。このように、一つのディレクトリ直下でキー番号が重ならないように付与すれば、階層番号とキー番号の組合せで各固定キーを一意に指定することが可能となる。
【００６１】
これをより詳細に説明すると、例えば、図２のファイル９に対するアクセス制御を考える場合、ルートディレクトリ２１から始まって自身に至るまでの経路にあたるルートディレクトリ２１、およびサブディレクトリ２２直下の固定キーのみが対象となり、それ以外のディレクトリ（すなわち、サブディレクトリ２３）の配下のキーは対象外となる。すなわち、階層番号が特定できれば、対象となるディレクトリは一意に決まる。したがって、例えば、第２階層が指定された場合は、サブディレクトリ２２が対象となるため、このディレクトリ直下でキー番号が重ならないように付与すれば、階層番号とキー番号の組合せで、各固定キーを一意に指定することが可能となる。
【００６２】
このように階層番号と、キー番号の組合せで固定キーを指定する場合のセキュリティ属性１０の構造を、図６に示す。図６に示すように、固定キー参照情報６４が、階層番号と、キー番号で構成される。なお、アクセスモード３１、および論理条件３３は、図３に示したものと同じである。
【００６３】
次に、一時キー参照情報６５について説明する。一時キーは、ＥＥＰＲＯＭ５内に存在しないため、固定キーのような階層番号という概念を持たない。これに取って代わるものとして、一時キーの場合は、以下に説明するように、“証明書の段数”という概念を導入する。以下、これについて詳細に説明する。
【００６４】
サブディレクトリ２２は、ルートディレクトリ２１の配下に位置するものであるから、ルートディレクトリ２１を管理する第１のサービス提供者の許可の下で、第２のサービス提供者がサブディレクトリ２２直下のファイル９にアクセスすると考えることができる。第１のサービス提供者をカード発行者が兼ねる場合も多いと考えられるが、ここでは、カード発行者とは別に、第１のサービス提供者が存在するものとする。
【００６５】
ファイル９からデータを読み出す際のアクセス条件として、暗証番号６によるカード所持者の認証、かつ、公開鍵暗号方式による第２のサービス提供者の認証、が要求されている場合のアクセス制御手順について、図７を用いて説明する。
【００６６】
図７は、ファイル９からデータを読み出す際のアクセス制御手順を示したものである。ＩＣカード１の所持者の暗証番号入力に関しては、前記実施の形態１と同じであるため説明を割愛する。
【００６７】
暗証番号の照合が正しく行われた場合、次に、端末２は第１の公開鍵証明書をＩＣカード１に送る。この第１の公開鍵証明書は、カード発行者から予め発行されたもので、カード発行者の秘密鍵による第１のサービス提供者の公開鍵に対する署名を含んだものである。ＩＣカード１は、カード発行者の秘密鍵と対を成す公開鍵を有しており、これを用いて、受信した第１の公開鍵証明書に含まれる署名を検証し、この署名が正しければ、第１の公開鍵証明書から第１のサービス提供者の公開鍵を取り出し、第１の一時キーとしてＩＣカード１内のＲＡＭ４に保持する。
【００６８】
次に、端末２は、第２の公開鍵証明書をＩＣカード１に送る。この第２の公開鍵証明書は、第１のサービス提供者から予め発行されたもので、第１のサービス提供者の秘密鍵による第２のサービス提供者の公開鍵に対する署名を含んだものである。ＩＣカード１は、先に取得した第１のサービス提供者の公開鍵である第１の一時キーを用いて、受信した第２の公開鍵証明書に含まれる署名を検証し、この署名が正しければ、第２の公開鍵証明書から第２のサービス提供者の公開鍵を取り出し、第２の一時キーとしてＩＣカード１内のＲＡＭ４に保持する。
【００６９】
次に、ＩＣカード１は取得した第２の一時キーで外部認証を行い、その結果を用いてアクセス制御を行う。この外部認証の手順は、実施の形態１と同じであるため、説明を割愛する。
【００７０】
このように、第２のサービス提供者が自身の正当性を証明する場合、２段階の公開鍵証明書を用いる。
【００７１】
上記で説明したように、第１の公開鍵証明書は、カード発行者が第１のサービス提供者に権限を与えるものであり、第２の公開鍵証明書は、第１のサービス提供者が第２のサービス提供者に権限を与えるものとなっている。したがって、図６の一時キー参照情報６５の証明書の段数６６に、２段階の公開鍵証明書を意味する“２”という値を設定することにより、公開鍵暗号方式による第２のサービス提供者の認証が要求されていることを示すことができる。
【００７２】
また、図６の一時キー参照情報６５のキー番号６７には、第２の一時キーに付与されたキー番号が格納される。前記実施の形態１と同様に、第２の公開鍵証明書は、この一時キーに付与されたキー番号に対する署名も含んでおり、キー番号が改竄されたものでないことが保証される。
【００７３】
なお、証明書の段数６６に“１”という値が設定されている場合は、１段階の公開鍵証明書を示し、上記の第１の一時キーを用いた外部認証による第１のサービス提供者の認証が必要となる。第１の公開鍵証明書は、第１の一時キーに付与されたキー番号に対する署名も含んでおり、キー番号６７には、このキー番号が設定される。
【００７４】
このように、証明書の段数という概念を導入することにより、公開鍵暗号方式による認証の場合も、ＩＣカードのファイルの階層構造に対応したセキュリティ構造を提供できる。
【００７５】
以上のような本実施の形態２によるアクセス制御方法によれば、実施の形態１のアクセス制御方法において、ファイルの階層構造に対応したキーの参照方法を用い、特に、一時キーの場合は、“証明書の段数”という概念を導入して、キー番号を各ディレクトリ直下でのみ重複しないように付与するようにしたので、暗証番号の照合や秘密鍵暗号方式による認証と、公開鍵暗号方式による認証という２つの異なる認証方法を組み合わせたアクセス制御を行う際において、公開鍵暗号方式による認証においても、ＩＣカードのファイルの階層構造に対応したセキュリティ構造を提供できる効果が得られる。
【００７６】
（実施の形態３）
本発明の実施の形態３によるアクセス制御方法は、第２のサービス提供者が第１のサービス提供者からの独立性を保てないという、前記実施の形態２によるアクセス制御方法における問題点を、解決するように工夫されたものである。
【００７７】
前記実施の形態２のアクセス制御方法では、第２の公開鍵証明書は第１のサービス提供者によって署名されるものであるため、第１のサービス提供者であれば、この第２の公開鍵証明書を偽造することができる。すなわち、第１のサービス提供者が第２のサービス提供者になりすまして、ファイル９のデータを読み出すことが可能である。したがって、ファイル９を第１のサービス提供者が読み出すことを禁止したい場合には、前記実施の形態２のアクセス制御方法は、適さない。
【００７８】
この問題点を解決するため、本発明の実施の形態３によるアクセス制御方法は、以下の方法を採ったものである。すなわち、予めカード発行者の秘密鍵／公開鍵ペアを各階層用に別々に生成し、図８に示すように、ＩＣカードの各階層にカード発行者の公開鍵を設定する。すなわち、ディレクトリが２階層の場合は、第１階層に発行者の第１公開鍵８１を設定し、第２階層に発行者の第２公開鍵８２を設定する。そして、カード発行者の第１秘密鍵による第１のサービス提供者の公開鍵に対する署名を含んだ第１の公開鍵証明書を、カード発行者から予め第１のサービス提供者に対して発行する。同様に、カード発行者の第２秘密鍵による第２のサービス提供者の公開鍵に対する署名を含んだ第２の公開鍵証明書を、カード発行者から予め第２のサービス提供者に対して発行する。ここで、カード発行者の第１秘密鍵と、第１公開鍵が対をなすものであり、第２秘密鍵と、第２公開鍵が対をなすものである。また、各公開鍵証明書には、これまでと同様に、各一時キーに付与されたキー番号に対する署名も含まれる。
【００７９】
この場合のセキュリティ属性１０の構造を、図９に示す。一時キー参照情報９５以外の構成要素は、図６と同じものである。一時キー参照情報９５の階層番号９６には、該当する公開鍵証明書の検証に使用される発行者の公開鍵が格納されるディレクトリの階層番号が設定される。すなわち、第１のサービス提供者にアクセスを許可する場合は、階層番号９６に“１”という値が設定され、第２のサービス提供者にアクセスを許可する場合は、階層番号９６に“２”という値が設定される。キー番号９７には、一時キーに付与されたキー番号が格納される。
【００８０】
以上のような本実施の形態３のアクセス制御方法によれば、予めカード発行者の秘密鍵／公開鍵ペアを各階層用に別々に生成し、ＩＣカードの各階層にカード発行者の公開鍵を設定するようにしたので、第１のサービス提供者が第２のサービス提供者になりすますためには、カード発行者の第２秘密鍵による第１のサービス提供者の公開鍵に対する署名が必要となるが、これを生成できるのはカード発行者だけであることになり、該第１のサービス提供者によるなりすましを防止することができる。また同様に、第２のサービス提供者が第１のサービス提供者になりすますことも防止できる。
【００８１】
（実施の形態４）
前述した実施の形態１ないし３では、ファイルにセキュリティ属性を設定したが、公開鍵暗号方式においては、サービス提供者が許されるアクセス種別や対象ファイルを、端末から送られる公開鍵証明書の中で指定するようにすることもできる。このようにすれば、公開鍵証明書を変更するだけでＩＣカード内のファイルへのアクセス権を変更することができる。すなわち、ＩＣカード内のセキュリティ属性を変更する必要がないため、ＩＣカードを回収する必要がないという運用上のメリットが生まれる。
【００８２】
以下、本発明の実施の形態４によるアクセス制御方法について、図１０、および図１１を用いて説明する。
【００８３】
本実施の形態４では、前提として、ＩＣカードシステムの構成、およびファイルの論理構造は、以前の実施の形態と同様に、図１、図２と同じものを想定する。また、ファイル９からデータを読み出す際のアクセス条件についても、以前の実施の形態と同様に、暗証番号６によるカード所持者の認証、かつ、公開鍵暗号方式による端末２の認証、が要求されているものとする。
【００８４】
図１０は、本実施の形態４によるアクセス制御方法におけるファイルのセキュリティ属性の構造を示しており、一時キー参照情報１０２以外は、前記実施の形態１と同じ構成である。一時キー参照情報１０２には、一時キーを用いた外部認証が必要であるか否かを示す情報が設定されている。例えば、値“０”が設定されていれば、外部認証は不要であり、値“１”が設定されていれば、外部認証が必要であるものとし、ここでは、値“１”が設定されているものとする。
【００８５】
あるいは他の方法としては、一時キー参照情報１０２が存在すれば、一時キーを用いた外部認証が必要であることを示し、一時キー参照情報１０２が存在しなければ、一時キーを用いた外部認証が不要であるとする等、の構成を採ることも可能である。
【００８６】
図１１は、本実施の形態４によるアクセス制御方法におけるアクセス制御手順を示す。
【００８７】
暗証番号の照合から外部認証までの基本的な処理の流れは、前記実施の形態１と同じであるため説明を割愛する。外部認証まで正しく行われた場合、公開鍵証明書で指定されたコマンド名と、対象ファイルの識別子等を、ＲＡＭ４に保持する。
【００８８】
その後、ＩＣカード１はファイル９に対する読出しコマンドを端末２から受信した際、セキュリティ属性１０の内容から、データを読み出す際のアクセス条件として、キー番号“１”の暗証番号の照合、かつ、一時キーによる認証、が要求されていることを認識し、まず、暗証番号の照合結果と、外部認証の結果をチェックする。これらがともに成功していた場合は、上記ＲＡＭ４に保持されたコマンド名に読出しコマンドが含まれ、かつ、対象ファイルにファイル９が含まれているか否かをチェックし、ともに含まれていた場合に限り、アクセス条件が満たされていると判断し、ファイル９からのデータの読み出しを許可する。
【００８９】
上記では、論理条件３３がＡＮＤ論理である場合を説明したが、ＯＲ論理の場合は、暗証番号の照合か、一時キーによる外部認証のいずれか一方が成功すれば、ファイルの読出しが許可される。
【００９０】
このように、公開鍵暗号方式による認証結果をアクセス制御に反映させるか否かを示す情報を、セキュリティ属性に持たせることにより、一時キーを用いた認証に関するアクセス権の変更に、柔軟に対応することができる。
【００９１】
以下、本実施の形態４における公開鍵証明書について詳しく説明する。
【００９２】
図１２は、本実施の形態４における公開鍵証明書の構成を示したものである。
【００９３】
公開鍵関連情報１２２には、サービス提供者の公開鍵の他、署名者の識別情報、署名アルゴリズム、有効期限等が格納される。この公開鍵関連情報１２２と、後述するアクセス権情報１２３とで構成される署名対象データ１２１に対し、カード発行者の秘密鍵で署名したものが、署名データ１２４である（図１２（ａ）参照）。
【００９４】
アクセス権情報１２３は、ディレクトリ名１２５と、ファイル／コマンド種別情報１２６で構成される（図１２（ｂ）参照）。
【００９５】
まず、ファイル／コマンド種別情報１２６について説明する。ファイル／コマンド種別情報１２６の最も簡単な構成は、図１２（ｃ）に示すように、ファイル識別子と、コマンド種別とを連結する方法である。例えば、ファイル９に対する読出し権限を持つサービス提供者の公開鍵証明書であれば、ファイル識別子として、ファイル９のファイル名が設定され、アクセス種別として、読出しコマンドのコマンドコードが設定される。
【００９６】
複数のファイル、および複数のアクセス種別に対するアクセス権限を持つ場合、ファイル識別子とアクセス種別を単純に連結する方法では、伝送効率が悪いため、図１２（ｄ）あるいは図１２（ｅ）の方法が考えられる。図１２（ｄ）は、一つのファイル識別子に複数のコマンド種別を連結する方法であり、一つのファイルに対して複数のアクセス（例えば、読出しと書込み等）が許可される場合に有効である。一方、図１２（ｅ）は、一つのコマンド種別に複数のファイル識別子を連結する方法であり、一つのアクセス方法（例えば、読出し）が複数のファイルに対して許可される場合に有効である。
【００９７】
ディレクトリ名１２５は、各ディレクトリ（ルートディレクトリ、またはサブディレクトリ）を識別するためのものである。ファイル識別子は、ディレクトリごとに独立に付与されるのが一般的であり、異なるディレクトリ直下に同じファイル識別子が存在するケースは、往々にしてある。したがって、公開鍵証明書がディレクトリ名１２５を持たない場合、あるディレクトリを対象とした公開鍵証明書を、別のディレクトリに流用することが可能となり、セキュリティ上問題がある。公開鍵証明書にディレクトリ名１２５を含め、カード発行者による署名の対象とすることにより、この問題点を解消することができる。
【００９８】
ここで、ＩＣカード１の処理としては、公開鍵証明書に含まれるディレクトリ名１２５が現在選択されているディレクトリと異なる場合は、エラーとする。また、別のディレクトリが選択された場合は、図１１で説明したＲＡＭ４に保持された一時キーと、コマンド名および対象ファイルの識別子は、消去される。
【００９９】
このように、ディレクトリごとに公開鍵証明書を準備する方法もあるが、親子さらにその子孫という関係にあたる、一つの枝上に位置する複数のディレクトリ（例えば、図２のルートディレクトリ２１と、サブディレクトリ２２）に対するアクセス権限がサービス提供者に与えられている場合、これらを一つの公開鍵証明書にまとめてＩＣカード１に送ることができれば、伝送効率を上げることができる。
【０１００】
それを実現するための公開鍵証明書の構成を、図１３に示す。図１３は、２つのディレクトリに関する情報が、該公開鍵証明書に含まれる場合を示している。このように、アクセス権情報１２３は、ディレクトリ数１３１、第１のディレクトリ情報１３２、および第２のディレクトリ情報１３３を有し、第１のディレクトリ情報１３２と、第２のディレクトリ情報１３３は、各々、図１２で説明したディレクトリ名１２５と、ファイル／コマンド種別情報１２６で構成される。
【０１０１】
以下、本実施の形態４における、複数のディレクトリ情報を有する公開鍵証明書を受けた取った場合のＩＣカード１の処理について、図２のファイル構成を例として説明する。
【０１０２】
現在選択されているディレクトリがルートディレクトリ２１である場合、ＩＣカード内の全てのディレクトリが子ディレクトリに当たるため、公開鍵証明書で示されるディレクトリ名がＩＣカード内に存在すれば正常であるとみなし（存在しない場合は、エラーとする）、当該ディレクトリのファイル／コマンド識別情報１２６で示されるコマンド名、および対象ファイルの識別子を、当該ディレクトリの階層番号に対応する情報としてＲＡＭ４に保持する。この処理を、公開鍵証明書に含まれる複数のディレクトリ（２階層の場合は、高々２個）に対して繰り返し行う。ただし、その後、前記公開鍵証明書に含まれないサブディレクトリが選択された場合は、前記ＲＡＭ４内に保持された情報のうち、第２階層に対応する情報は破棄される。
【０１０３】
一方、現在選択されているディレクトリがサブディレクトリ２２である時、公開鍵証明書で示されるディレクトリ名が自分自身か、または親であるルートディレクトリ２１のものであれば、正常であるとみなし（それ以外の場合は、エラーとする）、当該ディレクトリに対応するファイル／コマンド識別情報１２６で示されるコマンド名、および対象ファイルの識別子を、当該ディレクトリの階層番号に対応する情報としてＲＡＭ４に保持する。この処理を、公開鍵証明書に含まれる複数のディレクトリ（２階層の場合は、高々２個）に対して繰り返し行う。その後、ルートディレクトリ２１または隣りのサブディレクトリ２３が選択された場合、前記ＲＡＭ４内に保持された情報のうち、第２階層に対応する情報は破棄される。
【０１０４】
なお、上記の説明はファイルの階層が２階層の場合であるが、３階層以上の場合もこれに沿った処理が行われる。すなわち、公開鍵証明書で示されるディレクトリ名が、ルートディレクトリと現在選択されているディレクトリとを結ぶ枝上に存在するか、あるいは、現在選択されているディレクトリの子孫であれば、正常であるとみなして通常処理を行い、公開鍵証明書で示されたディレクトリと異なる第ｎ階層のディレクトリが選択された時点で、ＲＡＭ４内に保持された情報のうち、第ｎ階層に対応する情報が破棄される。この場合、ｎ＋１階層目以下の階層に対応するＲＡＭ４内の情報があれば、それも同時に破棄される。
【０１０５】
あるいは、公開鍵証明書を受け取った時点で、自分より配下のディレクトリに関するものはエラーとする等、他の様々な方法も採用可能である。
【０１０６】
以上のような本実施の形態４によるアクセス制御方法によれば、前記実施の形態１〜３において、サービス提供者が許されるアクセス種別や対象ファイルを、端末から送られる公開鍵証明書の中で指定するようにしたので、これにより、公開鍵証明書を変更するだけでＩＣカード内のファイルへのアクセス権を変更することができ、ＩＣカード内のセキュリティ属性を変更する必要がなくなり、ＩＣカードを回収する必要がないという運用上のメリットを得ることができる。
【０１０７】
（実施の形態５）
本発明の実施の形態５によるアクセス制御方法は、暗証番号の照合や、秘密鍵暗号による認証の場合と同様に、公開鍵暗号方式の場合においても、照合誤り回数を記録することを可能とする方法である。暗証番号等の固定キーの場合は、キー自身が照合誤り回数に関する情報を持つことができるが、一時キーの場合は、不揮発性メモリ内に存在しないため、ディレクトリで管理する方法を採用する。
【０１０８】
以下、本実施の形態５のアクセス制御方法におけるセキュリティ属性に対応した方法について、図１４を参照しながら説明する。なお、以下の説明において、“照合”と記した箇所は、“照合”又は“認証”を意味している。
【０１０９】
図１４は、本実施の形態５によるアクセス制御方法におけるルートディレクトリ２１に含まれる照合回数管理テーブルの構成を示したものである。照合回数管理テーブル１４１は、キー番号ごとに、照合許容回数と、照合誤り回数とで構成される。照合許容回数は、照合誤りが連続何回まで許されるかを示したものである。また、照合誤り回数は、連続して照合を誤った回数を記録し、照合に失敗する度にインクリメントされ、照合が成功すれば値“０”にクリアされる。照合誤り回数が照合許容回数に達した時、当該キーは閉塞される。
【０１１０】
前記実施の形態１で説明したように、暗証番号６にはキー番号“１”が付与されているため、照合回数管理テーブル１４１のキー番号“１”の行は、暗証番号６に関する情報を示している。ここでは、照合許容回数は３回に設定され、照合を１回失敗した場合を示している。キー番号“２”は、カード発行者の公開鍵１１に付与されているが、このキーは照合回数の管理の対象外であるため、照合許容回数の欄には、未使用を示す値“０”が設定される。また、キー番号“３”〜“７”も現在未使用であるため、照合許容回数の欄には、値“０”が設定される。一時キーには、キー番号“８”が付与されているため、公開鍵暗号方式による認証誤り回数は、キー番号“８”の行で管理される。この例では、２回まで許容されていることを示している。
【０１１１】
このように、前記実施の形態５では、全てのキーがＩＣカード全体で管理されるため、照合回数管理テーブルはルートディレクトリ２１で管理される。
【０１１２】
一方、実施の形態２〜４では、キーの管理がディレクトリ単位で行われるため、照合回数管理テーブルも、ディレクトリごとに持つこととなる。
【０１１３】
すなわち、前記実施の形態２では、証明書の段数が“１”であれば、ルートディレクトリ２１の照合回数管理テーブルが参照され、証明書の段数が“２”であれば、サブディレクトリ２２の照合回数管理テーブルが参照される。
【０１１４】
また、実施の形態３では、第１の公開鍵証明書を用いた認証では、ルートディレクトリ２１の照合回数管理テーブルが参照され、第２の公開鍵証明書を用いた認証では、サブディレクトリ２２の照合回数管理テーブルが参照される。
【０１１５】
また、実施の形態４では、公開鍵証明書がルートディレクトリ２１のディレクトリ名を含めば、ルートディレクトリ２１の照合回数管理テーブルが参照され、公開鍵証明書がサブディレクトリ２２のディレクトリ名を含めば、サブディレクトリ２２の照合回数管理テーブルが参照される。
【０１１６】
このように、本実施の形態５では、各キー番号に対応した照合回数管理テーブルをディレクトリに持たせることにより、キー番号により対象となるキーを識別することが可能となり、一時キーごとの照合回数の管理が可能となる。さらに、例えば、閉塞解除コマンドのパラメータでキー番号を指定することにより、一時キーの閉塞解除の機能等をも同様に実現可能となる。
【０１１７】
なお、前述の実施の形態４では、一時キーのキー番号に関する情報を一時キー参照情報１０２に持たないため、公開鍵証明書にキー番号は必須ではないが、照合回数を管理する場合には、公開鍵証明書の公開鍵関連情報にキー番号を含めればよい。
【０１１８】
（実施の形態６）
本発明の実施の形態６によるアクセス制御方法は、アクセス権情報を外部からＩＣカードに与えるという公開鍵証明書の考え方を、暗証番号の照合や秘密鍵暗号方式による認証にも適用した方法である。これにより、暗証番号の照合や秘密鍵暗号方式による認証に関しても、ＩＣカードを回収することなくアクセス条件を変更できるという運用上のメリットが生まれる。
【０１１９】
これを実現するための本実施の形態６における公開鍵証明書の構成を、図１５に示す。公開鍵関連情報１２２は、図１２で説明したものと同じものであり、サービス提供者の公開鍵の他、署名者の識別情報、署名アルゴリズム、有効期限等が格納される。また、この公開鍵証明書は一時キーのキー番号も含んでいる。この公開鍵関連情報１２２と、後述するディレクトリ関連コマンドアクセス権情報１５２、およびファイル関連コマンドアクセス権情報１５３とで構成される署名対象データ１５１に対し、カード発行者の秘密鍵で署名したものが、署名データ１５４である。
【０１２０】
ディレクトリ関連コマンドアクセス権情報１５２は、現在選択されているディレクトリに対するコマンド（例えば、ディレクトリ名の更新やファイルの創生等）に関するアクセス権情報であり、図１５（ａ）に示すように複数のアクセスモードとセキュリティ条件の対で構成される。アクセスモードとセキュリティ条件は、実施の形態１〜３で説明したセキュリティ属性１０と同じ情報を有するものであり、一時キーに関する情報も含んでいる。
【０１２１】
ファイル関連コマンドアクセス権情報１５３も、ディレクトリ関連コマンドアクセス権情報１５２と同様の構成であるが、現在選択されているディレクトリ直下に複数のファイルが存在する場合は、図１５（ｂ）に示すように、ファイルの数だけファイルアクセス情報が連結される。各ファイルアクセス情報は、ファイルを識別するためのファイル識別子と、複数のアクセスモードとセキュリティ条件との対で構成される。このアクセスモードと、セキュリティ条件も、実施の形態１〜３で説明したセキュリティ属性１０と同じ情報を有するものであり、一時キーに関する情報も含んでいる。
【０１２２】
ディレクトリ関連コマンドアクセス権情報１５２の場合も、ファイル関連コマンドアクセス権情報１５２の場合も、アクセスモードとセキュリティ条件との対は、この公開鍵証明書を送信する端末が使用し得るコマンド分だけ連結される。ここで指定されないコマンドは、その端末にとって実行が許可されていないことを意味する。
【０１２３】
このように、従来はＩＣカードの不揮発性メモリに格納していたセキュリティ属性に関する情報を、公開鍵証明書の中に含め、端末からＩＣカードに送信することにより、暗証番号の照合や秘密鍵暗号方式による認証に関するアクセス権の変更にも、柔軟に対応することができる。
【０１２４】
しかし、公開鍵証明書を変更することによってＩＣカードに対するアクセス権を自由に変更できるというのは運用上便利ではあるが、外部からＩＣカードへ与えることのできる公開鍵証明書は、攻撃の対象になりやすく、セキュリティ上の脆弱性を露呈する危険性も秘めている。したがって、これを防ぐための何らかの防御対策を、ＩＣカード側で講じることが好ましい。
【０１２５】
図１６は、本実施の形態６におけるこのような防御対策の一例を示すものであり、各ディレクトリは絶対的アクセス権情報１６１を有する。図１６では、ルートディレクトリ２１の場合を示しているが、サブディレクトリについても同様の情報を有する。絶対アクセス権情報は、ディレクトリ関連コマンド絶対的アクセス権情報１６２と、ファイル関連コマンド絶対的アクセス権情報１６３とで構成される。ディレクトリ関連コマンド絶対的アクセス権情報１６２は、図１５のディレクトリ関連コマンドアクセス権情報１５２と同じ構成である。同様に、ファイル関連コマンド絶対的アクセス権情報１６３は、図１５のファイル関連コマンドアクセス権情報１５３と同じ構成である。
【０１２６】
ディレクトリ関連コマンド絶対的アクセス権情報１６２は、絶対的なアクセス条件であり、公開鍵証明書に含まれるディレクトリ関連コマンドアクセス権情報１５２よりも優先される。すなわち、公開鍵証明書のディレクトリ関連コマンドアクセス権情報１５２でどのようなアクセス条件が提示されようとも、ＩＣカードは、現在選択されているディレクトリに含まれるディレクトリ関連コマンド絶対的アクセス権情報１６２に従ってアクセス制御を行う。
【０１２７】
現在選択されているディレクトリに、ディレクトリ関連コマンド絶対的アクセス権情報１６２が存在しなければ、公開鍵証明書のディレクトリ関連コマンドアクセス権情報１５２が有効となるが、逆にディレクトリ関連コマンド絶対的アクセス権情報１６２が存在する場合、公開鍵証明書のディレクトリ関連コマンドアクセス権情報１５２は無効となる。
【０１２８】
ファイル関連コマンド絶対的アクセス権情報１６３についても、同様である。
【０１２９】
このように、ＩＣカード内に絶対的アクセス権情報を格納することにより、アクセス権情報を含む公開鍵証明書がたとえ偽造されたとしても、必要なセキュリティを確保することが可能となる。
【０１３０】
なお、上記の説明では各ディレクトリに絶対的アクセス権情報を持たせる構成としたが、ファイル関連コマンド絶対的アクセス権情報１６３は、ディレクトリではなく、各ファイルに持たせてもよい。
【産業上の利用可能性】
【０１３１】
本発明にかかる方法は、ＩＣカードに格納されたファイル等に対するアクセス制御を行うシステムに有用である。
【図面の簡単な説明】
【０１３２】
【図１】図１は、本発明の実施の形態１におけるＩＣカードシステムの構成図である。
【図２】図２は、本実施の形態１のアクセス制御方法におけるファイル等の論理構造図である。
【図３】図３は、本実施の形態１におけるセキュリティ属性の構造図である。
【図４】図４は、本実施の形態１におけるＩＣカードシステムのアクセス制御手順を示す図である。
【図５】図５は、本実施の形態１における他のセキュリティ属性の構造図である。
【図６】図６は、本発明の実施の形態２によるアクセス制御方法におけるセキュリティ属性の構造図である。
【図７】図７は、本実施の形態２におけるＩＣカードシステムのアクセス制御手順を示す図である。
【図８】図８は、本実施の形態３のアクセス制御方法におけるファイル等の論理構造図である。
【図９】図９は、本実施の形態３におけるセキュリティ属性の構造図である。
【図１０】図１０は、本実施の形態４のアクセス制御方法におけるセキュリティ属性の構造図である。
【図１１】図１１は、本実施の形態４におけるＩＣカードシステムのアクセス制御手順を示す図である。
【図１２】図１２は、本実施の形態４における公開鍵証明書の構成図である。
【図１３】図１３は、本実施の形態４における他の公開鍵証明書の構成図である。
【図１４】図１４は、本実施の形態５のアクセス制御方法におけるディレクトリの構成図である。
【図１５】図１５は、本実施の形態６のアクセス制御方法における公開鍵証明書の構成図である。
【図１６】図１６は、本実施の形態６のアクセス制御方法におけるディレクトリの構成図である。
【図１７】図１７は、一般的なＩＣカードのファイル等の論理構造図である。
【図１８】図１８は、従来のＩＣカードのセキュリティ属性の構造図である。
【図１９】図１９は、一般的なＩＣカードシステムの公開鍵暗号方式による認証手順を示す図である。
【符号の説明】
【０１３３】
１  ＩＣカード
２  端末
１０  セキュリティ属性
３１  アクセスモード
３２  セキュリティ条件
３３  論理条件
３４  固定キー参照情報
３５  一時キー参照情報
６４  固定キー参照情報
６５  一時キー参照情報
６６  証明書の段数
９５  一時キー参照情報
９６  階層番号
１０２  一時キー参照情報
１２３  アクセス権情報
１４１  照合回数管理テーブル
１５２  ディレクトリ関連コマンドアクセス権情報
１５３  ファイル関連コマンドアクセス権情報
１６１  絶対的アクセス権情報
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008032648.tif 000022
【図２】
2008032648.tif 000023
【図３】
2008032648.tif 000024
【図４】
2008032648.tif 000025
【図５】
2008032648.tif 000026
【図６】
2008032648.tif 000027
【図７】
2008032648.tif 000028
【図８】
2008032648.tif 000029
【図９】
2008032648.tif 000030
【図１０】
2008032648.tif 000031
【図１１】
2008032648.tif 000032
【図１２】
2008032648.tif 000033
【図１３】
2008032648.tif 000034
【図１４】
2008032648.tif 000035
【図１５】
2008032648.tif 000036
【図１６】
2008032648.tif 000037
【図１７】
2008032648.tif 000038
【図１８】
2008032648.tif 000039
【図１９】
2008032648.tif 000040
【手続補正書】
【提出日】平成20年11月28日(2008.11.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１０
【補正方法】変更
【補正の内容】
【請求項１０】
請求項８記載のアクセス制御方法において、
前記公開鍵証明書は、複数のディレクトリ識別情報を有し、
この複数のディレクトリ識別情報の各々で示されたディレクトリが、ルートディレクトリと現在選択されているディレクトリとを結ぶ枝上にあるディレクトリである場合に、前記ＩＣカードは、通常処理を行う、
ことを特徴とするアクセス制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
また、前記公開鍵証明書は、複数のディレクトリ識別情報を有し、この複数のディレクトリ識別情報の各々で示されたディレクトリが、ルートディレクトリと現在選択されているディレクトリとを結ぶ枝上にあるディレクトリである場合に、前記ＩＣカードは、通常処理を行うので、複数のディレクトリに関するアクセス権情報を一つの公開鍵証明書にまとめてＩＣカードに送信することが可能となり、伝送効率を上げることができる。
【国際調査報告】
2008032648.tif 000041
2008032648.tif 000042