(57)【要約】【課題】各ユーザが電子文書中で自分の責任を持つ部分にだけ電子署名を付せるようにする。【解決手段】領域指定受付部２０は、電子文書の表示上で、署名者から署名領域の指定を受け付ける。署名付与部２２は、電子文書の中から、指定された署名領域の文書データを抽出し、その文書データに対してその署名者の秘密鍵１６を用いて電子署名を付す。付された電子署名の署名要素データには、署名領域を表す署名領域データ、電子署名の署名値、検証のための証明書データが含まれる。検証者が検証者装置４０に電子文書の署名検証を指示すると、検証者装置４０は、その電子文書に付された各署名要素データ中の署名領域データ、署名値、証明書データを用いて、署名領域ごとに署名検証を行う。【選択図】図１
2009232002.tif 000002
【特許請求の範囲】
【請求項１】
署名装置と検証装置とを備え、
前記署名装置は、
ユーザから電子文書中での署名領域の指定を受け付ける領域指定受付手段と、
前記電子文書中の前記署名領域内の部分データと前記ユーザの秘密鍵とを用いて、当該署名領域に対応する前記ユーザの電子署名値を計算する署名値計算手段と、
前記署名値計算手段が生成した電子署名値と、前記署名領域を特定する署名領域データと、前記ユーザの公開鍵を特定するための公開鍵情報と、を含む署名データを前記電子文書に対応づけることにより、署名付き電子文書を生成する署名付き電子文書生成手段と、
を備え、
前記検証装置は、
署名付き電子文書に含まれる署名領域データに基づき、前記署名付き電子文書中の署名領域内の部分データを抽出する抽出手段と、
抽出された部分データと、前記署名付き電子文書に含まれる電子署名値及び公開鍵情報と、に基づき、当該電子署名データが、前記署名領域内のデータに対する前記ユーザの正しい電子署名であるか否かを検証する検証手段と、
を備える、
ことを特徴とする電子署名システム。
【請求項２】
前記領域指定受付手段は、前記電子文書に追記された場合には、当該追記された部分の領域を新たな署名領域とすることを特徴とする請求項１に記載の電子署名システム。
【請求項３】
署名付き電子文書中の電子文書に対して前記領域指定受付手段が前記ユーザから指定を受け付けた署名領域が、当該署名付き電子文書中に既に存在する署名領域データが示す署名領域と重複する場合に、署名領域の重複の発生を前記ユーザに報知する報知手段、
を更に備える請求項１記載の電子署名システム。
【請求項４】
ユーザから電子文書中での署名領域の指定を受け付ける領域指定受付手段と、
前記電子文書中の前記署名領域内の部分データと前記ユーザの秘密鍵とを用いて、当該署名領域に対応する前記ユーザの電子署名値を計算する署名値計算手段と、
前記署名値計算手段が生成した電子署名値と、前記署名領域を特定する署名領域データと、前記ユーザの公開鍵を特定するための公開鍵情報と、を含む署名データを前記電子文書に対応づけることにより、署名付き電子文書を生成する署名付き電子文書生成手段と、
を備える署名装置。
【請求項５】
署名付き電子文書に含まれる署名領域データに基づき、前記署名付き電子文書中の署名領域内の部分データを抽出する抽出手段と、
抽出された部分データと、前記署名付き電子文書に含まれる電子署名値及び公開鍵情報と、に基づき、当該電子署名データが、前記署名領域内のデータに対する前記ユーザの正しい電子署名であるか否かを検証する検証手段と、
を備える検証装置。
【請求項６】
コンピュータを、
ユーザから電子文書中での署名領域の指定を受け付ける領域指定受付手段、
前記電子文書中の前記署名領域内の部分データと前記ユーザの秘密鍵とを用いて、当該署名領域に対応する前記ユーザの電子署名値を計算する署名値計算手段、
前記署名値計算手段が生成した電子署名値と、前記署名領域を特定する署名領域データと、前記ユーザの公開鍵を特定するための公開鍵情報と、を含む署名データを前記電子文書に対応づけることにより、署名付き電子文書を生成する署名付き電子文書生成手段、
として機能させるためのプログラム。
【請求項７】
コンピュータを、
署名付き電子文書に含まれる署名領域データに基づき、前記署名付き電子文書中の署名領域内の部分データを抽出する抽出手段、
抽出された部分データと、前記署名付き電子文書に含まれる電子署名値及び公開鍵情報と、に基づき、当該電子署名データが、前記署名領域内のデータに対する前記ユーザの正しい電子署名であるか否かを検証する検証手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子署名システム、署名装置、検証装置、及びプログラムに関する。
【背景技術】
【０００２】
電子署名は、電子文書（電子的なデータで表現された文書）の原本性を保証するための有効な技術である。また従来の電子署名技術では、同じ電子文書に対して複数の人が順に電子署名を付すことができ、これにより電子文書を各人に回覧し、その電子文書を各人が確認したことを電子署名により証明することができる。
【０００３】
しかし、申請書や稟議書などのように、最初にある人が作成した文書に対してしかるべき他の人が追記や修正などを行う種類の文書においては、最初の文書も、しかるべき他の人が追記や修正を行った後の文書も、等しく原本である。しかし、最初の文書に対して付された作成者の電子署名は他の人の追記又は修正によって無効となってしまうため、追記又は修正後の文書が作成者により作成された最初の文書に由来することが検証できない。
【０００４】
これに対し、特許文献１には、電子文書を定形のブロック単位に分割し、各ブロックに対して電子署名を付す装置が開示されている。この装置は、第１の人が電子署名を施した電子文書に対して第２の人が追記を行った場合、追記の部分に該当するブロックに対して第２の人の電子署名を付与する。追記部分以外のブロックについては、第１の人の電子署名が残る。
【０００５】
【特許文献１】特開２００７−０２７９２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、同じ電子文書全体に対して各人が確認の意味で電子署名を付すことは従来技術で可能であるが、各人が確認すべき箇所が常にその電子文書全体であるとは限らない。例えば、各人が電子文書中のそれぞれの担当箇所を確認すればよい場合も多いであろう。そのような場合に電子文書全体に各人の電子署名を付す方法も考えられるが、署名により署名者の責任が生じることを考えれば、必ずしも適切な方法とは言えない。また、電子文書全体に電子署名を付す方法では、追記に対応できない。
【０００７】
また、この方法では、追記された部分のみにしか電子署名が付されないので、例えばユーザが電子文書上の文面を確認した上でその電子文書に追記を行い、文面と追記部分の両方に確認の意思を示す電子署名を行う、等ということができない。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、署名装置と検証装置とを備え、前記署名装置は、ユーザから電子文書中での署名領域の指定を受け付ける領域指定受付手段と、前記電子文書中の前記署名領域内の部分データと前記ユーザの秘密鍵とを用いて、当該署名領域に対応する前記ユーザの電子署名値を計算する署名値計算手段と、前記署名値計算手段が生成した電子署名値と、前記署名領域を特定する署名領域データと、前記ユーザの公開鍵を特定するための公開鍵情報と、を含む署名データを前記電子文書に対応づけることにより、署名付き電子文書を生成する署名付き電子文書生成手段と、を備え、前記検証装置は、署名付き電子文書に含まれる署名領域データに基づき、前記署名付き電子文書中の署名領域内の部分データを抽出する抽出手段と、抽出された部分データと、前記署名付き電子文書に含まれる電子署名値及び公開鍵情報と、に基づき、当該電子署名データが、前記署名領域内のデータに対する前記ユーザの正しい電子署名であるか否かを検証する検証手段と、を備える、ことを特徴とする電子署名システムである。
【０００９】
請求項２に係る発明は、請求項１に係る発明において、前記領域指定受付手段は、前記電子文書に追記された場合には、当該追記された部分の領域を新たな署名領域とすることを特徴とする。
【００１０】
請求項３に係る発明は、請求項１に係る発明において、署名付き電子文書中の電子文書に対して前記領域指定受付手段が前記ユーザから指定を受け付けた署名領域が、当該署名付き電子文書中に既に存在する署名領域データが示す署名領域と重複する場合に、署名領域の重複の発生を前記ユーザに報知する報知手段、を更に備える。
【００１１】
請求項４に係る発明は、ユーザから電子文書中での署名領域の指定を受け付ける領域指定受付手段と、前記電子文書中の前記署名領域内の部分データと前記ユーザの秘密鍵とを用いて、当該署名領域に対応する前記ユーザの電子署名値を計算する署名値計算手段と、前記署名値計算手段が生成した電子署名値と、前記署名領域を特定する署名領域データと、前記ユーザの公開鍵を特定するための公開鍵情報と、を含む署名データを前記電子文書に対応づけることにより、署名付き電子文書を生成する署名付き電子文書生成手段と、を備える署名装置である。
【００１２】
請求項５に係る発明は、署名付き電子文書に含まれる署名領域データに基づき、前記署名付き電子文書中の署名領域内の部分データを抽出する抽出手段と、抽出された部分データと、前記署名付き電子文書に含まれる電子署名値及び公開鍵情報と、に基づき、当該電子署名データが、前記署名領域内のデータに対する前記ユーザの正しい電子署名であるか否かを検証する検証手段と、を備える検証装置である。
【００１３】
請求項６に係る発明は、コンピュータを、ユーザから電子文書中での署名領域の指定を受け付ける領域指定受付手段、前記電子文書中の前記署名領域内の部分データと前記ユーザの秘密鍵とを用いて、当該署名領域に対応する前記ユーザの電子署名値を計算する署名値計算手段、前記署名値計算手段が生成した電子署名値と、前記署名領域を特定する署名領域データと、前記ユーザの公開鍵を特定するための公開鍵情報と、を含む署名データを前記電子文書に対応づけることにより、署名付き電子文書を生成する署名付き電子文書生成手段、として機能させるためのプログラムである。
【００１４】
請求項７に係る発明は、コンピュータを、署名付き電子文書に含まれる署名領域データに基づき、前記署名付き電子文書中の署名領域内の部分データを抽出する抽出手段、抽出された部分データと、前記署名付き電子文書に含まれる電子署名値及び公開鍵情報と、に基づき、当該電子署名データが、前記署名領域内のデータに対する前記ユーザの正しい電子署名であるか否かを検証する検証手段、として機能させるためのプログラムである。
【発明の効果】
【００１５】
請求項１に係る発明によれば、ユーザが電子文書中で自分の責任を持つ部分（すなわち署名領域）を明示的に指定して電子署名を付すことができ、そのように部分的に付された電子署名を検証することができる。
【００１６】
請求項２に係る発明によれば、ユーザが電子文書に追記する場合に、改めて署名領域を指定しなくても追記された部分を署名領域とすることができるので、ユーザは署名領域を指定する手間を省くことができる。
【００１７】
請求項３に係る発明によれば、ユーザの意図に反して署名領域が既存の署名領域に重複することを防止できる。
【００１８】
請求項４又は６に係る発明によれば、ユーザが電子文書中で自分の責任を持つ部分（すなわち署名領域）を明示的に指定して電子署名を付すことができる。
【００１９】
請求項５又は７に係る発明によれば、署名付き電子文書に含まれる個々の署名領域の電子署名を検証することができる。
【発明を実施するための最良の形態】
【００２０】
本実施形態のシステムでは、電子文書に対してユーザの電子署名を求める際に、署名領域をそのユーザに指定させる。署名領域は、電子文書のうち、ユーザが署名を付す対象とする領域のことである。すなわち、この実施形態では、各ユーザは、それぞれ自分の指定した署名領域に対して自分の電子署名を付すことになる。
【００２１】
本実施形態のシステムの一例を図１に示す。このシステムは、署名者装置１０、文書ＤＢ（データベース）３０及び検証者装置４０を含む。署名者装置１０は、電子文書に対して電子署名を行う署名者が操作するコンピュータである。文書ＤＢ３０は、電子文書を保存し、管理するデータベースである。文書ＤＢ３０が管理する電子文書のフォーマットは特に限定されない。例えば、ＰＤＦ（Portable Document Format）でもよいし、特定のアプリケーションに対応したフォーマットでもよい。検証者装置４０は、電子文書に対して付された電子署名を検証する人が操作するコンピュータである。なお、図には署名者装置１０及び検証者装置４０がネットワーク上にそれぞれ複数存在してももちろんよい。典型的な例では、１つの電子文書に対して、複数の署名者、すなわち複数の署名者装置１０により順に電子署名が付されていく。また、１つのコンピュータが署名者装置１０の機能と検証者装置４０の機能を併せ持っていてもよい。
【００２２】
署名者装置１０は、記憶部１２，領域指定受付部２０及び署名付与部２２を備える。記憶部１２は、データを記憶する手段である。ここでは、署名者装置１０の主記憶（ランダム・アクセス・メモリなど）及び補助記憶（ハードディスクなど）を総称して記憶部１２と呼んでいる。記憶部１２には、署名者装置１０を使用するユーザ（署名者）の公開鍵証明書１４及び秘密鍵１６が保存されている。また、署名者が電子文書に対して署名を行う際には、その電子文書１８が記憶部１２に一時的に記憶される。なお、署名者装置１０は、既に電子署名が付されている署名付き電子文書に対しても、電子署名を付すことができる。
【００２３】
領域指定受付部２０は、署名者から署名領域の指定を受け付ける。領域指定受付部２０は、電子文書の画像を画面表示し、例えば署名者のポインティングデバイスの操作により、その画像上で署名領域の指定を受ける。例えば、署名領域が画像のＸ，Ｙ軸に平行な辺からなる矩形の領域である場合は、ポインティングデバイスでその矩形領域の右上隅の頂点と左下隅の頂点を指定することで、署名領域を指定することができる。この場合、署名領域は、右上隅の頂点の座標と左下隅の頂点の座標の組により表現することができる。なお、署名領域の形状は矩形に限らない。ポインティングデバイスを用いて様々な形状の領域を指定する方法が従来知られており、領域指定受付部２０は、そのような従来手法を用いることができる。また、１つの電子文書上の複数の領域を署名領域として指定してもよい。また、電子文書が複数のページを含んでいる場合に、ページ単位で署名領域を指定できるようにしてもよいし、複数のページに跨って署名領域を指定できるようにしてもよい。また、署名領域は、ポインティングデバイス等で指定された個々の領域同士の足し算や引き算などで指定できるようにしてもよい。
【００２４】
また、領域指定受付部２０は、いったん署名者の署名領域の指定を受け付けた後は、次の署名者により電子文書に追記される場合、追記部分のみを順次署名領域とするようにしてもよい。例えば、すでに署名された署名領域以外の領域であって、追記された部分の画像領域の座標を抽出し、その座標で囲まれる領域を署名領域の初期候補として画面表示してもよい。
【００２５】
署名付与部２２は、電子文書のうち、領域指定受付部２０が受け付けた署名領域内の文書部分のデータ（例えばその領域内の文書の画像）に対し、署名者の秘密鍵１６を用いて電子署名を付与する。電子署名の付与は、従来用いられている手法を用いればよい。例えば、所定のメッセージダイジェストアルゴリズムにより、署名領域内の文書部分のデータのダイジェスト値を計算し、そのダイジェスト値を秘密鍵１６により暗号化することで、電子署名の署名値を求めればよい。そして、求めた署名値、署名領域を特定する署名領域データ、及びその署名値を検証するため公開鍵証明書１４を示す証明書データ、等を含んだ署名データを生成し、その署名データを当該電子文書に対応づければよい。署名データは、例えば、RFC3075に規定されるＸＭＬデジタル署名などの従来のデジタル署名方式の署名データフォーマットに、署名領域データの要素を追加したものでよい。電子文書と署名データの対応付けも、そのような従来のデジタル署名方式で用いられている方式で行うことができる。例えば、ＸＭＬデジタル署名で規定されているenveloped署名、enveloping署名、detached署名などといった、従来方式が利用できる。また、署名者が複数の署名領域を指定した場合、署名付与部２２は署名領域ごとに署名データを作成し、電子文書に対応づければよい。
【００２６】
また、署名付与部２２は、署名領域データに対しても署名者の秘密鍵１６を用いて電子署名を施してもよい。これにより、署名領域データの改竄が検知できる。署名領域内の文書部分と、署名領域データの両方に電子署名を施す場合、前者と後者に対してそれぞれ別々に電子署名を施してもよいし、前者と後者を所定のフォーマットで結合したデータを作成し、そのデータに電子署名を施してもよい。
【００２７】
署名者装置１０が生成した署名付き電子文書は、文書ＤＢ３０に登録される。図２に、文書ＤＢ３０のデータ内容の一例を模式的に示す。図示例は、同一の電子文書上の３つの異なる署名領域に対し、それぞれ異なる署名者による電子署名がなされている場合の例である。図２に示した１行の情報が、１つの署名領域に対する署名データを示す。図において、項目「電子文書」は、署名の対象となった電子文書（又はそれを指し示すＵＲＩ(Uniform Resource Identifier)等の識別子）を示しており、図示の３つの行のデータではこの項目は同一の値である。「署名領域データ」は、その電子文書中での署名領域を特定するデータ（例えば署名領域の外周形状を表すデータ）である。図では、署名領域データとして、文書中での署名領域の外観形状を絵で示しているが、これは説明の便宜のためであり、実際は領域形状を規定するパラメータなどからなるデータである。「証明書データ」は、その署名領域に対して施された電子署名を検証するための公開鍵証明書、又はその公開鍵証明書の識別情報である。図示例では、所定アルゴリズムで暗号化された証明書データを例示している。「署名値」は、電子文書中の署名領域内の部分に対する秘密鍵１６によるデジタル署名の値である。また、署名領域データに対して計算されたデジタル署名の値を更に追加してもよい。
【００２８】
検証者装置４０は、記憶部４２，検証指示受付部４６，対象領域判定部４８，及び署名検証部５０を備える。記憶部４２は、データを記憶する手段であり、検証者装置４０の主記憶又は補助記憶である。記憶部４２には、文書ＤＢ３０から取得された署名検証の対象となる署名付き電子文書４４が記憶される。
【００２９】
検証指示受付部４６は、署名付き電子文書４４についての署名検証指示を受け付ける手段である。署名の検証には、例えば、その署名付き電子文書に付されたすべての電子署名を検証する第１のモードと、署名付き電子文書中のユーザが指定した領域に付された電子署名のみを検証する第２のモードがあってもよい。この場合、検証指示受付部４６は、ユーザから、第１のモードか第２のモードかの指示を受け付け、第２のモードの場合は更に検証対象の領域の指示を受け付ければよい。なお、第１のモードは、第２のモードにおいて検証対象の領域が電子文書全体となったもの、と取り扱ってもよい。
【００３０】
対象領域判定部４８は、検証指示受付部４６が受け付けた署名検証指示に応じて検証すべき署名領域（「対象署名領域」と呼ぶ）を判定する。例えば、第１のモードが指定されている場合は、当該署名付き電子文書に設定されたすべての署名領域が対象署名領域と判定される。第２のモードが指定された場合は、当該署名付き電子文書に設定された署名領域のうち、ユーザが指定した領域を含んだ署名領域が、対象署名領域と判定される。
【００３１】
署名検証部５０は、対象領域判定部４８が判定した対象署名領域ごとに、当該対象署名領域に対して付された電子署名を検証する。
【００３２】
次に、図３を参照して、署名者装置１０が実行する処理手順の一例を説明する。この手順は、例えば、署名者装置１０が保持する電子文書に対する署名指示をユーザ（署名者）から受けたときや、そのような電子文書を文書ＤＢ３０に登録する旨の指示をユーザから受け取ったときなどに実行される。すなわち、例えば、ユーザは、文書ＤＢ３０から電子文書又は署名付き電子文書を取得し、署名者装置１０上の所定のアプリケーションにてその電子文書を閲覧し、必要に応じて編集（追記や削除など）を加える。そして、例えば、その閲覧又は編集が終わったときに、ユーザは、自分が閲覧又は編集した部分に対する責任を持つことを表明するために、図３の処理手順を呼び出してその電子文書に電子署名を付与し、その結果得られる署名付き電子文書を文書ＤＢ３０に登録する。
【００３３】
図３の手順では、まず、領域指定受付部２０は、ユーザから署名領域の指定を受け付ける（Ｓ１０）。例えば、領域指定受付部２０は、署名者装置１０の表示装置に表示された電子文書の画像上で、署名領域の指定を受け付ける。次に、領域指定受付部２０は、その電子文書に対して既に付与されている各電子署名の署名領域データを記憶部１２又は文書ＤＢ３０から取得する（Ｓ１２）。そして、それら既に付与されている電子署名の署名領域の中に、ステップＳ１０で指定された署名領域と重複するものがあるかどうかを判定する（Ｓ１４）。
【００３４】
重複するものがある場合、領域指定受付部２０は、ユーザにその旨を報知し、ステップＳ１０で指定された署名領域をそのまま確認する（すなわち意図通りの署名領域と認める）か、或いは署名領域を指定し直すかの判断を求める（Ｓ１６，Ｓ１８）。これらのステップは、署名領域の指定操作のミスなどでユーザの意図しない領域が署名領域として指定されてしまうことを防止するためのものである。例えば、電子文書中のある部分に対して複数人の電子署名が付されている場合、その部分に修正を加えるには、それら複数人すべての了解が必要となる。これは、ユーザが電子文書中で持つ領域を署名領域に指定するという枠組みから要請されることである。したがって、誤操作により署名領域が重複してしまうと、それら各署名領域のうちのいずれかに対して修正を加える際に、それと重複する他の署名領域の署名者の了解を得る必要が生じるという煩雑さがある。このような煩雑さを避けるために、ステップＳ１６及びＳ１８の処理を行っている。
【００３５】
なお、ステップＳ１６では、ステップＳ１０で指定された署名領域がユーザの意図通りのものかどうかの判断材料として、電子文書の画像上で当該署名領域と既存の署名領域と重複する部分を明示してもよい。
【００３６】
ステップＳ１８で、ユーザから署名領域を再指定する旨の指示を受けた場合は、領域指定受付部２０は、ステップＳ１０に戻り、再度ユーザから署名領域の指定を受け付ける。このとき、再指定の案内のために、前回指定した署名領域と重複する既存の署名領域を画面上で明示してもよい。また、ステップＳ１８で再指定の旨が指示された場合に、ユーザに再指定してもらう代わりに、領域指定受付部２０が、ステップＳ１０で指定された領域から、ステップＳ１４で重複すると判定された部分を自動的に削除することで、既存の署名領域と重複しない署名領域を生成してもよい。
【００３７】
ステップＳ１８でユーザから署名領域を確認した場合には、ステップＳ１０で指定された署名領域が採用される。
【００３８】
なお、ステップＳ１４で署名領域の重複が生じないと判定された場合は、ステップＳ１６及びＳ１８は飛ばされる。
【００３９】
ステップＳ１４又はＳ１８により署名領域が画定されると、署名付与部２２は、対象となる電子文書から、その署名領域内の部分の文書データを抽出する（Ｓ２０）。また、ステップＳ１０で受け付けた指定に基づき、署名領域を表す署名領域データを生成する（Ｓ２２）。そして、抽出された文書データと、署名領域データとについて、当該署名者の秘密鍵１６を用いて署名値を計算する（Ｓ２４）。ここでは、文書データについての署名値と、署名領域データについての署名値とを別々に計算してもよいし、文書データと署名領域データとを併合したものに対して１つの署名値を計算してもよい。そして、署名付与部２２は、署名領域データ、署名値、及び署名者の公開鍵証明書１４を示す証明書データを組み合わせることで署名要素データを生成し、生成した署名要素データを署名付与対象の電子文書又は署名付き電子文書に対応づけて、文書ＤＢ３０に登録する（Ｓ２６）。
【００４０】
１つの電子文書に対し複数の署名者が順に電子署名を付していく場合には、各署名者の署名者装置１０にて、以上に説明した図３の処理が行われることになる。図４及び図５を参照して具体例を説明する。
【００４１】
この具体例では、ある企業の契約担当者が契約書の雛形６０を作成し、その企業と契約を結ぼうとする契約者が雛形６０中の記入欄６２，６４，６６に対して必要事項を記入してその企業に提出する流れを考える。この場合、企業の契約担当者は、契約書の雛形６０から記入欄６２，６４，６６を除いた残りの部分６８については内容の責任を持つことが考えられる。この場合、契約担当者は、作成した雛形６０の電子文書のうち、その部分６８を署名領域に指定して自分の電子署名を付せばよい。なお、このような部分は、例えば、雛形６０の全体から各記入欄６２〜６６を引き算する形で領域指定すればよい。
【００４２】
契約者は、このように契約担当者が部分的に電子署名を施した署名付きの契約書７０の電子データを取得し、その契約書中の各記入欄６２〜６６に必要事項を入力する。そして、契約書の雛形文面を確認した上で記入を行ったことを明示するために、契約書全体７５を署名領域に指定して、自分の電子署名を施す。契約者が記入した記入欄６２〜６４だけでなく、契約書全体を署名領域に指定して電子署名を施すことで、契約者は、自分が記入したあとで契約書の文言に変更が加えられたかどうかを確認することができる。
【００４３】
次に、図６を参照して、検証者装置４０の処理手順の一例を説明する。この手順は、ユーザが、例えば、文書ＤＢ３０から検証者装置４０に署名付き電子文書を取得し、その署名付き電子文書の検証を指示した場合に実行される。この手順では、まず検証指示受付部４６が、その署名付き電子文書の電子文書本体（すなわち署名要素データを除いた部分）を画面表示し（Ｓ３０）、検証領域の指定を受け付ける（Ｓ３２）。検証領域の指定方式は、例えば、署名領域と同様、ポインティングデバイスで範囲指定をする方式でよい。ただし、検証領域の場合、面積を持つ領域を指定する必要はなく、単に１つの点の指定でもよい。また、電子文書全体を検証する選択肢を設けておき、その選択肢を選択すれば電子文書に付されたすべての署名領域を検証するようにしてもよい。
【００４４】
この指定のあと、対象領域判定部４８は、その署名付き電子文書の情報から各署名領域の情報を取得し、それら署名領域ごとに、その署名領域が、ステップＳ３２で指定された検証領域と重複するか否かを判定する（Ｓ３４）。そして、重複する場合には、署名検証部５０にその署名領域についての署名検証を指示する。この指示を受けた署名検証部５０は、その署名領域に対応する署名値及び証明書データを署名付き電子文書４４から取得すると共に（Ｓ３６）、電子文書中のその署名領域の文書部分を抽出し、それら署名値、証明書データ及び文書部分に基づき、署名検証を行う（Ｓ３８）。署名検証は、従来と同様に行えばよい。例えば、署名領域の文書部分のメッセージダイジェスト値を計算すると共に、証明書データが示す公開鍵証明書の公開鍵で署名値を復号し、そのメッセージダイジェスト値と署名値の復号結果とが一致すれば検証成功、一致しなければ検証失敗とすればよい。以上のステップＳ３４〜Ｓ３８を、署名付き電子文書に設定されたすべての署名領域に対して実行することで、検証領域と重複する署名領域ごとに、その署名領域に付された電子署名を検証することができる。
【００４５】
なお、電子文書全体についての検証が指示された場合は、ステップＳ３４の判定は行わず、その電子文書に設定されたすべての署名領域について、それぞれ署名検証（Ｓ３６及びＳ３８）を行えばよい。
【００４６】
そして、検証者装置４０は、各署名領域の検証結果を表す結果表示画面の情報を生成し、付属する表示装置に表示する。結果表示画面は、例えば、検証した署名領域ごとに、署名者と、検証結果（例えば成功又は失敗の区別）とを列挙したものであってもよい。また、検証が失敗した署名領域を電子文書の画像上で強調表示してもよい。ただし、これらはあくまで一例に過ぎない。
【００４７】
以上に説明した署名者装置１０及び検証者装置４０は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、図７に示すように、ＣＰＵ１０００等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）１００２およびリードオンリメモリ（ＲＯＭ）１００４等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）１００６を制御するＨＤＤコントローラ１００８、各種Ｉ／Ｏ（入出力）インタフェース１０１０、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース１０１２等が、たとえばバス１０１４を介して接続された回路構成を有する。また、そのバス１０１４に対し、例えばＩ／Ｏインタフェース１０１０経由で、ＣＤやＤＶＤなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ１０１６、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ１０１８、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがＲＡＭ１００２に読み出されＣＰＵ１０００等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用ＬＳＩ(Large Scale Integration)、ＡＳＩＣ（Application Specific Integrated Circuit、特定用途向け集積回路）又はＦＰＧＡ（Field Programmable Gate Array）等のハードウエア回路として構成してもよい。
【００４８】
なお、図１に示したシステム構成はあくまで一例に過ぎない。例えば、図１に例示した署名者装置１０及び検証者装置４０が１つのハードウエア装置上に実装されていてもよい。また、電子文書又は署名付き電子文書は、文書ＤＢ３０を経由せずに直接ユーザ間で受け渡しされてもよい。また、署名者装置１０のうち署名者の秘密鍵１６以外の部分の機能を、サーバが署名者のＰＣに提供してもよい。また、検証者装置４０の各機能も、サーバが検証者のＰＣに提供するようにしてもよい。これらの機能は、例えばサーバサイド技術を用いてサーバからユーザのＰＣに提供すればよい（但し、サーバサイド技術に限られるわけではない）。
【図面の簡単な説明】
【００４９】
【図１】実施形態のシステム構成の一例を示す図である。
【図２】文書データベースのデータ内容の一例を説明するための図である。
【図３】署名者装置の処理手順の一例を示す図である。
【図４】同一の電子文書に対して各人が異なる署名領域を指定する例を説明するための図である。
【図５】同一の電子文書に対して各人が異なる署名領域を指定する例を説明するための図である。
【図６】検証者装置の処理手順の一例を示す図である。
【図７】コンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【００５０】
１０  署名者装置、１２  記憶部、２０  領域指定受付部、２２  署名付与部、３０  文書ＤＢ、４０  検証者装置、４２  記憶部、４６  検証指示受付部、４８  対象領域判定部、５０  署名検証部。
【図１】
2009232002.tif 000003
【図３】
2009232002.tif 000004
【図４】
2009232002.tif 000005
【図５】
2009232002.tif 000006
【図６】
2009232002.tif 000007
【図７】
2009232002.tif 000008
【図２】
2009232002.tif 000009