(57)【要約】【課題】  電子文書フォーマットの変換が必要になったときに、電子署名の有効性を継続しつつフォーマット変換して長期保存処理を継続することである。【解決手段】  電子文書のフォーマットを電子文書生成時のフォーマット形式から他のフォーマット形式に変換する。そして、フォーマット変換前の電子文書に基づく第１のハッシュ値と、フォーマット変換後の電子文書から生成される第２のハッシュ値とを、長期保存データに保持させる。そして、長期保存データに保持されている第１のハッシュ値と第２のハッシュ値とを比較して、電子文書の改竄性を判定する（Ｓ１００９）ことを特徴とする。【選択図】  図１３
2008211290.tif 000002
【特許請求の範囲】
【請求項１】
電子文書を処理するデータ処理装置であって、
前記電子文書と、前記電子文書を署名するための長期保存データとを関連付けて記憶する記憶手段と、
前記電子文書のフォーマットを電子文書生成時のフォーマット形式から他のフォーマット形式に変換する変換手段と、
前記変換手段によるフォーマット変換前の電子文書に基づく第１のハッシュ値と、前記変換手段によるフォーマット変換後の電子文書から生成される第２のハッシュ値とを、前記長期保存データに保持させる保持手段と、
前記長期保存データに保持されている前記第１のハッシュ値と前記第２のハッシュ値とを比較して、前記電子文書の改竄性を判定する判定手段と、
を有することを特徴とするデータ処理装置。
【請求項２】
前記保持手段は、前記変換手段によるフォーマット変換毎に、前記第１のハッシュ値を生成される第２のハッシュ値に基づいて更新することを特徴とする請求項１記載のデータ処理装置。
【請求項３】
証明されたタイムスタンプを取得する取得手段と、
前記取得手段により取得されるタイムスタンプを前記電子文書に付加する付加手段と、
を有することを特徴とする請求項１記載のデータ処理装置。
【請求項４】
前記電子文書は、スキャナ装置により読み取られた画像データを含むことを特徴とする請求項１〜３のいずれかに記載のデータ処理装置。
【請求項５】
前記第１のハッシュ値は、前記電子文書の本体データに関連付けられた元データから生成することを特徴とする請求項１記載のデータ処理装置。
【請求項６】
前記第２のハッシュ値は、前記変換手段によるフォーマット変換後の電子文書の本体データから生成することを特徴とする請求項１記載のデータ処理装置。
【請求項７】
前記本体データは、スキャナ装置により読み取られた画像データを含むことを特徴とする請求項６記載のデータ処理装置。
【請求項８】
電子文書と、前記電子文書を署名するための長期保存データとを関連付けて記憶する記憶手段を備えて、電子文書を処理するデータ処理装置におけるデータ処理方法であって、
前記電子文書のフォーマットを電子文書生成時のフォーマット形式から他のフォーマット形式に変換する変換工程と、
前記変換工程によるフォーマット変換前の電子文書に基づく第１のハッシュ値と、前記変換工程によるフォーマット変換後の電子文書から生成される第２のハッシュ値とを、前記長期保存データに保持させる保持工程と、
前記長期保存データに保持されている前記第１のハッシュ値と前記第２のハッシュ値とを比較して、前記電子文書の改竄性を判定する判定工程と、
を有することを特徴とするデータ処理方法。
【請求項９】
前記保持工程は、前記変換工程によるフォーマット変換毎に、前記第１のハッシュ値を生成される第２のハッシュ値に基づいて更新することを特徴とする請求項８記載のデータ処理方法。
【請求項１０】
証明されたタイムスタンプを取得する取得工程と、
前記取得工程により取得されるタイムスタンプを前記電子文書に付加する付加工程と、
を有することを特徴とする請求項８記載のデータ処理方法。
【請求項１１】
前記電子文書は、スキャナ装置により読み取られた画像データを含むことを特徴とする請求項８〜１０のいずれかに記載のデータ処理方法。
【請求項１２】
前記第１のハッシュ値は、前記電子文書の本体データに関連付けられた元データから生成することを特徴とする請求項８記載のデータ処理方法。
【請求項１３】
前記第２のハッシュ値は、前記変換工程によるフォーマット変換後の電子文書の本体データから生成することを特徴とする請求項８記載のデータ処理方法。
【請求項１４】
前記本体データは、スキャナ装置により読み取られた画像データを含むことを特徴とする請求項１３記載のデータ処理方法。
【請求項１５】
請求項８〜１４のいずれかに記載のデータ処理方法をコンピュータに実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項１６】
請求項８〜１４のいずれかに記載のデータ処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子文書を処理するデータ処理装置の電子署名処理に関するものである。
【背景技術】
【０００２】
従来より、特定業種、例えば財務や税務業務において、業務に関する書類などを紙媒体として、一定期間保存しておくことが法律で規定されている書類がある。
【０００３】
近年、ＩＴ化の流れの中でそれら書類を電子化して得られたスキャンデータを保存することで、法的証拠能力のあるものとして取り扱えるという法律が施行され始めている。
【０００４】
例えば、2004年11月、法律等によって保存が義務づけられている財務・税務関連文書や帳票等の電子的な保存を原則として容認するe文書法が成立し、2005年4月に施行された。ここで、e文書法とは、民間事業者等が行う書面の保存等における情報通信の技術の利用に関する法律である。これにより、企業が電子文書を活用するために最後に残っていた法的規制を緩め、さらなる日本社会のIT化を実現するものとして注目されている。
【０００５】
これら法律では、書類を電子化したスキャンデータを改竄できないようにする仕組みが求められている。
【０００６】
その手段として、電子署名やタイムスタンプといった技術が存在するが、今後は、電子署名を行った日時が特定でき、長期保存データを電子証明書の有効期間内かつ失効していないうちに取得する。そして、その上で、タイムスタンプを付けるなどして、情報を取得した日時及び変更がされていないことを長期にわたって確認する仕組みが求められている。
【０００７】
ここで、長期保存データとは、電子署名の電子証明書、電子証明書の失効情報、認証パスの認証局の電子証明書等が含まれる。
【０００８】
以後、このような電子文書の利用形態を、電子文書と電子署名を両方保管するという点に着目して「電子署名文書の長期保存」と呼ぶ。
【０００９】
これは、「タイムスタンプの有効期限が切れてしまう前に『たしかに現時点でこのタイムスタンプが有効でした』という証拠データを揃えてタイムスタンプを押すことで、新しいタイムスタンプの有効期限まで延命しよう」というアイデアに基づいている。
【００１０】
このような、電子署名によって長期間にわたる電子文書の信頼性を確保する方法は、下記特許文献１に開示されているように現在検討が進められている段階にある。
【００１１】
ところで、「電子署名文書の長期保存」を行う手段においては、次の４点について特に法律で規定されていないため、次のような問題が起こりえる。
【００１２】
第１に、ポータビリティに関する規定がない。
【００１３】
つまり、長期保存データを、データベース等で電子文書と関連付けて、別々に管理する方法が各社で提案されているが、ポータビリティに問題があり、データベースへのリンクが切れると関係を元に戻すことが困難なため、脆弱となる。
【００１４】
第２に、長期保存データ自体が正しいことを証明する規定がない。
【００１５】
つまり、長期保存データ自体の保護について規定がないため、長期保存データが改竄されたときに、検出できない恐れがある。
【００１６】
第３に、長期保存データと電子署名を付加するタイミングに関する規定がない。
【００１７】
つまり、長期保存データと電子署名の付加の間にタイムラグが生じると、改竄される恐れがある。
【００１８】
第４に、長期保存データと電子署名の関連づけに関する規定がない。
【００１９】
つまり、どの署名に対する長期保存データであるかの関連づけが存在しないと、全ての長期保存データと署名データに含まれる証明書等を比較する必要があるため、複数の長期保存データが存在する場合、検証の際に非常に時間がかかる。
【００２０】
このような第１〜第４の問題を解決するために、PDF等の電子文書フォーマットを用いて、長期保存用データを電子文書内に含めることでポータビリティを高め、かつ、長期保存データを署名で保護し、署名情報と紐付けることで、長期間にわたって長期保存用データの正当性を保証する仕組みがある。
【００２１】
また、下記特許文献２には、画像送信装置において、電子ドキュメントデータを生成する際に、ドキュメントコンテンツデータ（文書・画像データ）とドキュメントプログラム（処理プログラム）の両方を対で持つ電子ドキュメントファイルデータとして生成する。
【００２２】
一方、画像受信装置においては、どのようなアプリケーションプログラムも必要とすることなく、つまり自己解凍形式にて、その電子ドキュメントを表示・編集・保存・印刷処理が可能となる。また、電子ドキュメントの経時可読性を保証できる等が記載されている。
【００２３】
また、e文書オプションではe文書法国税対応を予定している（2006年5月MR予定）。国税の必須要件としては、電子署名を行った日時が特定でき、長期保存用データ（電子署名の電子証明書、電子証明書の失効情報、認証パスの認証局の電子証明書）を電子証明書の有効期間内かつ失効していないうちに取得する。その上で、タイムスタンプを付けるなどして、情報を取得した日時及び変更がされていないことを長期にわたって確認することができることである。
【００２４】
このようなe文書オプションでは、PDFに対して「長期保存データ」と呼ばれるデータをドキュメント内に含めた上で署名する、という「長期保存署名」が検討されている（DMS、PDFTK、PFチーム）。
【００２５】
例えば e文書法では紙文書をスキャンしたものを長期保存することが可能となったため、DMSでは、スキャンデータをPDF化して長期保存することを検討している。上記方法は、長期保存データをドキュメント内に含めているためポータビリティが高く、また、長期保存データを署名で保護するため、長期にわたってデータの正当性を保障することが可能である。
【特許文献１】特開２００５−６３２６８号公報
【特許文献２】特開平１１−７３３８１号公報
【発明の開示】
【発明が解決しようとする課題】
【００２６】
上述したとおり長期保存データを電子文書内に含めることでポータビリティを高め、かつ、長期保存データを署名で保護し、署名情報と紐付けることで、長期間にわたって長期保存用データの正当性を保証する仕組みについて提案されている。
【００２７】
つまり、「電子署名文書の長期保存」を行うことによって、長期間にわたる電子文書の信頼性を確保することが可能である。
【００２８】
一方で、長期保存する電子文書のフォーマットは、閲覧者の環境（PC環境等）を考慮すると広く普及したフォーマットであることが望ましい。
【００２９】
しかし、ある電子文書フォーマットが数十年といった長期にわたって広く普及した電子文書フォーマットであるとは限らない。
【００３０】
数十年の間に、より利便性のある新文書フォーマットが普及している可能性がある。
【００３１】
このため、現在普及している、例えばPDFのような文書フォーマットが20年後も主流なフォーマットであるとは限らない（より便利な文書フォーマットが普及している可能性がある）。
【００３２】
そのためある時点で、より便利な文書フォーマットへ移行することが望ましいが、現在検討されている「長期保存署名」では、文書フォーマットを変更してしまうと、改竄とみなされてしまうという問題点がある。
【００３３】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、データベースに署名付きで保存される電子文書のフォーマットを変換しても改竄されていない事を保証できる仕組みを提供することである。
【課題を解決するための手段】
【００３４】
上記目的を達成する本発明のデータ処理装置は以下に示す構成を備える。
【００３５】
電子文書を処理するデータ処理装置であって、前記電子文書と、前記電子文書を署名するための長期保存データとを関連付けて記憶する記憶手段と、前記電子文書のフォーマットを電子文書生成時のフォーマット形式から他のフォーマット形式に変換する変換手段と、前記変換手段によるフォーマット変換前の電子文書に基づく第１のハッシュ値と、前記変換手段によるフォーマット変換後の電子文書から生成される第２のハッシュ値とを、前記長期保存データに保持させる保持手段と、前記長期保存データに保持されている前記第１のハッシュ値と前記第２のハッシュ値とを比較して、前記電子文書の改竄性を判定する判定手段とを有することを特徴とする。
【発明の効果】
【００３６】
以上説明したように、本発明によれば、電子文書フォーマットの変換が必要に場合に、電子署名の有効性を継続しつつフォーマット変換して長期保存処理を継続することができる。
【発明を実施するための最良の形態】
【００３７】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００３８】
＜システム構成の説明＞
〔第１実施形態〕
図１は、本発明の第１実施形態を示すデータ処理装置の一例を示すブロック図である。なお、本実施形態では、データ処理装置が処理可能な電子文書フォーマットとしてPDFを例に説明を行っていくが、SVG等の構造化された文書であれば本発明を適用できる。また、以下、電子文書の長期保存を行うためのデータである長期保存データを含む電子文書を長期保存文書と呼ぶものとする。
【００３９】
図１において、クライアント３００は、電子文書保存装置としての機能を有するコンピュータ等のデータ処理装置である。なお、クライアント３００のハードウエアについては、後述する。
【００４０】
クライアント３００には、長期保存文書の作成や更新等の処理を行う長期保存処理管理部３００−１を備える。また、クライアント３００には、長期保存データの作成および検証処理を行う長期保存データ処理部３００−２を備える。
【００４１】
また、クライアント３００には、電子文書に対して署名やタイムスタンプを付加する処理を行う署名処理部３００−３を備える。クライアント３００には、署名、タイムスタンプが施された電子文書に対して、検証処理を行う検証処理部３００−４を備える。さらに、クライアント３００には、データ入出力処理部３００−５、ディスプレイ３００−８が接続された画像表示部３００−７等を備える。
【００４２】
さらに、文書処理アプリケーションなどのアプリケーションプログラムにより作成されたアプリケーションデータファイルや、本実施形態で用いるＰＤＦに代表される構造化文書等を格納するためのデータ格納部３００−６等が含まれる。
【００４３】
また、データ格納部３００−６には、クライアント３００の有するソフトウェア資源及びハードウエア資源のデータベースも保存されている。また、クライアント３００は、電話回線やＬＡＮ、インターネット等のネットワーク３０２を介して外部のデータベース３０１等に接続されている。
【００４４】
また、認証局（ＣＡ）から発行された公開鍵証明書に基づく鍵情報もデータ格納部３００−６に記憶されている。
【００４５】
長期保存処理管理部３００−１では、公知のＰＤＦやＳＶＧ等に代表される構造化文書の長期保存を行うために、長期保存データ処理部３００−２、署名処理部３００−３、検証処理部３００−４等の各処理部の制御を行う。また、長期保存処理管理部３００−１では、長期保存文書の作成や更新等の処理を行う。
【００４６】
さらに、データ入出力処理部３００−５は、ネットワーク３０２を介してデータベース３０１（少なくともデータベースを保持するコンピュータ等の情報処理装置）に接続されている。また、キーボードやポインティングデバイス等の入出力デバイスもデータ入出力処理部３００−５に接続されているものとしている。
【００４７】
＜ハードウエアの構成例＞
図２は、図１に示したデータ処理装置のハードウエア構成を説明するブロック図である。
【００４８】
図２において、メモリ３００ｂに格納されたプログラムを、ＣＰＵ３００ａにより各種のデータ処理を実行することで実現される。また、プログラムは、ハードディスク等の外部メモリ３００ｃに格納される。外部メモリ３００ｃは、フレキシブルディスクやＣＤＲＯＭ等の取り外し可能な記憶媒体を用いるものであっても良い。
【００４９】
また、データ格納部３００−６は、外部メモリ３００ｃの一部領域として実現することができる。ディスプレイ３００−８には画像が表示され、Ｉ／Ｏインターフェース３００ｄを介してネットワーク３０２等に接続される。また、キーボード（Ｋ／Ｂ）３００ｅやポインティングデバイスにより、オペレータは必要に応じて入力を行う。
【００５０】
〔長期保存電子文書のフォーマット〕
まず、電子文書の長期保存を行うためのデータである長期保存データを含む電子文書（以後、この文書を長期保存文書と呼ぶ）のフォーマットについて説明する。
【００５１】
図３は、本実施形態を示すデータ処理装置に適用可能な第１の長期保存文書のフォーマットを説明する図である。なお、図３の長期保存文書のフォーマットは、既存の構造化された文書（たとえば、PDFなど）を拡張したものでもよい。
【００５２】
図３において、Contentsデータ１０１には画像情報やテキスト情報、グラフィック情報と言った電子文書を構成するコンテンツデータが格納されている。
【００５３】
長期保存データ（署名用）１０２は、長期保存を行うためのデータが格納されている。
【００５４】
具体的には、図３に示すように、長期保存データ（署名用）１０２は、署名を行うために必要な証明書１０２−１、Root（認証局（ＣＡ））までのすべての証明書（証明書チェーン）１０２−２を含む。さらに、長期保存データ（署名用）１０２は、証明書チェーン１０２−２に紐づいたすべてのCRL（失効情報リスト）１０２−３を含む。
【００５５】
署名データ１０３は、Contentsデータ１０１および長期保存データ１０２を有効領域とする署名データである。
【００５６】
長期保存データ（タイムスタンプ用）部１０４は、長期保存データ（署名用）１０２と同様の構成からなる。
【００５７】
タイムスタンプ部１０５は、Contentsデータ１０１、長期保存データ（署名用）１０２、署名データ１０３、長期保存データ（タイムスタンプ用）を有効領域とするタイムスタンプである。
【００５８】
図４に示す例は、タイムスタンプが更新されるたびに増えるタイムスタンプ部１０５，１０７を示している。
【００５９】
図４は、本実施形態を示すデータ処理装置に適用可能な第２の長期保存文書のフォーマットを説明する図である。
【００６０】
本例は、図３に示したような長期保存文書に対して、タイムスタンプ部１０５の証明書の有効期間内で、かつ失効していないうちに、長期保存データ（タイムスタンプ用）１０６を取得する。そして、取得した長期保存データ（長期保存データＬＴＤ２）にタイムスタンプ部１０７を付け加えていくことによって長期保存を可能とする例である。
【００６１】
本フォーマットは、図３に示した第１の長期保存文書のフォーマットに対して長期保存データ部１０６、タイムスタンプ部１０７を付け加えたものである。ここで、タイムスタンプ部１０５には、タイムスタンプＴＳ１が設定され、タイプスタンプ部１０６には、タイムスタンプＴＳ２が設定された例である。
【００６２】
同様に、長期保存データ（タイムスタンプ用）部１０４には、長期保存データＬＴＤ１が設定され、長期保存データ（タイムスタンプ用）部１０６には、長期保存データＬＴＤ２が設定された例である。
【００６３】
〔長期保存文書作成処理（電子文書を長期保存電子文書へ変換する処理）〕
図５Ａは、本実施形態を示すデータ処理装置における第１のデータ処理手順の一例を示すフローチャートである。本例は、ある電子文書を初めて長期保存文書として保存する処理例である。より具体的には、通常の電子文書から図３に示したような長期保存文書へ変換する際の処理例である。
【００６４】
なお、Ｓ４０１〜Ｓ４０８は各ステップを示す。各ステップは、ＣＰＵ３００ａが外部メモリ３００ｃに格納された制御プログラムをメモリ３００ｂにロードして実行することで実現される。
【００６５】
なお、Ｓ４０１、Ｓ４０５の処理や処理全体の制御は、図１に示した長期保存処理管理部３００−１にて行われる。また、Ｓ４０２、Ｓ４０６の処理は、図１に示した長期保存データ処理部３００−２にて行われる。さらに、Ｓ４０３、Ｓ４０４、Ｓ４０７、Ｓ４０８の処理は、図１に示した署名処理部３００−３にて行われる。
【００６６】
まず、Ｓ４０１にて、長期保存処理管理部３００−１が署名に利用する証明書を取得する。通常、信頼のおける第三者の認証機関（ＣＡ）が発行している証明書を用いるのが一般的である。
【００６７】
Ｓ４０２にて、長期保存データ処理部３００−２が取得した証明書をもとにして署名用の長期保存データ１０２を作成する（詳細は後述：「長期保存データ作成処理」参照）。次に、Ｓ４０３にて、署名処理部３００−３が作成した署名用の長期保存データ１０２を署名対象である電子文書内に埋め込む。
【００６８】
次に、Ｓ４０４にて、署名処理部３００−３が電子文書内に署名データ１０３を埋め込むことによって、署名処理を施す。そして、Ｓ４０５にてタイムスタンプに利用する証明書を取得する。
【００６９】
なお、タイムスタンプに利用する証明書の発行元は認証機関であるタイムスタンプ局（TSA：Time Stamp Authority）であるのが一般的である。
【００７０】
そして、Ｓ４０６にて、取得した証明書をもとにしてタイムスタンプ用の長期保存データ１０４を作成する（Ｓ４０２と同様の処理）。
【００７１】
次に、Ｓ４０７にて、署名処理部３００−３が作成したタイムスタンプ用の長期保存データ１０４を電子文書内に埋め込む。
【００７２】
次に、Ｓ４０８にて、署名処理部３００−３がPDF内にタイムスタンプデータ部１０５にタイムスタンプＴＳ１を付加することで、署名処理を施す。
【００７３】
このような手順を踏むことによって、図３に示したような長期保存文書を作成することができる。
【００７４】
〔長期保存データ作成処理〕
図５Ｂは、本実施形態を示すデータ処理装置における第３のデータ処理手順の一例を示すフローチャートである。本例は図５Ａに示したＳ４０２の長期保存データ作成処理の詳細手順に対応する。なお、Ｓ４０２−１〜Ｓ４０２−４は各ステップを示す。各ステップは、ＣＰＵ３００ａが外部メモリ３００ｃに格納された制御プログラムをメモリ３００ｂにロードして実行することで実現される。本処理はすべて長期保存データ処理部３００−２にて行われる。
【００７５】
まず、Ｓ４０２−１にて、長期保存データ処理部３００−２が署名に利用する証明書から認証パス（証明書を認証する認証局へのパス）を取得する。そして、Ｓ４０２−２にて、長期保存データ処理部３００−２がRoot（認証局）までの証明書(証明書チェーン)全てを取得する。
【００７６】
そして、Ｓ４０２−３で、長期保存データ処理部３００−２が処理にて取得したすべての証明書に紐づいているCRL（失効情報）をすべて取得する。
【００７７】
最後に、Ｓ４０２−４処理にて、長期保存データ処理部３００−２がＳ４０２−１で取得した証明書、Ｓ４０２−２で取得した証明書チェーン、CRLを電子文書内に埋め込める形式にパッケージ化して、本処理を終了する。このパッケージ化されたデータが、図３，図４に示す長期保存データ１０２に対応する。
【００７８】
〔長期保存文書の更新処理〕
次に、作成した長期保存文書に対して、タイムスタンプ部１０５の証明書の有効期間内かつ失効していない内に、長期保存データ（タイムスタンプ用）１０６を取得する。そして、取得した長期保存データ（タイムスタンプ用）１０６をタイムスタンプ１０７を付け加えていくことによって長期保存を行うことができる。
【００７９】
図６は、本実施形態を示すデータ処理装置における第２のデータ処理手順の一例を示すフローチャートである。本例は長期保存文書に対してタイムスタンプを付加する処理手順に対応する。なお、Ｓ５０２、Ｓ５０３の処理や処理全体の制御は長期保存処理管理部３００−１にて行われる。Ｓ５０１は検証処理部３００−４にて行われる。Ｓ５０４は長期保存データ処理部３００−２にて行われる。Ｓ５０５、Ｓ５０６の処理は長期保存処理管理部３００−１にて行われる。各ステップは、ＣＰＵ３００ａが外部メモリ３００ｃに格納された制御プログラムをメモリ３００ｂにロードして実行することで実現される。
【００８０】
まず、Ｓ５０１で、検証処理部３００−４が詳細は後述する長期保存文書の検証処理を行う。次に、Ｓ５０２で、長期保存処理管理部３００−１が検証の結果改竄がないかどうかを判断する。ここで、改竄がないと判断した場合はＳ５０３へ移行し、改竄があると判断した場合は、本処理を終了する。
【００８１】
次に、Ｓ５０３〜Ｓ５０５の処理は、長期保存文書作成処理（図５Ａ参照）時のＳ４０５〜Ｓ４０８と同様の処理である。
【００８２】
すなわち、Ｓ５０３で、長期保存処理管理部３００−１がタイムスタンプ用の証明書を取得する。次に、Ｓ５０４で、長期保存データ処理部３００−２がタイムスタンプ用の長期保存データＬＴＤ２を作成し、Ｓ５０５で、長期保存処理管理部３００−１が電子文書内に埋め込。
【００８３】
そして、最後に、Ｓ５０６で、長期保存処理管理部３００−１がタイムスタンプ１０７を電子文書に付加する処理を行い、本処理を終了する。
【００８４】
これによって図１に示したような長期保存文書が図２に示したような長期保存文書へ更新される。以降、３回目、４回目とタイムスタンプの更新を行う度に長期保存データ部１０６とタイムスタンプ部１０７を長期保存文書に付け加えていくことによって、電子文書の長期保存を実現することができる。
【００８５】
〔長期保存文書の検証処理〕
ここでは、長期保存文書が改竄されていないこと、かつすべてのタイムスタンプが有効期限切れの前に付加されたものであることを検証する処理について説明する。
【００８６】
図７Ａは、本実施形態を示すデータ処理装置における第３のデータ処理手順の一例を示すフローチャートである。本例は長期保存文書に対してタイムスタンプを付加する処理手順に対応する。なお、Ｓ６０１〜Ｓ６１１は各ステップを示す。また、Ｓ６０４とＳ６０８の処理は長期保存データ処理部３００−２で行われる。それ以外の処理は検証処理部３００−４にて行われる。各ステップは、ＣＰＵ３００ａが外部メモリ３００ｃに格納された制御プログラムをメモリ３００ｂにロードして実行することで実現される。
【００８７】
まず、Ｓ６０１にて、検証処理部３００−４が長期保存文書を解析し、長期保存文書内に付加されているタイムスタンプの数を求めて変数Ｎに代入する。
【００８８】
次に、Ｓ６０２にて、検証処理部３００−４がすべてのタイムスタンプについて検証処理が終了したか判断する。ここでは、変数Ｎが「０」かどうかを判断する。
【００８９】
ここで、検証処理部３００−４が変数Ｎが「０」であると判断した場合は、Ｓ６０７へ進み、変数Ｎが「０」でないと判断した場合は、終了するまでＳ６０３〜Ｓ６０６の処理を繰り返し、終了したらＳ６０７へ以降する。
【００９０】
次に、Ｓ６０３にて、検証処理部３００−４が長期保存電子文書の中からＮ番目のタイムスタンプの長期保存データ部１０６を取得する。そして、Ｓ６０４にて、長期保存データ処理部３００−２が取得したＮ番目の長期保存データに改竄がないかどうかを検証する処理を行う。長期保存データ検証処理の詳細については後述する。
【００９１】
そして、Ｓ６０５にて、検証処理部３００−４が処理対象中のタイムスタンプ１０７の検証を行う（通常の検証処理）。そして、Ｓ６０６で、検証処理部３００−４がＳ６０４、Ｓ６０５の検証の結果、ともに改竄があるかどうかを判断する。
【００９２】
ここで、検証処理部３００−４が改竄がないと判断した場合は、改竄がないと判断した場合は、Ｓ６１１で、次のタイムスタンプ（長期保存データ部１０６およびタイムスタンプ部１０７）の検証処理を行うため、変数Ｎから「１」を減算する。そして、Ｓ６０２へ移行する。
【００９３】
一方、Ｓ６０６で、検証処理部３００−４が改竄があると判断した場合は、本処理を終了する。
【００９４】
一方、Ｓ６０２で、検証処理部３００−４がすべてのタイムスタンプについて検証処理を行い、且つ改竄がなかったと判断した場合は、Ｓ６０７へ移行する。
【００９５】
そして、Ｓ６０７にて、署名用の長期保存データ１０２を取得し、Ｓ６０８にて、長期保存データ処理部３００−２がＳ６０４同様に長期保存データ１０２に改竄がないかどうかを検証処理を行い、Ｓ６０９に進む。そして、Ｓ６０９で、長期保存データ処理部３００−２が署名検証を行う。
【００９６】
そして、Ｓ６１０で、検証処理部３００−４がＳ６０７、Ｓ６０８の検証の結果、ともに改竄がなければ改竄なしと結論付ける。
【００９７】
一方、Ｓ６１０で、検証処理部３００−４がＳ６０４、Ｓ６０５の検証の結果、ともに改竄があると判断した場合は、改竄ありと結論付ける。
【００９８】
〔長期保存データ検証処理〕
図７Ｂは、本実施形態を示すデータ処理装置における第４のデータ処理手順の一例を示すフローチャートである。本例はＳ６０４で、長期保存データ処理部３００−２が取得したＮ番目の長期保存データに改竄がないかどうかを検証する処理の詳細手順に対応する。なお、Ｓ６０４−１〜Ｓ６０４−４は各ステップを示す。各ステップは、ＣＰＵ３００ａが外部メモリ３００ｃに格納された制御プログラムをメモリ３００ｂにロードして実行することで実現される。
【００９９】
まず、Ｓ６０４−１にて、長期保存データ処理部３００−２がパッケージ化された長期保存データを解凍し、証明書、証明書チェーン、CRLを取得する。
【０１００】
次に、Ｓ６０４−２にて、CRLファイルをCA証明書で検証し、Ｓ６０４−３にてCRLファイルリストに証明書が登録されていないかをチェックする。そして、Ｓ６０４−４にて証明書をCA証明書で検証する。
【０１０１】
なお、Ｓ６０４−２〜Ｓ６０４−４のすべてにおいて改竄なされていなければ、署名もしくはタイムスタンプの証明書が失効していないことを示す。
【０１０２】
〔長期保存電子文書のフォーマット〕
上記電子文書の処理では、署名用長期保存データ１０２とタイムスタンプ用長期保存データ１０４は同様のフォーマットを用いる場合について説明した。以下、署名用とタイムスタンプ用で異なるフォーマットを使用する例について以下説明する。
【０１０３】
図８は、本実施形態を示すデータ処理装置に適用可能な第３の長期保存文書のフォーマットを説明する図である。本例の電子文書は、長期保存を行うためのデータである長期保存データを含む例である。
【０１０４】
なお、図３に示したフォーマットと異なる点は、長期保存データ（署名用）７０２の構成である。また、長期保存データ（タイムスタンプ用）については図３と同じフォーマットである。
【０１０５】
図８において、本例の長期保存データ（署名用）７０２は、図３で示した長期保存データ（署名用）１０２（証明書１０２−１、証明書チェーン１０２−２、CRL１０２−３）に対して以下のものが加えられる。本例では、画像データハッシュ値７０２−４、旧データハッシュ値７０２−５を加えたものである。
【０１０６】
画像データハッシュ値７０２−４には、電子文書内に含まれる画像データすべてのハッシュ値が格納される。また、旧データハッシュ値７０２−５には、長期保存文書に対してファイルフォーマット変換があった場合にのみ、変換前のデータ全体のハッシュ値が格納される。
【０１０７】
これにより、原稿の電子文書のフォーマットが、上記ＰＤＦフォーマットから他の電子文書のフォーマットに変更されても、それ自体を改竄としてしまうことなくなる。そして、新たな電子文書フォーマットに対しても電子文書の改竄有無を継続して検証することができる。
【０１０８】
つまり、長期保存データに画像データハッシュ値７０２−４、旧データハッシュ値７０２−５を加える拡張を行う構成とすることで、電子文書の長期保存において、署名の有効性を継続した電子文書フォーマット変換が可能となる。
【０１０９】
すなわち、新文書に含まれる元文書のハッシュ値（第１のハッシュ値に対応する）から元データを特定し、かつ、新文書に含まれる画像データのハッシュ値（第２のハッシュ値に対応する）を計算する。そして、元文書に含まれる画像データの第１、第２のハッシュ値とを比較することによってフォーマット変換時に少なくとも画像データの改竄が行われていないかの検証を行うことが可能となる。
【０１１０】
更に、元文書と新文書それぞれに対して改竄がなかったかの検証を行うことが可能であるため、署名の有効性を継続した電子文書フォーマット変換が可能となる。以下、より具体例について詳述する。
【０１１１】
〔長期保存文書の作成処理〕
長期保存文書作成処理の全体の流れは、上述した図５Ａと同様であるが、長期保存データ（署名用）の作成方法のみ異なる（タイムスタンプ用長期保存データ作成方法は上記と同様）。そのため、ここでは処理全体の説明は省略し、長期保存データ（署名用）の作成方法にについて説明する。
【０１１２】
図９は、本実施形態を示すデータ処理装置における第５のデータ処理手順の一例を示すフローチャートである。本例は、長期保存データ処理部３００−２による長期保存データ（署名用）作成処理の手順に対応する。なお、Ｓ８０１〜Ｓ８０７は各ステップを示す。各ステップは、ＣＰＵ３００ａが外部メモリ３００ｃに格納された制御プログラムをメモリ３００ｂにロードして実行することで実現される。
【０１１３】
まず、Ｓ８０１にて、長期保存データ処理部３００−２が署名に利用する証明書から認証パス（証明書を認証する認証局へのパス)を取得し、Ｓ８０２にてRoot（認証局）までの証明書(証明書チェーン)全てを取得する。
【０１１４】
次に、Ｓ８０３にて、長期保存データ処理部３００−２が取得したすべての証明書に紐ずいているCRL（失効情報）をすべて取得する。そして、Ｓ８０４にて、長期保存データ処理部３００−２が電子文書内の画像データをすべて取得し、すべて圧縮のかかっていないRawデータへ変換する。なお、Rawデータを含む電子文書は、外部メモリ３００ｃに、例えば図４並びに、図１２Ａ、図１２Ｂに示すデータ構造で記憶されている。
【０１１５】
ここで、図１０を参照して、Rawデータの構造について説明する。
【０１１６】
図１０は、本実施形態を示すデータ処理装置で処理可能なRawデータのデータ構造を説明する図である。なお、本実施形態において、Rawデータとは、実際の画素データＩＭとヘッダデータＨＥＤとからなる。
【０１１７】
図１０において、RawデータＲＡＷＤは、ヘッダデータＨＥＤとして、画像データの縦、横の画素数ＴＰＣ、ＹＰＣ、成分数（RGBの画像であれば「３」）ＣＣ、および１成分あたりのビット数ＢＴＣが含まれる。そして、Rawデータは、さらに実際の画素データＩＭが含まれる。なお、Rawデータは実際の画素データＩＭを保持し、かつ圧縮のかかっていないデータである。
【０１１８】
図１０に示す例において画素データは、１画素あたり２４ビット（成分数×１成分あたりのビット数）であり、それが縦×横の分だけ順に格納されている。
【０１１９】
次に、Ｓ８０５にて、長期保存データ処理部３００−２が取得したすべてのRawデータＲＡＷＤから１つのハッシュ値を取得する。ここで、ハッシュ値とは、元データから生成される固定長の擬似乱数でのことであり、ハッシュ値を生成する関数はハッシュ関数と呼ばれる一般的なものである）以降、このハッシュ値を画像データハッシュ値として扱う。
【０１２０】
なお、本実施形態では、画像データハッシュ値としてRawデータから一つのハッシュ値を求めることとした。
【０１２１】
しかしながら、変換前の文書と変換後の文書内に含まれる画像データが同一の形式であるとわかっている場合は、Rawデータに変換した後にハッシュ値を計算するのではなく、画像データそのものからハッシュ値を計算しても構わない。ここで、同一の画像データ形式とは、例えばBMPやJPEG等のことである。
【０１２２】
そして、Ｓ８０６にて、旧データのデータ全体のハッシュ値を取得する。この処理は、長期保存文書に対してファイルフォーマット変換があった場合にのみ、変換前のデータ全体のハッシュ値を取得し格納するものである。
【０１２３】
なお、ファイルフォーマット変換がなかった際には、この処理は行わないものとする。この場合、旧データハッシュ値は空となる。
【０１２４】
次に、Ｓ８０７の処理にて、Ｓ８０１〜Ｓ８０５で取得した証明書、証明書チェーン、CRL、画像データハッシュ値を、圧縮する等の処理を施してパッケージ化する。このデータが長期保存データである。
【０１２５】
〔長期保存文書の更新処理〕
図１１は、本実施形態を示すデータ処理装置における第６のデータ処理手順の一例を示すフローチャートである。本例は、長期保存文書の更新処理の際の処理の手順に対応する。なお、Ｓ９０１〜Ｓ９１４は各ステップを示す。各ステップは、ＣＰＵ３００ａが外部メモリ３００ｃに格納された制御プログラムをメモリ３００ｂにロードして実行することで実現される。
【０１２６】
なお、Ｓ９０１は検証処理部３００−４にて、Ｓ９０５は長期保存データ処理部３００−２にて、Ｓ９０６、Ｓ９０７、Ｓ９１３、Ｓ９１４は署名処理部３００−３、それ以外の処理は長期保存処理管理部３００−１にて行われる。
【０１２７】
まず、Ｓ９０１で、検証処理部３００−４が長期保存文書の検証処理を行う。詳細については図１３を参照して後述する。
【０１２８】
次に、Ｓ９０２で、長期保存処理管理部３００−１が検証の結果改竄がされているか否かを判断する。ここで、長期保存処理管理部３００−１が改竄がされていないと判断した場合は、Ｓ９０３の処理へ移行し、改竄があると判断した場合は、本処理を終了する。
【０１２９】
次に、Ｓ９０３にて、長期保存文書のフォーマットを変換するかどうかを判断する。本実施形態では、署名を行う際にオペレータが判断することとする。ここで、文書フォーマットを変換しないと判断した場合、Ｓ９０４へ移行し、変換すると判断した場合、Ｓ９０８へ移行する。ここで、フォーマット変換しない場合、前述の署名方法と同等の処理となる。つまりＳ９０４〜Ｓ９０７については前述のＳ５０３〜Ｓ５０６までの処理と同様である。よってここでは説明は省略する。なお、Ｓ９０７で、電子文書に証明されたタイムスタンプが付加される。
【０１３０】
そこで、Ｓ９０３で、フォーマット変換を行うと判断した場合、Ｓ９０８にて、長期保存処理管理部３００−１がフォーマット変換前のデータ（以降、旧データと呼ぶ）をデータベース３０１に保存しておく。
【０１３１】
次に、Ｓ９０９にて、長期保存処理管理部３００−１が旧データから別の電子文書フォーマット（以降、新フォーマットと呼ぶ）へ変換する。
【０１３２】
なお、この際、長期保存処理管理部３００−１は、適宜コンバート処理に必要なアプリケーションを利用してフォーマット変換処理する。
【０１３３】
この際、画像情報やテキスト情報、グラフィック情報などの電子文書を構成するコンテンツを新フォーマットへ変換し、特に長期保存データや署名等の電子文書を長期保存するための情報は引き継がないルールとする。ここで、コンテンツとは、図４に示すコンテンツデータ１０１に対応する。
【０１３４】
このルールを満たす変換であれば、新フォーマットへの変換方法は本実施形態では特に問わないが、PDF文書からXML文書へ変換する処理の例については、図１４を参照して後述する。
【０１３５】
次に、Ｓ９１０にて、長期保存処理管理部３００−１が文書フォーマット変換時の長期保存データ（署名用）作成処理を行う（詳細は後述）。そして、Ｓ９１１にて、長期保存処理管理部３００−１が、図８に示した長期保存データ（署名用）内の画像データハッシュ値同士を新ファイルフォーマットと変換前の旧データ間で比較する。画像データハッシュ値同士のうち、旧データハッシュ値が第１のハッシュ値に対応し、画像データハッシュ値が第２のハッシュ値に対応する。
【０１３６】
ここで、長期保存処理管理部３００−１が、このハッシュ値同士が一致すると判断した場合は、旧データと新フォーマットデータ間で少なくとも画像データの改竄が行われていないと言えるため、Ｓ９１３へ移行する。
【０１３７】
本実施形態では、外部メモリ３００ｃに確保されるデータベースには、電子文書が長期保存データとともに記憶されている。そして、長期保存データには、電子文書登録時に、電子文書から生成されるハッシュ値（電子文書生成時のハッシュ値）が第１のハッシュ値として登録される。そして、後述する図１２Ｂに示すように、元データとなる電子文書のフォーマットを変更する場合に、元データ全体のハッシュ値、或いは画像データのハッシュ値を、変換後の長期保存データに書き加える。さらに、フォーマット変換された新データとなる電子文書から生成された第２のハッシュ値も長期保存データに書き加えて外部メモリ３００ｃに保持される。以後、フォーマット変換毎に、第１、第２のハッシュ値が更新されることで、電子文書のフォーマットが変換されても、改竄とみなすことなく長期保存される電子文書に対する署名処理を継続して行うことができる。
【０１３８】
なお、フォーマット変更される前後の電子文書の改竄性は、長期保存データに保持されている第１のハッシュ値である画像データハッシュ値７０２−４Ａと第２のハッシュ値である旧データハッシュ値７０２−５とを比較する。そして、その比較結果に基づいて、電子文書の改竄性を判定する（Ｓ９１１）。
【０１３９】
また、第１のハッシュ値は、電子文書の本体データに関連付けられた元データから生成している。
【０１４０】
ここで、第２のハッシュ値は、Ｓ９０９による新フォーマット変換後の電子文書の本体データから生成する。また、本体データは、図１２Ａ，図１２Ｂに示すようにスキャナ装置により読み取られた画像データを含む構成となっている。
【０１４１】
一方、Ｓ９１２で、長期保存処理管理部３００−１が、ハッシュ値同士が一致しないと判断した場合は、フォーマット変換が正常に行われなったと判断して、本処理を終了させる。
【０１４２】
次に、Ｓ９１３にて、署名処理部３００−３が作成した署名用の長期保存データを署名対象である電子文書内に埋め込む。次に、Ｓ９１４にて、署名処理部３００−３が電子文書内に署名データを埋め込むことによって、署名処理を施して、Ｓ９１４へ進む。
【０１４３】
図１２Ａ，図１２Ｂは、本実施形態を示すデータ処理装置で処理可能な長期保存文書の構造を説明する図である。本例は、変換前の元データ（ａ）を変更後の新データ（ｂ）との対応を示す。
【０１４４】
図１２Ａにおいて、旧データ全体のハッシュを旧データハッシュ値に代入することで、新フォーマットの長期保存データ７０２の旧ハッシュ値７０２−５に格納される。
【０１４５】
より具体的には、図１２Ｂの（ａ）に示すように、元データ（ａ）内の長期保存データ７０２内の画像データハッシュ値７０２−４Ｂは、フォーマット変換により、以下のように更新される。
【０１４６】
図１２Ｂの新データ（ｂ）に示すように、フォーマットが、例えばＰＤＦからＸｍｌに変換された場合、元データ（ａ）全体である旧データのハッシュ値が、長期保存データ７０２の旧データハッシュ値７０２−５に格納される。また、新規データ用の画像データハッシュ値７０２−４Ａには、新フォーマットの画像データ等に基づいて生成された画像データハッシュ値７０２−４Ａが格納される。ここで、画像データ等は、上記Ｒａｗデータを含む。
【０１４７】
これにより、技術の進歩等により、長期保存すべきデータのフォーマットが変更される事態が生じても、改竄であるとして管理できなくなるという不都合を解消できる。
【０１４８】
つまり、本実施形態に示すように、長期保存データとして旧データのハッシュ値と、画像のＲａｗデータのハッシュ値を持つことで、元電子文書と、新電子文書間における改竄の検証が可能となり有益である。
【０１４９】
〔検証時の処理〕
図１３は、本実施形態を示すデータ処理装置における第９のデータ処理手順の一例を示すフローチャートである。本例は、長期保存文書の検証時の際の処理の手順に対応する。なお、Ｓ１００１〜Ｓ１０１０は各ステップを示す。各ステップは、ＣＰＵ３００ａが外部メモリ３００ｃに格納された制御プログラムをメモリ３００ｂにロードして実行することで実現される。
【０１５０】
なお、Ｓ１００１、Ｓ１００７は検証処理部３００−４にて、Ｓ１００３、Ｓ１００４は長期保存データ処理部３００−２にて、それ以外の処理は長期保存処理管理部３００−１にてそれぞれ行われる。
【０１５１】
まず、Ｓ１００１にて、検証処理部３００−４が前述のようにタイムスタンプに基づく検証処理を図７Ａに示す処理と同様の処理を行う。次に、Ｓ１００２で、長期保存処理管理部３００−１が検証の結果、改竄されているかどうかを判断する。ここで、長期保存処理管理部３００−１が改竄されていると判断した場合は、「改竄あり」として本処理を終了する。
【０１５２】
一方、Ｓ１００２で、改竄されていないと判断された場合は、Ｓ１００３へ移行する。そして、Ｓ１００３にて、長期保存データ処理部３００−２が長期保存電子文書から長期保存データ７０２を取得する。
【０１５３】
そして、Ｓ１００４で、長期保存データ処理部３００−２が長期保存データ（署名用）７０３内に旧データハッシュ値７０２−５が存在するかどうかを判断する。つまり、長期保存データ７０２内に旧データハッシュ値７０２−５が存在するかどうかを判断することで、電子文書のフォーマットが変更されたか否かを判断することができる。ここで、長期保存データ処理部３００−２が旧データハッシュ値７０２−５が存在すると判断した場合は、過去にファイルフォーマット変換が行われていたと判断して、Ｓ１００５へ移行する。
【０１５４】
一方、Ｓ１００４で、長期保存データ処理部３００−２が旧データハッシュ値７０２−５が存在しないと判断した場合は、ファイルフォーマット変換が行われていない通常通りの長期保存電子文書であると判断して、本処理を終了する。
【０１５５】
そして、Ｓ１００５にて、長期保存処理管理部３００−１が旧データハッシュ値７０２−５をキーとして旧データをデータベース３０１内から検索する。
【０１５６】
なお、Ｓ９０８にて旧データをデータベース３０１に保存する際、旧データのハッシュ値をファイル名として保存する等の処理を施しておくことで、ハッシュ値をキーとした検索も可能となる。
【０１５７】
そして、Ｓ１００６で、長期保存処理管理部３００−１が該当するハッシュ値のファイルが存在するかどうかを判断する。ここで、長期保存処理管理部３００−１が該当するハッシュ値のファイルが存在しないと判断した場合は、新フォーマットへの変換時に改竄があったかどうかを検証することができない。そこで、改竄ありと判断して、本処理を終了する。つまり、旧データハッシュ値が存在する場合に、旧データの本体がデータベース３０１上に存在しない場合は、改竄が実行されたものとみなして、処理を終了する。
【０１５８】
なお、その際に、改竄検証結果を、電子文書のフォーマット変換の処理の有無と合わせて、ユーザに通知する制御を加えてもよい。
【０１５９】
一方、Ｓ１００６で、長期保存処理管理部３００−１が該当するハッシュ値のファイルがデータベース３０１上に存在すると判断した場合は、Ｓ１００７へ移行する。そして、Ｓ１００７にて、検証処理部３００−４が旧データの検証処理を行う。これは、図７Ａで説明した処理と同様に、長期保存データ処理部３００−２による署名検証処理である。
【０１６０】
そして、Ｓ１００８で、長期保存処理管理部３００−１が検証処理部３００−４により検証した結果、改竄がされているかどうかを判断する。ここで、長期保存処理管理部３００−１が改竄がされていると判断した場合は、本処理を終了する。
【０１６１】
一方、Ｓ１００８で、長期保存処理管理部３００−１が改竄されていないと判断した場合は、Ｓ１００９に進む。そして、Ｓ１００９で、長期保存処理管理部３００−１が、新フォーマットデータと変換前の旧データのそれぞれが保持している長期保存データ（署名用）内の画像データハッシュ値同士を比較する。
【０１６２】
そして、Ｓ１０１０で、長期保存処理管理部３００−１が画像データハッシュ値同士が一致する場合、旧データと新フォーマットに基づくデータとの間で少なくとも画像データの改竄が行われていないと判断する。
【０１６３】
一方、長期保存処理管理部３００−１が画像データハッシュ値同士が一致しないと判断した場合は、改竄ありと判定して、本処理を終了する。
【０１６４】
なお、更に検証の信頼性を高めるために、新フォーマットデータに含まれる画像データから画像データハッシュ値を計算し直して、長期保存データ（署名用）内の画像データハッシュ値７０２−４と比較する処理を加えてもよい。また、一致しないと判定した場合に、当該画像データハッシュ値を計算し直す処理を加えて、検証処理効率と検証信頼性を高めるように構成してもよい。
【０１６５】
これにより、Ｓ１００１の処理で、従来通り長期保存文書の検証が可能となる。また、Ｓ１００３〜Ｓ１００７の処理で、旧データ長期保存文書の検証が可能となり、Ｓ１００９、Ｓ１０１０で、現長期保存文書と旧長期保存文書（旧データ）の変換の過程で改竄がなかったを検証することが可能となる。
【０１６６】
〔文書フォーマット変換処理の例〕
以下、文書フォーマット変換処理の例として、PDF文書からXML文書へ変換する具体的な処理について説明する。
【０１６７】
ここでは、画像データ部分の変換方法についてのみ説明し、他のデータ（文書の構造情報や、ページの構成を示す情報、テキスト情報、線などの図形情報等）の変換方法については省略する。
【０１６８】
図１４は、本実施形態を示すデータ処理装置における第８のデータ処理手順の一例を示すフローチャートである。本例は、文書フォーマット変換処理の手順に対応する。なお、Ｓ１１０１〜Ｓ１１０６は各ステップを示す。各ステップは、ＣＰＵ３００ａが外部メモリ３００ｃに格納された制御プログラムをメモリ３００ｂにロードして実行することで実現される。
【０１６９】
図１５、図１６は、本実施形態を示すデータ処理装置におけるデータ変換処理対象データの一例を示す図である。図１５は、変換前の文書であるPDF文書の中から、画像データを扱う部分について抜き出したものである。
【０１７０】
一方、図１６は変換後のXML文書の中から画像データを扱う部分について抜き出したものである。
【０１７１】
まず、Ｓ１１０１にて、ＣＰＵ３００ａが元文書であるPDF内のオブジェクト（object）をメモリ３００ｂ上に読み込む。そして、Ｓ１１０２で、オブジェクトのタイプを判定する。
【０１７２】
ここで、オブジェクトのタイプには、例えば、文書の構造情報、ページの構成を示す情報、テキスト情報、線などの図形情報（グラフィックス）、画像情報等がある。
【０１７３】
オブジェクトは、例えば図１５に示したようにOjectTypeがXobjectであり（１）、かつSubTypeがImage（２）であった場合、画像オブジェクトであると判定される。他のオブジェクトも同様にTypeやSubTypeを解析することによってオブジェクトタイプを判定することが可能である。
【０１７４】
そして、Ｓ１１０２にて、画像オブジェクトであると判定された場合、Ｓ１１０３にて、図１５に示すStreamデータ（８）を読み込む。
【０１７５】
このStreamデータが実際の画像データであり、図１５に示した例では、横幅１００（３）、縦幅１００（４）、１色成分ごとに８ビットのJPEG圧縮データ（７）である。
【０１７６】
次に、Ｓ１１０４で、ＣＰＵ３００ａは、読み込んだ図１５に示すStreamデータ（８）を変換後のファイルフォーマットであるXMLフォーマットで扱える形式に変換する。なお、変換すべきフォーマットがXMLの場合には、画像を扱うためにはBase６４エンコード化したラスタ画像にする必要がある。
【０１７７】
次に、Ｓ１１０５で、ＣＰＵ３００ａは、図１６に示すようにXML画像Tagを生成する。そして、ＣＰＵ３００ａは、すべてのオブジェクトに対して処理するまで、Ｓ１１０３〜Ｓ１１０５を繰り返す。
【０１７８】
なお、本実施形態では、Ｓ１１０２で、OjectTypeが画像の場合について説明したが、OjectTypeがグラフィックス又はテキストにおいても、同様のステップでデータ変換処理を行う。
【０１７９】
これにより、電子文書フォーマットの長期保存を行う上で、フォーマット変換が必要になったときに署名の有効性を継続しつつフォーマット変換を行える。
【０１８０】
本実施形態では、画像データと画像データのハッシュ値を含む電子文書（元文書）を、他のフォーマット形式（新文書）に変換する際に、新文書内に元文書のデータハッシュ値を持たせる構成としている。そして、長期保存すべきデータの電子署名によるデータ改竄性の検証を、フォーマットを変更した後も継続することができる。
【０１８１】
つまり、上記実施形態によれば、電子文書の長期保存において、署名の有効性を継続した電子文書フォーマット変換が可能となる。
【０１８２】
〔第２実施形態〕
以下、図１７に示すメモリマップを参照して本発明に係るデータ処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１８３】
図１７は、本発明に係るデータ処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１８４】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１８５】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１８６】
本実施形態における図５Ａ，図５Ｂ，図６，図７Ａ，図７Ｂ，図９，図１１，図１３，図１４に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１８７】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１８８】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１８９】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１９０】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１９１】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１９２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１９３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１９４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９６】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１９７】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【０１９８】
【図１】本発明の第１実施形態を示すデータ処理装置の一例を示すブロック図である。
【図２】図１に示したデータ処理装置のハードウエア構成を説明するブロック図である。
【図３】本実施形態を示すデータ処理装置に適用可能な第１の長期保存文書のフォーマットを説明する図である。
【図４】本実施形態を示すデータ処理装置に適用可能な第１の長期保存文書のフォーマットを説明する図である。
【図５Ａ】本実施形態を示すデータ処理装置に適用可能な第２の長期保存文書のフォーマットを説明する図である。
【図５Ｂ】本実施形態を示すデータ処理装置における第１のデータ処理手順の一例を示すフローチャートである。
【図６】本実施形態を示すデータ処理装置における第２のデータ処理手順の一例を示すフローチャートである。
【図７Ａ】本実施形態を示すデータ処理装置における第３のデータ処理手順の一例を示すフローチャートである。
【図７Ｂ】本実施形態を示すデータ処理装置における第４のデータ処理手順の一例を示すフローチャートである。
【図８】本実施形態を示すデータ処理装置に適用可能な第３の長期保存文書のフォーマットを説明する図である。
【図９】本実施形態を示すデータ処理装置における第５のデータ処理手順の一例を示すフローチャートである。
【図１０】本実施形態を示すデータ処理装置で処理可能なRawデータのデータ構造を説明する図である。
【図１１】本実施形態を示すデータ処理装置における第６のデータ処理手順の一例を示すフローチャートである。
【図１２Ａ】本実施形態を示すデータ処理装置で処理可能な長期保存文書の構造を説明する図である。
【図１２Ｂ】本実施形態を示すデータ処理装置で処理可能な長期保存文書の構造を説明する図である。
【図１３】本実施形態を示すデータ処理装置における第７のデータ処理手順の一例を示すフローチャートである。
【図１４】本実施形態を示すデータ処理装置における第８のデータ処理手順の一例を示すフローチャートである。
【図１５】本実施形態を示すデータ処理装置におけるデータ変換処理対象データの一例を示す図である。
【図１６】本実施形態を示すデータ処理装置におけるデータ変換処理対象データの一例を示す図である。
【図１７】本発明に係るデータ処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０１９９】
３００  クライアント
３００−１  長期保存処理管理部
３００−２  長期保存データ処理部
３００−３  署名処理部
３００−４  検証処理部
３００−５  データ入出力部
３００−６  データ格納部
３００−７  画像表示部
３００−８  ディスプレイ
【図１】
2008211290.tif 000003
【図２】
2008211290.tif 000004
【図３】
2008211290.tif 000005
【図４】
2008211290.tif 000006
【図５Ａ】
2008211290.tif 000007
【図５Ｂ】
2008211290.tif 000008
【図６】
2008211290.tif 000009
【図７Ａ】
2008211290.tif 000010
【図７Ｂ】
2008211290.tif 000011
【図８】
2008211290.tif 000012
【図９】
2008211290.tif 000013
【図１０】
2008211290.tif 000014
【図１１】
2008211290.tif 000015
【図１２Ａ】
2008211290.tif 000016
【図１２Ｂ】
2008211290.tif 000017
【図１３】
2008211290.tif 000018
【図１４】
2008211290.tif 000019
【図１５】
2008211290.tif 000020
【図１６】
2008211290.tif 000021
【図１７】
2008211290.tif 000022