(57)【要約】【課題】公開鍵証明書の更新作業の手間を軽減する。【解決手段】認証局モジュール２００の証明書生成部２０４は、秘密鍵制御モジュール１００の証明書要求生成部１０４からの要求に応じて、１つの公開鍵に対する複数の証明書であってそれぞれ異なる有効期間を有する複数の証明書を生成して返送する。秘密鍵制御モジュール１００の証明書確認部１１０は、認証局モジュール２００から受信した複数の証明書のうち、現在有効である証明書の１つを証明書保存部１１２に登録し、その他の証明書を更新証明書保存部１１４に登録する。証明書更新部１２０は、証明書保存部１１２中の証明書の有効期間が経過した場合に、更新証明書保存部１１４中の証明書のうち現在有効である証明書の１つを証明書保存部１１２に上書き登録し、当該上書き登録した証明書を更新証明書保存部１１４から削除する。【選択図】図２
2010081154.tif 000002
【特許請求の範囲】
【請求項１】
１つの秘密鍵に対応する１つの公開鍵に対して認証局が発行した複数の証明書であって、それぞれ異なる有効期間を有する複数の証明書のうち、現在有効である証明書の１つを利用証明書保存手段に登録し、その他の証明書を更新証明書保存手段に登録する登録手段と、
前記利用証明書保存手段中の有効期間が経過している証明書を前記更新証明書保存手段中の証明書のうち現在有効である証明書の１つに更新する更新手段と、
前記秘密鍵を用いた処理の実行の可否を決定する決定手段であって、前記利用証明書保存手段中の証明書が有効である場合に、前記秘密鍵を用いた処理の実行を許可する決定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
１つの秘密鍵に対応する１つの公開鍵に対して認証局が発行した複数の証明書であって、それぞれ異なる有効期間を有する複数の証明書のうち、現在有効である証明書の１つを利用証明書保存手段に登録し、その他の証明書を更新証明書保存手段に登録する登録手段と、
前記利用証明書保存手段中の有効期間が経過している証明書を前記更新証明書保存手段中の証明書のうち現在有効である証明書の１つに更新する更新手段と、
前記認証局が生成する情報であって失効した証明書を特定する情報を参照して前記利用証明書保存手段中の証明書が失効しているか否かを判定し、失効していれば、その旨を表す失効情報を記憶手段に登録する失効情報登録手段と、
前記秘密鍵を用いた処理の実行の可否を決定する決定手段であって、前記記憶手段に前記失効情報が登録されている場合に、前記利用証明書保存手段中の証明書が有効であるか否かにかかわらず、前記秘密鍵を用いた処理の実行を許可しない決定手段と、
を備えることを特徴とする情報処理装置。
【請求項３】
１つの秘密鍵に対応する１つの公開鍵に対して認証局が発行した複数の証明書であって、それぞれ異なる有効期間を有する複数の証明書のうち、現在有効である証明書の１つを利用証明書保存手段に登録し、その他の証明書を更新証明書保存手段に登録する登録ステップと、
前記利用証明書保存手段中の有効期間が経過している証明書を前記更新証明書保存手段中の証明書のうち現在有効である証明書の１つに更新する更新ステップと、
前記秘密鍵を用いた処理の実行の可否を決定する決定ステップであって、前記利用証明書保存手段中の証明書が有効である場合に、前記秘密鍵を用いた処理の実行を許可する決定ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項４】
１つの秘密鍵に対応する１つの公開鍵に対して認証局が発行した複数の証明書であって、それぞれ異なる有効期間を有する複数の証明書のうち、現在有効である証明書の１つを利用証明書保存手段に登録し、その他の証明書を更新証明書保存手段に登録する登録ステップと、
前記利用証明書保存手段中の有効期間が経過している証明書を前記更新証明書保存手段中の証明書のうち現在有効である証明書の１つに更新する更新ステップと、
前記認証局が生成する情報であって失効した証明書を特定する情報を参照して前記利用証明書保存手段中の証明書が失効しているか否かを判定し、失効していれば、その旨を表す失効情報を記憶手段に登録する失効情報登録ステップと、
前記秘密鍵を用いた処理の実行の可否を決定する決定ステップであって、前記記憶手段に前記失効情報が登録されている場合に、前記利用証明書保存手段中の証明書が有効であるか否かにかかわらず、前記秘密鍵を用いた処理の実行を許可しない決定ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項５】
一対の公開鍵及び秘密鍵の利用者の情報処理装置と、前記公開鍵に対する証明書を発行する認証局の情報処理装置と、を備え、
前記認証局の情報処理装置は、
前記利用者の情報処理装置からの前記公開鍵に対する証明書の発行要求に応じて、前記公開鍵に対して複数の証明書を生成する証明書生成手段であって、前記複数の証明書はそれぞれ異なる有効期間を有する、証明書生成手段と、
前記発行要求の要求元の情報処理装置に対して、前記証明書生成手段が生成した複数の証明書を送信する送信手段と、を備え、
前記利用者の情報処理装置は、
前記認証局の情報処理装置に対して、前記公開鍵に対する証明書の発行要求を行う要求手段と、
前記発行要求に応じて前記認証局の情報処理装置から送信される前記複数の証明書のうち、現在有効である証明書の１つを利用証明書保存手段に登録し、その他の証明書を更新証明書保存手段に登録する登録手段と、
前記利用証明書保存手段中の有効期間が経過している証明書を前記更新証明書保存手段中の証明書のうち現在有効である証明書の１つに更新する更新手段と、
前記秘密鍵を用いた処理の実行の可否を決定する決定手段であって、前記利用証明書保存手段中の証明書が有効である場合に、前記秘密鍵を用いた処理の実行を許可する決定手段と、を備える、
ことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム、及び情報処理システムに関する。
【背景技術】
【０００２】
電子情報を保護するため、電子情報の暗号化が行われることがある。暗号化技術の１つである公開鍵暗号方式では、公開される公開鍵と、公開されない秘密鍵と、の一対の鍵が用いられる。公開鍵暗号方式では、公開鍵と秘密鍵とからなる鍵ペアを用いて、電子情報に対する暗号化や署名と複号や署名検証などの処理を行う。
【０００３】
例えば、暗号化において、データの送信者は、その受信者の公開鍵を用いてデータを暗号化し、暗号化されたデータを受信した受信者は、自身の秘密鍵を用いてデータを復号する。また、例えば電子メールなどのデータに対して署名を施す場合、データの送信者は、自身の秘密鍵を用いて生成した電子署名を付与して当該データを送信し、データの受信者は、送信者の公開鍵を用いて電子署名の検証を行う。
【０００４】
公開鍵暗号方式では、公開鍵がその所有者のものであることを証明するため、信頼される第三者機関である認証局（CA, Certificate Authority）が発行する公開鍵証明書（以下、単に「証明書」とも呼ぶ）が利用される。公開鍵証明書は、例えば、公開鍵、その公開鍵を含む鍵ペアの所有者に関する情報、証明書の有効期間、及び証明書を発行した認証局の電子署名を含む。
【０００５】
公開鍵暗号方式を用いる技術の一例として、特許文献１には、公開鍵によって暗号化された電子文書を復号するときに、その暗号化に用いられた公開鍵の証明書を検証し、この検証結果に基づいて、復号処理の実行の可否を決定する技術が開示されている。
【０００６】
また例えば、特許文献２には、スキャナにより読み取った文書の電子データに対して暗号化又は署名を行った上で電子メールにて送信する情報処理装置において、暗号化又は署名に用いる鍵に対応する証明書を検証した結果に基づいて、暗号化又は署名の処理の実行の可否を決定する情報処理装置が開示されている。
【０００７】
ところで、公開鍵証明書は、その有効期間外では無効である。証明書の有効期間の経過後も継続して公開鍵暗号方式の利用を利用者が望む場合、証明書の更新が行われる。証明書の更新は、例えば、その利用者のために新たな鍵ペアを生成し、生成した鍵ペアの公開鍵について認証局が新たな証明書を発行することで行われる。
【０００８】
証明書の有効期間をより長く設定し、一定の期間における証明書の更新回数を減少させることが行われている。
【０００９】
【特許文献１】特開２００５−１０９６６１号公報
【特許文献２】特開２００６−７４６３７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、公開鍵証明書に対応する秘密鍵を該公開鍵証明書の有効期間より長い期間有効なものとして使用できる技術を提供することである。
【課題を解決するための手段】
【００１１】
請求項１に係る発明は、１つの秘密鍵に対応する１つの公開鍵に対して認証局が発行した複数の証明書であって、それぞれ異なる有効期間を有する複数の証明書のうち、現在有効である証明書の１つを利用証明書保存手段に登録し、その他の証明書を更新証明書保存手段に登録する登録手段と、前記利用証明書保存手段中の有効期間が経過している証明書を前記更新証明書保存手段中の証明書のうち現在有効である証明書の１つに更新する更新手段と、前記秘密鍵を用いた処理の実行の可否を決定する決定手段であって、前記利用証明書保存手段中の証明書が有効である場合に、前記秘密鍵を用いた処理の実行を許可する決定手段と、を備えることを特徴とする情報処理装置である。
【００１２】
請求項２に係る発明は、１つの秘密鍵に対応する１つの公開鍵に対して認証局が発行した複数の証明書であって、それぞれ異なる有効期間を有する複数の証明書のうち、現在有効である証明書の１つを利用証明書保存手段に登録し、その他の証明書を更新証明書保存手段に登録する登録手段と、前記利用証明書保存手段中の有効期間が経過している証明書を前記更新証明書保存手段中の証明書のうち現在有効である証明書の１つに更新する更新手段と、前記認証局が生成する情報であって失効した証明書を特定する情報を参照して前記利用証明書保存手段中の証明書が失効しているか否かを判定し、失効していれば、その旨を表す失効情報を記憶手段に登録する失効情報登録手段と、前記秘密鍵を用いた処理の実行の可否を決定する決定手段であって、前記記憶手段に前記失効情報が登録されている場合に、前記利用証明書保存手段中の証明書が有効であるか否かにかかわらず、前記秘密鍵を用いた処理の実行を許可しない決定手段と、を備えることを特徴とする情報処理装置である。
【００１３】
請求項３に係る発明は、１つの秘密鍵に対応する１つの公開鍵に対して認証局が発行した複数の証明書であって、それぞれ異なる有効期間を有する複数の証明書のうち、現在有効である証明書の１つを利用証明書保存手段に登録し、その他の証明書を更新証明書保存手段に登録する登録ステップと、前記利用証明書保存手段中の有効期間が経過している証明書を前記更新証明書保存手段中の証明書のうち現在有効である証明書の１つに更新する更新ステップと、前記秘密鍵を用いた処理の実行の可否を決定する決定ステップであって、前記利用証明書保存手段中の証明書が有効である場合に、前記秘密鍵を用いた処理の実行を許可する決定ステップと、をコンピュータに実行させることを特徴とするプログラムである。
【００１４】
請求項４に係る発明は、１つの秘密鍵に対応する１つの公開鍵に対して認証局が発行した複数の証明書であって、それぞれ異なる有効期間を有する複数の証明書のうち、現在有効である証明書の１つを利用証明書保存手段に登録し、その他の証明書を更新証明書保存手段に登録する登録ステップと、前記利用証明書保存手段中の有効期間が経過している証明書を前記更新証明書保存手段中の証明書のうち現在有効である証明書の１つに更新する更新ステップと、前記認証局が生成する情報であって失効した証明書を特定する情報を参照して前記利用証明書保存手段中の証明書が失効しているか否かを判定し、失効していれば、その旨を表す失効情報を記憶手段に登録する失効情報登録ステップと、前記秘密鍵を用いた処理の実行の可否を決定する決定ステップであって、前記記憶手段に前記失効情報が登録されている場合に、前記利用証明書保存手段中の証明書が有効であるか否かにかかわらず、前記秘密鍵を用いた処理の実行を許可しない決定ステップと、をコンピュータに実行させることを特徴とするプログラムである。
【００１５】
請求項５に係る発明は、一対の公開鍵及び秘密鍵の利用者の情報処理装置と、前記公開鍵に対する証明書を発行する認証局の情報処理装置と、を備え、前記認証局の情報処理装置は、前記利用者の情報処理装置からの前記公開鍵に対する証明書の発行要求に応じて、前記公開鍵に対して複数の証明書を生成する証明書生成手段であって、前記複数の証明書はそれぞれ異なる有効期間を有する、証明書生成手段と、前記発行要求の要求元の情報処理装置に対して、前記証明書生成手段が生成した複数の証明書を送信する送信手段と、を備え、前記利用者の情報処理装置は、前記認証局の情報処理装置に対して、前記公開鍵に対する証明書の発行要求を行う要求手段と、前記発行要求に応じて前記認証局の情報処理装置から送信される前記複数の証明書のうち、現在有効である証明書の１つを利用証明書保存手段に登録し、その他の証明書を更新証明書保存手段に登録する登録手段と、前記利用証明書保存手段中の有効期間が経過している証明書を前記更新証明書保存手段中の証明書のうち現在有効である証明書の１つに更新する更新手段と、前記秘密鍵を用いた処理の実行の可否を決定する決定手段であって、前記利用証明書保存手段中の証明書が有効である場合に、前記秘密鍵を用いた処理の実行を許可する決定手段と、を備える、ことを特徴とする情報処理システムである。
【発明の効果】
【００１６】
請求項１、３、又は５に係る発明によると、公開鍵証明書に対応する秘密鍵を該公開鍵証明書の有効期間より長い期間有効なものとして利用できる。
【００１７】
請求項２又は４に係る発明によると、一対の秘密鍵及び公開鍵に対する複数の証明書のうち、現在利用中の証明書を失効させるだけで、他の複数の証明書を失効させなくても、対応する秘密鍵の利用を制限できる。
【発明を実施するための最良の形態】
【００１８】
図１は、公開鍵暗号方式を用いる公開鍵基盤（PKI, Public Key Infrastructure）システムの概略構成の例を示すブロック図である。図１の例のＰＫＩシステムは、利用者施設１に設けられる情報処理装置１０と認証局２に設けられる情報処理装置２０とがネットワーク３を介して接続された構成を有する。
【００１９】
利用者施設１は、例えば、企業の事業所あるいは自治体などの組織の施設のような、公開鍵暗号方式を利用する利用者に関係する施設である。認証局２は、ＰＫＩにおける所謂ＣＡであり、公開鍵暗号方式の利用者の鍵ペアの公開鍵を証明する証明書の発行及び管理を行う機関である。
【００２０】
利用者施設１に設けられる情報処理装置１０は、公開鍵暗号方式を用いて、ネットワーク３を介して接続されたサーバなどの情報処理装置（図示しない）と通信を行う。情報処理装置１０は、秘密鍵制御モジュール１００、入力受付部１３０、及びデータ処理部１５０を備える。
【００２１】
秘密鍵制御モジュール１００は、情報処理装置１０の利用者の秘密鍵を用いた処理を制御する。秘密鍵制御モジュール１００の詳細については後述する。
【００２２】
入力受付部１３０は、情報処理装置１０の利用者が図示しない入力装置（例えば、キーボードやマウスなど）を介して入力した入力情報を受け付ける。入力情報には、例えば、情報処理装置１０における処理の内容の指示を表す情報又は処理対象のデータがある。
【００２３】
データ処理部１５０は、各種のデータを処理するアプリケーションソフトウエアである。データ処理部１５０は、秘密鍵を用いてデータを処理する必要が生じると、秘密鍵制御モジュール１００に対し、秘密鍵を用いる処理を要求するとともに処理対象のデータを渡す。秘密鍵を用いる処理は、例えば、復号、署名、又は認証などの処理である。データ処理部１５０が秘密鍵制御モジュール１００に対して渡す処理対象のデータは、例えば、復号が必要な暗号化データ、署名を施す対象のデータ、又は認証に必要なデータなどである。
【００２４】
認証局２に設けられる情報処理装置２０は、認証局モジュール２００を備える。認証局モジュール２００は、認証局２による公開鍵証明書の発行及び管理に関する処理を行う。例えば、認証局モジュール２００は、利用者施設１に設けられる情報処理装置１０の秘密鍵制御モジュール１００からの要求に応じて、その利用者の公開鍵証明書を生成して秘密鍵制御モジュール１００に対して返送する処理を行う。また例えば、認証局モジュール２００は、認証局２が発行した公開鍵証明書のうち失効した証明書のリストである失効リスト（CRL, Certificate Revocation List）の生成及び管理を行う。
【００２５】
次に図２を参照し、利用者施設１の情報処理装置１０の秘密鍵制御モジュール１００及び認証局２の情報処理装置２０の認証局モジュール２００についてより詳細に説明する。図２は、秘密鍵制御モジュール１００及び認証局モジュール２００のそれぞれの内部構成の例を示す機能ブロック図である。図２では、ネットワーク３（図１）は図示しないが、以下の説明における秘密鍵制御モジュール１００と認証局モジュール２００との間の情報の送受信はネットワーク３を介して行われる。
【００２６】
秘密鍵制御モジュール１００は、認証局証明書保存部１０２、証明書要求生成部１０４、鍵生成部１０６、鍵保存部１０８、証明書確認部１１０、証明書保存部１１２、更新証明書保存部１１４、暗号処理部１１６、証明書検証部１１８、証明書更新部１２０、及び利用停止フラグ記憶部１２２を備える。
【００２７】
認証局モジュール２００は、認証局証明書保存部２０２、証明書生成部２０４、ＣＲＬ生成部２０６、及びＣＲＬ保存部２０８を備える。
【００２８】
秘密鍵制御モジュール１００の認証局証明書保存部１０２には、認証局２自身の公開鍵証明書である認証局証明書が登録される。認証局証明書は、例えば、認証局モジュール２００から秘密鍵制御モジュール１００に対して送信される。認証局証明書保存部１０２に登録される認証局証明書は１つである。また、一旦、１つの認証局証明書が認証局証明書保存部１０２に登録されると、認証局証明書保存部１０２には常に１つだけの認証局証明書が登録された状態となる。
【００２９】
証明書要求生成部１０４は、情報処理装置１０の入力受付部１３０から、利用者が入力した証明書生成指示を受け取り、この指示に従って、認証局モジュール２００に対して送信する証明書要求を生成する。証明書要求は、情報処理装置１０の利用者の公開鍵証明書の発行を要求するものである。証明書要求生成部１０４は、入力受付部１３０を介して利用者からの証明書生成指示を受け取ると、鍵生成部１０６に対して鍵ペアの生成を依頼し、生成された鍵ペアのうちの公開鍵を含む証明書要求を生成する。そして、証明書要求生成部１０４は、認証局証明書保存部１０２に登録された認証局証明書が表す認証局２の情報処理装置２０中の認証局モジュール２００に対して、生成した証明書要求を送信する。証明書要求生成部１０４は、また、鍵生成部１０６が生成した鍵ペアのうちの秘密鍵を鍵保存部１０８に登録する。
【００３０】
鍵生成部１０６は、証明書要求生成部１０４からの依頼に応じて、一対の秘密鍵及び公開鍵である鍵ペアを生成する。鍵生成部１０６は、生成した鍵ペアを証明書要求生成部１０４に渡す。
【００３１】
鍵保存部１０８には、鍵生成部１０６が生成した鍵ペアのうちの秘密鍵が登録される。鍵保存部１０８は、鍵生成部１０６が生成した秘密鍵を証明書要求生成部１０４から受け取って保存する。鍵保存部１０８には、１つの秘密鍵が登録され、一旦、秘密鍵の登録が行われると、鍵保存部１０８には常に１つだけの秘密鍵が登録された状態となる。
【００３２】
証明書確認部１１０は、証明書要求生成部１０４が認証局モジュール２００に対して送信した証明書要求に応答して認証局モジュール２００から送信される複数の証明書を受信し、受信した証明書群が、認証局証明書保存部１０２に登録された認証局証明書により表される認証局２が発行したものであるか否かを確認する。本実施形態の例では、１つの公開鍵に対して、それぞれ異なる有効期間を有する複数の証明書が認証局モジュール２００により発行される。受信した証明書群が当該認証局２により発行されたものであることを確認すると、証明書確認部１１０は、受信した証明書群に含まれる公開鍵が鍵保存部１０８に登録された秘密鍵に対応するものであることを確認した上で、受信した証明書群のうち、現在有効である証明書を１つ証明書保存部１１２に登録し、その他の証明書を更新証明書保存部１１４に登録する。
【００３３】
証明書保存部１１２には、有効期間内である証明書が１つ登録される。証明書保存部１１２は、証明書確認部１１０から１つの証明書を受け取って保存する。証明書保存部１１２は、さらに、証明書更新部１２０から新たに証明書を受け取ると、その時点で保存している証明書を削除して、新たに受け取った証明書を保存する。一旦、証明書保存部１１２への証明書の登録が行われると、証明書保存部１１２には常に１つだけの証明書が登録された状態となる。
【００３４】
更新証明書保存部１１４には、証明書確認部１１０が認証局モジュール２００から受信した証明書群のうち、証明書保存部１１２に登録された証明書以外の証明書が登録される。よって、更新証明書保存部１１４には、複数の証明書が登録されることがある。後述のように、証明書保存部１１２中の証明書の有効期間が経過すると、更新証明書保存部１１４中の証明書のうち現在有効な証明書が証明書保存部１１２に上書き登録される。更新証明書保存部１１４に登録される証明書は、将来使用され得る予備の証明書であると言える。
【００３５】
暗号処理部１１６は、情報処理装置１０のデータ処理部１５０からの処理要求に応じて、鍵保存部１０８に登録された秘密鍵を用いた処理を行う。本実施形態の例では、暗号処理部１１６は、データ処理部１５０から処理要求とともに処理対象のデータを受け取ると、まず、利用停止フラグ記憶部１２２に記憶された利用停止フラグのＯＮ又はＯＦＦを確認する。利用停止フラグは、秘密鍵制御モジュール１００における証明書及び対応する秘密鍵の利用の可否を表す情報である。本例では、利用停止フラグの値がＯＦＦであれば、証明書及び秘密鍵の利用の許可を表し、ＯＮであれば、利用禁止を表す。利用停止フラグの値の初期値はＯＦＦに設定される。利用停止フラグの値がＯＮであれば、暗号処理部１１６は、要求された処理を行わない。利用停止フラグの値がＯＦＦであれば、暗号処理部１１６は、証明書保存部１１２に登録された証明書を証明書保存部１１２から取得し、取得した証明書を証明書検証部１１８に渡して、当該証明書の検証を依頼する。そして、証明書検証部１１８による検証の結果、証明書が有効であれば、暗号処理部１１６は、鍵保存部１０８に登録された秘密鍵を用いて、データ処理部１５０から受け取った処理対象のデータについて、処理要求の内容に従った処理（復号、署名、又は認証など）を行い、処理結果のデータをデータ処理部１５０に返す。
【００３６】
証明書検証部１１８は、暗号処理部１１６から受け取った証明書の有効性を検証する。例えば、証明書検証部１１８は、暗号処理部１１６から受け取った証明書の有効期間が経過しているか否かを判定する。有効期間が経過していると、証明書検証部１１８は、その旨を証明書更新部１２０に通知し、証明書保存部１１２中の証明書の更新を実行させる。さらに、証明書検証部１１８は、当該証明書が失効しているか否かを判定する。例えば、認証局モジュール２００が備えるＣＲＬ保存部２０８を参照し、当該証明書の識別情報がＣＲＬに登録されていれば失効していると判定し、ＣＲＬに登録されていなければ失効していないと判定する。証明書検証部１１８は、証明書の有効期間が未だ経過しておらず、かつ、証明書が失効していない場合に、暗号処理部１１６に対して、受け取った証明書が有効であることを通知する。
【００３７】
証明書更新部１２０は、証明書保存部１１２中の証明書の更新を行う。例えば、証明書更新部１２０は、証明書検証部１１８から検証対象の証明書（つまり、その時点で証明書保存部１１２に登録されている証明書）の有効期間が経過している旨の通知を受けた場合に、証明書の更新処理を行う。更新処理では、例えば、更新証明書保存部１１４に登録された証明書（群）のうち現在有効期間内である証明書を更新証明書保存部１１４から取得し、取得した証明書を証明書保存部１１２に上書き登録する。証明書保存部１１２への更新登録のために更新証明書保存部１１４から取得された証明書は、更新証明書保存部１１４から削除される。
【００３８】
認証局モジュール２００の認証局証明書保存部２０２には、認証局２自身の公開鍵証明書が登録される。
【００３９】
証明書生成部２０４は、秘密鍵制御モジュール１００の証明書要求生成部１０４から受信した証明書要求に応じて、それぞれ有効期間の異なる複数の証明書を生成する。例えば、証明書生成部２０４は、現在の日時から、証明書要求において要求された証明書の有効期限までの期間を複数の期間に分割し、分割された各期間を含む有効期間を有する証明書を複数生成する。
【００４０】
例えば、図３（ａ）に示すように、現在から有効期限までの期間をＮ個の期間に分割し、矢印ｔ１，ｔ２，ｔ３，…，ｔＮで表す各期間をそれぞれの有効期間とするＮ個の証明書を生成する。あるいは、例えば、証明書生成部２０４は、互いに重複する有効期間を有する複数の証明書を生成してもよい。例えば図３（ｂ）に示すように、Ｎ個の証明書それぞれの有効期間ｔ１，ｔ２，ｔ３，…，ｔＮの一部が互いに重複していてもよい。証明書生成部２０４は、現在から有効期限までの間の任意の時点で、少なくとも１つの証明書が有効であるように複数の証明書それぞれの有効期間を決定すればよい。なお、各証明書の有効期間は、必ずしも同じ長さでなくてもよい。
【００４１】
なお、証明書要求に証明書の有効期限を指定する情報が含まれていない場合、又は、証明書要求で要求された有効期限が認証局証明書の有効期間の経過後である場合、認証局証明書の有効期間内の時点であって予め設定された時点を有効期限として複数の証明書を生成すればよい。
【００４２】
図２の説明に戻り、証明書生成部２０４が生成する複数の証明書のそれぞれに含まれる公開鍵は、証明書要求に含まれる公開鍵で共通している。つまり、証明書生成部２０４は、１つの公開鍵に対する証明書を複数生成する。証明書生成部２０４は、生成した複数の証明書を秘密鍵制御モジュール１００に対して送信し、これら複数の証明書は、秘密鍵制御モジュール１００の証明書確認部１１０により受信される。
【００４３】
ＣＲＬ生成部２０６は、定期的に、あるいは、管理者などにより指定されたタイミングで、ＣＲＬを生成する。証明書は、例えば、その証明書に含まれる公開鍵に対応する秘密鍵が漏洩した場合、証明書の所有者に関する情報に変更があった場合、又は証明書の所有者がＰＫＩの利用を終了する場合など、その証明書の信頼性が維持されなくなった場合に失効する。ＣＲＬ保存部２０８には、ＣＲＬ生成部２０６により生成されたＣＲＬが保存される。ＣＲＬ生成部２０６は、例えば、証明書の所有者や管理者によって当該証明書を失効状態とする要求を受けて、当該証明書の識別情報をＣＲＬ保存部２０８中のＣＲＬに登録する。なお、失効状態となった証明書は破棄される。
【００４４】
以下、秘密鍵制御モジュール１００及び認証局モジュール２００における処理の例を説明する。
【００４５】
まず、秘密鍵制御モジュール１００は、認証局２の認証局証明書を取得して認証局証明書保存部１０２に登録する処理を行う。その後、秘密鍵制御モジュール１００は、以下で説明するような、証明書及び秘密鍵の利用に関する処理を行う。
【００４６】
図４は、秘密鍵制御モジュール１００における証明書要求の生成に関する処理の手順の例を示すフローチャートである。秘密鍵制御モジュール１００の証明書要求生成部１０４は、例えば、入力受付部１３０を介して利用者からの証明書生成指示を受け取った場合に、図４の例の手順の処理を開始する。
【００４７】
図４を参照し、まず、証明書要求生成部１０４は、認証局証明書保存部１０２を参照し、認証局証明書の登録の有無を確認する。認証局証明書保存部１０２に認証局証明書が登録されていれば（ステップＳ１０でＹＥＳ）、証明書要求生成部１０４は、鍵生成部１０６に対して鍵ペアの生成を依頼する。認証局証明書保存部１０２に認証局証明書が登録されていなければ（ステップＳ１０でＮＯ）、エラー処理（ステップＳ２０）が行われて処理は終了する。エラー処理では、例えば、認証局証明書が登録されていない旨を表す情報を情報処理装置１０が備える出力装置（図示しない）に表示させる。
【００４８】
証明書要求生成部１０４から鍵ペアの生成の依頼を受けた鍵生成部１０６は、秘密鍵及び公開鍵からなる鍵ペアを生成する（ステップＳ１２）。そして、鍵生成部１０６は、生成した鍵ペアを証明書要求生成部１０４に渡す。
【００４９】
証明書要求生成部１０４は、鍵生成部１０６から鍵ペアを受け取ると、鍵ペアのうちの秘密鍵を鍵保存部１０８に登録する（ステップＳ１４）。
【００５０】
次に、証明書要求生成部１０４は、鍵生成部１０６から受け取った鍵ペアのうちの公開鍵を含む証明書要求を生成する（ステップＳ１６）。この証明書要求は、公開鍵に加えて、例えば、その公開鍵の利用者の氏名、電子メールアドレス、又は所属組織など、利用者に関する情報を含む。また、証明書要求は、証明書の有効期間についての要求を含んでいてもよい。例えば、証明書群の最も遅い有効期限や、各証明書の有効期間の長さなどを指定する要求を含んでいてよい。以下の説明では、証明書要求において、発行される証明書群の最も遅い有効期限を認証局証明書の有効期間の満了日時とすることを要求するものとする。
【００５１】
証明書要求生成部１０４は、生成した証明書要求を、認証局証明書保存部１０２に登録された認証局証明書が表す認証局２の情報処理装置２０に対して送信する（ステップＳ１８）。ステップＳ１８の後、図４の例の手順の処理は終了する。
【００５２】
図５は、秘密鍵制御モジュール１００の証明書要求生成部１０４から証明書要求を受信した認証局モジュール２００における処理の手順の例を示すフローチャートである。認証局モジュール２００の証明書生成部２０４は、例えば、証明書要求を受信したときに、図５に例示する手順の処理を開始する。
【００５３】
図５を参照し、証明書生成部２０４は、認証局証明書保存部２０２に登録された認証局証明書の有効期間を取得する（ステップＳ３０）。次に、現在の日時から、認証局証明書の有効期間の満了時点までの期間を複数の期間に分割する（ステップＳ３２）。そして、分割した各期間を含む有効期間を有する証明書を複数生成する（ステップＳ３４）。ステップＳ３４で生成される複数の証明書は、すべて、秘密鍵制御モジュール１００から受信した証明書要求に含まれる公開鍵に対する証明書である。また、ステップＳ３４で生成される各証明書の有効期間は、例えば、図３（ａ）又は図３（ｂ）に例示するように設定される。その後、証明書生成部２０４は、生成した複数の証明書を証明書要求の送信元の情報処理装置１０の秘密鍵制御モジュール１００に対して送信し（ステップＳ３６）、処理を終了する。
【００５４】
次に、図６を参照し、証明書要求に応答して認証局モジュール２００から送信される複数の証明書を受信した秘密鍵制御モジュール１００における処理の例を説明する。図６は、秘密鍵制御モジュール１００の証明書確認部１１０による処理の手順の例を示すフローチャートである。証明書確認部１１０は、例えば、複数の証明書を認証局モジュール２００から受信すると、図６に例示する手順の処理を開始する。
【００５５】
図６を参照し、証明書確認部１１０は、まず、認証局証明書保存部１０２から認証局証明書を取得する（ステップＳ４０）。認証局証明書の取得に成功すれば（ステップＳ４２でＹＥＳ）、取得した認証局証明書が表す認証局が、受信した証明書群を発行した認証局であるか否かを判定する。認証局証明書の取得に失敗した場合は（ステップＳ４２でＮＯ）、エラー処理（ステップＳ５６）を行って図６の例の手順の処理を終了する。ステップＳ５６のエラー処理は、例えば、図４のステップＳ２０に関して上記で説明した処理と同様に、そのエラーの内容を表す情報を情報処理装置１０の出力装置（図示しない）に表示させるものであってよい。
【００５６】
受信した証明書群を発行した認証局と、認証局証明書保存部１０２から取得した認証局証明書が表す認証局と、が一致すれば（ステップＳ４４でＹＥＳ）、処理はステップＳ４６に進み、一致しなければ（ステップＳ４４でＮＯ）、エラー処理（ステップＳ５６）の後、処理を終了する。
【００５７】
ステップＳ４６では、証明書確認部１１０は、鍵保存部１０８から秘密鍵を取得する。秘密鍵の取得に成功すれば（ステップＳ４８でＹＥＳ）、証明書確認部１１０は、取得した秘密鍵と受信した証明書群に含まれる公開鍵とが対応するものであるか否かを判定する（ステップＳ５０）。秘密鍵の取得に失敗すると（ステップＳ４８でＮＯ）、エラー処理（ステップＳ５６）の後、処理を終了する。
【００５８】
受信した証明書群が鍵保存部１０８中の秘密鍵に対応する公開鍵に対する証明書である場合（ステップＳ５０でＹＥＳ）、処理はステップＳ５２に進み、鍵保存部１０８中の秘密鍵に対応する公開鍵に対する証明書でない場合（ステップＳ５０でＮＯ）は、エラー処理（ステップＳ５６）の後、処理を終了する。
【００５９】
ステップＳ５２では、証明書確認部１１０は、受信した証明書群のうち、現在有効な証明書を１つ証明書保存部１１２に登録する。そして、その他の証明書を更新証明書保存部１１４に登録する（ステップＳ５４）。ステップＳ５４の後、図６の例の手順の処理は終了する。
【００６０】
以上、図４から図６を参照して説明した秘密鍵制御モジュール１００及び認証局モジュール２００における処理は、秘密鍵制御モジュール１００において秘密鍵を用いた処理を行うための準備に相当する。秘密鍵制御モジュール１００において、証明書要求の生成及び送信（図４）と認証局モジュール２００からの証明書群の受信及び登録（図６）との処理が、エラー処理（ステップＳ２０，Ｓ５６）を実行することなく終了すると、それ以降、暗号処理部１１６において、鍵保存部１０８に登録された秘密鍵を用いた処理の実行が可能となる。
【００６１】
以下、図７及び図８を参照し、秘密鍵制御モジュール１００における秘密鍵の利用に関連する処理を説明する。データ処理部１５０が秘密鍵制御モジュール１００の暗号処理部１１６に対して処理要求を行うと、暗号処理部１１６は、例えば、図７に例示する手順を開始する。
【００６２】
図７を参照し、暗号処理部１１６は、データ処理部１５０からの処理要求を受け付ける（ステップＳ６０）。例えば、暗号処理部１１６は、要求される処理の内容（復号、署名、又は認証など）及び処理対象のデータをデータ処理部１５０から取得する。
【００６３】
次に、暗号処理部１１６は、利用停止フラグ記憶部１２２に記憶された利用停止フラグの値を確認する。利用停止フラグの値がＯＮであれば（ステップＳ６２でＹＥＳ）、エラー処理（ステップＳ７６）を行って図７の例の手順の処理を終了する。ステップＳ７６のエラー処理は、例えば、図４のステップＳ２０及び図６のステップＳ５６と同様、エラーの内容を表す情報を出力装置に表示させるものである。利用停止フラグの値がＯＦＦであれば（ステップＳ６２でＮＯ）、暗号処理部１１６は、証明書保存部１１２から証明書を取得する（ステップＳ６４）。
【００６４】
証明書保存部１１２からの証明書の取得に失敗すると（ステップＳ６６でＮＯ）、エラー処理（ステップＳ７６）の後、処理を終了し、証明書の取得に成功すると（ステップＳ６８でＹＥＳ）、暗号処理部１１６は、取得した証明書を証明書検証部１１８に渡すとともに、当該証明書の検証を依頼する。暗号処理部１１６から証明書の検証の依頼を受けると、証明書検証部１１８は、証明書検証処理（ステップＳ６８）を開始する。
【００６５】
証明書検証処理（Ｓ６８）が開始されると、例えば、図８の例の手順の処理が開始される。
【００６６】
図８を参照し、証明書検証部１１８は、まず、検証対象の証明書の有効期間が経過しているか否かを判定する（ステップＳ６８０）。この判定は、例えば、現在の日時が、暗号処理部１１６から受け取った証明書の有効期間内であるか否かを判定することで行う。
【００６７】
証明書の有効期間が経過していなければ（ステップＳ６８０でＮＯ）、証明書検証部１１８は、当該証明書が破棄済みであるか否か、つまり、当該証明書が失効状態であるか否かを判定する（ステップＳ６８２）。この判定は、例えば、認証局モジュール２００のＣＲＬ保存部２０８を参照し、ＣＲＬ保存部２０８に保存されたＣＲＬに検証対象の証明書の識別情報が登録されているか否かによって行う。ＣＲＬに登録されていれば、当該証明書は破棄済みであると判定され、登録されていなければ、破棄済みでないと判定される。検証対象の証明書が破棄済みでないと判定すると（ステップＳ６８２でＮＯ）、証明書検証部１１８は、検証結果が「有効」である旨を暗号処理部１１６に通知し、図８の例の手順の処理を終了する。検証対象の証明書が破棄済みであると判定すると（ステップＳ６８２でＹＥＳ）、証明書検証部１１８は、利用停止フラグ記憶部１２２に記憶された利用停止フラグの値をＯＮに設定する（ステップＳ６８６）。その後、検証結果が「無効」である旨を暗号処理部１１６に通知し（ステップＳ６８８）、図８の例の手順の処理を終了する。
【００６８】
一方、検証対象の証明書の有効期間がすでに経過している場合（ステップＳ６８０でＹＥＳ）、証明書検証部１１８は、証明書更新部１２０にその旨を通知する。この通知を受けた証明書更新部１２０は、更新証明書保存部１１４を参照し、更新証明書保存部１１４に登録された証明書のうち現在有効な証明書を１つ取得する（ステップＳ６９０）。そして、証明書更新部１２０は、取得した証明書を証明書保存部１１２に上書き登録する（ステップＳ６９２）。つまり、証明書保存部１１２において、現在登録されている証明書を削除し、ステップＳ６９０で更新証明書保存部１１４から取得した証明書を新たに登録する。なお、証明書更新部１２０は、ステップＳ６９０で取得した証明書を更新証明書保存部１１４から削除する。
【００６９】
検証対象の証明書の有効期間が経過している（ステップＳ６８０でＹＥＳ）ことを証明書更新部１２０に通知した後、証明書検証部１１８は、ステップＳ６８８で、検証結果が「無効」である旨を暗号処理部１１６に通知し、図８の例の手順を終了する。
【００７０】
再び図７を参照し、図８に例示する検証処理（ステップＳ６８）の結果を証明書検証部１１８から受け取った暗号処理部１１６は、その検証結果が「有効」であるか否かを判定する（ステップＳ７０）。
【００７１】
検証結果が「有効」であれば（ステップＳ７０でＹＥＳ）、暗号処理部１１６は、鍵保存部１０８から秘密鍵を取得し、取得した秘密鍵を用いて、ステップＳ６０でデータ処理部１５０から受け取った処理対象のデータに対し、要求された内容の処理を行う（ステップＳ７２）。例えば、要求された処理内容が暗号化データの復号であれば、秘密鍵を用いた復号処理を行う。データに対して署名を施すことを要求されていれば、例えば、ハッシュ関数を用いて処理対象のデータのダイジェストを生成し、秘密鍵を用いて生成したダイジェストを暗号化することで電子署名を生成する。認証処理を要求されていれば、秘密鍵を用いて認証処理を行う。
【００７２】
ステップＳ７２の後、暗号処理部１１６は、その処理結果のデータをデータ処理部１５０に返し（ステップＳ７４）、処理を終了する。
【００７３】
一方、証明書検証部１１８から通知された検証結果が「無効」である場合（ステップＳ７０でＮＯ）、処理は、ステップＳ６２の判定に戻る。
【００７４】
図７及び図８に例示する手順の処理によると、証明書保存部１１２中の証明書の有効期間が経過すると、証明書更新部１２０により現在有効な証明書を証明書保存部１１２に上書き登録する更新処理が行われる。この更新処理において新たに証明書保存部１１２中に登録される更新用の証明書は、更新証明書保存部１１４から取得される。よって、この更新処理では、更新用の証明書の取得のために秘密鍵制御モジュール１００が認証局モジュール２００と通信を行うことはない。
【００７５】
また、図７及び図８を参照して説明した処理の例では、証明書更新部１２０は、証明書検証部１１８から、その検証対象の証明書の有効期間が経過している旨の通知を受けた場合に、証明書保存部１１２中の証明書の更新処理（図８のステップＳ６９０，Ｓ６９２）を行う。しかしながら、証明書更新部１２０が更新処理を行うタイミングは、この例に限られない。例えば、証明書更新部１２０は、定期的に、あるいは、予め設定されたタイミングで、証明書保存部１１２中の証明書の有効期間が経過しているか否かを確認し、経過している場合に更新処理を行ってもよい。
【００７６】
また、図７及び図８に例示する手順の処理によると、一旦、利用停止フラグがＯＮに設定されると、それ以降、データ処理部１５０から処理要求を受けても、ステップＳ６２でＹＥＳと判定されてエラー処理が行われ、秘密鍵を用いた処理が行われることはない。したがって、例えば、証明書保存部１１２中の証明書が失効してＣＲＬに登録され、これにより利用停止フラグがＯＮに設定されると、更新証明書保存部１１４中の証明書がＣＲＬに登録されていなくても、秘密鍵制御モジュール１００において、秘密鍵を用いた処理が行われることはない。
【００７７】
以上の実施形態の例では、証明書が破棄済みであるか否かを判定するのに、ＣＲＬを用いる。他の例では、ＯＣＳＰ（Online Certificate Status Protocol）と呼ばれる技術を用いて証明書が破棄済みであるか否かを確認しても良い。ＯＣＳＰでは、利用者がＣＡに対してオンラインで証明書の有効性を問合わせ、この問合せを受けたＣＡは、その証明書の状態（破棄済みであるか否か）を返す。
【００７８】
また、以上の実施形態の例では、証明書要求を行う際に、秘密鍵制御モジュール１００にて鍵ペアを生成する。他の例では、認証局モジュール２００において、証明書の発行を要求する利用者の鍵ペアを生成し、生成した鍵ペアを公開鍵証明書とともに秘密鍵制御モジュール１００に送信してもよい。この例では、鍵ペア中の秘密鍵の漏洩を防ぐため、例えば、認証局モジュール２００と秘密鍵制御モジュール１００との間で暗号鍵を共有しておき、認証局モジュール２００は、その共通の暗号鍵を用いて暗号化した鍵ペアを秘密鍵制御モジュール１００に対して送信する。秘密鍵制御モジュール１００では、その共通の暗号鍵を用いて、受信したデータを復号することで、鍵ペアを取得する。
【００７９】
利用者施設１の情報処理装置１０及び認証局２の情報処理装置２０は、典型的には、汎用のコンピュータにて上述の情報処理装置１０，２０の各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図９に示すように、ＣＰＵ（中央演算装置）８０、メモリ（一次記憶）８２、各種Ｉ／Ｏ（入出力）インタフェース８４、ネットワークインタフェース９４等がバス８６を介して接続された回路構成を有する。ネットワークインタフェース９４は、通信手段を介して当該コンピュータに接続された他の装置との間の通信のためのインタフェースである。また、Ｉ／Ｏインタフェース８４を介して、例えば、タッチパネルディスプレイ９２などの表示・入力装置がバス８６に接続される。タッチパネルディスプレイ９２は、例えば液晶パネルなどの表示装置と、ユーザの手や入力用のペン（スタイラス）などによる接触の位置を検出する入力装置と、を組み合わせて実現され、ユーザの指示などの入力を受け付ける。また、バス８６に対し、例えばＩ／Ｏインタフェース８４経由で、ＨＤＤ（ハードディスクドライブ）８８やＣＤやＤＶＤ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ９０が接続される。このようなドライブ８８又は９０は、メモリ８２に対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段を経由して、ＨＤＤ８８等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されＣＰＵにより実行されることにより、実施形態の処理が実現される。
【００８０】
また、変形例として、情報処理装置１０は、ＩＣ（Integrated Circuit）カードに対して情報の読み書きが可能なＩＣカード処理装置と接続されたコンピュータにより実現されてもよい。この変形例では、コンピュータにおいて、図９を参照して上述したように情報処理装置１０の入力受付部１３０及びデータ処理部１５０を実現する。そして、秘密鍵制御モジュール１００の機能がプログラムとして組み込まれたＩＣカードを前述のＩＣカード処理装置に取り付けて、コンピュータのＣＰＵがＩＣカードに組み込まれたプログラムをメモリに読み出して実行することで、上述の実施形態の例の処理が実現される。
【図面の簡単な説明】
【００８１】
【図１】ＰＫＩシステムの概略構成の例を示すブロック図である。
【図２】秘密鍵制御モジュール及び認証局モジュールの内部構成の例を示す機能ブロック図である。
【図３】認証局モジュールで生成される複数の証明書の有効期間について説明するための図である。
【図４】認証局に対して証明書要求を行う際に秘密鍵制御モジュールが実行する処理の手順の例を示すフローチャートである。
【図５】証明書要求を受けた認証局の認証局モジュールが実行する処理の手順の例を示すフローチャートである。
【図６】証明書要求に応じて認証局から発行された証明書群を受信した秘密鍵制御モジュールが実行する処理の手順の例を示すフローチャートである。
【図７】データ処理部が秘密鍵を用いた処理の要求を行った時に秘密鍵制御モジュールが実行する処理の手順の例を示すフローチャートである。
【図８】秘密鍵制御モジュールが行う証明書検証処理の手順の例を示すフローチャートである。
【図９】コンピュータのハードウエア構成の概略の例を示す図である。
【符号の説明】
【００８２】
１  利用者施設、２  認証局、３  ネットワーク、１０，２０  情報処理装置、８０  ＣＰＵ、８２  メモリ、８４  Ｉ／Ｏインタフェース、８６  バス、８８  ＨＤＤ、９０  ディスクドライブ、９２  タッチパネルディスプレイ、９４  ネットワークインタフェース、１００  秘密鍵制御モジュール、１０２，２０２  認証局証明書保存部、１０４  証明書要求生成部、１０６  鍵生成部、１０８  鍵保存部、１１０  証明書確認部、１１２  証明書保存部、１１４  更新証明書保存部、１１６  暗号処理部、１１８  証明書検証部、１２０  証明書更新部、１２２  利用停止フラグ記憶部、１３０  入力受付部、１５０  データ処理部、２００  認証局モジュール、２０２  認証局証明書保存部、２０４  証明書生成部、２０６  ＣＲＬ生成部、２０８  ＣＲＬ保存部。
【図１】
2010081154.tif 000003
【図２】
2010081154.tif 000004
【図３】
2010081154.tif 000005
【図４】
2010081154.tif 000006
【図５】
2010081154.tif 000007
【図６】
2010081154.tif 000008
【図７】
2010081154.tif 000009
【図８】
2010081154.tif 000010
【図９】
2010081154.tif 000011