(57)【要約】【課題】  タイムスタンプ情報に含まれる公開鍵証明書の有効期限後、あるいは、暗号アルゴリズムや鍵が危殆化した後であったとしても、過去にタイムスタンプ情報が有効であったことを証明する方法を提供する。【解決手段】  クライアント１００と、タイムスタンプ情報発行装置１０２と、認証局１０４と、検証サーバ１１０とからなるシステムにおいて、サーバ１１０は、クライアント１００からタイムスタンプ情報の検証を要求するメッセージを受け付けてタイムスタンプ情報を検証する手段と、第１検証の失敗時、保存された検証記録を検索する手段と、以前に検証済みと判断されたタイムスタンプ情報の検証記録のデータ認証データを検証する手段と、第２検証の成功時、第２検証結果を検証応答メッセージとして送信する手段とを有する。【選択図】        図１
2006107247.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置と、タイムスタンプ情報発行装置と、認証局装置と、タイムスタンプ情報の妥当性の検証を行うタイムスタンプ情報検証サーバ装置とからなり、これらが通信ネットワークで互いに接続されたタイムスタンプサービスシステムにおいて、
前記タイムスタンプ情報検証サーバ装置は、前記クライアント装置からタイムスタンプ情報の検証を要求するメッセージを受け付けて該メッセージ内のタイムスタンプ情報を検証する第１検証手段と、第１検証の失敗時、保存された検証記録を検索する第２検索手段と、以前に検証済みと判断されたタイムスタンプ情報について該当する検証記録を特定すると共にその検証記録のデータ認証データを検証する第２検証手段と、第２検証の成功時、過去の検証結果を含む第２検証結果を作成する手段と、第２検証記録を作成すると共に第２検証記録に対する第２データ認証情報を作成する手段と、作成した第２認証データと第２検証記録を保存する手段と、第２検証結果を検証応答メッセージとして前記クライアント装置へ送信する手段とを有することを特徴とするタイムスタンプサービスシステム。
【請求項２】
クライアント装置、タイムスタンプ情報発行装置、及び認証局装置と通信ネットワークで接続され、タイムスタンプ情報の妥当性の検証を行うタイムスタンプ情報検証サーバ装置において、
前記クライアント装置からタイムスタンプ情報の検証を要求するメッセージを受け付けて該メッセージ内のタイムスタンプ情報を検証する第１検証手段と、第１検証の失敗時、保存された検証記録を検索する第２検索手段と、以前に検証済みと判断されたタイムスタンプ情報について該当する検証記録を特定すると共にその検証記録のデータ認証データを検証する第２検証手段と、第２検証の成功時、過去の検証結果を含む第２検証結果を作成する手段と、第２検証記録を作成すると共に第２検証記録に対する第２データ認証情報を作成する手段と、作成した第２認証データと第２検証記録を保存する手段と、第２検証結果を第２検証応答メッセージとして前記クライアント装置へ送信する手段とを有することを特徴とするタイムスタンプ情報検証サーバ装置。
【請求項３】
請求項２に記載のタイムスタンプ情報検証サーバ装置において、
過去の検証結果を含む第２検証結果には、タイムスタンプ情報の過去の検証結果のうち少なくとも検証時刻が一番古いものを含むことを特徴とするタイムスタンプ情報検証サーバ装置。
【請求項４】
請求項２に記載のタイムスタンプ情報検証サーバ装置において、
前記第２検証記録には、第２タイムスタンプ情報、第２公開鍵証明書有効性確認情報、第２検証時刻、又は第２検証結果情報を含むことを特徴とするタイムスタンプ情報検証サーバ装置。
【請求項５】
請求項２に記載のタイムスタンプ情報検証サーバ装置において、
前記第２検証記録に対する第２データ認証情報はデジタル署名であり、該デジタル署名は署名履歴を利用したデジタル署名方法で作成されたものであることを特徴とするタイムスタンプ情報検証サーバ装置。
【請求項６】
請求項２に記載のタイムスタンプ情報検証サーバ装置において、
前記クライアント装置からタイムスタンプ情報の検証を要求するメッセージを受け付けてメッセージ内のタイムスタンプ情報を検証して第１検証に成功した時に第１検証結果を作成する手段と、第１検証記録を作成すると共に第１検証結果に対する第１データ認証情報を作成する手段と、作成した第１認証データと第１検証記録を保存する手段と、第１検証結果を検証応答メッセージとして前記クライアント装置へ送信する手段とを有することを特徴とするタイムスタンプ情報検証サーバ装置。
【請求項７】
請求項６記載のタイムスタンプ情報検証サーバ装置において、
前記第１検証に成功した時に再評価ジョブを作成し登録する手段を有することを特徴とするタイムスタンプ情報検証サーバ装置。
【請求項８】
請求項７に記載のタイムスタンプ情報検証サーバ装置において、
前記再評価ジョブは、タイムスタンプ情報に含まれる公開鍵証明書の有効性を再評価することであることを特徴とするタイムスタンプ情報検証サーバ装置。
【請求項９】
請求項８に記載のタイムスタンプ情報検証サーバ装置において、
前記再評価ジョブの動作の契機は、公開鍵証明書の有効性が確認された時に使用された公開鍵証明書失効リストに含まれる次回の更新日時以降であることを特徴とするタイムスタンプ情報検証サーバ装置。
【請求項１０】
クライアント装置、タイムスタンプ情報発行装置、及び認証局装置と通信ネットワークで接続され、タイムスタンプ情報の妥当性の検証を行うタイムスタンプ情報検証サーバ装置に格納されるコンピュータ・ソフトウエアであって、
前記クライアント装置からタイムスタンプ情報の検証を要求するメッセージを受け付けて該メッセージ内のタイムスタンプ情報を検証する第１検証機能と、第１検証の失敗時、保存された検証記録を検索する第２検索機能と、以前に検証済みと判断されたタイムスタンプ情報について該当する検証記録を特定すると共にその検証記録のデータ認証データを検証する第２検証機能と、第２検証の成功時、過去の検証結果を含む第２検証結果を作成する機能と、第２検証記録を作成すると共に第２検証記録に対する第２データ認証情報を作成する機能と、作成した第２認証データと第２検証記録を保存する機能と、第２検証結果を第２検証応答メッセージとして前記クライアント装置へ送信する機能とを前記タイムスタンプ情報検証サーバ装置に実現させるプログラムからなるコンピュータ・ソフトウエア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子データの存在時刻とそれ以降のデータの完全性を保証するタイムスタンプ技術に関し、特に、タイムスタンプ情報の妥当性を検証する技術に関する。
【背景技術】
【０００２】
高度情報通信ネットワーク社会の進展による電子データの増大に伴い、紙文書に比べて比較的容易に改ざんされ易い電子データの原本性をいかに確保するのかが重要になってきている。このような背景のもと、電子データの存在時刻とそのデータの改ざん有無を証明するタイムスタンプ技術及びタイムスタンプサービスが注目されている。タイムスタンプサービスは、ＴＳＡ（Ｔｉｍｅ  Ｓｔａｍｐｉｎｇ  Ａｕｔｈｏｒｉｔｙ）と呼ばれる信頼のできる第３者機関が提供するサービスである。サービス利用者は、タイムスタンプ対象の電子データの固有な特徴量となるメッセージダイジェスト値をＴＳＡへ送信する。ＴＳＡは、このメッセージダイジェスト値と信頼のできる時刻源から参照した時刻情報を暗号技術により結びつけたタイムスタンプトークンを作成し、利用者へ返却する。利用者は、受け取ったタイムスタンプトークン（タイムスタンプ情報）と電子データを検証することにより、その電子データの存在時刻と改ざん有無を確認することができる（例えば、非特許文献３参照）。
【０００３】
タイムスタンプ情報の検証の方法は、タイムスタンプ情報の作成方法に依存する（例えば、非特許文献１、非特許文献４、非特許文献５参照）。例えば、デジタル署名が付与されたタイムスタンプ情報であれば、このデジタル署名を検証することにより、タイムスタンプ情報の検証を行う。また、リンクトークン方法で作成されたタイムスタンプ情報であれば、このタイムスタンプ情報に含まれているリンク情報の妥当性を検証することができるＴＳＡへアクセスし、タイムスタンプ情報の妥当性を検証する必要がある。
【０００４】
従来のデジタル署名を用いたタイムスタンプ技術の中には、ＰＫＩ技術（例えば、非特許文献２）を前提としたものがあった（例えば、特許文献１、非特許文献１、非特許文献４）。認証局から発行されたＴＳＡの公開鍵証明書には、ＴＳＡの主体名とタイムスタンプ情報に含まれるデジタル署名を検証するために使用される公開鍵が含まれている。タイムスタンプを検証する際には、まず、ＴＳＡの公開鍵証明書の有効性を確認する。この確認では、公開鍵証明書の有効期限の検証、公開鍵証明書の失効状態の検証、公開鍵証明書に付与された認証局のデジタル署名の検証などを行う。この有効性が確認された場合にのみこの鍵を用いてタイムスタンプのデジタル署名の検証が行われる。公開鍵証明書の有効性が無いと判断されると、そのタイムスタンプ情報の検証は失敗となる。
【０００５】
また、公開鍵証明書有効期限後の対策として、デジタル署名が有効なうちに以前とは異なる暗号アルゴリズムや鍵情報を使用した新規のデジタル署名を再付与するという方法もある（例えば、非特許文献６参照。）。ここでは、署名文書で使用された暗号アルゴリズムや鍵が危殆化する前にアーカイブタイムスタンプと呼ばれるRFC 3161準拠のタイムスタンプを署名文書と検証情報（公開鍵証明書情報と証明書失効リスト情報）に対して適用し、長期署名フォーマットと呼ばれる電子署名データを作成する。さらに、このアーカイブタイムスタンプで使用された暗号アルゴリズムや鍵が脆弱化する前に、更なるアーカイブタイムスタンプを署名文書、検証情報、以前のアーカイブタイムスタンプに対して適用する。
【特許文献１】特表２００３−５２４３４８号公報（第３３−３４頁、第８図）
【特許文献２】特開２００１−３３１１０４号公報
【特許文献３】特開２００１−３３１１０５号公報
【非特許文献１】C.Adams、他3名、RFC 3161、InternetX.509 Public Key Infrastructure Time-Stamp Protocol (TSP)、[online]、2001年8月、[平成16年7月8日検索]、インターネット<URL:http://www.ietf.org/rfc/rfc3161.txt>
【非特許文献２】カーライル・アダムズ＋スティーブ・ロイド著、鈴木優一訳、「ＰＫＩ公開鍵インフラストラクチャの概念、標準、展開」ピアソン・エデュケーション出版、２０００年７月１５日、ｐ．４１−５２
【非特許文献３】ISO/IEC 18014-1、「Information  technology- Security techniques - Time-stamping services - Part 1: Framework」、2002年10月1日
【非特許文献４】ISO/IEC 18014-2、「Information  technology- Security techniques - Time-stamping services - Part 2: Mechanisms  producinｇ  independent  tokens」、2002年12月15日
【非特許文献５】ISO/IEC 18014-3、「Information  technology- Security techniques - Time-stamping services - Part 3: Mechanisms  producing  linked  tokens」、2004年2月9日
【非特許文献６】D. Pinkas、他2名、RFC 3126、RFC - 3126  Electronic  Signature  Formats  for  long  term  electronic  signatures、[online]、2001年9月、[平成16年7月8日検索]、インターネット<URL:http://www.ietf.org/rfc/rfc3126.txt>
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来のＰＫＩ技術に基づくデジタル署名を使用したタイムスタンプ情報を検証する場合、まず、ＴＳＡ公開鍵証明書を検証する必要があった。この時、公開鍵証明書が有効ではないと判断されると、検証失敗となり、タイムスタンプ対象の電子データの存在時刻や改ざん有無は証明できない。例えば、公開鍵証明書の有効期限が過ぎた後は、認証局は、その公開鍵証明書に記載されたＴＳＡ主体名と公開鍵の結びつきを保証しないし、この公開鍵証明書の失効状態（証明書失効リスト情報）の管理や公開を行うことはない。そのため、たとえ、署名当時は有効であったデジタル署名であっても、その公開鍵証明書の有効期限が過ぎてしまうと、その署名の信頼性は大幅に失われてしまうという問題があった。また、長期署名フォーマットに基づく電子署名は、タイムスタンプ適用毎にデータサイズが大きくなることと、再署名の運用の手間が比較的大きいという問題があった。したがって、改善されたタイムスタンプ情報検証技術が望まれている。
【課題を解決するための手段】
【０００７】
本発明は、上記の問題点を解決するために考案されたものであり、タイムスタンプ情報に含まれる公開鍵証明書の有効期限後、あるいは、タイムスタンプ情報に使用された暗号アルゴリズムや鍵が危殆化した後であったとしても、過去にタイムスタンプ情報が有効であったことを証明するタイムスタンプ情報検証サーバ装置及びタイムスタンプ情報検証方法を提供する。
【０００８】
また、本発明は、タイムスタンプ情報のデータサイズを増大させることなく、タイムスタンプ情報の真正性を長期に亘って保証するタイムスタンプ情報検証サーバ装置及びタイムスタンプ情報検証方法を提供する。
【０００９】
本発明は、その一態様において、通信ネットワークで互いに接続された一つ以上のクライアント装置、一つ以上のタイムスタンプ情報発行装置、一つ以上の認証局装置、一つ以上のタイムスタンプ情報検証サーバ装置から構成されるタイムスタンプサービスシステムにおいて、タイムスタンプ情報の妥当性の検証を行うタイムスタンプ情報検証サーバ装置は、クライアント装置からタイムスタンプ情報の検証を要求するメッセージを受け付けると、メッセージ内のタイムスタンプ情報を検証し、検証に成功すると、検証結果を作成し、その検証記録を作成すると共に検証記録に対するデータ認証情報を作成し、この認証データと検証記録を保存し、その後、検証結果を検証応答メッセージとしてクライアント装置へ送信する。また、検証に失敗した場合は、保存された検証記録を検索し、以前に検証済みと判断されたタイムスタンプ情報であれば、該当する検証記録を特定すると共にその検証記録のデータ認証データを検証し、検証に成功すると、過去の検証結果を含む検証結果を作成し、その検証記録を作成すると共に検証記録に対するデータ認証情報を作成し、この認証データと検証記録を保存し、その後、検証結果を検証応答メッセージとしてクライアント装置へ送信する。
【発明の効果】
【００１０】
本発明によれば、有効期限の過ぎたタイムスタンプ情報であったとしても、有効なうちに検証が行われたタイムスタンプ情報であれば、信頼性の向上した検証記録を用いることにより、タイムスタンプ情報のデータサイズを増大させることなく、過去の検証結果に基づくタイムスタンプ情報の妥当性を主張することができる。
【発明を実施するための最良の形態】
【００１１】
本発明を実施するための最良の形態を説明する。
以下、本発明のタイムスタンプサービスシステム及びタイムスタンプ情報検証サーバ装置の実施例について、図面を用いて詳細に説明する。
【実施例】
【００１２】
実施例１を説明する。図１は、本実施例のタイムスタンプサービスシステム構成を示す。タイムスタンプサービスシステムは、複数のクライアント装置１００、一つ以上のタイムスタンプ情報発行装置１０２、一つ以上の認証局装置１０４、一つ以上のタイムスタンプ情報検証サーバシステム１１０、これらの装置及びシステムが接続される通信ネットワーク１５０から構成される。
【００１３】
クライアント装置１００は、契約書や申請書などの電子データ、あるいは、通信ログやシステムログなどの監査ログデータに対するタイムスタンプ情報を得るために、タイムスタンプ情報発行装置１０２へ要求を発行するクライアント装置である。また、このクライアント装置１００は、タイムスタンプ情報の妥当性を確認するためにタイムスタンプ情報検証サーバシステム１１０へ検証を依頼する。
【００１４】
タイムスタンプ情報発行装置１０２は、クライアント装置１００の要求を受け付けてタイムスタンプ情報を発行する装置である。これらのタイムスタンプ情報発行装置はそれぞれ独自のタイムスタンプ方法を実装していてもよい。また、この装置は、使用するタイムスタンプ方法に依存したタイムスタンプ情報の検証機能を提供している。例えば、リンクトークン方法のタイムスタンプ情報を作成するタイムスタンプ情報発行装置１０２−Ｂは、作成したリンクトークン方法のタイムスタンプ情報を検証する機能を提供する。
【００１５】
認証局装置１０４は、ＰＫＩ技術を用いたデジタル署名を検証するときに利用する信頼性の高いサービス装置である。具体的には、公開鍵証明書を発行する認証局手段、公開鍵証明書失効リストを公開するリポジトリ手段、公開鍵証明書の有効性を応答するＯＣＳＰレスポンダ手段などから構成されている。認証局装置１０４は、タイムスタンプ情報検証サーバシステム１１０に対して随時サービスを提供する。
【００１６】
タイムスタンプ情報検証サーバシステム１１０は、一つ以上のタイムスタンプ情報検証フロントサーバ装置１１４、一つ以上の証明書検証サーバ装置１１６、ネットワーク装置１１２、これらの装置が接続されるローカルネットワーク１５２から構成される。タイムスタンプ情報検証サーバシステム１１０は、ネットワーク装置１１２を介して通信ネットワーク１５０と接続される。
【００１７】
タイムスタンプ情報検証フロントサーバ装置１１４は、クライアント装置から送信されるタイムスタンプ情報要求メッセージを受け付けると、タイムスタンプ情報に含まれる公開鍵証明書の有効性確認を証明書検証サーバ装置１１６へ委任する。証明書検証サーバ装置１１６は、認証局装置１０４にアクセスし、公開鍵証明書の有効性を確認すると、その結果をタイムスタンプ情報検証フロントサーバ装置１１４へ返却する。タイムスタンプ情報検証フロントサーバ装置１１４は、有効性が確認された公開鍵証明書に含まれる公開鍵を用いてタイムスタンプ情報に含まれるデジタル署名を検証する。検証手順等は後述する。
【００１８】
実施例２について、図２を用いて説明する。本実施例は、実施例１と比較すると、タイムスタンプ情報検証サーバシステムを一つの装置で実施した点で相違する。タイムスタンプ情報検証サーバ装置２１０は、タイムスタンプ情報検証要求受付部２１２、タイムスタンプ情報検証部２１４、タイムスタンプ情報検証記録管理部２１６とういう処理手段を備え、セキュリティデータ２１８、検証記録管理データ２２０を持つ。
【００１９】
タイムスタンプ情報検証要求受付部２１２は、クライアント装置１００から送信されるタイムスタンプ情報検証要求を受け付ける。タイムスタンプ情報検証部２１４は、タイムスタンプ情報に含まれる公開鍵証明書の有効性の確認、タイムスタンプに含まれるデジタル署名の検証を行う。タイムスタンプ情報検証記録管理部２１６は、タイムスタンプ情報検証部２１４が実行したタイムスタンプ情報検証処理の記録の作成や検証記録管理データ２２０への保管などのデータ管理を行う。
【００２０】
セキュリティデータ２１８は、タイムスタンプ情報検証サーバ装置２１０が所有する公開鍵証明書データ、私有鍵データ、認証局装置１０４の自己署名証明書データが格納されている。また、このセキュリティデータ２１８の中には、認証局装置１０４のサービスを利用して取得した情報（例えば、公開鍵証明書の失効リスト）が格納されていてもよい。
【００２１】
タイムスタンプ情報検証サーバ装置２１０は、多数の同時アクセスを許し、高速な処理能力を持つネットワーク接続装置を備えた計算機であることが好ましい。具体的には、大型計算機や複数の中央演算装置を持つワークステーションで実現される。
【００２２】
また、タイムスタンプ情報検証サーバ装置２１０は、クライアント装置１００に対してタイムスタンプ情報の検証サービスを提供するため、高い信頼性が求められる。そのため、タイムスタンプ情報検証処理プログラムを稼動させるプラットフォームシステムは、セキュリティ対策が行われていることが好ましい。具体的には、ファイルシステムへの不正なアクセスやネットワークを介したクラッキング行為を防ぐ対策が行われたＯＳであることが望ましい。さらに、公開鍵証明書データや私有鍵データなどセキュリティの観点から見て重要なデータは、耐タンパー性のハードウエア上で管理されることが望ましい。
【００２３】
タイムスタンプ情報発行装置１０２や認証局装置１０４も、タイムスタンプ情報検証サーバ装置２１０と同等のプラットフォームを採用しているものとする。
【００２４】
クライアント装置１００は、中央演算装置、キーボードやマウスなどの入力装置、ハードディスクやＲＡＭなどの記憶装置、ＣＲＴディスプレイ、液晶ディスプレイ、プリンタなどの出力装置、通信用のネットワーク装置を持つ汎用的なパーソナルコンピュータを用いて実現できる。もちろん、パーソナルコンピュータに限るわけではなく、ユーザに対する入力装置と出力装置、そして通信装置を備えた計算機であればそれでもよい。
【００２５】
通信ネットワーク１５０は、公衆網、インターネット、ＩＳＤＮ網などの有線網や移動通信用基地局や通信用人工衛星を利用した無線網などの通信ネットワークで実現できる。
【００２６】
なお、タイムスタンプサービスシステムにおいて、通信ネットワーク１５０を介した装置間の通信時には、装置の成りすまし、通信データの改ざん、通信データの盗聴などを防ぐ対策が行われていてもよい。これは、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）通信技術を利用することで実現できる。
【００２７】
以上の各装置の各機能や各処理部は、それぞれの中央演算処理装置が記憶装置に格納されたプログラムを実行することにより、具現化される。また、各プログラムは、予め各記憶装置に格納されていても良いし、必要に応じて、当該装置が利用可能な、着脱可能な記憶媒体や通信媒体である通信ネットワークまたは通信ネットワーク上を伝搬する搬送波を介して、他の装置から導入されても良い。
【００２８】
図３は、タイムスタンプ情報検証サーバ装置１１０がタイムスタンプ情報を検証する手順を示すフローチャートの一例であり、実施例２について説明するが、実施例１でも同様とすることができる。まず、タイムスタンプ情報検証サーバ装置２１０は、クライアント装置１００からタイムスタンプ情報検証依頼メッセージを受け付ける（ステップ３０２）。
【００２９】
タイムスタンプ情報検証依頼メッセージには、少なくとも後述するタイムスタンプ情報データが含まれている。また、このタイムスタンプ情報に対応する電子データそのものが含まれていてもよい。
【００３０】
また、タイムスタンプ情報データと対応する電子データが公知のフォーマット形式で一体となって符号化されていてもよい。例えば、タイムスタンプ情報と対応する電子データをアプリケーションプログラム独自のデータ形式やＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で符号化したりしてもよい。これらの符号化方法に関する情報は、クライアント装置１００とタイムスタンプ情報検証サーバ装置２１０間の通信プロトコルの中で示すことが可能である。例えば、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）のコンテンツヘッダに符号化形式を示す情報を含めることができる。
【００３１】
タイムスタンプ情報検証サーバ装置２１０は、受け付けた検証依頼メッセージに基づき検証処理を実行する（ステップ３０４）。検証内容の例は、次の通りである。これらの検証処理を実行することでタイムスタンプ情報の妥当性を判定する。
（１）セキュリティデータ２１８に格納されている公開鍵証明書の失効リスト、あるいは、認証局装置１０４のサービスを利用し、タイムスタンプ情報に含まれる公開鍵証明書の有効性を確認する。
（２）有効性を確認した公開鍵証明書の中に含まれた公開鍵を用いて、タイムスタンプ情報のデジタル署名を検証する。
（３）その他の署名付きのデータが含まれていれば、上記と同様な方法で検証する。
（４）タイムスタンプ情報検証要求メッセージ内にタイムスタンプ情報に対応する電子データが含まれている場合、該当するハッシュ関数を用いて電子データのメッセージダイジェスト値を求め、この値がタイムスタンプ情報に含まれるメッセージダイジェスト値と同一かどうかを確認する。
【００３２】
なお、検証内容はこれらに限らず、タイムスタンプ情報の信頼性を確認するための検証項目を追加してもよい。例えば、タイムスタンプ情報に含まれる時刻情報の信頼性を確認するために、タイムスタンプ情報に含まれたデータ項目間の整合性の確認や信頼のできる外部データを参照した確認や検証を行ってもよい。また、タイムスタンプ情報に使用された暗号アルゴリズムや鍵の安全性に関する確認も行ってもよい。更に、タイムスタンプ情報検証サーバ装置２１０は、検証結果として、他のタイムスタンプ情報検証サーバ装置２１０で行ったものを使用することも可能である。
【００３３】
ステップ３０６にて、ステップ３０４の検証に成功した場合（タイムスタンプ情報は妥当性を持つ）は、タイムスタンプ情報の検証結果を作成する（ステップ３０８）。その後、検証処理の記録を示す検証記録を作成すると共にその検証記録に対するデータ認証情報を作成する（ステップ３１０、ステップ３１２）。最後に、検証記録とデータ認証情報を保存し、検証結果をクライアント装置１００へ返却する（ステップ３１４、ステップ３１６）。
【００３４】
ステップ３０６にて、ステップ３０４の検証に失敗した場合（タイムスタンプ情報は妥当性を持たない）は、蓄積された検証記録を検索する（ステップ３２０）。ステップ３２２にて過去に検証済みと判断されると、該当する検証記録を特定し、その後、検証記録に対応付けられたデータ認証情報の認証（第２検証）を行い、検証記録の真正性を確認する（ステップ３２４）。検証記録の真正性が確認されて認証が成功されると、過去の検証結果を含めたタイムスタンプ情報の検証結果を作成する（ステップ３０８）。このとき、少なくとも一番古い過去の検証結果を含める。その後、検証処理の記録を示す検証記録を作成する（ステップ３１０）と共にその検証記録に対するデータ認証情報を作成する（ステップ３１２）。最後に、検証記録とデータ認証情報を保存し（ステップ３１４）、検証結果をクライアント装置１００へ返却する（ステップ３１６）。
【００３５】
ステップ３２２にて過去の検証記録が存在しないと判断されると、過去の検証結果を含まないタイムスタンプ情報の検証結果を作成する（ステップ３０８）。その後、検証処理の記録を示す検証記録を作成する（ステップ３１０）と共にその検証記録に対するデータ認証情報を作成する（ステップ３１２）。最後に、検証記録とデータ認証情報を保存し（ステップ３１４）、検証結果をクライアント装置１００へ返却する（ステップ３１６）。
【００３６】
図４は、タイムスタンプ情報の一例である。タイムスタンプ情報４００は、以下のデータ項目から構成される。タイムスタンプ情報を固有に識別するためのタイムスタンプ識別子フィールド４０２、タイムスタンプ対象である電子データのメッセージダイジェスト値フィールド４０４、タイムスタンプ作成時に信頼された時刻情報を参照して導出された時刻情報フィールド４０６、ＴＳＡの名前、ＴＳＡの公開鍵証明書、ＴＳＡの属性証明書、タイムスタンプ対象の電子データなどを格納するための付加情報フィールド４０８、認証情報フィールド４１０である。認証情報フィールド４１０は、認証情報フィールドよりも上側に存在するデータ項目群のデータ認証のためのデジタル署名が格納される。また、長期に亘るデータ認証を保証するために、特許文献２、及び特許文献３等に開示された、履歴情報を利用したデジタル署名方法（「ヒステリシス署名」）を用いてもよい。さらに、簡便性のために、データ認証のためにハッシュ関数を使用してもよい。
【００３７】
図５は、検証記録の一例である。検証記録５００は、検証記録を固有に識別するための検証記録識別子フィールド５０２、タイムスタンプ情報の実体（例えば、タイムスタンプ情報のバイナリデータ）を格納するタイムスタンプ情報フィールド５０４、検証時の公開鍵証明書の有効性確認のために必要となる証明書失効リストやＯＣＳＰ応答などの情報を格納する公開鍵証明書有効性確認情報フィールド５０６、検証処理が行われた時刻を示す検証時刻フィールド５０８、タイムスタンプ情報の検証結果を格納する検証結果情報フィールド５１０から構成される。
【００３８】
図６は、検証記録管理データ２２０のテーブル例である。検証記録管理テーブル６００は、以下の４つのカラムを持つ。検証記録データ・カラム６０２は、検証記録データ５００のバイナリデータが格納される。データ認証データ・カラム６０４には、検証記録に対するデータ認証データが格納される。タイムスタンプ固有情報６０６は、タイムスタンプを固有に特定するための情報が格納される。例えば、たとえば、タイムスタンプ情報識別子４０２、タイムスタンプの発行者のＤＮ（Ｄｉｓｔｉｎｇｕｉｓｈｅｄ  Ｎａｍｅ）、タイムスタンプの固有のシリアル番号、タイムスタンプ情報のメッセージダイジェスト値が格納される。検証記録登録日時・カラム６０８は、作成された検証記録が検証記録データ２２０として登録された日時を示す。
【００３９】
図７は、タイムスタンプ情報検証サーバ装置２１０が返却した検証結果情報を受信したクライアント装置１００のディスプレイ上に表示される検証結果画面７００の例である。検証結果画面７００は、複数の表示項目から構成される。時刻情報フィールド７０２は、タイムスタンプ情報に含まれる時刻情報を表示する。ＵＴＣ（Ｕｎｉｖｅｒｓａｌ  Ｃｏｏｒｄｉｎａｔｅ  Ｔｉｍｅ）、あるいは、タイムゾーンを考慮した国家時刻に変換された値が表示される。メッセージダイジェスト値フィールド７０４は、タイムスタンプ情報に含まれるタイムスタンプ対象の電子データのメッセージダイジェスト値が表示される。検証時刻フィールド７０６は、タイムスタンプ情報検証サーバ装置の検証処理実行時刻を示す。検証結果フィールド７０８は、上記の検証時刻におけるタイムスタンプ情報検証結果を示す。この例では、ＴＳＡの公開鍵証明書の有効期限が過ぎたと判断されたため、タイムスタンプ検証結果はＮＧ（Ｎｏ  Ｇｏｏｄ）、つまり、タイムスタンプ情報の妥当性は無いと主張している。検証記録検証結果の過去検証時刻フィールド７１０は、検証記録に保管された該当タイムスタンプ情報の過去の検証における検証時刻を示す。さらに、検証記録検証結果の過去検証結果フィールド７１２は、上記の過去検証時刻における検証結果を表している。このように、有効期限の過ぎたタイムスタンプ情報であったとしても、有効なうちに検証が行われたタイムスタンプ情報であれば、検証記録を用いることにより、過去の検証結果に基づくタイムスタンプ情報の妥当性を主張することができる。
【００４０】
なお、過去の検証結果が複数含まれている場合は、画面上でそれぞれの検証結果に対応したタブ状のＧＵＩを表示する。クライアント装置１００を操作する利用者は、マウスなどの入力装置を用いて、タブを選択し、該当する過去の検証時刻と検証結果を閲覧することができる。
【００４１】
実施例３を説明する。図８は、タイムスタンプ情報検証装置２１０のもう一つの実施形態である。タイムスタンプ情報検証装置２１０は、実施例２（図２参照）と比較すると、検証記録再評価部２１０と再評価ジョブデータ２２２が追加されている。検証記録再評価部２１０とは、再評価ジョブデータ２２２に格納されたジョブ定義に基づいて検証記録データを再評価する。
【００４２】
図９は、検証記録再評価部２１０及び再評価ジョブデータ２２２が追加された場合のタイムスタンプ情報検証装置２１０のタイムスタンプ情報検証処理手順を示す。本処理内容は、図３に示したフローチャートと以下の点を除いて同じであり、９００台の符号を３００台に置き換えることにより対応をとることができる。
【００４３】
図９において、追加により対応しないのは符号９１５である。タイムスタンプ情報検証サーバ装置２１０は、ステップ９１４にて検証記録を保存し、ステップ９１５にて再評価ジョブを作成し、登録する。
【００４４】
なお、再評価ジョブとは、検証時点に行った検証内容を後日検証するためのジョブプログラムである。例えば、公開鍵証明書失効手続きから実際の失効処理・失効リスト公開までの時間差が存在するため、タイムスタンプ情報に含まれる公開鍵証明書の失効状態は、検証時点に取得される公開鍵証明書失効リストでは完全には保証されない。そのため、検証時点の公開鍵証明書の失効状態を確定するためには、後日に発行される公開鍵証明書失効リストを参照する必要がある。
【００４５】
図１０は、検証記録の再評価処理手順例のフローチャートである。検証記録の再評価処理は、タイムスタンプ情報検証装置のバックグランド処理として常に稼動、あるいは、１日に１回など定期的に稼動している。
【００４６】
ステップ１００２にて、実行すべきジョブが定義されている再評価レコードを取得する。再評価レコードには、ジョブ動作日時情報が含まれているため、この情報に基づき、処理を実行すべきジョブなのかどうかが判断される。例えば、現在時刻よりも過去のジョブ動作日時を持つものは動作対象となる。次にステップ１００４にて、再評価対象データである公開鍵証明書データの中に含まれる公開鍵証明書失効リスト配布ポイント（ＣＲＬ配布ポイント）を特定し、続いて、認証局装置１０４にアクセスし、公開鍵証明書失効リストを取得する（ステップ１００６）。ステップ１００８にて、取得した公開鍵証明書失効リストに基づいて再評価対象となる公開鍵証明書の有効性を確認し（ステップ１００８）、再評価データを作成すると共に、検証記録を更新する（ステップ１０１０、１０１２）。次に、更新した検証記録に対するデータ認証情報を作成し（ステップ１０１４）、検証記録と共に保存する（ステップ１０１６）。なお、ステップ１００４とステップ１００６において、公開鍵証明書失効リスト配布ポイントに基づき公開鍵証明書失効リストを取得し、ステップ１００８にて公開鍵証明書の有効性を確認したが、他の方法でもよい。例えば、公開鍵証明書に記載された機関情報アクセスを取得し、その情報が示すサイトへ接続して公開鍵証明書の有効性を確認してもよい。なお、一度実行した再評価ジョブに関するレコードは再評価後に削除されるものとする。
【００４７】
図１１は、再評価ジョブデータに格納された再評価レコードの例である。再評価ジョブが定義された複数のレコードから構成されたデータベーステーブルとして実現することができる。検証記録識別子・カラム１１０２は、検証記録を特定するための固有識別子が格納されている。ジョブ動作日時・カラム１１０４は、再評価ジョブが起動すべき時刻を示す。この時刻は、再評価対象となる公開鍵証明書を検証した際に使用した公開鍵証明書失効リストに含まれる次回の更新日（ｎｅｘｔＵｐｄａｔｅ）よりも後日に設定する。ｎｅｘｔＵｐｄａｔｅが2003年12月22日8時59分59秒であれば、例えば、それに1秒を追加した値である2003年12月22日9時00分00秒とする。再評価データ・カラム１１０６は、再評価すべき公開鍵証明書データが格納されている。
【００４８】
図１２は、更新された検証結果データの例である。検証記録データ１２００は、更新された情報として、再評価時刻を格納する再評価時刻フィールド１２０２と再評価結果を示す再評価結果情報フィールド１２０４が追加されている。
【００４９】
図１３は、検証記録の再評価を踏まえたクライアント装置に表示される検証結果画面の例である。検証記録検証結果の再評価時刻フィールド１３０２は、再評価が行われた時刻を示す。また、検証記録検証結果の過去検証結果フィールド１３０４は、再評価の結果を踏まえた検証結果を表している。この例では、公開鍵証明書の再評価結果は有効であるため、過去検証結果は確定されたものとしてＯＫ（確定）と表示される。このように、有効期限の過ぎたタイムスタンプ情報であったとしても、有効なうちに検証が行われたタイムスタンプ情報であれば、再評価により更に信頼性の向上した検証記録を用いることにより、過去の検証結果に基づくタイムスタンプ情報の妥当性を主張することができる。
【００５０】
なお、本発明では、クライアント装置から検証要求として送信されるタイムスタンプ情報はデータサイズが常に一定、つまり、時間の経過とともに増大しないことは言うまでもない。
【００５１】
以上実施例で説明したように、本発明は、１以上のクライアント装置と、１以上のタイムスタンプ情報発行装置と、１以上の認証局装置と、タイムスタンプ情報の妥当性の検証を行う、１以上のタイムスタンプ情報検証サーバ装置とからなり、これらが通信ネットワークで互いに接続されたタイムスタンプサービスシステムにおいて、前記タイムスタンプ情報検証サーバ装置は、前記クライアント装置からタイムスタンプ情報の検証を要求するメッセージを受け付けて該メッセージ内のタイムスタンプ情報を検証する第１検証手段と、第１検証の失敗時、保存された検証記録を検索する第２検索手段と、以前に検証済みと判断されたタイムスタンプ情報について該当する検証記録を特定すると共にその検証記録のデータ認証データを検証する第２検証手段と、第２検証の成功時、過去の検証結果を含む第２検証結果を作成する手段と、第２検証記録を作成すると共に第２検証記録に対する第２データ認証情報を作成する手段と、作成した第２認証データと第２検証記録を保存する手段と、第２検証結果を検証応答メッセージとして前記クライアント装置へ送信する手段とを有するタイムスタンプサービスシステムである。
【００５２】
また、本発明は、クライアント装置、タイムスタンプ情報発行装置、及び認証局装置と通信ネットワークで接続され、タイムスタンプ情報の妥当性の検証を行うタイムスタンプ情報検証サーバ装置において、前記クライアント装置からタイムスタンプ情報の検証を要求するメッセージを受け付けて該メッセージ内のタイムスタンプ情報を検証する第１検証手段と、第１検証の失敗時、保存された検証記録を検索する第２検索手段と、以前に検証済みと判断されたタイムスタンプ情報について該当する検証記録を特定すると共にその検証記録のデータ認証データを検証する第２検証手段と、第２検証の成功時、過去の検証結果を含む第２検証結果を作成する手段と、第２検証記録を作成すると共に第２検証記録に対する第２データ認証情報を作成する手段と、作成した第２認証データと第２検証記録を保存する手段と、第２検証結果を第２検証応答メッセージとして前記クライアント装置へ送信する手段とを有するタイムスタンプ情報検証サーバ装置である。
【００５３】
そして、本発明は、過去の検証結果を含む第２検証結果には、タイムスタンプ情報の過去の検証結果のうち少なくとも検証時刻が一番古いものを含むタイムスタンプ情報検証サーバ装置である。
【００５４】
更に、本発明は、前記第２検証記録には、第２タイムスタンプ情報、第２公開鍵証明書有効性確認情報、第２検証時刻、又は第２検証結果情報を含むタイムスタンプ情報検証サーバ装置である。
【００５５】
また、本発明は、前記第２検証記録に対する第２データ認証情報はデジタル署名であり、該デジタル署名は署名履歴を利用したデジタル署名方法で作成されたものであるタイムスタンプ情報検証サーバ装置である。
【００５６】
そして、本発明は、前記クライアント装置からタイムスタンプ情報の検証を要求するメッセージを受け付けてメッセージ内のタイムスタンプ情報を検証して第１検証に成功した時に第１検証結果を作成する手段と、第１検証記録を作成すると共に第１検証結果に対する第１データ認証情報を作成する手段と、作成した第１認証データと第１検証記録を保存する手段と、第１検証結果を検証応答メッセージとして前記クライアント装置へ送信する手段とを有するタイムスタンプ情報検証サーバ装置である。
【００５７】
更に、本発明は、前記第１検証に成功した時に再評価ジョブを作成し登録する手段を有するタイムスタンプ情報検証サーバ装置である。
【００５８】
また、本発明は、前記再評価ジョブは、タイムスタンプ情報に含まれる公開鍵証明書の有効性を再評価することであるタイムスタンプ情報検証サーバ装置である。
【００５９】
そして、本発明は、前記再評価ジョブの動作の契機は、公開鍵証明書の有効性が確認された時に使用された公開鍵証明書失効リストに含まれる次回の更新日時以降であるタイムスタンプ情報検証サーバ装置である。
【００６０】
更に、本発明は、クライアント装置、タイムスタンプ情報発行装置、及び認証局装置と通信ネットワークで接続され、タイムスタンプ情報の妥当性の検証を行うタイムスタンプ情報検証サーバ装置に格納されるコンピュータ・ソフトウエアであって、前記クライアント装置からタイムスタンプ情報の検証を要求するメッセージを受け付けて該メッセージ内のタイムスタンプ情報を検証する第１検証機能と、第１検証の失敗時、保存された検証記録を検索する第２検索機能と、以前に検証済みと判断されたタイムスタンプ情報について該当する検証記録を特定すると共にその検証記録のデータ認証データを検証する第２検証機能と、第２検証の成功時、過去の検証結果を含む第２検証結果を作成する機能と、第２検証記録を作成すると共に第２検証記録に対する第２データ認証情報を作成する機能と、作成した第２認証データと第２検証記録を保存する機能と、第２検証結果を第２検証応答メッセージとして前記クライアント装置へ送信する機能とを前記タイムスタンプ情報検証サーバ装置に実現させるプログラムからなるコンピュータ・ソフトウエアである。
【図面の簡単な説明】
【００６１】
【図１】実施例１のシステム構成図。
【図２】実施例２のシステム構成図。
【図３】タイムスタンプ情報検証サーバ装置におけるタイムスタンプ情報検証動作を示すフローチャートの一例の説明図。
【図４】タイムスタンプ情報データの構造の一例の説明図。
【図５】検証記録データの構造の一例の説明図。
【図６】検証記録管理データのテーブルの一例の説明図。
【図７】タイムスタンプ情報の検証結果を示す画面の一例の説明図。
【図８】実施例３のシステム構成図。
【図９】タイムスタンプ情報検証サーバ装置におけるもう一つのタイムスタンプ情報検証動作を示すフローチャートの一例の説明図。
【図１０】検証記録を再評価する動作を示すフローチャートの一例の説明図。
【図１１】再評価ジョブを格納するテーブルの一例の説明図。
【図１２】更新された検証記録のデータ構造の一例の説明図。
【図１３】検証記録の再評価を踏まえたタイムスタンプ情報の検証結果を示す画面の一例の説明図。
【符号の説明】
【００６２】
クライアント装置…１００、タイムスタンプ情報発行装置…１０２、認証局装置…１０４、タイムスタンプ情報検証サーバシステム…１１０、ネットワーク装置…１１２、タイムスタンプ情報検証フロントサーバ装置…１１４、証明書検証サーバ装置…１１６、ネットワーク装置…１１２、通信ネットワーク…１５０、ローカルネットワーク…１５２、タイムスタンプ情報検証サーバ装置…２１０、タイムスタンプ情報検証要求受付部…２１２、タイムスタンプ情報検証部…２１４、タイムスタンプ情報検証記録管理部…２１６、検証記録再評価部…２１７、セキュリティデータ…２１８、検証記録管理データ…２２０、再評価ジョブデータ…２２２
【図１】
2006107247.tif 000003
【図２】
2006107247.tif 000004
【図３】
2006107247.tif 000005
【図４】
2006107247.tif 000006
【図５】
2006107247.tif 000007
【図６】
2006107247.tif 000008
【図７】
2006107247.tif 000009
【図８】
2006107247.tif 000010
【図９】
2006107247.tif 000011
【図１０】
2006107247.tif 000012
【図１１】
2006107247.tif 000013
【図１２】
2006107247.tif 000014
【図１３】
2006107247.tif 000015