以下、本発明による文書管理方法及び文書管理システムの実施形態を図面により詳細に説明する。
図1は本発明の第1の実施形態による文書管理システムの構成を示すブロック図である。図1において、101は時刻配信局、102は電子署名認証局、103はタイムスタンプ証明・署名付与装置、104は紙文書読み取り装置、105は文書管理装置、106は入力受付部、107は予約処理部、108は逐次処理部、109は通信部、110は時刻同期部、111は証明管理部、112は管理テーブル、113は文書データ属性付与部、114は出力処理部、115は付番・版管理部、116は検証部である。
本発明の実施形態による文書管理システムは、図1に示すように、時刻配信局101と、電子署名認証局102と、紙文書読み取り装置104と、文書管理装置105と、タイムスタンプ証明・署名付与装置103とが通信ネットワークに接続されて構成されている。このように構成されている文書管理システムにおいて、時刻配信局101は、システム外部の第三者機関により管理されており、ある時刻におけるタイムスタンプ証明を発行し、また、電子署名認証局102は、システム外部の第三者機関により管理されており、ある時点における文書の内容を証明するための電子署名を発行する。時刻配信局101と電子署名認証局102とは、実際には同一の1つの機関で管理されて、タイムスタンプ証明と電子署名とを同時に交付するものであってもよい。その場合、以下に説明する本発明の実施形態において、タイムスタンプ証明と電子署名との交付等に関わる通信は、同時に処理されることになる。
本発明の実施形態による文書管理システムにおいて、文書は、ある時点での存在をタイムスタンプ証明によって立証され、また、内容が改竄されていない(登録内容と現行内容との一致)ことの証明を電子署名によって得ることができる。従って、タイムスタンプ証明と電子署名とを同時に組み合わせて文書に付与しておけば、ある時点における文書の内容が、その後改竄されていないことを両証明によって立証することができることになる。
時刻配信局101と電子署名認証局102とは、タイムスタンプ証明・電子署名付与装置103と通信ネットワークにより接続されており、互いに通信をすることができ、また、文書データの入力装置である複合機、スキャナ等による紙文書読み取り装置104と、文書データの入力装置である文書管理装置105とも通信ネットワークにより接続されており、互いに通信をすることができる。
紙文書読み取り装置104は、CPU等を有する情報処理機能を備えるものであり、スキャナ等により読み取った文書そのものを保持する記憶手段を有する。文書管理装置105も、CPU等を有する情報処理機能を備えるものである。そして、文書管理装置15は、自装置で作成した文書を保持することができ、また、本発明の実施形態によりタイムスタンプ証明及び電子署名が付与された自装置で作成した文書及び紙文書読み取り装置104で読み込まれた文書を保持する記憶手段を有している。さらに、紙文書読み取り装置104と文書管理装置105とは、どちらもタイマーを内蔵しており、それぞれが独自に内部データの時刻管理を行っている。紙文書読取装置104は、通常の複合機、スキャナ等であり、紙文書をイメージデータに変換することのできる装置であり、タイムスタンプ証明・署名付与装置103への入出力を可能にする機能を加えたものである。文書管理装置105は、通常の文書管理装置に、タイムスタンプ証明・署名付与装置103への入出力を可能とする機能を加えたものであり、後日文書の登録時刻と内容とを検証するための処理を行う検証部116を備えている。
タイムスタンプ証明・署名付与装置103は、CPU等を有する情報処理機能を備えるものであり、入力受付部106、予約処理部107、逐次処理部108、通信部109、時刻同期部110、証明管理部111、管理テーブル112、文書データ属性付与部113、付番・版管理部115を有する出力処理部114を備えて構成される。入力受付部106は、入力手段である紙文書読み取り装置104または文書管理装置105からの入力を受け付ける処理を行い、予約処理部107は、複数の入力文書があった場合に、1度に複数文書分のタイムスタンプ証明または電子署名を取得する処理を行う。また、逐次処理部108は、1つの入力文書に対してタイムスタンプ証明及び電子署名を付与するために逐次処理を行う。通信部109は、タイムスタンプ証明・署名付与装置103が、時刻配信局101、電子署名認証局102、入力装置104及び文書管理装置105と間での通信を行う場合に使用される。時刻同期部110は、タイムスタンプ証明・署名付与装置103において、入力装置としての紙文書読み取り装置104及び文書管理装置105のタイマーと時刻配信局101との時刻の同期をとる処理を行う。証明管理部111は、予約処理部107によって取得した複数文書分のタイムスタンプ証明と電子署名とを管理し、文書データ属性付与部113は、取得したタイムスタンプ証明と電子署名とを入力文書データに属性として付与する。出力処理部114は、属性が付与された文書データを文書管理装置へ出力し登録するための処理を行うものであり、予め定められた番号を付与するための付番処理を行い、また、版管理を行うための付番・版管理部115を有している。
図2、図3は入力受付部106での処理動作を説明するフローチャートであり、次に、これらについて説明する。
(1)入力受付部106の処理が開始される前に、紙文書読み取り装置104のスタートボタンが押され、読み取り装置で予め設定された文書数が入力受付部106への入力値として与えられ、あるいは、文書管理装置105で処理を行うため入力対象文書が指定されるか、複数文書の場合、対象となる文書群が格納されている作業用フォルダが指定され、フォルダに含まれる文書数が入力受付部106への入力値として与えられる。
(2)入力受付部106は、紙文書読み取り装置104または文書管理装置105からの入力値を受け取ると、まず、文書数の判定を行い、文書数が1より小さいか否かを判定する。この判定で文書数が1より小さかった場合、すなわち、文書数<1であった場合、エラー処理を実行する(ステップ201、202)。
(3)エラー処理が開始されると、入力装置が紙文書読み取り装置104か文書管理装置105かの判定を行い、入力があった入力装置104または文書管理装置105に対してエラーメッセージを出力して処理を終了する。エラーメッセージは、「対象となる文書が指定されていません」等でよいが、他の文章でもよい(ステップ301、302)。
(4)ステップ201の判定で、文書数<1でなかった場合、文書数が1であるか否か、すなわち、文書数=1か否かを判定し、文書数=1であった場合、逐次処理部108での処理に進み、文書数=1でなかった場合、文書数>1、すなわち、文書数が複数あることになるので、予約処理部107での処理に進む(ステップ203)。
図4は予約処理部107での処理動作を説明するフローチャートであり、次に、これについて説明する。
(1)まず、予約処理部107は、入力を行った入力装置が紙文書読み取り装置104か文書管理装置105かの判定を行い、判定の結果、入力を受け付けた入力装置と通信を行ってその入力装置が内蔵するタイマーの確認を行う(ステップ401、402)。
(2)次に、予約処理部107は、通信部109を通じて時刻配信局101から基準時刻となる時刻を入手し、時刻同期部110で入力装置の内蔵タイマーとの同期をとる。同期の取り方は、始めに1度時刻合わせを行ったのち、あとは処理が終了するまで定められた時刻毎(例えば、10秒毎、1分毎等)に時刻合わせをバックグラウンドで行い、常に、入力装置の内蔵タイマーが時刻配信局101の基準時刻に同期が取られているようにする。なお、この時刻の同期の合わせ方については、他に公知技術があるのでここでは説明しない(ステップ403)。
(3)次に、時刻配信局101から予約タイムスタンプ証明RTl〜RTn、電子署名認証局102から予約電子署名RSl〜RSnを文書数n個分ずつ予約取得して、これらを証明管理部111へ引き継ぐ予約証明取得処理を実行する。なお、この予約証明取得処理は、文書管理装置105、時刻配信局101、電子署名認証局102により行われるもので、その詳細については、図5に示すフローにより後述する(ステップ404)。
(4)その後、証明管理部111、文書データ属性付与部113、出力処理部114のそれぞれでの処理が順次行われる。これらの処理についての詳細は後述する(ステップ405〜407)。
(5)出力処理部114での処理の終了後、予約処理部107は、管理テーブル112の電子署名の項目を更新する電子署名登録処理を実行する。この電子署名登録処理の詳細及び管理テーブルの112の構成については、図6に示すフロー及び図14により後述する(ステップ408)。
(6)予約処理部107は、通信部109を通じて時刻配信局101との間で通信を行い、タイムスタンプの登録を行うタイムスタンプ登録処理を実行して、ここでの処理を終了する。このタイムスタンプ登録処理の詳細については、図7に示すフローにより後述する(ステップ409)。
図5は図4に示すフローにおけるステップ404での予約証明取得処理の動作を説明するフローチャートであり、次に、これについて説明する。
(1)まず、予約処理部107は、入力された文書数n個分のタイムスタンプ証明と電子署名との予約申請を時刻配信局101と電子認証局102とに対して送信する(ステップ501)。
(2)時刻配信局101は、ステップ501での予約申請を受け付けると、申請を行った紙文書読み取り装置104または文書管理装置105を、予め登録してある利用者リスト等から特定して、n個分の申請を受け付け、予約された数の予約タイムスタンプ証明RTl〜RTn用のIDを発行し、これらに必要なメモリ等の資源の確保を行って、予約された数の予約タイムスタンプ証明の割り当てを行い、割り当てた予約タイムスタンプ証明RTl〜RTnを予約処理部107に交付する。なお、タイムスタンプ証明のデータ形式については後述する(ステップ502、503)。
(3)また、電子認証局102は、時刻配信局101での場合と同様に、ステップ501での予約申請を受け付けると、申請を行った紙文書読み取り装置104または文書管理装置105を、予め登録してある利用者リスト等から特定して、n個分の申請を受け付け、予約された数の予約電子署名RSl〜RSn用のIDを発行し、メモリ等必要な資源の確保を行って、予約された数の予約電子署名の割り当てを行い、割り当てた予約電子署名RSl〜RSn用のIDを予約処理部107に交付する。なお、電子署名のデータ例については後述する(ステップ504、505)。
(4)予約処理部107は、ステップ503、505の処理で交付された予約タイムスタンプ証明と予約電子署名とを受け取ると、それらをタイムスタンプ証明・電子署名付与装置103内の証明管理部111に入力値として引き渡す(ステップ506)。
図15はタイムスタンプ証明のデータ形式及び電子署名のデータの例を説明する図であり、ここで、タイムスタンプ証明のデータ形式及び電子署名のデータ形式の例を説明する。
時刻認証局101からのタイムスタンプ単独の場合のタイムスタンプ証明RTiのデータ例を図15(a)に示しており、このタイムスタンプ単独の証明データは、それを認識するためのID1501、発行元時刻配信局の識別子1502、発行先文書管理装置識別子1503、発行時刻1504、文書ID1505、これらを後で検証するための公開鍵1506、タイムスタンプ証明データの終了を示す終了コード1507により構成されている。終了コード1507は、単純なEOFでもよいが、望ましくは、発行元時刻配信局固有のコードがよく、さらには、毎回発行される暗号化されたコードの方が望ましい。ここで、予約タイムスタンプ証明RTiは、予約された時間を発行時刻とし、検証のための公開鍵と独自の終了コード部分とが未定義のままの未完状態のデータである。予約に際しての発行時刻の取り方は、例えば、入力装置、ここでは紙文書読み取り装置104または文書管理装置105の処理性能が10秒間に1文書の読み取りが可能であるとすると、10秒毎に発行時刻をとって予約タイムスタンプ証明をn個(RTl〜RTn)作成するという取り方であってよい。あるいは、単純に、同一時刻での同じ予約タイムスタンプ証明をn個(RTlをn個)作成してもよい。
また、電子署名認証局102からの電子署名単独の場合の電子署名RSiのデータ例を図15(b)に示しており、この電子署名単独の場合の電子署名データは、それを認識するためのID1508、発行元電子認証局の識別子1509、発行先文書管理装置の識別子1510、文書ID1511、文書の内容を示す例えば、ハッシュ値等によるダイジェスト値1512、これらを後で検証するための公開鍵1513、終了コード1514から構成される。
さらに、時刻配信局101と電子署名認証局102とが同一の信頼できる第三者により運用される機関である場合、タイムスタンプ証明と電子署名とが同時に交付されることになり、この場合のタイムスタンプ証明と電子署名とが複合されたデータ例を図15(c)に示している。このデータは、それを認識するためのID1515、発行元の識別子1517、発光時刻1518、文書ID1519、文書の内容を示すダイジェスト値1520、これらを後で検証するための公開鍵1521、終了コード1522から構成される。
なお、図15(b)、図15(c)に示すデータ例の場合にも、終了コード1514、1522は、図15(a)で説明したような構成とすることができる。ここで、予約電子署名Rsiは、文書内容のダイジェスト値と検証のための公開鍵と独自の終了コード部分とが未定義のままの未完状態のデータである。
図6は図4に示して説明したフローにおけるステップ408の電子署名登録処理の動作を説明するフローチャートであり、次に、これについて説明する。
(1)電子署名登録処理が開始されると、予約処理部107は、紙文書読み取り装置104または文書管理装置105から受け取っている仮電子署名RSi(i=1、2、……、n)と対象文書Ii(i=1、2、……、n)とそのダイジェスト値(例えば、代表値としてここではハッシュ値を用いる)DIi(i=1、2、……、n)との組み合わせ(RSi,Ii,DIi)のを全てを電子署名認証局102へ送信する。予約処理部107は、同時に、使用しなかった仮電子署名RSx(x=1、2、……、n)があればこれも電子署名認証局102へ送信する(ステップ601)。
(2)電子署名認証局102は、ステップ601で送信されてきた前述の組み合わせの情報を受信し、受け取った仮電子署名RSiの識別IDを取得し、対応する識別IDの予約電子署名の記憶領域に(RSi,Ii,DIi)を格納する(ステップ602、603)。
(3)次に、電子署名認証局102は、前述の記憶領域を参照するため検証用の公開鍵を作成し、終了コードと共に記憶領域に追加して電子署名Siを完成させ、識別IDと公開鍵と終了コードとを予約処理部107に送信する。そして、電子署名認証局102は、使用されなかった不使用の仮電子署名RSxの格納領域に不使用フラグを立てる(ステップ604〜606)。
(4)予約処理部107は、ステップ605の処理で送信されてきた識別IDを受信すると、受け取った識別IDに対応する仮電子署名RSiに公開鍵と終了コードとを追加して電子署名Siの完成版とし、管理テーブル112の電子署名の項目を更新する(ステップ607)。
図7は図4に示して説明したフローにおけるステップ409のタイムスタンプ登録処理の動作を説明するフローチャートであり、次に、これについて説明する。
(1)タイムスタンプ登録処理が開始されると、予約処理部107は、通信部109を通じて時刻配信局101との通信を行い、実際に入力データに付与されて使用された予約タイムスタンプ証明RTiとその時刻修正された仮タイムスタンプ証明PTiとの組み合わせと、使用した対象文書の文書データIiとの対応(例えば、代表値としてここでは文書データが文書管理装置に登録されたときに割り当てられる文書システムユニークID=Iiを用いる)と、この文書に与えられた電子署名Siとの組み合わせ(RTi,PTi,Ii,Si)の全てを時刻配信局101に送信する。また、予約処理部107は、文書登録エラー等の理由で実際には使用されなかった予約タイムスタンプ証明RTxがある場合には、同時にこれも送信する(ステップ701)。
(2)時刻配信局101は、受け取った文書に対する電子署名Siの存在を確認し、これがある場合に、受け取った予約タイムスタンプ証明RTiの識別IDと予約時刻とを取得すると共に、受け取った仮タイムスタンプ証明PTiの識別IDと仮時刻とを取得する(ステップ702〜704)。
(3)次に、予約タイムスタンプ証明と仮タイムスタンプ証明との識別IDが互いに対応するものか否かを確認し、仮タイムスタンプ証明PTiの時刻が予約タイムスタンプ証明RTiの発行時刻と現在時刻との間に収まっているか否かを判定する。もし、収まっていななった場合、仮タイムスタンプ証明の時刻が正しい時刻とはいえないので、予約処理部107に「織別ID=xxxxは不正時刻のため承認できませんでした」等のエラーを送信し、この仮タイムスタンプ証明に関しては登録を行わず、該当する識別IDの予約タイムスタンプ証明の記憶領域にはエラーフラグを立てておく(ステップ705、706)。
(4)ステップ706の判定で、時刻が不正でなかった場合、時刻配信局101は、送信されてきた(RTi,PTi,Ii)を該当する識別IDの予約タイムスタンプ証明用記憶領域に格納し、後日この領域を参照してデータの検証を行うため、検証用の公開鍵を作成して格納し、予約タイムスタンプ証明用の記憶領域に終了コードを挿入して予約タイムスタンプ証明領域を完成させ、これをもってタイムスタンプ証明Tiとする(ステップ707、708)。
(5)次に、時刻配信局101は、該当する識別IDのタイムスタンプ証明Tiに格納された公開鍵と終了コードとを予約処理部107に送信する。なお、前述したステップ702〜708の処理中にエラーが出るか、条件を満たさない場合、何の送信も行わない。そして、実際には使用されず対応する仮タイムスタンプ証明がなかった予約タイムスタンプ証明RTxについて、その格納領域には不使用フラグを立てて、利用されていなかったことを明確にしておく。また、ステップ702の処理でSiが存在しない場合もRTxの格納領域に不使用フラグを立てておく(ステップ709、710)。
(6)予約処理部107は、ステップ709の処理で時刻配信局101から送信されてきた識別IDを受け取ると、取った識別IDの仮タイムスタンプ証明のデータに公開鍵と終了コードとを追加して完成版タイムスタンプ証明Tiを作成し、管理テーブル112内に管理されているタイムスタンプ証明を更新する(ステップ711)。
図14は管理テーブル112の構成例を説明する図であり、ここで、管理テーブル112の構成例について説明する。この管理テーブル112は、文書毎のタイムスタンプ証明、電子署名等を管理しているテーブルであり、文書毎の、項番1401、入力データ識別子1402、文書システムユニークID1403、データ格納場所1404、文書ダイジェスト値1405、タイムスタンプ証明1406、電子署名1407の各項目を格納している。前述したステップ711の処理では、タイムスタンプ証明1406の項目が更新される。
前述で説明した例では、文書1件ずつに順にタイムスタンプ証明を与えるものとしているが、複数の文書をまとめて一緒にタイムスタンプ証明(同時刻のタイムスタンプ証明)を与えるように、図7に示すフローのステップ702〜710の処理を文書全体でまとめて行っても良い。また、図4に示したフローの処理において、ステップ408の電子署名登録処理とステップ409のタイムスタンプ登録処理とは、その順序が逆になってもかまわない。
以上で、予約処理部107での予約処理を終了する。
図8は証明管理部111での処理動作を説明するフローチャートであり、次に、これについて説明する。
(1)まず、証明管理部111は、予約処理部107からn個の予約タイムスタンプ証明RTl〜RTnと予約電子署名RSl〜RSnとを入力値として引き継ぎ、管理テーブル112から入力データを順に1つずつ取り出す処理を行って、入力データが取り出せたか否かを判定する(ステップ801、802)。
(2)ステップ802の処理で、入力データが取り出せた場合、予約タイムスタンプ証明と予約電子署名との未使用のものが両方とも残っているか否かを確認し、両方とも残っていれば、管理テーブル102からの入力文書データを1つ受付け、これに予約タイムスタンプ証明RTi(i=1〜n)を時刻順に1つ割り当て、また、予約電子署名RSi(i=1〜n)も順に1つ割り当てる(ステップ803、804)。
(3)次に、証明管理部111は、入力文書データのダイジェスト値(ハッシュ値等)DIiを取得し、入力データとダイジェスト値DIiと予約電子署名Rsiの組み合わせを管理テーブル112に出力する(ステップ805、806)。
(4)その後、証明管理部111は、予約タイムスタンプ証明RTiと入力装置のタイマーの現在時刻を比較して、入力装置のタイマー時刻の方が後であればタイマー時刻をRTiの実際の時刻として置き換え、置き換えたことを記録しておく。例えば、予約タイムスタンプ証明RTiの予約時刻がxx:xx:xxであったとき、実際に処理された時点での内蔵タイマー時刻(このタイマー時刻は、時刻同期部110で第三者機関である時刻配信局101と同期をとっている最中のものである)がxx:xx:xx+yであれば、RTiのデータの時刻欄をxx:xx:xx+yとして置き換えて仮タイムスタンプ証明PTiを作成し、置き換えたことを記録しておく。そして、管理テーブル112の該当する入力データの項目に作成した仮タイムスタンプ証明PTiを出力する(ステップ807)。
(5)再び、ステップ802からの処理に戻り、次のデータの処理に移る。そして、ステップ802の判定で未処理の入力文書データがなくなっていれば、使わなかった予約タイムスタンプ証明RTxと予約電子署名RSxとを出力して証明管理部の処理を終了する(ステップ808)。
(6)また、ステップ802の判定で、未処理の入力文書データが残っていて、ステップ803で未処理の残りの予約タイムスタンプ証明か予約電子署名のいずれかがなくなっていた場合、「データの入力を受け付けられません」等のメッセージを入力装置に出力した後、ステップ808の処理を行って、証明管理部111での処理を終了する(ステップ809)。
図9は文書データ属性付与部113での処理動作を説明するフローチャートであり、次に、これについて説明する。
(1)文書データ属性付与部113は、まず、入力データに電子署名属性を付加し、管理テーブル112に記録されている電子署名Si(I=1〜n)を属性値として文書データに付与する(ステップ901)。
(2)次に、入力文書データにタイムスタンプ証明属性を付加し、管理テーブル112に記録されているタイムスタンプ証明Ti(I=1〜n)を属性値として付与し、属性を付与した文書データを出力データとして出力して、ここでの処理終了する(ステップ902、903)。
図10は出力処理部114での処理動作を説明するフローチャートであり、次に、これについて説明する。
ここでの処理は、ステップ1001として示すように、文書データ属性付与部113から出力された文書データを文書管理装置105に送信してデータの登録を行う処理であり、この処理には、後述する付番・版管理部115での処理が含まれている。
前述までの本発明の実施形態の説明は、入力される文書が複数あるものとして説明したが、入力される文書が1つしかなかった場合には、図2に示すフローのステップ203の後に、逐次処理108による処理動作が行われる。
図11は逐次処理部108での処理動作を説明するフローチャートであり、次に、これについて説明する。
(1)逐次処理部108は、まず、入力文書のダイジェスト値(ハッシュ値等)を取得し、通信部109を通じて電子署名認証局102から電子署名Siを取得する(ステップ1101)。
(2)次に、逐次処理部108は、通信部109を通じて第三者機関に管理されている時刻配信局101から入力データに割り当てるためのタイムスタンプ証明Tiを1つ取得する(ステップ1102)。
(3)その後、図9により説明した文書データ属性付与部113での処理、及び、図10により説明した出力処理部114での処理を行って、処理を終了する(ステップ1103、1104)。
図12、図13は出力処理部114に含まれる付番・版管理部115での処理動作を説明するフローチャートであり、次に、これについて説明する。
(1)入力文書の文書データを1つ受付け、例えば、ファイル名等の入力データ識別子1402を取得し、受け付けた入力データに付番属性が付与されているか否かを管理テーブル112により判定し、付与されていれば、図13のステップ1301の処理に進む(ステップ1201、1202)。
(2)ステップ1202の判定で、付番属性が付与されていなかった場合、同一の入力データ識別子1402を持つ文書データが文書管理装置105に既に登録されているか否かを管理テーブル112により判定し、登録されていなかった場合、その文書を新規文書として文書管理装置105に登録する(ステップ1203、1204)。
(3)ステップ1203の判定で、同一の入力データ識別子を持つ文書が既に文書管理105に登録されていた場合、両文書のタイムスタンプ証明属性を比較して、時刻の新しい方を新しいバージョンとして文書管理装置105に版管理して登録する。すなわち、文書管理装置105にデータ織別子がデータ1の文書が登録されていて、新たに入力される文書の入力データ識別子がデータ1だった場合、それぞれのタイムスタンプTxとTx’とを比較し、入力される文書のTx’の方が新しかった場合、入力データを文書データ1の新規バージョンとして登録を行う(ステップ1205)。
(4)ステップ1204またはステップ1205の処理の後、管理テーブル112に登録された文書システムユニークID(文書管理装置105内で一意に管理される識別子)を得て、管理テーブル112に記録する。しかし、このとき何らかの理由で文書Xの登録が失敗した場合には、エラーが帰ってきて文書システムユニークIDは得られないので、管理テーブル112の文書システムユニークID1403にはエラーフラグを立てて区別しておくと共に、この入力データに付与されていた仮タイムスタンプ証明PTxに対応する予約タイムスタンプ証明RTx、予約電子署名RSxは使用されないので不使用に変更して記録しておく(ステップ1206)。
(5)ステップ1202の判定で、受け付けた入力文書データに付番属性があった場合、文書管理装置に同一の番号を持つ文書が存在するか否かを判定する。ここでいう番号とは、例えば、帳簿があってその帳簿のある記録に対する書類の参照番号として、領収書番号等が定められていたとき、文書に領収書番号が振られている場合、この番号を付番属性の属性値としておく。新しく文書を読み取ってイメージ化する際に、「付番属性あり」として領収書番号を入力して読み取らせれば、その文書のイメージデータに帳簿に対応する番号がつくことになる。なお、帳簿以外にも、番号で管理するものに対応させることができる(ステップ1301)。
(6)ステップ1301の判定で、文書管理装置に既に同一の番号を持つ文書が登録されていた場合、入力データのタイムスタンプ証明属性の時刻を比較して、新しい方を同一文書の新しいバージョンとして文書管理装置105に登録する。例えば、文書管理装置105に番号Yを持つ文書Zが登録されていたとき、新たに入力されたデータの持つ属性番号がYであれば、その入力データは文書Zの新規バージョンであるとして文書管理装置105に登録する(ステップ1302)。
(7)ステップ1301の判定で、同一の番号がなかった場合、入力文書データを新規文書として文書管理システムに登録する(ステップ1303)。
(8)ステップ1302またはステップ1303の処理の後、文書登録した際の文書システムユニークIDを得て、管理テーブル112に記録する。登録の際、何らかの理由で失敗して登録ができなかった文書の場合、文書システムユニークID1403にエラーフラグを立て、登録できなかった入力データに付与されていた仮タイムスタンプ証明PTxに対応する予約タイムスタンプ証明RTx、予約電子署名RSxを不使用に変更して記録しておく(ステップ1304)。
図16は本発明の実施形態の文書管理システムでの文書データ検証方法の処理動作を説明するフローチャートであり、次に、これについて説明する。この処理は、文書管理装置105の検証部116と時刻配信局101及び電子署名認証局102とにより行われるものであるが、ここに示す例では、時刻配信局101及び電子署名認証局102とが、1つの信頼される第三者信頼機関により構成されているものとしている。従って、タイムスタンプ証明のデータ形式及び電子署名のデータは、図15(c)に示すものであるが、時刻配信局101及び電子署名認証局102とが独立して運用されている場合についても同様である。
(1)文書管理装置105において、後日、検証部116で検証したい文書が指定されたとき、検証部は、まず、検証したい文書のダイジェスト値を取得し、次に、検証コマンドによってこのダイジェスト値を含む検証要求と、文書属性として記録されているタイムスタンプ証明T、電子署名Sのそれぞれのデータに含まれる公開鍵を、タイムスタンプ証明T、電子署名Sの発行元である第三者信頼機関に送信する。このとき、終了コードが記録されていない証明については未完成であるので「検証できません」等のエラー出力を出して終了する(ステップ1601、1602)。
(2)証明発行元である第三者信頼機関は、文書ダイジェスト値を含む検証要求と、タイムスタンプ証明、電子署名の公開鍵を受信し、それを受け付けると、公開鍵の暗号を解読して、既に登録され格納されている文書データのダイジェスト値、タイムスタンプ証明時刻、電子署名を参照する(ステップ1603、1604)。
(3)証明発行元である第三者信頼機関は、検証要求のあった文書ダイジェスト値が格納されていた文書ダイジェスト値と同一のものであるか否かを文書ダイジェスト値を比較することにより調べ、またタイムスタンプ時刻、電子署名についても同一のものか否かを調べる。そして、検証結果を予め定められたフォーマット(例えば、メール配信、Webによる表示等)により文書管理装置105に送信する(ステップ1605、1606)。
(4)検証結果を受け取った文書管理装置の検証部116は、例えば「この文書は確かに○月×日、時刻xx:xxに△発行元に登録されたものと同じ内容で改竄されていません。発行元の登録Noはxxxです。」等のメッセージを出力する(ステップ1607)。
前述した本発明の第1の実施形態は、入力装置のタイマーと第三者である時刻配信局の基準時刻との同期をとりながら、複数の文書のタイムスタンプと電子署名とを一括して予約取得してから入力された文書にそれらを付与して文書管理装置に登録するようにしているので、タイムスタンプと電子署名との取得時の通信コストを少なくすることができ、かつ、付与のための処理を迅速に行うことが可能になる。
図17は本発明の第2の実施形態による文書管理システムの構成を示すブロック図である。図17において、1701は同時刻登録文書検索処理部、1702は一括削除処理部、1703は一括ストレージ移動処理部、1704はストレージ装置であり、他の符号は図1の場合と同一である。
本発明の第2の実施の形態による文書管理システムは、図1に示す本発明の第1の実施形態の文書管理システムに対して、タイムスタンプ証明・署名付与装置103内に同時刻登録文書検索処理部1701、一括削除処理部1702、一括ストレージ移動処理部1703をさらに設けると共に、通信ネットワーク上にストレージ装置を設けて構成したものであり、その他の構成は、第1の実施形態の場合と同一である。
本発明の第2の実施の形態は、図5により説明した本発明の第1の実施形態での予約証明取得処理におけるステップ502の処理において、予約タイムスタンプRTiを割り当てる際に、文書管理装置から申請要求のあった時刻のタイムスタンプをn個の文書の全てに割り当てるようにしたものである。すなわち、n個の文書が全て同じ時刻のタイムスタンプを持つようにしたものである。
図18は本発明の第2の実施形態での管理テーブル112の構成例を説明する図である。このテーブルは、図14に示して説明したものと基本的に同一であるが、本発明の第2の実施形態では、第1の実施形態と違って図18に示すように、図8により説明した証明管理部111でのフローにおけるステップ807の処理で管理テーブル112の予約タイムスタンプ1806を仮タイムスタンプ1807で上書きせず、それぞれ別の項目として記録しておく。
本発明の第2の実施形態は、前述のように準備しておいた上で、同時刻登録文書検索処理部1701、一括削除処理部1702、一括ストレージ移動処理部1703での処理を実施形態1での処理に追加して行うが、これらの処理部1701〜1703での処理は、本発明の第1の実施形態において、同時に、予約処理部107で登録され、所定の間隔、例えば、10秒毎タイムスタンプが付与されている複数の文書を同時国登録文書として扱って処理を実行することも可能である。
図19は同時刻登録文書検索処理部1701での処理動作を説明するフローチャートであり、次に、これについて説明する。同時刻登録文書検索処理は、同じ時刻に予約証明取得申請を行ったn個の文書を検索したいときに行われる処理である。例えば、ある日時のある時刻に纏めて登録した文書を全てリストアップしたい、といった場合に用いられる。
(1)まず、同時刻登録文書検索処理部1701、検索する時刻の範囲指定を受け付けるか、または、同じ登録時刻で検索したい文書の指定を受け付け、文書が指定されたか否かを判定する(ステップ1901、1902)。
(2)ステップ1902の判定で、文書が指定されていなかった場合、時刻指定であるので、指定された時刻の範囲内に含まれる予約タイムスタンプRTを持つ文書の全てを管理テーブル112から検索する(ステップ1903)。
(3)ステップ1902の判定で、文書が指定されていた場合、管理テーブル112から指定された文書の予約タイムスタンプ時刻RTを取得し、取得したRTと同一時刻のRTを持つ文書の全てを検索する(ステップ1905、1906)。
(4)ステップ1903またはステップ1906の処理の後、その処理で検索された検索結果の文書一覧を出力してここでの処理を終了する(ステップ1904)。
図20は一括削除処理部1702での処理動作を説明するフローチャートであり、次に、これについて説明する。この一括削除処理は、同時に登録したn個の文書を全てを一括して削除したいときに用いられる処理である。
(1)一括削除処理が開始されると、一括削除する文書が登録された時刻の範囲指定を受け付け、受け付けた時刻指定を同時刻登録文書検索処理部1701に入力値として渡して同時刻登録文書検索処理を実行させる(ステップ2001、2002)。
(2)同時刻登録文書検索処理部1701での処理の結果得られる検索結果を、一括削除対象文書リストとして出力し、リストの中で削除対象から除外する文書の指定を受け付ける(ステップ2003、2004)。
(3)その後、削除確認ボタンが押下されたか否かを判定し、削除確認ボタンが押下されたことが確認できれば、指定された一括削除対象文書を削除してここでの処理を終了し、一定時間待っても削除確認ボタンの押下が確認できなかった場合、処理を中断してここでの処理を終了する(ステップ2005、2006)。
図21は一括ストレージ移動処理部1703での処理動作を説明するフローチャートであり、次に、これについて説明する。この一括ストレージ移動処理は、同時に登録したn個の文書を全て一括してストレージ装置に移動したいときに用いられる処理である。例えば、古くなってあまりアクセスしない文書群をまとめて高速ストレージから低速ストレージに移動したり、バックアップを取ったりするときに用いられる。
(1)一括ストレージ移動処理が開始されると、一括してストレージに移動させたい文書群が登録された時刻の範囲指定を受け付け、受け付けた時刻指定を同時刻登録文書検索処理部1701に入力値として渡して同時刻登録文書検索処理を実行させる(1201、2102)。
(2)同時刻登録文書検索処理部1701での処理の結果得られる検索結果を、一括ストレージ移動対象文書リストとして出力し、リストの中でストレージ移動対象から移動を行わない文書の指定を受け付ける(ステップ2103、2104)。
(3)その後、移動させる先のストレージ装置の指定を受け付ける。例えば、図17のストレージ装置1704へ移動させる等の指定を受け付ける。そして、開始ボタンが押下されたか否かを判定し、開始ボタンが押下されたことが確認できれば、指定された一括ストレージ移動対象文書を指定されたストレージに移動してここでの処理を終了し、一定時間待った後にも、開始ボタンが押下が確認できなかった場合、処理を中断してここでの処理を終了する(ステップ2105〜2107)。
前述した本発明の第2の実施形態は、第1の実施形態に加えて、予約タイムスタンプと仮タイムスタンプとを別々に文書の属性として記録しておくので、ある時刻に同時に登録された複数の文書を一括して検索、削除、ストレージ移動等を行うことができる。
前述で説明した本発明の各実施形態におけるフローでの処理は、処理プログラムとして構成し、タイムスタンプ証明・署名付与装置が備えるCPUに実行させることができ、また、それらのプログラムは、FD、CDROM、DVD等の記録媒体に格納して提供することができる。
なお、本発明の目的を達成するための解決手段をより具体的にいえば、次のとおりである。
入力装置である紙文書の画像読み取りを行うスキャナなどの読み取り装置から入力されるイメージデータを受け付けるか、あるいは、別の入力装置である文書管理装置から指定されて入力されるイメージなどの文書データを受け付けることのできる入力受付手段と、第三者の時刻配信局からのタイムスタンプ証明と電子署名認証局からの電子署名をそれぞれ複数文書分予約して取得する予約処理手段と、第三者の時刻配信局からのタイムスタンプ証明と電子署名認証局からの電子署名を文書毎に取得する逐次処理手段と、第三者の時刻配信局または電子署名認証局と通信を行うための通信手段と、第三者の時刻配信局と入力装置のタイマー時刻との同期をとるための時刻同期手段と、予約して取得したタイムスタンプ証明と電子署名とを管理する証明管理手段と、取得したタイムスタンプ証明と電子署名とを入力データに付与するデータ属性付与手段と、入力データの版管理手段と、入力データに対する付番処理手段とを備えた出力処理手段と、文書管理装置に登録された文書の登録時刻と内容とを検証するための検証手段とを備える。