(57)【要約】【課題】秘密鍵及び公開鍵証明書の利用回数の制限及びこれらの更新処理を適切かつ効率的に管理することができる仕組みを提供する。【解決手段】ＥＥＰＲＯＭ１２に秘密鍵を利用して電子署名を生成した利用回数、及び秘密鍵の利用回数上限値を記憶しておき、ＣＰＵ１３により、利用者からの要求に応じて、秘密鍵に基づいて電子署名を生成し、当該秘密鍵に対応する公開鍵の公開鍵証明書を利用者から要求された所定のデータに添付する処理を行い、この時の秘密鍵の利用回数をカウントして、当該利用回数が上記利用回数上限値以上となった場合に、秘密鍵に基づいた電子署名の生成及び公開鍵証明書の利用を制限することとした。【選択図】　　　　図３
2004080174.tif 000002
【特許請求の範囲】
【請求項１】
利用者からの要求に応じて、秘密鍵に基づいて電子署名を生成すると共に、当該秘密鍵に対応する公開鍵の公開鍵証明書を利用者から要求された所定のデータに添付する処理手段と、
上記秘密鍵を利用して電子署名を生成した利用回数、及び秘密鍵の利用回数上限値を記憶する記憶手段と、
上記秘密鍵の利用回数をカウントし、利用回数が上記利用回数上限値以上となった場合に、上記秘密鍵に基づいた電子署名の生成及び上記公開鍵証明書の利用を制限する制限手段と、
を有することを特徴とするＩＣ。
【請求項２】
上記公開鍵証明書には有効期間が付されており、
上記記憶手段には、上記公開鍵証明書の有効期間の残日数が少なくなるにつれて秘密鍵の利用可能回数が少なくなるように設定された秘密鍵の利用回数上限値が記憶されており、
上記公開鍵証明書の残り有効期間日数を計算し、計算した残りの有効期間日数に対する秘密鍵の利用回数が、上記記憶手段に記憶されている利用可能回数上限値以上のときに、上記秘密鍵の更新処理を行う更新処理手段を更に有する、
請求項１記載のＩＣ。
【請求項３】
上記公開鍵証明書には有効期間が付されており、
上記記憶手段には、上記公開鍵証明書の有効期間の残日数が少なくなるにつれて秘密鍵の利用可能回数が少なくなるように設定された秘密鍵の利用回数上限値が記憶されており、
上記記憶手段に記憶されている利用回数上限値の範囲内で利用回数の設定を利用者に対して許可する更新処理手段を更に有する、
請求項１記載のＩＣ。
【請求項４】
保持している秘密鍵に基づいて電子署名データを生成することができるＩＣと、上記秘密鍵に対応する公開鍵の公開鍵証明書を発行する認証局装置とを有するシステムであって、
上記認証局装置は、
上記ＩＣが生成した秘密鍵及び公開鍵に対して公開鍵証明書を発行する処理と、
上記ＩＣが秘密鍵を用いて電子署名を生成した回数が所定の回数以上となった場合に、上記ＩＣに対して秘密鍵及び公開鍵の更新を指示する処理とを行い、
上記ＩＣは、
利用者からの要求により、秘密鍵を利用して電子署名を生成し、生成した電子署名と共に上記認証局装置により発行された公開鍵証明書を所定のデータに添付する処理と、
上記秘密鍵による電子署名生成回数をカウントし、この回数を上記認証局装置へ通知する処理と、
上記認証局装置からの指示に応じて秘密鍵及び公開鍵を生成し、上記認証局装置に対して生成した秘密鍵及び公開鍵に対する公開鍵証明書の発行を要求する処理とを行う、
ことを特徴とするデータ処理システム。
【請求項５】
コンピュータに対して、
利用者からの要求に応じて、秘密鍵に基づいて電子署名を生成する処理と、
上記秘密鍵に対応する公開鍵の公開鍵証明書を利用者から要求された所定のデータに添付する処理と、
上記秘密鍵の利用回数をカウントし、利用回数が所定の利用回数上限値以上となった場合に、上記秘密鍵に基づいた電子署名の生成及び上記公開鍵証明書の利用を制限する処理と、
を実行させるコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＣが保持している秘密鍵及び公開鍵証明書の利用回数の制限及びこれらの更新を行うための技術に関する。
【０００２】
【従来の技術】
従来から、ＰＫＩ（Ｐｕｂｌｉｃ　Ｋｅｙ　Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）を利用した認証システムが提供されている。
図１２に従来の認証システムの一例を示す。図１２において、従来のシステムでは、公開鍵及び秘密鍵の鍵ペアを生成しこの鍵ペアを保持する利用者端末１００、所定のコンテンツ等を提供するサービスプロバイダ装置２００、公開鍵証明書を発行する認証局（Ｃｅｒｔｉｆｉｃａｔｉｏｎ　Ａｕｔｈｏｒｉｔｙ、以下単に「ＣＡ」という。）装置３００から構成されており、これらの装置がそれぞれインターネットを介して接続可能となっている。
【０００３】
この従来のシステムでは、利用者がＣＡから証明書の発行を受ける場合には、まず利用者端末１００を用いて公開鍵と秘密鍵の鍵ペアを生成する（Ｓ９０１）。
鍵ペアを生成すると、利用者は、利用者端末１００を用いて、ＣＡ装置３００に公開鍵を送信して公開鍵証明書の発行を要求する（Ｓ９０２）。
なお、この際にＣＡに対して所定の証明書発行料を支払う。
要求に応じて、ＣＡ装置３００が公開鍵証明書を発行すると、利用者端末１００はこれを保持する（Ｓ９０３）。
【０００４】
この状態で、利用者がサービスプロバイダと所定の取引を行う場合、利用者は、利用者端末１００が保持している秘密鍵を用いて電子署名を生成し（Ｓ９０４）、生成した電子署名と公開鍵証明書をサービスプロバイダー装置２００へ送信する（Ｓ９０５）。
【０００５】
サービスプロバイダー装置２００では、受信した公開鍵証明書の有効期限及び電子署名を検証し（Ｓ９０６）、検証の結果、公開鍵証明書が有効期限内で、かつ、電子署名が正しければ、利用者からの要求されたサービスの提供などの所定の処理を行うようになっていた。
【０００６】
【発明が解決しようとしている課題】
しかし、上述の従来のシステムでは、仮に１回も公開鍵証明書を使用しなくとも公開鍵証明書の有効期限が切れてしまった場合には、利用者は再度公開鍵証明書を取得する必要があったため、残った利用回数分は無駄になってしまい、証明書の利用料金が非常に高くなってしまうという問題があった。
【０００７】
一方このような問題を解決するため、ＣＡ側で利用者が利用した回数を管理し、利用者に公開鍵証明書の利用料を請求することも考えられる。しかし、この回数を管理するには、サービスプロバイダー経由で利用回数を管理する必要があり、ＣＡ側の管理の負担が大きく、実現は非常に困難であった。
【０００８】
また、利用回数を利用者の利用者端末１００で管理することも考えられるが、利用者による利用回数の改竄などのセキュリティ上の問題があった。
また、利用者側のセキュリティの問題を解決するため、耐タンパ性を有するＩＣカードなどに利用回数制限機能を組み入れることも考えられるが、従来のＩＣカードでは、証明書の有効期限がカード毎に一定であり有効期限内は秘密鍵及び公開鍵を更新していなかったため、秘密鍵の利用回数が多くなるとＩＣカード内の鍵が不正に暴かれる危険性が高くなり、セキュリティが問題となっていた。またＩＣカードでは、リソースが限られているため、鍵などの利用回数制限を効率よく実装することは非常に困難であるという問題があった。
【０００９】
本発明は、上記課題及び問題点を解決するためになされたものであって、公開鍵証明書及び秘密鍵の利用回数の制限及びこれらの更新処理を適切かつ効率的に行うことができる仕組みを提供することを目的とする。
【００１０】
【課題を解決するための手段】
上述の課題を解決するため、本発明の一の観点にかかるＩＣは、利用者からの要求に応じて、秘密鍵に基づいて電子署名を生成すると共に、当該秘密鍵に対応する公開鍵の公開鍵証明書を利用者から要求された所定のデータに添付する処理手段と、上記秘密鍵を利用して電子署名を生成した利用回数、及び秘密鍵の利用回数上限値を記憶する記憶手段と、上記秘密鍵の利用回数をカウントし、利用回数が上記利用回数上限値以上となった場合に、上記秘密鍵に基づいた電子署名の生成及び上記公開鍵証明書の利用を制限する制限手段とを有することを特徴とする。
【００１１】
また、上記公開鍵証明書には有効期間が付されており、上記記憶手段には、上記公開鍵証明書の有効期間の残日数が少なくなるにつれて秘密鍵の利用可能回数が少なくなるように設定された秘密鍵の利用回数上限値が記憶されており、上記公開鍵証明書の残り有効期間日数を計算し、計算した残りの有効期間日数に対する秘密鍵の利用回数が、上記記憶手段に記憶されている利用可能回数上限値以上のときに、上記秘密鍵の更新処理を行う更新処理手段を更に有するようにしてもよい。
【００１２】
また、上記公開鍵証明書には有効期間が付されており、上記記憶手段には、上記公開鍵証明書の有効期間の残日数が少なくなるにつれて秘密鍵の利用可能回数が少なくなるように設定された秘密鍵の利用回数上限値が記憶されており、上記記憶手段に記憶されている利用回数上限値の範囲内で利用回数の設定を利用者に対して許可する更新処理手段を更に有するようにしてもよい。
【００１３】
本発明にかかるデータ処理システムは、保持している秘密鍵に基づいて電子署名データを生成することができるＩＣと、上記秘密鍵に対応する公開鍵の公開鍵証明書を発行する認証局装置とを有するシステムであって、上記認証局装置は、上記ＩＣが生成した秘密鍵及び公開鍵に対して公開鍵証明書を発行する処理と、上記ＩＣが秘密鍵を用いて電子署名を生成した回数が所定の回数以上となった場合に、上記ＩＣに対して秘密鍵及び公開鍵の更新を指示する処理とを行い、上記ＩＣは、利用者からの要求により、秘密鍵を利用して電子署名を生成し、生成した電子署名と共に上記認証局装置により発行された公開鍵証明書を所定のデータに添付する処理と、上記秘密鍵による電子署名生成回数をカウントし、この回数を上記認証局装置へ通知する処理と、上記認証局装置からの指示に応じて秘密鍵及び公開鍵を生成し、上記認証局装置に対して生成した秘密鍵及び公開鍵に対する公開鍵証明書の発行を要求する処理とを行うことを特徴とする。
【００１４】
本発明にかかるコンピュータプログラムは、コンピュータに対して、利用者からの要求に応じて、秘密鍵に基づいて電子署名を生成する処理と、上記秘密鍵に対応する公開鍵の公開鍵証明書を利用者から要求された所定のデータに添付する処理と、上記秘密鍵の利用回数をカウントし、利用回数が所定の利用回数上限値以上となった場合に、上記秘密鍵に基づいた電子署名の生成及び上記公開鍵証明書の利用を制限する処理とを実行させることを特徴とする。
【００１５】
【発明の実施の形態】
以下、図面を参照して本発明にかかる利用回数制限装置をＩＣカードに適用し、当該ＩＣカードを用いてサービスプロバイダーから小額のディジタルコンテンツ（例えば、着メロ、静止画、動画）の購入を行うシステムに適用した実施形態について説明する。
【００１６】
図１において、本実施形態にかかるシステムは、ＩＣカード１、このＩＣカード１に対してデータの読み込み及び書き込みを行うリーダライタ２、リーダライタ２と接続された利用者端末３、この利用者端末３とインターネット等を介して接続可能に構成されたプロバイダ装置４及び認証局装置５から構成されている。
【００１７】
利用者端末３は、デジタルコンテンツの購入を行う利用者が使用する端末である。この利用者端末３は、コンピュータにより構成され、所定のブラウザなどを使用してインターネットなどのネットワーク等に接続可能に構成されている。
なお、この利用者端末３としては、例えば、いわゆるパソコン、携帯電話端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ　Ｄｉｇｉｔａｌ　Ａｓｓｉｓｔａｎｃｅ）などにより構成してもよい。
【００１８】
プロバイダー装置４は、デジタルコンテンツを利用者に販売等するサービスプロバイダーが使用するコンピュータである。
このプロバイダー装置４は、利用者端末３から送信された電子署名の認証処理や、これに添付された公開鍵証明書の認証を認証局装置５に対して要求する処理などを行えるようになっている。
【００１９】
認証局装置５は、利用者の秘密鍵及び公開鍵の鍵ペアの認証を行う認証局のコンピュータである。
認証局装置５は、ＩＣカード１の秘密鍵に対応する公開鍵の公開鍵証明書を発行する処理を行う。この公開鍵証明書は有効期間が付されており、有効期間経過後は利用できないようになっている。
【００２０】
また、認証局装置５は、ＩＣカード１を管理するための情報をデータベース化した認証局データベース５１を有している。
この認証局データベース５１には、図２に示すように、ＩＣカード１の識別情報としてのカードＩＤ、ＩＣカード１が生成した秘密鍵及び公開鍵の鍵ペア、当該鍵ペアの有効期限、利用回数累積値、管理鍵、ライセンスデータが記憶できるようになっている。
利用回数累積値は、ＩＣカード１が保持している鍵ペアの利用回数の累積値である。
管理鍵は、図３に示す内部照合対象データを管理するための鍵である。
ライセンスデータは利用権限情報であり、このライセンスデータにより、利用者は、利用回数にかかわりなく、秘密鍵に基づいたデジタル署名の生成などを行いコンテンツデータの購入要求を行うことができる。
【００２１】
ＩＣカード１は、本発明にかかる利用回数制限装置を構成する。
ＩＣカード１は、図３に示すようにＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）１１、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ　Ｅｒａｓａｂｌｅ　Ｐｒｏｇｒａｍｍａｂｌｅ　Ｒｅａｄ　Ｏｎｌｙ−Ｍｅｍｏｒｙ）１２及び、これらに記憶されているプログラムやデータなどに基づいて所定の処理を実行するＣＰＵ１３から構成されている。
【００２２】
ＲＡＭ１１は、アクセス権解錠情報などが記憶できる記憶部である。
このアクセス権解錠情報は、ＰＩＮ照合結果等に基づく内部照合対象データ等への利用者のアクセス権限を表している。
ＥＥＰＲＯＭ１２は、ＣＰＵ１３が実行するアプリケーションプログラムなどを記憶することができる記憶部である。
このＥＥＰＲＯＭ１２には、ＣＰＵ１３が実行するアプリケーションプログラム１〜Ｎ、このアプリケーションプログラムに関連付けられた公開鍵証明書、内部照合対象データ、ライセンスデータ、秘密鍵、管理鍵、最新秘密鍵利用日時、証明書更新要求の基準テーブル、証明書更新要求ステータスフラグが記憶できるようになっている。
公開鍵証明書は、秘密鍵に対応する公開鍵の証明書であり、各アプリケーションと関連付けられている。なお、公開鍵証明書の格納時には、カード配布時に格納されている後述する認証局の公開鍵証明書により検証処理を行うようにしてもよい。またＩＣカードに格納する公開鍵証明書の有効期限が、認証局の公開鍵証明書の有効期限を越えないようにチェックして格納するようにしてもよい。
内部照合対象データは、秘密鍵の利用回数を管理するためのデータである。この内部照合対象データは、照合対象となる照合データ、秘密鍵の利用回数上限値を表す照合不一致回数上限値、秘密鍵の照合回数を表す現在の照合不一致回数累積値、内部照合対象データがロックしているか否かを表す状態情報から構成されている。なお、この内部照合対象データとライセンスデータは同じ内容のデータである。
管理鍵は、サービスプロバイダーがアプリケーション内の内部照合対象データをロックする際に認証するための鍵であり、この鍵の認証が成功しないと内部照合対象データをロックできないようになっている。
秘密鍵利用日時は、アプリケーション内の秘密鍵を利用した日時であり、秘密鍵が当該アプリケーションで利用されるたびに更新されるようになっている。
証明書更新要求基準テーブルは、公開鍵証明書の有効期限が切れる前に鍵ペアの更新を要求するか否かに関する基準値を記憶したテーブルである。このテーブルとしては、例えば、図４に示すように、公開鍵証明書の残り有効日数が少なくなれば秘密鍵の利用可能回数が少なくなるように設定し、図示のＡのエリアになったときに鍵ペアの更新を行うようになっている。
証明書更新要求ステータスフラグは、鍵ペアの更新又は証明書更新要求基準値を超えていることを表すフラグである。
【００２３】
また、ＥＥＰＲＯＭ１２には各アプリケーションに共通のデータとして、利用回数更新日時、ＰＩＮ照合対象データ、内部照合対象データロック情報、ＩＣカードを識別するためのカードＩＤ、認証局の公開鍵証明書、利用回数上限値テーブル、認証局管理鍵、証明書送信用秘密鍵、鍵ペア生成ステータスなどの情報が記憶できるようになっている。
利用回数更新日時は、認証局が各アプリケーションの内部照合対象データのパラメータ値を設定・変更した日時である。
ＰＩＮ照合対象データは、利用者から入力されたＰＩＮデータの照合対象となるデータである。
内部照合対象データロック情報は、内部照合対象データがロックしているか否かを表すものである。
認証局の公開鍵証明書は、認証局によりＩＣカードに予め格納された公開鍵証明書である。なお、認証局の公開鍵証明書とアプリケーションで利用する公開鍵証明書の関連付けテーブルをアプリケーションから分離してＩＣカード内に持つことにより、アプリケーションごとで共通的に認証局の公開鍵証明書を用いるようにしてもよい。
利用回数上限値テーブルは、証明書の有効期限と現在の日付との差、即ち残有効期間に応じた公開鍵証明書の利用回数上限値を記憶したテーブルである。この利用回数上限値テーブルは、例えば、図５に示すように残有効期間が短くなれば利用回数設定上限値としての回数も少なくなるように設定できる。
認証局管理鍵は、各アプリケーションの内部照合対象データの設定・更新、ライセンスデータの設定や削除を行う際に使用する認証鍵であり、認証局管理鍵の認証が成功することによってこれらの処理が実行できるようになっている。
鍵ペア生成ステータスは、認証局に公開鍵証明書の生成依頼を行っているか否かのステータスを表す情報である。この鍵ペア生成ステータスは、認証局から受け取った公開鍵証明書と、秘密鍵をアプリケーションに設定することによりクリアされるようになっている。
【００２４】
次に、本実施形態にかかる利用回数制限方法の一実施形態について説明する。
なお、サービス提供者はディジタルコンテンツの購入を促進するために、所定の回数（例えば、５回）無料で購入用秘密鍵を利用できるようにした場合の例について説明する。
【００２５】
前処理として、利用者にＩＣカード１を配布する前に、ＩＣカード１の発行処理を行う際の処理について説明する。
まず、ＣＰＵ１３が所定のアルゴリズムにより秘密鍵を生成する。その後、ＣＰＵ１３が、カードＩＤと生成された秘密鍵から、内部照合対象データを生成しＥＥＰＲＯＭ１２に記憶する。
ＣＰＵ１３は、ＩＣカード１内で生成した秘密鍵を暗号化して認証局装置５に送信し、秘密鍵のバックアップをとる。
なお、内部照合対象データの生成方法は、例えばカードＩＤを鍵として秘密鍵データを暗号化し、暗号化結果のハッシュ値を内部照合対象データとしてもよい。
【００２６】
ＣＰＵ１３が、内部照合対象データの不一致回数上限値を設定する（例えば、５回など）。
なお、この段階では、利用者にＩＣカード１を配布するまでに当該鍵の不正な利用を防止するため、内部照合対象データをロックさせておき、管理鍵の認証が成功した後に利用を開始できるようにする。
利用者にＩＣカード１を配布する際に、書面などにより本人確認を行い、管理鍵の認証を行った後、これらの認証が完了した時点で内部照合対象データをアンロックし、ＩＣカード１に暗証番号を設定して利用者に手渡す。
【００２７】
利用者は受け取ったＩＣカード１を用いて、小額のディジタルコンテンツの購入を所定の回数（この例では５回）まで無料でおこなうことができる。
ＩＣカード１内にはライセンスデータが登録されていないため、購入を行う度に内部照合対象データの現在の照合不一致回数累積値が「１」加算される。これにより、本例では５回目の購入をした段階で、自動的に内部照合対象データはロックされ、その後も使用をしたい場合には、ＣＡやサービスプロバイダーなどからライセンスデータを取得する必要がある状態になっている。
【００２８】
次に、各アプリケーションの秘密鍵を利用してコンテンツを購入する際の処理について図６を参照して説明する。
まず、利用者は、利用者端末３を使用して、サービスプロバイダーが提供する小額のディジタルコンテンツを購入可能なサイトヘアクセスする（Ｓ１０１）。
プロバイダ装置４は、利用者端末３のＩＤ等をチェックして端末の認証を行う（Ｓ１０２）。
プロバイダ装置４とＩＣカード１間で、チャレンジレスポンスなどの相互認証を行う（Ｓ１０３）。なお、相互認証においてプロバイダ装置４とＩＣカード１間でセッション鍵を共有してもよい。
【００２９】
相互認証が成功した場合には、ＩＣカード１から利用者端末３に対して暗証番号等のＰＩＮ情報の入力画面の起動要求のレスポンスを返す（Ｓ１０４）。
購入用秘密鍵を利用する前に本人確認をするために利用者が利用者端末３からＰＩＮ情報としての暗証番号などを入力すると、ＩＣカード１がＰＩＮ照合を行う（Ｓ１０５）。
【００３０】
認証が完了すると、利用者端末３は、プロバイダ装置４からコンテンツ一覧を受信する（Ｓ１０６）。利用者がコンテンツを選択し、購入要求を行うと、この情報が利用者端末３からＩＣカード１に通知される（Ｓ１０７）。
購入要求が通知されると、ＣＰＵ１３は、内部照合対象データの状態情報を参照し、そのロック状態をチェックし、内部照合データとライセンスデータの照合を行う（Ｓ１０８）。
【００３１】
照合の結果、公開鍵証明書を利用できると判別された場合には、ＣＰＵ１３は、対応するアプリケーションの秘密鍵により、日時、カードＩＤ、購入するコンテンツＩＤを基に電子署名を生成し（Ｓ１０９）、生成した電子署名と秘密鍵に対応する公開鍵証明書をプロバイダ装置４へ送信する（Ｓ１１０）。
【００３２】
プロバイダ装置４は、公開鍵証明書の有効期限のチェック及び受信した電子署名を検証し（Ｓ１１１）、カードＩＤから配信する利用者を確認しコンテンツを配信して（Ｓ１１２）処理を終了する。
なお、受信した公開鍵証明書の有効期限が切れている場合には、プロバイダ装置４がＩＣカード１の内部照合データをロックさせるようにしてもよい。
【００３３】
次に、上述のＳ１０８の処理でライセンスデータと内部照合対象データとの照合処理の詳細について図７を参照して説明する。
図７において、利用者から、利用者端末３を介して所定のアプリケーションの秘密鍵を用いた電子署名生成要求をコマンドが通知されると、ＣＰＵ１３はこの電子署名生成要求コマンドを受付ける（Ｓ１）。
ＣＰＵ１３は、ＥＥＰＲＯＭ１２の内部照合対象データの状態情報を参照して、内部照合対象データがロックしているか否か判別する（Ｓ２）。
【００３４】
判別の結果、内部照合対象データがロックしている場合には、ＣＰＵ１３は内部照合対象データロック情報にフラグをセットし（Ｓ３）、処理を終了する。
また、判別の結果、内部照合対象データがロックしていない場合には、ＣＰＵ１３は内部照合対象データがライセンスデータに適合しているか判別する（Ｓ４）。
【００３５】
ライセンスデータが存在しない場合（ライセンスデータが「ＮＵＬＬ」の場合）には、ＣＰＵ１３は、内部照合対象データがライセンスデータに適合していないものと判別し、内部照合対象データの照合不一致回数を「１」加算する（Ｓ５）。
不一致回数の加算が完了すると、ＣＰＵ１３は、内部照合対象データの照合不一致回数が、当該内部照合対象データに設定されている上限値（この例では５回）を超えたか否か判別する（Ｓ６）。
判別の結果、上限値を超えた場合には、今回で無料の利用が終了するため、ＣＰＵ１３は、内部照合対象データの状態情報をロック状態とする（Ｓ７）。
【００３６】
Ｓ７の内部照合対象データのロックが完了した後、又はＳ６の処理で照合回数上限値を超えていないと判別された場合、又は前述のＳ４の処理で内部照合対象データとライセンスデータが一致すると判別された場合には、ＣＰＵ１３は、アプリケーションの秘密鍵を用いて電子署名を生成し、生成した電子署名付きコンテンツデータ取得要求と、アプリケーションの公開鍵証明書をプロバイダ装置４へ送信して（Ｓ８）、処理を終了する。
【００３７】
なお、ＣＰＵ１３が、ＥＥＰＲＯＭ１２の内部照合対象データロック情報とＲＡＭ１１のアクセス権解錠情報の論理和（ＯＲ）をとり、その結果をアクセス権解錠情報としてＲＡＭ１１に記憶し、ＲＡＭ１１のアクセス権解錠情報が内部照合対象データのアクセス権情報を満たしている場合に内部照合対象データへのアクセスを許可し、内部照合対象データの読み出し、書き込みなどの処理が行えるようにしてもよい。
これにより、内部照合対象データのロック状態に応じた、内部照合対象データへのアクセス管理ができる。
【００３８】
次に、利用回数の補充・鍵ベアの更新を行う際の処理について図８を参照して説明する。
ＩＣカード１は、利用者端末３を介して、認証局装置５に対して利用回数更新要求を送信する（Ｓ２０１）。
この際送信する情報としては、カードＩＤ、アプリケーションの公開鍵証明書、内部照合対象データがロックしているか否かの状態情報、要求する利用回数の情報が含まれ、これらの情報を証明書送信用秘密鍵で電子署名を付して送信してもよい。
【００３９】
利用回数更新要求がされると、認証局装置５は、現在の日時をＩＣカード１へ通知して有効期限のチェックを要求する（Ｓ２０２）。
現在の日時情報が通知されると、ＣＰＵ１３は、ＥＥＰＲＯＭ１２の利用回数更新日時を通知された日時に更新する（Ｓ２０３）。
【００４０】
また、ＣＰＵ１３は、アプリケーションの公開鍵証明書の有効期限と、現在日時から残りの有効期間日数を算出する（Ｓ２０４）。
ＣＰＵ１３は、算出した差から公開鍵証明書の有効期限が切れているか否か判別する（Ｓ２０５）。
判別の結果、有効期限が切れている場合には、認証局装置５に対して鍵ペア更新要求を通知し、後述する鍵ペア更新処理を行う（Ｓ２０６）。
【００４１】
また、判別の結果、有効期限内であると判別した場合には、ＣＰＵ１３は、利用回数上限値テーブルを参照し、残りの有効期間日数に応じた利用回数設定上限値を取得する（Ｓ２０７）。
【００４２】
この状態で、利用者の要求に応じて認証局装置５から、利用者の要求に応じた利用回数の設定が通知されると（Ｓ２０８）、ＣＰＵ１３は認証局装置５から通知された設定利用回数が利用回数設定上限値以内となっているか否か判別する（Ｓ２０９）。
判別の結果、利用回数設定上限値を超えている場合には、ＣＰＵ１３は利用者端末３に対してその旨通知し、これに応じて利用者端末３が、利用者に対して鍵ペアの更新を行ったうえで、要求した利用回数を設定するか否か確認する（Ｓ２１０）。
この確認要求に応じて利用者が鍵ペアの更新を選択した場合には、利用者端末３は認証局装置５に対して鍵ペアの更新要求を行い（Ｓ２１１）、後述の鍵ペア更新処理を行ってから要求した利用回数の設定処理を再度行う。
【００４３】
一方、利用者が鍵ペアの更新をしない旨を選択した場合には、利用者端末３は利用回数設定上限以内で利用回数の設定を行うか利用者に確認を行う（Ｓ２１２）。
確認要求に応じて利用者が設定を行わない旨を選択した場合には、利用者端末３は認証局装置５に対して利用回数更新要求を取り消す旨の通知を行い（Ｓ２１３）、処理を終了する。
【００４４】
また、利用者が利用回数設定上限値以内での設定を選択した場合、及び上述のＳ２０９の処理で要求した利用回数設定値の設定ができると判別された場合には、ＣＰＵ１３が内部照合対象データの照合不一致回数上限値を、利用者から要求された利用回数に再設定を行うことにより、利用回数の設定を行い（Ｓ２１４）、処理を終了する。
【００４５】
次に、秘密鍵の利用回数と証明書の有効期限の管理方法について図９を参照して説明する。
図９において、ＩＣカード１の所定のアプリケーションの秘密鍵を利用する際、まずＣＰＵ１３は、秘密鍵に対応する公開鍵証明書の有効期限と秘密鍵利用日時として記憶されているアプリケーションが前回秘密鍵を利用した日付との差を算出する（Ｓ３０１）。
ＣＰＵ１３は、この算出した差から当該秘密鍵に対応する公開鍵証明書の有効期限が切れているか判別する（Ｓ３０２）。
判別の結果、期限切れの場合には、ＣＰＵ１３は、その旨をプロバイダ装置４に通知する（Ｓ３０３）。これにより、プロバイダはＩＣカード１内の管理鍵を認証し、内部照合対象データをロックする（Ｓ３０４）。
【００４６】
また、判別の結果有効期限内である場合には、ＣＰＵ１３は証明書更新要求基準テーブルを参照して、公開鍵証明書の残りの有効日数に対する秘密鍵残利用回数が証明書更新要求基準を超えているか否か判別する（Ｓ３０５）。
判別の結果、超えていない場合には、秘密鍵を用いて電子署名を生成すると共に（Ｓ３０６）、秘密鍵利用日時を更新して（Ｓ３０７）、処理を終了する。
【００４７】
また、判別の結果、証明書更新要求基準を超えている場合には、ＣＰＵ１３は、証明書更新要求ステータスフラグをオンにする（Ｓ３０８）。
なお、証明書更新ステータスは、鍵ペアの更新又は証明書更新要求基準を超えていないと判別された場合にこれをクリアするようにしてもよい。
【００４８】
そして、ＣＰＵ１３から利用者端末３に対して証明書更新要求基準を超えている旨が通知されると、利用者端末３は利用者に対して鍵ペアの更新を行うか否か確認を行う（Ｓ３０９）。
なお、証明書更新ステータスフラグがオンの場合には、秘密鍵を毎回利用するたびに鍵ペア更新を促すメッセージを出すようにしてもよい。
【００４９】
確認の結果、利用者が鍵ペアの更新を選択した場合には、後述の鍵ペアの更新処理が行われる。
また、確認の結果、利用者が鍵ペアの更新を行わないを選択した場合には、ＣＰＵ１３は、秘密鍵を用いて電子署名を生成し（Ｓ３１０）、プロバイダーから提供された署名対象データの日時データなどを参照して、秘密鍵利用日時を更新して（Ｓ３１１）、処理を終了する。
【００５０】
次に、鍵ペアの設定・更新を行う際の処理について図１０を参照して説明する。
図１０において、まず鍵ペアを更新する場合、ＣＰＵ１３が乱数生成し（Ｓ４０１）、この乱数に基づいて秘密鍵、公開鍵の鍵ペアを生成する（Ｓ４０２）。
鍵ペアを生成すると、ＣＰＵ１３は公開鍵を証明書送信用秘密鍵で電子署名を生成する（Ｓ４０３）。
また、ＣＰＵ１３は、鍵ペア生成ステータスフラグをオンにし、セッションＩＤを生成し（Ｓ４０４）、この署名を行った公開鍵と、カードＩＤ及び生成したセッションＩＤを認証局装置５へ送信する（Ｓ４０５）。
【００５１】
認証局装置５では、送信されてきたカードＩＤからＩＣカード１を確認すると共に（Ｓ４０６）、証明書送信用秘密鍵によって生成された電子署名の検証を行う（Ｓ４０７）。
検証の結果電子署名が正しければ、認証局装置５は、受け取った公開鍵に対して認証局装置５が保持している秘密鍵で電子署名を行うことにより公開鍵証明書を作成し（Ｓ４０８）、これとセッションＩＤとをＩＣカード１へ通知する（Ｓ４０９）。
【００５２】
ＣＰＵ１３は、Ｓ４０４の処理で生成したセッションＩＤと、認証局から通知されたセッションＩＤが同一か確認する（Ｓ４１０）。
確認の結果同一であれば、ＣＰＵ１３は公開鍵証明書をＥＥＰＲＯＭ１２内の当該認証局の認証局公開鍵で検証する（Ｓ４１１）。
検証の結果、正しい場合には、ＣＰＵ１３は、ＥＥＰＲＯＭ１２にアプリケーションに秘密鍵と認証局から通知された公開鍵証明書を記憶する（Ｓ４１２）。
そして、ＣＰＵ１３は、鍵ペア生成ステータスフラグをオフにして（Ｓ４１３）、処理を終了する。
なお、Ｓ４１１の検証の結果、正しくない場合には、生成した秘密鍵及び公開鍵を削除すると共に、鍵ペア生成ステータスフラグをオフにするようにしてもよい。
【００５３】
次に、ライセンスデータの設定を行う際の処理について図１１を参照して説明する。
図１１において、まず利用者が利用者端末３を使用して認証局装置５に対してライセンスデータの設定を要求する（Ｓ５０１）。
ライセンスデータの設定が要求されると、認証局装置５は、利用者のＩＣカードに対してカードＩＤの確認を行う（Ｓ５０２）。
【００５４】
認証局装置５は、利用者からのライセンスデータの要求を確認後、利用者に対する仮の課金処理を行う（Ｓ５０３）。
この処理は、例えば、ＩＣカード内の電子財布アプリケーションを利用して料金の精算を行うことができる。
【００５５】
課金処理終了後、認証局装置５は、バックアップされた秘密鍵とＩＣカード１のカードＩＤからライセンスデータ（内部照合対象データと同一のもの）を生成し、これを暗号化してＩＣカード１へ送信すると、ＩＣカード１のＣＰＵ１３はこれを復号化して、ライセンスデータとしてＥＥＰＲＯＭ１２に記憶する（Ｓ５０４）。
認証局装置５は、ライセンスデータがＩＣカード１に記憶されたことを確認後、正式な課金処理を行い（Ｓ５０５）、処理を終了する。
なお、ＩＣカード１側で仮の課金減算処理が行われていない場合は、正式な課金減算処理が行えないようにしてもよい。
【００５６】
なお、上述の例では単一のライセンスデータのついてのみ説明したが、秘密鍵が複数ある場合には、ライセンスデータをまとめて設定し、課金処理をするようにしてもよい。また、本人確認のために行っている暗証番号の照合はＩＣカード内に事前に登録した個人の生体情報を利用した本人確認を行ってもよい。
【００５７】
このように、本実施形態によれば、ＩＣカード１のＥＥＰＲＯＭ１２に、秘密鍵の利用回数及びその利用回数上限値を内部照合対象データとして記憶し、ＣＰＵ１３により、秘密鍵の利用回数をカウントし、この利用回数が利用回数上限値以上となった場合に秘密鍵及び公開鍵証明書の利用を制限するようにしたことから、ＩＣカード１内で簡単な構成で秘密鍵や公開鍵証明書の利用回数を制限することができる。
また、各アプリケーションごと秘密鍵を記憶して、この利用回数及び利用回数上限値を管理できるようにしたことから、ＩＣカード１ごとではなく各アプリケーションごとに利用回数を管理することができ、セキュリティ性を向上させることができる。
なお、秘密鍵の利用回数と公開鍵証明書の利用回数を同一とせずに別々に利用回数を管理し、相互に関連付けを行ってもよい。
【００５８】
また、公開鍵証明書の有効期間の残日数が少なくなるにつれて秘密鍵の利用可能回数が少なくなるように設定された利用回数上限値テーブルを設け、ＣＰＵ１３により、公開鍵証明書の残り有効期間日数を計算し、計算した残日数に応じて、利用回数上限値テーブルに設定されている利用回数上限値の範囲内で利用回数の設定を許可するようにしたことから、利用回数の補充ができるだけでなく、この利用回数の補充が公開鍵証明データの残り有効期間の日数に応じて設定することができる。これにより、例えば、残り日数が少ないにもかかわらず、利用回数を多く設定してしまうことをＩＣカード１側で防止することができる。
【００５９】
また、ＣＰＵ１３が、公開鍵証明書の残り有効日数に対する秘密鍵の利用回数が利用可能回数上限値以上のときに、鍵ペアの更新を行うようにしたことから、公開鍵証明書の残り有効期間に応じてＩＣカード１側で適切に鍵ペアの更新を行うことができる。これにより、公開鍵証明書の有効期間が切れる前に、利用回数が多く残っている場合には、早めに鍵ペアの更新を利用者に促すことができる。
【００６０】
なお、上述の実施形態では、ＩＣカード１内で秘密鍵および公開鍵証明書の利用回数と有効期限を管理する例について説明したが、これを認証局装置５側で管理し、認証局装置５がＩＣカード１が生成した秘密鍵及び公開鍵に対して公開鍵証明書を発行すると共に、取得した秘密鍵の利用回数が所定の利用回数以上となった場合に、上記ＩＣに対して秘密鍵及び公開鍵の更新を指示するようにしてもよい。この場合、ＩＣカード１側で、秘密鍵の利用回数をカウントし、この利用回数を上記認証局装置へ送信すると共に、認証局装置５からの指示に応じて秘密鍵及び公開鍵を生成する処理を行うようにしてもよい。
これにより、認証局装置５側で利用回数状況を確認することにより公開鍵証明書を適宜更新することができ、秘密鍵の利用回数が多くなり、鍵が暴かれる可能性が高くなった場合などには、認証局装置５側から鍵ペアの更新をさせることができ、セキュリティ性を向上させることができる。
【００６１】
また、本発明は上述の実施形態に限定されるものではなく、物理媒体や施設の利用回数制限や、ネットワークアクセス回数制限、テレフォンカード、回数券などの金額が固定の小額決済における利用回数制限にも本発明を適用できる。
【００６２】
本実施形態の認証局装置５又はＩＣカード１用のコンピュータプログラムを、コンピュータ読み取り可能な媒体（ＦＤ、ＣＤ−ＲＯＭ等）に格納して配布してもよいし、搬送波に重畳し、通信ネットワークを介して配信することも可能である。
なお、認証局装置５又はＩＣカード１の機能をＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）が分担又はＯＳとアプリケーションプログラムの共同により実現する場合等には、ＯＳ以外の部分のみをコンピュータプログラムとして、またこのコンピュータプログラムをコンピュータ読み取り可能な媒体に格納したり、このコンピュータプログラムを配信等してもよい。
【００６３】
【発明の効果】
本発明によれば、公開鍵証明書及び秘密鍵の利用回数の制限及びこれらの更新処理を適切かつ効率的に行うことができる。
【図面の簡単な説明】
【図１】本発明にかかる一実施形態の全体構成の概略を示した図。
【図２】本実施形態にかかる認証局データベースに記憶されるデータの一例を示した図。
【図３】本実施形態にかかるＩＣカードの機能ブロック図。
【図４】本実施形態にかかる証明書更新要求基準の概念を説明するための図。
【図５】本実施形態にかかる利用回数上限値テーブルの一例を示した図。
【図６】本実施形態にかかる秘密鍵を利用してコンテンツを購入する際の処理の流れを示した図。
【図７】本実施形態にかかる秘密鍵に利用回数制限処理の詳細な流れを示した図。
【図８】本実施形態にかかる秘密鍵及び公開鍵証明書の利用回数を更新する際に処理の流れを示した図。
【図９】本実施形態にかかる秘密鍵の利用回数と公開鍵証明書の有効期限の管理を行う際に処理の流れを示した図。
【図１０】本実施形態にかかる鍵ペアの生成と更新処理を行う際の処理を示した図。
【図１１】本実施形態にかかるライセンスデータの設定を行う際の処理の流れを示した図。
【図１２】従来システムの全体構成及び処理の流れを示した図。
【符号の説明】
１　　ＩＣカード
２　　リーダライタ
３　　利用者端末
４　　プロバイダ装置
５　　認証局装置
１１　ＲＡＭ
１２　ＥＥＰＲＯＭ
１３　ＣＰＵ
５１　認証局データベース
【図１】
2004080174.tif 000003
【図２】
2004080174.tif 000004
【図３】
2004080174.tif 000005
【図４】
2004080174.tif 000006
【図５】
2004080174.tif 000007
【図６】
2004080174.tif 000008
【図７】
2004080174.tif 000009
【図８】
2004080174.tif 000010
【図９】
2004080174.tif 000011
【図１０】
2004080174.tif 000012
【図１１】
2004080174.tif 000013
【図１２】
2004080174.tif 000014