JP2008131400A - 文書検証装置 - Google Patents

文書検証装置 Download PDF

Info

Publication number
JP2008131400A
JP2008131400A JP2006314811A JP2006314811A JP2008131400A JP 2008131400 A JP2008131400 A JP 2008131400A JP 2006314811 A JP2006314811 A JP 2006314811A JP 2006314811 A JP2006314811 A JP 2006314811A JP 2008131400 A JP2008131400 A JP 2008131400A
Authority
JP
Japan
Prior art keywords
signature
verification
document
electronic
electronic document
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006314811A
Other languages
English (en)
Other versions
JP4455571B2 (ja
Inventor
Takashi Mizuno
貴史 水野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006314811A priority Critical patent/JP4455571B2/ja
Priority to US11/836,367 priority patent/US8375216B2/en
Publication of JP2008131400A publication Critical patent/JP2008131400A/ja
Application granted granted Critical
Publication of JP4455571B2 publication Critical patent/JP4455571B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Document Processing Apparatus (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】 複数の電子文書の一括検証にかかる時間を短縮する。
【解決手段】 第一の署名よりも後に付加された第二の署名の付加後に電子文書に対する編集が行われたか否かを判定する判定する(S718-S719)。そして、第二の署名の付加後に編集が行われたと判定した場合(S717)は、第一の署名の付加後の編集を判定することなく、電子文書の検証結果を出力する。また、第二の署名の付加後に編集が行われていないと判定した場合(S717)は、第一の署名の付加後の編集を判定して(S718-S719)、当該判定結果に基づき電子文書の検証結果を出力する。
【選択図】 図10B

Description

本発明は、電子文書の検証に関する。
電子署名やタイムスタンプ署名といった署名技術が知られている。さらに、電子署名が付加された電子文書が編集(更新)された場合に、この編集に対して電子署名を付加する技術がある(例えば特許文献1参照)。編集に対して電子署名を付加する理由は、特許文献1にも記載されているように、編集した者が自らの編集内容に責任を負うことを明示的に示すためである。
なお、ここでは、タイムスタンプ署名および電子署名を総称して署名と呼ぶ。従って、署名を付加するという表現には、電子署名を付加する、タイムスタンプ署名を付加する、並びに、電子署名とタイムスタンプ署名の両方を付加するの何れかを意味する。
さらに、特許文献1は、編集や、編集に対する署名が付加された電子文書を検証する処理について、一世代前の編集記録から編集保証署名を抽出して検証を行う方法を開示する。具体的には、一世代前の編集差分情報から算出したハッシュ値と、その世代の編集作業者の公開鍵によって履歴保証署名を復号して得られるハッシュ値とを比較することで検証を行う方法である。履歴保証署名の検証が完了すると、一世代前の更新差分情報を取得し、電子文書の本文と、一世代前の更新差分情報に基づき、電子文書を復元する。
しかし、特許文献1の技術は、複数の署名が付加された電子文書の場合、それら署名を一括検証しようとすると、長い検証時間を必要とする。
特開2003-216601公報
本発明は、電子文書の一括検証にかかる時間を短縮することを目的とする。
本発明にかかる文書検証装置は、電子文書に付加された第一の署名を検証する第一の検証手段と、前記第一の署名より前に前記電子文書に付加された第二の署名を、前記第一の検証手段の検証後に検証する第二の検証手段と、前記第一の検証手段および前記第二の検証手段の検証結果を用いて、前記電子文書に対する検証結果を決定する検証統合手段とを有し、前記第二の検証手段は、前記第一の検証手段が前記第一の署名の付加後に前記電子文書に対する編集が行われたと判断した場合、前記第二の署名の付加後に前記電子文書に対する編集が行われたか否かの判断処理を行わないことを特徴とする。
また、電子文書に付加された第一の署名を検証する第一の検証手段と、前記第一の署名より前に前記電子文書に付加された第二の署名を、前記第一の検証手段の検証後に検証する第二の検証手段と、前記第一の検証手段および前記第二の検証手段の検証結果を用いて、前記電子文書に対する検証結果を決定する検証統合手段とを有し、前記第一の検証手段は、前記第一の署名の付加後に前記電子文書に対する編集が行われたか否かを前記第一の署名を用いて判断し、かつ、前記第一の署名の付加後に前記電子文書に対する改竄が行われたか否かを前記第一の署名を用いて判断することで、前記第一の署名を検証し、前記第二の検証手段は、前記第二の署名の付加後に前記電子文書に対する編集が行われたか否かを前記第二の署名を用いて判断し、かつ、前記第二の署名の付加後に前記電子文書に対する改竄が行われたか否かを前記第二の署名を用いて判断することで、前記第二の署名を検証し、前記第二の検証手段は、前記第一の検証手段が前記第一の署名の付加後に前記電子文書に対する編集が行われたと判断した場合、前記第二の署名の付加後に前記電子文書に対する編集が行われたか否かの判断処理を行わないことを特徴とする。
また、電子文書に付加された第一の電子署名と、前記第一の電子署名よりも後に付加された第二の電子署名の有効性を確認し、当該確認結果に基づき、前記電子文書を検証する文書検証装置であって、電子署名の付加後に前記電子文書に対する編集が行われたか否かを判定する判定手段と、前記判定手段により、前記第二の電子署名の付加後に編集が行われたと判定された場合は、前記第一の電子署名の付加後の編集を前記判定手段に判定させることなく、前記電子文書の検証結果を出力し、前記判定手段により、前記第二の電子署名の付加後に編集が行われていないと判定された場合は、前記第一の電子署名の付加後の編集を前記判定手段に判定させて、当該判定結果に基づき前記電子文書の検証結果を出力する出力手段とを有することを特徴とする。
また、第一の電子文書が含む電子署名を検証して、前記第一の電子文書の検証結果を生成する検証手段と、第二の電子文書に、前記第一の検証手段が検証した電子署名と同一の電子署名が含まれるか否かを判定する判定手段と、前記判定手段により、前記第二の電子文書が同一の電子署名を含むと判定された場合、前記同一の電子署名について検証を行わずに、前記第二の電子文書の検証結果を生成する第二の検証手段とを有することを特徴とする。
本発明にかかる文書検証方法は、情報処理装置を制御して、電子文書に付加された第一の電子署名と、前記第一の電子署名よりも後に付加された第二の電子署名の有効性を確認し、当該確認結果に基づき、前記電子文書を検証する文書検証方法であって、電子署名の付加後に前記電子文書に対する編集が行われたか否かを判定する判定ステップと、前記判定ステップで、前記第二の電子署名の付加後に編集が行われたと判定した場合は、前記第一の電子署名の付加後の編集を前記判定ステップで判定することなく、前記電子文書の検証結果を出力する第一の出力ステップと、前記判定ステップで、前記第二の電子署名の付加後に編集が行われていないと判定した場合は、前記第一の電子署名の付加後の編集を前記判定ステップで判定して、当該判定結果に基づき前記電子文書の検証結果を出力する第二の出力ステップとを有することを特徴とする。
また、情報処理装置を制御して、電子文書を検証する文書検証方法であって、第一の電子文書が含む電子署名を検証して、前記第一の電子文書の検証結果を生成する検証ステップと、第二の電子文書に、前記第一の検証手段が検証した電子署名と同一の電子署名が含まれるか否かを判定する判定ステップと、前記判定ステップで、前記第二の電子文書が同一の電子署名を含むと判定した場合、前記同一の電子署名について検証を行わずに、前記第二の電子文書の検証結果を生成する第二の検証ステップとを有することを特徴とする。
本発明によれば、電子文書の一括検証にかかる時間を短縮することができる。
以下、本発明にかかる実施例の情報処理を図面を参照して詳細に説明する。
[文書管理システムの構成]
図1は実施例1の文書管理システムの構成例を示す図である。
文書管理サーバ1003は、各種電子文書をデータファイルとして記憶し、ユーザが所望する電子文書を、記憶した電子文書から、適宜、検索する機能を備える。
文書登録装置1001は、電子文書に署名を付加した新たな電子文書を作成し、新たな電子文書を文書管理サーバ1003に送信して、文書管理サーバ1003に記憶させる。以下では、文書登録装置1001が文書管理サーバ1003に電子文書を記憶させることを「電子文書を登録する」という。
文書登録装置1001は、スキャナ1004を制御して例えばJPEG形式の電子データとして電子文書を取得する機能を有する。また、文書登録装置1001は、共有記憶装置1006に記憶された電子文書を取得することもできる。共有記憶装置1006は、例えば、インターネットなどのネットワーク1007から受信した電子メールに付加された電子文書や、複合機(MFP) 1005によって読み取られ、MFP 1005の送信機能により送られてきた電子文書を記憶する。
文書検証装置1002は、文書管理サーバ1003に記憶された電子文書を取り出して、取り出した電子文書を検証する。具体的には、電子文書に付加されている電子署名の有効性を判断したり、電子文書に付加されているタイムスタンプ署名の有効性をタイムスタンプサーバに判断させて判断結果を受け取ったりすることで、電子文書を検証する。
文書管理サーバ1003、文書登録装置1001、文書検証装置1002はそれぞれ、図示しないCPUとメモリを備え、メモリに格納されたプログラムをCPUが実行することで、文書管理システムに関する機能を実現する。また、電子文書は、文書管理サーバ1003の制御下にあるハードディスクなどの記憶装置に格納されている。また、図1には、文書登録装置1001と文書検証装置1002が別装置である例を示したが、両装置の機能をもつ一台の装置としてもよい。
[電子文書の登録]
図3は文書登録装置1001が電子文書を取得し、文書管理サーバ1003に登録する処理を説明するフローチャートである。
文書登録装置1001は、まず、図4Aに示す初期ダイアログを図示しないモニタに表示する(S101)。ユーザは、文書登録装置1001に接続された図示しないキーボードやマウスなどの入力デバイスを利用して、初期ダイアログのテキストボックス301のドロップダウンメニューから「SCAN」または「FILE」を選択する。ユーザが「SCAN」を選択した後、初期ダイアログの「開始」ボタン302を押すと(S102)、文書登録装置1001は、スキャン時の各種設定を行う図4Bに示すスキャンダイアログを表示する(S103)。
ユーザはスキャンダイアログを操作して、カラーモードや解像度などを設定した後、スキャンダイアログの「スキャン」ボタン303を押す(S104)。これに応じて、文書登録装置1001は、スキャナ1004にスキャンを開始させ、スキャナ1004から受信したスキャン画像を、一旦、装置内のメモリの所定領域に記憶する(S105)。そして、スキャンを継続するか否かをユーザに選択させるための図4Cに示す継続ダイアログを表示する(S106)。
ユーザが継続ダイアログの「はい」ボタン304を押すと(S107)、文書登録装置1001は、スキャンダイアログを表示するために処理をステップS105に戻す。また、ユーザが継続ダイアログの「いいえ」ボタン305を押すと(S107)、文書登録装置1001は、装置内のメモリの所定領域に記憶したスキャン画像から例えばPDF(portable document format)形式の電子文書を生成し、メモリの所定領域に格納する(S108)。
一方、ユーザが「FILE」を選択した後、初期ダイアログの「開始」ボタン302を押すと(S102)、文書登録装置1001は、入力する電子文書をユーザが指定するための図4Eに示すインポートダイアログを表示する(S121)。ユーザがインポートダイアログの「追加」ボタン321を押すと(S122)、文書登録装置1001は、ユーザが電子文書を選択するための図4Fに示すファイル選択ダイアログを表示する(S123)。ユーザは、ファイル選択ダイアログを操作して電子文書のファイル名を指定し、ファイル選択ダイアログの「開く」ボタン322を押す(S124)。これに応じて、文書登録装置1001は、ファイル選択ダイアログの表示を解除し(S125)、インポートダイアログのリストボックス323に、指定された電子文書のファイル名をリストアップし(S126)、処理をステップS122に戻す。
ユーザがインポートダイアログ「OK」ボタン324を押すと(S122)、文書登録装置1001は、処理をステップS108に進める。そして、リストボックス323にリストされた電子文書を、順次、共有記憶装置1006から読み込み、PDF形式の電子文書に変換して、メモリの所定領域に格納する(S108)。
電子文書の生成(S108)が終了すると、文書登録装置1001は、図4Dに示すプレビューダイアログを表示する(S109)。
プレビューダイアログは、PDF形式の電子文書をプレビュー表示するためのダイアログである。ユーザは、プレビューダイアログを利用して、電子文書に付加するインデックス情報の入力などを行う(S110)。インデックス情報の入力などが終了し、ユーザがプレビューダイアログの「実行」ボタン306を押すと(S111)、文書登録装置1001は、電子文書に電子署名およびタイムスタンプ署名を付加して新たな電子文書を生成する(S112)。そして、文書登録装置1001は、新たに生成した電子文書を文書管理サーバ1003に登録し(S113)、処理をステップS101に戻す。なお、文書登録装置1001は、文書管理サーバ1003に電子文書を登録する間、現在の処理状況を示す図4Gに示す処理状況表示ダイアログを表示し、すべての電子文書の登録が終了すると処理状況表示ダイアログの表示を解除する。
●登録処理
図5は文書登録装置1001が電子文書に電子署名およびタイムスタンプ署名を付加して文書管理サーバ1003に登録する処理(S112〜S113)を示すフローチャートである。
図5に示す処理の実行前に、文書登録装置1001のメモリには予めハッシュ関数、秘密鍵、秘密鍵に対応する証明書が記憶されているものとする。また、証明書には、公開鍵が含まれ、証明書のシリアル番号、証明書の発行元(サーバ)を示す情報、秘密鍵所持者に関する情報(秘密鍵所持者の名前等)、証明書の有効期間などの情報が記載されている。
文書登録装置1001は、電子署名に用いようとする証明書(以下「対象証明書」と呼ぶ)の有効性を確認し(S201)、対象証明書が有効か否かを判定して(S202)、有効の場合は処理をステップS203へ進め、無効の場合は処理を終了する。なお、対象証明書の有効性確認処理の詳細は後述する。
次に、文書登録装置1001は、有効性が確認された対象証明書を用いて、電子文書に電子署名を付加して新たな電子文書を作成する(S203)。なお、電子署名の付加処理の詳細は後述する。
次に、文書登録装置1001は、電子署名を付加した電子文書にタイムスタンプ署名を付加して、さらに新たな電子文書を生成する(S204)。なお、タイムスタンプ署名の付加処理の詳細は後述する。
次に、文書登録装置1001は、電子署名およびタイムスタンプ署名を付加した電子文書を文書管理サーバ1003に登録し(S205)、処理を終了する。
なお、電子文書に電子署名やタイムスタンプ署名を付加して、新たな電子文書を生成すると説明したが、必ずしも、新たな電子文書を生成しなくてもよい。例えば、電子署名の付加前の電子文書、電子署名、タイムスタンプ署名を別ファイルのまま、それぞれ関連付けて文書管理サーバ1003に登録してもよい。また、電子署名の付加、タイムスタンプ署名の付加、電子文書の登録などの処理に失敗した場合、適切なエラー処理が行われるものとする。
●証明書の有効性確認処理
図6Aは証明書の有効性の確認処理(S201)の詳細を示すフローチャートである。
文書登録装置1001は、対象証明書の発行元の情報を取得し、発行元が信頼できるサーバ(認証局)か否かを判定する(S211)。そして、信頼できると判定した場合は処理をステップS212へ進め、信頼できないと判定した場合は対象証明書の状態を無効にして(S216)、処理を終了する。なお、信頼できる発行元(サーバ)の情報は、文書管理サーバ1003に予め登録されているものとする。また、以下では、とくに断らない限り、発行元の証明書サーバ1009(図1参照)は信頼できるサーバとして説明する。また、とくに断らない限り、証明書の発行元は証明書サーバ1009であるとして説明する。
次に、文書登録装置1001は、対象証明書に記載された有効期間情報を取得して、対象証明書が期限切れか否かを判定する(S212)。そして、有効期限内の場合は処理をステップS213へ進め、有効期限切れの場合は対象証明書の状態を無効にして(S216)、処理を終了する。
次に、文書登録装置1001は、失効した証明書の一覧であるCRL (certificate revocation list)を、対象証明書の発行元である証明書サーバ1009から取得する(S213)。そして、対象証明書がCRLに含まれているか否かを判定し(S214)、含まれていない場合は対象証明書の状態を有効にし(S215)、含まれている場合は対象証明書は失効しているため、対象証明書の状態を無効にして(S216)、処理を終了する。
●電子署名の付加処理
図6Bは電子署名の付加処理(S203)を説明するフローチャートである。
文書登録装置1001は、電子文書のハッシュ値を計算する(S221)。なお、ハッシュ値の計算には、例えばMD5やSHA-1などのハッシュ関数を使用すればよい。もし、電子文書に既に署名が付加されていた場合は、その署名も含めてハッシュ値を計算する。
図7はオリジナルの電子文書と、ハッシュ値の計算対象の関係を示す図である。
図7(a)の電子文書はオリジナル文書だけを含む、言い替えれば署名が未付加である。こうした署名が未付加の電子文書に電子署名を付加する場合、オリジナル文書だけがハッシュ値の計算対象となる。この電子文書に電子署名を付加すると、図7(b)に示す電子文書が生成される。図7(b)の電子文書は、オリジナル文書と電子署名(署名1)を含んでいる。
図7(b)の電子文書に、さらに電子署名を付加する場合、オリジナル文書と署名1の両方がハッシュ値の計算対象になる。この図7(b)の電子文書に電子署名を付加すると、図7(c)に示す電子文書が生成される。図7(c)の電子文書は、オリジナル文書8001、電子署名(署名1)、電子署名(署名2)を含んでいる。
次に、文書登録装置1001は、対象証明書に含まれる秘密鍵により、ステップS221で計算したハッシュ値を暗号化し(S222)、暗号化ハッシュ値と対象証明書を含む電子署名を生成する(S223)。そして、生成した電子署名を電子文書に付加する(S224)。この電子署名の形式としては例えばPKCS#7やPDF電子署名などがある。
●タイムスタンプ署名の付加処理
図6Cはタイムスタンプ署名の付加処理(S204)を説明するフローチャートである。
文書登録装置1001は、ステップS203で電子署名が付加された電子文書のハッシュ値を計算する(S231)。なお、ハッシュ値の計算対象は、電子署名の付加のときと同様に、オリジナル文書に付加されているすべての署名である。
次に、文書登録装置1001は、計算したハッシュ値をタイムスタンプサーバ(タイムスタンプ局、time stamping authority (TSA)、図1参照)に送信する(S232)。
なお、電子署名付加処理(S203)で電子署名を付加する前の電子文書が、図7(a)に示すように、オリジナル文書だけを含むと仮定する。この場合、ステップS203で、図7(b)に示すように、オリジナル文書と電子署名(署名1)を含む文書ファイルが生成される。すると、このステップS232では、オリジナル文書と電子署名(署名1)の両方を対象として、ハッシュ値を計算することになる。
次に、文書登録装置1001は、計算したハッシュ値をタイムスタンプサーバ(タイムスタンプ局、time stamping authority (TSA)、図1参照)に送信する(S232)。
タイムスタンプサーバ1008は、ハッシュ値を受信すると、受信したハッシュ値をタイムスタンプサーバ1008に固有の秘密鍵で暗号化し、暗号化したハッシュ値と現在時刻を統合した統合情報を生成する。そして、この統合情報と、秘密鍵に対応する公開鍵を有する証明書を含むタイムスタンプトークンを生成して、タイムスタンプトークンを文書登録装置1001に返す。
文書登録装置1001は、タイムスタンプサーバ1008からタイムスタンプトークンを受信すると、受信したタイムスタンプトークンと、その他必要な情報を含むタイムスタンプ署名を生成する(S233)。そして、生成したタイムスタンプ署名を電子署名が付加された電子文書に付加する(S234)。
以上のように、実施例1では、タイムスタンプ署名を、電子署名が既に付加された電子文書に対して、付加する。このタイムスタンプ署名により、タイムスタンプ署名内に含まれる時刻より前に、電子文書に対して電子署名が既に付加されていたことを、後に立証することができるようになる。
[電子文書の検証]
図8は文書検証装置1002による、文書管理サーバ1003に登録された電子文書の検証処理を説明するフローチャートである。
文書検証装置1002は、まず、図9Aに示す初期ダイアログを図示しないモニタに表示する(S401)。初期ダイアログは、文書管理サーバ1003に登録された電子文書のファイル名を表示するダイアログである。ユーザが初期ダイアログの「検索」ボタン501を押すと(S402)、文書検証装置1002は、図9Bに示す検索条件設定ダイアログを表示する(S403)。検索条件設定ダイアログは、文書管理サーバ1003に登録された電子文書からユーザが所望の電子文書を検索するための検索条件を設定するためのダイアログである。
ユーザが、検索条件設定ダイアログの「閉じる」ボタン503を押すと(S404)、文書検証装置1002は、処理をステップS401に戻す。また、ユーザが、検索条件設定ダイアログで検索条件を設定した後、「検索」ボタン502を押すと(S404)、設定された検索条件(予めユーザが指定した検索件数を含む)を文書管理サーバ1003に通知する(S405)。
検索条件を受信した文書管理サーバ1003は、文書管理サーバ1003に登録された電子文書を、当該検索条件に従い検索し、検索結果を文書検証装置1002に返す。
文書検証装置1002は、検索結果を受信すると(S406)、図9Cに示す検索結果ダイアログを表示して、受信した検索結果を表示する(S407)。検索結果ダイアログは、予めユーザが指定した件数の電子文書のファイル名を表示する。ユーザが検索ダイアログの「次へ」または「前へ」ボタン506を押すと(S408)、文書検証装置1002は、文書管理サーバ1003に再検索を通知する(S412)。そして、同じ検索条件による再検索の結果を検索ダイアログに表示するために、処理をステップS406に戻す。この通知に応じて、文書管理サーバ1003は、次または前の指定件数の電子文書のファイル名を文書検証装置1002に返す。
一方、ユーザが検索ダイアログの「検証」ボタン504を押すと(S408)、文書検証装置1002は、検索結果ダイアログに表示された一または複数の電子文書について検証を実行する(S409)。そして、図9Dに示す検証結果ダイアログに最新の検証結果を表示する(S410)。
ユーザが検証結果ダイアログの「OK」ボタン507を押すと(S411)、文書検証装置1002は、処理をステップS407に戻す。その際、検索ダイアログの各コラムに、各電子文書の検証結果を新たに表示する。
また、ユーザが、検索ダイアログの「閉じる」ボタン505を押すと(S408)、文書検証装置1002は、処理をステップS401に戻す。
●検証処理
図10Aは電子文書の検証処理の詳細を示すフローチャートである。
文書検証装置1002は、検証対象の電子文書(以下「対象電子文書」と呼ぶ)を決定し、対象電子文書に対する検証を実行する。その際、対象電子文書に含まれる各署名の「有効性」に基づき、対象電子文書の有効性を判断する。
文書検証装置1002は、対象電子文書が含む署名の数をカウントし、その数をカウンタnに設定する(S701)。ここで、対象電子文書が含む署名には、古いものから順に連番が振られているものとする。例えば、図11(a)に示すように、電子文書が含む署名(署名1と署名2)には番号1と2が振られている。
次に、文書検証装置1002は、n>0か否かを判定し(S702)、n=0の場合(検証すべき署名がない)場合は処理をステップS707へ進め、検証結果を文書管理サーバ1003に登録する。検証すべき署名がなかった場合(ステップS701の時点でn=0の場合)は、その旨を検証結果として登録する。
n>0の場合(検証すべき署名がある)場合、文書検証装置1002は、対象電子文書が含むn番目の署名の検証処理を行う(S703)。すなわち、一番新しい署名の検証処理を行う。なお、検証処理の詳細は後述する。
次に、文書検証装置1002は、n番目の署名の検証結果に基づき、対象電子文書の検証結果を求める処理(以下「検証結果の統合処理」と呼ぶ)を行う(S704)。なお、検証結果の統合処理の詳細は後述するが、対象電子文書の検証結果には「有効」と「無効」がある。「有効」は、すべての署名が未改竄、証明書が有効、署名後は未編集の電子文書を示している。また、「無効」は、署名が改竄されたもの、証明書が無効のもの、署名後に編集されたものの三種類の電子文書が存在する。なお、実施例1では「署名が改竄された」は、署名自体が改竄された場合と、その署名が付加された時よりも後にオリジナル文書が改竄された場合とを含む表現であるものとする。
次に、文書検証装置1002は、後述する改竄フラグに基づき、n番目の署名の検証において、改竄を検知したか否かを判定する(S705)。改竄を検知した場合は、電子文書が無効であるため、以後の署名の検証処理は行わず、処理をステップS707へ進め、電子文書が無効を示す検証結果を文書管理サーバ1003に登録する。
また、改竄を検知しなかった場合、文書検証装置1002は、カウンタnをデクリメントして(S706)、処理をステップS702に戻し、ステップS702からS706の処理を対象電子文書が含むすべての署名を検証するまで繰り返す。従って、n=1のときにステップS704で求めた検証結果が対象電子文書の最終的な検証結果になる。
次に、n番目の署名の検証処理を説明するが、その前に、用語「改竄」「編集」を定義する。
改竄とは、署名を含む電子文書を不正に変更する行為である。例えば、署名を含む電子文書をバイナリフォーマットのデータとして開き、バイナリデータを変更する(ビットの値を‘1’から‘0’に、または、‘0’から‘1’に変更する)行為は改竄である。
編集とは、署名を含む電子文書を不正ではない方法で変更する行為である。例えば、署名を含む電子文書(例えばPDFフォーマット)を開き、PDFデータに含まれるオリジナル文書を変更して、変更内容を示す情報を電子文書に付加する行為は編集である。
言い換えれば、改竄は、改竄前の電子文書の情報が失われるように電子文書を変更する行為であり、編集は、編集前の電子文書の情報が失われないように電子文書を変更する行為である。なお、編集により電子文書が変更された内容(変更内容)を示す情報を、以下では「編集情報」と呼ぶことにする。例えば、図11(a)に示すオリジナル文書が編集されると、変更内容を示す編集情報が電子文書に追加され、さらに電子署名(署名3)が付加されて図11(b)に示す電子文書が生成される。
図10Bはn番目の署名の検証処理(S703)の詳細を示すフローチャートである。なお、電子文書の検証処理の開始前に、改竄確認フラグ、証明書確認フラグ、編集確認フラグ、改竄フラグ、証明書フラグ、編集フラグはそれぞれオンになっているものとする。
改竄確認フラグのオンは改竄検知を行う必要があることを意味する。証明書確認フラグのオンは証明書の有効性の判断を行う必要があることを意味する。編集確認フラグのオンは編集がされたかどうか判断する必要があることを意味する。改竄フラグのオンは、改竄されていないことを意味する。証明書フラグのオンは、証明書が有効であることを意味する。編集フラグのオンは、編集がされていないことを意味する。
文書検証装置1002は、n番目の署名が付加された後、n+1番目の署名が付加されるまでの、対象電子文書の改竄の有無を調べる(S711)。なお、n番目の署名が対象電子文書に付加された最新の署名の場合、文書管理サーバ1003は、n番目(最新)の署名が付加された後の、対象電子文書の改竄の有無を調べることになる。
n番目の署名がタイムスタンプ署名ではなく通常の電子署名の場合、ステップS711の具体的な処理は次のようになる。
まず、文書検証装置1002は、n番目の電子署名に含まれる証明書の公開鍵を用いて、n番目の電子署名に含まれるハッシュ値を復号する。さらに、n番目の電子署名が付加される前の電子文書からハッシュ値を計算する。そして、復号したハッシュ値と計算したハッシュ値を比較する。比較の結果、二つのハッシュ値が異なる場合は改竄ありである。また、比較の結果、二つのハッシュ値が同値の場合は改竄なしである。
また、n番目の署名がタイムスタンプ署名の場合、ステップS711の具体的な処理は次のようになる。
まず、文書検証装置1002は、n番目のタイムスタンプ署名に含まれる公開鍵を用いて、n番目のタイムスタンプ署名に含まれるタイムスタンプトークン内のハッシュ値を復号する。さらに、n番目のタイムスタンプ署名が付加される前の電子文書からハッシュ値を計算する。そして、復号したハッシュ値と計算したハッシュ値を比較する。比較の結果、二つのハッシュ値が異なる場合は改竄ありである。また、比較の結果、二つのハッシュ値が同値の場合は改竄なしである。
以上のステップS711の処理が終了すると、S712に移行する。続いて、文書検証装置1002は、改竄の有無を判定し(S712)、改竄ありと判定した場合は改竄確認フラグをオフにして(S721)、検証処理を終了する。つまり、改竄ありと判定した場合は、以下の処理(証明書の検証、署名後の編集の有無の調査)を行うことなく処理を終了して、検証時間の短縮を図る。ここで、改竄確認フラグをオフにするということは、その後の署名(n-1番目の署名)の改竄確認を行わないようにすることを意味する。一つでも、改竄が存在した以上、その文書の検証結果は「改竄があります」になってしまうので、以降の署名の改竄を確認しても意味が無いからである。
ステップS712で改竄なしと判定した場合、文書検証装置1002は、証明書フラグの状態を判定する(S713)。証明書フラグがオン(証明書が無効である署名が未だ見付かっていない)の場合は、ステップS714の証明書の有効性の確認処理に進む。また、証明書フラグがオフ(既に証明書が無効である署名が以前存在していた)の場合は、証明書の有効性確認処理をスキップして、処理をステップS717へ進める。このように、既に証明書が無効である署名が以前存在していた場合は、現在の署名の証明書が有効であるか無効であるかの確認(証明書の有効性確認処理)をスキップする。これは、既に証明書が無効である署名が存在していた以上、その文書の検証結果は「証明書が無効です」になってしまい、たとえ他の証明書が有効であっても最終的な文書の検証結果は変わらないからである。
証明書フラグがオン(証明書が無効である署名が未だ見付かっていない)の場合、文書検証装置1002は、n番目の署名に含まれる証明書の有効性を確認する(S714)。
n番目の署名がタイムスタンプ署名ではない場合、ステップS714の具体的な処理は、図6Aに示した証明書の有効性の確認処理と同様である。ただし、図6Aの処理は文書登録装置1001が行うが、ステップS714の処理は文書検証装置1002が行う点で異なる。また、図6Aの処理は、証明書の有効性を確認する時点で証明書が期限切れの場合は、常に、証明書の状態を無効にする。これに対して、ステップS714では、たとえ証明書の有効性を確認する時点で証明書が期限切れになっていても、期限切れ前にタイムスタンプ署名が行われている場合は証明書の状態を有効にする点で異なる。
また、n番目の署名がタイムスタンプ署名の場合、ステップS714の具体的な処理は、次のようになる。文書検証装置1002は、タイムスタンプ署名に含まれるタイムスタンプトークンに記載された有効期間に基づき、当該タイムスタンプ署名が有効か否かを判定する。ただし、タイムスタンプトークンに記載された有効期間内でなくても、期限切れ前に別のタイムスタンプ署名が行われいた場合は証明書の状態を有効にする。
次に、文書検証装置1002は、証明書の有効性の確認結果が有効か否かを判定し(S715)、有効の場合は処理をステップS717に進める。また、無効の場合は、証明書確認フラグをオフにして(S716)、処理をステップS717に進める。ここで、無効の場合に証明書確認フラグがオフにするということは、この後で検証すべき署名(n-1番目の署名)に付いている証明書の有効性を確認しなくてよいということを意味する。何故ならば、無効な証明書が存在した以上、文書の検証結果としては「無効な証明書があります」になってしまい、他の証明書が有効であったとしても最終的な文書の検証結果は変わらないからである。
次に、文書検証装置1002は、編集フラグの状態を判定し(S717)、編集確認フラグがオンの場合は、ステップS718の署名後の編集を確認する処理に進む。また、編集確認フラグがオフ(以前、編集情報が見付かった)の場合は、署名後の編集の有効性を確認する処理をスキップして、処理を終了する。このように、編集確認フラグがオフの場合に、署名後の編集の存在を確認する処理をスキップする理由は以下のとおりである。すなわち、編集情報が既に見付かっている以上、文書の検証結果は「署名後の編集があります」になってしまい、その後、編集情報が更に有ったとしても無かったとしても、文書の検証結果は変わらないからである。
編集フラグがオン(未だ編集情報が見付かっていない)の場合、文書検証装置1002は、n番目の署名以降にオリジナル文書に対する編集が行われたか否かを確認する処理を行う(S718)。例えば、図11(b)の文書のうちに示す編集情報が現在検証している署名が署名2であれば、オリジナル文書に対する編集が行われたと判断することになる。一方、現在検証している署名が署名3であれば、オリジナル文書に対する編集が行われていないと判断することになる。これは、ステップS718では、対象とする署名以降に編集が行われたか否かを確認する処理が行われるからである。
そして、文書検証装置1002は、署名後の編集の有無を判定し(S719)、編集なしと判定した場合は処理を終了する。また、編集ありと判定した場合は、編集確認フラグをオフにして処理を終了する。ここで、編集確認フラグをオフにするということは、これ以降の署名(n-1番目の署名)に対しては、編集情報があるか否かの判断を行わないようにする。すなわち、編集情報が既に見付かった以上、文書の検証結果は「署名後の編集があります」になってしまい、その後、編集情報が更に有ったとしても無かったとしても、文書の検証結果は変わらないからである。
図10Cは検証結果の統合処理(S704)の詳細を示すフローチャートで、改竄確認フラグ、証明書確認フラグ、編集確認フラグのオンオフに基づき、改竄フラグ、証明書フラグ、編集確認フラグの状態を更新する処理である。
まず、文書検証装置1002は、改竄確認フラグを判定し(S721)、改竄確認フラグがオフならば改竄フラグをオフにして(S726)、統合処理を終了する。すなわち、今後、改竄確認はしなくてよいことを示す情報があった場合(改竄確認フラグがオフの場合)は、改竄されていることが既に確認されたことを示す情報(改竄フラグをオフ)を与えることにする。
改竄確認フラグがオン(改竄確認を今後も行うことを示す情報がある)の場合、文書検証装置1002は、証明書フラグを判定する(S722)。この時点における証明書フラグのオフは、n+1番目以降の署名に含まれる証明書が無効であったことを示すので、文書検証装置1002は、n番目の署名に含まれる証明書の有効性の判断をしても意味がないと判断し、証明書確認フラグを判定せずに処理をステップS724へ進める。
また、証明書フラグがオンの場合、文書検証装置1002は、n番目の署名の証明書の検証結果を示す証明書確認フラグを判定し(S723)、証明書確認フラグがオフの場合は証明書フラグをオフにする(S727)。
次に、文書検証装置1002は、編集フラグを判定する(S724)。この時点における編集フラグのオフは、n+1番目以降の署名の後に編集があったことを示すので、文書検証装置1002は、n番目の署名後に編集があったかどうか判断しても意味が無いと判断し、編集確認フラグを判定せずに統合処理を終了する。
また、編集フラグがオンの場合、文書検証装置1002は、n番目の電子署名の後の編集の有無を示す編集確認フラグを判定し(S725)、編集確認フラグがオフの場合は編集フラグをオフにして(S728)、統合処理を終了する。
[検証結果の表示画面]
図12は、図9Cに示す検証結果ダイアログの詳細を示す図である。また、検証処理終後、文書検証装置1002によって表示されるダイアログでもある。
検証結果ダイアログの検証結果表示領域501は、少なくとも次の表示領域を有する。
表示領域502は、各電子文書の文書名を表示する。
アイコン表示領域503は、各電子文書に対する検証処理結果を下記のアイコンによって表示する。電子文書が有効であることを示すチェックマーク「レ」アイコン、改竄はされていないが改竄以外の問題があることを示す感嘆符「!」アイコン、改竄されていることを示す白抜きの感嘆符「!」アイコン、未検証を示す疑問符「?」アイコンなどがある。
チェックマーク「レ」アイコンは、図10Aの検証処理において有効と判定された電子文書、つまり改竄フラグ、証明書フラグ、編集フラグがすべてオフの電子文書に対して表示される。
感嘆符「!」アイコンは、図10Aの検証処理において編集あり、または、証明書が無効と判定された電子文書、つまり証明書フラグがオンまたは編集フラグがオンの電子文書に対して表示される。
白抜きの感嘆符「!」アイコンは、図10Aの検証処理において改竄ありと判定された電子文書、つまり改竄フラグがオフの電子文書に対して表示される。
また、疑問符「?」アイコンは、図10Aの検証処理が未実行の電子文書に対して表示される。
表示領域504は、検証結果内容を表示する。なお、図12には、証明フラグと編集フラグのどちらか一方がオフならば例えば「証明書が無効か、署名後の編集があります」のような検証結果内容を表示する例を示した。しかし、証明フラグと編集フラグに応じて例えば「証明書が無効です」「署名後の編集があります」のように表示してもよい。
表示領域505は、タイムスタンプ署名の付加日時を表示し、最後にタイムスタンプ署名が付加された日時を示す。
表示領域506は、最終検証日時を表示し、電子文書の検証日時中で最新の日時を示す。
以上のように、実施例1では、署名が改竄されていることがわかった場合は、その署名の中に含まれる証明書の確認処理や、その署名の後に編集が行われたかを確認する処理を行わない。また、改竄されている署名より以前に文書へ付加された署名の検証処理(改竄検知、証明書の確認処理、編集が行われたかを確認する処理)を一切、行わない。これは、改竄が見付かった以上、その文書の検証結果は「改竄があります」に確定し、変わりようがないからである。
また、実施例1では、署名内の証明書が無効であることがわかった場合は、その署名より後に付加された署名(n-1番目の署名)内の証明書が無効であるかどうかを確認する処理を行わない。これは、証明書の無効が見付かった以上、たとえ他の証明書が有効であったとしても、その文書の検証結果は変わらないからである。ただし、署名内の証明書が無効であることがわかった場合でも、無効な証明書を含む署名より後に付加された署名に対する改竄の確認処理は行う。これは、改竄されていることが見付かった場合は、文書の検証結果が「証明書が無効です」から「改竄があります」に変更になるからである。
このように、実施例1では、証明書が無効であることよりも改竄があることの方が重要な問題であるとして、その重要な問題をユーザに認識させるべく、たとえ署名内の証明書が無効であることがわかった場合でも、無効な証明書を含む署名より後に付加された署名に対する改竄の確認処理は中断することなく行う。
また、実施例1では、署名後の編集があることが既にわかった場合は、その署名より後に付加された署名(n-1番目の署名)より後に編集があるかどうかを確認する処理を行わない。これは、署名後の編集があることがわかった以上、たとえ他の署名の後に編集がなかったとしても、その文書の検証結果は変わらないからである。ただし、署名後の編集があることがわかった場合でも、その署名より後に付加された署名に対する改竄の確認処理は行う。これは、改竄されていることが見付かった場合は、文書の検証結果が「署名後の編集があります」から「改竄があります」に変更になるからである。
このように、実施例1では、署名後の編集があることよりも改竄があることの方が重要な問題であるとして、その重要な問題をユーザに認識させるべく、たとえ署名後の編集があることがわかった場合であっても、その署名より後に付加された署名に対する改竄の確認処理は中断することなく行う。
このように、実施例1では、不要な処理を省略することにより、検証時間の短縮を図っている。
以下、本発明にかかる実施例2の情報処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
実施例2では、文書管理サーバ1003が複数の署名を含む電子文書を大量に蓄えている場合に、文書検証装置1002が高速に検証結果を求める方法を説明する。
[証明書管理テーブル]
文書登録装置1001は、電子文書に署名を付加して文書管理サーバ1003に登録するだけでなく、署名を付加せずに電子文書を文書管理サーバ1003に登録することも可能である。また、電子文書には、予め一つ以上の署名が付加されていてもよい。
文書管理サーバ1003は、文書登録時、電子文書に含まれる個々の署名の証明書を抽出し、文書ファイルと証明書の対応関係を記した証明書管理テーブルを作成する。なお、証明書管理テーブルは、文書管理サーバ1003ではなく、文書登録装置1001が作成して、文書管理サーバ1003に格納してもよい。
図2は証明書管理テーブルの構成例を示す図である。証明書管理テーブルには、証明書フィールド2001、証明書の検証ステータスを示す証明書ステータスフィールド2002、証明書を利用する署名を含む電子文書が記録される利用文書フィールド2003がある。
証明書ステータスフィールド2002には、有効と判定された証明書について「無効」が、無効と判定された証明書について「無効」が記録される。また、証明書の検証を未実行の場合は「未検証」が記録される。図2は証明書A、Dが未検証、証明書Bが有効、証明書Cが無効の例を示している。
複数の電子文書が同一の証明書によって署名されている場合、利用文書フィールド2003には、複数の電子文書のファイル名が記録される。
例えば、二つの署名を含む文書登録装置1001によって電子文書Xが文書管理サーバ1003に登録される場合を想定する。一つの署名は証明書Aを用い、もう一つの署名は証明書Dを用いるとする。
文書管理サーバ1003は、証明書Aは証明書管理テーブルに既登録であるから、利用文書フィールド2003の証明書Aに対応するセルに電子文書Xのファイル名を追加する。一方、証明書Dが未登録だとすると、新たに証明書Dのレコードを作成し、利用文書フィールド2003の証明書Dに対応するセルに文書ファイルXのファイル名を記録する。
[証明書の検証要否の判定]
文書検証装置1002は、証明書管理テーブルを用いて、検証対象文書が含む署名の証明書の有効性を検証する必要があるか否かを判定する。図13は証明書の検証要否の判定を示すフローチャートである。
文書検証装置1002は、検証対象文書が含むすべての署名の証明書について、証明書管理テーブルから検証ステータスを取得する(S901)。そして、取得した証明書ステータスに一つでも無効があるか否かを判定する(S902)。無効の証明書ステータスがある場合は、証明書フラグをオフにして、証明書の検証を行わないように設定し(S905)、処理を終了する。
一方、取得した証明書ステータスに無効がない場合、文書検証装置1002は、すべての証明書ステータスが有効か否かを判定する(S903)。すべての証明書ステータスが有効の場合は、証明書フラグをオンにして、かつ、証明書を検証しないように設定し(S906)、処理を終了する。
また、証明書ステータスに未検証が含まれる場合、文書検証装置1002は、証明書フラグをオンにして、かつ、未検証の証明書の検証を設定し(S904)、処理を終了する。
上記では、証明書ステータスの有効、無効を判定しているが、証明書の有効性については、証明書の検証時点から証明書管理テーブルから証明書ステータスを取得するまでのタイムラグによって、必ずしも、証明書の有効性を証明することができない場合がある。その点を考慮して、証明書ステータスの有効については判定せずに、無効だけを判定するようにしてもよい。つまり、図13において、ステップS902の判定で証明書ステータスに無効がない場合は、ステップS903を実行せず、ステップS904で証明書フラグをオンにして処理を終了すればよい。勿論、証明書管理テーブルに、証明書の検証時刻を記録して、所定時間内であれば証明書ステータスの有効を利用する方法もある。
図14は証明書の検証要否を判定する具体例を示す図である。
判定開始前の証明書管理テーブルの状態は図2であり、電子文書M、電子文書Xの順番に検証するとする。その他の電子文書の検証は、電子文書X以後に行われるものとし、ここでは言及しない。
電子文書Mは、証明書管理テーブルから、証明書Aだけを用いることが分かり、その証明書ステータスは未検証である(図2)。従って、文書検証装置1002は、電子文書Mの検証処理において証明書Aの検証を行う。証明書Aの検証結果が無効だとすると、文書検証装置1002は、証明書管理テーブルを図14に示す状態に更新する。
次に、文書管理装置1002は、電子文書Xを検証する。電子文書Xは、証明書管理テーブルから、証明書AとDを用いることが分かる。この時点で、証明書Aの証明書ステータスは無効である(図14)から、電子文書Xの検証について証明書フラグをオフにして、証明書の検証を行わないようにする。
このように、電子文書の検証過程で証明書管理テーブルを更新すれば、電子文書の検証開始前に証明書の検証要否を判定することができる。その結果、不要な証明書の検証処理を省くことができ、大量文書の検証時間を削減することができる。
文書管理システムの構成例を示す図、 証明書管理テーブルの構成例を示す図、 文書登録装置が電子文書を取得し、文書管理サーバに登録する処理を説明するフローチャート、 電子文書の登録処理における初期ダイアログの一例を示す図、 電子文書の登録処理におけるスキャンダイアログの一例を示す図、 電子文書の登録処理における継続ダイアログの一例を示す図、 電子文書の登録処理におけるプレビューダイアログの一例を示す図、 電子文書の登録処理におけるインポートダイアログの一例を示す図、 電子文書の登録処理におけるファイル選択ダイアログの一例を示す図、 電子文書の登録処理における処理状況表示ダイアログの一例を示す図、 文書登録装置が電子文書に署名を付加して文書管理サーバに登録する処理を示すフローチャート、 証明書の有効性の確認処理の詳細を示すフローチャート、 署名の付加処理を説明するフローチャート、 タイムスタンプ署名の付加処理を説明するフローチャート、 オリジナルの電子文書とハッシュ値の計算対象の関係を示す図、 文書検証装置による、文書管理サーバに登録された電子文書の検証処理を説明するフローチャート、 電子文書の検証処理における初期ダイアログの一例を示す図、 電子文書の検証処理における検索条件設定ダイアログの一例を示す図、 電子文書の検証処理における検索結果ダイアログの一例を示す図、 電子文書の検証処理における検証結果ダイアログの一例を示す図、 検証処理の詳細を示すフローチャート、 n番目の署名の検証処理の詳細を示すフローチャート、 検証結果の統合処理の詳細を示すフローチャート、 オリジナル文書、署名、編集情報の関係を説明する図、 図9Cに示す検証結果ダイアログの詳細を示す図、 証明書の検証要否の判定を示すフローチャート、 証明書の検証要否を判定する具体例を示す図である。

Claims (10)

  1. 電子文書に付加された第一の署名を検証する第一の検証手段と、
    前記第一の署名より前に前記電子文書に付加された第二の署名を、前記第一の検証手段の検証後に検証する第二の検証手段と、
    前記第一の検証手段および前記第二の検証手段の検証結果を用いて、前記電子文書に対する検証結果を決定する検証統合手段とを有し、
    前記第二の検証手段は、前記第一の検証手段が前記第一の署名の付加後に前記電子文書に対する編集が行われたと判断した場合、前記第二の署名の付加後に前記電子文書に対する編集が行われたか否かの判断処理を行わないことを特徴とする文書検証装置。
  2. 前記第二の検証手段は、前記第一の検証手段が前記第一の署名の付加後に前記電子文書に対する編集が行われたと判断した場合、前記編集に関する判断処理を行わないものの、前記第二の署名の付加後に前記電子文書に対する改竄が行われたか否かの判断処理を行うことを特徴とする請求項1に記載された文書検証装置。
  3. 電子文書に付加された第一の署名を検証する第一の検証手段と、
    前記第一の署名より前に前記電子文書に付加された第二の署名を、前記第一の検証手段の検証後に検証する第二の検証手段と、
    前記第一の検証手段および前記第二の検証手段の検証結果を用いて、前記電子文書に対する検証結果を決定する検証統合手段とを有し、
    前記第一の検証手段は、前記第一の署名の付加後に前記電子文書に対する編集が行われたか否かを前記第一の署名を用いて判断し、かつ、前記第一の署名の付加後に前記電子文書に対する改竄が行われたか否かを前記第一の署名を用いて判断することで、前記第一の署名を検証し、
    前記第二の検証手段は、前記第二の署名の付加後に前記電子文書に対する編集が行われたか否かを前記第二の署名を用いて判断し、かつ、前記第二の署名の付加後に前記電子文書に対する改竄が行われたか否かを前記第二の署名を用いて判断することで、前記第二の署名を検証し、
    前記第二の検証手段は、前記第一の検証手段が前記第一の署名の付加後に前記電子文書に対する編集が行われたと判断した場合、前記第二の署名の付加後に前記電子文書に対する編集が行われたか否かの判断処理を行わないことを特徴とする文書検証装置。
  4. 電子文書に付加された第一の電子署名と、前記第一の電子署名よりも後に付加された第二の電子署名の有効性を確認し、当該確認結果に基づき、前記電子文書を検証する文書検証装置であって、
    電子署名の付加後に前記電子文書に対する編集が行われたか否かを判定する判定手段と、
    前記判定手段により、前記第二の電子署名の付加後に編集が行われたと判定された場合は、前記第一の電子署名の付加後の編集を前記判定手段に判定させることなく、前記電子文書の検証結果を出力し、前記判定手段により、前記第二の電子署名の付加後に編集が行われていないと判定された場合は、前記第一の電子署名の付加後の編集を前記判定手段に判定させて、当該判定結果に基づき前記電子文書の検証結果を出力する出力手段とを有することを特徴とする文書検証装置。
  5. 第一の電子文書が含む電子署名を検証して、前記第一の電子文書の検証結果を生成する検証手段と、
    第二の電子文書に、前記第一の検証手段が検証した電子署名と同一の電子署名が含まれるか否かを判定する判定手段と、
    前記判定手段により、前記第二の電子文書が同一の電子署名を含むと判定された場合、前記同一の電子署名について検証を行わずに、前記第二の電子文書の検証結果を生成する第二の検証手段とを有することを特徴とする文書検証装置。
  6. 前記第二の検証手段は、前記判定手段により、前記第二の電子文書が同一の電子署名を含むと判定された場合、前記第一の電子文書が含む電子署名の検証結果を用いて、前記第二の電子文書の検証結果を生成することを特徴とする請求項5に記載された文書検証装置。
  7. 情報処理装置を制御して、電子文書に付加された第一の電子署名と、前記第一の電子署名よりも後に付加された第二の電子署名の有効性を確認し、当該確認結果に基づき、前記電子文書を検証する文書検証方法であって、
    電子署名の付加後に前記電子文書に対する編集が行われたか否かを判定する判定ステップと、
    前記判定ステップで、前記第二の電子署名の付加後に編集が行われたと判定した場合は、前記第一の電子署名の付加後の編集を前記判定ステップで判定することなく、前記電子文書の検証結果を出力する第一の出力ステップと、
    前記判定ステップで、前記第二の電子署名の付加後に編集が行われていないと判定した場合は、前記第一の電子署名の付加後の編集を前記判定ステップで判定して、当該判定結果に基づき前記電子文書の検証結果を出力する第二の出力ステップとを有することを特徴とする文書検証方法。
  8. 情報処理装置を制御して、電子文書を検証する文書検証方法であって、
    第一の電子文書が含む電子署名を検証して、前記第一の電子文書の検証結果を生成する検証ステップと、
    第二の電子文書に、前記第一の検証手段が検証した電子署名と同一の電子署名が含まれるか否かを判定する判定ステップと、
    前記判定ステップで、前記第二の電子文書が同一の電子署名を含むと判定した場合、前記同一の電子署名について検証を行わずに、前記第二の電子文書の検証結果を生成する第二の検証ステップとを有することを特徴とする文書検証方法。
  9. 情報処理装置を制御して、請求項7または請求項8に記載された電子文書の検証処理を実現することを特徴とするコンピュータプログラム。
  10. 請求項9に記載されたコンピュータプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記憶媒体。
JP2006314811A 2006-11-21 2006-11-21 文書検証装置 Expired - Fee Related JP4455571B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006314811A JP4455571B2 (ja) 2006-11-21 2006-11-21 文書検証装置
US11/836,367 US8375216B2 (en) 2006-11-21 2007-08-09 Document verification apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006314811A JP4455571B2 (ja) 2006-11-21 2006-11-21 文書検証装置

Publications (2)

Publication Number Publication Date
JP2008131400A true JP2008131400A (ja) 2008-06-05
JP4455571B2 JP4455571B2 (ja) 2010-04-21

Family

ID=39418275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006314811A Expired - Fee Related JP4455571B2 (ja) 2006-11-21 2006-11-21 文書検証装置

Country Status (2)

Country Link
US (1) US8375216B2 (ja)
JP (1) JP4455571B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101007521B1 (ko) * 2008-07-23 2011-01-18 (주)에스알파트너즈 전문가의 전자서명을 이용한 문서 인증 시스템 및 방법
US9563616B2 (en) 2008-11-07 2017-02-07 Workiva Inc. Method and system for generating and utilizing persistent electronic tick marks and use of electronic support binders
US8375291B2 (en) * 2008-11-07 2013-02-12 Web Filings, Inc. Method and system for generating and utilizing persistent electronic tick marks
US8306729B2 (en) * 2009-10-13 2012-11-06 Telenav, Inc. Navigation system with user generated content mechanism and method of operation thereof
GB2512373A (en) * 2013-03-28 2014-10-01 Thunderhead Ltd Document tamper detection
CN108140099B (zh) 2015-10-02 2019-11-19 谷歌有限责任公司 在二进制数据同步协议中交换的更新的签名
US11132685B1 (en) * 2020-04-15 2021-09-28 Capital One Services, Llc Systems and methods for automated identity verification
JP2022092105A (ja) * 2020-12-10 2022-06-22 富士通株式会社 情報処理プログラム、情報処理方法、情報処理装置および情報処理システム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475205A (en) * 1994-06-22 1995-12-12 Scientific Games Inc. Document verification system
US7904722B2 (en) * 1994-07-19 2011-03-08 Certco, Llc Method for securely using digital signatures in a commercial cryptographic system
US5544255A (en) * 1994-08-31 1996-08-06 Peripheral Vision Limited Method and system for the capture, storage, transport and authentication of handwritten signatures
US5606609A (en) * 1994-09-19 1997-02-25 Scientific-Atlanta Electronic document verification system and method
US6948069B1 (en) * 1999-07-02 2005-09-20 Time Certain, Llc Method and system for determining and maintaining trust in digital image files with certifiable time
JP3725384B2 (ja) * 1999-11-24 2005-12-07 富士通株式会社 認証装置、認証方法及びその装置での処理をコンピュータに行なわせるためのプログラムを格納した記憶媒体
US7069443B2 (en) * 2000-06-06 2006-06-27 Ingeo Systems, Inc. Creating and verifying electronic documents
US6928548B1 (en) * 2000-09-29 2005-08-09 Intel Corporation System and method for verifying the integrity of stored information within an electronic device
US7051206B1 (en) * 2000-11-07 2006-05-23 Unisys Corporation Self-authentication of value documents using digital signatures
JP3899808B2 (ja) * 2000-12-07 2007-03-28 株式会社日立製作所 ディジタル署名生成方法およびディジタル署名検証方法
US20030028774A1 (en) * 2001-08-06 2003-02-06 Meka Anil Kumar Ensuring the integrity of an electronic document
JP3893970B2 (ja) * 2001-12-28 2007-03-14 キヤノン株式会社 画像検証システムおよび画像検証装置
JP3948964B2 (ja) 2002-01-23 2007-07-25 大日本印刷株式会社 電子文書処理装置及びコンピュータプログラム
US20030188180A1 (en) * 2002-03-28 2003-10-02 Overney Gregor T. Secure file verification station for ensuring data integrity
JP2004180278A (ja) * 2002-11-15 2004-06-24 Canon Inc 情報処理装置、サーバ装置、電子データ管理システム、情報処理システム、情報処理方法、コンピュータプログラム及びコンピュータ読み取り可能な記憶媒体
JP4298365B2 (ja) * 2003-04-25 2009-07-15 キヤノン株式会社 画像処理装置、コンピュータプログラムおよびコンピュータ読み取り可能な記録媒体
US7451321B2 (en) * 2003-10-07 2008-11-11 Joseph Ernest Dryer Electronic signature management method
US7502934B2 (en) * 2003-12-16 2009-03-10 Sap Aktiengesellschaft Electronic signatures
US7523315B2 (en) * 2003-12-22 2009-04-21 Ingeo Systems, Llc Method and process for creating an electronically signed document
US20050166052A1 (en) * 2004-01-24 2005-07-28 Ron Khormaei Methods and apparatus to authenticate a document
JP2005303657A (ja) 2004-04-12 2005-10-27 Dainippon Printing Co Ltd 電子署名システム及びプログラム
JP2006235885A (ja) 2005-02-23 2006-09-07 Ricoh Co Ltd 文書電子化方法、文書電子化装置及び文書電子化プログラム
US8086859B2 (en) * 2006-03-02 2011-12-27 Microsoft Corporation Generation of electronic signatures
US7590852B2 (en) * 2006-07-25 2009-09-15 Jesse Andrew Hatter Method for remote electronic verification and authentication and screening of potential signatories for remote electronic notary transactions via remote PC encrypted platform to a broadband digitally wireless cellular/PDA device or portable PC device

Also Published As

Publication number Publication date
US8375216B2 (en) 2013-02-12
JP4455571B2 (ja) 2010-04-21
US20080120505A1 (en) 2008-05-22

Similar Documents

Publication Publication Date Title
JP4208912B2 (ja) 文書検証装置およびその方法
JP4455571B2 (ja) 文書検証装置
JP4290179B2 (ja) 署名検証装置、及び、その制御方法、プログラム、記憶媒体
JP4844281B2 (ja) ドキュメント管理装置及びプログラム
US8621222B1 (en) Archiving electronic content having digital signatures
US8108669B2 (en) Image forming apparatus for generating electronic signature
JP2006135465A (ja) 文書管理装置、および文書管理方法、並びにコンピュータ・プログラム
JP4093723B2 (ja) 構造を持った文書に対する電子署名方法及び装置
JP2007110180A (ja) 署名履歴保管装置、署名履歴保管方法およびそのプログラム
US20140075200A1 (en) Method for managing electronic file and electronic file management apparatus
JP2007304982A (ja) 電子文書管理装置、電子文書管理方法、及びコンピュータプログラム
JP2006325146A (ja) 文書登録支援装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP5043527B2 (ja) 文書検証方法、文書検証装置、文書検証プログラム、および文書検証プログラムを記憶した記憶媒体
JP5533380B2 (ja) 情報処理プログラム及び情報処理装置
JP2009026076A (ja) 文書管理システム
JP2010081154A (ja) 情報処理装置、プログラム、及び情報処理システム
WO2004068350A1 (ja) データ改ざん検出方法、データ改ざん検出装置及びデータ改ざん検出プログラム
JP2006159896A (ja) 印刷装置、印刷システム、署名検証方法、及びプログラム
JP2009020618A (ja) 文書情報編集装置、文書情報編集方法、文書情報編集プログラム及び記録媒体
JP2007150447A (ja) 電子文書管理装置および電子文書管理プログラム
JP2013069283A (ja) 文書管理装置
JP2008113165A (ja) 情報処理装置、情報処理プログラム、及び情報処理システム
JP2018061161A (ja) 情報処理装置、情報処理方法及びプログラム
JP2018007215A (ja) 情報処理装置とその制御方法、及びプログラム
CN116244695A (zh) 信息处理系统、装置、方法以及存储介质和计算机装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100201

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100203

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140212

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees