(57)【特許請求の範囲】
【請求項１】
利用者装置からの公開鍵証明書検証申請に対して、認証局装置が利用者装置に報告を行なう際の公開鍵証明書検証方法であって、
保持している各公開鍵証明書に対応して、証明書識別情報と、発行日時、無効化された日時と理由、公開鍵証明書が発行されてから該公開鍵証明書が無効化または期限切れとなるまでの全ての保留された日時と理由、公開鍵証明書が発行されてから該公開鍵証明書が無効化または期限切れとなるまでの全ての保留解除された日時と理由情報を含む証明書状態履歴を証明書管理データベースに保持しており、
利用者装置から、公開鍵証明書が有効であったかどうかを知りたい日時を指定した公開鍵証明書検証申請を受付けるステップと、
認証局装置が、検証申請された公開鍵証明書の証明書識別情報をキーとして、検証申請された公開鍵証明書の証明書管理データベースを検索し、証明書管理データベース上の検証申請された公開鍵証明書の証明書状態履歴を参照し、指定された日時と、前記証明書状態履歴上の発行日時、無効化された日時または保留日時およびその保留解除日時とを比較することによって、検証申請された公開鍵証明書が上記指定された日時に発行されていたかどうか、以前に無効化されているかどうか、保留状態であるかどうかを調べ、上記指定された日時に公開鍵証明書が有効であったかどうかを検証するステップと、
上記の比較の結果、発行日時が指定された日時以前である場合で、かつ、比較する無効化された日時データが存在しないか、無効化された日時が指定された日時後である場合で、かつ、比較する保留日時が存在しないか、最初の保留日時が指定された日時後であるか、保留日時が指定された日時以前であっても、その保留解除日時が指定された日時以前である場合には、指定された日時に検証申請された公開鍵証明書は有効であると、利用者装置に報告し、発行日時が指定された日時後である場合か、無効化された日時が指定された日時以前である場合か、保留日時が指定された日時以前であり、かつ、その保留解除日時が存在しない場合か、ある保留日時が指定された日時以前であり、かつ、その保留解除日時が指定された日時後である場合には、指定された日時に検証申請された公開鍵証明書は無効であることと、その理由とを、利用者装置に報告するステップと、
を有することを特徴とする公開鍵証明書検証方法。
【請求項２】
保持している各公開鍵証明書に対応して、証明書識別情報と、発行日時、無効化された日時と理由、公開鍵証明書が発行されてから該公開鍵証明書が無効化または期限切れとなるまでの全ての保留された日時と理由、公開鍵証明書が発行されてから該公開鍵証明書が無効化または期限切れとなるまでの全ての保留解除された日時と理由情報を含む証明書状態履歴を証明書管理データベースに保持する処理と、
利用者装置から、公開鍵証明書が有効であったかどうかを知りたい日時を指定した公開鍵証明書検証申請を受付ける処理と、
認証局装置が、検証申請された公開鍵証明書の証明書識別情報をキーとして、検証申請された公開鍵証明書の証明書管理データベースを検索し、証明書管理データベース上の証明書状態履歴を参照し、指定された日時と、前記証明書状態履歴上の発行日時、無効化された日時または保留日時およびその保留解除日時とを比較することによって、検証申請された公開鍵証明書が上記指定された日時に発行されていたかどうか、以前に無効化されているかどうか、保留状態であるかどうかを調べることにより、上記指定された日時に公開鍵証明書が有効であったかどうかを検証する処理と、
上記の比較の結果、発行日時が指定された日時以前である場合で、かつ、比較する無効化された日時データが存在しないか、無効化された日時が指定された日時後である場合で、かつ、比較する保留日時が存在しないか、最初の保留日時が指定された日時後であるか、保留日時が指定された日時以前であっても、その保留解除日時が指定された日時以前である場合には、指定された日時に検証申請された公開鍵証明書は有効であると、利用者装置に報告し、発行日時が指定された日時後である場合か、無効化された日時が指定された日時以前である場合か、保留日時が指定された日時以前であり、かつ、その保留解除日時が存在しない場合か、ある保留日時が指定された日時以前であり、かつ、その保留解除日時が指定された日時後である場合には、指定された日時に検証申請された公開鍵証明書は無効であることと、その理由とを、利用者装置に報告する処理と、
を認証局装置のコンピュータに実行させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、公開鍵暗号を利用するシステムにおいて、公開鍵と公開鍵の持ち主を証明する公開鍵証明書を発行し、また、利用者の申請により公開鍵証明書の有効性を検証する認証局（Certification Authority：ＣＡ）における公開鍵証明書検証方法及びプログラム記録媒体に関するものである。
【０００２】
【従来の技術】
従来、（１）通常の認証局が持つ公開鍵証明書検証機能としては、利用者からの申請された公開鍵証明書、あるいは、その公開鍵証明書の識別情報を受取り、その公開鍵証明書が、現在有効であるかどうかを検証し、結果を利用者に報告するというものであった。公開鍵証明書の有効期限がきれていたり、対応秘密鍵の紛失などのその他の理由で無効化された場合、公開鍵証明書は無効となる。通常の認証局では、無効化された公開鍵証明書を保持しない。
【０００３】
また、（２）鍵の使用者が長期不在などにより、その間一時的に公開鍵証明書を無効化する保留、鍵の使用を再開するなどにより保留状態の公開鍵証明書を有効状態に戻す保留解除という機能を持つ認証局もある。これらの保留・保留解除機能を持つ認証局では、通常、保留という状態を記憶しておくだけであり、保留や保留解除の履歴を残していない。
このため、公開鍵証明書が現時点で無効であった場合に、利用者は、いつ無効になったかを知ることができない、利用者は、過去のある時点において、公開鍵証明書は有効であったかどうか知ることができない、という問題があった。
【０００４】
例えば、過去になされたデジタル署名に対する検証においては、その署名がなされた時点で、対応する公開鍵を含む公開鍵証明書が有効であったか否かを知る必要がある。しかし、従来の認証局では、現時点での有効性しか検証できなかった。
【０００５】
【発明が解決しようとする課題】
この発明はこのような状況に鑑み、利用者からの申請に対して、（１）公開鍵証明書が現時点で無効であった場合に、いつ無効になったかを利用者に報告することができ、また、過去のある時点において、公開鍵証明書は有効であったかどうかを利用者に報告することができる、また、（２）保留・保留解除機能をもつ認証局においても、ある時点において、公開鍵証明書の有効性を検証できるように公開鍵証明書状態履歴を保持しておき、これを参照することにより、ある時点における公開鍵証明書は有効であったかどうかを利用者に報告することができる、公開鍵証明書検証方法及び認証局装置のコンピュータに実行させるプログラムを記録した記録媒体を提供することを目的とするものである。
【０００６】
【課題を解決するための手段】
請求項１記載の発明によれば、利用者装置からの公開鍵証明書検証申請に対して、認証局装置が利用者装置に報告を行なう際の公開鍵証明書検証方法であって、保持している各公開鍵証明書に対応して、証明書識別情報と、発行日時、無効化された日時と理由、公開鍵証明書が発行されてから該公開鍵証明書が無効化または期限切れとなるまでの全ての保留された日時と理由、公開鍵証明書が発行されてから該公開鍵証明書が無効化または期限切れとなるまでの全ての保留解除された日時と理由情報を含む証明書状態履歴を証明書管理データベースに保持しており、利用者装置から、公開鍵証明書が有効であったかどうかを知りたい日時を指定した公開鍵証明書検証申請を受付ける。その後、認証局装置が、検証申請された公開鍵証明書の証明書識別情報をキーとして、検証申請された公開鍵証明書の証明書管理データベースを検索し、証明書管理データベース上の検証申請された公開鍵証明書の証明書状態履歴を参照し、指定された日時と、前記証明書状態履歴上の発行日時、無効化された日時または保留日時およびその保留解除日時とを比較することによって、検証申請された公開鍵証明書が上記指定された日時に発行されていたかどうか、以前に無効化されているかどうか、保留状態であるかどうかを調べ、上記指定された日時に公開鍵証明書が有効であったかどうかを検証する。上記の比較の結果、発行日時が指定された日時以前である場合で、かつ、比較する無効化された日時データが存在しないか、無効化された日時が指定された日時後である場合で、かつ、比較する保留日時が存在しないか、最初の保留日時が指定された日時後であるか、保留日時が指定された日時以前であっても、その保留解除日時が指定された日時以前である場合には、指定された日時に検証申請された公開鍵証明書は有効であると、利用者装置に報告し、発行日時が指定された日時後である場合か、無効化された日時が指定された日時以前である場合か、保留日時が指定された日時以前であり、かつ、その保留解除日時が存在しない場合か、ある保留日時が指定された日時以前であり、かつ、その保留解除日時が指定された日時後である場合には、指定された日時に検証申請された公開鍵証明書は無効であることと、その理由とを、利用者装置に報告する。
【００１１】
【発明の実施の形態】
以下、図面を用いてこの発明の実施の形態について説明する。
（実施例１）
図１は、この発明の実施例１の公開鍵証明書検証方法を行う認証局の構成である。
認証局は、利用者装置からの公開鍵証明書検証申請を受けて公開鍵証明書検証を行なう公開鍵証明書検証機能１１を有する。この機能に関しては、図４にて説明する。
【００１２】
認証局はその内部に証明書データベース１２を有する。証明書データベース１２は、有効な公開鍵証明書だけでなく、無効な公開鍵証明書も保持している。この例では、識別情報１，２，３の３つの公開鍵証明書１３を保持している。認証局は、また、証明書管理データベース１４を有する。このデータベース１４は、証明書管理情報１５を保持している。この証明書管理情報１５は、証明書データベース１２に存在するすべての公開鍵証明書１３の数だけ存在する。この例では、証明書データベース１２内の公開鍵証明書１３に対応する３つの証明書管理情報１５が存在する。
【００１３】
証明書管理情報１５は、証明書識別情報１６、公開鍵証明書が有効か無効かを表す有効無効識別子１７、無効化理由１８、無効化日時１９から構成される。
この例では、識別情報１の公開鍵証明書１３は、現在有効であり、識別情報２の公開鍵証明書１３は、現在無効で、有効期限切れという理由により、１９９９年３月１日０時０分に無効化されたものであり、識別情報３の公開鍵証明書１３は、現在無効で、秘密鍵盗難という理由により、１９９９年２月２２日１２時０分に無効化されたものであることを示す。
【００１４】
この例では、公開鍵証明書１３が有効の場合、無効化理由１８、無効化日時１９は空欄としている。
なお、認証局は、無効化の申請がなされたときには、証明書管理データベース１４の有効無効識別子１７に無効をあらわす値を設定する。また、無効化日時、無効化理由を設定する。
認証局は、公開鍵証明書１３が無効化されてから、あるいは、公開鍵証明書１３の有効期限が切れてから、認証局運用者が定めた期間が経過すると、証明書データベース１２からその公開鍵証明書１３を削除し、証明書管理データベース１４からその公開鍵証明書１３に関する証明書管理情報１５を削除する。
【００１５】
図２は、この発明の公開鍵証明書検証方法を行う利用者装置２１の構成である。利用者装置２１は、公開鍵証明書検証申請機能２２を用いて、検証したい公開鍵証明書２３に対して、認証局に公開鍵証明書検証申請を行う。この例は、識別情報１の公開鍵証明書２３に対して検証申請を行うものである。公開鍵証明書検証申請機能２２は、図３にて説明する。
図３は利用者装置２１における公開鍵証明書検証申請機能２２の作用を示すフローチャートである。利用者が公開鍵証明書の現時点での有効性を検証したい場合、公開鍵証明書検証申請機能２２は、認証局に対して、検証したい公開鍵証明書、もしくは、証明書識別情報を付けて、公開鍵証明書検証申請を行う（Ｓ１）。
【００１６】
利用者が証明書の過去のある時点での有効性を検証したい場合、公開鍵証明書検証申請機能２１は、認証局に対して、検証したい公開鍵証明書、もしくは、証明書識別情報１２、有効性を検証したい日時を付けて、公開鍵証明書検証申請を行う（Ｓ２）。この日時は現時点であってもよい。
申請後は、認証局から報告がくるのを待つ。例としては、図２の場合、現時点での有効性を検証したいとすると、公開鍵証明書検証申請機能２２は、認証局に対して、証明書識別情報１を付けて、日時指定なしで申請を行う。
【００１７】
図４は認証局における公開鍵証明書検証機能１１の作用を表すフローチャートである。
公開鍵証明書検証機能１１は、利用者装置２１からの申請を待ち（Ｓ１）、申請がきたならば、証明書識別情報をキーにして、証明書管理データベース１４を検索し（Ｓ２）、申請が日時指定を含んでいるか判別し（Ｓ３）、日時指定を含んでいるならば、指定された日時に公開鍵証明書が有効であったかどうかを検証する（Ｓ４）。有効無効識別子が無効であり、かつ、無効化日時が指定された日時より前ならば（Ｓ５）、指定された日時に公開鍵証明書は、無効である。
【００１８】
有効無効識別子が有効であるか（Ｓ４）、または、無効化日時が指定された日時より後ならば（Ｓ５）、公開鍵証明書は、指定された日時に有効である。
日時指定を含まない場合は（Ｓ３）、現時点での公開鍵証明書の有効性を検証する（Ｓ６）。
有効無効識別子が有効を表しているなら、公開鍵証明書は有効である。有効無効識別子が無効を表しているなら、公開鍵証明書は無効である。検証した結果、有効であった場合、利用者装置２に有効であると報告する（Ｓ７）。
【００１９】
検証した結果、無効であった場合、無効であること、および証明書管理データベース１４から取り出した無効化された理由１８、無効化された日時１９を、利用者装置２１に報告する（Ｓ８）。
例としては、図１、図２の場合、利用者装置２１からの検証申請には、証明書識別情報１が付してあり、日時指定がなしとすると公開鍵証明書検証機能１１は証明書識別情報１をキーにして、証明書管理データベース１４を検索する。証明書識別情報１の公開鍵証明書は、有効無効識別子１７が１（有効）であるため、公開鍵証明書は現時点で有効である。このため、利用者装置２１に対して有効であると報告する。
【００２０】
なお、この実施例では、認証局は公開鍵証明書が無効であった場合に、無効であること、および、無効化された理由、無効化された日時を利用者に報告したが、無効であることだけを報告することも可能である。また無効化された日時又は無効化された理由のみを報告してもよい。ただし検証申請に日付指定を含まない場合で、公開鍵証明書が無効の場合は無効化された日時を報告する。
（実施例２）
図５は、本発明の実施例２の公開鍵証明書検証方法を行なう認証局の構成である。
【００２１】
認証局は、利用者からの公開鍵証明書検証申請を受けて公開鍵証明書検証を行なう公開鍵証明書検証機能１１を有する。この機能に関しては、図７にて説明する。
認証局はその内部に証明書データベース１２を有する。証明書データベース１２は、有効な公開鍵証明書だけではなく、無効な公開鍵証明書も保持している。この例では、識別情報１、２の２つの公開鍵証明書１３を保持している。
【００２２】
認証局は、また、証明書管理データベース１４を有する。このデータベースは、証明書管理情報１５を保持している。この証明書管理情報は、証明書データベースに存在するすべての公開鍵証明書の数だけ存在する。この例では、証明書データベース内の公開鍵証明書に対応する２つの証明書管理情報１５が存在する。
証明書管理情報１５は、証明書識別情報、発行日時・無効化された日時と理由・保留された日時と理由・保留解除された日時と理由情報が記載された公開鍵証明書状態履歴から構成される。
【００２３】
この例では、識別情報１の公開鍵証明書は１９９９年１月１０日１２時０分に発行され、１９９９年２月１日１４時０分に「長期不在」という理由で保留され、１９９９年２月１０日１５時３０分に「使用再開」という理由で保留解除され、２０００年１月１０日１２時０分に「期限切れ」という理由で無効化されたことを表わしている。
識別情報２の公開鍵証明書は、２０００年１月１０日１２時０分に発行され、それ以降は、無効化・保留・保留解除されていないことを表わしている。
【００２４】
なお、認証局は、証明書発行・無効化・保留・保留解除の際には、証明書データベースの公開鍵証明書状態履歴２０に、現在時刻、発行・無効化・保留・保留解除、および、その理由を記録する。
認証局は、公開鍵証明書が無効化されてから、あるいは、公開鍵証明書の有効期限が切れてから、認証局運用者が定めた期間が経過すると、証明書データベースから該公開鍵証明書を削除し、証明書管理データベースから該公開鍵証明書に関する証明書管理情報を削除する。
【００２５】
実施例２における利用者装置は、実施例１の利用者装置と同様な構成である。
公開鍵証明書検証申請機能２２は、図６にて説明する。
図６は、利用者装置２１における公開鍵証明書検証申請機能２２の作用を示すフローチャートである。
公開鍵証明書検証申請機能は、認証局に対して、検証したい公開鍵証明書２３、もしくは、証明書識別情報、有効性を検証したい日時を付けて、公開鍵証明書検証申請を行なう。
【００２６】
検証したい日時は、過去の日時でもいいし、申請時の現在日時でもかまわない。申請後は認証局から報告がくるのを待つ。図７は、認証局における公開鍵証明書検証機能１１の作用を表わすフローチャートである。公開鍵証明書検証機能１１は、利用者からの申請を待ち、申請がきたならば（Ｓ１）、証明書識別情報を
キーにして、証明書管理データベース１４を検索し（Ｓ２）、証明書管理データベース上の公開鍵証明書状態履歴２０を参照し、利用者申請の中で指定された日時に、該公開鍵証明書が発行されていたかどうか、指定された日時以前に無効化されているかどうか、指定された日時に保留状態であるかどうかを調べることにより、指定された日時に公開鍵証明書が有効であったかどうかを検証し（Ｓ１０）、指定された日時以前に発行されていて、かつ、指定された日時以前に無効化されてなく、かつ、指定された日時に保留状態でない場合には、指定された日時に公開鍵証明書は有効であると（Ｓ１１：YES）、利用者装置に報告し（Ｓ１２）、それ以外の場合、すなわち、検証申請された公開鍵証明書が、指定された日時には発行されていない、または、指定された日時以前に無効化されている、または、指定された日時に保留状態である場合には、指定された日時に公開鍵証明書は無効であることを（Ｓ１１：NO）、利用者装置に報告する（Ｓ１３）。
【００２７】
図８は、利用者装置から認証局への公開鍵証明書検証申請の例１である。
証明書識別情報１の公開鍵証明書が２０００年１月１日０時０分に有効であったかどうか知りたいという申請であることを表わしている。
図５の認証局に対して図８の公開鍵証明書検証申請がなされた場合、認証局は、証明書識別情報１をキーとして証明書管理データベースを検索し、該証明書管理情報の公開鍵証明書状態履歴を参照すると、公開鍵証明書は、申請で指定された２０００年１月１日０時０分以前に発行されており、２０００年１月１日０時０分は、保留状態でないので、公開鍵証明書は有効であることを利用者装置に通知する。
【００２８】
図９は、利用者装置から認証局への公開鍵証明書検証申請の例２である。
証明書識別情報１の公開鍵証明書が１９９９年２月５日０時０分に有効であったかどうか知りたいという申請であることを表わしている。
図５の認証局に対して図９の公開鍵証明書検証申請がなされた場合、認証局は、証明書識別情報１をキーとして証明書管理データベース１４を検索し、該証明書管理情報の公開鍵証明書状態履歴２０を参照すると、公開鍵証明書は、申請で指定された１９９９年２月５日０時０分には、保留状態であるので、公開鍵証明書は無効であることを利用者装置に通知する。
【００２９】
図１０は、利用者装置から認証局への公開鍵証明書検証申請の例３である。
証明書識別情報１の公開鍵証明書が２０００年１月１１日０時０分に有効であったかどうかを知りたいという申請であることを表わしている。
図５の認証局に対して図１０の公開鍵証明書検証申請がなされた場合、認証局は、証明書識別情報１をキーとして証明書管理データベース１４を検索し、該証明書管理情報の公開鍵証明書状態履歴２０を参照すると、公開鍵証明書は、申請で指定された２０００年１月１１日０時０分以前に無効化されているので、公開鍵証明書は無効であることを利用者装置に通知する。
【００３０】
なお、本実施例では、認証局は、公開鍵証明書が無効であった場合に、無効であることだけを報告したが未発行なのか・保留中なのかの区別、その理由、および、無効の場合には無効化された日時を利用者に報告することも可能である。
また、認証局の公開鍵証明書検証機能１１は、記録媒体に記録されたプログラムをコンピュータに読取り、解読実行させて機能させてもよい。
【００３１】
【発明の効果】
以上説明したように、この発明によれば、利用者は、公開鍵証明書が現時点で無効であった場合でも、いつ無効になったか、無効化された理由を知ることができる。また、利用者は、過去のある時点において、公開鍵証明書は有効であったかどうかを知ることができる。過去の有効性を知ることができると、過去のある時点で、ある文書になされたデジタル署名が有効であったかどうかを検証でき、その文書が正当なものであったかどうかが検証できる。
【００３２】
さらに、保留・保留解除機能のある認証局においても、利用者は、過去のある時点で、ある文書になされたデジタル署名が有効であったかどうかを検証でき、その文書が正当なものであったかどうかが検証できる。
【図面の簡単な説明】
【図１】この発明の実施例１に係る公開鍵証明書検証方法を実施する認証局の機能構成を示す図。
【図２】この発明の実施例１、２に係る公開鍵証明書検証方法を実施する利用者装置の機能構成を示す図。
【図３】実施例１の利用者装置における公開鍵証明書検証申請機能の作用を示すフローチャート。
【図４】実施例１の認証局における公開鍵証明書検証機能の作用を表すフローチャート。
【図５】本発明の実施例２に係る公開鍵証明書検証方法を実施する認証局の構成を示す図。
【図６】実施例２の利用者装置における公開鍵証明書検証申請機能の作用を示すフローチャート。
【図７】実施例２の認証局における公開鍵証明書検証申請機能の作用を示すフローチャート。
【図８】実施例２の利用者装置から認証局に対してなされる公開鍵証明書検証申請の例１を示す図。
【図９】実施例２の利用者装置から認証局に対してなされる公開鍵証明書検証申請の例２を示す図。
【図１０】実施例２の利用者装置から認証局に対してなされる公開鍵証明書検証申請の例３を示す図。
【符号の説明】
１１ 公開鍵証明書検証機能
１２ 証明書データベース
１３ 公開鍵証明書
１４ 証明書管理データベース
１５ 証明書管理情報
１６ 証明書識別情報
１７ 有効無効識別子
１８ 無効化理由
１９ 無効化日時
２０ 公開鍵証明書状態履歴
２１  利用者装置
２２  公開鍵証明書検証申請機能
２３  検証したい公開鍵証明書
【図１】
0004033601.tif 000002
【図２】
0004033601.tif 000003
【図３】
0004033601.tif 000004
【図４】
0004033601.tif 000005
【図５】
0004033601.tif 000006
【図６】
0004033601.tif 000007
【図７】
0004033601.tif 000008
【図８】
0004033601.tif 000009
【図９】
0004033601.tif 000010
【図１０】
0004033601.tif 000011