説明

文書検証装置およびその方法

【課題】 複数の電子文書の一括検証にかかる時間を短縮する。
【解決手段】 電子文書の重要度を判定し(S602)、重要度が高いと判定した電子文書が有するすべての電子署名を検証して、その電子文書の検証結果を生成する(S603)。また、重要度が高くないと判定した電子文書が有する最新の電子署名を検証して、その電子文書の検証結果を生成する(S604)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子文書の検証に関する。
【背景技術】
【0002】
文書管理システムは、ワードプロセッサなどで作成された電子データや、紙に印刷された文書をスキャンした電子データ(以下、これら電子データを「電子文書」と呼ぶ)を格納する。そして、これら電子文書に電子署名やタイムスタンプ署名を付加して、作成者等の証明、電子文書の非改竄の確認、電子文書の存在証明が行われている。
【0003】
なお、以下では、タイムスタンプ署名も電子署名の一種としてすべて電子署名と呼ぶ。従って、電子署名を付加するという表現には、電子署名を付加する、タイムスタンプ署名を付加する、並びに、電子署名とタイムスタンプ署名の両方を付加する場合が含まれる。また、作成者等の証明、電子文書の非改竄の確認、電子文書の存在証明をまとめて「検証」と呼ぶことにする。
【0004】
このような状況の下、電子署名が付加された複数の電子文書について、電子署名を一括検証する技術の利用が開始された。また、電子署名が付加された電子文書が増加しているため、大量の電子文書の電子署名を一括検証する機能を備える文書管理システムが望まれている。
【0005】
電子署名の検証は比較的時間を要する処理である。とくに電子署名の期限が何度も延長された電子文書には複数の電子署名が存在する。このような場合、その電子文書の検証結果を得るまでに、電子署名の数に比例する時間が必要になる。一方、電子文書を一括検証する技術は、重要ではない電子文書にも一様な検証処理を実行する。従って、多数の電子署名が存在する電子文書が多数あれば、長い検証時間を必要とすることになる。
【0006】
また、ユーザが設定したスケジュールに従い、定期的に、電子文書に付加された電子署名を検証し、検証結果をデータベースに格納する文書検証スケジューラが提案されている。文書検証スケジューラは、検証すべき電子文書について、ユーザが各電子文書の重要度を判断し、その判断結果を文書検証スケジューラに入力する。そして、重要度が低い電子文書の検証は時々しか行わず、重要度の高い電子文書の検証は頻繁に行う(例えば特許文献1を参照)。
【0007】
しかし、文書検証スケジューラは、スケジュールに従い検証を実行するだけである。従って、文書検証スケジューラによってデータベースに格納された検証結果は、ユーザが検証結果を確認する時点の電子文書の有効性を厳密には示していない。言い替え得れば、電子文書の現時点の有効性を検証したいという要求に、文書検証スケジューラは応えることができない。
【0008】
【特許文献1】特開2005-135242公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、複数の電子文書の一括検証にかかる時間を短縮することを目的とする。
【課題を解決するための手段】
【0010】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0011】
本発明にかかる文書検証装置の制御方法は、電子文書の重要度を判断する判断工程と、前記判断工程において重要度が高いと判断された場合に、当該高いと判断された電子文書の信頼性について第一の検証処理を行う第一の検証工程と、前記判断工程において重要度が高くないと判断された場合に、当該高くないと判断された電子文書の信頼性について前記第一の検証処理よりも簡易な第二の検証処理を行う第二の検証工程とを有することを特徴とする。
【0012】
本発明にかかる文書検証装置は、電子文書の重要度を判断する判断手段と、前記判断手段において重要度が高いと判断された場合に、当該高いと判断された電子文書の信頼性について第一の検証処理を行う第一の検証手段と、前記判断手段において重要度が高くないと判断された場合に、当該高くないと判断された電子文書の信頼性について前記第二の検証処理よりも簡易な第二の検証処理を行う第二の検証手段とを有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、複数の電子文書を一括検証する際、電子文書ごとに重要度を判断し、重要度に応じて検証方法を切り替える。従って、重要度が低い電子文書の検証時間を節約し、重要な電子文書の即時検証(現時点での検証)を可能にし、一括検証にかかる時間を短縮することができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明にかかる実施例の情報処理を図面を参照して詳細に説明する。
【実施例1】
【0015】
[文書管理システムの構成]
図1は実施例1の文書管理システムの構成例を示す図である。
【0016】
文書管理サーバ1003は、各種電子文書をデータファイルとして記憶し、ユーザが所望する電子文書を記憶した電子文書から、適宜、検索する機能を備える。
【0017】
文書登録装置1001は、電子文書に電子署名を付加した新たな電子文書を作成し、新たな電子文書を文書管理サーバ1003に送信して、文書管理サーバ1003に記憶させる。以下では、文書登録装置1001が文書管理サーバ1003に電子文書を記憶させることを「電子文書を登録する」という。
【0018】
文書登録装置1001は、スキャナ1004を制御して例えばJPEG形式の電子データとして電子文書を取得する機能を有する。また、文書登録装置1001は、共有記憶装置1006に記憶された電子文書を取得することもできる。共有記憶装置1006は、例えば、インターネットなどのネットワーク1007から受信した電子メールに付加された電子文書や、複合機(MFP) 1005によって読み取られ、MFP 1005の送信機能により送られてきた電子文書を記憶する。共有記憶装置1006が記憶する電子文書には、電子署名が未付加のもの、他の装置によって電子署名が既付加のものが混在する。
【0019】
文書検証装置1002は、文書管理サーバ1003に記憶された電子文書を取り出して、取り出した電子文書に付加された電子署名を検証する。また、文書検証装置1002は、ユーザが設定したスケジュールに従い、定期的に電子文書に付加された電子署名を検証する文書検証スケジューラ機能を有する。なお、検証処理の詳細は後述する。さらに、文書検証装置1002は、ユーザが重要度の指標とするインデックスを選択し、重要度を決定するための閾値を設定するためのユーザインタフェイス(UI)を提供する。なお、重要度の諸設定およびそのUIは後述する。
【0020】
文書管理サーバ1003、文書登録装置1001、文書検証装置1002はそれぞれ、図示しないCPUとメモリを備え、メモリに格納されたプログラムをCPUが実行することで、文書管理システムに関する機能を実現する。また、電子文書は、文書管理サーバ1003の制御下にあるハードディスクなどの記憶装置に格納されている。また、図1には、文書登録装置1001と文書検証装置1002が別装置である例を示したが、両装置の機能をもつ一台の装置としてもよい。
【0021】
[電子文書の登録]
図3は文書登録装置1001が電子文書を取得し、文書管理サーバ1003に登録する処理を説明するフローチャートである。
【0022】
文書登録装置1001は、まず、図4Aに示す初期ダイアログを図示しないモニタに表示する(S101)。ユーザは、文書登録装置1001に接続された図示しないキーボードやマウスなどの入力デバイスを利用して、ダイアログのテキストボックス301のドロップダウンメニューから「SCAN」または「FILE」を選択する。ユーザが「SCAN」を選択した後、初期ダイアログの「開始」ボタン302を押すと(S102)、文書登録装置1001は、スキャン時の各種設定を行う図4Bに示すスキャンダイアログを表示する(S103)。
【0023】
ユーザはスキャンダイアログを操作して、カラーモードや解像度などを設定した後、スキャンダイアログの「スキャン」ボタン303を押す(S104)。これに応じて、文書登録装置1001は、スキャナ1004にスキャンを開始させ、スキャナ1004から受信したスキャン画像を、一旦、装置内のメモリの所定領域に記憶する(S105)。そして、スキャンを継続するか否かをユーザに選択させるための図4Cに示す継続ダイアログを表示する(S106)。
【0024】
ユーザが継続ダイアログの「はい」ボタン304を押すと(S107)、文書登録装置1001は、スキャンダイアログを表示するために処理をステップS105に戻す。また、ユーザが継続ダイアログの「いいえ」ボタン305を押すと(S107)、文書登録装置1001は、装置内のメモリの所定領域に記憶したスキャン画像から例えばPDF(portable document format)形式の電子文書を生成し、メモリの所定領域に格納する(S108)。
【0025】
一方、ユーザが「FILE」を選択した後、初期ダイアログの「開始」ボタン302を押すと(S102)、文書登録装置1001は、入力する電子文書をユーザが指定するための図4Eに示すインポートダイアログを表示する(S121)。ユーザがインポートダイアログの「追加」ボタン321を押すと(S122)、文書登録装置1001は、ユーザが電子文書を選択するための図4Fに示すファイル選択ダイアログを表示する(S123)。ユーザは、ファイル選択ダイアログを操作して電子文書のファイル名を指定し、ファイル選択ダイアログの「開く」ボタン322を押す(S124)。これに応じて、文書登録装置1001は、ファイル選択ダイアログの表示を解除し(S125)、インポートダイアログのリストボックス323に、指定された電子文書のファイル名をリストアップし(S126)、処理をステップS122に戻す。
【0026】
ユーザがインポートダイアログ「OK」ボタン324を押すと(S122)、文書登録装置1001は、処理をステップS108に進める。そして、リストボックス323にリストされた電子文書を、順次、共有記憶装置1006から読み込み、PDF形式の電子文書に変換して、メモリの所定領域に格納する(S108)。
【0027】
電子文書の生成(S108)が終了すると、文書登録装置1001は、図4Dに示すプレビューダイアログを表示する(S109)。
【0028】
プレビューダイアログは、PDF形式の電子文書をプレビュー表示するためのダイアログである。ユーザは、プレビューダイアログを利用して、電子文書に付加するインデックス情報の入力などを行い、文書登録装置100は、この入力を受け付ける(S110)。さらに、ステップS110で、ユーザは、電子文書に付加する署名を通常形式で行うか、長期保存形式で行うかを選択し、文書登録装置100は、この選択を受け付ける。
【0029】
文書登録装置1001は、インデックス情報の入力や付与形式の選択などが終了し、ユーザによりプレビューダイアログの「実行」ボタン306が押されたことを判断する(S111)。すると、文書登録装置1001は、電子文書に電子署名、入力されたインデックス情報、選択された付与形式、タイムスタンプ署名を付加して新たな電子文書を生成する(S112)。そして、文書登録装置1001は、新たに生成した電子文書を文書管理サーバ1003に登録し(S113)、処理をステップS101に戻す。なお、文書登録装置1001は、文書管理サーバ1003に電子文書を登録する間、現在の処理状況を示す図4Gに示す処理状況表示ダイアログを表示し、すべての電子文書の登録が終了すると処理状況表示ダイアログの表示を解除する。
【0030】
●登録処理
図5は文書登録装置1001が電子文書に電子署名を付加して文書管理サーバ1003に登録する処理(図3におけるS112〜S113)を示すフローチャートである。
【0031】
図5に示す処理の実行前に、文書登録装置1001のメモリには予めハッシュ関数、秘密鍵、秘密鍵に対応する証明書が記憶されているものとする。また、証明書には、公開鍵が含まれ、証明書のシリアル番号、証明書の発行元(サーバ)を示す情報、秘密鍵所持者に関する情報(秘密鍵所持者の名前等)、証明書の有効期間などの情報が記載されている。
【0032】
文書登録装置1001は、電子署名に用いようとする証明書(以下「対象証明書」と呼ぶ)の有効性を確認し(S201)、対象証明書が有効か否かを判定して(S202)、有効の場合は処理をステップS203へ進め、無効の場合は処理を終了する。なお、対象証明書の有効性確認処理の詳細は後述する。
【0033】
次に、文書登録装置1001は、有効性が確認された対象証明書を用いて、電子文書に電子署名を付加して新たな電子文書を作成する(S203)。なお、電子署名の付加処理の詳細は後述する。
【0034】
次に、文書登録装置1001は、電子署名を付加した電子文書にタイムスタンプ署名を付加して、さらに新たな電子文書を生成する(S204)。なお、タイムスタンプ署名の付加処理の詳細は後述する。
【0035】
次に、文書登録装置1001は、電子署名およびタイムスタンプ署名を付加した電子文書を文書管理サーバ1003に登録し(S205)、処理を終了する。
【0036】
なお、電子文書に電子署名やタイムスタンプ署名を付加して、新たな電子文書を生成すると説明したが、必ずしも、新たな電子文書を生成しなくてもよい。例えば、電子署名の付加前の電子文書、電子署名、タイムスタンプ署名を別ファイルのまま、それぞれ関連付けて文書管理サーバ1003に登録してもよい。また、電子署名の付加、タイムスタンプ署名の付加、電子文書の登録などの処理に失敗した場合、適切なエラー処理が行われるものとする。
【0037】
●証明書の有効性確認処理
図6Aは証明書の有効性の確認処理(図5におけるS201)の詳細を示すフローチャートである。
【0038】
文書登録装置1001は、対象証明書の発行元の情報を取得し、発行元が信頼できるサーバ(認証局)か否かを判定する(S211)。そして、信頼できると判定した場合は処理をステップS212へ進め、信頼できないと判定した場合は対象証明書の状態を無効にして(S216)、処理を終了する。なお、信頼できる発行元(サーバ)の情報は、文書管理サーバ1003に予め登録されているものとする。また、以下では、とくに断らない限り、発行元の証明書サーバ1009(図1参照)は信頼できるサーバとして説明する。また、とくに断らない限り、証明書の発行元は証明書サーバ1009であるとして説明する。
【0039】
次に、文書登録装置1001は、対象証明書に記載された有効期間情報を取得して、対象証明書が期限切れか否かを判定する(S212)。そして、有効期限内の場合は処理をステップS213へ進め、有効期限切れの場合は対象証明書の状態を無効にして(S216)、処理を終了する。
【0040】
次に、文書登録装置1001は、失効した証明書の一覧であるCRL (certificate revocation list)を、対象証明書の発行元である証明書サーバ1009から取得する(S213)。そして、対象証明書がCRLに含まれているか否かを判定し(S214)、含まれていない場合は対象証明書の状態を有効にし(S215)、含まれている場合は対象証明書は失効しているため、対象証明書の状態を無効にして(S216)、処理を終了する。
【0041】
●電子署名の付加処理
図6Bは電子署名の付加処理(図5におけるS203)を説明するフローチャートである。
【0042】
文書登録装置1001は、電子文書のハッシュ値を計算する(S221)。なお、ハッシュ値の計算には、例えばMD5やSHA-1などのハッシュ関数を使用すればよい。もし、電子文書に既に電子署名が付加されていた場合は、その電子署名も含めてハッシュ値を計算する。
【0043】
図7はオリジナルの電子文書とハッシュ値の計算対象の関係を示す図である。
【0044】
図7(a)の電子文書はオリジナル文書だけを含む、言い替えれば電子署名が未付加である。この電子文書に電子署名を付加する場合、オリジナル文書だけがハッシュ値の計算対象である。この電子文書に電子署名を付加すると、図7(b)に示す電子文書が生成される。図7(b)の電子文書は、オリジナル文書と電子署名(署名1)を含んでいる。
【0045】
図7(b)の電子文書に、さらに電子署名を付加する場合、オリジナル文書と署名1の両方がハッシュ値の計算対象になる。この電子文書に電子署名を付加すると、図7(c)に示す電子文書が生成される。図7(c)の電子文書は、オリジナル文書、電子署名(署名1)、電子署名(署名2)を含んでいる。
【0046】
次に、文書登録装置1001は、対象証明書に含まれる秘密鍵により、ステップS221で計算したハッシュ値を暗号化し(S222)、暗号化ハッシュ値と対象証明書を含む電子署名を生成する(S223)。そして、生成した電子署名と電子文書に付加する(S224)。この電子署名の形式としては例えばPKCS#7やPDF電子署名などがある。なお、文書登録装置1001は、さらに、電子文書が文書管理サーバ1003に登録されるであろうことを示す情報や、電子署名の生成時刻を含む電子署名の生成してもよい。
【0047】
●タイムスタンプ署名の付加処理
図6Cはタイムスタンプ署名の付加処理(図5におけるS204)を説明するフローチャートである。
【0048】
文書登録装置1001は、ステップS203で電子署名が付加された電子文書のハッシュ値を計算する(S231)。なお、ハッシュ値の計算対象は、電子署名の付加と同様に、オリジナル文書と付加された一つまたは複数の電子署名である。
【0049】
次に、文書登録装置1001は、計算したハッシュ値をタイムスタンプサーバ(タイムスタンプ局、time stamping authority (TSA)、図1参照)に送信する(S232)。
【0050】
タイムスタンプサーバ1008は、ハッシュ値を受信すると、受信したハッシュ値をタイムスタンプサーバ1008に固有の秘密鍵で暗号化し、暗号化したハッシュ値と現在時刻を統合した統合情報を生成する。そして、この統合情報と、秘密鍵に対応する公開鍵を有する証明書を含むタイムスタンプトークンを生成して、タイムスタンプトークンを文書登録装置1001に返す。
【0051】
文書登録装置1001は、タイムスタンプサーバ1008からタイムスタンプトークンを受信すると、受信したタイムスタンプトークンと、その他必要な情報を含むタイムスタンプ署名を生成する(S233)。なお、ステップS233では、必要に応じて(つまり長期保存形式の署名付与がステップS110でユーザにより選択された場合)、一つ前の署名の証明書のCRLを証明書サーバ1008から取得する。そして、取得した一つ前の署名の証明書のCRLをタイムスタンプ署名の中に含ませるものとする。
【0052】
そして、文書登録装置1001は、生成したタイムスタンプ署名を電子署名が付加された電子文書に付加する(S234)。
【0053】
[電子文書の検証]
図8は文書管理サーバ1003に登録された電子文書の検証処理(文書検証装置1002による検証処理)を説明するフローチャートである。
【0054】
文書検証装置1002は、まず、図9Aに示す初期ダイアログを図示しないモニタに表示する(S401)。初期ダイアログは、文書管理サーバ1003に登録された電子文書のファイル名を表示するダイアログである。ユーザが初期ダイアログの「検索」ボタン501を押すと(S402)、文書検証装置1002は、図9Bに示す検索条件設定ダイアログを表示する(S403)。検索条件設定ダイアログは、文書管理サーバ1003に登録された電子文書からユーザが所望の電子文書を検索するための検索条件を設定するためのダイアログである。
【0055】
ユーザが、検索条件設定ダイアログの「閉じる」ボタン503を押すと(S404)、文書検証装置1002は、処理をステップS401に戻す。また、ユーザが、検索条件設定ダイアログで検索条件を設定した後、「検索」ボタン502を押すと(S404)、設定された検索条件(予めユーザが指定した検索件数を含む)を文書管理サーバ1003に通知する(S405)。
【0056】
検索条件を受信した文書管理サーバ1003は、文書管理サーバ1003に登録された電子文書を、当該検索条件に従い検索し、検索結果を文書検証装置1002に返す。
【0057】
文書検証装置1002は、検索結果を受信すると(S406)、図9Cに示す検索結果ダイアログを表示して、受信した検索結果を表示する(S407)。検索結果ダイアログは、予めユーザが指定した件数の電子文書のファイル名を表示する。ユーザが検索ダイアログの「次へ」または「前へ」ボタン506を押すと(S408)、文書検証装置1002は、文書管理サーバ1003に再検索を通知する(S412)。そして、同じ検索条件による再検索の結果を検索ダイアログに表示するために、処理をステップS406に戻す。この通知に応じて、文書管理サーバ1003は、次または前の指定件数の電子文書のファイル名を文書検証装置1002に返す。
【0058】
一方、ユーザが検索ダイアログの「検証」ボタン504を押すと(S408)、文書検証装置1002は、検索結果ダイアログに表示された一または複数の電子文書について、その重要度を判断し、判断した重要度に従い検証を実行する(S409)。そして、図9Dに示す検証結果ダイアログに最新の検証結果を表示する(S410)。なお、重要度の判断と、重要度に従う検証は後述する。
【0059】
ユーザが検証結果ダイアログの「OK」ボタン507を押すと(S411)、文書検証装置1002は、処理をステップS407に戻す。その際、検索ダイアログの各コラムに、各電子文書の検証結果を新たに表示する。
【0060】
また、ユーザが、検索ダイアログの「閉じる」ボタン505を押すと(S408)、文書検証装置1002は、処理をステップS401に戻す。
【0061】
●重要度の判断と重要度に従う検証
文書検証装置1002は、検証対象の電子文書(以下「対象電子文書」と呼ぶ)を決め、対象電子文書の重要度を判断する。
【0062】
図2Aは電子文書の重要度の判断および検証処理(S409)を示すフローチャートである。
【0063】
文書検証装置1002は、まず、重要度の指標として、図3におけるステップS110でユーザにより指定されたインデックスを特定し、対象電子文書に関連付けられた当該インデックスの値を文書管理サーバ1003から取得する(S601)。
【0064】
次に、文書検証装置1002は、取得したインデックス値と重要度の定義を比較して、重要度を判断する(S602)。そして、判断の結果、対象電子文書の重要度が高い(重要度=1)と判断した場合は、検証処理1を実行する(S603)。また、対象電子文書の重要度が低い(重要度=2)と判断した場合は、検証処理2を実行する(S604)。なお、検証処理1、2の詳細は後述する。
【0065】
また、上記ステップS602の重要度の判断を、インデックスの値ではなく、署名の付与形式(長期保存形式か否か)に基づいて行ってもよい。
【0066】
図2Bは電子文書の重要度を判断および検証処理(S409)の他の例を示すフローチャートである。
【0067】
図2Bに示すように、重要度を三段階にして、重要度が中(重要度=2)と判断した場合は検証処理2を実行し(S604)、重要度が低(重要度=3)と判断した場合は検証処理3を実行(S605)してもよい。検証処理3の場合、文書検証装置1002は、文書管理サーバ1003に保存されている前回の検証結果を取得し表示する。
【0068】
図2Cは電子文書の重要度を判断および検証処理(S409)のさらに他の例を示すフローチャートである。
【0069】
ステップS602における重要度の判断はインデックス値だけに限る必要はない。電子文書の重要度=2(または重要度=3)と判定した場合、文書検証装置1002は、文書管理サーバ1003から前回の検証日時を取得する(S606)。そして、前回の検証日時からの経過時間を計算し(S607)、ユーザ(またはシステム)が予め設定した所定時間を超過しているか否かを判定する(S608)。もし、経過時間>所定期間であれば、一段階上位の重要度と判断して、検証処理1(S603)(または検証処理2(S604))を実行する。
【0070】
図2AのステップS602において、重要度の判断を署名の付与形式に基づいて行ってもよいことを上述した。以下では、重要度の判断を署名の付与形式に基づいて行う理由や、そもそも署名の付与形式とは何かについて説明する。
【0071】
重要度が比較的低い文書には通常形式で署名を付与することがユーザにより選択される。一方、重要度が比較的高い文書には長期保存形式(例えば、XadES(登録商標))で署名を付与することがユーザにより選択されると考えられる。
【0072】
通常形式で署名が付与される文書は、ある時刻でタイムスタンプ署名が付与された後、ユーザの希望や文書管理サーバ1003の自律的な処理により次の時刻(ある時刻よりも後の時刻)でタイムスタンプ署名が付与される。
【0073】
しかし、上記次のタイムスタンプ署名が付与される際に、上記ある時刻のタイムスタンプ署名が無効であったという証明はどこにも存在しないいため、通常形式での署名の付与は非常に重要な文書に対しては向かない。
【0074】
一方、長期保存形式で署名が付与される文書は、ある時刻でタイムスタンプ署名が付与された後、ユーザの希望や文書管理サーバ1003の自律的な処理により次の時刻(ある時刻よりも後の時刻)でCRLを取得する。そして、取得したCRLが付加された後の文書にタイムスタンプ署名が付与される。
【0075】
つまり、長期保存形式で署名が付与される際は、前記次のタイムスタンプ署名が付与される直前にCRLが文書に対して付加される点が特徴的である。このように、前記次のタイムスタンプ署名が付与される直前にCRLが文書に対して付加されることで、前記次のタイムスタンプ署名が付与された際には、前記ある時刻の(前の)タイムスタンプ署名が有効であったことが後に証明できることになる。
【0076】
例えば、文書に対して長期保存形式で署名が付与されると、図15に示す構造になる。オリジナル文書1501に対して電子署名(DS) 1502を付与する。ここで、DS 1502に用いた証明書の有効期限が切れる前に、この時点で失効している証明書の一覧であるCRL 1503を付与するとともに、付与時間を保証する目的でタイムスタンプ(TS)署名1504を付与する構造になっている。こうすることでDS 1502に使用した証明書の有効期限が切れた後でも、CRL 1503によってTS署名1504付与時に、上記電子署名が有効なものであったことが検証できる。また、その後延長処理をする際も、延長のためのタイムスタンプ1506を付与する前に、直前に付与されているTS署名1504のCRL 1505を付与する。このように、以前付与された署名のCRLを、後の署名の直前に付与することで、上記以前付与された署名の有効性を後に検証できるようにする。
【0077】
このように、長期保存形式で書名を付与することで、上記次のタイムスタンプ署名が付与される際に上記ある時刻のタイムスタンプ署名が無効であったという証明を含ませることができる。これにより、長期保存形式での署名の付与は非常に重要な文書に対しては向いているといえる。
【0078】
●検証処理
図10Aは検証処理1(S603)の詳細を示すフローチャートである。
【0079】
文書検証装置1002は、対象電子文書に含まれる各電子署名の「有効性」に基づき、対象電子文書の有効性を判断する。
【0080】
文書検証装置1002は、対象電子文書が含む電子署名の数をカウントし、その数をカウンタnに設定する(S701)。ここで、対象電子文書が含む電子署名には、古いものから順に連番が振られているものとする。例えば、図11(a)に示すように、電子文書が含む電子署名(署名1と署名2)には番号1と2が振られている。
【0081】
次に、文書検証装置1002は、n>0か否かを判定し(S702)、n=0の場合(検証すべき電子署名がない)場合は処理をステップS706へ進め、検証結果を文書管理サーバ1003に登録する。
【0082】
n>0の場合(検証すべき電子署名がある)場合、文書検証装置1002は、対象電子文書が含むn番目の電子署名の検証処理を行う(S703)。なお、検証処理の詳細は後述する。
【0083】
次に、文書検証装置1002は、n番目の電子署名の検証結果に基づき、対象電子文書の検証結果を求める処理(以下「検証結果の統合処理」と呼ぶ)を行う(S704)。なお、検証結果の統合処理の詳細は後述するが、対象電子文書の検証結果には「有効である」と「有効ではない」がある。「有効である」は、すべての電子署名が未改竄、証明書が有効、電子署名後は未編集の電子文書を示している。また、「有効ではない」電子文書には、電子署名が改竄されたもの、証明書が無効のもの、電子署名後に編集されたものの三種類が存在する。
【0084】
次に、文書検証装置1002は、カウンタnをデクリメントして(S705)、処理をステップS702に戻し、ステップS702からS705の処理を対象電子文書が含むすべての電子署名を検証するまで繰り返す。従って、n=1のときにステップS704で求めた検証結果が対象電子文書の最終的な検証結果になる。
【0085】
次に、文書検証装置1002は、検証結果と検証日時を文書管理サーバ1003に登録された電子文書に関連付けて文書管理サーバ1003に格納する。なお、文書管理サーバ1003が管理されるデータ構造は後述する。
【0086】
図10Bは検証処理2(S604)の詳細を示すフローチャートである。
【0087】
図10Aに示す検証処理1と異なるのは、最も新しい電子署名だけを検証して(S703)、その検証結果を検証対象電子文書の最終的な検証結果にする(S706)ことである。言い替えれば、古い電子署名は検証しない。このように、検証処理2では検証処理1よりも簡易な検証を行う。
【0088】
次に、n番目の電子署名の検証処理を説明するが、その前に、用語「改竄」「編集」を定義する。
【0089】
改竄とは、電子署名を含む電子文書を不正に変更する行為である。例えば、電子署名を含む電子文書をバイナリフォーマットのデータとして開き、バイナリデータを変更する(ビットの値を‘1’から‘0’に、または、‘0’から‘1’に変更する)行為は改竄である。
【0090】
編集とは、電子署名を含む電子文書を不正ではない方法で変更する行為である。例えば、電子署名を含む電子文書(例えばPDFフォーマット)を開き、PDFデータに含まれるオリジナル文書を変更して、変更内容を示す情報を電子文書に付加する行為は編集である。
【0091】
言い換えれば、改竄は、改竄前の情報が失われるように電子文書を変更する行為であり、編集は、編集前の情報が失われないように電子文書を変更する行為である。また、上記の変更内容を示す情報を、以下では「編集情報」と呼ぶことにする。例えば、図11(a)に示すオリジナル文書が編集されると、変更内容を示す編集情報が電子文書に追加され、さらに電子署名(署名3)が付加されて図11(b)に示す電子文書が生成される。
【0092】
図10Cはn番目の電子署名の検証処理(S703)の詳細を示すフローチャートである。
【0093】
文書検証装置1002は、n番目の電子署名が付加された後、n+1番目の電子署名が付加されるまでに、対象電子文書が改竄されているか否かを判定する(S711)。ただし、n番目の電子署名が対象電子文書に付加された最新の電子署名の場合、文書管理サーバ1003は、n番目(最新)の電子署名が付加された後、対象電子文書が改竄されているか否かを判定する(S711)。
【0094】
n番目の電子署名がタイムスタンプ署名ではない場合、ステップS711の具体的な処理は次のようになる。
【0095】
まず、文書検証装置1002は、n番目の電子署名に含まれる証明書の公開鍵を用いて、n番目の電子署名に含まれるハッシュ値を復号する。さらに、n番目の電子署名が付加される前の電子文書からハッシュ値を計算する。そして、復号したハッシュ値と計算したハッシュ値を比較して、二つのハッシュ値が異なる場合は改竄ありと判定する。また、二つのハッシュ値が同値の場合は改竄なしと判定する。
【0096】
また、n番目の電子署名がタイムスタンプ署名の場合、ステップS711の具体的な処理は次のようになる。
【0097】
まず、文書検証装置1002は、n番目のタイムスタンプ署名に含まれる公開鍵を用いて、n番目のタイムスタンプ署名に含まれるタイムスタンプトークン内のハッシュ値を復号する。さらに、n番目のタイムスタンプ署名が付加される前の電子文書からハッシュ値を計算する。そして、復号したハッシュ値と計算したハッシュ値を比較して、二つのハッシュ値が異なる場合は改竄ありと判定する。また、二つのハッシュ値が同値の場合は改竄なしと判定する。
【0098】
次に、文書検証装置1002は、n番目の電子署名に含まれる証明書の有効性を確認する(S712)。
【0099】
n番目の電子署名がタイムスタンプ署名ではない場合、ステップS712の具体的な処理は、図6Aに示した証明書の有効性の確認処理と同様である。ただし、図6Aの処理は文書登録装置1001が行うが、ステップS712の処理は文書検証装置1002が行う点で異なる。また、図6Aの処理は、証明書の有効性を確認する時点で証明書が期限切れの場合は、常に、証明書の状態を無効にする。これに対して、ステップS712では、たとえ証明書の有効性を確認する時点で証明書が期限切れになっていても、期限切れ前にタイムスタンプ署名が行われている場合は証明書の状態を有効にする点で異なる。
【0100】
また、n番目の電子署名がタイムスタンプ署名の場合、ステップS712の具体的な処理は、次のようになる。文書検証装置1002は、タイムスタンプ署名に含まれるタイムスタンプトークンに記載された有効期間に基づき、当該タイムスタンプ署名が有効か否かを判定する。
【0101】
次に、文書検証装置1002は、n番目の電子署名以降にオリジナル文書に対する編集が行われたか否かを判定する(S713)。例えば、図11(b)に示す編集情報が対象電子文書内に含まれているか否かで判定すればよい。
【0102】
図10Dは検証結果の統合処理(S704)の詳細を示すフローチャートである。
【0103】
文書検証装置1002は、ステップS711の改竄の判定結果を判断し(S721)、改竄ありを示す場合は改竄検証結果を改竄ありとして(S724)、統合処理を終了する。
【0104】
また、文書検証装置1002は、改竄の判定結果が改竄なしを示す場合は、ステップS712の証明書の有効性の確認結果を判断し(S722)、無効を示す場合は証明書検証結果を無効として(S725)、統合処理を終了する。
【0105】
また、文書検証装置1002は、証明書の有効性の確認結果が有効を示す場合は、n番目の電子署名以降にオリジナル文書に対する編集が行われたか否かの判定結果を判断する(S723)。そして、編集ありを示す場合は編集検証結果を編集ありとして(S726)、統合処理を終了する。
【0106】
なお、文書検証装置1002は、検証処理を開始する前に、改竄検証結果には改竄なしを、証明書検証結果には有効を、編集検証結果には編集なしを設定するものとする。
【0107】
[検証結果の表示画面]
図12は、図9Cに示す検証結果ダイアログの詳細を示す図である。また、検証処理終後、文書検証装置1002によって表示されるダイアログでもある。
【0108】
検証結果ダイアログの検証結果表示領域501は、少なくとも次の表示領域を有する。
【0109】
表示領域502は、各電子文書の文書名を表示する。
【0110】
アイコン表示領域503は、各電子文書に対する検証処理結果を下記のアイコンによって表示する。電子文書が有効であることを示すチェックマーク「レ」アイコン、改竄はされていないが改竄以外の問題があることを示す感嘆符「!」アイコン、改竄されていることを示す白抜きの感嘆符「!」アイコン、未検証を示す疑問符「?」アイコンなどがある。
【0111】
チェックマーク「レ」アイコンは、図10Aの検証処理1において有効と判定された電子文書に対して表示される。感嘆符「!」アイコンは、図10Aの検証処理1において証明書が無効または編集ありと判定された電子文書に対して表示される。白抜きの感嘆符「!」アイコンは、図10Aの検証処理1において改竄ありと判定された電子文書に対して表示される。また、疑問符「?」アイコンは、図10Aの検証処理1が未実行の電子文書に対して表示される。
【0112】
また、チェックマーク「レ」アイコンの場合でも、実行された検証処理のレベルに伴って表示が一部異なる。例えば、検証処理2で検証した結果の場合は「レ(簡易検証)」、検証処理3で検証した結果の場合は「レ(履歴検証)」と表示する。
【0113】
表示領域504は、検証結果内容を表示する。検証結果内容は、図10Cで求めた改竄検証結果、証明書検証結果、編集検証結果に基づき表示される。
【0114】
また、文書が改竄されていないという検証結果の場合、実行された検証処理のレベルも合せて表示することでどのような検証処理で「改竄されていない」という結果が導き出されたのかを表すようにする
【0115】
表示領域505は、タイムスタンプ署名の付加日時を表示し、最後にタイムスタンプ署名が付加された日時を示す。
【0116】
表示領域506は、最終検証日時を表示し、電子文書の検証日時中で最新の日時を示す。
【0117】
[データ構造例]
図13は文書管理サーバ1003が管理するデータ構造の一例を示す図である。
【0118】
図13(a)に示す文書テーブルは、文書管理サーバ1003が電子文書を一意に特定するために管理する文書ID列、文書名列、電子文書の前回の検証結果を示す検証結果列、電子文書の前回の検証日時を示す検証日時列を有する。
【0119】
図13(b)に示すインデックステーブルは、文書管理サーバ1003がインデックスを一意に特定するために管理するインデックスID列、インデックス名列、インデックスのデータ型を表すタイプ列を有する。
【0120】
図13(c)に示す文字列型のインデックス値テーブルは、電子文書を表す文書ID列、インデックスを表すインデックスID列、電子文書にインデックスの値として登録されている文字列を示す値列を有する。
【0121】
図13(d)に示す整数型のインデックス値テーブルは、電子文書を表す文書ID列、インデックスを表すインデックスID列、電子文書にインデックスの値として登録されている整数値を示す値列を有する。
【0122】
[重要度の設定]
図14Aと図14Bは重要度を設定するためのユーザインタフェイス(UI)の一例を示す図である。つまり、ユーザが図4Dに示すプレビューダイアログを利用して、電子文書に付加するインデックス情報の入力する際に(図3のS110)文書登録装置1001が表示するUIである。
【0123】
図14Aと図14Bに示すダイアログのリストボックス11にはインデックス名の一覧が表示される。ユーザは、リストボックス111から重要度を設定するインデックスを指定する。ユーザが指定したインデックスによって、右側のペイン(pane、区画)が切り替わる。
【0124】
ユーザが文字列型のインデックスを選択した場合、図14Aに示すように、右側のペインには、指定された文字列型のインデックスの値が表示するリストボックス12、13が表示される。ユーザは、リストボックス12または13にリストされた値を選択し、矢印「↑」ボタン14または矢印「↓」ボタンを押すことで、選択した値を重要度が高いリストボックス12と受容度が低いリストボックス13の間で移動することができる。リストボックス12にリストされた文字列と一致するインデックス値を有する電子文書は、重要度が高い電子文書と判定される。また、リストボックス13にリストされた文字列と一致するインデックス値を有する電子文書は、重要度が低い電子文書と判定される。
【0125】
図14Aは、インデックスとして文字型のインデックスである「取引先企業名」が選択され、リストボックス12にリストされた「○○商事」と「××商会」の少なくとも一方を含む電子文書を重要度が高い電子文書と判定するように設定された例を示している。また、リストボックス13にリストされた「△△工業」を含む電子文書は重要度が低いと判定される。さらに、リストボックス13に「その他」という項目があることから、「○○商事」「××商会」「△△工業」以外の「取引先企業名」を有する電子文書も、重要度が低い電子文書と判定される。
【0126】
一方、ユーザが整数型のインデックスを選択した場合、図14Bに示すように、右側のペインには、重要度の閾値を入力するためのテキストボックス16が表示される。ユーザは、テキストボックス16に整数値を入力し、その値以上か以下かを示すためにラジオボタン17を操作する。
【0127】
図14Bの例は、インデックスとして整数型のインデックスである「金額」が選択され、重要度の閾値として50000以上が設定された例を示している。従って、金額として50000以上の値を有する電子文書は重要度が高いと判定され、金額として50000未満の値を有する電子文書は重要度が低いと判定される。
【0128】
なお、上記では、重要度のインデックスとして、文字列型のインデックスと整数型のインデックスを例に説明したが、日付型のインデックスを用いて、所定日時の前後で重要度が変わるようにしてもよい。
【0129】
また、特定のフォーマット(定型フォーマットなど)を使って電子文書を運用する場合など、インデックスを指定する代わりに、電子文書の特定領域を指定するようなUIを用意する。そして、インデックス値の代わりに、重要度の判定に使用するデータを指定された特定領域から取得して、重要度を判定してもよい。なお、スキャン画像の場合はOCRを行って、指定された特定領域から文字列または数値を抽出すればよい。
【0130】
このように、複数の電子文書を一括検証する際、電子文書ごとに重要度を判定し、重要度に応じて検証方法を切り替えることができる。従って、重要度が低い電子文書の検証時間を節約し、重要な電子文書の即時検証(現時点での検証)を可能にし、一括検証にかかる時間を短縮することができる。
【0131】
[他の実施例]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0132】
また、本発明の目的は、上記実施例の機能を実現するソフトウェアを記録した記憶媒体(記録媒体)をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ(CPUやMPU)が前記ソフトウェアを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのソフトウェアを記憶した記憶媒体は本発明を構成する。
【0133】
また、前記ソフトウェアの実行により上記機能が実現されるだけでなく、そのソフトウェアの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【0134】
また、前記ソフトウェアがコンピュータに接続された機能拡張カードやユニットのメモリに書き込まれ、そのソフトウェアの指示により、前記カードやユニットのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【0135】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するソフトウェアが格納される。
【図面の簡単な説明】
【0136】
【図1】実施例1の文書管理システムの構成例を示す図、
【図2A】電子文書の重要度の判断および検証処理を示すフローチャート、
【図2B】電子文書の重要度を判断および検証処理の他の例を示すフローチャート、
【図2C】電子文書の重要度を判断および検証処理のさらに他の例を示すフローチャート、
【図3】文書登録装置が電子文書を取得し、文書管理サーバに登録する処理を説明するフローチャート、
【図4A】電子文書の登録処理における初期ダイアログの一例を示す図、
【図4B】電子文書の登録処理におけるスキャンダイアログの一例を示す図、
【図4C】電子文書の登録処理における継続ダイアログの一例を示す図、
【図4D】電子文書の登録処理におけるプレビューダイアログの一例を示す図、
【図4E】電子文書の登録処理におけるインポートダイアログの一例を示す図、
【図4F】電子文書の登録処理におけるファイル選択ダイアログの一例を示す図、
【図4G】電子文書の登録処理における処理状況表示ダイアログの一例を示す図、
【図5】文書登録装置が電子文書に電子署名を付加して文書管理サーバに登録する処理を示すフローチャート、
【図6A】証明書の有効性の確認処理の詳細を示すフローチャート、
【図6B】電子署名の付加処理を説明するフローチャート、
【図6C】タイムスタンプ署名の付加処理を説明するフローチャート、
【図7】オリジナルの電子文書とハッシュ値の計算対象の関係を示す図、
【図8】文書検証装置による、文書管理サーバに登録された電子文書の検証処理を説明するフローチャート、
【図9A】電子文書の検証処理における初期ダイアログの一例を示す図、
【図9B】電子文書の検証処理における検索条件設定ダイアログの一例を示す図、
【図9C】電子文書の検証処理における検索結果ダイアログの一例を示す図、
【図9D】電子文書の検証処理における検証結果ダイアログの一例を示す図、
【図10A】検証処理1の詳細を示すフローチャート、
【図10B】検証処理2の詳細を示すフローチャート、
【図10C】n番目の電子署名の検証処理の詳細を示すフローチャート、
【図10D】検証結果の統合処理の詳細を示すフローチャート、
【図11】オリジナル文書、電子署名、編集情報の関係を説明する図、
【図12】図9Cに示す検証結果ダイアログの詳細を示す図、
【図13】文書管理サーバが管理するデータ構造の一例を示す図、
【図14A】重要度を設定するためのユーザインタフェイス(UI)の一例を示す図、
【図14B】重要度を設定するためのユーザインタフェイス(UI)の一例を示す図、
【図15】文書に対して長期保存形式で署名が付与された場合の文書構造を示す図である。

【特許請求の範囲】
【請求項1】
電子文書の重要度を判断する判断工程と、
前記判断工程において重要度が高いと判断された場合に、当該高いと判断された電子文書の信頼性について第一の検証処理を行う第一の検証工程と、
前記判断工程において重要度が高くないと判断された場合に、当該高くないと判断された電子文書の信頼性について前記第一の検証処理よりも簡易な第二の検証処理を行う第二の検証工程とを有することを特徴とする文書検証装置の制御方法。
【請求項2】
前記判断工程は、前記電子文書が長期保存形式で署名が付与されることが選択されたか否かに基づいて、前記電子文書の重要度を判断することを特徴とする請求項1に記載された文書検証装置の制御方法。
【請求項3】
さらに、前記第一の検証工程での検証処理の結果、および、前記第二の検証工程での検証処理の結果を表示画面に表示する表示工程を有し、
前記表示工程は、前記第二の検証工程での検証処理の結果を表示する際に、簡易な検証による結果であることを示して表示することを特徴とする請求項1または請求項2に記載された文書検証装置の制御方法。
【請求項4】
前記第一の検証工程は、前記電子文書が有するすべての署名を検証し、前記第二の検証工程は、前記電子文書が有する最新の電子署名を検証することを特徴とする請求項1から請求項3の何れかに記載された文書検証装置の制御方法。
【請求項5】
さらに、電子文書の前回の検証日時を取得し、前記前回の検証日時からの経過時間を計算する計算工程を有し、
前記判断工程は、ユーザにより重要度が高くないと選択された電子文書について、前記計算工程で計算された経過時間が予め定められた時間を超過している場合に、前記電子文書の前記重要度を一段階高めることを特徴とする請求項1に記載された文書検証装置の制御方法。
【請求項6】
電子文書の重要度を判断する判断手段と、
前記判断手段において重要度が高いと判断された場合に、当該高いと判断された電子文書の信頼性について第一の検証処理を行う第一の検証手段と、
前記判断手段において重要度が高くないと判断された場合に、当該高くないと判断された電子文書の信頼性について前記第二の検証処理よりも簡易な第二の検証処理を行う第二の検証手段とを有することを特徴とする文書検証装置。
【請求項7】
情報処理装置を制御して、請求項1から請求項5の何れかに記載された文書検証装置の制御を実現することを特徴とするコンピュータプログラム。
【請求項8】
請求項7に記載されたコンピュータプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記録媒体。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図2C】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図4C】
image rotate

【図4D】
image rotate

【図4E】
image rotate

【図4F】
image rotate

【図4G】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図6C】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図9C】
image rotate

【図9D】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図10C】
image rotate

【図10D】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14A】
image rotate

【図14B】
image rotate

【図15】
image rotate