(57)【要約】【課題】電子文書が改竄されていないことを長期に亘って確実に確認することができるようにする。【解決手段】署名用の長期保存データ１０２と、タイムスタンプ用の長期保存データ１０４、１０６とを長期保存文書内に保持する。そして、署名用の長期保存データ１０２を署名データ１０３で保護すると共に、タイムスタンプ用の長期保存データ１０４、１０６をタイムスタンプ１０５で保護する。このとき、署名用の長期保存データ１０２（タイムスタンプ用の長期保存データ１０４、１０６）を長期保存文書に埋め込む処理に続けて、署名データ１０３（タイムスタンプ１０５、１０７）を長期保存文書に埋め込む処理を行う。また、署名用の長期保存データ１０２（タイムスタンプ用の長期保存データ１０４、１０６）と署名データ１０３（タイムスタンプ１０５、１０７）とを紐付ける。【選択図】図４
2007304982.tif 000002
【特許請求の範囲】
【請求項１】
電子文書に対する電子署名を検証するための長期保存データを、前記電子文書に埋め込む長期保存データ埋め込み手段と、
前記電子文書に埋め込まれた長期保存データを用いて有効性が検証される電子署名を、前記電子文書に対して行う署名手段とを有することを特徴とする電子文書管理装置。
【請求項２】
前記署名手段は、前記長期保存データが前記電子文書に埋め込まれるのと略同時に、その長期保存データを用いて有効性が検証される電子署名を行うことを特徴とする請求項１に記載の電子文書管理装置。
【請求項３】
前記長期保存データと、その長期保存データを用いて有効性が検証される電子署名のデータとを対応付ける対応付け手段を有することを特徴とする請求項１又は２に記載の電子文書管理装置。
【請求項４】
前記対応付け手段は、前記長期保存データと、その長期保存データを用いて有効性が検証される電子署名のデータとを紐付けるための紐付け情報を、前記長期保存データ又は前記電子署名のデータに保持させることを特徴とする請求項３に記載の電子文書管理装置。
【請求項５】
前記署名手段は、前記電子文書に埋め込まれた長期保存データを用いて有効性が検証される電子署名を、前記長期保存データが埋め込まれた電子文書に対して行うことを特徴とする請求項１〜４の何れか１項に記載の電子文書管理装置。
【請求項６】
前記長期保存データ埋め込み手段は、前記電子文書に対する電子署名が、その電子署名が行われた時点において有効であることを示す署名用の長期保存データを前記電子文書に埋め込み、
前記署名手段は、前記電子文書に埋め込まれた署名用の長期保存データにより有効であることが示される電子署名を、前記署名用の長期保存データが埋め込まれた電子文書に対して行い、
前記長期保存データ埋め込み手段は、前記電子文書に対して電子署名が行なわれた後に、前記電子文書に対するタイムスタンプが有効であることを示すタイムスタンプ用の長期保存データを前記電子文書に埋め込み、
前記署名手段は、前記電子文書に埋め込まれたタイムスタンプ用の長期保存データにより有効であることが示されるタイムスタンプを、前記タイムスタンプ用の長期保存データが埋め込まれた電子文書に対して行うことを特徴とする請求項５に記載の電子文書管理装置。
【請求項７】
前記長期保存データ埋め込み手段は、前記電子文書に対してタイムスタンプが行われた後に、前記電子文書に対するタイムスタンプが有効であることを示すタイムスタンプ用の長期保存データを前記電子文書に新たに埋め込み、
前記署名手段は、前記電子文書に新たに埋め込まれたタイムスタンプ用の長期保存データにより有効であることが示されるタイムスタンプを、前記タイムスタンプ用の長期保存データが新たに埋め込まれた電子文書に対して行うことを特徴とする請求項５に記載の電子文書管理装置。
【請求項８】
前記電子文書が改竄されていないことを、その電子文書に埋め込まれた長期保存データと、その長期保存データを用いて有効性が検証される電子署名のデータとを用いて検証する検証手段を有することを特徴とする請求項１〜７の何れか１項に記載の電子文書管理装置。
【請求項９】
前記長期保存データは、前記電子文書に前記電子署名を行う際に利用される電子証明書と、その電子証明書から得られる認証局までの認証パス上の全ての電子証明書と、それら全ての電子証明書に紐付けられた電子証明書の失効情報とを含むことを特徴とする請求項１〜８の何れか１項に記載の電子文書管理装置。
【請求項１０】
電子文書に対する電子署名が有効であることを示す長期保存データを、前記電子文書に埋め込む長期保存データ埋め込みステップと、
前記電子文書に埋め込まれた長期保存データを用いて有効性が検証される電子署名を、前記電子文書に対して行う署名ステップとを有することを特徴とする電子文書管理方法。
【請求項１１】
電子文書に対する電子署名が有効であることを示す長期保存データを、前記電子文書に埋め込む長期保存データ埋め込みステップと、
前記電子文書に埋め込まれた長期保存データを用いて有効性が検証される電子署名を、前記電子文書に対して行う署名ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子文書管理装置、電子文書管理方法、及びコンピュータプログラムに関し、特に、電子文書を管理するために用いて好適なものである。
【背景技術】
【０００２】
財務や税務関係の書類等のように、紙媒体として保存しておくことが法律として既定されている書類がある。ところが、近年のＩＴ（Information Technology）化の流れの中、従来は法律等によって紙媒体としての保存が義務づけられていた財務関連文書、税務関連文書、及び帳票等の電子的な保存を、原則として容認する法律が施行されている。かかる法律として、例えば、「民間事業者等が行う書面の保存等における情報通信の技術の利用に関する法律」がある。
【０００３】
このような法律によって、スキャナ等で書類を読み取る等して電子化した書類（以下、電子文書と称する）を法的証拠能力のあるものとして取り扱えることができるようになる。このようにして電子文書を法的証拠能力のあるものとする場合、電子文書を改竄できないようにする必要がある。
【０００４】
そこで、特許文献１に記載の技術には、将来的な確認や読み出しのために、電子文書を認定して安全に保管する技術が開示されている。かかる技術では、電子文書にハッシュ関数を適用して生成した文書フィンガープリントと、前記文書の認定時刻印であるタイムスタンプとを含む文書認定データを生成する。そして、文書認定データに対するデジタル署名を作成し、生成したデジタル署名と文書認定データとを、ユーザに送信したり、電子文書と同一のデータベースで管理したりする。このような文書認定データとデジタル署名とを使用することにより、ユーザは、電子文書のコピーの真正性を確認することができる。
【０００５】
【特許文献１】特開平１１−３３８７８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述した従来の技術では、電子文書と文書認定データとの関係が切れ易い。電子文書と文書認定データとの関係が切れると、電子文書が改竄されていないことを確認することが困難になる。
以上のように従来の技術では、電子文書が改竄されていないことを長期に亘って確認することが困難であるという問題点があった。
【０００７】
本発明は、このような問題点に鑑みてなされたものであり、電子文書が改竄されていないことを長期に亘って確実に確認することができるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の電子文書管理装置は、電子文書に対する電子署名が有効であることを示す長期保存データを、前記電子文書に埋め込む長期保存データ埋め込み手段と、前記電子文書に埋め込まれた長期保存データを用いて有効性が検証される電子署名を、前記電子文書に対して行う署名手段とを有することを特徴とする。
【０００９】
本発明の電子文書管理方法は、電子文書に対する電子署名が有効であることを示す長期保存データを、前記電子文書に埋め込む長期保存データ埋め込みステップと、前記電子文書に埋め込まれた長期保存データを用いて有効性が検証される電子署名を、前記電子文書に対して行う署名ステップとを有することを特徴とする。
【００１０】
本発明のコンピュータプログラムは、電子文書に対する電子署名が有効であることを示す長期保存データを、前記電子文書に埋め込む長期保存データ埋め込みステップと、前記電子文書に埋め込まれた長期保存データを用いて有効性が検証される電子署名を、前記電子文書に対して行う署名ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、電子文書に対する電子署名が有効であることを示す長期保存データを電子文書に埋め込み、その長期保存データを用いて有効性が検証される電子署名を電子文書に対して行うようにした。これにより、長期保存データの紛失を防止することができる。従って、電子文書が改竄されていないことを長期に亘って確実に確認することができるようになる。また、電子文書のポータビリティ（portability）を向上させることもできるようになる。
【００１２】
また、本発明の他の特徴によれば、長期保存データが前記電子文書に埋め込まれるのと略同時に、その長期保存データを用いて有効性が検証される電子署名を行うようにした。これにより、電子文書の改竄をより確実に防ぐことができるようになる。
【００１３】
また、本発明の他の特徴によれば、長期保存データと、その長期保存データを用いて有効性が検証される電子署名のデータとを対応付けるようにした。電子文書が改竄されていないことを検証する際に、どの電子署名がどの長期保存データとが対応付けられているのかを迅速に把握することができ、電子文書が改竄されていないことを迅速に検証することができるようになる。
【００１４】
また、本発明の他の特徴によれば、電子文書に埋め込まれた長期保存データを用いて有効性が検証される電子署名を、長期保存データが埋め込まれた電子文書に対して行うようにした。これにより、長期保存データ自体を電子署名で保護することができ、電子文書の改竄をより確実に防ぐことができるようになる。
【発明を実施するための最良の形態】
【００１５】
以下に、図面を参照しながら、本発明の一実施形態について説明する。本実施形態では、電子文書の長期保存の仕組みについて説明する。
＜システム構成＞
図１は、本実施形態に係る印刷システムの構成の一例を示す図である。
図１において、クライアント端末装置３００は、電子文書管理装置としての機能を有するコンピュータを備えた情報処理装置である。
クライアント端末装置３００は、その機能として、長期保存処理管理部３０１、長期保存データ処理部３０２、署名処理部３０３、検証処理部３０４、データ入出力処理部３０５、画像表示部３０６、及びデータ格納部３０７を有している。また、クライアント端末装置３００は、電話回線、ＬＡＮ、インターネット等のネットワーク５００を介して外部のデータベース装置４００等に接続されている。尚、ＬＡＮには、クライアント端末装置３００から送信された印刷ジョブに基づく印刷を実行する印刷装置等が接続されている。
【００１６】
データ格納部３０７には、不図示の文書処理アプリケーション等のアプリケーションプログラムにより作成されたアプリケーションデータファイルや、ＰＤＦに代表される構造化電子文書等が格納されている。また、データ格納部３０７には、クライアント端末装置３００の有するソフトウェア資源及びハードウェア資源のデータベース等も格納されている。
【００１７】
長期保存処理管理部３０１は、ＰＤＦに代表される構造化電子文書の長期保存を行うために、長期保存データ処理部３０２、署名処理部３０３、及び検証処理部３０４等の各処理部の制御や、長期保存を行う電子文書の作成及び更新等の処理を行う。
長期保存データ処理部３０２は、電子文書の検証を行う際に使用される長期保存データの作成及び検証等の処理を行う。また、署名処理部３０３は、電子文書に対して署名（デジタル署名）やタイムスタンプを付与する処理を行う。検証処理部３０４は、署名（デジタル署名）及びタイムスタンプが施された電子文書を、長期保存データを用いて検証する処理を行う。
【００１８】
データ入出力処理部３０５には、ネットワーク５００を介してデータベース装置３０１に接続されている。また、データ入出力処理部３０５には、キーボードやポインティングデバイス等の入出力デバイス３００ｅも接続されている。
画像表示部３０７は、ディスプレイ３００ｆに接続されており、種々の画像をディスプレイ３００ｆに表示させる。
データベース装置４００は、少なくともデータベースを保持するコンピュータを有する情報処理装置である。
【００１９】
＜ハードウェア構成＞
図２は、クライアント端末装置３００のハードウェアの構成の一例を示す図である。
図２において、クライアント端末装置３００は、ＣＰＵ３００ａ、メモリ３００ｂ、外部メモリ３００ｃ、Ｉ／Ｏインターフェース３００ｄ、入出力デバイス３００ｅ、及びディスプレイ３００ｆを有している。
【００２０】
ＣＰＵ３００ａは、メモリ３００ｂや外部メモリ３００ｃに格納されたプログラムを実行することにより、クライアント端末装置３００で実現される各種の処理を実行する。メモリ３００ｂは、例えば、ＲＯＭ及びＲＡＭを備えて構成され、外部メモリ３００ｃは、例えば、ハードディスクを備えて構成される。尚、フレキシブルディスク、ＣＤＲＯＭ、及びＤＶＤ等の取り外し可能な記憶媒体を、外部メモリ３００ｃとして備えるようにしてもよい。また、図１に示したデータ格納部３０６は、外部メモリ３００ｃの一部又は全部の領域を用いることにより実現することができる。
【００２１】
ディスプレイ３００ｆには画像が表示される。クライアント端末装置３００は、Ｉ／Ｏインターフェース３００ｄを介してネットワーク５００等に接続される。また、入出力デバイス３００ｅは、例えば、キーボード及びポインティングデバイスを備えたユーザインターフェースであり、オペレータは、入出力デバイス３００ｅを用いて必要に応じて入力操作を行う。
尚、図１に示したデータベース装置４００も、図２に示したハードウェアを用いることにより実現することができる。
【００２２】
＜長期保存を行う電子文書のフォーマット＞
図３は、電子文書の長期保存を行うためのデータであって、電子文書の検証を行う際に使用される長期保存データを含む電子文書の構成の一例を示した模式図である。以下の説明では、この長期保存データを含む電子文書を、必要に応じて長期保存文書と称する。この長期保存文書の電子文書フォーマットは、例えば、図３に示すように、既存の構造化された文書（例えばＰＤＦ）を拡張することにより実現することができる。
【００２３】
図３において、コンテンツデータ１０１は、例えば、画像情報、テキスト情報、及びグラフィック情報（スキャンイメージデータ）を含むデータであって、電子文書を構成するデータを含む。署名用の長期保存データ１０２は、長期保存文書の長期保存を行うためのデータである。この署名用の長期保存データ１０２は、署名（デジタル署名）を行うために必要な電子証明書１０２ａと、証明書チェーン１０２ｂと、ＣＲＬ（失効情報リスト）１０２ｃとを備えて構成される。ここで、証明書チェーン１０２ｂは、Ｒｏｏｔ（認証局）までの認証パス上の全ての電子証明書を含むものである。このＲｏｏｔ（認証局）までの認証パスは、電子証明書１０２ａを用いることにより得ることができる。また、ＣＲＬ１０２ｃは、証明書チェーン１０２ｂに含まれる電子文書に紐付けられている。
【００２４】
署名データ１０３は、コンテンツデータ１０１及び署名用の長期保存データ１０２を有効領域とするデータ（デジタル署名のデータ）である。タイムスタンプ用の長期保存データ１０４は、署名用の長期保存用データ１０２と同様に、タイムスタンプを行うために必要な電子証明書１０４ａと、証明書チェーン１０４ｂと、ＣＲＬ（失効情報リスト）１０４ｃとを備えて構成される。
【００２５】
タイムスタンプ１０５は、コンテンツデータ１０１、署名用の長期保存データ１０２、署名データ１０３、及びタイムスタンプ用の長期保存データ１０４を有効領域とするタイムスタンプである。
図３に示す長期保存文書が改竄されていない場合、タイムスタンプ１０５の電子証明書の有効期間内であって、且つタイムスタンプ１０５の電子証明書が失効していない期間内に、タイムスタンプ用の長期保存データ１０６及びタイムスタンプ１０７を取得する。そして、図４に示すように、タイムスタンプ用の長期保存データ１０６とタイムスタンプ１０７とを、図３に示した長期保存文書に付け加える。これによって、長期保存文書を長期に保存することが可能となる。
【００２６】
＜長期保存文書の作成処理（電子文書を長期保存文書へ変換する処理）＞
ここで、図５のフローチャートを参照しながら、ある電子文書を初めて長期保存文書として保存する（通常の電子文書を図３に示した長期保存文書へ変換する）際の処理を説明する。
まず、ステップＳ５０１において、長期保存処理管理部３０１は、署名に利用する電子証明書１０２ａを取得する。この電子証明書１０２ａは、例えば、信頼のおける第三者の認証機関（ＣＡ）が発行している証明書である。
【００２７】
次に、ステップＳ５０２において、長期保存データ処理部３０２は、ステップＳ５０１で取得された電子証明書１０２ａを用いて、署名用の長期保存データ１０２を作成する。尚、このステップＳ５０２の処理の詳細については、図６を参照しながら後述する。
次に、ステップＳ５０３において、署名処理部３０３は、ステップＳ５０２で作成した署名用の長期保存データ１０２を署名対象である電子文書内に埋め込む。
次に、ステップＳ５０４において、署名処理部３０３は、電子文書内に署名データ１０３を埋め込むことによって、署名処理を施す。
尚、ステップＳ５０３及びＳ５０４の処理は、略同時に行われる。また、ステップＳ５０３及びＳ５０４の処理の詳細については、図７を参照しながら後述する。
【００２８】
次に、ステップＳ５０５において、長期保存処理管理部３０１は、タイムスタンプ１０５に利用する電子証明書１０４ａを取得する。このタイムスタンプ１０５に利用する電子証明書１０４ａの発行元は、例えば、認証機関であるタイムスタンプ局（ＴＳＡ：Time Stamp Authority）である。
次に、ステップＳ５０６において、長期保存データ処理部３０２は、ステップＳ５０５で取得された電子証明書１０４ａを用いて、タイムスタンプ用の長期保存データ１０４を作成する。このステップＳ５０６の処理は、ステップＳ５０２と同様の処理となる。
【００２９】
次に、ステップＳ５０７において、署名処理部３０３は、ステップＳ５０６で作成されたタイムスタンプ用の長期保存データ１０４を電子文書内に埋め込む。
次に、ステップＳ５０８において、署名処理部３０３は、タイムスタンプデータ１０５を電子文書内に埋め込むことによって、署名処理を施す。
尚、ステップＳ５０７及びＳ５０８の処理は、略同時に行われる。また、ステップＳ５０７及びＳ５０８の処理の詳細については、図７を参照しながら後述する。
このようなステップＳ５０１〜Ｓ５０８の手順を踏むことによって、図３に示したような長期保存文書を作成することができる。
【００３０】
＜長期保存データ作成処理＞
図６は、図５のステップＳ５０２、Ｓ５０６に示した長期保存データ作成処理の一例を示すフローチャートである。
まず、ステップＳ６０１において、長期保存データ処理部３０２は、ステップＳ５０１（ステップＳ５０５）で取得された電子証明書１０２ａ、１０４ａを用いて、認証パス（電子証明書１０２ａ、１０４ａを認証するＲｏｏｔ（認証局）へのパス）を取得する。
次に、ステップＳ６０２において、長期保存データ処理部３０２は、証明書チェーン１０３ｂ、１０４ｂ（認証パス上の全ての電子証明書）を取得する。
次に、ステップＳ６０３において、長期保存データ処理部３０２は、ステップＳ６０２で取得した電子証明書に紐付いているＣＲＬ（失効情報リスト）を全て取得する。
最後に、ステップＳ６０４において、長期保存データ処理部３０２は、ステップＳ６０２、Ｓ６０３で取得した電子証明書１０２ａ、１０４ａ、証明書チェーン１０２ｂ、１０４ｂ、ＣＲＬ１０２ｃ、１０４ｃを、電子文書内に埋め込める形式にパッケージ化する。このパッケージ化されたデータが長期保存データ１０２、１０４である。
【００３１】
＜長期保存データの埋め込み処理と署名及びタイムスタンプの埋め込み処理＞
図７は、署名用の長期保存データ１０２及び署名データ１０３の埋め込み処理と、タイムスタンプ用の長期保存データ１０４及びタイムスタンプ１０５の埋め込み処理との一例を説明するフローチャートである。ここで、署名用の長期保存データ１０２の埋め込み処理と、署名データ１０３の埋め込み処理は、図５のステップＳ５０３、Ｓ５０４に示した処理である。また、タイムスタンプ用の長期保存データ１０４の埋め込み処理と、タイムスタンプ１０５の埋め込み処理は、図５のステップＳ５０７、Ｓ５０８に示した処理である。
【００３２】
署名データ１０３及びタイムスタンプ１０５を電子文書に付与する際に、署名データ１０３及びタイムスタンプ１０５が、電子文書内のどの長期保存データと紐付いているかを示す紐付け情報を付け加える必要がある。電子文書の検証処理を行う際に、この紐付け情報を元に、署名データ１０３（タイムスタンプ１０５）の検証と、長期保存データ１０２（長期保存データ１０４）の検証とを対で行う必要があるためである。また、長期保存データ１０２（長期保存データ１０４）を電子文書に埋め込むタイミングと、署名データ１０３（タイムスタンプ１０５）を電子文書に埋め込むタイミングとにタイムラグが生じると、電子文書が改竄される虞がある。以上のことから、長期保存データ１０２、１０４の埋め込み処理と、署名データ１０３及びタイムスタンプ１０５の埋め込み処理とを略同時に行う必要がある。
【００３３】
図７のステップＳ７０１において、署名処理部３０３は、長期保存データ格納辞書を生成し、生成した長期保存データ格納辞書の中に、長期保存データ１０２（長期保存データ１０４）を登録する。そして、これら全ての情報を電子文書内に埋め込む。
次に、ステップＳ７０２において、署名処理部３０３は、署名辞書（タイムスタンプ辞書）を生成する。この時点ではまだ署名処理自体は行われない。署名データ１０３（タイムスタンプ１０５）は、ステップＳ７０４で署名処理が実行された後に、この署名辞書（タイムスタンプ辞書）の中に格納される。
【００３４】
次に、ステップＳ７０３において、署名処理部３０３は、ステップＳ７０２で生成した署名辞書（タイムスタンプ辞書）のオブジェクト番号を取得する。そして、署名処理部３０３は、取得した署名辞書（タイムスタンプ辞書）のオブジェクト番号を、ステップＳ７０１で生成した長期保存データ格納辞書に挿入する。これにより、長期保存データと署名辞書（タイムスタンプ辞書）との紐付けが行われたことになる。
最後に、ステップＳ７０４において、署名処理を実行し、署名データ１０３（タイムスタンプ１０５）を、ステップＳ７０２で作成した署名辞書（タイムスタンプ辞書）に格納する。
【００３５】
図８は、図７の処理を行った際の長期保存文書の内部のデータの一例を示した図である。尚、図８では、電子文書がＰＤＦである場合を例に挙げて示しているが、長期保存データと署名及びタイムスタンプデータとを紐付けることが出来れば、電子文書はＰＤＦでなくてもよい。
図８において、署名処理部３０３は、署名するページ辞書８０１に紐付いたページピース辞書（拡張辞書）８０２を生成する（図７のステップＳ７０１）。次に、署名処理部３０３は、ページピース辞書８０２内に、長期保存データ用のキー（/LongTermKeepData）８０３を生成する（図７のステップＳ７０１）。次に、署名処理部３０３は、アプリケーションデータ辞書８０４を生成する（図７のステップＳ７０１）。次に、署名処理部３０３は、長期保存データ用の拡張ストリーム（Stream）オブジェクト８０５を生成する（図７のステップＳ７０１）。
【００３６】
次に、署名処理部３０３は、署名辞書（タイムスタンプ辞書）８０６を生成する（図７のステップＳ７０２）。次に、署名処理部３０３は、ストリームオブジェクト８０５に、署名辞書（タイムスタンプ辞書）８０６のオブジェクト番号（Index）８０７と、長期保存データ８０８及びそのデータサイズ８０９とを入れる（図７のステップＳ７０３）。
尚、図８では、長期保存データ８０８と署名辞書（タイムスタンプ辞書）８０６とを紐付ける紐付け情報を、長期保存データ８０８を格納しているストリームオブジェクト８０５内で保持した場合を例に挙げて説明した。しかしながら、これとは反対に、ストリームオブジェクト８０５のオブジェクト番号（Index）を、署名辞書（タイムスタンプ辞書）８０６側に保持しても構わない。
【００３７】
＜長期保存文書の更新処理＞
次に、図９のフローチャートを参照しながら、長期保存文書に対してタイムスタンプを付与する際の処理の一例について説明する。
まず、ステップＳ９０１において、検証処理部３０４は、長期保存文書の検証処理を行う。このステップＳ９０１の処理の詳細については、図１０を参照しながら後述する。
次に、ステップＳ９０２において、長期保存処理管理部３０１は、ステップＳ９０１で行われた長期保存文書の検証の結果、長期保存文書が改竄されているか否かを判定する。この判定の結果、改竄がなければステップＳ９０３へ進み、改竄があれば処理を終了する。
【００３８】
ステップＳ９０３〜Ｓ９０６の処理は、図５に示した長期保存文書作成処理のステップＳ５０５〜Ｓ５０８と同様の処理である。すなわち、長期保存処理管理部３０１は、ステップＳ９０５において、タイムスタンプ１０６に利用する電子証明書１０６ａを取得する。尚、ステップＳ９０５では、タイムスタンプ１０５の電子証明書１０４ａの有効期間内であって、且つタイムスタンプ１０５の電子証明書１０４ａが失効していない期間内に、タイムスタンプ１０６に利用する電子証明書１０６ａを取得するようにする。
【００３９】
次に、長期保存データ処理部３０２は、ステップＳ９０６において、タイムスタンプ１０６に利用する電子証明書１０６ａを用いて、タイムスタンプ用の長期保存データ１０６を作成する。そして、署名処理部３０３は、ステップＳ９０７において、作成されたタイムスタンプ用の長期保存データ１０６を長期保存文書内に埋め込み、ステップＳ９０８において、タイムスタンプデータ１０７を長期保存文文書内に埋め込むことによって、署名処理を施す。
以上のステップＳ９０３〜Ｓ９０６の処理によって、図３に示した長期保存文書が図４に示した長期保存文書として更新される。以降、３回目、４回目とタイムスタンプの更新を行う度に長期保存データ１０６とタイムスタンプ１０７を長期保存文書に付け加えていくことによって、電子文書の長期保存を実現することができる。
【００４０】
＜長期保存文書の検証処理＞
図１０は、図９のステップＳ９０１に示した長期保存文書検証処理の一例を説明するフローチャートである。この長期保存文書検証処理では、長期保存文書が改竄されていないことと、全てのタイムスタンプが有効期限の切れる前に付与されたものであることとを検証する。
まず、ステップＳ１００１において、検証処理部３０４は、長期保存文書を解析し、長期保存文書内に付与されているタイムスタンプの数を求め、求めたタイムスタンプの数を変数Ｎに代入する。
【００４１】
次に、ステップＳ１００２において、検証処理部３０４は、全てのタイムスタンプについて検証処理が終了したか否かを判定する。この判定の結果、全てのタイムスタンプについて検証処理が終了していなければ、終了するまで後述するステップＳ１００３〜Ｓ１００７の処理を繰り返す。そして、全てのタイムスタンプについて検証処理が終了したら後述するステップＳ１００８へ進む。
【００４２】
ステップＳ１００３では、検証処理部３０４は、長期保存電子文書の中からＮ番目のタイムスタンプ用の長期保存データ１０６を取得する。即ち検証処理部３０４は、タイムスタンプ用の長期保存データ群の中から、Ｎ番目のタイムスタンプのオブジェクト番号を含むタイムスタンプ用の長期保存データを検出することで、Ｎ番目のタイムスタンプと紐付いたタイムスタンプ用の長期保存データを取得する。
次に、ステップＳ１００４において、長期保存データ処理部３０２は、取得したＮ番目のタイムスタンプ用の長期保存データに改竄がないかどうかを検証する処理を行う。このステップＳ１００４の処理の詳細については、図１１を参照しながら後述する。
【００４３】
次に、ステップＳ１００５において、検証処理部３０４は、処理対象中のタイムスタンプ１０７の検証（通常の検証処理）を行う。
次に、ステップＳ１００６において、検証処理部３０４は、ステップＳ１００４の長期保存データの検証結果と、ステップＳ１００５のタイムスタンプの検証結果とに基づいて、長期保存データ及びタイムスタンプが共に改竄がされているか否かを判定する。
この判定の結果、Ｓ６０４、Ｓ６０５の検証の結果、長期保存データ及びタイムスタンプが共に改竄されていなければ、ステップＳ１００７に進み、検証処理部３０４は、変数Ｎから１を減算してステップＳ１００２に戻る。一方、長期保存データ及びタイムスタンプの少なくとも何れか一方が改竄されていれば、図９のフローチャートに戻る。
【００４４】
全てのタイムスタンプと全てのタイムスタンプ用の長期保存データについて検証処理を行った結果、全てのタイムスタンプと全てのタイムスタンプ用の長期保存データとが改竄されていなかった場合には、ステップＳ１００８に進む。ステップＳ１００８では、検証処理部３０４は、署名用の長期保存データ１０３を、ステップＳ１００３と同様の方法で取得する。
次に、ステップＳ１００９において、長期保存データ処理部３０２は、ステップＳ１００４と同様にして、署名用の長期保存データ１０３が改竄されていないかどうかを検証する。このステップＳ１００９の詳細については、図１１を参照しながら後述する。
【００４５】
次に、ステップＳ１０１０において、検証処理部３０４は、署名データ１０３の検証を行う。
次に、ステップＳ１０１１において、検証処理部３０４は、ステップＳ１００９の長期保存データの検証結果と、ステップＳ１０１０の署名データの検証結果とに基づいて、長期保存データ及び署名データが共に改竄がされているか否かを判定する。そして、図９に示したフローチャートに戻る。
【００４６】
＜長期保存データ検証処理＞
図１１は、図１０のステップＳ１００４、Ｓ１００９に示した長期保存データ検証処理の一例を説明する図である。
まず、ステップＳ１１０１において、長期保存データ処理部３０２は、パッケージ化された長期保存データ１０２、１０４、１０６を解析する。そして、電子証明書１０２ａ、１０４ａ、１０６ａ、証明書チェーン１０２ｂ、１０４ｂ、１０６ｂ、及びＣＲＬ１０２ｃ、１０４ｃ、１０６ｃを取得する。
【００４７】
次に、ステップＳ１１０２において、長期保存データ処理部３０２は、ＣＲＬ１０２ｃ、１０４ｃ、１０６ｃのファイルを、ＣＡ証明書で検証する。そして、ステップＳ１１０３において、長期保存データ処理部３０２は、ＣＲＬ１０２ｃ、１０４ｃ、１０６ｃのファイルのリストに電子証明書が登録されていないかどうかを確認する。
次に、ステップＳ１１０４において、長期保存データ処理部３０２は、電子証明書１０２ａ、１０４ａ、１０６ａをＣＡ証明書で検証する。ステップＳ１１０２〜Ｓ１１０４の全てにおいて改竄されていなければ、署名データ１０３若しくはタイムスタンプ１０５、１０７の電子証明書が、署名若しくはタイムスタンプを付与した時点で有効であったと言える。
【００４８】
以上のように本実施形態では、署名用の長期保存データ１０２と、タイムスタンプ用の長期保存データ１０４、１０６とを長期保存文書内に保持するようにした。長期保存データをデータベース等で長期保存文書と関連付けて別々に管理すると、電子文書の可搬性（portability）に問題が生じる。また、長期保存データと電子文書とのリンクが切れると、長期保存データと長期保存文書との関係を元に戻すことが困難であり、長期保存データと長期保存文書との関係が脆弱になる。これに対し、本実施形態では、前述したように、署名用の長期保存データ１０２と、タイムスタンプ用の長期保存データ１０４、１０６とを長期保存文書内に保持するようにした。これにより、長期保存データと長期保存文書との関係を強固にすることができ、長期保存データの紛失を防止することができる。従って、長期保存文書が改竄されていないことを長期に亘って確実に確認することができる。また、電子文書のポータビリティ（portability）を向上させることもできる。
【００４９】
また、本実施形態では、署名用の長期保存データ１０２を署名データ１０３で保護すると共に、タイムスタンプ用の長期保存データ１０４、１０６をタイムスタンプ１０５、１０７で保護するようにした。これにより、長期保存データの検証時における信頼性を向上させることができ、長期保存文書の改竄をより確実に防ぐことができる。
【００５０】
さらに、本実施形態では、署名用の長期保存データ１０２を長期保存文書に埋め込む処理に続けて、署名データ１０３を長期保存文書に埋め込む処理を行い、これらの処理を略同時に行うようにした。また、タイムスタンプ用の長期保存データ１０４、１０６を長期保存文書に埋め込む処理に続けて、タイムスタンプ１０５、１０７を長期保存文書に埋め込む処理を行い、これらの処理を略同時に行うようにした。従って、署名用の長期保存データ１０２と署名データ１０３（タイムスタンプ用の長期保存データ１０４、１０６とタイムスタンプ１０５、１０７）とを埋め込むタイミングにタイムラグが発生することを防止することができる。これにより、長期保存文書の改竄をより確実に防止することができる。
【００５１】
また、本実施形態では、署名用の長期保存データ１０２と署名データ１０３とを紐付けると共に、タイムスタンプ用の長期保存データ１０４、１０６とタイムスタンプ１０５、１０７とを紐付けるようにした。従って、全ての長期保存データと署名データ（タイムスタンプ）とを比較する必要がなくなり、長期保存文書の検証時にどの署名データ（タイムスタンプ）がどの長期保存データと対応するのかを迅速に把握することができる。これにより、長期保存文書の検証の時間を短縮することができる。
【００５２】
さらに、前述したように、本実施形態では、長期保存データ１０２、１０４、１０６と署名データ１０３（タイムスタンプ１０５、１０７）とを略同時に電子文書に埋め込むようにした。これにより、長期保存データ１０２、１０４、１０６と署名データ１０３（タイムスタンプ１０５、１０７）とを紐付ける紐付け情報を、長期保存データ１０２、１０４、１０６に格納することができる。従って、署名データ１０３（タイムスタンプ１０５、１０７）にプライベートな情報を格納することを防止することができる。よって、例えば、長期保存文書をＰＤＦとする場合には、ＰＤＦの仕様に適した形で、長期保存データ１０２、１０４、１０６と署名データ１０３（タイムスタンプ１０５、１０７）とを紐付けることができる。
【００５３】
尚、本実施形態では、電子文書フォーマットがＰＤＦ（Portable Document Format）である場合を例に挙げて説明を行ったが、電子文書フォーマットは、ＰＤＦに限定されない。ＳＶＧ（Scaleable Vector Graphic）等の構造化電子文書であれば、電子文書フォーマットは、どのようなものであってもよい。
【００５４】
（本発明の他の実施形態）
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給してもよい。そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００５５】
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになる。また、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５６】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでない。そのプログラムコードがコンピュータにおいて稼働しているオペレーティングシステムあるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００５７】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードに備わるＣＰＵが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
また、供給されたプログラムコードがコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいて機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【００５８】
なお、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施形態を示し、印刷システムの構成の一例を示す図である。
【図２】本発明の実施形態を示し、クライアント端末装置のハードウェアの構成の一例を示す図である。
【図３】本発明の実施形態を示し、長期保存文書の構成の一例を示した図である。
【図４】本発明の実施形態を示し、タイムスタンプが付け加えられた長期保存文書の構成の一例を示した図である。
【図５】本発明の実施形態を示し、電子文書を初めて長期保存文書として保存する際の処理の一例を説明するフローチャートである。
【図６】本発明の実施形態を示し、長期保存データ作成処理の一例を示すフローチャートである。
【図７】本発明の実施形態を示し、署名用の長期保存データ及び署名データの埋め込み処理と、タイムスタンプ用の長期保存データ及びタイムスタンプの埋め込み処理との一例を説明するフローチャートである。
【図８】本発明の実施形態を示し、長期保存文書の内部のデータの一例を示した図である。
【図９】本発明の実施形態を示し、長期保存文書に対してタイムスタンプを付与する際の処理の一例について説明するフローチャートである。
【図１０】本発明の実施形態を示し、長期保存文書検証処理の一例を説明するフローチャートである。
【図１１】本発明の実施形態を示し、長期保存データ検証処理の一例を説明する図である。
【符号の説明】
【００６０】
１０１  コンテンツデータ
１０２  署名用の長期保存データ
１０２ａ、１０４ａ、１０６ａ  証明書
１０２ｂ、１０４ｂ、１０６ｂ  証明書チェーン
１０２ｃ、１０４ｃ、１０６ｃ  ＣＲＬ
１０３  署名データ
１０４、１０６  タイムスタンプ用の長期保存データ
１０５、１０７  タイムスタンプ
８０１  ページ辞書
８０２  ページピース辞書
８０３  長期保存データ用のキー
８０４  アプリケーションデータ辞書
８０５  ストリームオブジェクト
８０６  署名辞書（タイムスタンプ辞書）
８０７  署名辞書（タイムスタンプ辞書）
８０８  長期保存データのオブジェクト番号
８０９  長期保存データのデータサイズ
【図１】
2007304982.tif 000003
【図２】
2007304982.tif 000004
【図３】
2007304982.tif 000005
【図４】
2007304982.tif 000006
【図５】
2007304982.tif 000007
【図６】
2007304982.tif 000008
【図７】
2007304982.tif 000009
【図８】
2007304982.tif 000010
【図９】
2007304982.tif 000011
【図１０】
2007304982.tif 000012
【図１１】
2007304982.tif 000013