説明

電子署名システム、署名装置、検証装置、及びプログラム

【課題】各ユーザが電子文書中で自分の責任を持つ部分にだけ電子署名を付せるようにする。
【解決手段】領域指定受付部20は、電子文書の表示上で、署名者から署名領域の指定を受け付ける。署名付与部22は、電子文書の中から、指定された署名領域の文書データを抽出し、その文書データに対してその署名者の秘密鍵16を用いて電子署名を付す。付された電子署名の署名要素データには、署名領域を表す署名領域データ、電子署名の署名値、検証のための証明書データが含まれる。検証者が検証者装置40に電子文書の署名検証を指示すると、検証者装置40は、その電子文書に付された各署名要素データ中の署名領域データ、署名値、証明書データを用いて、署名領域ごとに署名検証を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子署名システム、署名装置、検証装置、及びプログラムに関する。
【背景技術】
【0002】
電子署名は、電子文書(電子的なデータで表現された文書)の原本性を保証するための有効な技術である。また従来の電子署名技術では、同じ電子文書に対して複数の人が順に電子署名を付すことができ、これにより電子文書を各人に回覧し、その電子文書を各人が確認したことを電子署名により証明することができる。
【0003】
しかし、申請書や稟議書などのように、最初にある人が作成した文書に対してしかるべき他の人が追記や修正などを行う種類の文書においては、最初の文書も、しかるべき他の人が追記や修正を行った後の文書も、等しく原本である。しかし、最初の文書に対して付された作成者の電子署名は他の人の追記又は修正によって無効となってしまうため、追記又は修正後の文書が作成者により作成された最初の文書に由来することが検証できない。
【0004】
これに対し、特許文献1には、電子文書を定形のブロック単位に分割し、各ブロックに対して電子署名を付す装置が開示されている。この装置は、第1の人が電子署名を施した電子文書に対して第2の人が追記を行った場合、追記の部分に該当するブロックに対して第2の人の電子署名を付与する。追記部分以外のブロックについては、第1の人の電子署名が残る。
【0005】
【特許文献1】特開2007−027920号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
ところで、同じ電子文書全体に対して各人が確認の意味で電子署名を付すことは従来技術で可能であるが、各人が確認すべき箇所が常にその電子文書全体であるとは限らない。例えば、各人が電子文書中のそれぞれの担当箇所を確認すればよい場合も多いであろう。そのような場合に電子文書全体に各人の電子署名を付す方法も考えられるが、署名により署名者の責任が生じることを考えれば、必ずしも適切な方法とは言えない。また、電子文書全体に電子署名を付す方法では、追記に対応できない。
【0007】
また、この方法では、追記された部分のみにしか電子署名が付されないので、例えばユーザが電子文書上の文面を確認した上でその電子文書に追記を行い、文面と追記部分の両方に確認の意思を示す電子署名を行う、等ということができない。
【課題を解決するための手段】
【0008】
請求項1に係る発明は、署名装置と検証装置とを備え、前記署名装置は、ユーザから電子文書中での署名領域の指定を受け付ける領域指定受付手段と、前記電子文書中の前記署名領域内の部分データと前記ユーザの秘密鍵とを用いて、当該署名領域に対応する前記ユーザの電子署名値を計算する署名値計算手段と、前記署名値計算手段が生成した電子署名値と、前記署名領域を特定する署名領域データと、前記ユーザの公開鍵を特定するための公開鍵情報と、を含む署名データを前記電子文書に対応づけることにより、署名付き電子文書を生成する署名付き電子文書生成手段と、を備え、前記検証装置は、署名付き電子文書に含まれる署名領域データに基づき、前記署名付き電子文書中の署名領域内の部分データを抽出する抽出手段と、抽出された部分データと、前記署名付き電子文書に含まれる電子署名値及び公開鍵情報と、に基づき、当該電子署名データが、前記署名領域内のデータに対する前記ユーザの正しい電子署名であるか否かを検証する検証手段と、を備える、ことを特徴とする電子署名システムである。
【0009】
請求項2に係る発明は、請求項1に係る発明において、前記領域指定受付手段は、前記電子文書に追記された場合には、当該追記された部分の領域を新たな署名領域とすることを特徴とする。
【0010】
請求項3に係る発明は、請求項1に係る発明において、署名付き電子文書中の電子文書に対して前記領域指定受付手段が前記ユーザから指定を受け付けた署名領域が、当該署名付き電子文書中に既に存在する署名領域データが示す署名領域と重複する場合に、署名領域の重複の発生を前記ユーザに報知する報知手段、を更に備える。
【0011】
請求項4に係る発明は、ユーザから電子文書中での署名領域の指定を受け付ける領域指定受付手段と、前記電子文書中の前記署名領域内の部分データと前記ユーザの秘密鍵とを用いて、当該署名領域に対応する前記ユーザの電子署名値を計算する署名値計算手段と、前記署名値計算手段が生成した電子署名値と、前記署名領域を特定する署名領域データと、前記ユーザの公開鍵を特定するための公開鍵情報と、を含む署名データを前記電子文書に対応づけることにより、署名付き電子文書を生成する署名付き電子文書生成手段と、を備える署名装置である。
【0012】
請求項5に係る発明は、署名付き電子文書に含まれる署名領域データに基づき、前記署名付き電子文書中の署名領域内の部分データを抽出する抽出手段と、抽出された部分データと、前記署名付き電子文書に含まれる電子署名値及び公開鍵情報と、に基づき、当該電子署名データが、前記署名領域内のデータに対する前記ユーザの正しい電子署名であるか否かを検証する検証手段と、を備える検証装置である。
【0013】
請求項6に係る発明は、コンピュータを、ユーザから電子文書中での署名領域の指定を受け付ける領域指定受付手段、前記電子文書中の前記署名領域内の部分データと前記ユーザの秘密鍵とを用いて、当該署名領域に対応する前記ユーザの電子署名値を計算する署名値計算手段、前記署名値計算手段が生成した電子署名値と、前記署名領域を特定する署名領域データと、前記ユーザの公開鍵を特定するための公開鍵情報と、を含む署名データを前記電子文書に対応づけることにより、署名付き電子文書を生成する署名付き電子文書生成手段、として機能させるためのプログラムである。
【0014】
請求項7に係る発明は、コンピュータを、署名付き電子文書に含まれる署名領域データに基づき、前記署名付き電子文書中の署名領域内の部分データを抽出する抽出手段、抽出された部分データと、前記署名付き電子文書に含まれる電子署名値及び公開鍵情報と、に基づき、当該電子署名データが、前記署名領域内のデータに対する前記ユーザの正しい電子署名であるか否かを検証する検証手段、として機能させるためのプログラムである。
【発明の効果】
【0015】
請求項1に係る発明によれば、ユーザが電子文書中で自分の責任を持つ部分(すなわち署名領域)を明示的に指定して電子署名を付すことができ、そのように部分的に付された電子署名を検証することができる。
【0016】
請求項2に係る発明によれば、ユーザが電子文書に追記する場合に、改めて署名領域を指定しなくても追記された部分を署名領域とすることができるので、ユーザは署名領域を指定する手間を省くことができる。
【0017】
請求項3に係る発明によれば、ユーザの意図に反して署名領域が既存の署名領域に重複することを防止できる。
【0018】
請求項4又は6に係る発明によれば、ユーザが電子文書中で自分の責任を持つ部分(すなわち署名領域)を明示的に指定して電子署名を付すことができる。
【0019】
請求項5又は7に係る発明によれば、署名付き電子文書に含まれる個々の署名領域の電子署名を検証することができる。
【発明を実施するための最良の形態】
【0020】
本実施形態のシステムでは、電子文書に対してユーザの電子署名を求める際に、署名領域をそのユーザに指定させる。署名領域は、電子文書のうち、ユーザが署名を付す対象とする領域のことである。すなわち、この実施形態では、各ユーザは、それぞれ自分の指定した署名領域に対して自分の電子署名を付すことになる。
【0021】
本実施形態のシステムの一例を図1に示す。このシステムは、署名者装置10、文書DB(データベース)30及び検証者装置40を含む。署名者装置10は、電子文書に対して電子署名を行う署名者が操作するコンピュータである。文書DB30は、電子文書を保存し、管理するデータベースである。文書DB30が管理する電子文書のフォーマットは特に限定されない。例えば、PDF(Portable Document Format)でもよいし、特定のアプリケーションに対応したフォーマットでもよい。検証者装置40は、電子文書に対して付された電子署名を検証する人が操作するコンピュータである。なお、図には署名者装置10及び検証者装置40がネットワーク上にそれぞれ複数存在してももちろんよい。典型的な例では、1つの電子文書に対して、複数の署名者、すなわち複数の署名者装置10により順に電子署名が付されていく。また、1つのコンピュータが署名者装置10の機能と検証者装置40の機能を併せ持っていてもよい。
【0022】
署名者装置10は、記憶部12,領域指定受付部20及び署名付与部22を備える。記憶部12は、データを記憶する手段である。ここでは、署名者装置10の主記憶(ランダム・アクセス・メモリなど)及び補助記憶(ハードディスクなど)を総称して記憶部12と呼んでいる。記憶部12には、署名者装置10を使用するユーザ(署名者)の公開鍵証明書14及び秘密鍵16が保存されている。また、署名者が電子文書に対して署名を行う際には、その電子文書18が記憶部12に一時的に記憶される。なお、署名者装置10は、既に電子署名が付されている署名付き電子文書に対しても、電子署名を付すことができる。
【0023】
領域指定受付部20は、署名者から署名領域の指定を受け付ける。領域指定受付部20は、電子文書の画像を画面表示し、例えば署名者のポインティングデバイスの操作により、その画像上で署名領域の指定を受ける。例えば、署名領域が画像のX,Y軸に平行な辺からなる矩形の領域である場合は、ポインティングデバイスでその矩形領域の右上隅の頂点と左下隅の頂点を指定することで、署名領域を指定することができる。この場合、署名領域は、右上隅の頂点の座標と左下隅の頂点の座標の組により表現することができる。なお、署名領域の形状は矩形に限らない。ポインティングデバイスを用いて様々な形状の領域を指定する方法が従来知られており、領域指定受付部20は、そのような従来手法を用いることができる。また、1つの電子文書上の複数の領域を署名領域として指定してもよい。また、電子文書が複数のページを含んでいる場合に、ページ単位で署名領域を指定できるようにしてもよいし、複数のページに跨って署名領域を指定できるようにしてもよい。また、署名領域は、ポインティングデバイス等で指定された個々の領域同士の足し算や引き算などで指定できるようにしてもよい。
【0024】
また、領域指定受付部20は、いったん署名者の署名領域の指定を受け付けた後は、次の署名者により電子文書に追記される場合、追記部分のみを順次署名領域とするようにしてもよい。例えば、すでに署名された署名領域以外の領域であって、追記された部分の画像領域の座標を抽出し、その座標で囲まれる領域を署名領域の初期候補として画面表示してもよい。
【0025】
署名付与部22は、電子文書のうち、領域指定受付部20が受け付けた署名領域内の文書部分のデータ(例えばその領域内の文書の画像)に対し、署名者の秘密鍵16を用いて電子署名を付与する。電子署名の付与は、従来用いられている手法を用いればよい。例えば、所定のメッセージダイジェストアルゴリズムにより、署名領域内の文書部分のデータのダイジェスト値を計算し、そのダイジェスト値を秘密鍵16により暗号化することで、電子署名の署名値を求めればよい。そして、求めた署名値、署名領域を特定する署名領域データ、及びその署名値を検証するため公開鍵証明書14を示す証明書データ、等を含んだ署名データを生成し、その署名データを当該電子文書に対応づければよい。署名データは、例えば、RFC3075に規定されるXMLデジタル署名などの従来のデジタル署名方式の署名データフォーマットに、署名領域データの要素を追加したものでよい。電子文書と署名データの対応付けも、そのような従来のデジタル署名方式で用いられている方式で行うことができる。例えば、XMLデジタル署名で規定されているenveloped署名、enveloping署名、detached署名などといった、従来方式が利用できる。また、署名者が複数の署名領域を指定した場合、署名付与部22は署名領域ごとに署名データを作成し、電子文書に対応づければよい。
【0026】
また、署名付与部22は、署名領域データに対しても署名者の秘密鍵16を用いて電子署名を施してもよい。これにより、署名領域データの改竄が検知できる。署名領域内の文書部分と、署名領域データの両方に電子署名を施す場合、前者と後者に対してそれぞれ別々に電子署名を施してもよいし、前者と後者を所定のフォーマットで結合したデータを作成し、そのデータに電子署名を施してもよい。
【0027】
署名者装置10が生成した署名付き電子文書は、文書DB30に登録される。図2に、文書DB30のデータ内容の一例を模式的に示す。図示例は、同一の電子文書上の3つの異なる署名領域に対し、それぞれ異なる署名者による電子署名がなされている場合の例である。図2に示した1行の情報が、1つの署名領域に対する署名データを示す。図において、項目「電子文書」は、署名の対象となった電子文書(又はそれを指し示すURI(Uniform Resource Identifier)等の識別子)を示しており、図示の3つの行のデータではこの項目は同一の値である。「署名領域データ」は、その電子文書中での署名領域を特定するデータ(例えば署名領域の外周形状を表すデータ)である。図では、署名領域データとして、文書中での署名領域の外観形状を絵で示しているが、これは説明の便宜のためであり、実際は領域形状を規定するパラメータなどからなるデータである。「証明書データ」は、その署名領域に対して施された電子署名を検証するための公開鍵証明書、又はその公開鍵証明書の識別情報である。図示例では、所定アルゴリズムで暗号化された証明書データを例示している。「署名値」は、電子文書中の署名領域内の部分に対する秘密鍵16によるデジタル署名の値である。また、署名領域データに対して計算されたデジタル署名の値を更に追加してもよい。
【0028】
検証者装置40は、記憶部42,検証指示受付部46,対象領域判定部48,及び署名検証部50を備える。記憶部42は、データを記憶する手段であり、検証者装置40の主記憶又は補助記憶である。記憶部42には、文書DB30から取得された署名検証の対象となる署名付き電子文書44が記憶される。
【0029】
検証指示受付部46は、署名付き電子文書44についての署名検証指示を受け付ける手段である。署名の検証には、例えば、その署名付き電子文書に付されたすべての電子署名を検証する第1のモードと、署名付き電子文書中のユーザが指定した領域に付された電子署名のみを検証する第2のモードがあってもよい。この場合、検証指示受付部46は、ユーザから、第1のモードか第2のモードかの指示を受け付け、第2のモードの場合は更に検証対象の領域の指示を受け付ければよい。なお、第1のモードは、第2のモードにおいて検証対象の領域が電子文書全体となったもの、と取り扱ってもよい。
【0030】
対象領域判定部48は、検証指示受付部46が受け付けた署名検証指示に応じて検証すべき署名領域(「対象署名領域」と呼ぶ)を判定する。例えば、第1のモードが指定されている場合は、当該署名付き電子文書に設定されたすべての署名領域が対象署名領域と判定される。第2のモードが指定された場合は、当該署名付き電子文書に設定された署名領域のうち、ユーザが指定した領域を含んだ署名領域が、対象署名領域と判定される。
【0031】
署名検証部50は、対象領域判定部48が判定した対象署名領域ごとに、当該対象署名領域に対して付された電子署名を検証する。
【0032】
次に、図3を参照して、署名者装置10が実行する処理手順の一例を説明する。この手順は、例えば、署名者装置10が保持する電子文書に対する署名指示をユーザ(署名者)から受けたときや、そのような電子文書を文書DB30に登録する旨の指示をユーザから受け取ったときなどに実行される。すなわち、例えば、ユーザは、文書DB30から電子文書又は署名付き電子文書を取得し、署名者装置10上の所定のアプリケーションにてその電子文書を閲覧し、必要に応じて編集(追記や削除など)を加える。そして、例えば、その閲覧又は編集が終わったときに、ユーザは、自分が閲覧又は編集した部分に対する責任を持つことを表明するために、図3の処理手順を呼び出してその電子文書に電子署名を付与し、その結果得られる署名付き電子文書を文書DB30に登録する。
【0033】
図3の手順では、まず、領域指定受付部20は、ユーザから署名領域の指定を受け付ける(S10)。例えば、領域指定受付部20は、署名者装置10の表示装置に表示された電子文書の画像上で、署名領域の指定を受け付ける。次に、領域指定受付部20は、その電子文書に対して既に付与されている各電子署名の署名領域データを記憶部12又は文書DB30から取得する(S12)。そして、それら既に付与されている電子署名の署名領域の中に、ステップS10で指定された署名領域と重複するものがあるかどうかを判定する(S14)。
【0034】
重複するものがある場合、領域指定受付部20は、ユーザにその旨を報知し、ステップS10で指定された署名領域をそのまま確認する(すなわち意図通りの署名領域と認める)か、或いは署名領域を指定し直すかの判断を求める(S16,S18)。これらのステップは、署名領域の指定操作のミスなどでユーザの意図しない領域が署名領域として指定されてしまうことを防止するためのものである。例えば、電子文書中のある部分に対して複数人の電子署名が付されている場合、その部分に修正を加えるには、それら複数人すべての了解が必要となる。これは、ユーザが電子文書中で持つ領域を署名領域に指定するという枠組みから要請されることである。したがって、誤操作により署名領域が重複してしまうと、それら各署名領域のうちのいずれかに対して修正を加える際に、それと重複する他の署名領域の署名者の了解を得る必要が生じるという煩雑さがある。このような煩雑さを避けるために、ステップS16及びS18の処理を行っている。
【0035】
なお、ステップS16では、ステップS10で指定された署名領域がユーザの意図通りのものかどうかの判断材料として、電子文書の画像上で当該署名領域と既存の署名領域と重複する部分を明示してもよい。
【0036】
ステップS18で、ユーザから署名領域を再指定する旨の指示を受けた場合は、領域指定受付部20は、ステップS10に戻り、再度ユーザから署名領域の指定を受け付ける。このとき、再指定の案内のために、前回指定した署名領域と重複する既存の署名領域を画面上で明示してもよい。また、ステップS18で再指定の旨が指示された場合に、ユーザに再指定してもらう代わりに、領域指定受付部20が、ステップS10で指定された領域から、ステップS14で重複すると判定された部分を自動的に削除することで、既存の署名領域と重複しない署名領域を生成してもよい。
【0037】
ステップS18でユーザから署名領域を確認した場合には、ステップS10で指定された署名領域が採用される。
【0038】
なお、ステップS14で署名領域の重複が生じないと判定された場合は、ステップS16及びS18は飛ばされる。
【0039】
ステップS14又はS18により署名領域が画定されると、署名付与部22は、対象となる電子文書から、その署名領域内の部分の文書データを抽出する(S20)。また、ステップS10で受け付けた指定に基づき、署名領域を表す署名領域データを生成する(S22)。そして、抽出された文書データと、署名領域データとについて、当該署名者の秘密鍵16を用いて署名値を計算する(S24)。ここでは、文書データについての署名値と、署名領域データについての署名値とを別々に計算してもよいし、文書データと署名領域データとを併合したものに対して1つの署名値を計算してもよい。そして、署名付与部22は、署名領域データ、署名値、及び署名者の公開鍵証明書14を示す証明書データを組み合わせることで署名要素データを生成し、生成した署名要素データを署名付与対象の電子文書又は署名付き電子文書に対応づけて、文書DB30に登録する(S26)。
【0040】
1つの電子文書に対し複数の署名者が順に電子署名を付していく場合には、各署名者の署名者装置10にて、以上に説明した図3の処理が行われることになる。図4及び図5を参照して具体例を説明する。
【0041】
この具体例では、ある企業の契約担当者が契約書の雛形60を作成し、その企業と契約を結ぼうとする契約者が雛形60中の記入欄62,64,66に対して必要事項を記入してその企業に提出する流れを考える。この場合、企業の契約担当者は、契約書の雛形60から記入欄62,64,66を除いた残りの部分68については内容の責任を持つことが考えられる。この場合、契約担当者は、作成した雛形60の電子文書のうち、その部分68を署名領域に指定して自分の電子署名を付せばよい。なお、このような部分は、例えば、雛形60の全体から各記入欄62〜66を引き算する形で領域指定すればよい。
【0042】
契約者は、このように契約担当者が部分的に電子署名を施した署名付きの契約書70の電子データを取得し、その契約書中の各記入欄62〜66に必要事項を入力する。そして、契約書の雛形文面を確認した上で記入を行ったことを明示するために、契約書全体75を署名領域に指定して、自分の電子署名を施す。契約者が記入した記入欄62〜64だけでなく、契約書全体を署名領域に指定して電子署名を施すことで、契約者は、自分が記入したあとで契約書の文言に変更が加えられたかどうかを確認することができる。
【0043】
次に、図6を参照して、検証者装置40の処理手順の一例を説明する。この手順は、ユーザが、例えば、文書DB30から検証者装置40に署名付き電子文書を取得し、その署名付き電子文書の検証を指示した場合に実行される。この手順では、まず検証指示受付部46が、その署名付き電子文書の電子文書本体(すなわち署名要素データを除いた部分)を画面表示し(S30)、検証領域の指定を受け付ける(S32)。検証領域の指定方式は、例えば、署名領域と同様、ポインティングデバイスで範囲指定をする方式でよい。ただし、検証領域の場合、面積を持つ領域を指定する必要はなく、単に1つの点の指定でもよい。また、電子文書全体を検証する選択肢を設けておき、その選択肢を選択すれば電子文書に付されたすべての署名領域を検証するようにしてもよい。
【0044】
この指定のあと、対象領域判定部48は、その署名付き電子文書の情報から各署名領域の情報を取得し、それら署名領域ごとに、その署名領域が、ステップS32で指定された検証領域と重複するか否かを判定する(S34)。そして、重複する場合には、署名検証部50にその署名領域についての署名検証を指示する。この指示を受けた署名検証部50は、その署名領域に対応する署名値及び証明書データを署名付き電子文書44から取得すると共に(S36)、電子文書中のその署名領域の文書部分を抽出し、それら署名値、証明書データ及び文書部分に基づき、署名検証を行う(S38)。署名検証は、従来と同様に行えばよい。例えば、署名領域の文書部分のメッセージダイジェスト値を計算すると共に、証明書データが示す公開鍵証明書の公開鍵で署名値を復号し、そのメッセージダイジェスト値と署名値の復号結果とが一致すれば検証成功、一致しなければ検証失敗とすればよい。以上のステップS34〜S38を、署名付き電子文書に設定されたすべての署名領域に対して実行することで、検証領域と重複する署名領域ごとに、その署名領域に付された電子署名を検証することができる。
【0045】
なお、電子文書全体についての検証が指示された場合は、ステップS34の判定は行わず、その電子文書に設定されたすべての署名領域について、それぞれ署名検証(S36及びS38)を行えばよい。
【0046】
そして、検証者装置40は、各署名領域の検証結果を表す結果表示画面の情報を生成し、付属する表示装置に表示する。結果表示画面は、例えば、検証した署名領域ごとに、署名者と、検証結果(例えば成功又は失敗の区別)とを列挙したものであってもよい。また、検証が失敗した署名領域を電子文書の画像上で強調表示してもよい。ただし、これらはあくまで一例に過ぎない。
【0047】
以上に説明した署名者装置10及び検証者装置40は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、図7に示すように、CPU1000等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)1002およびリードオンリメモリ(ROM)1004等のメモリ(一次記憶)、HDD(ハードディスクドライブ)1006を制御するHDDコントローラ1008、各種I/O(入出力)インタフェース1010、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース1012等が、たとえばバス1014を介して接続された回路構成を有する。また、そのバス1014に対し、例えばI/Oインタフェース1010経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ1016、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ1018、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAM1002に読み出されCPU1000等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit、特定用途向け集積回路)又はFPGA(Field Programmable Gate Array)等のハードウエア回路として構成してもよい。
【0048】
なお、図1に示したシステム構成はあくまで一例に過ぎない。例えば、図1に例示した署名者装置10及び検証者装置40が1つのハードウエア装置上に実装されていてもよい。また、電子文書又は署名付き電子文書は、文書DB30を経由せずに直接ユーザ間で受け渡しされてもよい。また、署名者装置10のうち署名者の秘密鍵16以外の部分の機能を、サーバが署名者のPCに提供してもよい。また、検証者装置40の各機能も、サーバが検証者のPCに提供するようにしてもよい。これらの機能は、例えばサーバサイド技術を用いてサーバからユーザのPCに提供すればよい(但し、サーバサイド技術に限られるわけではない)。
【図面の簡単な説明】
【0049】
【図1】実施形態のシステム構成の一例を示す図である。
【図2】文書データベースのデータ内容の一例を説明するための図である。
【図3】署名者装置の処理手順の一例を示す図である。
【図4】同一の電子文書に対して各人が異なる署名領域を指定する例を説明するための図である。
【図5】同一の電子文書に対して各人が異なる署名領域を指定する例を説明するための図である。
【図6】検証者装置の処理手順の一例を示す図である。
【図7】コンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【0050】
10 署名者装置、12 記憶部、20 領域指定受付部、22 署名付与部、30 文書DB、40 検証者装置、42 記憶部、46 検証指示受付部、48 対象領域判定部、50 署名検証部。

【特許請求の範囲】
【請求項1】
署名装置と検証装置とを備え、
前記署名装置は、
ユーザから電子文書中での署名領域の指定を受け付ける領域指定受付手段と、
前記電子文書中の前記署名領域内の部分データと前記ユーザの秘密鍵とを用いて、当該署名領域に対応する前記ユーザの電子署名値を計算する署名値計算手段と、
前記署名値計算手段が生成した電子署名値と、前記署名領域を特定する署名領域データと、前記ユーザの公開鍵を特定するための公開鍵情報と、を含む署名データを前記電子文書に対応づけることにより、署名付き電子文書を生成する署名付き電子文書生成手段と、
を備え、
前記検証装置は、
署名付き電子文書に含まれる署名領域データに基づき、前記署名付き電子文書中の署名領域内の部分データを抽出する抽出手段と、
抽出された部分データと、前記署名付き電子文書に含まれる電子署名値及び公開鍵情報と、に基づき、当該電子署名データが、前記署名領域内のデータに対する前記ユーザの正しい電子署名であるか否かを検証する検証手段と、
を備える、
ことを特徴とする電子署名システム。
【請求項2】
前記領域指定受付手段は、前記電子文書に追記された場合には、当該追記された部分の領域を新たな署名領域とすることを特徴とする請求項1に記載の電子署名システム。
【請求項3】
署名付き電子文書中の電子文書に対して前記領域指定受付手段が前記ユーザから指定を受け付けた署名領域が、当該署名付き電子文書中に既に存在する署名領域データが示す署名領域と重複する場合に、署名領域の重複の発生を前記ユーザに報知する報知手段、
を更に備える請求項1記載の電子署名システム。
【請求項4】
ユーザから電子文書中での署名領域の指定を受け付ける領域指定受付手段と、
前記電子文書中の前記署名領域内の部分データと前記ユーザの秘密鍵とを用いて、当該署名領域に対応する前記ユーザの電子署名値を計算する署名値計算手段と、
前記署名値計算手段が生成した電子署名値と、前記署名領域を特定する署名領域データと、前記ユーザの公開鍵を特定するための公開鍵情報と、を含む署名データを前記電子文書に対応づけることにより、署名付き電子文書を生成する署名付き電子文書生成手段と、
を備える署名装置。
【請求項5】
署名付き電子文書に含まれる署名領域データに基づき、前記署名付き電子文書中の署名領域内の部分データを抽出する抽出手段と、
抽出された部分データと、前記署名付き電子文書に含まれる電子署名値及び公開鍵情報と、に基づき、当該電子署名データが、前記署名領域内のデータに対する前記ユーザの正しい電子署名であるか否かを検証する検証手段と、
を備える検証装置。
【請求項6】
コンピュータを、
ユーザから電子文書中での署名領域の指定を受け付ける領域指定受付手段、
前記電子文書中の前記署名領域内の部分データと前記ユーザの秘密鍵とを用いて、当該署名領域に対応する前記ユーザの電子署名値を計算する署名値計算手段、
前記署名値計算手段が生成した電子署名値と、前記署名領域を特定する署名領域データと、前記ユーザの公開鍵を特定するための公開鍵情報と、を含む署名データを前記電子文書に対応づけることにより、署名付き電子文書を生成する署名付き電子文書生成手段、
として機能させるためのプログラム。
【請求項7】
コンピュータを、
署名付き電子文書に含まれる署名領域データに基づき、前記署名付き電子文書中の署名領域内の部分データを抽出する抽出手段、
抽出された部分データと、前記署名付き電子文書に含まれる電子署名値及び公開鍵情報と、に基づき、当該電子署名データが、前記署名領域内のデータに対する前記ユーザの正しい電子署名であるか否かを検証する検証手段、
として機能させるためのプログラム。

【図1】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図2】
image rotate


【公開番号】特開2009−232002(P2009−232002A)
【公開日】平成21年10月8日(2009.10.8)
【国際特許分類】
【出願番号】特願2008−72846(P2008−72846)
【出願日】平成20年3月21日(2008.3.21)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】