JP4290179B2 - 署名検証装置、及び、その制御方法、プログラム、記憶媒体 - Google Patents

署名検証装置、及び、その制御方法、プログラム、記憶媒体 Download PDF

Info

Publication number
JP4290179B2
JP4290179B2 JP2006166201A JP2006166201A JP4290179B2 JP 4290179 B2 JP4290179 B2 JP 4290179B2 JP 2006166201 A JP2006166201 A JP 2006166201A JP 2006166201 A JP2006166201 A JP 2006166201A JP 4290179 B2 JP4290179 B2 JP 4290179B2
Authority
JP
Japan
Prior art keywords
signature
document file
type
document
verification
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.)
Active
Application number
JP2006166201A
Other languages
English (en)
Other versions
JP2007334658A5 (ja
JP2007334658A (ja
Inventor
伸治 戸高
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 JP2006166201A priority Critical patent/JP4290179B2/ja
Priority to US11/755,308 priority patent/US20100023773A1/en
Publication of JP2007334658A publication Critical patent/JP2007334658A/ja
Publication of JP2007334658A5 publication Critical patent/JP2007334658A5/ja
Application granted granted Critical
Publication of JP4290179B2 publication Critical patent/JP4290179B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • 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
    • H04L9/3268Cryptographic 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 using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Description

本発明は、署名検証装置、及び、それらの制御方法、プログラム、記憶媒体に関する。
情報化社会の進展とともに、ワードプロセッサ等で作成された電子データや紙文書を、複写機等でスキャンすることで電子化して文書管理システムなどに保存することが行われてきた。
近年では、セキュリティの意識が高まり、このような電子文書に対して、電子署名やタイムスタンプ署名によって、電子文書の存在証明を行うようになってきた。
また、1つの文書に付与される署名は1つとは限らずに、複数の電子署名や複数のタイムスタンプ署名が付与されるような文書も存在し、それらの文書内の署名を一括して検証するような技術が利用され始めている。もちろん、署名を検証する場合、署名を付与するのに使用した証明書の有効性を確認する必要がある。
特開2003−046499
ところで、外部の全く異なるシステムで文書ファイルに付与された署名については、その証明書の有効性を確認する際に以下のような問題がある。
こうした外部システムの付与した署名に含まれる証明書を信頼できない場合が多い。なぜなら、例えば、その証明書を発行した証明書サーバが失効した証明書の一覧であるCRL(Certificate Revocation List)を、その証明書サーバが逐次更新しているかどうかはわからないからである。
特許文献1は、外部であるか内部であるかを意識することなく、署名の検証を行っている。このような方式で署名の検証を行うと、外部で付与した署名については、そこで発行された証明書の確認処理ができる場合を除いて、一律無効という検証結果が得られることになる。
従って、外部で付与された署名を含む文書ファイルの大部分は、無効と判定されてしまう課題が存在する。
本発明は、上述した課題を解決するためになされたものであり、より柔軟に各署名の検証を行うところにある。
上記課題を解決するために、本署名検証装置は以下の構成を有する。
即ち、署名の種類を判定するために用いられる情報が署名付与装置により付与された文書ファイルに付与されている署名の種類を判定する判定手段と、
前記判定手段で署名の種類が第1の種類であると判定された場合には、前記文書ファイル内の署名に含まれる証明書が有効であるか確認し、さらに前記署名に基づいて前記文書ファイルに対する改竄の検知を行い、当該確認と当該検知の結果に基づいて、前記署名が有効であるか否かを示す検証結果を生成する第1の生成手段と、
前記判定手段で署名の種類が第2の種類であると判定された場合には、前記文書ファイル内の署名に含まれる証明書が有効であるか確認を行うことなく、前記署名に基づいて前記文書ファイルに対する改竄の検知を行い、当該検知の結果に基づいて、前記署名が有効であるか否かを示す検証結果を生成する第2の生成手段とを有する。
本発明により、より柔軟な各署名の検証を行うことができる。
(実施例1)
以下、本発明の実施例1について図面を参照して詳細に説明する。
<図1・・・本明細書で開示するシステムの構成>
図1を用いて、本明細書で開示するシステムの構成について説明を行う。
文書管理サーバ1003は、各種文書ファイルを記憶している。この文書管理サーバ1003は、記憶している文書ファイルの中から所望の文書ファイルを適宜、検索することができるようになっている。
文書登録装置1001は、文書ファイルに署名を付与した上で新たな文書ファイルを作成する。そして、この新たな文書ファイルを上記文書管理サーバ1003に対して送信し、文書管理サーバ1003に記憶させる。このように、「文書登録装置1001が文書管理サーバ1003に文書ファイルを記憶させる」ことを、以下では、「文書登録装置1001が文書管理サーバ1003に文書ファイルを登録する」と称する。
文書検証装置1002は、文書管理サーバ1003に記憶されている文書ファイルを取出して、当該取出された文書ファイル内に存在する署名を検証する。
これら文書管理サーバ1003、文書登録装置1001、文書検証装置1002は、夫々、各装置が具備する不図示のCPUにより統括的に制御される。
なお、本明細書において「電子署名」も「タイムスタンプ署名」も、「署名」の一種であるものとする。そのため、本明細書における「署名を付与する」という表現は、「電子署名を付与する」こと、又は、「タイムスタンプ署名を付与する」こと、又は「電子署名とタイムスタンプ署名との両方を付与する」ことの何れかを指す表現であるものとする。
文書登録装置1001は、スキャナ1004と接続されTWAIN経由でJPEG形式の文書ファイルを取り込む機能を有する。さらに、この文書登録装置1001は、共有記憶装置1006内の文書ファイルを取り込むことも可能となっている。この共有記憶装置1006は、例えば、インターネット1007経由でメール送信されてきた文書ファイルや、マルチファンクション機1005(以下では、MFP1005と称する)からSMBやFTP送信機能で送信されてきた文書ファイルを記憶している。共有記憶装置1006内に記憶されているこれらの文書ファイルには、署名が未だ付与されていない文書ファイルや、予め他の装置で署名が付与されてしまっている文書ファイルが存在する。本発明の一番の特徴は、文書管理サーバ内で付与される署名と、他の装置で既に付与されてしまっている署名とで、検証処理を異ならせるところにある。
また、本図1では、文書登録装置1001、文書検証装置1002がそれぞれ別の装置であるものとして説明を行ったが、双方の装置の機能を持った一つの装置が存在したとしても問題はない。
<図2・・・文書登録装置1001が文書ファイルを取り込んで、署名を付与して、文書管理サーバ1003に登録する処理を実行する際のダイアログの遷移>
図2は、文書登録装置1001が文書ファイルを取り込んで、文書管理サーバ1003に登録する処理を実行する際に、この文書登録装置1001に接続されている表示部に表示されるダイアログの遷移を表している。ダイアログ2000は、文書登録装置1001に接続されている表示部に表示される初期ダイアログである。ユーザは、文書登録装置1001に接続されているキーボードやマウスを利用して、ダイアログ2000上で「SCAN」か「FILE」のうちどちらか一方を選択することができる。もし、ユーザが「SCAN」を選択すると、スキャンにより文書ファイルを文書登録装置1001内に取り込むことを選択したことになる。もし、ユーザが「FILE」を選択すると、共有記憶装置1006内に記憶されている文書ファイルを文書登録装置1001内に取り込むことを選択したことになる。なお、ダイアログ2001は、ユーザがダイアログ2000上で「FILE」を選択した際に表示部に表示されるダイアログである。
ここで、ユーザが「SCAN」を選択し、ダイアログ2000上で「開始」を選択したと仮定する。すると、スキャン時の各種設定をユーザに選択させるためのスキャンダイアログ2002が表示部に表示される。
このスキャンダイアログ2002上で、ユーザがカラーモードや解像度等の選択を行った後、スキャンダイアログ2002内のスキャンボタン2011を選択すると、スキャナ1004はスキャンを開始する。さらに、このスキャナ1004は、スキャン画像形式の文書ファイル(BMP,TIFF形式)を一旦、文書登録装置1001に対して送信する。すると、文書登録装置1001は、受信したスキャン画像形式の文書ファイルを、文書登録装置1001内の所定の記憶手段に記憶させる。その後、文書管理装置1001は、継続スキャンを行うかどうかをユーザに選択させるための継続スキャンダイアログ2004を表示部に表示する。
継続スキャンダイアログ2004上でユーザが「はい」を選択すると、文書登録装置1001は、表示部にスキャンダイアログ2002を表示する。また、継続スキャンダイアログ2004上でユーザが「いいえ」を選択すると、文書登録装置1001は、上記受信したスキャン画像形式の文書ファイルをPDFに変換して、PDF形式の文書ファイルを生成する。生成が終了すると、文書登録装置1001は、表示部にプレビューダイアログ2006を表示する。
プレビューダイアログ2006は、PDF形式の文書ファイルを表示部にプレビュー表示するためのダイアログである。ユーザは、PDF形式の文書ファイルに付与するためのインデックス情報の入力などを、このプレビューダイアログ2006上で行う。インデックス情報の入力などが終了した時点で、ユーザがプレビューダイアログ2006上で「実行」を選択すると、文書登録装置1001は、上記PDF形式の文書ファイルに対して署名を付与して、新たな文書ファイルを生成する。そして、文書登録装置1001は、この新たに生成された文書ファイルを文書管理サーバ1003に登録する。このように、本実施例では、文書ファイルを文書管理サーバ1003に登録する前に、必ず、文書登録装置1001が、その文書ファイルに電子署名及びタイムスタンプ署名を付与するものとする。さらに、この時、本文書登録装置1001は、入力オプション情報(一種の識別情報)を含む電子署名を付与している。なお、文書管理サーバ1003へ文書ファイルを登録する直前に本文書登録装置1001が付与する電子署名のみが、この入力オプション情報を含んでいる。その後、システム内部で、さらに文書ファイルに電子署名やタイムスタンプ署名が付与されたり更新されたりすることがあっても、入力オプション情報が新たに付与されることはない。これは、内部で付与された署名であるか外部で付与された署名であるかを最新の入力オプション情報に基づいて判断する文書検証装置1002を、混乱させないためである。
本実施例では、後述するように、最新の入力オプション情報を含む署名より後の署名については、本文書登録装置1001や文書管理サーバ1003や文書検証装置1002を含むシステム内で付けられた署名であると認識している。このように、最新の入力オプション情報に基づいて、内部で付与された署名であるか外部で付与された署名であるかを識別可能になっている。
もちろん、内部で付与された署名であるか外部で付与された署名であるかについては、署名に含まれている証明書内の後述する「署名付与装置固有の情報」を見ればわかる。そういう意味では、入力オプション情報を付与する意義は無い。しかし、「署名付与装置固有の情報」を見る方法だと、外部で付与された署名であるか内部で付与された署名であるかを判断するにあたって、全ての署名の中身を見る必要がある。
一方、入力オプション情報を付与しておくと、最新の入力オプション情報を見つけた時点より後の署名については、入力オプション情報が存在するか否かを判断するにあたって、署名の中身を見る必要がない。
なお、ここで入力オプション情報という言葉に「最新の」が含まれている理由について以下に簡単に説明する。
文書ファイルが本システム内部に入力され、いったん外部に出された上で、再度、本システム内部に戻ってきた場合を想定する。
このような場合、文書ファイルには、複数の入力オプション情報が付与されることになる。しかしながら、本文書検証装置は、一度、外部に出された文書ファイルについては、それが再度、内部に入力されるより前の状態は、信頼できるに足らない文書ファイルであると判断する。たとえ、署名が内部で付与されていたとしても、このように判断するように設計されている。
そのため、複数の入力オプション情報のうち、文書検証装置は、「最新の」入入力オプション情報のみを用いた処理を行う。
なお、文書管理サーバ1003に全ての文書ファイルが登録されるまでの間、文書登録装置1001は、現在の処理状況を示す処理状況表示ダイアログ2007を表示部に表示する。全ての文書ファイルが文書管理サーバ1003に登録される、文書登録装置1001は、処理状況表示ダイアログ2007を表示部から消すことになる。
一方、ユーザが「FILE」を選択し、ダイアログ2000上で「開始」を選択すると、取り込みたいファイルを選択するためのダイアログ2009が表示される。
ユーザが、このダイアログ2009で「追加」を選択した場合には、ユーザにイメージファイルを指定させるためのダイアログ2010を文書登録装置1001は表示部に表示する。この状態で、ユーザが任意のファイルを指定すると、文書登録装置1001は、再び、表示部にダイアログ2009を表示する。このダイアログ2009内の領域2012には、ユーザにより指定された文書ファイルの名称が列挙されている。
このダイアログ2009上でユーザが「OK」を選択すると、文書登録装置1001は、ダイアログ2009内の領域2012に列挙された各文書ファイルをPDF形式の文書ファイルに変換する。
<図3(a)・・・文書登録装置1001が文書ファイルに署名を付与して、文書管理サーバ1003に登録する処理>
図3(a)は、文書登録装置1001が文書ファイルに署名を付与した上で文書管理サーバ1003に登録する際に実行される処理のフローを示す。本処理フローにおける各処理を実行する文書登録装置1001は、この文書登録装置1001が有する不図示のCPUにより統括的に制御される。
なお、本フローチャートでの各処理が実行される前には必ず、予め文書登録装置1001内の記憶手段に、ハッシュ関数と、秘密鍵と、当該秘密鍵に対応する証明書とが記憶されているものとする。これらのハッシュ関数、秘密鍵、証明書は、電子署名に用いられるものであって、タイムスタンプ署名に用いられるものではない。タイムスタンプ署名に用いられる各情報(ハッシュ関数、秘密鍵、証明書)は、文書登録装置1001内ではなく、タイムスタンプサーバ1008内に記憶されている。
なお、上記電子署名に用いられる証明書には、公開鍵が含まれている。また、上記電子署名に用いられる証明書には、上記電子署名に用いられる証明書のシリアル番号や、上記電子署名に用いられる証明書の有効期間や電子署名を行う署名付与装置固有の情報などの情報が記載されているものとする。なお、署名付与装置固有の情報とは、例えば、文書登録装置1001自体のIPアドレスや名称などである。
ステップ3001では、文書登録装置1001は、電子署名に用いようとしている証明書(以下では、電子署名に用いようとしているこの証明書を、対象証明書と称する)の有効性を確認する。なお、この対象証明書に対する有効性の確認処理の詳細は、図3(b)を用いて後述する。
ステップ3002では、ステップ3001で対象証明書が有効であることが確認された場合には、ステップ3003へ進み、無効であることが確認された場合には、本フローチャートにおける処理を終了する。
ステップ3003では、文書登録装置1001は、有効であることが確認された対象証明書を用いて、文書ファイルに対して電子署名を付与することで、新たな文書ファイルを作成する。この電子署名を付与する処理の詳細は、図3(c)を用いて後述する。
ステップ3004では、文書登録装置1001は、ステップ3003で生成された文書ファイルに対してタイムスタンプ署名を付与することで、さらに新たな文書ファイルを生成する。このタイムスタンプ署名を付与する処理の詳細は、図3(d)を用いて後述する。
ステップ3005では、文書登録装置1001は、ステップ3004で生成された文書ファイルを文書管理サーバ1003に登録する。なお、本実施例では、文書ファイルに電子署名やタイムスタンプ署名を付与して、新たな文書ファイルを生成するものとして説明を行っているが、必ずしも新たな文書ファイルを生成しなくてもよい。例えば、署名付与前の文書ファイルと電子署名とタイムスタンプ署名とを別ファイルのまま夫々関連付けた状態で登録するようにしてもよい。
もちろん、3003の処理(電子署名の付与処理)、3004の処理(タイムスタンプ署名の付与処理)、又は3005の処理(文書ファイル等の登録処理)の最中に失敗した場合には、適切なエラー処理が行われているものとする。
<図3(b)・・・電子署名に用いる証明書の有効性の確認処理>
続いて、ステップ3001の処理(電子署名に用いる証明書の有効性の確認処理)について、詳細に説明する。
ステップ3101では、文書登録装置1001は、対象証明書の発行元を判断する。さらに、この文書登録装置1001は、その発行元が信頼できる証明書サーバ(認証局)であるか否かについて確認を行う。なお、どのサーバが信頼できるのかについては、文書管理サーバ1003内のオペレーティングシステムに予め登録されているものとする。信頼できることが確認された場合には、ステップ3102へ進む。信頼できないことが確認された場合には、ステップ3106へ進み、対象証明書の状態を無効とする。なお、本明細書では、特に断ることの無い限り、証明書サーバ1009は信頼できる証明書サーバであるものとして説明を行う。同じく、特に断ることの無い限り、各証明書を発行する発行元は、この証明書サーバ1009であるものとして説明を行う。
ステップ3102では、文書登録装置1001は、対象証明書に記載されている有効期間が、切れているか否かについて確認を行う。有効期間が切れている場合には、ステップ3106へ進み、対象証明書の状態を無効とする。有効期間内であれば、ステップ3103へ進む。
ステップ3103では、文書登録装置1001は、失効した証明書の一覧であるCRL(Certificate Revocation List)を、対象証明書の発行元である証明書サーバ1009から取得する。
ステップ3104では、文書登録装置1001は、対象証明書が上記CRLに含まれているかを確認する。含まれている場合には、対象証明書は失効してしまっているためステップ3106へ進み、対象証明書の状態を無効とする。含まれていない場合には、3105へ進み、対象証明書の状態を有効とする。
<図3(c)・・・電子署名の付与処理>
続いて、ステップ3003の処理(電子署名の付与処理)について、図6(c)を用いて詳細に説明する。
ステップ3201では、文書登録装置1001は、文書ファイルのハッシュ値を計算する。ハッシュ値を計算する際に使用するハッシュ関数は、例えば、MD5やSHA−1などの公知の技術となっている。
なお、ステップ3201の時点で既に、文書ファイルに対して署名(タイムスタンプ署名や電子署名)が含まれていた場合には、その署名も含めてハッシュ値を求める。このことについて、図4(a)〜図4(e)を用いて説明する。
図4(a)に示す文書ファイルは、オリジナル文書4001だけ(署名が付与されていない)を含んでいる。この文書ファイルに対して電子署名を付与する際には、オリジナル文書4001だけがハッシュ値計算の対象となる。なお、この図4(a)に示す文書ファイルに対して、図3(a)に示される各処理を文書登録装置1001が行って電子署名(署名1)を付与すると、図4(b)に示す文書ファイルが生成されることになる。
図4(b)に示す文書ファイルは、オリジナル文書4001と電子署名1とを含んでいる。この文書ファイルに対して、さらに電子署名を付与する際には、オリジナル文書4001と最初の署名1の両方がハッシュ値計算の対象となる。なお、この図4(b)に示す文書ファイルに対して、図3(a)に示される各処理を文書登録装置1001が行って電子署名(署名2)を付与すると、図4(c)に示す文書ファイルが生成されることになる。
図4(c)に示す文書ファイルは、オリジナル文書4001と、署名1(4002)と、署名2(4003)とを含んでいる。
ステップ3202では、文書登録装置1001は、対象証明書に含まれる秘密鍵で、ステップ3201で計算したハッシュ値を暗号化する。
ステップ3203では、文書登録装置1001は、暗号化後のハッシュ値と対象証明書とを含む電子署名を生成する。ここでの電子署名の形式としては、例えばPKCS#7やアドビシステムズ社のPDF署名などがある。なお、文書登録装置1001は、文書ファイルが文書管理サーバ1003に対して登録されるであろうことを示す情報や、電子署名の生成時刻をさらに含むようにして電子署名の生成を行ってもよい。
ステップ3204ではステップ3203で生成した電子署名を文書ファイルに付与して、新たな文書ファイルを生成する。付与する方法として、本実施例では、電子署名と元の文書ファイルという二つのファイルを結合して、新たな文書ファイルという一つのファイルを生成するものとして説明を行う。しかしながら、本実施例では、この方法に限られることは無い。例えば、電子署名と元の文書ファイルという二つのファイルを夫々関連付けておくだけで、実際に二つのファイルを結合していなくてもよい。
<図3(d)・・・タイムスタンプ署名の付与処理>
続いて、ステップ3004の処理(タイムスタンプ署名の付与処理)について、詳細に説明する。
ステップ3301では、文書登録装置1001は、(ステップ3003で電子署名が付与されて生成された)文書ファイルのハッシュ値を計算する。
なお、ステップ3003(電子署名を付与するステップ)で電子署名が付与される前の文書ファイルが、図4(a)に示すような、オリジナル文書4001だけを含む文書ファイルであったと仮定する。このような場合、ステップ3003では、図4(b)に示すような、オリジナル文書4001と署名1(4002)とを含む文書ファイルが生成されることになる。すると、このステップ3301では、オリジナル文書4001と署名1(4002)の両方を対象としてハッシュ値を計算することになる。
ステップ3302では、ステップ3301で計算されたハッシュ値をTSA1008(Time−Stamping Authority:タイムスタンプ局)に送信する。
TSA1008は、ハッシュ値を受信すると、受信したハッシュ値をTSA1008固有の秘密鍵で暗号化する。そして、暗号化されたハッシュ値と現在時刻とを統合して統合情報を生成する。そして、この統合情報と、上記秘密鍵に対応する公開鍵を有する証明書とを含むようにしてタイムスタンプトークンを生成する。タイムスタンプトークンの生成が終わると、TSA1008は、そのタイムスタンプトークンを文書登録装置1001に対して返送する。
ステップ3303では、文書登録装置1001は、返送されたタイムスタンプトークンを受信する。
ステップ3304では、受信したタイムスタンプトークンと、その他必要な情報を含むようにタイムスタンプ署名を生成する。そして、生成されたタイムスタンプ署名を、(ステップ3003で電子署名が付与されて生成された)文書ファイルに付与して、新たな文書ファイルを生成する。なお、ステップ3204で説明したように、付与という言葉には、結合と関連付けが含まれる。
<図5・・・文書管理サーバ1003に登録されている文書ファイルを文書検証装置1002が検証する処理を実行する際に、この文書検証装置1002の表示部に表示されるダイアログの遷移>
図5は、文書検証装置1002が検証処理を実行する際に、文書検証装置1001に接続されている表示部に表示されるダイアログの遷移を表している。
ダイアログ5001は、文書管理サーバ1003内に署名が付与された状態で記憶されている文書ファイルの名前を表示するためのダイアログである。このダイアログは、文書検証装置1001がその表示部に表示する。
ダイアログ5002は、文書管理サーバ1003に登録されている文書ファイルから所望の文書ファイルを検索するための検索条件をユーザに選択させる際に、文書検証装置1001が表示する検索条件設定ダイアログである。
ユーザが、検索条件設定ダイアログ5002上で「閉じる」を選択すると、本フローチャートにおける処理を終了する。
ユーザが、検索条件設定ダイアログ5002上で検索条件を選択した上で「検索」を選択すると、文書検証装置1002は、その検索条件を文書管理サーバ1003に通知する。すると、文書管理サーバ1003は、文書管理サーバ1003内の文書を検索条件に従って検索する。この文書管理サーバ1003は、検索結果である複数の文書ファイルを文書検証装置1002に対して送信する。この文書検証装置1002は、検索結果を受信すると、その検索結果を検索結果ダイアログ5004の形式で表示部に表示する。
検索結果ダイアログ5004は、ユーザにより予め指定された件数の文書ファイル名を表示している。この検索結果ダイアログ5004上で「次へ/前へ」をユーザが選択すると、再度、文書管理サーバ1003で検索が行われ、その検索結果は検索結果ダイアログ5004の形式で文書検証装置1002の表示部に表示される。
検索結果ダイアログ5004上で、ユーザが「検証」を選択すると、文書検証装置1002は、検索結果である複数の文書ファイルを検証し、その検証結果を検証結果ダイアログ5006に表示する。ここで、この検証する処理については、図6(a)を用いて後述する。
なお、ユーザが検証結果ダイアログ5006上で「OK」を選択すると、検索結果ダイアログ5004に戻る。このダイアログ5004上には、各文書ファイルの名称と同じ行に、その各文書ファイルに対する検証の結果が新たに表示されている。
<図6(a)・・・文書管理サーバが検証対象文書ファイルを検証する処理>
図6(a)は、n個の署名を含む文書ファイルに対して、その文書ファイルの有効性を検証する際に実行される処理のフローを示す。本処理フローにおける各処理を実行する文書検証装置1002は、この文書検証装置1002が有するCPUにより統括的に制御される。
文書検証装置1002は、検証対象とする文書ファイルを決め、その文書ファイルに対する検証を開始する。なお、この検証対象とする文書ファイルのことを以下では、検証対象文書ファイルと称する。また、検証対象文書ファイルに対する検証の結果は、検証対象文書ファイルに含まれる各署名の「有効性」に基づいて判断される。
ステップ6001では、文書検証装置1002は、検証対象文書ファイルに含まれる署名の数をカウントし、その数をnに設定する。ここで、検証対象文書ファイルが含む署名は、古いものから順に連番が振られているものとする。例えば、図4(c)に示す文書ファイル内の署名1(4001)には番号1が、署名2(4002)には番号2が振られている。このように、古い署名から順に連番を振っておき、ステップ6003以降では、新しい書名から順に検証を行っていく。
ステップ6002では、文書検証装置1002は、検証方式の初期設定として方式1を設定する。
ステップ6003では、文書検証装置1002は、nが正数であるか確認する。nが0である(検証すべき署名が無い)場合には、文書検証装置1002は検証対象文書ファイルに対する検証処理を終了する。nが1以上である(検証すべき署名がある)場合には、ステップ6004に進む。
ステップ6004では、文書検証装置1002は検証方式に設定されている方式を確認する。その後、文書検証装置1002は検証方式に方式1が設定されていればステップ6005でn番目の署名検証処理1を行い、方式2が設定されていればステップ6006でn番目の署名検証処理2を行う。署名検証処理1の詳細については図6(b)を用いて後述する。署名検証処理2の詳細については図6(c)を用いて後述する。このステップ6004により、検証対象文書ファイル中の最新の署名に対しては、ステップ6002で設定されている方式1で検証が行われることは言うまでもない。このように、最新の署名に対して必ず方式1で検証を行うのは、文書ファイル内の最新の署名は必ず文書登録装置1001内で付与されたという前提があるからである。このことは、<図2・・・文書登録装置1001が文書ファイルを取り込んで、署名を付与して、文書管理サーバ1003に登録する処理を実行する際のダイアログの遷移>に記載されている。具体的には、「このように、本実施例では、文書ファイルを、この文書登録装置1001経由で文書管理サーバ1003に登録する前に、必ず、その文書ファイルに電子署名及びタイムスタンプ署名が付与されるものとする。」と記載されている。
ステップ6007では、n番目の署名に対する検証結果に基づいて、文書検証装置1002は、検証対象文書ファイルに対する検証結果を求める処理(この処理のことを以下では、検証結果統合処理と称する)を行う。この検証結果統合処理については、図6(d)を用いて後述する。その検証結果統合処理後の「検証結果」には、「有効である」と、「有効でない」場合があり、「有効でない」場合について、「証明書が有効でない」「編集が行われた」「改竄あり」の三種類が存在する。なお、「有効である」とは、文書ファイル内の全ての署名に対して、改竄が行われておらず、証明書が有効かつ署名後に編集が行われていないことを意味する。
ステップ6008では、文書検証装置1002はn番目の署名の種別判定を当該署名に入力オプション情報に基づいて行う。もし、このn番目の署名が入力オプション情報を含んでいる場合には、署名種別を「自装置以外でなされた署名」と決定する。次の段落では、このように決定する理由を説明する。
上述したように、入力オプション情報は、外部装置から文書登録装置1001に入力された時に文書登録装置1001が行う電子署名にのみ付与される。従って、入力オプション情報がn番目の署名に含まれていたとすると、n−1番目の署名(n番目の署名より一つ古い署名)は、この文書登録装置1001に入力される前の文書ファイルに付与された署名であるということができる。そのため、署名種別を「自装置以外でなされた署名」と判定する。
そのため、ステップ6008での署名種別判定処理は、一度、入力オプション情報が見つかると簡潔になる。一度、入力オプション情報を見つけてしまうと、入力オプション情報を参照するまでもなく「自装置以外でなされた署名」と判定すればよい。
ステップ6009では、文書検証装置1002はステップ6008の署名種別判定処理結果を判断する。署名が文書登録装置1001で付与されたものであると判断すると、文書検証装置1002は処理をステップ6010に進むことになる。
ステップ6010では、文書検証装置1002は検証方式を方式2に設定すし、処理を6011に進める。なお、本実施例では、図6(c)からもわかるように、一度方式2が設定された場合には、方式1に設定し直されることがない。そのため、検証対象文書ファイル内に、「自装置以外でなされた署名」と判定される署名が存在すると、当該存在する署名より以前に付与された署名については方式2での検証が行われ続けることになる。ステップ6011では、nから1を減じたものを新たなnとして、ステップ6003へ戻る。ここで、ステップ6003へ戻る時には、nを減じるものの、方式の設定(方式1又は方式2の設定)は継続するものとする。
このようにして、文書ファイルに含まれる全ての署名についての検証処理を行って、文書ファイルに対する最終的な検証結果を求める。なお、最終的な検証結果は、n=1の時にステップ6007(検証結果統合処理)で求められる検証結果と一致する。
<図6(b)・・・文書検証装置1002が検証対象文書ファイルに含まれるn番目の署名を方式1で検証する処理1>
検証対象文書ファイルに含まれるn番目の署名に対する検証処理について、図6(b)のフローチャートを用いて説明する。本処理フローにおける各処理を実行する文書検証装置1002は、この文書検証装置1002が有するCPUにより統括的に制御される。
本フローチャートを説明する前準備として、「改竄」「編集」という言葉についての定義を行う。
「改竄」とは、署名を含む文書ファイルを不正に変更する行為のことをいう。例えば、署名を含む文書ファイルをバイナリーフォーマットで開き、バイナリーデータを変更する(0のビットを1のビットに変更する)行為は、この「改竄」にあたる。
「編集」とは、署名を含む文書ファイルを不正でない方法で変更する行為のことをいう。例えば、署名を含む文書ファイルをPDFフォーマットで開き、このPDFデータに含まれるオリジナル文書に対して変更を加え、そして、どのような変更を加えたかを示す情報を文書ファイルに付与する行為は、「編集」にあたる。
言い換えるならば、「改竄」とは、「改竄」前の情報が失われるようにデータを変更する行為であり、「編集」とは、「編集」前の情報が失われないようにデータを変更する行為であるということができる。なお、上述した「どのような変更を加えたかという情報」のことを、本明細書では「編集情報」と称することにする。以上の内容について図4(c)と図4(d)を用いて説明する。図4(c)で示す文書ファイルに対して編集が加えられると、編集情報4004が追加されて図4(d)で示す文書ファイルが生成されることになる。
ステップ6101では、文書検証装置1002は、n番目の署名が行われた後からn+1番目の署名が行われる前までに検証対象文書ファイルに対する改竄が行われていないかどうか確認する。ただし、n番目の署名が検証対象文書ファイル内の最新の署名である場合には、このステップ6101で、文書検証装置1002は、n番目の署名が行われた後に検証対象文書ファイルに対する改竄が行われていないかどうかを確認することになる。このように、nが最新の署名の時には、当然n+1番目の署名が存在しないため、n+1番目を意識することなく改竄の確認が行われることになる。
n番目の署名が電子署名である場合に、このステップ6101における具体的な処理内容は以下のようになっている。まず、文書検証装置1002は、n番目の署名(電子署名)に含まれる証明書内の公開鍵を用いて、n番目の署名(電子署名)に含まれるハッシュ値を復号化する。さらに、この文書検証装置1002は、n番目の署名(電子署名)が付与される前の文書ファイルからハッシュ値を計算する。そして、この文書検証装置1002は、復号化されたハッシュ値と、計算されたハッシュ値との比較を行う。比較の結果、二つのハッシュ値が異なる値である場合には、文書検証装置1002は「改竄」が行われたと判定する。また、二つのハッシュ値が同じ値である場合には、文書検証装置1002は「改竄」が行われていないと判定する。
一方、n番目の署名がタイムスタンプ署名である場合に、このステップ7101における具体的な処理内容は以下のようになっている。
まず、文書検証装置1002は、n番目の署名(タイムスタンプ署名)に含まれる公開鍵を用いて、n番目の署名(タイムスタンプ署名)に含まれるタイムスタンプトークン内のハッシュ値を復号化する。さらに、この文書検証装置1002は、n番目の署名(タイムスタンプ署名)が付与される前の文書ファイルからハッシュ値を計算する。そして、この文書検証装置1002は、復号化されたハッシュ値と、計算されたハッシュ値との比較を行う。比較の結果、二つのハッシュ値が異なる値である場合には、文書検証装置1002は「改竄」が行われたと判定する。また、二つのハッシュ値が同じ値である場合には、文書検証装置1002は「改竄」が行われていないと判定する。
ステップ6102では、文書検証装置1002は、n番目の署名に含まれる証明書の有効性を確認する。
n番目の署名が電子署名である場合には、このステップ6101における具体的な処理内容は、図3(b)の証明書の確認処理と同様である。ただし、図3(b)では文書登録装置1001が処理を行うのに対して、本ステップでは各処理を文書検証装置1002が処理を行う。なお、図3(b)では、証明書の確認処理を行う時点で証明書の有効期間が切れている場合にはいつも証明書の状態を無効とする。これに対して、本ステップでは、たとえ証明書の確認処理を行う時点で証明書の有効期間が切れていても、有効期間が切れる前にタイムスタンプ署名が行われている場合には証明書の状態を有効とする。
n番目の署名がタイムスタンプ署名である場合には、このステップ6101における具体的な処理内容は、タイムスタンプ署名に含まれるタイムスタンプトークンに記載された有効期間に基づいて、このタイムスタンプ署名が有効であるかどうかの確認を行う。もちろん、電子署名の場合と同じで、有効期限が切れる前に、さらに新しいタイムスタンプ署名が行われている場合にはタイムスタンプ署名が有効とすることになる。
ステップ6103では、文書検証装置1002は、n番目の署名以降にオリジナル文書に対する編集が行われた否かの確認を行う。これは、検証対象文書ファイル内に編集情報が図4(d)のように含まれているかどうかに基づいて行う。
<図6(c)・・・文書検証装置1002が検証対象文書ファイルに含まれるn番目の署名を方式2で検証する処理2>
検証対象文書ファイルに含まれるn番目の署名に対する検証処理について、図6(c)のフローチャートを用いて説明する。本処理フローにおける各処理を実行する文書検証装置1002は、この文書検証装置1002が有するCPUにより統括的に制御される。
ステップ6201では、文書検証装置1002は、n番目の署名が行われた後からn+1番目の署名が行われる前までに検証対象文書ファイルに対する改竄が行われていないかどうか確認する。本処理は、図6(b)で説明したステップ6101の処理と同じである。このステップ6201の処理が終了すると、6(C)における処理を終了することになる。
このように、ステップ6006では、(図6(c)で行われる方式2の署名検証処理)は改竄の検知のみ行い、証明書の検証ならびに署名後の編集を確認しないで終了する。なお、方式2の簡略化された検証処理は、上述したように検証対象文書ファイル内に、上記文書登録装置1001以外の装置で付与された署名に対して行われる。また、当該存在する署名より以前に付与された署名についても方式2の簡略化された検証が行われることになる。
以上のように、図6(c)における署名検証処理2では、図6(b)における署名検証処理1と異なり、証明書確認処理を行っていない。これは、文書登録装置1001に入力される前に付与された署名に含まれる証明書は、その証明書が信頼できるサーバにより発行されたものであることが保証できないからである。
このことを言い換えると、どこか知らない所で勝手に付与された署名に対して、その署名に含まれる証明書の確認は本文書検証装置1002では行っていない。なぜなら、その証明書は、本当に信頼できる機関で発行されたかどうかわからない。また、そうした証明書の発行元にアクセスできるかどうかがわからない。
図6(a)(b)(c)で説明したように、本実施例では、文書登録装置1001で付与された署名であるか、文書登録装置1001以外の装置で付与された署名であるかに応じて、署名の検証処理方法を切り換えている。例えば、4001署名1が文書登録装置1001以外で付与された署名で、かつ、4002署名2が文書登録装置1001で付与された署名であるような図4(c)に示す文書ファイルを想定してみる。想定された文書ファイルに対して文書検証装置1002が検証処理を行うと、署名1に対しては図6(c)で説明した方法で検証処理が行われ、署名2に対しては図6(b)で説明した方法で検証処理が行われることになる。
<図6(d)・・・文書検証装置1002が行う検証結果統合処理>
検証対象文書ファイルに含まれる各署名に対する検証結果を統合する処理について、図6(d)のフローチャートを用いて説明する。本処理フローにおける各処理を実行する文書検証装置1002は、この文書検証装置1002が有する不図示のCPUにより統括的に制御される。
ステップ6301では、文書検証装置1002が、n番目の署名に検証対象文書ファイルに対して改竄が行われたか否かを判定する。改竄が行われたと判定した場合には、ステップ6304に進み、「改竄検証結果」を「改竄あり」と決定する。その後、ステップ6302に進む。改竄が行われていないと判定した場合には、ステップ6302に進む。
ステップ6302では、文書検証装置1002が、n番目の署名に含まれる証明書が有効であるか判定する。有効でないと判定した場合には、ステップ6305に進み、「証明書検証結果」を「証明書が有効でない」と決定する。その後、ステップ6303に進む。有効であると判定した場合には、ステップ6303に進む。
ステップ6303では、文書検証装置1002が、n番目の署名に検証対象ファイルに対して編集が行われたか否かを判定する。編集が行われたと判定した場合には、ステップ6306に進み、「編集検証結果」を「編集あり」と決定する。
なお、予め検証処理の開始前に、文書検証装置1002は、「改竄検証結果」を「改竄無し」、「証明書検証結果」を「有効」、「編集検証結果」を「編集無し」としてあるものとする。
<図7・・・検証結果表示画面>
図7における検証結果表示画面7000は、検証処理後の検索結果ダイアログ7004上に検証結果を表示した時の拡大図である。また、この検証結果画面7000は、図6(a)における文書検証装置1002が検証処理を終了した後に、表示部に表示するダイアログでもある。
7001は、検証結果表示領域である。この検証結果表示領域7001は、以下の領域から構成される。即ち、文書名領域7002、検証結果アイコン表示領域7003、検証結果内容表示領域7004、タイムスタンプ署名付与日時表示領域7005、最終検証日時表示領域7006から構成される。
文書名領域7002は、各文書ファイルの文書名を表示する領域である。
検証結果アイコン表示領域7003は、各文書ファイルに対する検証処理の結果をアイコンにより表示する領域である。表示されるアイコンには、文書ファイルが「有効である」ことを示すチェックマークのアイコンと、「問題がある」ことを示す「!」のアイコンと、「未検証である」ことを示す「?」のアイコンがある。「問題がある」ことを示す「!」のアイコンには「改竄されている」ことを示すものと、「改竄以外に問題がある」ことを示すものとの2種類があり、これらの区別は「!」アイコンの色を変える等の方法で区別するものとする。
なお、「有効である」は、図6(a)における検証処理の結果が「有効である」の文書ファイルに対して付加される。
また、「改竄以外に問題がある」は、図6(a)における検証処理の結果、「証明書が有効でない」又は「編集あり」の文書ファイルに対して付加される。
また、「改竄されている」は、図6(a)における検証処理の結果、「改竄あり」の文書ファイルに対して付加される。
また、「未検証である」は、図6(a)における検証処理が未だなされていない文書ファイルに対して付加される。
7004は、検証結果内容表示領域である。検証結果は、図6(d)で求めた改竄検証結果」、「証明書検証結果」、「編集検証結果」を元にして表示される。
7005は、タイムスタンプ署名付与日時表示領域であり、最後にタイムスタンプ署名が付与された日時を示す。
7006は、最終検証日表示領域7006であり、文書ファイルが検証された日時の中で最新の日時を示す。
以上のように、本実施例では、入力オプション情報を含む署名が見つかった場合に、その署名より前の署名に対しては検証処理を省略している。具体的には、改竄検知のみを行い、証明書の確認処理や署名後編集確認処理を省略している。
このように、証明書の確認処理や署名後編集確認処理を省略することで、文書ファイルに対する検証を迅速に行うことができる。
また、他装置で付与された署名がある文書ファイルに対して、証明書の確認処理ができないからといって一律に検証結果を「無効」とすることがなくなる。できる範囲で検証を行って検証結果を得られる柔軟なシステムを得ることができるようになる。
なお、本実施例におけるシステムは、図1に示すように、文書登録装置が一つ、文書管理サーバが一つ、文書検証装置が一つであるものとして説明を行ったが、各装置は必ずしも一つに限られるわけではない。
各装置で連携が取れていれば、文書登録装置も、文書管理サーバも、文書検証装置も複数台含まれるようにシステムが設計されていてもよい。もちろん、複数の文書登録装置は、各記憶手段に、同じハッシュ関数と、同じ秘密鍵と、当該秘密鍵に対応する同じ証明書とが記憶されているものとする。
また、このような場合、複数の文書登録装置を介して、いずれかの文書管理サーバに文書ファイルが登録される時に、入力オプション情報がつけられることになる。
以上、本実施例では、文書検証装置、文書登録装置の動作フローをフローチャートとして記述した。なお、各フローチャートの各工程を各装置に実行させるためのプログラムは、各装置内の不図示のROM(READ ONLY MEMORY)に記憶されているものとする。
また、このCPUは、各プログラムをいったんメインメモリ上にロードした上で、ロード後のプログラムに従って、各フローチャートにおける処理を実行することになる。
システム構成 文書登録装置1001が文書ファイルを取り込んで、署名を付与して、文書管理サーバ1003に登録する処理を実行する際のダイアログの遷移 (a)は文書登録装置1001が文書ファイルに署名を付与して、文書管理サーバ1003に登録する処理のフロー、(b)は電子署名に用いる証明書の有効性の確認処理のフロー、(c)は電子署名の付与処理のフロー、(d)はタイムスタンプ署名の付与処理のフロー (a)はオリジナル文書のみを有する文書ファイル、(b)はオリジナル文書と署名1とを有する文書ファイル、(c)はオリジナル文書と署名1と署名2とを有する文書ファイル、(d)はオリジナル文書と署名1と署名2と編集情報とを有する文書ファイル、(e)はオリジナル文書と署名1と署名2と編集情報と署名3とを有する文書ファイル 文書管理サーバ1003に登録されている文書ファイルを文書検証装置1002が検証する処理を実行する際に、この文書検証装置1002の表示部に表示されるダイアログの遷移 (a)は文書管理サーバが検証対象文書ファイルを検証する処理、(b)は文書検証装置1002が検証対象文書ファイルに含まれるn番目の署名を検証する処理1、(c)は文書検証装置1002が検証対象文書ファイルに含まれるn番目の署名を検証する処理2、(d)は文書検証装置1002が行う検証結果統合処理 検証結果表示画面

Claims (22)

  1. 署名の種類を判定するために用いられる情報が署名付与装置により付与された文書ファイルに付与されている署名の種類を判定する判定手段と、
    前記判定手段で署名の種類が第1の種類であると判定された場合には、前記文書ファイル内の署名に含まれる証明書が有効であるか確認し、さらに前記署名に基づいて前記文書ファイルに対する改竄の検知を行い、当該確認と当該検知の結果に基づいて、前記署名が有効であるか否かを示す検証結果を生成する第1の生成手段と、
    前記判定手段で署名の種類が第2の種類であると判定された場合には、前記文書ファイル内の署名に含まれる証明書が有効であるか確認を行うことなく、前記署名に基づいて前記文書ファイルに対する改竄の検知を行い、当該検知の結果に基づいて、前記署名が有効であるか否かを示す検証結果を生成する第2の生成手段とを有することを特徴とする署名検証装置。
  2. 前記判定手段は、
    前記署名を前記文書ファイルに付与した装置を判断し、当該判断結果に基づいて前記署名の種類を判定することを特徴とする請求項1に記載の署名検証装置。
  3. 前記判定手段は、
    前記署名が前記文書ファイルに付与された時期を判断し、当該判断結果に基づいて前記署名の種類を判定することを特徴とする請求項1に記載の署名検証装置。
  4. 前記判定手段は、
    前記署名を前記文書ファイルに付与した装置を判断し、かつ、前記署名が前記文書ファイルに付与された時期を判断し、当該両方の判断結果に基づいて前記署名の種類を判定することを特徴とする請求項1乃至3の何れか1項に記載の署名検証装置。
  5. 前記判定手段は、
    前記文書ファイルに付与されている署名より後に、前記文書ファイルに別の署名が付与されているか判断する第1の判断手段と、
    前記第1の判断手段が前記文書ファイルに別の署名が付与されていると判断した場合に、前記別の署名が特定の装置により前記文書ファイルに付与されたか判断する第2の判断手段と、
    前記第1の判断手段で前記文書ファイルに、前記署名より後に別の署名が付与されていると判断され、かつ、前記第2の判断手段で前記文書ファイルに、前記別の署名が前記特定の装置以外の装置により付与されたと判断した場合に、
    前記署名の種類が前記第2の種類であると判定することを特徴とする請求項1乃至4の何れか1項に記載の署名検証装置。
  6. 前記判定手段は、
    前記場合以外の場合に、
    前記署名の種類が前記第1の種類であると判定することを特徴とする請求項5に記載の署名検証装置。
  7. 署名の種類を判定するために用いられる前記情報とは、入力オプション情報であることを特徴とする請求項1に記載の署名検証装置。
  8. 前記署名付与装置は、他の装置から取り込んだ文書ファイルを、本署名検証装置で署名の検証されるように登録するにあたって必ず入力オプション情報を含む署名を付与するため、
    前記文書検証装置は、前記入力オプション情報を含む署名より以前に付与された署名については、前記第2の種類の署名であると判定でき、
    前記判定手段は、前記入力オプション情報を含む署名より後に付与された署名については、前記第1の種類の署名であると判定できることを特徴とする請求項7に記載の署名検証装置。
  9. 前記第2の種類の署名とは、外部装置で付与された署名であり、
    前記署名検証装置は、文書ファイルに前記入力オプション情報を含む署名が複数付与されている場合には、そのうちの最新の入力オプション情報を用いて、前記判定手段における判定を行うことを特徴とする請求項8に記載の署名検証装置。
  10. 前記文書ファイルは、前記第1の種類の署名と前記第2の種類の署名とを含んだものであり、前記第1の種類の署名と前記第2の種類の署名との間には入力オプション情報が存在し、
    さらに、前記文書ファイルに対する検証結果を得るために、前記第1の生成手段で生成された第1の種類の署名の検証結果と前記第2の生成手段で生成された第2の種類の署名の検証結果とを統合することを特徴とする請求項9に記載の署名検証装置。
  11. 判定手段が、署名の種類を判定するために用いられる情報が署名付与装置により付与された文書ファイルに付与されている署名の種類を判定する判定工程と、
    第1の生成手段が、前記判定工程で署名の種類が第1の種類であると判定された場合には、前記文書ファイル内の署名に含まれる証明書が有効であるか確認し、さらに前記署名に基づいて前記文書ファイルに対する改竄の検知を行い、当該確認と当該検知の結果に基づいて、前記署名が有効であるか否かを示す検証結果を生成する第1の生成工程と、
    第2の生成手段が、前記判定工程で署名の種類が第2の種類であると判定された場合には、前記文書ファイル内の署名に含まれる証明書が有効であるか確認を行うことなく、前記署名に基づいて前記文書ファイルに対する改竄の検知を行い、当該検知の結果に基づいて、前記署名が有効であるか否かを示す検証結果を生成する第2の生成工程とを有することを特徴とする署名検証装置の制御方法。
  12. 前記判定手段が、前記判定工程で、
    前記署名を前記文書ファイルに付与した装置を判断し、当該判断結果に基づいて前記署名の種類を判定することを特徴とする請求項11に記載の署名検証装置の制御方法。
  13. 前記判定手段が、前記判定工程で、
    前記署名が前記文書ファイルに付与された時期を判断し、当該判断結果に基づいて前記署名の種類を判定することを特徴とする請求項11に記載の署名検証装置の制御方法。
  14. 前記判定手段が、前記判定工程で、
    前記署名を前記文書ファイルに付与した装置を判断し、かつ、前記署名が前記文書ファイルに付与された時期を判断し、当該両方の判断結果に基づいて前記署名の種類を判定することを特徴とする請求項11乃至13の何れか1項に記載の署名検証装置の制御方法。
  15. 前記判定手段が、前記判定工程で、
    前記文書ファイルに付与されている署名より後に、前記文書ファイルに別の署名が付与されているか判断し、
    前記文書ファイルに別の署名が付与されていると判断した場合に、前記別の署名が特定の装置により前記文書ファイルに付与されたか判断し、
    前記文書ファイルに、前記署名より後に別の署名が付与されていると判断され、かつ、前記文書ファイルに、前記別の署名が前記特定の装置以外の装置により付与されたと判断した場合に、
    前記署名の種類が前記第2の種類であると判定することを特徴とする請求項11乃至14の何れか1項に記載の署名検証装置の制御方法。
  16. 前記判定手段が、前記判定工程で、
    前記場合以外の場合に、
    前記署名の種類が前記第1の種類であると判定することを特徴とする請求項15に記載の署名検証装置の制御方法。
  17. 署名の種類を判定するために用いられる前記情報とは、入力オプション情報であることを特徴とする請求項11に記載の署名検証装置の制御方法。
  18. 前記署名付与装置は、他の装置から取り込んだ文書ファイルを、本署名検証装置で署名の検証されるように登録するにあたって必ず入力オプション情報を含む署名を付与するため、
    前記文書検証装置は、前記入力オプション情報を含む署名より以前に付与された署名については、前記第2の種類の署名であると判定でき、
    前記判定手段が、前記判定工程で、前記入力オプション情報を含む署名より後に付与された署名については、前記第1の種類の署名であると判定できることを特徴とする請求項17に記載の署名検証装置の制御方法。
  19. 前記第2の種類の署名とは、外部装置で付与された署名であり、
    前記判定手段は、前記判定工程で、文書ファイルに前記入力オプション情報を含む署名が複数付与されている場合には、そのうちの最新の入力オプション情報を用いた判定を行うことを特徴とする請求項18に記載の署名検証装置の制御方法。
  20. 前記文書ファイルは、前記第1の種類の署名と前記第2の種類の署名とを含んだものであり、前記第1の種類の署名と前記第2の種類の署名との間には入力オプション情報が存在し、
    さらに、統合手段が、前記文書ファイルに対する検証結果を得るために、前記第1の生成手段で生成された第1の種類の署名の検証結果と前記第2の生成手段で生成された第2の種類の署名の検証結果とを統合する統合工程を有することを特徴とする請求項19に記載の署名検証装置の制御方法。
  21. 請求項11乃至20の何れか1項に記載の制御方法の各工程をコンピュータに実行させるためのプログラム。
  22. 請求項21に記載のプログラムを格納したコンピュータ読取可能な記憶媒体。
JP2006166201A 2006-06-15 2006-06-15 署名検証装置、及び、その制御方法、プログラム、記憶媒体 Active JP4290179B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006166201A JP4290179B2 (ja) 2006-06-15 2006-06-15 署名検証装置、及び、その制御方法、プログラム、記憶媒体
US11/755,308 US20100023773A1 (en) 2006-06-15 2007-05-30 Signature verification apparatus, method for controlling signature verification apparatus, signing apparatus, method for controlling signing apparatus, program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006166201A JP4290179B2 (ja) 2006-06-15 2006-06-15 署名検証装置、及び、その制御方法、プログラム、記憶媒体

Publications (3)

Publication Number Publication Date
JP2007334658A JP2007334658A (ja) 2007-12-27
JP2007334658A5 JP2007334658A5 (ja) 2008-02-14
JP4290179B2 true JP4290179B2 (ja) 2009-07-01

Family

ID=38934076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006166201A Active JP4290179B2 (ja) 2006-06-15 2006-06-15 署名検証装置、及び、その制御方法、プログラム、記憶媒体

Country Status (2)

Country Link
US (1) US20100023773A1 (ja)
JP (1) JP4290179B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8009566B2 (en) 2006-06-26 2011-08-30 Palo Alto Networks, Inc. Packet classification in a network security device
US8873556B1 (en) 2008-12-24 2014-10-28 Palo Alto Networks, Inc. Application based packet forwarding
US9390089B2 (en) * 2009-12-17 2016-07-12 Wausau Financial Systems, Inc. Distributed capture system for use with a legacy enterprise content management system
US9002838B2 (en) * 2009-12-17 2015-04-07 Wausau Financial Systems, Inc. Distributed capture system for use with a legacy enterprise content management system
JP5533380B2 (ja) * 2010-07-14 2014-06-25 富士ゼロックス株式会社 情報処理プログラム及び情報処理装置
US8695096B1 (en) * 2011-05-24 2014-04-08 Palo Alto Networks, Inc. Automatic signature generation for malicious PDF files
US9047441B2 (en) 2011-05-24 2015-06-02 Palo Alto Networks, Inc. Malware analysis system
US20130124870A1 (en) * 2011-11-16 2013-05-16 Certicom Corp. Cryptographic document processing in a network
JP6451086B2 (ja) * 2014-05-29 2019-01-16 ブラザー工業株式会社 中継装置、サービス実行システム、及びプログラム
JP6354336B2 (ja) * 2014-05-29 2018-07-11 ブラザー工業株式会社 クライアント装置、サービス実行システム、及びプログラム
US11102004B2 (en) * 2019-04-29 2021-08-24 Google Llc Systems and methods for distributed verification of online identity

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5465299A (en) * 1992-12-03 1995-11-07 Hitachi, Ltd. Electronic document processing system and method of forming digital signature
US20020013898A1 (en) * 1997-06-04 2002-01-31 Sudia Frank W. Method and apparatus for roaming use of cryptographic values
US5606609A (en) * 1994-09-19 1997-02-25 Scientific-Atlanta Electronic document verification system and method
US6237096B1 (en) * 1995-01-17 2001-05-22 Eoriginal Inc. System and method for electronic transmission storage and retrieval of authenticated documents
US6766450B2 (en) * 1995-10-24 2004-07-20 Corestreet, Ltd. Certificate revocation system
US6260145B1 (en) * 1997-02-14 2001-07-10 Fujitsu Limited System and method of authentication of digital information
US6453416B1 (en) * 1997-12-19 2002-09-17 Koninklijke Philips Electronics N.V. Secure proxy signing device and method of use
US6363479B1 (en) * 1998-07-22 2002-03-26 Entrust Technologies Limited System and method for signing markup language data
US6230266B1 (en) * 1999-02-03 2001-05-08 Sun Microsystems, Inc. Authentication system and process
US6959382B1 (en) * 1999-08-16 2005-10-25 Accela, Inc. Digital signature service
US20020048372A1 (en) * 2000-10-19 2002-04-25 Eng-Whatt Toh Universal signature object for digital data
GB0027280D0 (en) * 2000-11-08 2000-12-27 Malcolm Peter An information management system
US20030093678A1 (en) * 2001-04-23 2003-05-15 Bowe John J. Server-side digital signature system
US20030190046A1 (en) * 2002-04-05 2003-10-09 Kamerman Matthew Albert Three party signing protocol providing non-linkability
EP1504555A4 (en) * 2002-05-06 2008-09-03 Bentley Systems Inc METHOD AND SYSTEM FOR ADMINISTERING DIGITAL RIGHTS AND DIGITAL SIGNATURES
US20050228999A1 (en) * 2004-04-09 2005-10-13 Arcot Systems, Inc. Audit records for digitally signed documents
US20060112271A1 (en) * 2004-11-22 2006-05-25 Murata Kikai Kabushiki Kaisha Cipher mail server device

Also Published As

Publication number Publication date
US20100023773A1 (en) 2010-01-28
JP2007334658A (ja) 2007-12-27

Similar Documents

Publication Publication Date Title
JP4290179B2 (ja) 署名検証装置、及び、その制御方法、プログラム、記憶媒体
JP4208912B2 (ja) 文書検証装置およびその方法
JP4410166B2 (ja) 画像形成装置、電子署名生成方法、電子署名生成プログラム及び記録媒体
JP4838631B2 (ja) 文書アクセス管理プログラム、文書アクセス管理装置および文書アクセス管理方法
JP4844281B2 (ja) ドキュメント管理装置及びプログラム
JP2008097517A (ja) 文書管理システム
JP2004128561A (ja) 画像形成システム
US10305961B2 (en) Information processing apparatus, information processing apparatus control method, and storage medium storing program
JP2007128207A (ja) ジョブ処理システム、指示書作成装置及び画像読取装置
JP2017225054A (ja) プロファイルデータ配信制御装置、プロファイルデータ配信制御方法およびプロファイルデータ配信制御プログラム
JP4455571B2 (ja) 文書検証装置
US8050447B2 (en) Information processing method and device, computer program, and computer-readable storage medium
KR20200088995A (ko) 화상 형성 장치에서 블록체인을 기반한 문서의 보안 및 무결성 검증
JP2009199235A (ja) 画像処理装置、認証方法、認証プログラム、及び記録媒体
JP5043527B2 (ja) 文書検証方法、文書検証装置、文書検証プログラム、および文書検証プログラムを記憶した記憶媒体
JP2009026076A (ja) 文書管理システム
JP4906449B2 (ja) 画像処理装置、電子署名付与方法及び電子署名付与プログラム
JP5052367B2 (ja) 画像処理装置、認証パッケージインストール方法、認証パッケージインストールプログラム、及び記録媒体
US8479280B2 (en) Image processing device and image data transmission method
JP2007074078A (ja) 画像形成装置及び方法
JP2004248045A (ja) 電子署名システムおよび電子署名プログラム
JP4762178B2 (ja) 時刻認証システム、時刻認証装置、およびプログラム
JP2008229961A (ja) 画像処理方法、画像処理装置及び画像処理プログラム
JP4039377B2 (ja) 文書データ管理システム、文書データ管理方法、および文書データ管理プログラム
JP2007019622A (ja) 電子文書画像形成装置及び方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071211

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080523

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: 20090324

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: 20090331

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: 20120410

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140410

Year of fee payment: 5

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350