(57)【要約】【課題】第二のＣＲＬを取得するために装置を起動させることなく、電子証明書を用いた電子処理が複数行われた際に、ある電子処理時における電子証明書の有効性を検証するための方法を記述する。【解決手段】電子処理毎に電子処理時における最新のＣＲＬを取得し保持するようにし、状態管理テーブルにその電子処理時刻と保持したＣＲＬの情報を記しておく。後の時刻（検証時刻）において電子処理時刻Ａにおける電子証明書の有効性の検証を行う場合は、状態管理テーブルを参照し、電子処理時刻Ａから検証時刻までに行われた電子処理を検索する。検証時刻がＴ３よりも後の時刻だったと仮定すると、状態管理テーブルには電子処理時刻Ｂで取得したＣＲＬの情報が記されているので、電子処理Ａにおける電子証明書の有効性の検証は電子処理Ｂにおいて取得したＣＲＬ＿ｂを用いて行うことができる。【選択図】図３
2008067264.tif 000002
【特許請求の範囲】
【請求項１】
電子証明書保持手段と、電子証明書を用いた電子処理を実行する電子処理実行手段と、前記電子処理実行時に電子処理に用いられた電子証明書のＣＲＬを取得するＣＲＬ取得手段と、取得したＣＲＬを保持するＣＲＬ保持手段と、ＣＲＬを用いて電子証明書の有効性を検証する電子証明書有効性検証手段を有し、第一の電子処理に用いた電子証明書の有効性の検証を、前記第一の電子処理後に行う第二の電子処理時に取得したＣＲＬを用いて行う電子証明書管理装置。
【請求項２】
ＣＲＬの有効性を判断するＣＲＬ有効性判断手段を有し、前記ＣＲＬ保持手段によって保持されるＣＲＬが前記ＣＲＬ有効性判断手段によって無効であると判断された場合にＣＲＬを取得する請求項１記載の電子証明書管理装置。
【請求項３】
電子証明書を用いた電子処理時刻とその電子証明書の識別情報を管理する状態管理テーブルを有し、前記状態管理テーブルを用いて前記電子証明書保持手段において保持される一つ以上の電子証明書に対して、一つ以上の電子証明書の有効期限までの期間を検出する電子証明書有効期限切れ検出手段を有する請求項１記載の電子証明書管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ある時刻において電子証明書を用いて電子署名や暗号化通信の際の認証等といった電子処理が行われていたとして、電子処理に使用された電子証明書がその電子処理時刻において有効であったかどうかを後の時刻において検証可能とするために複数の電子証明書失効リスト（ＣＲＬ：Ｃｅｒｔｉｆｉｃａｔｅ  Ｒｅｖｏｃａｔｉｏｎ  Ｌｉｓｔ。失効した電子証明書の情報が記述される。以降、ＣＲＬと称する）を取得する際に、ＣＲＬの取得回数を軽減させることで装置に要求されるリソースや装置を開発する際の労力や時間的コストを減少させるための電子証明書管理装置に関するものである。
【背景技術】
【０００２】
従来、電子証明書は電子署名や暗号化通信の際の認証などの電子処理に用いられてきた。そして、電子処理時における電子証明書の有効性を検証するために、電子証明書を発行した認証局（ＣＡ：Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ。以降ＣＡと称する。）が管理する失効した電子証明書の識別情報が記されるＣＲＬが一般的に用いられる。
【０００３】
しかし、ＣＲＬはＣＡが定めるＣＲＬ発行期間を経て配布されるため、電子処理時と同じ時刻で取得可能なＣＲＬでは電子処理時の電子証明書の有効性を検証することができない。なぜなら、図１において、ＣＡが時刻Ｔ１から時刻Ｔ５のタイミングにおいてＣＲＬを発行すると仮定すると、時刻Ｔ２と時刻Ｔ３の間の時刻Ｔａにおいて電子署名等の電子処理を行なった場合に、時刻Ｔａにおいて取得可能なＣＲＬ＿ａは時刻Ｔ２において発行されたＣＲＬであり、時刻Ｔ２まで（時間領域Ａ）に失効した電子証明書の識別情報しか記されていない。そのため、時刻Ｔ２から時刻Ｔａまでに電子証明書が失効している可能性があるため、ＣＲＬ＿ａでは時刻Ｔａにおける電子証明書の有効性を検証するのに十分ではない。時刻Ｔａにおける電子証明書の有効性は、時刻Ｔａにおける電子証明書の失効情報を含む、時刻Ｔ３以降（時間領域Ｂ）のＣＲＬが必要となる。
【０００４】
従来手法では、電子処理が行なわれた時刻ＴａにおいてＣＲＬを取得し電子証明書の有効性を仮に検証しておき、取得したＣＲＬから導き出される時刻Ｔ３において、Ｔａにおける失効した電子証明書の識別情報を含む新たなＣＲＬを取得し、時刻Ｔａにおける電子証明書の有効性を真に検証するという方式が用いられている（例えば特許文献１参照）。この従来方式では、一つの電子処理に対して仮の有効性検証のためと真の有効性検証のために二つのＣＲＬを取得することにより、電子処理時における電子証明書の有効性を検証する。
【特許文献１】特開２００２−２３６２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の方式のように一つの電子処理に対して仮の有効性検証と真の有効性検証のために二つのＣＲＬを取得する方法には課題が存在する。図２に示すように、時刻Ｔａにおいて電子証明書を用いた電子処理Ａを行なったとすると、従来手法では、時刻ＴａにおいてＣＲＬ＿ａを取得し電子証明書の仮の有効性検証を行ない、時刻Ｔａにおける電子証明書の真の有効性の検証のために、時刻Ｔ２で更にＣＲＬ＿ａ‘を取得する。そのため、電子処理Ａを行なった時刻Ｔａとは異なる時刻Ｔ２でＣＲＬを取得するためだけに装置を起動させる事となる。
【０００６】
よって、本来の電子証明書の使用目的である電子処理Ａを行なった時刻Ｔａとは異なる別の時刻Ｔ２において装置を起動させるために、時刻Ｔａから時刻Ｔ２の間装置を起動し続けるか、時刻Ｔ２になれば装置が起動するような仕組みが必要となる。装置を起動し続ければ電力消費量は増大してしまうため、装置の電力を供給するバッテリー容量が限られる小型携帯機器では稼働時間の短縮につながる。図２における時刻Ｔ２のように、ＣＲＬが発行されるタイミングのある時刻をトリガーとして装置が起動する仕組みだった場合は、装置が自律的にネットワークを介してＣＲＬ＿ａ’を取得することとなるが、予期せぬネットワーク障害に対する対策や、装置が正しく自律的に動作する様に装置を設計及び構築することになり、装置開発の労力と時間的コストの増大につながる。もちろん、自律的にではなく人の手による手動による装置の起動も考えられるが、その場合は人的コストが増大する。
【０００７】
また、従来手法では、図２に示すように電子処理Ａ、電子処理Ｂ、電子処理Ｃと電子処理を仮にｎ回行なったとすると、２ｎ回のＣＲＬ取得が必要となる。ＣＲＬの電子データサイズは、有効期限内の電子証明書で失効している電子証明書の数に比例するため、電子証明書を多数発行するＣＡもしくは電子証明書の有効期限が長期間であるＣＡではＣＲＬのデータサイズが大きくなることが考えられ、３０ｋバイトに近い電子データサイズのＣＲＬも存在する。そのため、一つの電子処理時刻における電子証明書の有効性の検証のために、仮の有効性検証のためと真の有効性検証のために二つのＣＲＬを取得することは、記憶領域のリソースが限られるような機器にとっては致命的となる。
【０００８】
つまり、一つの電子処理毎に仮の有効性検証のためと真の有効性検証のための二つのＣＲＬを取得する従来手法では、二つ目のＣＲＬを取得するために装置に要求するリソースや装置を開発する労力や時間的コストが余計に生じていると考えられる。
【０００９】
本発明は、このような従来の一つの電子処理時刻における電子証明書の有効性の検証のために仮の有効性検証のためと真の有効性検証のための二つのＣＲＬを取得することによって生じる、装置に要求されるリソースや装置を開発する際の労力や時間的コストの増大を解決するものであり、ある電子処理時刻における電子証明書の有効性を検証することを可能にするという機能はそのままに、しかし、ＣＲＬの取得回数を軽減させることで上記装置に要求されるリソースや装置を開発する際の労力や時間的コストを減少させることを目的とする。
【課題を解決するための手段】
【００１０】
本発明は上記目的を達成するために、電子証明書保持手段と、電子証明書を用いた電子処理を実行する電子処理実行手段と、前記電子処理実行時に電子処理に用いられた電子証明書のＣＲＬを取得するＣＲＬ取得手段と、取得したＣＲＬを保持するＣＲＬ保持手段と、ＣＲＬを用いて電子証明書の有効性を検証する電子証明書有効性検証手段を有し、第一の電子処理に用いた電子証明書の有効性の検証を、前記第一の電子処理後に行う第二の電子処理時に取得したCRLを用いて行う電子証明書管理装置を設けたものである。
【００１１】
この構成により、電子処理毎にＣＲＬを取得し保持しておくことで、ある時刻における電子処理に用いられた電子証明書の検証を、そのある時刻以降に行なわれた電子処理時において取得されたＣＲＬを用いて行なうことができる。そして、電子処理時にのみＣＲＬを取得するため、ＣＲＬの取得回数が軽減されかつＣＲＬを保持するためのリソースが減少される。また、電子処理時にのみＣＲＬを取得するため、電子処理時にのみ装置を起動させるだけでよく、電力消費量が軽減される。
【発明の効果】
【００１２】
本発明の、電子処理毎にＣＲＬを取得し保持しておき、ある時刻における電子処理に用いられた電子証明書の検証を、そのある時刻以降に行なわれた電子処理時において取得されたＣＲＬを用いて行なうことにより、電子処理時のみ装置を起動させるだけである電子処理時刻の電子証明書の有効性の検証が可能となり、電力消費量が軽減される。また、電子処理時にのみＣＲＬを取得するためにＣＲＬを取得する回数が軽減され、ＣＲＬを保持するためのリソースも軽減される。さらには、従来手法のように一つの電子処理に対して二つ目のＣＲＬを取得するための機構が装置に必要ではなくなるため、装置開発の労力や時間的コストも軽減される。
【発明を実施するための最良の形態】
【００１３】
本発明に係る第一の発明は、電子証明書保持手段と、電子証明書を用いた電子処理を実行する電子処理実行手段と、前記電子処理実行時に電子処理に用いられた電子証明書のＣＲＬを取得するＣＲＬ取得手段と、取得したＣＲＬを保持するＣＲＬ保持手段と、ＣＲＬを用いて電子証明書の有効性を検証する電子証明書有効性検証手段を有し、第一の電子処理に用いた電子証明書の有効性の検証を、前記第一の電子処理後に行う第二の電子処理時に取得したCRLを用いて行う電子証明書管理装置、を設けている。
【００１４】
この構成によれば、電子処理毎にＣＲＬを取得し保持しておき、ある時刻における電子処理に用いられた電子証明書の検証を、そのある時刻以降に行なわれた電子処理時において取得されたＣＲＬを用いて行なうことにより、電子処理時のみ装置を起動させるだけである電子処理時刻の電子証明書の有効性の検証が可能となり、電力消費量は軽減される。また、電子処理時にのみＣＲＬを取得するためにＣＲＬを取得する回数が軽減され、ＣＲＬを保持するためのリソースも軽減される。さらには、従来手法のように一つの電子処理に対して二つ目のＣＲＬを取得するための機構が装置に必要ではなくなるため、装置開発の労力や時間的コストも軽減される。
【００１５】
本発明に係る第二の発明は、前期第一の発明において、ＣＲＬの有効性を判断するＣＲＬ有効性判断手段を有し、前記ＣＲＬ保持手段によって保持されるＣＲＬが前記ＣＲＬ有効性判断手段によって無効であると判断された場合にＣＲＬを取得する請求項１記載の電子証明書管理装置、を設けている。
【００１６】
この構成によれば、電子証明書を用いた電子処理時にＣＲＬ保持手段によって保持されるＣＲＬが無効である時のみＣＲＬを取得するので、ＣＲＬを取得する回数の軽減につながり、ＣＲＬを保持するためのリソースが軽減される。また、保持されるＣＲＬが少なくなるため、ある時刻における電子証明書の有効性を検証するためのＣＲＬを検索する際に、検索の容易性と検索のための速度が向上される。
【００１７】
本発明に係る第三の発明は、前期第一の発明において、電子証明書を用いた電子処理時刻とその電子証明書の識別情報を管理する状態管理テーブルを有し、前記状態管理テーブルを用いて前記電子証明書保持手段において保持される一つ以上の電子証明書に対して、一つ以上の電子証明書の有効期限までの期間を検出する電子証明書有効期限切れ検出手段を有する電子証明書管理装置、を設けている。
【００１８】
この構成によれば、前記状態管理テーブルに記される電子証明書の識別情報から電子処理を行った電子証明書を検出することができ、電子処理を行った一つ以上の電子証明書に対して有効期限までの期間を検出することができ、有効期限が近い電子証明書を発見することができる。有効期限が近い電子証明書を見つけておくことにより、前期第一の発明における最後に行った電子処理時刻における電子証明書の検証のためのＣＲＬを電子証明書の有効期限が切れる前に取得することができる。このことは、電子証明書の失効確認のためのＣＲＬは電子証明書が有効期限内である間に取得する必要があるため有用である。なぜなら、ＣＲＬに記される失効された電子証明書情報は、対象となる失効した電子証明書の有効期限が過ぎてしまうとＣＲＬに記載されなくなってしまうからである。また、電子証明書は有効期限内でしか有効ではなく、有効期限が過ぎてしまった場合に再び有効になることはないので、有効期限までの期間を検出することは電子証明書の有効期限が過ぎてしまう前に新たな電子証明書を発行してもらうための指標としても役立つ。
【実施例】
【００１９】
図３は本発明の動作概念図である。本発明は、図３に示すように電子証明書を用いた電子処理毎にＣＲＬが保存される。そのため、時刻Ｔａにおいて行なわれた電子処理Ａに用いられた電子証明書の有効性の検証は、図２に示す従来手法のように電子処理Ａのために時刻Ｔ２でＣＲＬを取得し電子証明書の有効性を検証するのではなく、時刻Ｔｂにおいて行なわれた電子処理Ｂ時に取得されたＣＲＬ＿ｂを用いて行なうことができる。また、時刻Ｔｂにおいて行なわれた電子処理Ｂに用いられた電子証明書の有効性の検証も、時刻Ｔｃにおいて行なわれた電子処理Ｃ時に取得されたＣＲＬ＿ｃを用いて行なうことができる。時刻Ｔｃにおいて行なわれた電子処理Ｃに用いられた電子証明書の有効性の検証は、時刻Ｔ５以降に行なわれた電子処理時に取得されたＣＲＬを用いて行なうことができる。
【００２０】
以下、本発明の具体的な内容について実施例を用いて説明する。
【００２１】
（実施例１）
図４から図１０を用いて実施例１を説明する。図４は本発明を適用した実施例１の全体構成を説明する図であり、図５はＲＦＣ３２８０に基づく電子証明書の構造において実施例１に関連が深い項目を記述した図であり、図６はＲＦＣ３２８０に基づくＣＲＬの構造において実施例１に関連が深い項目を記述した図であり、図７は実施例１における状態管理テーブルの構造を説明する図であり、図８は実施例１における電子署名処理のフローチャートであり、図９は実施例１において複数の電子署名処理が行なわれた場合に、ある時刻における電子署名処理に用いられた電子証明書の有効性を検証する処理のフローチャートであり、図１０は実施例１において電子署名に用いられた電子証明書管理装置内の記憶装置に保持される各電子証明書に対して有効期限までの期間を検出する処理のフローチャートである。以下、図面に沿って説明する。
【００２２】
図４は、本発明に関わる電子証明書管理装置を適用した全体構成を説明する図である。電子証明書管理装置４０１はネットワーク４０２を通してＣＡ４０３と通信が可能になっている。また、電子証明書管理装置４０１は、図４に示すように入力装置部４０４、出力装置部４０５、時刻情報部４０６、通信部４０７、プログラム制御部４０８、メモリ部４０９、記憶装置部４１０、演算装置部４１１を有している。
【００２３】
ＣＡ４０３は、電子証明書を発行する機関であり、同時に発行した電子証明書に関して、失効した電子証明書の識別情報をＣＲＬに記し、ネットワーク４０２を通じてＣＲＬを配布する機能を有している。
【００２４】
入力装置部４０４は、認証局４０３から発行された電子証明書を電子証明書管理装置４０１内の記憶装置部４１０内の一部の記憶領域である電子証明書保持部４１３に保持するための入力装置である。入力装置部４０４は請求項１記載の電子証明書保持手段に相当し、電子証明書を電子証明書管理装置４０１に入力する機能を有する。また、入力装置部４０４は、電子証明書管理装置４０１を利用するユーザが記憶装置部４１０内に記憶される１００１から１０１３のプログラムを実行するように指示を入力する機能を有する。
【００２５】
出力装置部４０５は、記憶装置部４１０に記憶される１００１から１０１３のプログラムがプログラム制御部４０８によって制御され実行された時に、メモリ部４０９に格納される情報を各プログラムが必要に応じて電子証明書管理装置４０１の外へ出力するための出力装置である。実施例１では、電子署名時に電子証明書の有効期限が過ぎてしまっていた場合に有効期限外であることの表示や、電子証明書をＣＲＬに記載される情報から失効検証した際に電子証明書が失効していることの表示を行う。また、電子証明書が一定期間後（以降、猶予期間）に有効期限切れになってしまうような場合に、猶予期間後に有効期限切れになってしまうことを表示することを行う。
【００２６】
時刻情報部４０６は、電子証明書管理装置４０１内で利用される時刻情報を保持する装置である。
【００２７】
通信部４０７は、電子証明書管理装置４０１がネットワーク４０２を通してＣＡ４０３と通信を行なう時に、情報の送受信を行なう装置である。
【００２８】
プログラム制御部４０８とメモリ部４０９と演算装置部４１１は、電子証明書管理装置４０１を動作させるためのプログラム１００１から１０１３を実行するための装置である。記憶装置部４１０に記憶される１００１から１０１３の各プログラムは、プログラム制御部４０８によってメモリ部４０９に読み込まれ、演算装置部４１１によって演算される。演算結果により、入力装置部４０４や出力装置部４０５等といった電子証明書管理装置４０１内に存在する装置が制御される。
【００２９】
記憶装置部４１０は、電子証明書管理装置４０１を動作させるためのプログラムが記憶されており、電子証明書取得プログラム１００１、電子署名プログラム１００２、ＣＲＬ取得プログラム１００３、電子証明書有効性検証プログラム１００４、ＣＲＬ検索プログラム１００５、ＣＲＬ有効性判断プログラム１００６、ＣＲＬ取得判断プログラム１００７、状態管理テーブル管理プログラム１００８、時刻管理プログラム１００９、入出力装置制御プログラム１０１０、電子証明書有効期限期間検出プログラム１０１１、電子証明書有効期限切れ検出プログラム１０１２、電子データ識別情報作成プログラム１０１３が記憶されている。また、記憶装置部４１０には電子証明書管理装置４０１で管理する電子証明書とＣＲＬと状態管理テーブルを保持する記憶領域を有し、電子証明書保持部４１２とＣＲＬ保持部４１３と状態管理テーブル保持部４１４を有している。それぞれ、請求項１記載の電子証明書保持手段と取得したＣＲＬを保持するＣＲＬ保持手段と請求項３記載の電子証明書を用いた電子処理時刻とその電子証明書の識別情報を管理する状態管理テーブルを保持する装置に相当する。
【００３０】
上記電子証明書取得プログラム１００１は請求項１記載の電子証明書保持手段に相当し、入力装置部４０４を制御して電子証明書を電子証明書保持部４１２に記憶する機能を有する。
【００３１】
上記電子署名プログラム１００２は、請求項１記載の電子証明書を用いた電子処理を実行する電子処理実行手段に相当し、電子証明書保持部４１２において保持される電子証明書内に記憶される秘密鍵の項目を利用して電子署名を行う機能を有する。
【００３２】
上記ＣＲＬ取得プログラム１００３は、請求項１記載の電子証明書のＣＲＬを取得するＣＲＬ取得手段と取得したＣＲＬを保持するＣＲＬ保持手段に相当し、電子証明書内に記憶される電子証明書に対応するＣＲＬの配布場所からＣＲＬを取得し保持する機能を有する。
【００３３】
上記電子証明書有効性検証プログラム１００４は、請求項１記載のＣＲＬを用いて電子証明書の有効性を検証する電子証明書有効性検証手段に相当し、ＣＲＬ保持部４１３において保持されるＣＲＬを用いて電子証明書の有効性を検証する機能を有する。また、電子証明書保持部４１２に保持される電子証明書内の有効期間が開始する時刻の項目と有効期間が終了する時刻の項目の二つの項目と、時刻管理プログラム１００９を用いて参照した時刻情報から、電子証明書が有効期間内であるかどうかを検証する機能を有する。
【００３４】
上記ＣＲＬ検索プログラム１００５は、請求項１記載の第一の電子処理に用いた電子証明書の有効性の検証を前記第一の電子処理後に行う第二の電子処理時に取得したＣＲＬを用いて行う際の、第二の電子処理時に取得したＣＲＬを検索する機能を有する。
【００３５】
上記ＣＲＬ有効性判断プログラム１００６は、請求項２記載のＣＲＬの有効性を判断するＣＲＬ有効性判断手段に相当し、ＣＲＬ内に記憶されるＣＲＬの有効期間が開始する時刻の項目とＣＲＬが次回に更新される時刻の項目の二つと、時刻情報部４０６に保持される時刻情報を比較して、ＣＲＬが無効であるかどうかを判断する機能を有する。
【００３６】
上記ＣＲＬ取得判断プログラム１００７は、請求項２記載の、ＣＲＬ保持手段によって保持されるＣＲＬが前記ＣＲＬ有効性判断手段によって無効であると判断された場合にＣＲＬを取得する動作に相当し、ＣＲＬ保持部４１３に保持されるＣＲＬが前記ＣＲＬ有効性判断プログラム１００６によって無効であると判断された場合にＣＲＬを取得すると判断する機能を有する。
【００３７】
上記状態管理テーブル管理プログラム１００８は、請求項３記載の電子証明書を用いた電子処理時刻とその電子証明書の識別情報を管理する状態管理テーブルに対して、電子処理時刻とその電子証明書の識別情報を状態管理テーブルに記憶し管理する機能を有する。
【００３８】
上記時刻管理プログラム１００９は、時刻情報部４０６に保持される時刻情報を参照する機能を有する。
【００３９】
上記入出力装置制御プログラム１０１０は、電子証明書有効性検証プログラム１００４や電子証明書有効期限切れ検出プログラム１０１２で検出した電子証明書の有効期限切れや失効したという情報を出力装置部４０５を制御して表示する機能を有する。また、請求項１記載の電子証明書保持手段にも相当し、入力装置部４０４を制御して電子証明書を電子証明書保持部４１２に保持する機能を有する。
【００４０】
上記電子証明書有効期限期間検出プログラム１０１１は、請求項３記載の状態管理テーブルを用いて前記電子証明書保持手段において保持される一つ以上の電子証明書に対して、一つ以上の電子証明書の有効期限までの期間を検出する電子証明書有効期限切れ検出手段に相当し、状態管理テーブル保持部４１４に記憶される状態管理テーブルを用いて、電子処理に用いられた電子証明書を検出し、検出された電子証明書の有効期間終了時刻５０３と時刻情報部４０６に記される時刻情報から有効期限までの期間を検出する機能を有する。
【００４１】
上記電子証明書有効期限切れ検出プログラム１０１２は、前記電子証明書有効期限期間検出プログラム１０１１によって検出された電子証明書の有効期限までの期間情報と、状態管理テーブル内に記される猶予期間情報を比較し、有効期限までの期間情報が猶予期間よりも時系列上で短くなった場合に、電子証明書が猶予期限後に有効期限が切れることを検出する機能を有する。
【００４２】
上記電子データ識別情報作成プログラム１０１３は、電子証明書もしくはＣＲＬを構成する電子データから一方向性関数を用いて一意に生成されるハッシュと呼ばれる電子データを作成する機能を有する。
【００４３】
上記電子証明書について、図５を用いて電子証明書内に記憶される情報を説明する。実施例１における電子証明書とは、ＲＦＣ３２８０において定義される電子証明書のことであり、電子証明書の有効期間が開始する時刻の項目５０２と、有効期間が終了する時刻の項目５０３と、電子証明書を発行した発行者の項目５０４と、電子証明書に与えられている識別番号の項目５０５と、電子証明書の発行先の項目５０６と、電子証明書に対応するＣＲＬの配布場所が記される項目５０７と、電子証明書に関連づけられる公開鍵の項目５０８と、電子証明書を発行した発行者が電子証明書に対して行なった電子署名の項目５０９と、電子証明書に関連付けられる秘密鍵の項目５１０とが存在する。
【００４４】
上記ＣＲＬについて、図６を用いてＣＲＬ内に記憶される情報を説明する。実施例１におけるＣＲＬとは、ＲＦＣ３２８０において定義されるＣＲＬのことであり、ＣＲＬの発行者の項目６０２と、ＣＲＬの有効期間が開始する時刻の項目６０３と、ＣＲＬが次回に更新される時刻の項目６０４と、失効した電子証明書の識別情報の項目（６０５〜６０７）が失効している電子証明書の数だけ存在する。
【００４５】
上記状態管理テーブルについて、図７を用いて状態管理テーブル内に記憶される情報を説明する。実施例１において状態管理テーブル７０１は、電子証明書管理装置４０１が保持する電子署名に用いた電子証明書の識別情報を記憶する電子証明書識別情報記憶領域（７０２と７０３）を有している。また、電子証明書識別情報記憶領域（７０２と７０３）に対応付けられて、電子署名処理毎に電子署名処理時刻を記憶する電子処理時刻記憶領域（７０４〜７０６と７１２）と、その電子署名処理時に電子証明書に対応した最新のＣＲＬを記憶装置部４１０に保持する際の保持名を記憶するＣＲＬ識別情報記憶領域（７０７〜７０９と７１３）を有する。また、電子証明書に対応したＣＲＬの有効期間から計算する猶予期間情報を記憶する猶予期間情報記憶領域（７１０及び７１１と７１４及び７１５）を有する。
【００４６】
次いで、図４から図１０を用いて、本発明に係る電子証明書管理装置の作用について説明する。電子証明書は、ＣＡ４０３によってあらかじめ発行されているとする。電子証明書管理装置４０１は、入力装置４０４を通じて電子証明書保持部４１２に電子証明書を保持する。ユーザは、後述する電子証明書による電子署名処理動作を実行し、電子証明書保持部４１２に保持される電子証明書を用いて電子署名処理を行う。電子署名処理は、ユーザの指示により複数回行われる（仮にｎとする（ｎ：２，３，４，．．．）。）。ここで、ｎ回行われた電子署名において、ｉ番目（ｉ：１，２，３，．．．，ｎ−１）に行われた電子署名に用いられた電子証明書の有効性を確認することを考える。ユーザは後述する過去のある電子署名処理時刻における電子証明書の有効性を検証する方法を用いてｉ番目の電子署名の有効性を確認することができる。また、電子署名処理時には、後述する電子証明書有効期限期間チェック処理動作を行い、電子署名処理が終了した後に電子証明書管理装置内の電子証明書保持部４１２に保持される電子証明書の中で、電子署名処理時点までに電子署名を行っていた各電子証明書に関して有効期限までの期間を検出し、それぞれの電子証明書に対して猶予期間後に有効期限が過ぎてしまう電子証明書があれば出力装置部４０５を通して、猶予期間後に有効期限が過ぎてしまう電子証明書が存在することを表示する。
【００４７】
ここで、電子証明書管理装置４０１による電子署名処理時の動作について、図８に沿って詳細に説明する。図８は本発明に係る電子証明書管理装置を適用した電子証明書管理装置の電子署名処理時の動作を示すフローチャートである。電子証明書管理装置４０１はプログラム制御部４０８によって記憶装置部４１０内にある電子署名プログラム１００２を動作させ、電子署名処理のステップを開始する。
【００４８】
電子署名処理のステップが開始すると、ステップ２０１０１にて電子署名処理に用いる電子証明書の有効期限検証を行う。ステップ２０１０１における電子署名処理に用いる電子証明書の有効期限検証は、電子証明書有効性検証プログラム１００４を用いて、電子証明書内に記される電子証明書の有効期間が開始する時刻５０２と有効期間が終了する時刻５０３の二つの項目と時刻情報部４０６の時刻情報とを比較して、時刻情報部の時刻が時系列上において有効期間が開始する時刻よりも前もしくは有効期間が終了する時刻よりも後であった場合には有効期限外としてみなし、そうでない場合は電子証明書が有効期限内であると判断する。
【００４９】
ステップ２０１０１において、電子証明書が有効期限外であると判断された場合は、ステップ２０１０２に進む。ステップ２０１０２では、入出力装置制御プログラム１０１１を用いて電子証明書が有効期限外であることを出力装置部４０５に表示して、電子署名処理のステップを終了する。
【００５０】
ステップ２０１０１において、電子証明書が有効期限内であると判断された場合は、ステップ２０１０３に進む。ステップ２０１０３では、電子署名に用いる電子証明書を識別するために電子データ識別情報作成プログラム１０１３を用いて電子証明書のハッシュを計算する。ステップ２０１０３で
電子証明書のハッシュを計算後、ステップ２０１０４に進む。ステップ２０１０４では、状態管理テーブル保持部４１４に状態管理テーブルが存在するかを調べる。
【００５１】
ステップ２０１０４において、状態管理テーブル保持部４１４に状態管理テーブルが存在しない場合は、ステップ２０１０５に進む。ステップ２０１０５では、状態管理テーブル管理プログラム１００８を用いて状態管理テーブルを作成する。ステップ２０１０５で状態管理テーブルを作成後、ステップ２０１０６に進む。ステップ２０１０６では、電子署名に用いる電子証明書から電子証明書に対応するＣＲＬの配布場所５０７を取得し、ＣＲＬ取得プログラム１００３を用いてＣＲＬを取得する。ステップ２０１０６でＣＲＬを取得後、ステップ２０１０７に進む。
【００５２】
ステップ２０１０７では、電子証明書有効性検証プログラム１００４を用いて、取得したＣＲＬによる電子署名に用いる電子証明書の有効性検証を行う。ステップ２０１０７におけるＣＲＬを用いた電子証明書の有効性検証は、取得したＣＲＬに記される失効した電子証明書の識別情報の項目（６０５〜６０７）の中に、電子署名に用いる電子証明書の識別情報５０５が記されている場合には電子証明書が失効していると判断し、そうでない場合は電子証明書が有効であると判断する。
【００５３】
ステップ２０１０７において、電子署名に用いる電子証明書が失効していると判断された場合は、ステップ２０１０８に進む。ステップ２０１０８では、入出力装置制御プログラム１０１１を用いて電子証明書が失効している事を出力装置部４０５に表示して、電子署名処理のステップを終了する。
【００５４】
ステップ２０１１２において、電子署名に用いた電子証明書が有効であると判断された場合は、ステップ２０１０９へ進む。ステップ２０１０９では、電子署名プログラム１００２によって電子署名を行う。ステップ２０１０９の電子証明書による電子署名が終了後、ステップ２０１１０に進む。ステップ２０１１０では、時刻管理プログラム１００９を用いて時刻情報部４０６の時刻を電子署名時刻として取得する。ステップ２０１１０で電子署名処理時刻を取得した後、ステップ２０１１１に進む。
【００５５】
ステップ２０１１１では、ＣＡから取得したＣＲＬを電子データ識別情報作成プログラム１０１３を用いてＣＲＬの識別情報としてハッシュ計算し、ステップ２０１１０で取得した電子署名処理時刻と組み合わせて、取得したＣＲＬをＣＲＬ保持部４１３に保持する際のＣＲＬ保存名を作成する。ＣＲＬ保存名はハッシュを文字列表記したものと電子署名処理時刻を文字列表記したものをアンダーバー（＿）で連結して作成する（ハッシュ値：１Ａ０Ｂ３Ｃ．．．９Ａ、電子署名処理時刻：２０ＸＸ／ＹＹ／ＺＺならば１Ａ−０Ｂ−３Ｃ．．．−９Ａ＿２０ＸＸ／ＹＹ／ＺＺ．ｃｒｌという文字列を作成する）。ただし、後述するステップ２０１１７において、ＣＲＬが最新であると判断され、記憶装置内のＣＲＬ保持部４１３からＣＲＬを取得していた場合は、ＣＲＬ保持部４１３に記憶されていた時のＣＲＬ保存名をＣＲＬ保存名として作成する。
【００５６】
ステップ２０１１１でＣＲＬ保存名を作成後、ステップ２０１１２に進む。ステップ２０１１２では、状態管理テーブル管理プログラム１００８を用いて、状態管理テーブルに電子証明書から計算したハッシュと電子署名処理時刻とＣＲＬ保存名を記憶する。例えば、電子証明書から計算したハッシュがＡＢ−ＣＤ−ＥＦ・・・００−１１であり、電子署名処理時刻が２００Ｘ／７／３０であり、ＣＲＬ保存名が３Ｆ−５Ａ・・・１Ｃ＿２００Ｘ＿０７＿３０．ｃｒｌであるならば、図７に示すように電子証明書のハッシュは電子証明書識別情報記憶領域７０２に記憶され、電子署名処理時刻は電子署名処理時刻記憶領域７０４に記憶され、ＣＲＬ保存名はＣＲＬ識別情報記憶領域７０７に記憶される。ここで、同じ電子証明書（つまり、電子証明書のハッシュがＡＢ−ＣＤ−ＥＦ・・・００−１１になる電子証明書）で既に電子署名が過去に行われていた場合には、電子署名処理時刻とＣＲＬ保存名は過去に記憶された電子署名処理時刻のフィールドとＣＲＬ保存名のフィールドの下に連続して記憶される。例えば、前述した例で２００Ｘ／７／３０において電子書名を行い、２００Ｘ／８／４に同じ電子証明書を用いて電子署名処理を行った場合を考える。この場合、電子証明書のハッシュは電子証明書識別情報７０２が既に記憶されているので新たに記憶はしないが、電子署名処理時刻２００Ｘ／８／４は記憶されている最後の電子署名処理時刻７０４のフィールドの下の電子署名処理時刻記憶領域７０５に記憶し、ＣＲＬ保存名も記憶されている最後のＣＲＬ保存名７０７のフィールドの下のＣＲＬ識別情報記憶領域７０８に記憶する。以後同様にして、電子署名処理が行われる度に最後に行われた電子処理時に記憶されたフィールドの下に追記していく形式で電子署名処理時刻とＣＲＬ保存名を記憶する。状態管理テーブルに電子証明書のハッシュと電子署名処理時刻とＣＲＬ保存名を記憶した後は、取得したＣＲＬをＣＲＬ保持部４１３にＣＲＬ保存名の名前で記憶する。ステップ２０１１２で状態管理テーブルに情報を記憶及びＣＲＬ保持部４１３に取得したＣＲＬを保持後、ステップ２０１１３に進む。
【００５７】
ステップ２０１１３では、後述する電子証明書有効期限期間チェック処理動作を行い、電子署名処理のステップを終了する。
【００５８】
ステップ２０１０４において、状態管理テーブルが存在するか調べた際に、状態管理テーブルが存在した場合は、ステップ２０１１４に進む。ステップ２０１１４では、図７における状態管理テーブル７０１内の電子証明書識別情報記憶領域７０２において、電子署名に用いる電子証明書から計算されたハッシュに等しい項目が存在するかを調べる。例えば、電子証明書から計算されたハッシュがＡＢＣＤＥＦ・・・００１１であった場合で、図７に示すように電子証明書識別情報記憶領域７０２にＡＢ−ＣＤ−ＥＤ・・・００−１１とあった場合には、ハッシュに等しい項目が存在すると判断する。もし、電子証明書から計算されたハッシュがＢＣＤＥＦ０・・・５６７８であった場合は、図７に示す状態管理テーブルの例ではＡＢ−ＣＤ−ＥＦ・・・００−１１の項目７０２と２２−３３−４４・・・ＡＡ−ＣＣの項目７０３しかないので、ハッシュに等しい項目は存在しないと判断する。
【００５９】
ステップ２０１１４において、状態管理テーブル内に、電子署名に用いる電子証明書から計算されたハッシュに等しい項目が存在しなかった場合には、ステップ２０１０６に進む。ステップ２０１０６以降のステップは、上記ステップ２０１０６以降のステップと等しい動作を行い、電子署名処理のステップを終了する。
【００６０】
ステップ２０１１４において、状態管理テーブル内に、電子署名に用いた電子証明書から計算されたハッシュに等しい項目が存在した場合は、ステップ２０１１５に進む。ステップ２０１１５では、図７に示す状態管理テーブルにおいて、電子証明書のハッシュに対応する電子署名処理時刻において、一番下の電子署名処理時刻に対応付けて記憶されるＣＲＬ保存名を取得する（電子署名処理時刻は前回行った電子署名処理時刻の下に記憶していくので、一番下に記憶される電子署名処理時刻とは、最後に行った電子署名処理時刻のことをさす）。例えば、電子証明書から計算されたハッシュがＡＢＣＤＥＦ・・・００１１であるならば、電子証明書識別情報７０２の電子署名処理時刻（７０４〜７０６）において一番下の電子署名処理時刻７０６に対応付けて記憶されるＣＲＬ保存名７０９を取得する。ステップ２０１１５でＣＲＬ保存名７０６を取得後、ステップ２０１１６に進む。
【００６１】
ステップ２０１１６では、ＣＲＬ保持部４１３から取得したＣＲＬ保存名７０６に対応するＣＲＬを取得する。ステップ２０１１６でＣＲＬを取得後、ステップ２０１１７に進む。ステップ２０１１７では、ＣＲＬ有効性判断プログラム１００６を用いて、取得したＣＲＬが最新のものであるかどうかを判断する。ステップ２０１１７における判断は、ＣＲＬに記される次回に更新される時刻の項目６０４が時系列上において時刻情報部４０６にて保持される時刻情報よりも後であった場合は、ＣＲＬが最新であると判断し、そうでない場合はＣＲＬが古いと判断する。
【００６２】
２０１１７において、取得したＣＲＬが古いと判断された場合は、ステップ２０１０６に進む。ステップ２０１０６以降のステップは、上記ステップ２０１０６以降のステップと等しい動作を行い、電子署名処理のステップを終了する。
【００６３】
２０１１７において、取得したＣＲＬが最新であると判断された場合は、ステップ２０１０７に進む。ステップ２０１０７以降のステップは、上記ステップ２０１０７以降のステップと等しい動作を行い、電子署名処理のステップを終了する。
【００６４】
ここで、電子証明書管理装置４０１の過去のある電子署名処理時刻における電子証明書の有効性を検証する方法について、図９を用いて詳細に説明する。図９は本発明に係る電子証明書管理装置を適用した電子証明書管理装置の過去の電子署名処理時の電子証明書の有効性検証の動作を示すフローチャートである。電子証明書管理装置４０１はプログラム制御部４０８によって記憶装置部４１０内に記憶される状態管理テーブル管理プログラム１００８を動作させ、過去のある電子署名処理時刻における電子証明書の有効性を検証するステップを開始する。
【００６５】
過去のある電子署名処理時刻における電子証明書の有効性を検証するステップが開始すると、まずはステップ２０２０１に進む。ステップ２０２０１では、状態管理テーブル管理プログラム１００８を用いて状態管理テーブル保持部４１４に状態管理テーブルが存在するかどうかを判断する。
【００６６】
ステップ２０２０１において、状態管理テーブル保持部４１４に状態管理テーブルが存在しないと判断されればステップ２０２０２に進む。ステップ２０２０２では、過去のある電子署名処理時刻における電子証明書の有効性の検証は不可能としてステップを終了する。
【００６７】
ステップ２０２０１において、状態管理テーブルが存在すればステップ２０２０３へ進む。ステップ２０２０３では、検証を行いたい電子証明書から電子データ識別情報作成プログラム１０１３を用いて電子証明書のハッシュを計算する。ステップ２０２０３で電子証明書からハッシュを計算後、ステップ２０２０４へ進む。ステップ２０２０４では、ＣＲＬ検索プログラム１００５を用いて状態管理テーブルに記憶される電子証明書識別情報記憶領域７０２において電子証明書から計算されたハッシュと等しくなる項目を検索する。例えば、図７に示すように状態管理テーブルに電子証明書識別情報７０２と電子処理時刻（７０４〜７０６）とＣＲＬ識別情報（７０７〜７０９）が記憶されている場合に、検証を行いたい電子証明書のハッシュがＡＢＣＤＥＦ・・・００１１と計算された場合は、電子証明書識別情報７０２と一致するので電子証明書から計算されたハッシュと等しくなる項目が存在し検索できたと判断する。仮に、検証を行いたい電子証明書のハッシュが５４３２１０・・・ＦＥＤＣであったならば、図７に示される状態管理テーブルに記載される電子証明書識別情報は７０２と７０３であり、それぞれＡＢ−ＣＤ−ＥＦ・・・００−１１と２２−３３−４４・・・ＡＡ−ＣＣであり、５４３２１０・・・ＦＥＤＣではないので、電子証明書から計算されたハッシュと等しくなる項目は存在せず、検索できなかったと判断する。
【００６８】
ステップ２０２０４において、電子証明書から計算されたハッシュと等しくなる項目が状態管理テーブル内から検索できなかった場合はステップ２０２０２へ進む。ステップ２０２０２以降のステップは、上記ステップ２０２０２以降のステップと等しい動作を行い、過去のある電子署名処理時刻における電子証明書の有効性の検証は失敗としてステップを終了する。
【００６９】
ステップ２０２０４において、電子証明書から計算されたハッシュと等しくなる項目が状態管理テーブル内から検索できた場合は、ステップ２０２０５へ進む。ステップ２０２０５では、ＣＲＬ検索プログラム１００５を用いて電子証明書の有効性の検証を行いたい過去のある電子署名処理時刻よりも後に電子署名処理が行われているかどうかを調べる。例えば、電子証明書のハッシュがＡＢＣＤＥＦ・・・００１１である電子証明書で、図７に示すような情報が記憶される状態管理テーブルであった場合を仮定する。この時、過去に行った電子署名処理として２００Ｘ／７／３０に行った電子署名処理時刻７０４における電子証明書の有効性検証を行いたかったとする。その場合は、２００Ｘ／７／３０の電子署名処理時刻７０４の後に、２００Ｘ／８／４における電子署名処理時刻７０５と２００Ｘ／８／２９における電子署名処理時刻７０６が存在するので、検証したい電子署名処理時刻よりも後に電子署名処理が行われていると判断する。仮に、過去に行った電子署名処理として２００Ｘ／８／２９の電子署名処理時刻７０６における電子証明書の有効性検証を行いたかった場合は、状態管理テーブル内に２００Ｘ／８／２９以降の電子署名処理時刻情報が記載されていないので、検証したい電子署名処理時刻よりも後に電子署名処理が行われていないと判断する。
【００７０】
ステップ２０２０５において、過去のある電子署名処理時刻よりも時系列上で後に電子署名処理が行われていた場合は、ステップ２０２０６へ進む。ステップ２０２０６では、ＣＲＬ検索プログラム１００５を用いて、ＣＲＬ保持部４１３に保持されるＣＲＬの中に過去のある電子署名処理時刻における電子証明書の有効性検証を行うことができるＣＲＬがあるかどうかを検索する。具体的には、状態管理テーブルに記載される検証を行いたい過去のある電子署名処理時刻におけるＣＲＬ保存名と、その電子署名処理時刻より後で行われた電子署名処理時におけるＣＲＬ保存名が異なるかどうかを判断する（ＣＲＬ保存名が異なれば、後の電子署名時に保持したＣＲＬは、検証を行いたい電子署名処理時のＣＲＬの後に更新されたものであるため）。例えば、電子証明書から計算されるハッシュがＡＢＣＤＥＦ・・・００１１であり、図７に示すように状態管理テーブルが記憶されていたと仮定する。この時、２００Ｘ／７／３０における電子署名処理時における電子証明書の検証を行いたかった場合は、２００Ｘ／７／３０において取得しＣＲＬ保持部４１３に記憶したＣＲＬのＣＲＬ保存名７０７は３Ｆ−５Ａ−・・・−１Ｃ＿２００Ｘ＿０７＿３０．ｃｒｌである。そして、２００Ｘ／７／３０より後に電子署名処理は２００Ｘ／８／４と２００Ｘ／８／２９に行われており、そのどちらの電子署名処理時に取得され保存されたＣＲＬのＣＲＬ保存名（７０８〜７０９）もＡＣ−９６−・・・−３Ｄ＿２００Ｘ＿０８＿２９．ｃｒｌであり、３Ｆ−５Ａ−・・・−１Ｃ＿２００Ｘ＿０７＿３０．ｃｒｌとは異なる。そのため、この場合は検証したい電子署名処理時刻よりも後の電子署名処理時刻のＣＲＬ保存名においてＣＲＬ保存名が異なるＣＲＬがあると判断する。仮に、検証したい電子署名処理時刻が２００Ｘ／８／４であった場合は、２００Ｘ／８／２９に電子署名処理が行われてているものの、２００Ｘ／８／４時点でのＣＲＬ保存名７０８と、２００Ｘ／８／２９時点でのＣＲＬ保存名が同じであるため、検証したい電子署名処理時刻よりも後の電子署名処理時刻のＣＲＬ保存名においてＣＲＬ保存名が異なるＣＲＬは存在しないと判断する
ステップ２０２０６において、ＣＲＬ保存名が異ならない場合は、ステップ２０２０７へ進む。
【００７１】
ステップ２０２０７では、ステップＳ２０６において検証を行いたい電子署名処理時刻におけるＣＲＬ保存名７０７と異なると判断されたＣＲＬ保存名７０８を用いて、ＣＲＬ取得プログラム１００３を用いて記憶装置内のＣＲＬ保持部４１３から保持されていたＣＲＬを取得する。ステップ２０２０７で保持されていたＣＲＬを取得したら、ステップ２０２０８へ進む。
【００７２】
ステップ２０２０８では、ＣＲＬ有効性判断プログラム１００６を用いて、保持されていたＣＲＬが有効であるかどうかを判断する（ＣＡが発行する最新のＣＲＬであるかどうかを判断する）。ＣＲＬが有効であるかどうかは、図６に示すＣＲＬに記載される各項目の中で、ＣＲＬ次回更新時刻６０４と時刻情報部４０６の時刻情報を比較し、時刻情報部４０６の時刻情報がＣＲＬ次回更新時刻６０４よりも時系列上で過ぎていた場合はＣＲＬが無効である（古いものである）と判断し、過ぎていなければＣＲＬは有効である（最新のものである）と判断する。
【００７３】
ステップ２０２０８において、ＣＲＬが有効であると判断された場合は、ステップ２０２０２へ進む。ステップ２０２０２以降のステップは、上記ステップ２０２０２以降のステップと等しい動作を行い、過去のある電子署名処理時刻における電子証明書の有効性の検証は失敗としてステップを終了する。
【００７４】
ステップ２０２０８において、ＣＲＬ更新時刻が過ぎていてＣＲＬが無効であると判断された場合は、ステップ２０２０９へ進む。ステップ２０２０９では、ＣＲＬ取得プログラム１００３を用いて、電子証明書に記載されるＣＲＬ配布場所５０７から最新のＣＲＬを取得する。ステップ２０２０９で最新のＣＲＬを取得した後、ステップ２０２１０へ進む。
【００７５】
ステップ２０２１０では、ＣＲＬを電子証明書に記載されるＣＲＬ配布場所５０７から取得していた場合に、電子証明書の有効期限を電子証明書有効性検証プログラム１００４を用いて検証する（ステップＳ２１３とステップ２０２０９からの場合）。もし、ＣＲＬを記憶装置部のＣＲＬ保持部４１３から取得していた場合は、何もせずにステップ２０２１１へ進む（ステップ２０２１２からの場合）。ステップ２０２１０における電子証明書の有効期限検証は、電子証明書有効性検証プログラム１００４を用いて、電子証明書内に記される電子証明書の有効期間が開始する時刻５０２と有効期間が終了する時刻５０３の二つの項目と時刻情報部４０６の時刻情報とを比較して、時刻情報部の時刻が時系列上において有効期間が開始する時刻よりも前もしくは有効期間が終了する時刻よりも後であった場合には有効期限外としてみなし、そうでない場合は電子証明書が有効期限内であると判断する。
【００７６】
ステップ２０２１０において、電子証明書が有効期限外であると判断された場合は、ステップ２０２０２へ進む。ステップ２０２０２以降のステップは、上記ステップ２０２０２以降のステップと等しい動作を行い、過去のある電子署名処理時刻における電子証明書の有効性の検証は失敗としてステップを終了する。
【００７７】
ステップ２０２１０において、電子証明書が有効期限内であると判断された場合は、ステップ２０２１１へ進む。ステップ２０２１１では、電子証明書有効性検証プログラム１００４を用いて、取得したＣＲＬによる過去のある電子署名処理時刻における電子証明書の有効性の検証を行う。ステップ２０２１１における電子証明書の有効性の検証は、取得したＣＲＬに記される失効した電子証明書の識別情報の項目（６０５~６０７）の中に、電子署名に用いた電子証明書の識別情報５０５が記されている場合には電子証明書が失効していると判断し、そうでない場合は電子証明書が有効であると判断する。電子証明書の有効性の検証が終了すれば、過去のある電子署名処理時刻における電子証明書の有効性の検証のステップを終了する。
【００７８】
ステップ２０２０６において、ＣＲＬ保存名が異なる場合は、ステップ２０２１２に進む。ステップ２０２１２では、ＣＲＬ取得プログラム１００３を用いて、ＣＲＬ保持部４１３からステップ２０２０６において異なると判断されたＣＲＬ保存名に一致するＣＲＬを取得する。ステップ２０２１２でＣＲＬ保持部４１３からＣＲＬを取得した後、ステップ２０２１０へ進む。ステップ２０２１０以降のステップは、上記ステップ２０２１０以降のステップと等しい動作を行い、過去のある電子署名処理時刻における電子証明書の有効性の検証のステップを終了する。
【００７９】
ステップ２０２０５において、過去のある電子署名処理時刻よりも時系列上で後に電子署名処理が行われていなかった場合は、ステップ２０２１３へ進む。ステップ２０２１３では、ＣＲＬ取得プログラム１００３を用いて、電子証明書に記載されるＣＲＬ配布場所５０７から最新のＣＲＬを取得する。ステップ２０２１３で最新のＣＲＬを取得した後、ステップ２０２１０へ進む。ステップ２０２１０以降のステップは、上記ステップ２０２１０以降のステップと等しい動作を行い、過去のある電子署名処理時刻における電子証明書の有効性の検証のステップを終了する。
【００８０】
ここで、電子証明書管理装置４０１において保持される電子証明書がある一定期間後（猶予期間）に有効期限が過ぎてしまう場合に出力装置部４０５に猶予期間後に有効期限が切れることを表示する動作について、図１０に沿って説明する。
【００８１】
図１０は本発明に係る電子証明書管理装置を適用した電子証明書管理装置において、電子署名処理動作を行った後に、猶予期間後に有効期限が切れてしまうような電子証明書が存在した場合にそのことを検出し、出力装置部４０５を利用して表示する動作（以降、有効期限期間検出動作と称する）を行うフローチャートである。電子証明書管理装置４０１は前述した電子署名処理時のステップ２０１１２のステップが終了した後に、有効期限期間検出動作のステップを開始する。
【００８２】
有効期限期間検出動作のステップが開始すると、ステップ２０３０１に進む。ステップ２０３０１では、状態管理テーブル管理プログラム１００８を用いて、状態管理テーブル保持部４１４に状態管理テーブルが存在するかどうかを判断する。
【００８３】
ステップ２０３０１において、状態管理テーブルが存在しないと判断された場合は、有効期限期間検出動作のステップを終了する。
【００８４】
ステップ２０３０１において、状態管理テーブルが存在すると判断された場合は、ステップ２０３０２へ進む。ステップ２０３０２では、状態管理テーブル管理プログラム１００８を用いて、状態管理テーブル内の電子証明書識別情報記憶領域に電子証明書識別情報の記載があるかどうかを判断する。例えば、図７のように状態管理テーブルに電子証明書識別情報としてＡＢ−ＣＤ−ＥＦ・・・００−１１の項目７０２と２２−３３−４４・・・ＡＡ−ＣＣの項目７０３が存在した場合は電子証明書識別情報の記載があると判断する。
【００８５】
ステップ２０３０２において、電子証明書識別情報の記載がないと判断された場合は、有効期限期間検出動作のステップを終了する。
【００８６】
ステップ２０３０２において、電子証明書識別情報の記載があると判断された場合は、ステップ２０３０３へ進む。ステップ２０３０３では、状態管理テーブル管理プログラム１００３を用いて、状態管理テーブルの電子証明書識別情報に対応している猶予期間情報が存在するかどうかを判断する。例えば、図７に示す状態管理テーブルにおいて、電子証明書識別情報がＡＢ−ＣＤ−ＥＦ・・・００−１１である項目７０２に対応する猶予期間情報７１１は６２であり、猶予期間情報が存在すると判断する。仮に電子証明書識別情報が２２−３３−４４・・・ＡＡ−ＣＣである項目７０３であった場合は、対応する猶予期間情報７１５は２８となる。
【００８７】
ステップ２０３０３において、電子証明書識別情報に対応する猶予期間情報が存在しないと判断された場合は、ステップ２０３０４へ進む。ステップ２０３０４では、電子証明書識別情報に対応する最後の電子署名処理時刻におけるＣＲＬ保存名から、ＣＲＬ取得プログラム１００３を用いてＣＲＬ保持部４１３に保持されるＣＲＬを取得する。例えば、図７に示すように状態管理テーブルが記載されていた場合に、電子証明書識別情報ＡＢ−ＣＤ−ＥＦ・・・００−１１における電子署名処理時刻（７０４〜７０６）は３つあるが、この場合最後の電子署名処理時刻とは一番下に記載される電子署名処理時刻７０６が最後に行われた電子署名処理時刻であり、最後に行われた電子署名処理時刻７０６におけるＣＲＬ保存名７０９からＣＲＬ保持部４１３に保持されるＣＲＬを取得する。
【００８８】
ステップ２０３０４において、記憶装置部４１３からＣＲＬを取得した後、ステップ２０３０５へ進む。ステップ２０３０５では、電子証明書有効期限期間検出プログラム１０１１を用いて、取得したＣＲＬに記される項目の中で、ＣＲＬの次回更新時刻６０４の時刻情報とＣＲＬの有効期間開始時刻６０３の時刻情報の差をとり、ＣＲＬ発行間隔を計算する。そして、計算されたＣＲＬ発行間隔に対して２倍の期間を猶予期間として計算する。例えば、図７の状態管理テーブルに記載されるＣＲＬ保存名７１１で示されるＡＣ−９６−・・・−３Ｄ＿２００Ｘ＿０８＿２９．ｃｒｌに記されるＣＲＬの有効期間開始時刻６０３が２００Ｘ／８／１であり、ＣＲＬの次回更新時刻６０４が２００Ｘ／９／１であったならば、時刻情報の差をとり３１日がＣＲＬ発行間隔となる。そしてＣＲＬ発行間隔が３１日なので、猶予期間はその期間を２倍して６２日が猶予期間情報となる。ステップ２０３０５において猶予期間の計算をした後、ステップ２０３０６へ進む。
【００８９】
ステップ２０３０６では、計算された猶予期間の時刻情報を状態管理テーブル管理プログラム１００８を用いて状態管理テーブルの猶予期間情報記憶領域に記憶する。例えば、図７において、電子証明書識別情報がＡＢ−ＣＤ−ＥＦ・・・００−１１で示される電子証明書において、猶予期間情報が記憶されていなかったと仮定すると猶予期間情報記憶領域７１０の位置に猶予期間という文字列を記憶し、猶予期間情報記憶領域７１１の位置に計算された猶予期間６２を記憶する。ステップ２０３０６において猶予期間情報を状態管理テーブルに記憶した後、ステップ２０３０７へ進む。
【００９０】
ステップ２０３０７では、計算された猶予期間情報もしくは状態管理テーブルから取得した猶予期間情報を用いて、電子証明書有効期限期間検出プログラム１０１１を用いて電子証明書が猶予期間後に有効期限が過ぎてしまうかどうかを判断する。具体的には、猶予期間と時刻情報部４０６の時刻情報を加算した結果が、電子証明書に記載される証明書の有効期間終了時刻５０３の時刻情報を過ぎていれば猶予期間後に電子証明書の有効期限が過ぎてしまうと判断し、そうでない場合は有効期限が過ぎないと判断する。例えば、図７の状態管理テーブルにおいて電子証明書識別情報７０２がＡＢ−ＣＤ−ＥＦ・・・００−１１で表される電子証明書で２００Ｘ／８／４に電子署名処理を行った場合に、電子証明書の有効期間終了時刻５０３が２００Ｘ／９／１であった場合は、電子署名処理時刻２００Ｘ／８／４に対して猶予期間の６２日を加算して２００Ｘ／１０／５となるので、電子証明書の有効期間終了時刻５０３より過ぎてしまっているので、電子証明書の有効期限が過ぎてしまうと判断する。仮に、同様の条件で、電子証明書の有効期間終了時刻５０３のみが２００Ｘ／１２／３１であった場合は、有効期間終了時刻５０３を過ぎないので、電子証明書の有効期限が過ぎないと判断する。
【００９１】
ステップ２０３０７において、猶予期間後に電子証明書の有効期限が過ぎてしまうと判断された場合は、ステップ２０３０８へ進む。ステップ２０３０８では、入出力装置制御プログラム１０１０を用いて、出力装置部４０５に猶予期間後に電子証明書の有効期限が過ぎてしまうことを表示する。猶予期間後に有効期限が過ぎてしまうことを表示したらステップ２０３０９へ進む。
【００９２】
ステップ２０３０９では、状態管理テーブル管理プログラム１００８を用いて、状態管理テーブルに記載される電子証明書識別情報の中で、有効期限期間検出動作を行っていないものが存在するかどうかを判断する。具体的には、有効期限期間検出動作を行った電子証明書識別情報の次の電子証明書識別情報が存在するかどうかを判断する。例えば、図７に示す状態管理テーブルのように記載されていると仮定すると、ＡＢ−ＣＤ−ＥＦ・・・００−１１と記載される電子証明書識別情報７０２の有効期限検出動作をこれまでのステップで行っていれば、次の電子証明書識別情報として２２−３３−４４・・・ＡＡ−ＣＣと記載される電子証明書識別情報７０３があるかどうかを判断する。この場合は電子証明書識別情報７０３があるので、次の電子証明書識別情報が存在すると判断する。仮にこれまでのステップが２２−３３−４４・・・ＡＡ−ＣＣと記載される電子証明書識別情報７０３であった場合は、次の電子証明書識別情報７０３は存在しないので、次の電子証明書識別情報は存在しないと判断する。
【００９３】
ステップ２０３０９において、次の電子証明書識別情報が存在しないと判断された場合は、有効期限期間検出動作のステップを終了する。
【００９４】
ステップ２０３０９において、次の電子証明書識別情報が存在すると判断された場合は、ステップ２０３１０を経由して、ステップ２０３０３へ進む。ステップ２０３１０は有効期限期間検出動作における繰り返し処理が開始するステップ点であり、状態管理テーブルに記載される電子証明書識別情報の数だけ繰り返し経由される。ステップ２０３０３以降は、上記ステップ２０３０３以降のステップと等しい動作を行う。
【００９５】
ステップ２０３０７において、猶予期間後に電子証明書の有効期限が過ぎないと判断された場合は、ステップ２０３０９へ進む。ステップ２０３０９以降は、上記ステップ２０３０９以降のステップと等しい動作を行う。
【００９６】
ステップ２０３０３において、電子証明書識別情報に対応する猶予期間情報が存在すると判断された場合は、ステップ２０３１１へ進む。ステップ０３１１では、状態管理テーブルに記載される電子証明書識別情報に対応した猶予期間を取得する。例えば、図７に示すような状態管理テーブルであったと仮定すると、ＡＶ−ＣＤ−ＥＦ・・・００−１１で示される電子証明書識別情報７０２であった場合は、猶予期間情報７１１として６２を取得する。２２−３３−４４・・・ＡＡ−ＣＣで示される電子証明書識別情報７０３であった場合は、猶予期間情報７１５として２４を取得する。ステップ２０３１１において、猶予期間情報を取得した後、ステップ２０３０７へ進む。ステップ２０３０７以降は、上記ステップ２０３０７以降のステップと等しい動作を行う。
【００９７】
以上のように、本実施例１によれば、上記の構成により電子署名処理毎に電子証明書管理装置内に電子証明書に対応する最新のＣＲＬが保存される。もし電子証明書管理装置内にすでに最新のＣＲＬが存在すればＣＲＬは取得されない。また、ＣＲＬを保存した際のＣＲＬ保存名を電子証明書毎及びＣＲＬを保存した日時毎に状態管理テーブルに記憶する。そのため、電子証明書管理装置は電子署名処理毎の電子証明書に対応した最新のＣＲＬを容易に検索可能な状態で保持することができる。
【００９８】
また、従来手法のように電子署名処理毎に第一のＣＲＬ及び第二のＣＲＬを取得するのではなく、電子署名処理毎にその電子署名処理時刻における最新のＣＲＬを取得もしくは最新のＣＲＬと同等のＣＲＬが何であるかを状態管理テーブルにより把握して、電子証明書管理装置内にＣＲＬを保持しておく事により、後の時刻においてある電子署名処理時における電子証明書の有効性検証を行うためのＣＲＬの取得回数を軽減する事ができる。取得されるＣＲＬの回数が軽減されるため、ＣＲＬ保持部に必要とされる記憶領域量は軽減される。さらには、電子署名処理毎にのみＣＲＬを取得するので、装置を常時起動している必要はなく電力消費量の軽減にもつながる。さらには、実施例１では、従来手法のようにＣＲＬが新しく更新される事を検出し装置が自発的にもしくは人的に装置を起動させる必要はないので、自発的に装置を起動させるもしくは人的に装置を起動させるためのコストが必要ではなくなる。
【００９９】
なお、実施例１では電子証明書に関する電子処理として電子署名処理を例にあげるが、電子証明書の情報を用いた電子処理ならば電子証明書内に記憶される情報の参照や、電子証明書内に記憶される項目を用いた電子処理、電子証明書を用いた暗号化処理でもよい。また、実施例１では電子証明書の識別情報の作成方法として電子証明書からハッシュを計算して電子証明書の識別情報として用いているが、電子証明書を特定する事ができれば、電子証明書内に記憶される項目を用いてもよいし、電子証明書管理装置内で生成されるただ一度のみ生成される乱数値でもよいし、電子証明書管理装置外で生成されるただ一度のみ生成される電子データの値でもよいし、電子証明書管理装置外で生成されるただ一度のみ生成される電子データから電子証明書管理装置内で演算を行って修正を加えた電子データでもよい。
【０１００】
また、実施例１ではＣＲＬ識別情報の作成方法としてＣＲＬからハッシュを計算し、電子処理を行った日付とハッシュから作成した文字列を作成してＣＲＬを保持する際のＣＲＬ保存名とし、ＣＲＬ保存名をＣＲＬ識別情報として用いているが、ＣＲＬを特定する事ができればＣＲＬの識別情報はＣＲＬ内に記憶される項目でもよいし、電子証明書管理装置内で生成されるただ一度のみ生成される乱数値でもよいし、電子証明書管理装置外で生成されるただ一度のみ生成される電子データの値でもよいし、電子証明書管理装置外で生成されるただ一度のみ生成される電子データから電子証明書管理装置内で演算を行って修正を加えた電子データでもよい。
【０１０１】
また、電子証明書が失効しているかどうかを検証するために、実施例１ではＣＡから最新のＣＲＬを取得しているが、そのＣＲＬが入手可能な最新のＣＲＬであれば、ＣＲＬの取得先は電子証明書管理装置に接続しているネットワークに接続されるデータベースでもよいし、電子証明書管理装置の入力装置部から直接ＣＲＬを入力してもよい。また、実施例１では、電子証明書管理装置内の記憶装置部に取得したＣＲＬを記憶する領域、電子証明書を記憶する領域、状態管理テーブルを記憶する領域を有しているが、これらを記憶する領域は電子証明書管理装置の外、例えばネットワークを通じて外部のデータベースに記憶されてもよいし、電子証明書管理装置内の入力装置部によってそれら情報を入力する事が可能な外部記憶媒体でもよい。
【０１０２】
また、実施例１では、時刻を時系列上において比較する際に、電子証明書管理装置内の時刻情報部にて保持される時刻情報を用いて比較しているが、電子証明書管理装置外において管理される時刻、例えばネットワークを通じて時刻配信局からの時刻情報を用いてもよいし、電子証明書管理装置内の入力装置部によってそれら情報を入力する事が可能な外部記憶媒体でもよいし、電子証明書管理装置内の記憶装置部に記憶される電子データに対して電子処理を行って導き出される時刻でもよい。
【産業上の利用可能性】
【０１０３】
本発明にかかる電子証明書管理装置は、電子証明書を用いて電子書名や暗号化などの電子処理を複数回行っていた場合に、ある電子処理時における電子証明書の有効性を電子処理時刻以後に検証可能とするものであり、電子証明書管理装置を常時起動している必要はないため電力消費量が軽減されており、装置に必要とされる記憶領域の資源も軽減され、従来に比べてＣＲＬの取得回数が軽減されるためネットワークへのアクセスが軽減されるという特徴をもっている。そのため、本発明は低消費電力が要求され、記憶領域の資源が限られ、ネットワークへのアクセスが少ない事が望ましい機器に有用であるといえる。たとえば、電子証明書を利用する携帯電話や組み込み機器などへの利用が可能である。
【図面の簡単な説明】
【０１０４】
【図１】電子処理時の電子証明書とＣＲＬの関係を説明する図
【図２】従来手法における電子証明書検証のためのＣＲＬ取得方法を説明する図
【図３】本発明における電子証明書検証のためのＣＲＬ取得方法を説明する図
【図４】実施例１の全体構成を説明する図
【図５】ＲＦＣ３２８０に基づく電子証明書の構成を説明する図
【図６】ＲＦＣ３２８０に基づくＣＲＬの構成を説明する図
【図７】状態管理テーブルの構成を説明する図
【図８】電子署名処理のフローチャート
【図９】電子証明書の有効性検証処理のフローチャート
【図１０】電子証明書有効期限期間検出処理のフローチャート
【符号の説明】
【０１０５】
４０１    電子証明書管理装置
４０２    ネットワーク
４０３    認証局（ＣＡ）
４０４    入力装置部
４０５    出力装置部
４０６    時刻情報部
４０７    通信部
４０８    プログラム制御部
４０９    メモリ部
４１０    記憶装置部
４１１    演算装置部
４１２    電子証明書保持部
４１３    ＣＲＬ保持部
４１４    状態管理テーブル保持部
５０１    電子証明書
５０１    電子証明書の有効期間開始時刻
５０１    電子証明書の有効期間終了時刻
５０１    電子証明書の発行者
５０１    電子証明書の識別番号
５０１    電子証明書の発行先
５０１    電子証明書ＣＲＬ配布場所
５０１    電子証明書の公開鍵
５０１    電子証明書の発行者による署名
５０１    電子証明書の秘密鍵
６０１    ＣＲＬ
６０１    ＣＲＬの発行者
６０１    ＣＲＬの有効期間開始時刻
６０１    ＣＲＬの次回更新時刻
６０１    ＣＲＬに記される失効した電子証明書識別情報１
６０１    ＣＲＬに記される失効した電子証明書識別情報２
６０１    ＣＲＬに記される失効した電子証明書識別情報３
７０１    状態管理テーブル
７０２    電子証明書識別情報記憶領域１
７０３    電子証明書識別情報記憶領域２
７０４    電子処理時刻記憶領域１
７０５    電子処理時刻記憶領域２
７０６    電子処理時刻記憶領域３
７０７    ＣＲＬ識別情報記憶領域１
７０８    ＣＲＬ識別情報記憶領域２
７０９    ＣＲＬ識別情報記憶領域３
７１０    猶予期間情報記憶領域１
７１１    猶予期間情報記憶領域２
７１２    電子処理時刻記憶領域４
７１３    ＣＲＬ識別情報記憶領域４
７１４    猶予期間情報記憶領域３
７１５    猶予期間情報記憶領域４
【図１】
2008067264.tif 000003
【図２】
2008067264.tif 000004
【図３】
2008067264.tif 000005
【図４】
2008067264.tif 000006
【図５】
2008067264.tif 000007
【図６】
2008067264.tif 000008
【図７】
2008067264.tif 000009
【図８】
2008067264.tif 000010
【図９】
2008067264.tif 000011
【図１０】
2008067264.tif 000012