データ処理装置、データ処理方法、記憶媒体、プログラム
【課題】 電子文書フォーマットの変換が必要になったときに、電子署名の有効性を継続しつつフォーマット変換して長期保存処理を継続することである。
【解決手段】 電子文書のフォーマットを電子文書生成時のフォーマット形式から他のフォーマット形式に変換する。そして、フォーマット変換前の電子文書に基づく第1のハッシュ値と、フォーマット変換後の電子文書から生成される第2のハッシュ値とを、長期保存データに保持させる。そして、長期保存データに保持されている第1のハッシュ値と第2のハッシュ値とを比較して、電子文書の改竄性を判定する(S1009)ことを特徴とする。
【解決手段】 電子文書のフォーマットを電子文書生成時のフォーマット形式から他のフォーマット形式に変換する。そして、フォーマット変換前の電子文書に基づく第1のハッシュ値と、フォーマット変換後の電子文書から生成される第2のハッシュ値とを、長期保存データに保持させる。そして、長期保存データに保持されている第1のハッシュ値と第2のハッシュ値とを比較して、電子文書の改竄性を判定する(S1009)ことを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子文書を処理するデータ処理装置の電子署名処理に関するものである。
【背景技術】
【0002】
従来より、特定業種、例えば財務や税務業務において、業務に関する書類などを紙媒体として、一定期間保存しておくことが法律で規定されている書類がある。
【0003】
近年、IT化の流れの中でそれら書類を電子化して得られたスキャンデータを保存することで、法的証拠能力のあるものとして取り扱えるという法律が施行され始めている。
【0004】
例えば、2004年11月、法律等によって保存が義務づけられている財務・税務関連文書や帳票等の電子的な保存を原則として容認するe文書法が成立し、2005年4月に施行された。ここで、e文書法とは、民間事業者等が行う書面の保存等における情報通信の技術の利用に関する法律である。これにより、企業が電子文書を活用するために最後に残っていた法的規制を緩め、さらなる日本社会のIT化を実現するものとして注目されている。
【0005】
これら法律では、書類を電子化したスキャンデータを改竄できないようにする仕組みが求められている。
【0006】
その手段として、電子署名やタイムスタンプといった技術が存在するが、今後は、電子署名を行った日時が特定でき、長期保存データを電子証明書の有効期間内かつ失効していないうちに取得する。そして、その上で、タイムスタンプを付けるなどして、情報を取得した日時及び変更がされていないことを長期にわたって確認する仕組みが求められている。
【0007】
ここで、長期保存データとは、電子署名の電子証明書、電子証明書の失効情報、認証パスの認証局の電子証明書等が含まれる。
【0008】
以後、このような電子文書の利用形態を、電子文書と電子署名を両方保管するという点に着目して「電子署名文書の長期保存」と呼ぶ。
【0009】
これは、「タイムスタンプの有効期限が切れてしまう前に『たしかに現時点でこのタイムスタンプが有効でした』という証拠データを揃えてタイムスタンプを押すことで、新しいタイムスタンプの有効期限まで延命しよう」というアイデアに基づいている。
【0010】
このような、電子署名によって長期間にわたる電子文書の信頼性を確保する方法は、下記特許文献1に開示されているように現在検討が進められている段階にある。
【0011】
ところで、「電子署名文書の長期保存」を行う手段においては、次の4点について特に法律で規定されていないため、次のような問題が起こりえる。
【0012】
第1に、ポータビリティに関する規定がない。
【0013】
つまり、長期保存データを、データベース等で電子文書と関連付けて、別々に管理する方法が各社で提案されているが、ポータビリティに問題があり、データベースへのリンクが切れると関係を元に戻すことが困難なため、脆弱となる。
【0014】
第2に、長期保存データ自体が正しいことを証明する規定がない。
【0015】
つまり、長期保存データ自体の保護について規定がないため、長期保存データが改竄されたときに、検出できない恐れがある。
【0016】
第3に、長期保存データと電子署名を付加するタイミングに関する規定がない。
【0017】
つまり、長期保存データと電子署名の付加の間にタイムラグが生じると、改竄される恐れがある。
【0018】
第4に、長期保存データと電子署名の関連づけに関する規定がない。
【0019】
つまり、どの署名に対する長期保存データであるかの関連づけが存在しないと、全ての長期保存データと署名データに含まれる証明書等を比較する必要があるため、複数の長期保存データが存在する場合、検証の際に非常に時間がかかる。
【0020】
このような第1〜第4の問題を解決するために、PDF等の電子文書フォーマットを用いて、長期保存用データを電子文書内に含めることでポータビリティを高め、かつ、長期保存データを署名で保護し、署名情報と紐付けることで、長期間にわたって長期保存用データの正当性を保証する仕組みがある。
【0021】
また、下記特許文献2には、画像送信装置において、電子ドキュメントデータを生成する際に、ドキュメントコンテンツデータ(文書・画像データ)とドキュメントプログラム(処理プログラム)の両方を対で持つ電子ドキュメントファイルデータとして生成する。
【0022】
一方、画像受信装置においては、どのようなアプリケーションプログラムも必要とすることなく、つまり自己解凍形式にて、その電子ドキュメントを表示・編集・保存・印刷処理が可能となる。また、電子ドキュメントの経時可読性を保証できる等が記載されている。
【0023】
また、e文書オプションではe文書法国税対応を予定している(2006年5月MR予定)。国税の必須要件としては、電子署名を行った日時が特定でき、長期保存用データ(電子署名の電子証明書、電子証明書の失効情報、認証パスの認証局の電子証明書)を電子証明書の有効期間内かつ失効していないうちに取得する。その上で、タイムスタンプを付けるなどして、情報を取得した日時及び変更がされていないことを長期にわたって確認することができることである。
【0024】
このようなe文書オプションでは、PDFに対して「長期保存データ」と呼ばれるデータをドキュメント内に含めた上で署名する、という「長期保存署名」が検討されている(DMS、PDFTK、PFチーム)。
【0025】
例えば e文書法では紙文書をスキャンしたものを長期保存することが可能となったため、DMSでは、スキャンデータをPDF化して長期保存することを検討している。上記方法は、長期保存データをドキュメント内に含めているためポータビリティが高く、また、長期保存データを署名で保護するため、長期にわたってデータの正当性を保障することが可能である。
【特許文献1】特開2005−63268号公報
【特許文献2】特開平11−73381号公報
【発明の開示】
【発明が解決しようとする課題】
【0026】
上述したとおり長期保存データを電子文書内に含めることでポータビリティを高め、かつ、長期保存データを署名で保護し、署名情報と紐付けることで、長期間にわたって長期保存用データの正当性を保証する仕組みについて提案されている。
【0027】
つまり、「電子署名文書の長期保存」を行うことによって、長期間にわたる電子文書の信頼性を確保することが可能である。
【0028】
一方で、長期保存する電子文書のフォーマットは、閲覧者の環境(PC環境等)を考慮すると広く普及したフォーマットであることが望ましい。
【0029】
しかし、ある電子文書フォーマットが数十年といった長期にわたって広く普及した電子文書フォーマットであるとは限らない。
【0030】
数十年の間に、より利便性のある新文書フォーマットが普及している可能性がある。
【0031】
このため、現在普及している、例えばPDFのような文書フォーマットが20年後も主流なフォーマットであるとは限らない(より便利な文書フォーマットが普及している可能性がある)。
【0032】
そのためある時点で、より便利な文書フォーマットへ移行することが望ましいが、現在検討されている「長期保存署名」では、文書フォーマットを変更してしまうと、改竄とみなされてしまうという問題点がある。
【0033】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、データベースに署名付きで保存される電子文書のフォーマットを変換しても改竄されていない事を保証できる仕組みを提供することである。
【課題を解決するための手段】
【0034】
上記目的を達成する本発明のデータ処理装置は以下に示す構成を備える。
【0035】
電子文書を処理するデータ処理装置であって、前記電子文書と、前記電子文書を署名するための長期保存データとを関連付けて記憶する記憶手段と、前記電子文書のフォーマットを電子文書生成時のフォーマット形式から他のフォーマット形式に変換する変換手段と、前記変換手段によるフォーマット変換前の電子文書に基づく第1のハッシュ値と、前記変換手段によるフォーマット変換後の電子文書から生成される第2のハッシュ値とを、前記長期保存データに保持させる保持手段と、前記長期保存データに保持されている前記第1のハッシュ値と前記第2のハッシュ値とを比較して、前記電子文書の改竄性を判定する判定手段とを有することを特徴とする。
【発明の効果】
【0036】
以上説明したように、本発明によれば、電子文書フォーマットの変換が必要に場合に、電子署名の有効性を継続しつつフォーマット変換して長期保存処理を継続することができる。
【発明を実施するための最良の形態】
【0037】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【0038】
<システム構成の説明>
〔第1実施形態〕
図1は、本発明の第1実施形態を示すデータ処理装置の一例を示すブロック図である。なお、本実施形態では、データ処理装置が処理可能な電子文書フォーマットとしてPDFを例に説明を行っていくが、SVG等の構造化された文書であれば本発明を適用できる。また、以下、電子文書の長期保存を行うためのデータである長期保存データを含む電子文書を長期保存文書と呼ぶものとする。
【0039】
図1において、クライアント300は、電子文書保存装置としての機能を有するコンピュータ等のデータ処理装置である。なお、クライアント300のハードウエアについては、後述する。
【0040】
クライアント300には、長期保存文書の作成や更新等の処理を行う長期保存処理管理部300−1を備える。また、クライアント300には、長期保存データの作成および検証処理を行う長期保存データ処理部300−2を備える。
【0041】
また、クライアント300には、電子文書に対して署名やタイムスタンプを付加する処理を行う署名処理部300−3を備える。クライアント300には、署名、タイムスタンプが施された電子文書に対して、検証処理を行う検証処理部300−4を備える。さらに、クライアント300には、データ入出力処理部300−5、ディスプレイ300−8が接続された画像表示部300−7等を備える。
【0042】
さらに、文書処理アプリケーションなどのアプリケーションプログラムにより作成されたアプリケーションデータファイルや、本実施形態で用いるPDFに代表される構造化文書等を格納するためのデータ格納部300−6等が含まれる。
【0043】
また、データ格納部300−6には、クライアント300の有するソフトウェア資源及びハードウエア資源のデータベースも保存されている。また、クライアント300は、電話回線やLAN、インターネット等のネットワーク302を介して外部のデータベース301等に接続されている。
【0044】
また、認証局(CA)から発行された公開鍵証明書に基づく鍵情報もデータ格納部300−6に記憶されている。
【0045】
長期保存処理管理部300−1では、公知のPDFやSVG等に代表される構造化文書の長期保存を行うために、長期保存データ処理部300−2、署名処理部300−3、検証処理部300−4等の各処理部の制御を行う。また、長期保存処理管理部300−1では、長期保存文書の作成や更新等の処理を行う。
【0046】
さらに、データ入出力処理部300−5は、ネットワーク302を介してデータベース301(少なくともデータベースを保持するコンピュータ等の情報処理装置)に接続されている。また、キーボードやポインティングデバイス等の入出力デバイスもデータ入出力処理部300−5に接続されているものとしている。
【0047】
<ハードウエアの構成例>
図2は、図1に示したデータ処理装置のハードウエア構成を説明するブロック図である。
【0048】
図2において、メモリ300bに格納されたプログラムを、CPU300aにより各種のデータ処理を実行することで実現される。また、プログラムは、ハードディスク等の外部メモリ300cに格納される。外部メモリ300cは、フレキシブルディスクやCDROM等の取り外し可能な記憶媒体を用いるものであっても良い。
【0049】
また、データ格納部300−6は、外部メモリ300cの一部領域として実現することができる。ディスプレイ300−8には画像が表示され、I/Oインターフェース300dを介してネットワーク302等に接続される。また、キーボード(K/B)300eやポインティングデバイスにより、オペレータは必要に応じて入力を行う。
【0050】
〔長期保存電子文書のフォーマット〕
まず、電子文書の長期保存を行うためのデータである長期保存データを含む電子文書(以後、この文書を長期保存文書と呼ぶ)のフォーマットについて説明する。
【0051】
図3は、本実施形態を示すデータ処理装置に適用可能な第1の長期保存文書のフォーマットを説明する図である。なお、図3の長期保存文書のフォーマットは、既存の構造化された文書(たとえば、PDFなど)を拡張したものでもよい。
【0052】
図3において、Contentsデータ101には画像情報やテキスト情報、グラフィック情報と言った電子文書を構成するコンテンツデータが格納されている。
【0053】
長期保存データ(署名用)102は、長期保存を行うためのデータが格納されている。
【0054】
具体的には、図3に示すように、長期保存データ(署名用)102は、署名を行うために必要な証明書102−1、Root(認証局(CA))までのすべての証明書(証明書チェーン)102−2を含む。さらに、長期保存データ(署名用)102は、証明書チェーン102−2に紐づいたすべてのCRL(失効情報リスト)102−3を含む。
【0055】
署名データ103は、Contentsデータ101および長期保存データ102を有効領域とする署名データである。
【0056】
長期保存データ(タイムスタンプ用)部104は、長期保存データ(署名用)102と同様の構成からなる。
【0057】
タイムスタンプ部105は、Contentsデータ101、長期保存データ(署名用)102、署名データ103、長期保存データ(タイムスタンプ用)を有効領域とするタイムスタンプである。
【0058】
図4に示す例は、タイムスタンプが更新されるたびに増えるタイムスタンプ部105,107を示している。
【0059】
図4は、本実施形態を示すデータ処理装置に適用可能な第2の長期保存文書のフォーマットを説明する図である。
【0060】
本例は、図3に示したような長期保存文書に対して、タイムスタンプ部105の証明書の有効期間内で、かつ失効していないうちに、長期保存データ(タイムスタンプ用)106を取得する。そして、取得した長期保存データ(長期保存データLTD2)にタイムスタンプ部107を付け加えていくことによって長期保存を可能とする例である。
【0061】
本フォーマットは、図3に示した第1の長期保存文書のフォーマットに対して長期保存データ部106、タイムスタンプ部107を付け加えたものである。ここで、タイムスタンプ部105には、タイムスタンプTS1が設定され、タイプスタンプ部106には、タイムスタンプTS2が設定された例である。
【0062】
同様に、長期保存データ(タイムスタンプ用)部104には、長期保存データLTD1が設定され、長期保存データ(タイムスタンプ用)部106には、長期保存データLTD2が設定された例である。
【0063】
〔長期保存文書作成処理(電子文書を長期保存電子文書へ変換する処理)〕
図5Aは、本実施形態を示すデータ処理装置における第1のデータ処理手順の一例を示すフローチャートである。本例は、ある電子文書を初めて長期保存文書として保存する処理例である。より具体的には、通常の電子文書から図3に示したような長期保存文書へ変換する際の処理例である。
【0064】
なお、S401〜S408は各ステップを示す。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0065】
なお、S401、S405の処理や処理全体の制御は、図1に示した長期保存処理管理部300−1にて行われる。また、S402、S406の処理は、図1に示した長期保存データ処理部300−2にて行われる。さらに、S403、S404、S407、S408の処理は、図1に示した署名処理部300−3にて行われる。
【0066】
まず、S401にて、長期保存処理管理部300−1が署名に利用する証明書を取得する。通常、信頼のおける第三者の認証機関(CA)が発行している証明書を用いるのが一般的である。
【0067】
S402にて、長期保存データ処理部300−2が取得した証明書をもとにして署名用の長期保存データ102を作成する(詳細は後述:「長期保存データ作成処理」参照)。次に、S403にて、署名処理部300−3が作成した署名用の長期保存データ102を署名対象である電子文書内に埋め込む。
【0068】
次に、S404にて、署名処理部300−3が電子文書内に署名データ103を埋め込むことによって、署名処理を施す。そして、S405にてタイムスタンプに利用する証明書を取得する。
【0069】
なお、タイムスタンプに利用する証明書の発行元は認証機関であるタイムスタンプ局(TSA:Time Stamp Authority)であるのが一般的である。
【0070】
そして、S406にて、取得した証明書をもとにしてタイムスタンプ用の長期保存データ104を作成する(S402と同様の処理)。
【0071】
次に、S407にて、署名処理部300−3が作成したタイムスタンプ用の長期保存データ104を電子文書内に埋め込む。
【0072】
次に、S408にて、署名処理部300−3がPDF内にタイムスタンプデータ部105にタイムスタンプTS1を付加することで、署名処理を施す。
【0073】
このような手順を踏むことによって、図3に示したような長期保存文書を作成することができる。
【0074】
〔長期保存データ作成処理〕
図5Bは、本実施形態を示すデータ処理装置における第3のデータ処理手順の一例を示すフローチャートである。本例は図5Aに示したS402の長期保存データ作成処理の詳細手順に対応する。なお、S402−1〜S402−4は各ステップを示す。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。本処理はすべて長期保存データ処理部300−2にて行われる。
【0075】
まず、S402−1にて、長期保存データ処理部300−2が署名に利用する証明書から認証パス(証明書を認証する認証局へのパス)を取得する。そして、S402−2にて、長期保存データ処理部300−2がRoot(認証局)までの証明書(証明書チェーン)全てを取得する。
【0076】
そして、S402−3で、長期保存データ処理部300−2が処理にて取得したすべての証明書に紐づいているCRL(失効情報)をすべて取得する。
【0077】
最後に、S402−4処理にて、長期保存データ処理部300−2がS402−1で取得した証明書、S402−2で取得した証明書チェーン、CRLを電子文書内に埋め込める形式にパッケージ化して、本処理を終了する。このパッケージ化されたデータが、図3,図4に示す長期保存データ102に対応する。
【0078】
〔長期保存文書の更新処理〕
次に、作成した長期保存文書に対して、タイムスタンプ部105の証明書の有効期間内かつ失効していない内に、長期保存データ(タイムスタンプ用)106を取得する。そして、取得した長期保存データ(タイムスタンプ用)106をタイムスタンプ107を付け加えていくことによって長期保存を行うことができる。
【0079】
図6は、本実施形態を示すデータ処理装置における第2のデータ処理手順の一例を示すフローチャートである。本例は長期保存文書に対してタイムスタンプを付加する処理手順に対応する。なお、S502、S503の処理や処理全体の制御は長期保存処理管理部300−1にて行われる。S501は検証処理部300−4にて行われる。S504は長期保存データ処理部300−2にて行われる。S505、S506の処理は長期保存処理管理部300−1にて行われる。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0080】
まず、S501で、検証処理部300−4が詳細は後述する長期保存文書の検証処理を行う。次に、S502で、長期保存処理管理部300−1が検証の結果改竄がないかどうかを判断する。ここで、改竄がないと判断した場合はS503へ移行し、改竄があると判断した場合は、本処理を終了する。
【0081】
次に、S503〜S505の処理は、長期保存文書作成処理(図5A参照)時のS405〜S408と同様の処理である。
【0082】
すなわち、S503で、長期保存処理管理部300−1がタイムスタンプ用の証明書を取得する。次に、S504で、長期保存データ処理部300−2がタイムスタンプ用の長期保存データLTD2を作成し、S505で、長期保存処理管理部300−1が電子文書内に埋め込。
【0083】
そして、最後に、S506で、長期保存処理管理部300−1がタイムスタンプ107を電子文書に付加する処理を行い、本処理を終了する。
【0084】
これによって図1に示したような長期保存文書が図2に示したような長期保存文書へ更新される。以降、3回目、4回目とタイムスタンプの更新を行う度に長期保存データ部106とタイムスタンプ部107を長期保存文書に付け加えていくことによって、電子文書の長期保存を実現することができる。
【0085】
〔長期保存文書の検証処理〕
ここでは、長期保存文書が改竄されていないこと、かつすべてのタイムスタンプが有効期限切れの前に付加されたものであることを検証する処理について説明する。
【0086】
図7Aは、本実施形態を示すデータ処理装置における第3のデータ処理手順の一例を示すフローチャートである。本例は長期保存文書に対してタイムスタンプを付加する処理手順に対応する。なお、S601〜S611は各ステップを示す。また、S604とS608の処理は長期保存データ処理部300−2で行われる。それ以外の処理は検証処理部300−4にて行われる。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0087】
まず、S601にて、検証処理部300−4が長期保存文書を解析し、長期保存文書内に付加されているタイムスタンプの数を求めて変数Nに代入する。
【0088】
次に、S602にて、検証処理部300−4がすべてのタイムスタンプについて検証処理が終了したか判断する。ここでは、変数Nが「0」かどうかを判断する。
【0089】
ここで、検証処理部300−4が変数Nが「0」であると判断した場合は、S607へ進み、変数Nが「0」でないと判断した場合は、終了するまでS603〜S606の処理を繰り返し、終了したらS607へ以降する。
【0090】
次に、S603にて、検証処理部300−4が長期保存電子文書の中からN番目のタイムスタンプの長期保存データ部106を取得する。そして、S604にて、長期保存データ処理部300−2が取得したN番目の長期保存データに改竄がないかどうかを検証する処理を行う。長期保存データ検証処理の詳細については後述する。
【0091】
そして、S605にて、検証処理部300−4が処理対象中のタイムスタンプ107の検証を行う(通常の検証処理)。そして、S606で、検証処理部300−4がS604、S605の検証の結果、ともに改竄があるかどうかを判断する。
【0092】
ここで、検証処理部300−4が改竄がないと判断した場合は、改竄がないと判断した場合は、S611で、次のタイムスタンプ(長期保存データ部106およびタイムスタンプ部107)の検証処理を行うため、変数Nから「1」を減算する。そして、S602へ移行する。
【0093】
一方、S606で、検証処理部300−4が改竄があると判断した場合は、本処理を終了する。
【0094】
一方、S602で、検証処理部300−4がすべてのタイムスタンプについて検証処理を行い、且つ改竄がなかったと判断した場合は、S607へ移行する。
【0095】
そして、S607にて、署名用の長期保存データ102を取得し、S608にて、長期保存データ処理部300−2がS604同様に長期保存データ102に改竄がないかどうかを検証処理を行い、S609に進む。そして、S609で、長期保存データ処理部300−2が署名検証を行う。
【0096】
そして、S610で、検証処理部300−4がS607、S608の検証の結果、ともに改竄がなければ改竄なしと結論付ける。
【0097】
一方、S610で、検証処理部300−4がS604、S605の検証の結果、ともに改竄があると判断した場合は、改竄ありと結論付ける。
【0098】
〔長期保存データ検証処理〕
図7Bは、本実施形態を示すデータ処理装置における第4のデータ処理手順の一例を示すフローチャートである。本例はS604で、長期保存データ処理部300−2が取得したN番目の長期保存データに改竄がないかどうかを検証する処理の詳細手順に対応する。なお、S604−1〜S604−4は各ステップを示す。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0099】
まず、S604−1にて、長期保存データ処理部300−2がパッケージ化された長期保存データを解凍し、証明書、証明書チェーン、CRLを取得する。
【0100】
次に、S604−2にて、CRLファイルをCA証明書で検証し、S604−3にてCRLファイルリストに証明書が登録されていないかをチェックする。そして、S604−4にて証明書をCA証明書で検証する。
【0101】
なお、S604−2〜S604−4のすべてにおいて改竄なされていなければ、署名もしくはタイムスタンプの証明書が失効していないことを示す。
【0102】
〔長期保存電子文書のフォーマット〕
上記電子文書の処理では、署名用長期保存データ102とタイムスタンプ用長期保存データ104は同様のフォーマットを用いる場合について説明した。以下、署名用とタイムスタンプ用で異なるフォーマットを使用する例について以下説明する。
【0103】
図8は、本実施形態を示すデータ処理装置に適用可能な第3の長期保存文書のフォーマットを説明する図である。本例の電子文書は、長期保存を行うためのデータである長期保存データを含む例である。
【0104】
なお、図3に示したフォーマットと異なる点は、長期保存データ(署名用)702の構成である。また、長期保存データ(タイムスタンプ用)については図3と同じフォーマットである。
【0105】
図8において、本例の長期保存データ(署名用)702は、図3で示した長期保存データ(署名用)102(証明書102−1、証明書チェーン102−2、CRL102−3)に対して以下のものが加えられる。本例では、画像データハッシュ値702−4、旧データハッシュ値702−5を加えたものである。
【0106】
画像データハッシュ値702−4には、電子文書内に含まれる画像データすべてのハッシュ値が格納される。また、旧データハッシュ値702−5には、長期保存文書に対してファイルフォーマット変換があった場合にのみ、変換前のデータ全体のハッシュ値が格納される。
【0107】
これにより、原稿の電子文書のフォーマットが、上記PDFフォーマットから他の電子文書のフォーマットに変更されても、それ自体を改竄としてしまうことなくなる。そして、新たな電子文書フォーマットに対しても電子文書の改竄有無を継続して検証することができる。
【0108】
つまり、長期保存データに画像データハッシュ値702−4、旧データハッシュ値702−5を加える拡張を行う構成とすることで、電子文書の長期保存において、署名の有効性を継続した電子文書フォーマット変換が可能となる。
【0109】
すなわち、新文書に含まれる元文書のハッシュ値(第1のハッシュ値に対応する)から元データを特定し、かつ、新文書に含まれる画像データのハッシュ値(第2のハッシュ値に対応する)を計算する。そして、元文書に含まれる画像データの第1、第2のハッシュ値とを比較することによってフォーマット変換時に少なくとも画像データの改竄が行われていないかの検証を行うことが可能となる。
【0110】
更に、元文書と新文書それぞれに対して改竄がなかったかの検証を行うことが可能であるため、署名の有効性を継続した電子文書フォーマット変換が可能となる。以下、より具体例について詳述する。
【0111】
〔長期保存文書の作成処理〕
長期保存文書作成処理の全体の流れは、上述した図5Aと同様であるが、長期保存データ(署名用)の作成方法のみ異なる(タイムスタンプ用長期保存データ作成方法は上記と同様)。そのため、ここでは処理全体の説明は省略し、長期保存データ(署名用)の作成方法にについて説明する。
【0112】
図9は、本実施形態を示すデータ処理装置における第5のデータ処理手順の一例を示すフローチャートである。本例は、長期保存データ処理部300−2による長期保存データ(署名用)作成処理の手順に対応する。なお、S801〜S807は各ステップを示す。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0113】
まず、S801にて、長期保存データ処理部300−2が署名に利用する証明書から認証パス(証明書を認証する認証局へのパス)を取得し、S802にてRoot(認証局)までの証明書(証明書チェーン)全てを取得する。
【0114】
次に、S803にて、長期保存データ処理部300−2が取得したすべての証明書に紐ずいているCRL(失効情報)をすべて取得する。そして、S804にて、長期保存データ処理部300−2が電子文書内の画像データをすべて取得し、すべて圧縮のかかっていないRawデータへ変換する。なお、Rawデータを含む電子文書は、外部メモリ300cに、例えば図4並びに、図12A、図12Bに示すデータ構造で記憶されている。
【0115】
ここで、図10を参照して、Rawデータの構造について説明する。
【0116】
図10は、本実施形態を示すデータ処理装置で処理可能なRawデータのデータ構造を説明する図である。なお、本実施形態において、Rawデータとは、実際の画素データIMとヘッダデータHEDとからなる。
【0117】
図10において、RawデータRAWDは、ヘッダデータHEDとして、画像データの縦、横の画素数TPC、YPC、成分数(RGBの画像であれば「3」)CC、および1成分あたりのビット数BTCが含まれる。そして、Rawデータは、さらに実際の画素データIMが含まれる。なお、Rawデータは実際の画素データIMを保持し、かつ圧縮のかかっていないデータである。
【0118】
図10に示す例において画素データは、1画素あたり24ビット(成分数×1成分あたりのビット数)であり、それが縦×横の分だけ順に格納されている。
【0119】
次に、S805にて、長期保存データ処理部300−2が取得したすべてのRawデータRAWDから1つのハッシュ値を取得する。ここで、ハッシュ値とは、元データから生成される固定長の擬似乱数でのことであり、ハッシュ値を生成する関数はハッシュ関数と呼ばれる一般的なものである)以降、このハッシュ値を画像データハッシュ値として扱う。
【0120】
なお、本実施形態では、画像データハッシュ値としてRawデータから一つのハッシュ値を求めることとした。
【0121】
しかしながら、変換前の文書と変換後の文書内に含まれる画像データが同一の形式であるとわかっている場合は、Rawデータに変換した後にハッシュ値を計算するのではなく、画像データそのものからハッシュ値を計算しても構わない。ここで、同一の画像データ形式とは、例えばBMPやJPEG等のことである。
【0122】
そして、S806にて、旧データのデータ全体のハッシュ値を取得する。この処理は、長期保存文書に対してファイルフォーマット変換があった場合にのみ、変換前のデータ全体のハッシュ値を取得し格納するものである。
【0123】
なお、ファイルフォーマット変換がなかった際には、この処理は行わないものとする。この場合、旧データハッシュ値は空となる。
【0124】
次に、S807の処理にて、S801〜S805で取得した証明書、証明書チェーン、CRL、画像データハッシュ値を、圧縮する等の処理を施してパッケージ化する。このデータが長期保存データである。
【0125】
〔長期保存文書の更新処理〕
図11は、本実施形態を示すデータ処理装置における第6のデータ処理手順の一例を示すフローチャートである。本例は、長期保存文書の更新処理の際の処理の手順に対応する。なお、S901〜S914は各ステップを示す。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0126】
なお、S901は検証処理部300−4にて、S905は長期保存データ処理部300−2にて、S906、S907、S913、S914は署名処理部300−3、それ以外の処理は長期保存処理管理部300−1にて行われる。
【0127】
まず、S901で、検証処理部300−4が長期保存文書の検証処理を行う。詳細については図13を参照して後述する。
【0128】
次に、S902で、長期保存処理管理部300−1が検証の結果改竄がされているか否かを判断する。ここで、長期保存処理管理部300−1が改竄がされていないと判断した場合は、S903の処理へ移行し、改竄があると判断した場合は、本処理を終了する。
【0129】
次に、S903にて、長期保存文書のフォーマットを変換するかどうかを判断する。本実施形態では、署名を行う際にオペレータが判断することとする。ここで、文書フォーマットを変換しないと判断した場合、S904へ移行し、変換すると判断した場合、S908へ移行する。ここで、フォーマット変換しない場合、前述の署名方法と同等の処理となる。つまりS904〜S907については前述のS503〜S506までの処理と同様である。よってここでは説明は省略する。なお、S907で、電子文書に証明されたタイムスタンプが付加される。
【0130】
そこで、S903で、フォーマット変換を行うと判断した場合、S908にて、長期保存処理管理部300−1がフォーマット変換前のデータ(以降、旧データと呼ぶ)をデータベース301に保存しておく。
【0131】
次に、S909にて、長期保存処理管理部300−1が旧データから別の電子文書フォーマット(以降、新フォーマットと呼ぶ)へ変換する。
【0132】
なお、この際、長期保存処理管理部300−1は、適宜コンバート処理に必要なアプリケーションを利用してフォーマット変換処理する。
【0133】
この際、画像情報やテキスト情報、グラフィック情報などの電子文書を構成するコンテンツを新フォーマットへ変換し、特に長期保存データや署名等の電子文書を長期保存するための情報は引き継がないルールとする。ここで、コンテンツとは、図4に示すコンテンツデータ101に対応する。
【0134】
このルールを満たす変換であれば、新フォーマットへの変換方法は本実施形態では特に問わないが、PDF文書からXML文書へ変換する処理の例については、図14を参照して後述する。
【0135】
次に、S910にて、長期保存処理管理部300−1が文書フォーマット変換時の長期保存データ(署名用)作成処理を行う(詳細は後述)。そして、S911にて、長期保存処理管理部300−1が、図8に示した長期保存データ(署名用)内の画像データハッシュ値同士を新ファイルフォーマットと変換前の旧データ間で比較する。画像データハッシュ値同士のうち、旧データハッシュ値が第1のハッシュ値に対応し、画像データハッシュ値が第2のハッシュ値に対応する。
【0136】
ここで、長期保存処理管理部300−1が、このハッシュ値同士が一致すると判断した場合は、旧データと新フォーマットデータ間で少なくとも画像データの改竄が行われていないと言えるため、S913へ移行する。
【0137】
本実施形態では、外部メモリ300cに確保されるデータベースには、電子文書が長期保存データとともに記憶されている。そして、長期保存データには、電子文書登録時に、電子文書から生成されるハッシュ値(電子文書生成時のハッシュ値)が第1のハッシュ値として登録される。そして、後述する図12Bに示すように、元データとなる電子文書のフォーマットを変更する場合に、元データ全体のハッシュ値、或いは画像データのハッシュ値を、変換後の長期保存データに書き加える。さらに、フォーマット変換された新データとなる電子文書から生成された第2のハッシュ値も長期保存データに書き加えて外部メモリ300cに保持される。以後、フォーマット変換毎に、第1、第2のハッシュ値が更新されることで、電子文書のフォーマットが変換されても、改竄とみなすことなく長期保存される電子文書に対する署名処理を継続して行うことができる。
【0138】
なお、フォーマット変更される前後の電子文書の改竄性は、長期保存データに保持されている第1のハッシュ値である画像データハッシュ値702−4Aと第2のハッシュ値である旧データハッシュ値702−5とを比較する。そして、その比較結果に基づいて、電子文書の改竄性を判定する(S911)。
【0139】
また、第1のハッシュ値は、電子文書の本体データに関連付けられた元データから生成している。
【0140】
ここで、第2のハッシュ値は、S909による新フォーマット変換後の電子文書の本体データから生成する。また、本体データは、図12A,図12Bに示すようにスキャナ装置により読み取られた画像データを含む構成となっている。
【0141】
一方、S912で、長期保存処理管理部300−1が、ハッシュ値同士が一致しないと判断した場合は、フォーマット変換が正常に行われなったと判断して、本処理を終了させる。
【0142】
次に、S913にて、署名処理部300−3が作成した署名用の長期保存データを署名対象である電子文書内に埋め込む。次に、S914にて、署名処理部300−3が電子文書内に署名データを埋め込むことによって、署名処理を施して、S914へ進む。
【0143】
図12A,図12Bは、本実施形態を示すデータ処理装置で処理可能な長期保存文書の構造を説明する図である。本例は、変換前の元データ(a)を変更後の新データ(b)との対応を示す。
【0144】
図12Aにおいて、旧データ全体のハッシュを旧データハッシュ値に代入することで、新フォーマットの長期保存データ702の旧ハッシュ値702−5に格納される。
【0145】
より具体的には、図12Bの(a)に示すように、元データ(a)内の長期保存データ702内の画像データハッシュ値702−4Bは、フォーマット変換により、以下のように更新される。
【0146】
図12Bの新データ(b)に示すように、フォーマットが、例えばPDFからXmlに変換された場合、元データ(a)全体である旧データのハッシュ値が、長期保存データ702の旧データハッシュ値702−5に格納される。また、新規データ用の画像データハッシュ値702−4Aには、新フォーマットの画像データ等に基づいて生成された画像データハッシュ値702−4Aが格納される。ここで、画像データ等は、上記Rawデータを含む。
【0147】
これにより、技術の進歩等により、長期保存すべきデータのフォーマットが変更される事態が生じても、改竄であるとして管理できなくなるという不都合を解消できる。
【0148】
つまり、本実施形態に示すように、長期保存データとして旧データのハッシュ値と、画像のRawデータのハッシュ値を持つことで、元電子文書と、新電子文書間における改竄の検証が可能となり有益である。
【0149】
〔検証時の処理〕
図13は、本実施形態を示すデータ処理装置における第9のデータ処理手順の一例を示すフローチャートである。本例は、長期保存文書の検証時の際の処理の手順に対応する。なお、S1001〜S1010は各ステップを示す。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0150】
なお、S1001、S1007は検証処理部300−4にて、S1003、S1004は長期保存データ処理部300−2にて、それ以外の処理は長期保存処理管理部300−1にてそれぞれ行われる。
【0151】
まず、S1001にて、検証処理部300−4が前述のようにタイムスタンプに基づく検証処理を図7Aに示す処理と同様の処理を行う。次に、S1002で、長期保存処理管理部300−1が検証の結果、改竄されているかどうかを判断する。ここで、長期保存処理管理部300−1が改竄されていると判断した場合は、「改竄あり」として本処理を終了する。
【0152】
一方、S1002で、改竄されていないと判断された場合は、S1003へ移行する。そして、S1003にて、長期保存データ処理部300−2が長期保存電子文書から長期保存データ702を取得する。
【0153】
そして、S1004で、長期保存データ処理部300−2が長期保存データ(署名用)703内に旧データハッシュ値702−5が存在するかどうかを判断する。つまり、長期保存データ702内に旧データハッシュ値702−5が存在するかどうかを判断することで、電子文書のフォーマットが変更されたか否かを判断することができる。ここで、長期保存データ処理部300−2が旧データハッシュ値702−5が存在すると判断した場合は、過去にファイルフォーマット変換が行われていたと判断して、S1005へ移行する。
【0154】
一方、S1004で、長期保存データ処理部300−2が旧データハッシュ値702−5が存在しないと判断した場合は、ファイルフォーマット変換が行われていない通常通りの長期保存電子文書であると判断して、本処理を終了する。
【0155】
そして、S1005にて、長期保存処理管理部300−1が旧データハッシュ値702−5をキーとして旧データをデータベース301内から検索する。
【0156】
なお、S908にて旧データをデータベース301に保存する際、旧データのハッシュ値をファイル名として保存する等の処理を施しておくことで、ハッシュ値をキーとした検索も可能となる。
【0157】
そして、S1006で、長期保存処理管理部300−1が該当するハッシュ値のファイルが存在するかどうかを判断する。ここで、長期保存処理管理部300−1が該当するハッシュ値のファイルが存在しないと判断した場合は、新フォーマットへの変換時に改竄があったかどうかを検証することができない。そこで、改竄ありと判断して、本処理を終了する。つまり、旧データハッシュ値が存在する場合に、旧データの本体がデータベース301上に存在しない場合は、改竄が実行されたものとみなして、処理を終了する。
【0158】
なお、その際に、改竄検証結果を、電子文書のフォーマット変換の処理の有無と合わせて、ユーザに通知する制御を加えてもよい。
【0159】
一方、S1006で、長期保存処理管理部300−1が該当するハッシュ値のファイルがデータベース301上に存在すると判断した場合は、S1007へ移行する。そして、S1007にて、検証処理部300−4が旧データの検証処理を行う。これは、図7Aで説明した処理と同様に、長期保存データ処理部300−2による署名検証処理である。
【0160】
そして、S1008で、長期保存処理管理部300−1が検証処理部300−4により検証した結果、改竄がされているかどうかを判断する。ここで、長期保存処理管理部300−1が改竄がされていると判断した場合は、本処理を終了する。
【0161】
一方、S1008で、長期保存処理管理部300−1が改竄されていないと判断した場合は、S1009に進む。そして、S1009で、長期保存処理管理部300−1が、新フォーマットデータと変換前の旧データのそれぞれが保持している長期保存データ(署名用)内の画像データハッシュ値同士を比較する。
【0162】
そして、S1010で、長期保存処理管理部300−1が画像データハッシュ値同士が一致する場合、旧データと新フォーマットに基づくデータとの間で少なくとも画像データの改竄が行われていないと判断する。
【0163】
一方、長期保存処理管理部300−1が画像データハッシュ値同士が一致しないと判断した場合は、改竄ありと判定して、本処理を終了する。
【0164】
なお、更に検証の信頼性を高めるために、新フォーマットデータに含まれる画像データから画像データハッシュ値を計算し直して、長期保存データ(署名用)内の画像データハッシュ値702−4と比較する処理を加えてもよい。また、一致しないと判定した場合に、当該画像データハッシュ値を計算し直す処理を加えて、検証処理効率と検証信頼性を高めるように構成してもよい。
【0165】
これにより、S1001の処理で、従来通り長期保存文書の検証が可能となる。また、S1003〜S1007の処理で、旧データ長期保存文書の検証が可能となり、S1009、S1010で、現長期保存文書と旧長期保存文書(旧データ)の変換の過程で改竄がなかったを検証することが可能となる。
【0166】
〔文書フォーマット変換処理の例〕
以下、文書フォーマット変換処理の例として、PDF文書からXML文書へ変換する具体的な処理について説明する。
【0167】
ここでは、画像データ部分の変換方法についてのみ説明し、他のデータ(文書の構造情報や、ページの構成を示す情報、テキスト情報、線などの図形情報等)の変換方法については省略する。
【0168】
図14は、本実施形態を示すデータ処理装置における第8のデータ処理手順の一例を示すフローチャートである。本例は、文書フォーマット変換処理の手順に対応する。なお、S1101〜S1106は各ステップを示す。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0169】
図15、図16は、本実施形態を示すデータ処理装置におけるデータ変換処理対象データの一例を示す図である。図15は、変換前の文書であるPDF文書の中から、画像データを扱う部分について抜き出したものである。
【0170】
一方、図16は変換後のXML文書の中から画像データを扱う部分について抜き出したものである。
【0171】
まず、S1101にて、CPU300aが元文書であるPDF内のオブジェクト(object)をメモリ300b上に読み込む。そして、S1102で、オブジェクトのタイプを判定する。
【0172】
ここで、オブジェクトのタイプには、例えば、文書の構造情報、ページの構成を示す情報、テキスト情報、線などの図形情報(グラフィックス)、画像情報等がある。
【0173】
オブジェクトは、例えば図15に示したようにOjectTypeがXobjectであり(1)、かつSubTypeがImage(2)であった場合、画像オブジェクトであると判定される。他のオブジェクトも同様にTypeやSubTypeを解析することによってオブジェクトタイプを判定することが可能である。
【0174】
そして、S1102にて、画像オブジェクトであると判定された場合、S1103にて、図15に示すStreamデータ(8)を読み込む。
【0175】
このStreamデータが実際の画像データであり、図15に示した例では、横幅100(3)、縦幅100(4)、1色成分ごとに8ビットのJPEG圧縮データ(7)である。
【0176】
次に、S1104で、CPU300aは、読み込んだ図15に示すStreamデータ(8)を変換後のファイルフォーマットであるXMLフォーマットで扱える形式に変換する。なお、変換すべきフォーマットがXMLの場合には、画像を扱うためにはBase64エンコード化したラスタ画像にする必要がある。
【0177】
次に、S1105で、CPU300aは、図16に示すようにXML画像Tagを生成する。そして、CPU300aは、すべてのオブジェクトに対して処理するまで、S1103〜S1105を繰り返す。
【0178】
なお、本実施形態では、S1102で、OjectTypeが画像の場合について説明したが、OjectTypeがグラフィックス又はテキストにおいても、同様のステップでデータ変換処理を行う。
【0179】
これにより、電子文書フォーマットの長期保存を行う上で、フォーマット変換が必要になったときに署名の有効性を継続しつつフォーマット変換を行える。
【0180】
本実施形態では、画像データと画像データのハッシュ値を含む電子文書(元文書)を、他のフォーマット形式(新文書)に変換する際に、新文書内に元文書のデータハッシュ値を持たせる構成としている。そして、長期保存すべきデータの電子署名によるデータ改竄性の検証を、フォーマットを変更した後も継続することができる。
【0181】
つまり、上記実施形態によれば、電子文書の長期保存において、署名の有効性を継続した電子文書フォーマット変換が可能となる。
【0182】
〔第2実施形態〕
以下、図17に示すメモリマップを参照して本発明に係るデータ処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【0183】
図17は、本発明に係るデータ処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0184】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0185】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0186】
本実施形態における図5A,図5B,図6,図7A,図7B,図9,図11,図13,図14に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0187】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0188】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0189】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0190】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0191】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0192】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
【0193】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0194】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0195】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0196】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
【0197】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【0198】
【図1】本発明の第1実施形態を示すデータ処理装置の一例を示すブロック図である。
【図2】図1に示したデータ処理装置のハードウエア構成を説明するブロック図である。
【図3】本実施形態を示すデータ処理装置に適用可能な第1の長期保存文書のフォーマットを説明する図である。
【図4】本実施形態を示すデータ処理装置に適用可能な第1の長期保存文書のフォーマットを説明する図である。
【図5A】本実施形態を示すデータ処理装置に適用可能な第2の長期保存文書のフォーマットを説明する図である。
【図5B】本実施形態を示すデータ処理装置における第1のデータ処理手順の一例を示すフローチャートである。
【図6】本実施形態を示すデータ処理装置における第2のデータ処理手順の一例を示すフローチャートである。
【図7A】本実施形態を示すデータ処理装置における第3のデータ処理手順の一例を示すフローチャートである。
【図7B】本実施形態を示すデータ処理装置における第4のデータ処理手順の一例を示すフローチャートである。
【図8】本実施形態を示すデータ処理装置に適用可能な第3の長期保存文書のフォーマットを説明する図である。
【図9】本実施形態を示すデータ処理装置における第5のデータ処理手順の一例を示すフローチャートである。
【図10】本実施形態を示すデータ処理装置で処理可能なRawデータのデータ構造を説明する図である。
【図11】本実施形態を示すデータ処理装置における第6のデータ処理手順の一例を示すフローチャートである。
【図12A】本実施形態を示すデータ処理装置で処理可能な長期保存文書の構造を説明する図である。
【図12B】本実施形態を示すデータ処理装置で処理可能な長期保存文書の構造を説明する図である。
【図13】本実施形態を示すデータ処理装置における第7のデータ処理手順の一例を示すフローチャートである。
【図14】本実施形態を示すデータ処理装置における第8のデータ処理手順の一例を示すフローチャートである。
【図15】本実施形態を示すデータ処理装置におけるデータ変換処理対象データの一例を示す図である。
【図16】本実施形態を示すデータ処理装置におけるデータ変換処理対象データの一例を示す図である。
【図17】本発明に係るデータ処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【0199】
300 クライアント
300−1 長期保存処理管理部
300−2 長期保存データ処理部
300−3 署名処理部
300−4 検証処理部
300−5 データ入出力部
300−6 データ格納部
300−7 画像表示部
300−8 ディスプレイ
【技術分野】
【0001】
本発明は、電子文書を処理するデータ処理装置の電子署名処理に関するものである。
【背景技術】
【0002】
従来より、特定業種、例えば財務や税務業務において、業務に関する書類などを紙媒体として、一定期間保存しておくことが法律で規定されている書類がある。
【0003】
近年、IT化の流れの中でそれら書類を電子化して得られたスキャンデータを保存することで、法的証拠能力のあるものとして取り扱えるという法律が施行され始めている。
【0004】
例えば、2004年11月、法律等によって保存が義務づけられている財務・税務関連文書や帳票等の電子的な保存を原則として容認するe文書法が成立し、2005年4月に施行された。ここで、e文書法とは、民間事業者等が行う書面の保存等における情報通信の技術の利用に関する法律である。これにより、企業が電子文書を活用するために最後に残っていた法的規制を緩め、さらなる日本社会のIT化を実現するものとして注目されている。
【0005】
これら法律では、書類を電子化したスキャンデータを改竄できないようにする仕組みが求められている。
【0006】
その手段として、電子署名やタイムスタンプといった技術が存在するが、今後は、電子署名を行った日時が特定でき、長期保存データを電子証明書の有効期間内かつ失効していないうちに取得する。そして、その上で、タイムスタンプを付けるなどして、情報を取得した日時及び変更がされていないことを長期にわたって確認する仕組みが求められている。
【0007】
ここで、長期保存データとは、電子署名の電子証明書、電子証明書の失効情報、認証パスの認証局の電子証明書等が含まれる。
【0008】
以後、このような電子文書の利用形態を、電子文書と電子署名を両方保管するという点に着目して「電子署名文書の長期保存」と呼ぶ。
【0009】
これは、「タイムスタンプの有効期限が切れてしまう前に『たしかに現時点でこのタイムスタンプが有効でした』という証拠データを揃えてタイムスタンプを押すことで、新しいタイムスタンプの有効期限まで延命しよう」というアイデアに基づいている。
【0010】
このような、電子署名によって長期間にわたる電子文書の信頼性を確保する方法は、下記特許文献1に開示されているように現在検討が進められている段階にある。
【0011】
ところで、「電子署名文書の長期保存」を行う手段においては、次の4点について特に法律で規定されていないため、次のような問題が起こりえる。
【0012】
第1に、ポータビリティに関する規定がない。
【0013】
つまり、長期保存データを、データベース等で電子文書と関連付けて、別々に管理する方法が各社で提案されているが、ポータビリティに問題があり、データベースへのリンクが切れると関係を元に戻すことが困難なため、脆弱となる。
【0014】
第2に、長期保存データ自体が正しいことを証明する規定がない。
【0015】
つまり、長期保存データ自体の保護について規定がないため、長期保存データが改竄されたときに、検出できない恐れがある。
【0016】
第3に、長期保存データと電子署名を付加するタイミングに関する規定がない。
【0017】
つまり、長期保存データと電子署名の付加の間にタイムラグが生じると、改竄される恐れがある。
【0018】
第4に、長期保存データと電子署名の関連づけに関する規定がない。
【0019】
つまり、どの署名に対する長期保存データであるかの関連づけが存在しないと、全ての長期保存データと署名データに含まれる証明書等を比較する必要があるため、複数の長期保存データが存在する場合、検証の際に非常に時間がかかる。
【0020】
このような第1〜第4の問題を解決するために、PDF等の電子文書フォーマットを用いて、長期保存用データを電子文書内に含めることでポータビリティを高め、かつ、長期保存データを署名で保護し、署名情報と紐付けることで、長期間にわたって長期保存用データの正当性を保証する仕組みがある。
【0021】
また、下記特許文献2には、画像送信装置において、電子ドキュメントデータを生成する際に、ドキュメントコンテンツデータ(文書・画像データ)とドキュメントプログラム(処理プログラム)の両方を対で持つ電子ドキュメントファイルデータとして生成する。
【0022】
一方、画像受信装置においては、どのようなアプリケーションプログラムも必要とすることなく、つまり自己解凍形式にて、その電子ドキュメントを表示・編集・保存・印刷処理が可能となる。また、電子ドキュメントの経時可読性を保証できる等が記載されている。
【0023】
また、e文書オプションではe文書法国税対応を予定している(2006年5月MR予定)。国税の必須要件としては、電子署名を行った日時が特定でき、長期保存用データ(電子署名の電子証明書、電子証明書の失効情報、認証パスの認証局の電子証明書)を電子証明書の有効期間内かつ失効していないうちに取得する。その上で、タイムスタンプを付けるなどして、情報を取得した日時及び変更がされていないことを長期にわたって確認することができることである。
【0024】
このようなe文書オプションでは、PDFに対して「長期保存データ」と呼ばれるデータをドキュメント内に含めた上で署名する、という「長期保存署名」が検討されている(DMS、PDFTK、PFチーム)。
【0025】
例えば e文書法では紙文書をスキャンしたものを長期保存することが可能となったため、DMSでは、スキャンデータをPDF化して長期保存することを検討している。上記方法は、長期保存データをドキュメント内に含めているためポータビリティが高く、また、長期保存データを署名で保護するため、長期にわたってデータの正当性を保障することが可能である。
【特許文献1】特開2005−63268号公報
【特許文献2】特開平11−73381号公報
【発明の開示】
【発明が解決しようとする課題】
【0026】
上述したとおり長期保存データを電子文書内に含めることでポータビリティを高め、かつ、長期保存データを署名で保護し、署名情報と紐付けることで、長期間にわたって長期保存用データの正当性を保証する仕組みについて提案されている。
【0027】
つまり、「電子署名文書の長期保存」を行うことによって、長期間にわたる電子文書の信頼性を確保することが可能である。
【0028】
一方で、長期保存する電子文書のフォーマットは、閲覧者の環境(PC環境等)を考慮すると広く普及したフォーマットであることが望ましい。
【0029】
しかし、ある電子文書フォーマットが数十年といった長期にわたって広く普及した電子文書フォーマットであるとは限らない。
【0030】
数十年の間に、より利便性のある新文書フォーマットが普及している可能性がある。
【0031】
このため、現在普及している、例えばPDFのような文書フォーマットが20年後も主流なフォーマットであるとは限らない(より便利な文書フォーマットが普及している可能性がある)。
【0032】
そのためある時点で、より便利な文書フォーマットへ移行することが望ましいが、現在検討されている「長期保存署名」では、文書フォーマットを変更してしまうと、改竄とみなされてしまうという問題点がある。
【0033】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、データベースに署名付きで保存される電子文書のフォーマットを変換しても改竄されていない事を保証できる仕組みを提供することである。
【課題を解決するための手段】
【0034】
上記目的を達成する本発明のデータ処理装置は以下に示す構成を備える。
【0035】
電子文書を処理するデータ処理装置であって、前記電子文書と、前記電子文書を署名するための長期保存データとを関連付けて記憶する記憶手段と、前記電子文書のフォーマットを電子文書生成時のフォーマット形式から他のフォーマット形式に変換する変換手段と、前記変換手段によるフォーマット変換前の電子文書に基づく第1のハッシュ値と、前記変換手段によるフォーマット変換後の電子文書から生成される第2のハッシュ値とを、前記長期保存データに保持させる保持手段と、前記長期保存データに保持されている前記第1のハッシュ値と前記第2のハッシュ値とを比較して、前記電子文書の改竄性を判定する判定手段とを有することを特徴とする。
【発明の効果】
【0036】
以上説明したように、本発明によれば、電子文書フォーマットの変換が必要に場合に、電子署名の有効性を継続しつつフォーマット変換して長期保存処理を継続することができる。
【発明を実施するための最良の形態】
【0037】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【0038】
<システム構成の説明>
〔第1実施形態〕
図1は、本発明の第1実施形態を示すデータ処理装置の一例を示すブロック図である。なお、本実施形態では、データ処理装置が処理可能な電子文書フォーマットとしてPDFを例に説明を行っていくが、SVG等の構造化された文書であれば本発明を適用できる。また、以下、電子文書の長期保存を行うためのデータである長期保存データを含む電子文書を長期保存文書と呼ぶものとする。
【0039】
図1において、クライアント300は、電子文書保存装置としての機能を有するコンピュータ等のデータ処理装置である。なお、クライアント300のハードウエアについては、後述する。
【0040】
クライアント300には、長期保存文書の作成や更新等の処理を行う長期保存処理管理部300−1を備える。また、クライアント300には、長期保存データの作成および検証処理を行う長期保存データ処理部300−2を備える。
【0041】
また、クライアント300には、電子文書に対して署名やタイムスタンプを付加する処理を行う署名処理部300−3を備える。クライアント300には、署名、タイムスタンプが施された電子文書に対して、検証処理を行う検証処理部300−4を備える。さらに、クライアント300には、データ入出力処理部300−5、ディスプレイ300−8が接続された画像表示部300−7等を備える。
【0042】
さらに、文書処理アプリケーションなどのアプリケーションプログラムにより作成されたアプリケーションデータファイルや、本実施形態で用いるPDFに代表される構造化文書等を格納するためのデータ格納部300−6等が含まれる。
【0043】
また、データ格納部300−6には、クライアント300の有するソフトウェア資源及びハードウエア資源のデータベースも保存されている。また、クライアント300は、電話回線やLAN、インターネット等のネットワーク302を介して外部のデータベース301等に接続されている。
【0044】
また、認証局(CA)から発行された公開鍵証明書に基づく鍵情報もデータ格納部300−6に記憶されている。
【0045】
長期保存処理管理部300−1では、公知のPDFやSVG等に代表される構造化文書の長期保存を行うために、長期保存データ処理部300−2、署名処理部300−3、検証処理部300−4等の各処理部の制御を行う。また、長期保存処理管理部300−1では、長期保存文書の作成や更新等の処理を行う。
【0046】
さらに、データ入出力処理部300−5は、ネットワーク302を介してデータベース301(少なくともデータベースを保持するコンピュータ等の情報処理装置)に接続されている。また、キーボードやポインティングデバイス等の入出力デバイスもデータ入出力処理部300−5に接続されているものとしている。
【0047】
<ハードウエアの構成例>
図2は、図1に示したデータ処理装置のハードウエア構成を説明するブロック図である。
【0048】
図2において、メモリ300bに格納されたプログラムを、CPU300aにより各種のデータ処理を実行することで実現される。また、プログラムは、ハードディスク等の外部メモリ300cに格納される。外部メモリ300cは、フレキシブルディスクやCDROM等の取り外し可能な記憶媒体を用いるものであっても良い。
【0049】
また、データ格納部300−6は、外部メモリ300cの一部領域として実現することができる。ディスプレイ300−8には画像が表示され、I/Oインターフェース300dを介してネットワーク302等に接続される。また、キーボード(K/B)300eやポインティングデバイスにより、オペレータは必要に応じて入力を行う。
【0050】
〔長期保存電子文書のフォーマット〕
まず、電子文書の長期保存を行うためのデータである長期保存データを含む電子文書(以後、この文書を長期保存文書と呼ぶ)のフォーマットについて説明する。
【0051】
図3は、本実施形態を示すデータ処理装置に適用可能な第1の長期保存文書のフォーマットを説明する図である。なお、図3の長期保存文書のフォーマットは、既存の構造化された文書(たとえば、PDFなど)を拡張したものでもよい。
【0052】
図3において、Contentsデータ101には画像情報やテキスト情報、グラフィック情報と言った電子文書を構成するコンテンツデータが格納されている。
【0053】
長期保存データ(署名用)102は、長期保存を行うためのデータが格納されている。
【0054】
具体的には、図3に示すように、長期保存データ(署名用)102は、署名を行うために必要な証明書102−1、Root(認証局(CA))までのすべての証明書(証明書チェーン)102−2を含む。さらに、長期保存データ(署名用)102は、証明書チェーン102−2に紐づいたすべてのCRL(失効情報リスト)102−3を含む。
【0055】
署名データ103は、Contentsデータ101および長期保存データ102を有効領域とする署名データである。
【0056】
長期保存データ(タイムスタンプ用)部104は、長期保存データ(署名用)102と同様の構成からなる。
【0057】
タイムスタンプ部105は、Contentsデータ101、長期保存データ(署名用)102、署名データ103、長期保存データ(タイムスタンプ用)を有効領域とするタイムスタンプである。
【0058】
図4に示す例は、タイムスタンプが更新されるたびに増えるタイムスタンプ部105,107を示している。
【0059】
図4は、本実施形態を示すデータ処理装置に適用可能な第2の長期保存文書のフォーマットを説明する図である。
【0060】
本例は、図3に示したような長期保存文書に対して、タイムスタンプ部105の証明書の有効期間内で、かつ失効していないうちに、長期保存データ(タイムスタンプ用)106を取得する。そして、取得した長期保存データ(長期保存データLTD2)にタイムスタンプ部107を付け加えていくことによって長期保存を可能とする例である。
【0061】
本フォーマットは、図3に示した第1の長期保存文書のフォーマットに対して長期保存データ部106、タイムスタンプ部107を付け加えたものである。ここで、タイムスタンプ部105には、タイムスタンプTS1が設定され、タイプスタンプ部106には、タイムスタンプTS2が設定された例である。
【0062】
同様に、長期保存データ(タイムスタンプ用)部104には、長期保存データLTD1が設定され、長期保存データ(タイムスタンプ用)部106には、長期保存データLTD2が設定された例である。
【0063】
〔長期保存文書作成処理(電子文書を長期保存電子文書へ変換する処理)〕
図5Aは、本実施形態を示すデータ処理装置における第1のデータ処理手順の一例を示すフローチャートである。本例は、ある電子文書を初めて長期保存文書として保存する処理例である。より具体的には、通常の電子文書から図3に示したような長期保存文書へ変換する際の処理例である。
【0064】
なお、S401〜S408は各ステップを示す。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0065】
なお、S401、S405の処理や処理全体の制御は、図1に示した長期保存処理管理部300−1にて行われる。また、S402、S406の処理は、図1に示した長期保存データ処理部300−2にて行われる。さらに、S403、S404、S407、S408の処理は、図1に示した署名処理部300−3にて行われる。
【0066】
まず、S401にて、長期保存処理管理部300−1が署名に利用する証明書を取得する。通常、信頼のおける第三者の認証機関(CA)が発行している証明書を用いるのが一般的である。
【0067】
S402にて、長期保存データ処理部300−2が取得した証明書をもとにして署名用の長期保存データ102を作成する(詳細は後述:「長期保存データ作成処理」参照)。次に、S403にて、署名処理部300−3が作成した署名用の長期保存データ102を署名対象である電子文書内に埋め込む。
【0068】
次に、S404にて、署名処理部300−3が電子文書内に署名データ103を埋め込むことによって、署名処理を施す。そして、S405にてタイムスタンプに利用する証明書を取得する。
【0069】
なお、タイムスタンプに利用する証明書の発行元は認証機関であるタイムスタンプ局(TSA:Time Stamp Authority)であるのが一般的である。
【0070】
そして、S406にて、取得した証明書をもとにしてタイムスタンプ用の長期保存データ104を作成する(S402と同様の処理)。
【0071】
次に、S407にて、署名処理部300−3が作成したタイムスタンプ用の長期保存データ104を電子文書内に埋め込む。
【0072】
次に、S408にて、署名処理部300−3がPDF内にタイムスタンプデータ部105にタイムスタンプTS1を付加することで、署名処理を施す。
【0073】
このような手順を踏むことによって、図3に示したような長期保存文書を作成することができる。
【0074】
〔長期保存データ作成処理〕
図5Bは、本実施形態を示すデータ処理装置における第3のデータ処理手順の一例を示すフローチャートである。本例は図5Aに示したS402の長期保存データ作成処理の詳細手順に対応する。なお、S402−1〜S402−4は各ステップを示す。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。本処理はすべて長期保存データ処理部300−2にて行われる。
【0075】
まず、S402−1にて、長期保存データ処理部300−2が署名に利用する証明書から認証パス(証明書を認証する認証局へのパス)を取得する。そして、S402−2にて、長期保存データ処理部300−2がRoot(認証局)までの証明書(証明書チェーン)全てを取得する。
【0076】
そして、S402−3で、長期保存データ処理部300−2が処理にて取得したすべての証明書に紐づいているCRL(失効情報)をすべて取得する。
【0077】
最後に、S402−4処理にて、長期保存データ処理部300−2がS402−1で取得した証明書、S402−2で取得した証明書チェーン、CRLを電子文書内に埋め込める形式にパッケージ化して、本処理を終了する。このパッケージ化されたデータが、図3,図4に示す長期保存データ102に対応する。
【0078】
〔長期保存文書の更新処理〕
次に、作成した長期保存文書に対して、タイムスタンプ部105の証明書の有効期間内かつ失効していない内に、長期保存データ(タイムスタンプ用)106を取得する。そして、取得した長期保存データ(タイムスタンプ用)106をタイムスタンプ107を付け加えていくことによって長期保存を行うことができる。
【0079】
図6は、本実施形態を示すデータ処理装置における第2のデータ処理手順の一例を示すフローチャートである。本例は長期保存文書に対してタイムスタンプを付加する処理手順に対応する。なお、S502、S503の処理や処理全体の制御は長期保存処理管理部300−1にて行われる。S501は検証処理部300−4にて行われる。S504は長期保存データ処理部300−2にて行われる。S505、S506の処理は長期保存処理管理部300−1にて行われる。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0080】
まず、S501で、検証処理部300−4が詳細は後述する長期保存文書の検証処理を行う。次に、S502で、長期保存処理管理部300−1が検証の結果改竄がないかどうかを判断する。ここで、改竄がないと判断した場合はS503へ移行し、改竄があると判断した場合は、本処理を終了する。
【0081】
次に、S503〜S505の処理は、長期保存文書作成処理(図5A参照)時のS405〜S408と同様の処理である。
【0082】
すなわち、S503で、長期保存処理管理部300−1がタイムスタンプ用の証明書を取得する。次に、S504で、長期保存データ処理部300−2がタイムスタンプ用の長期保存データLTD2を作成し、S505で、長期保存処理管理部300−1が電子文書内に埋め込。
【0083】
そして、最後に、S506で、長期保存処理管理部300−1がタイムスタンプ107を電子文書に付加する処理を行い、本処理を終了する。
【0084】
これによって図1に示したような長期保存文書が図2に示したような長期保存文書へ更新される。以降、3回目、4回目とタイムスタンプの更新を行う度に長期保存データ部106とタイムスタンプ部107を長期保存文書に付け加えていくことによって、電子文書の長期保存を実現することができる。
【0085】
〔長期保存文書の検証処理〕
ここでは、長期保存文書が改竄されていないこと、かつすべてのタイムスタンプが有効期限切れの前に付加されたものであることを検証する処理について説明する。
【0086】
図7Aは、本実施形態を示すデータ処理装置における第3のデータ処理手順の一例を示すフローチャートである。本例は長期保存文書に対してタイムスタンプを付加する処理手順に対応する。なお、S601〜S611は各ステップを示す。また、S604とS608の処理は長期保存データ処理部300−2で行われる。それ以外の処理は検証処理部300−4にて行われる。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0087】
まず、S601にて、検証処理部300−4が長期保存文書を解析し、長期保存文書内に付加されているタイムスタンプの数を求めて変数Nに代入する。
【0088】
次に、S602にて、検証処理部300−4がすべてのタイムスタンプについて検証処理が終了したか判断する。ここでは、変数Nが「0」かどうかを判断する。
【0089】
ここで、検証処理部300−4が変数Nが「0」であると判断した場合は、S607へ進み、変数Nが「0」でないと判断した場合は、終了するまでS603〜S606の処理を繰り返し、終了したらS607へ以降する。
【0090】
次に、S603にて、検証処理部300−4が長期保存電子文書の中からN番目のタイムスタンプの長期保存データ部106を取得する。そして、S604にて、長期保存データ処理部300−2が取得したN番目の長期保存データに改竄がないかどうかを検証する処理を行う。長期保存データ検証処理の詳細については後述する。
【0091】
そして、S605にて、検証処理部300−4が処理対象中のタイムスタンプ107の検証を行う(通常の検証処理)。そして、S606で、検証処理部300−4がS604、S605の検証の結果、ともに改竄があるかどうかを判断する。
【0092】
ここで、検証処理部300−4が改竄がないと判断した場合は、改竄がないと判断した場合は、S611で、次のタイムスタンプ(長期保存データ部106およびタイムスタンプ部107)の検証処理を行うため、変数Nから「1」を減算する。そして、S602へ移行する。
【0093】
一方、S606で、検証処理部300−4が改竄があると判断した場合は、本処理を終了する。
【0094】
一方、S602で、検証処理部300−4がすべてのタイムスタンプについて検証処理を行い、且つ改竄がなかったと判断した場合は、S607へ移行する。
【0095】
そして、S607にて、署名用の長期保存データ102を取得し、S608にて、長期保存データ処理部300−2がS604同様に長期保存データ102に改竄がないかどうかを検証処理を行い、S609に進む。そして、S609で、長期保存データ処理部300−2が署名検証を行う。
【0096】
そして、S610で、検証処理部300−4がS607、S608の検証の結果、ともに改竄がなければ改竄なしと結論付ける。
【0097】
一方、S610で、検証処理部300−4がS604、S605の検証の結果、ともに改竄があると判断した場合は、改竄ありと結論付ける。
【0098】
〔長期保存データ検証処理〕
図7Bは、本実施形態を示すデータ処理装置における第4のデータ処理手順の一例を示すフローチャートである。本例はS604で、長期保存データ処理部300−2が取得したN番目の長期保存データに改竄がないかどうかを検証する処理の詳細手順に対応する。なお、S604−1〜S604−4は各ステップを示す。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0099】
まず、S604−1にて、長期保存データ処理部300−2がパッケージ化された長期保存データを解凍し、証明書、証明書チェーン、CRLを取得する。
【0100】
次に、S604−2にて、CRLファイルをCA証明書で検証し、S604−3にてCRLファイルリストに証明書が登録されていないかをチェックする。そして、S604−4にて証明書をCA証明書で検証する。
【0101】
なお、S604−2〜S604−4のすべてにおいて改竄なされていなければ、署名もしくはタイムスタンプの証明書が失効していないことを示す。
【0102】
〔長期保存電子文書のフォーマット〕
上記電子文書の処理では、署名用長期保存データ102とタイムスタンプ用長期保存データ104は同様のフォーマットを用いる場合について説明した。以下、署名用とタイムスタンプ用で異なるフォーマットを使用する例について以下説明する。
【0103】
図8は、本実施形態を示すデータ処理装置に適用可能な第3の長期保存文書のフォーマットを説明する図である。本例の電子文書は、長期保存を行うためのデータである長期保存データを含む例である。
【0104】
なお、図3に示したフォーマットと異なる点は、長期保存データ(署名用)702の構成である。また、長期保存データ(タイムスタンプ用)については図3と同じフォーマットである。
【0105】
図8において、本例の長期保存データ(署名用)702は、図3で示した長期保存データ(署名用)102(証明書102−1、証明書チェーン102−2、CRL102−3)に対して以下のものが加えられる。本例では、画像データハッシュ値702−4、旧データハッシュ値702−5を加えたものである。
【0106】
画像データハッシュ値702−4には、電子文書内に含まれる画像データすべてのハッシュ値が格納される。また、旧データハッシュ値702−5には、長期保存文書に対してファイルフォーマット変換があった場合にのみ、変換前のデータ全体のハッシュ値が格納される。
【0107】
これにより、原稿の電子文書のフォーマットが、上記PDFフォーマットから他の電子文書のフォーマットに変更されても、それ自体を改竄としてしまうことなくなる。そして、新たな電子文書フォーマットに対しても電子文書の改竄有無を継続して検証することができる。
【0108】
つまり、長期保存データに画像データハッシュ値702−4、旧データハッシュ値702−5を加える拡張を行う構成とすることで、電子文書の長期保存において、署名の有効性を継続した電子文書フォーマット変換が可能となる。
【0109】
すなわち、新文書に含まれる元文書のハッシュ値(第1のハッシュ値に対応する)から元データを特定し、かつ、新文書に含まれる画像データのハッシュ値(第2のハッシュ値に対応する)を計算する。そして、元文書に含まれる画像データの第1、第2のハッシュ値とを比較することによってフォーマット変換時に少なくとも画像データの改竄が行われていないかの検証を行うことが可能となる。
【0110】
更に、元文書と新文書それぞれに対して改竄がなかったかの検証を行うことが可能であるため、署名の有効性を継続した電子文書フォーマット変換が可能となる。以下、より具体例について詳述する。
【0111】
〔長期保存文書の作成処理〕
長期保存文書作成処理の全体の流れは、上述した図5Aと同様であるが、長期保存データ(署名用)の作成方法のみ異なる(タイムスタンプ用長期保存データ作成方法は上記と同様)。そのため、ここでは処理全体の説明は省略し、長期保存データ(署名用)の作成方法にについて説明する。
【0112】
図9は、本実施形態を示すデータ処理装置における第5のデータ処理手順の一例を示すフローチャートである。本例は、長期保存データ処理部300−2による長期保存データ(署名用)作成処理の手順に対応する。なお、S801〜S807は各ステップを示す。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0113】
まず、S801にて、長期保存データ処理部300−2が署名に利用する証明書から認証パス(証明書を認証する認証局へのパス)を取得し、S802にてRoot(認証局)までの証明書(証明書チェーン)全てを取得する。
【0114】
次に、S803にて、長期保存データ処理部300−2が取得したすべての証明書に紐ずいているCRL(失効情報)をすべて取得する。そして、S804にて、長期保存データ処理部300−2が電子文書内の画像データをすべて取得し、すべて圧縮のかかっていないRawデータへ変換する。なお、Rawデータを含む電子文書は、外部メモリ300cに、例えば図4並びに、図12A、図12Bに示すデータ構造で記憶されている。
【0115】
ここで、図10を参照して、Rawデータの構造について説明する。
【0116】
図10は、本実施形態を示すデータ処理装置で処理可能なRawデータのデータ構造を説明する図である。なお、本実施形態において、Rawデータとは、実際の画素データIMとヘッダデータHEDとからなる。
【0117】
図10において、RawデータRAWDは、ヘッダデータHEDとして、画像データの縦、横の画素数TPC、YPC、成分数(RGBの画像であれば「3」)CC、および1成分あたりのビット数BTCが含まれる。そして、Rawデータは、さらに実際の画素データIMが含まれる。なお、Rawデータは実際の画素データIMを保持し、かつ圧縮のかかっていないデータである。
【0118】
図10に示す例において画素データは、1画素あたり24ビット(成分数×1成分あたりのビット数)であり、それが縦×横の分だけ順に格納されている。
【0119】
次に、S805にて、長期保存データ処理部300−2が取得したすべてのRawデータRAWDから1つのハッシュ値を取得する。ここで、ハッシュ値とは、元データから生成される固定長の擬似乱数でのことであり、ハッシュ値を生成する関数はハッシュ関数と呼ばれる一般的なものである)以降、このハッシュ値を画像データハッシュ値として扱う。
【0120】
なお、本実施形態では、画像データハッシュ値としてRawデータから一つのハッシュ値を求めることとした。
【0121】
しかしながら、変換前の文書と変換後の文書内に含まれる画像データが同一の形式であるとわかっている場合は、Rawデータに変換した後にハッシュ値を計算するのではなく、画像データそのものからハッシュ値を計算しても構わない。ここで、同一の画像データ形式とは、例えばBMPやJPEG等のことである。
【0122】
そして、S806にて、旧データのデータ全体のハッシュ値を取得する。この処理は、長期保存文書に対してファイルフォーマット変換があった場合にのみ、変換前のデータ全体のハッシュ値を取得し格納するものである。
【0123】
なお、ファイルフォーマット変換がなかった際には、この処理は行わないものとする。この場合、旧データハッシュ値は空となる。
【0124】
次に、S807の処理にて、S801〜S805で取得した証明書、証明書チェーン、CRL、画像データハッシュ値を、圧縮する等の処理を施してパッケージ化する。このデータが長期保存データである。
【0125】
〔長期保存文書の更新処理〕
図11は、本実施形態を示すデータ処理装置における第6のデータ処理手順の一例を示すフローチャートである。本例は、長期保存文書の更新処理の際の処理の手順に対応する。なお、S901〜S914は各ステップを示す。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0126】
なお、S901は検証処理部300−4にて、S905は長期保存データ処理部300−2にて、S906、S907、S913、S914は署名処理部300−3、それ以外の処理は長期保存処理管理部300−1にて行われる。
【0127】
まず、S901で、検証処理部300−4が長期保存文書の検証処理を行う。詳細については図13を参照して後述する。
【0128】
次に、S902で、長期保存処理管理部300−1が検証の結果改竄がされているか否かを判断する。ここで、長期保存処理管理部300−1が改竄がされていないと判断した場合は、S903の処理へ移行し、改竄があると判断した場合は、本処理を終了する。
【0129】
次に、S903にて、長期保存文書のフォーマットを変換するかどうかを判断する。本実施形態では、署名を行う際にオペレータが判断することとする。ここで、文書フォーマットを変換しないと判断した場合、S904へ移行し、変換すると判断した場合、S908へ移行する。ここで、フォーマット変換しない場合、前述の署名方法と同等の処理となる。つまりS904〜S907については前述のS503〜S506までの処理と同様である。よってここでは説明は省略する。なお、S907で、電子文書に証明されたタイムスタンプが付加される。
【0130】
そこで、S903で、フォーマット変換を行うと判断した場合、S908にて、長期保存処理管理部300−1がフォーマット変換前のデータ(以降、旧データと呼ぶ)をデータベース301に保存しておく。
【0131】
次に、S909にて、長期保存処理管理部300−1が旧データから別の電子文書フォーマット(以降、新フォーマットと呼ぶ)へ変換する。
【0132】
なお、この際、長期保存処理管理部300−1は、適宜コンバート処理に必要なアプリケーションを利用してフォーマット変換処理する。
【0133】
この際、画像情報やテキスト情報、グラフィック情報などの電子文書を構成するコンテンツを新フォーマットへ変換し、特に長期保存データや署名等の電子文書を長期保存するための情報は引き継がないルールとする。ここで、コンテンツとは、図4に示すコンテンツデータ101に対応する。
【0134】
このルールを満たす変換であれば、新フォーマットへの変換方法は本実施形態では特に問わないが、PDF文書からXML文書へ変換する処理の例については、図14を参照して後述する。
【0135】
次に、S910にて、長期保存処理管理部300−1が文書フォーマット変換時の長期保存データ(署名用)作成処理を行う(詳細は後述)。そして、S911にて、長期保存処理管理部300−1が、図8に示した長期保存データ(署名用)内の画像データハッシュ値同士を新ファイルフォーマットと変換前の旧データ間で比較する。画像データハッシュ値同士のうち、旧データハッシュ値が第1のハッシュ値に対応し、画像データハッシュ値が第2のハッシュ値に対応する。
【0136】
ここで、長期保存処理管理部300−1が、このハッシュ値同士が一致すると判断した場合は、旧データと新フォーマットデータ間で少なくとも画像データの改竄が行われていないと言えるため、S913へ移行する。
【0137】
本実施形態では、外部メモリ300cに確保されるデータベースには、電子文書が長期保存データとともに記憶されている。そして、長期保存データには、電子文書登録時に、電子文書から生成されるハッシュ値(電子文書生成時のハッシュ値)が第1のハッシュ値として登録される。そして、後述する図12Bに示すように、元データとなる電子文書のフォーマットを変更する場合に、元データ全体のハッシュ値、或いは画像データのハッシュ値を、変換後の長期保存データに書き加える。さらに、フォーマット変換された新データとなる電子文書から生成された第2のハッシュ値も長期保存データに書き加えて外部メモリ300cに保持される。以後、フォーマット変換毎に、第1、第2のハッシュ値が更新されることで、電子文書のフォーマットが変換されても、改竄とみなすことなく長期保存される電子文書に対する署名処理を継続して行うことができる。
【0138】
なお、フォーマット変更される前後の電子文書の改竄性は、長期保存データに保持されている第1のハッシュ値である画像データハッシュ値702−4Aと第2のハッシュ値である旧データハッシュ値702−5とを比較する。そして、その比較結果に基づいて、電子文書の改竄性を判定する(S911)。
【0139】
また、第1のハッシュ値は、電子文書の本体データに関連付けられた元データから生成している。
【0140】
ここで、第2のハッシュ値は、S909による新フォーマット変換後の電子文書の本体データから生成する。また、本体データは、図12A,図12Bに示すようにスキャナ装置により読み取られた画像データを含む構成となっている。
【0141】
一方、S912で、長期保存処理管理部300−1が、ハッシュ値同士が一致しないと判断した場合は、フォーマット変換が正常に行われなったと判断して、本処理を終了させる。
【0142】
次に、S913にて、署名処理部300−3が作成した署名用の長期保存データを署名対象である電子文書内に埋め込む。次に、S914にて、署名処理部300−3が電子文書内に署名データを埋め込むことによって、署名処理を施して、S914へ進む。
【0143】
図12A,図12Bは、本実施形態を示すデータ処理装置で処理可能な長期保存文書の構造を説明する図である。本例は、変換前の元データ(a)を変更後の新データ(b)との対応を示す。
【0144】
図12Aにおいて、旧データ全体のハッシュを旧データハッシュ値に代入することで、新フォーマットの長期保存データ702の旧ハッシュ値702−5に格納される。
【0145】
より具体的には、図12Bの(a)に示すように、元データ(a)内の長期保存データ702内の画像データハッシュ値702−4Bは、フォーマット変換により、以下のように更新される。
【0146】
図12Bの新データ(b)に示すように、フォーマットが、例えばPDFからXmlに変換された場合、元データ(a)全体である旧データのハッシュ値が、長期保存データ702の旧データハッシュ値702−5に格納される。また、新規データ用の画像データハッシュ値702−4Aには、新フォーマットの画像データ等に基づいて生成された画像データハッシュ値702−4Aが格納される。ここで、画像データ等は、上記Rawデータを含む。
【0147】
これにより、技術の進歩等により、長期保存すべきデータのフォーマットが変更される事態が生じても、改竄であるとして管理できなくなるという不都合を解消できる。
【0148】
つまり、本実施形態に示すように、長期保存データとして旧データのハッシュ値と、画像のRawデータのハッシュ値を持つことで、元電子文書と、新電子文書間における改竄の検証が可能となり有益である。
【0149】
〔検証時の処理〕
図13は、本実施形態を示すデータ処理装置における第9のデータ処理手順の一例を示すフローチャートである。本例は、長期保存文書の検証時の際の処理の手順に対応する。なお、S1001〜S1010は各ステップを示す。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0150】
なお、S1001、S1007は検証処理部300−4にて、S1003、S1004は長期保存データ処理部300−2にて、それ以外の処理は長期保存処理管理部300−1にてそれぞれ行われる。
【0151】
まず、S1001にて、検証処理部300−4が前述のようにタイムスタンプに基づく検証処理を図7Aに示す処理と同様の処理を行う。次に、S1002で、長期保存処理管理部300−1が検証の結果、改竄されているかどうかを判断する。ここで、長期保存処理管理部300−1が改竄されていると判断した場合は、「改竄あり」として本処理を終了する。
【0152】
一方、S1002で、改竄されていないと判断された場合は、S1003へ移行する。そして、S1003にて、長期保存データ処理部300−2が長期保存電子文書から長期保存データ702を取得する。
【0153】
そして、S1004で、長期保存データ処理部300−2が長期保存データ(署名用)703内に旧データハッシュ値702−5が存在するかどうかを判断する。つまり、長期保存データ702内に旧データハッシュ値702−5が存在するかどうかを判断することで、電子文書のフォーマットが変更されたか否かを判断することができる。ここで、長期保存データ処理部300−2が旧データハッシュ値702−5が存在すると判断した場合は、過去にファイルフォーマット変換が行われていたと判断して、S1005へ移行する。
【0154】
一方、S1004で、長期保存データ処理部300−2が旧データハッシュ値702−5が存在しないと判断した場合は、ファイルフォーマット変換が行われていない通常通りの長期保存電子文書であると判断して、本処理を終了する。
【0155】
そして、S1005にて、長期保存処理管理部300−1が旧データハッシュ値702−5をキーとして旧データをデータベース301内から検索する。
【0156】
なお、S908にて旧データをデータベース301に保存する際、旧データのハッシュ値をファイル名として保存する等の処理を施しておくことで、ハッシュ値をキーとした検索も可能となる。
【0157】
そして、S1006で、長期保存処理管理部300−1が該当するハッシュ値のファイルが存在するかどうかを判断する。ここで、長期保存処理管理部300−1が該当するハッシュ値のファイルが存在しないと判断した場合は、新フォーマットへの変換時に改竄があったかどうかを検証することができない。そこで、改竄ありと判断して、本処理を終了する。つまり、旧データハッシュ値が存在する場合に、旧データの本体がデータベース301上に存在しない場合は、改竄が実行されたものとみなして、処理を終了する。
【0158】
なお、その際に、改竄検証結果を、電子文書のフォーマット変換の処理の有無と合わせて、ユーザに通知する制御を加えてもよい。
【0159】
一方、S1006で、長期保存処理管理部300−1が該当するハッシュ値のファイルがデータベース301上に存在すると判断した場合は、S1007へ移行する。そして、S1007にて、検証処理部300−4が旧データの検証処理を行う。これは、図7Aで説明した処理と同様に、長期保存データ処理部300−2による署名検証処理である。
【0160】
そして、S1008で、長期保存処理管理部300−1が検証処理部300−4により検証した結果、改竄がされているかどうかを判断する。ここで、長期保存処理管理部300−1が改竄がされていると判断した場合は、本処理を終了する。
【0161】
一方、S1008で、長期保存処理管理部300−1が改竄されていないと判断した場合は、S1009に進む。そして、S1009で、長期保存処理管理部300−1が、新フォーマットデータと変換前の旧データのそれぞれが保持している長期保存データ(署名用)内の画像データハッシュ値同士を比較する。
【0162】
そして、S1010で、長期保存処理管理部300−1が画像データハッシュ値同士が一致する場合、旧データと新フォーマットに基づくデータとの間で少なくとも画像データの改竄が行われていないと判断する。
【0163】
一方、長期保存処理管理部300−1が画像データハッシュ値同士が一致しないと判断した場合は、改竄ありと判定して、本処理を終了する。
【0164】
なお、更に検証の信頼性を高めるために、新フォーマットデータに含まれる画像データから画像データハッシュ値を計算し直して、長期保存データ(署名用)内の画像データハッシュ値702−4と比較する処理を加えてもよい。また、一致しないと判定した場合に、当該画像データハッシュ値を計算し直す処理を加えて、検証処理効率と検証信頼性を高めるように構成してもよい。
【0165】
これにより、S1001の処理で、従来通り長期保存文書の検証が可能となる。また、S1003〜S1007の処理で、旧データ長期保存文書の検証が可能となり、S1009、S1010で、現長期保存文書と旧長期保存文書(旧データ)の変換の過程で改竄がなかったを検証することが可能となる。
【0166】
〔文書フォーマット変換処理の例〕
以下、文書フォーマット変換処理の例として、PDF文書からXML文書へ変換する具体的な処理について説明する。
【0167】
ここでは、画像データ部分の変換方法についてのみ説明し、他のデータ(文書の構造情報や、ページの構成を示す情報、テキスト情報、線などの図形情報等)の変換方法については省略する。
【0168】
図14は、本実施形態を示すデータ処理装置における第8のデータ処理手順の一例を示すフローチャートである。本例は、文書フォーマット変換処理の手順に対応する。なお、S1101〜S1106は各ステップを示す。各ステップは、CPU300aが外部メモリ300cに格納された制御プログラムをメモリ300bにロードして実行することで実現される。
【0169】
図15、図16は、本実施形態を示すデータ処理装置におけるデータ変換処理対象データの一例を示す図である。図15は、変換前の文書であるPDF文書の中から、画像データを扱う部分について抜き出したものである。
【0170】
一方、図16は変換後のXML文書の中から画像データを扱う部分について抜き出したものである。
【0171】
まず、S1101にて、CPU300aが元文書であるPDF内のオブジェクト(object)をメモリ300b上に読み込む。そして、S1102で、オブジェクトのタイプを判定する。
【0172】
ここで、オブジェクトのタイプには、例えば、文書の構造情報、ページの構成を示す情報、テキスト情報、線などの図形情報(グラフィックス)、画像情報等がある。
【0173】
オブジェクトは、例えば図15に示したようにOjectTypeがXobjectであり(1)、かつSubTypeがImage(2)であった場合、画像オブジェクトであると判定される。他のオブジェクトも同様にTypeやSubTypeを解析することによってオブジェクトタイプを判定することが可能である。
【0174】
そして、S1102にて、画像オブジェクトであると判定された場合、S1103にて、図15に示すStreamデータ(8)を読み込む。
【0175】
このStreamデータが実際の画像データであり、図15に示した例では、横幅100(3)、縦幅100(4)、1色成分ごとに8ビットのJPEG圧縮データ(7)である。
【0176】
次に、S1104で、CPU300aは、読み込んだ図15に示すStreamデータ(8)を変換後のファイルフォーマットであるXMLフォーマットで扱える形式に変換する。なお、変換すべきフォーマットがXMLの場合には、画像を扱うためにはBase64エンコード化したラスタ画像にする必要がある。
【0177】
次に、S1105で、CPU300aは、図16に示すようにXML画像Tagを生成する。そして、CPU300aは、すべてのオブジェクトに対して処理するまで、S1103〜S1105を繰り返す。
【0178】
なお、本実施形態では、S1102で、OjectTypeが画像の場合について説明したが、OjectTypeがグラフィックス又はテキストにおいても、同様のステップでデータ変換処理を行う。
【0179】
これにより、電子文書フォーマットの長期保存を行う上で、フォーマット変換が必要になったときに署名の有効性を継続しつつフォーマット変換を行える。
【0180】
本実施形態では、画像データと画像データのハッシュ値を含む電子文書(元文書)を、他のフォーマット形式(新文書)に変換する際に、新文書内に元文書のデータハッシュ値を持たせる構成としている。そして、長期保存すべきデータの電子署名によるデータ改竄性の検証を、フォーマットを変更した後も継続することができる。
【0181】
つまり、上記実施形態によれば、電子文書の長期保存において、署名の有効性を継続した電子文書フォーマット変換が可能となる。
【0182】
〔第2実施形態〕
以下、図17に示すメモリマップを参照して本発明に係るデータ処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【0183】
図17は、本発明に係るデータ処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0184】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0185】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0186】
本実施形態における図5A,図5B,図6,図7A,図7B,図9,図11,図13,図14に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0187】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0188】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0189】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0190】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0191】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0192】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
【0193】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0194】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0195】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0196】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
【0197】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【0198】
【図1】本発明の第1実施形態を示すデータ処理装置の一例を示すブロック図である。
【図2】図1に示したデータ処理装置のハードウエア構成を説明するブロック図である。
【図3】本実施形態を示すデータ処理装置に適用可能な第1の長期保存文書のフォーマットを説明する図である。
【図4】本実施形態を示すデータ処理装置に適用可能な第1の長期保存文書のフォーマットを説明する図である。
【図5A】本実施形態を示すデータ処理装置に適用可能な第2の長期保存文書のフォーマットを説明する図である。
【図5B】本実施形態を示すデータ処理装置における第1のデータ処理手順の一例を示すフローチャートである。
【図6】本実施形態を示すデータ処理装置における第2のデータ処理手順の一例を示すフローチャートである。
【図7A】本実施形態を示すデータ処理装置における第3のデータ処理手順の一例を示すフローチャートである。
【図7B】本実施形態を示すデータ処理装置における第4のデータ処理手順の一例を示すフローチャートである。
【図8】本実施形態を示すデータ処理装置に適用可能な第3の長期保存文書のフォーマットを説明する図である。
【図9】本実施形態を示すデータ処理装置における第5のデータ処理手順の一例を示すフローチャートである。
【図10】本実施形態を示すデータ処理装置で処理可能なRawデータのデータ構造を説明する図である。
【図11】本実施形態を示すデータ処理装置における第6のデータ処理手順の一例を示すフローチャートである。
【図12A】本実施形態を示すデータ処理装置で処理可能な長期保存文書の構造を説明する図である。
【図12B】本実施形態を示すデータ処理装置で処理可能な長期保存文書の構造を説明する図である。
【図13】本実施形態を示すデータ処理装置における第7のデータ処理手順の一例を示すフローチャートである。
【図14】本実施形態を示すデータ処理装置における第8のデータ処理手順の一例を示すフローチャートである。
【図15】本実施形態を示すデータ処理装置におけるデータ変換処理対象データの一例を示す図である。
【図16】本実施形態を示すデータ処理装置におけるデータ変換処理対象データの一例を示す図である。
【図17】本発明に係るデータ処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【0199】
300 クライアント
300−1 長期保存処理管理部
300−2 長期保存データ処理部
300−3 署名処理部
300−4 検証処理部
300−5 データ入出力部
300−6 データ格納部
300−7 画像表示部
300−8 ディスプレイ
【特許請求の範囲】
【請求項1】
電子文書を処理するデータ処理装置であって、
前記電子文書と、前記電子文書を署名するための長期保存データとを関連付けて記憶する記憶手段と、
前記電子文書のフォーマットを電子文書生成時のフォーマット形式から他のフォーマット形式に変換する変換手段と、
前記変換手段によるフォーマット変換前の電子文書に基づく第1のハッシュ値と、前記変換手段によるフォーマット変換後の電子文書から生成される第2のハッシュ値とを、前記長期保存データに保持させる保持手段と、
前記長期保存データに保持されている前記第1のハッシュ値と前記第2のハッシュ値とを比較して、前記電子文書の改竄性を判定する判定手段と、
を有することを特徴とするデータ処理装置。
【請求項2】
前記保持手段は、前記変換手段によるフォーマット変換毎に、前記第1のハッシュ値を生成される第2のハッシュ値に基づいて更新することを特徴とする請求項1記載のデータ処理装置。
【請求項3】
証明されたタイムスタンプを取得する取得手段と、
前記取得手段により取得されるタイムスタンプを前記電子文書に付加する付加手段と、
を有することを特徴とする請求項1記載のデータ処理装置。
【請求項4】
前記電子文書は、スキャナ装置により読み取られた画像データを含むことを特徴とする請求項1〜3のいずれかに記載のデータ処理装置。
【請求項5】
前記第1のハッシュ値は、前記電子文書の本体データに関連付けられた元データから生成することを特徴とする請求項1記載のデータ処理装置。
【請求項6】
前記第2のハッシュ値は、前記変換手段によるフォーマット変換後の電子文書の本体データから生成することを特徴とする請求項1記載のデータ処理装置。
【請求項7】
前記本体データは、スキャナ装置により読み取られた画像データを含むことを特徴とする請求項6記載のデータ処理装置。
【請求項8】
電子文書と、前記電子文書を署名するための長期保存データとを関連付けて記憶する記憶手段を備えて、電子文書を処理するデータ処理装置におけるデータ処理方法であって、
前記電子文書のフォーマットを電子文書生成時のフォーマット形式から他のフォーマット形式に変換する変換工程と、
前記変換工程によるフォーマット変換前の電子文書に基づく第1のハッシュ値と、前記変換工程によるフォーマット変換後の電子文書から生成される第2のハッシュ値とを、前記長期保存データに保持させる保持工程と、
前記長期保存データに保持されている前記第1のハッシュ値と前記第2のハッシュ値とを比較して、前記電子文書の改竄性を判定する判定工程と、
を有することを特徴とするデータ処理方法。
【請求項9】
前記保持工程は、前記変換工程によるフォーマット変換毎に、前記第1のハッシュ値を生成される第2のハッシュ値に基づいて更新することを特徴とする請求項8記載のデータ処理方法。
【請求項10】
証明されたタイムスタンプを取得する取得工程と、
前記取得工程により取得されるタイムスタンプを前記電子文書に付加する付加工程と、
を有することを特徴とする請求項8記載のデータ処理方法。
【請求項11】
前記電子文書は、スキャナ装置により読み取られた画像データを含むことを特徴とする請求項8〜10のいずれかに記載のデータ処理方法。
【請求項12】
前記第1のハッシュ値は、前記電子文書の本体データに関連付けられた元データから生成することを特徴とする請求項8記載のデータ処理方法。
【請求項13】
前記第2のハッシュ値は、前記変換工程によるフォーマット変換後の電子文書の本体データから生成することを特徴とする請求項8記載のデータ処理方法。
【請求項14】
前記本体データは、スキャナ装置により読み取られた画像データを含むことを特徴とする請求項13記載のデータ処理方法。
【請求項15】
請求項8〜14のいずれかに記載のデータ処理方法をコンピュータに実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項16】
請求項8〜14のいずれかに記載のデータ処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項1】
電子文書を処理するデータ処理装置であって、
前記電子文書と、前記電子文書を署名するための長期保存データとを関連付けて記憶する記憶手段と、
前記電子文書のフォーマットを電子文書生成時のフォーマット形式から他のフォーマット形式に変換する変換手段と、
前記変換手段によるフォーマット変換前の電子文書に基づく第1のハッシュ値と、前記変換手段によるフォーマット変換後の電子文書から生成される第2のハッシュ値とを、前記長期保存データに保持させる保持手段と、
前記長期保存データに保持されている前記第1のハッシュ値と前記第2のハッシュ値とを比較して、前記電子文書の改竄性を判定する判定手段と、
を有することを特徴とするデータ処理装置。
【請求項2】
前記保持手段は、前記変換手段によるフォーマット変換毎に、前記第1のハッシュ値を生成される第2のハッシュ値に基づいて更新することを特徴とする請求項1記載のデータ処理装置。
【請求項3】
証明されたタイムスタンプを取得する取得手段と、
前記取得手段により取得されるタイムスタンプを前記電子文書に付加する付加手段と、
を有することを特徴とする請求項1記載のデータ処理装置。
【請求項4】
前記電子文書は、スキャナ装置により読み取られた画像データを含むことを特徴とする請求項1〜3のいずれかに記載のデータ処理装置。
【請求項5】
前記第1のハッシュ値は、前記電子文書の本体データに関連付けられた元データから生成することを特徴とする請求項1記載のデータ処理装置。
【請求項6】
前記第2のハッシュ値は、前記変換手段によるフォーマット変換後の電子文書の本体データから生成することを特徴とする請求項1記載のデータ処理装置。
【請求項7】
前記本体データは、スキャナ装置により読み取られた画像データを含むことを特徴とする請求項6記載のデータ処理装置。
【請求項8】
電子文書と、前記電子文書を署名するための長期保存データとを関連付けて記憶する記憶手段を備えて、電子文書を処理するデータ処理装置におけるデータ処理方法であって、
前記電子文書のフォーマットを電子文書生成時のフォーマット形式から他のフォーマット形式に変換する変換工程と、
前記変換工程によるフォーマット変換前の電子文書に基づく第1のハッシュ値と、前記変換工程によるフォーマット変換後の電子文書から生成される第2のハッシュ値とを、前記長期保存データに保持させる保持工程と、
前記長期保存データに保持されている前記第1のハッシュ値と前記第2のハッシュ値とを比較して、前記電子文書の改竄性を判定する判定工程と、
を有することを特徴とするデータ処理方法。
【請求項9】
前記保持工程は、前記変換工程によるフォーマット変換毎に、前記第1のハッシュ値を生成される第2のハッシュ値に基づいて更新することを特徴とする請求項8記載のデータ処理方法。
【請求項10】
証明されたタイムスタンプを取得する取得工程と、
前記取得工程により取得されるタイムスタンプを前記電子文書に付加する付加工程と、
を有することを特徴とする請求項8記載のデータ処理方法。
【請求項11】
前記電子文書は、スキャナ装置により読み取られた画像データを含むことを特徴とする請求項8〜10のいずれかに記載のデータ処理方法。
【請求項12】
前記第1のハッシュ値は、前記電子文書の本体データに関連付けられた元データから生成することを特徴とする請求項8記載のデータ処理方法。
【請求項13】
前記第2のハッシュ値は、前記変換工程によるフォーマット変換後の電子文書の本体データから生成することを特徴とする請求項8記載のデータ処理方法。
【請求項14】
前記本体データは、スキャナ装置により読み取られた画像データを含むことを特徴とする請求項13記載のデータ処理方法。
【請求項15】
請求項8〜14のいずれかに記載のデータ処理方法をコンピュータに実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項16】
請求項8〜14のいずれかに記載のデータ処理方法をコンピュータに実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図6】
【図7A】
【図7B】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図6】
【図7A】
【図7B】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2008−211290(P2008−211290A)
【公開日】平成20年9月11日(2008.9.11)
【国際特許分類】
【出願番号】特願2007−43434(P2007−43434)
【出願日】平成19年2月23日(2007.2.23)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成20年9月11日(2008.9.11)
【国際特許分類】
【出願日】平成19年2月23日(2007.2.23)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]