JP2000250408A - ファイル認証システム、署名システム及び署名方法、認証システム及び認証方法、及び記録媒体 - Google Patents
ファイル認証システム、署名システム及び署名方法、認証システム及び認証方法、及び記録媒体Info
- Publication number
- JP2000250408A JP2000250408A JP11052961A JP5296199A JP2000250408A JP 2000250408 A JP2000250408 A JP 2000250408A JP 11052961 A JP11052961 A JP 11052961A JP 5296199 A JP5296199 A JP 5296199A JP 2000250408 A JP2000250408 A JP 2000250408A
- Authority
- JP
- Japan
- Prior art keywords
- signature
- file
- certificate
- signed
- original
- 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.)
- Pending
Links
Landscapes
- Storage Device Security (AREA)
Abstract
(57)【要約】
【課題】 対象ファイル数を増加させることなく、複数
の利用者の認証のレベルに上下関係が発生せず、しかも
署名によりデータサイズを増大させない。 【解決手段】 署名システム1のハッシュ値算出部15
は、対象文書及び証明書のハッシュ値を求める。署名処
理部17は、1人目の署名者の場合には、ハッシュ値算
出部15で算出されたハッシュ値に、2人目以降の署名
者の場合には、逐次直前の署名データに、それぞれ秘密
鍵による暗号化を施して累積的な署名データを得る。デ
ータ結合部18は、証明書が追加された文書にさらに署
名データを結合して、署名付き文書を生成する。検証シ
ステム2の検証処理部22は、署名付き文書の署名デー
タを、全ての利用者の公開鍵を用いて、逐次復号を施し
て、検証結果を得る。比較判定部24は、検証処理部2
2で得た検証結果と、ハッシュ値演算部23で得た対象
文書と証明書のハッシュ値とを比較する。
の利用者の認証のレベルに上下関係が発生せず、しかも
署名によりデータサイズを増大させない。 【解決手段】 署名システム1のハッシュ値算出部15
は、対象文書及び証明書のハッシュ値を求める。署名処
理部17は、1人目の署名者の場合には、ハッシュ値算
出部15で算出されたハッシュ値に、2人目以降の署名
者の場合には、逐次直前の署名データに、それぞれ秘密
鍵による暗号化を施して累積的な署名データを得る。デ
ータ結合部18は、証明書が追加された文書にさらに署
名データを結合して、署名付き文書を生成する。検証シ
ステム2の検証処理部22は、署名付き文書の署名デー
タを、全ての利用者の公開鍵を用いて、逐次復号を施し
て、検証結果を得る。比較判定部24は、検証処理部2
2で得た検証結果と、ハッシュ値演算部23で得た対象
文書と証明書のハッシュ値とを比較する。
Description
【0001】
【発明の属する技術分野】この発明は、文書等のファイ
ルに公開鍵アルゴリズムを利用して署名を添付すること
により、当該ファイルの内容が正当であることを証明す
るファイル認証技術に係り、特に同一ファイルに対する
複数人の署名及びその検証を行うためのファイル認証方
法、そのシステム及び記録媒体に関する。
ルに公開鍵アルゴリズムを利用して署名を添付すること
により、当該ファイルの内容が正当であることを証明す
るファイル認証技術に係り、特に同一ファイルに対する
複数人の署名及びその検証を行うためのファイル認証方
法、そのシステム及び記録媒体に関する。
【0002】
【従来の技術】例えば文書等のファイルからなるメッセ
ージを改竄から保証するため、公開鍵アルゴリズムを用
いて、当該ファイルの内容の正当性を証明する技術が開
発されている。すなわち、メッセージであるオリジナル
ファイルにダイジェスト関数としての一方向関数による
処理を施してメッセージダイジェストを得て、該メッセ
ージダイジェストを送信者の公開鍵アルゴリズムを用い
て暗号化したものを署名データとして、メッセージとと
もに送信する。先に述べたメッセージダイジェストは、
元のメッセージに特有であるから電子指紋(finger pri
nt)等とも称され、これを暗号化した署名データは、電
子署名又はディジタル署名と称される。
ージを改竄から保証するため、公開鍵アルゴリズムを用
いて、当該ファイルの内容の正当性を証明する技術が開
発されている。すなわち、メッセージであるオリジナル
ファイルにダイジェスト関数としての一方向関数による
処理を施してメッセージダイジェストを得て、該メッセ
ージダイジェストを送信者の公開鍵アルゴリズムを用い
て暗号化したものを署名データとして、メッセージとと
もに送信する。先に述べたメッセージダイジェストは、
元のメッセージに特有であるから電子指紋(finger pri
nt)等とも称され、これを暗号化した署名データは、電
子署名又はディジタル署名と称される。
【0003】受信者は、受信メッセージに同じ一方向性
関数による処理を施して得られるメッセージダイジェス
トと、前記署名データを公開鍵アルゴリズムを用いて復
号したメッセージダイジェストとを比較し、両者が一致
すれば当該受信メッセージは正当なものであると認定す
る。両者が一致しない場合、受信メッセージには何らか
の改竄が施されていることになる。
関数による処理を施して得られるメッセージダイジェス
トと、前記署名データを公開鍵アルゴリズムを用いて復
号したメッセージダイジェストとを比較し、両者が一致
すれば当該受信メッセージは正当なものであると認定す
る。両者が一致しない場合、受信メッセージには何らか
の改竄が施されていることになる。
【0004】具体的には、例えば図6に示すように、オ
リジナル文書ファイルの情報を一方向関数であるハッシ
ュ関数により非可逆的に圧縮しハッシュ値を得る。この
ハッシュ値を署名者の公開鍵アルゴリズムの秘密鍵によ
り暗号化して、署名データを得る。この署名データを、
オリジナル文書ファイルに付して署名が完成する。この
ような署名データが付された文書ファイルから、署名デ
ータを、公開鍵アルゴリズムに基づき署名者の公開鍵に
よって復号して、元のハッシュ値を得る。また、該署名
データが付された文書ファイルから文書ファイルを抽出
して、そのハッシュ値を求め、署名データを復号したハ
ッシュ値と比較検証する。両者が一致すれば当該文書フ
ァイルは正当なものであると認証し、両者が一致しない
場合は、当該文書ファイルには何らかの改竄が施されて
いると判定する。
リジナル文書ファイルの情報を一方向関数であるハッシ
ュ関数により非可逆的に圧縮しハッシュ値を得る。この
ハッシュ値を署名者の公開鍵アルゴリズムの秘密鍵によ
り暗号化して、署名データを得る。この署名データを、
オリジナル文書ファイルに付して署名が完成する。この
ような署名データが付された文書ファイルから、署名デ
ータを、公開鍵アルゴリズムに基づき署名者の公開鍵に
よって復号して、元のハッシュ値を得る。また、該署名
データが付された文書ファイルから文書ファイルを抽出
して、そのハッシュ値を求め、署名データを復号したハ
ッシュ値と比較検証する。両者が一致すれば当該文書フ
ァイルは正当なものであると認証し、両者が一致しない
場合は、当該文書ファイルには何らかの改竄が施されて
いると判定する。
【0005】このような電子署名による認証技術を用い
て、複数の利用者が例えば契約書等の文書に署名をして
取り交わそうとする場合を考える。このような場合に
は、利用者を例えば利用者A及び利用者Bとすると、次
のような2種類の形態が考えられる。
て、複数の利用者が例えば契約書等の文書に署名をして
取り交わそうとする場合を考える。このような場合に
は、利用者を例えば利用者A及び利用者Bとすると、次
のような2種類の形態が考えられる。
【0006】(1)第1の形態は、利用者Aが署名した
後に、利用者Bが署名する。すなわち、図7に示すよう
に、まず、オリジナル文書ファイルに利用者Aが署名し
て、利用者Aの署名、つまり署名A、を生成して、文書
ファイルに追加し、利用者Aの署名付きの文書を得る。
該利用者Aの署名付きの文書は、図示するように文書及
び署名Aで構成される。次に、利用者Aの署名付きの文
書に利用者Bが署名して、利用者Bの署名、つまり署名
B、を生成して、元の文書ファイルに追加し、利用者A
及びBの署名付きの文書を得る。該利用者A及びBの署
名付きの文書は、図示するように文書+署名A及び署名
Bで構成される。この場合の署名者Bの署名の対象は、
文書及び署名Aである。
後に、利用者Bが署名する。すなわち、図7に示すよう
に、まず、オリジナル文書ファイルに利用者Aが署名し
て、利用者Aの署名、つまり署名A、を生成して、文書
ファイルに追加し、利用者Aの署名付きの文書を得る。
該利用者Aの署名付きの文書は、図示するように文書及
び署名Aで構成される。次に、利用者Aの署名付きの文
書に利用者Bが署名して、利用者Bの署名、つまり署名
B、を生成して、元の文書ファイルに追加し、利用者A
及びBの署名付きの文書を得る。該利用者A及びBの署
名付きの文書は、図示するように文書+署名A及び署名
Bで構成される。この場合の署名者Bの署名の対象は、
文書及び署名Aである。
【0007】(2)第2の形態は、オリジナル文書ファ
イルに利用者A及び利用者Bが、それぞれ署名をした
後、相手に渡す。すなわち、図8に示すように、一方で
は、オリジナル文書ファイルに利用者Aが署名し、署名
Aを生成して、文書ファイルに追加し、利用者Aの署名
付きの文書を得る。該利用者Aの署名付きの文書は、図
示するように文書及び署名Aで構成される。また、他方
では、オリジナル文書ファイルに利用者Bが署名し、署
名Bを生成して、文書ファイルに追加し、利用者Bの署
名付きの文書を得る。該利用者Bの署名付きの文書は、
図示するように文書及び署名Bで構成される。そして、
利用者Aは、該利用者Aの署名付きの文書を、利用者B
に渡し、利用者Bは、該利用者Bの署名付きの文書を利
用者Aに渡す。その結果、利用者Aの手元にも利用者B
の手元にも、利用者Aの署名付きの文書と利用者Bの署
名付きの文書との両方を残すことになる。
イルに利用者A及び利用者Bが、それぞれ署名をした
後、相手に渡す。すなわち、図8に示すように、一方で
は、オリジナル文書ファイルに利用者Aが署名し、署名
Aを生成して、文書ファイルに追加し、利用者Aの署名
付きの文書を得る。該利用者Aの署名付きの文書は、図
示するように文書及び署名Aで構成される。また、他方
では、オリジナル文書ファイルに利用者Bが署名し、署
名Bを生成して、文書ファイルに追加し、利用者Bの署
名付きの文書を得る。該利用者Bの署名付きの文書は、
図示するように文書及び署名Bで構成される。そして、
利用者Aは、該利用者Aの署名付きの文書を、利用者B
に渡し、利用者Bは、該利用者Bの署名付きの文書を利
用者Aに渡す。その結果、利用者Aの手元にも利用者B
の手元にも、利用者Aの署名付きの文書と利用者Bの署
名付きの文書との両方を残すことになる。
【0008】
【発明が解決しようとする課題】上述したように、
(1)利用者Aが署名した後に、利用者Bが署名する第
1の形態では、利用者Aの署名時には利用者Bは未だ署
名していない。この場合、利用者Aの署名(署名A)に
ついての検証には、利用者Bの署名(署名B)について
の検証結果を用いるため、利用者Bの署名についての検
証を行った後でなければ、利用者Aの署名についての検
証を行うことができない。したがって、利用者Aは、利
用者Bの署名を先に検証することができないなど、利用
者Aと利用者Bとの関係が対等でないという問題があ
る。
(1)利用者Aが署名した後に、利用者Bが署名する第
1の形態では、利用者Aの署名時には利用者Bは未だ署
名していない。この場合、利用者Aの署名(署名A)に
ついての検証には、利用者Bの署名(署名B)について
の検証結果を用いるため、利用者Bの署名についての検
証を行った後でなければ、利用者Aの署名についての検
証を行うことができない。したがって、利用者Aは、利
用者Bの署名を先に検証することができないなど、利用
者Aと利用者Bとの関係が対等でないという問題があ
る。
【0009】また、(2)オリジナル文書ファイルに利
用者A及び利用者Bが、それぞれ署名をした後、相手に
渡す第2の形態では、利用者A及び利用者Bは、署名に
際し、各独立に文書ファイルに署名を付した署名付き文
書ファイルを作る。このため、2種類の署名付き文書フ
ァイルができてしまい、署名付き文書ファイルの取り扱
いが煩雑になり、しかも署名付き文書ファイルを格納す
る記憶装置の容量、及び伝送する伝送量を多く必要とす
る。
用者A及び利用者Bが、それぞれ署名をした後、相手に
渡す第2の形態では、利用者A及び利用者Bは、署名に
際し、各独立に文書ファイルに署名を付した署名付き文
書ファイルを作る。このため、2種類の署名付き文書フ
ァイルができてしまい、署名付き文書ファイルの取り扱
いが煩雑になり、しかも署名付き文書ファイルを格納す
る記憶装置の容量、及び伝送する伝送量を多く必要とす
る。
【0010】この発明は、上述した事情に鑑みてなされ
たもので、対象ファイル数を増加させることなく、運用
が容易で、複数の利用者の認証のレベルに上下関係が発
生せず、しかも署名によりデータサイズを増大させるこ
とがないファイル認証方法、そのシステム及び記録媒体
を提供することを目的とする。
たもので、対象ファイル数を増加させることなく、運用
が容易で、複数の利用者の認証のレベルに上下関係が発
生せず、しかも署名によりデータサイズを増大させるこ
とがないファイル認証方法、そのシステム及び記録媒体
を提供することを目的とする。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、この発明の第1の観点によるファイル認証システム
は、対象ファイルが原ファイルのみであるときは、原フ
ァイルに基づいて当該署名者の署名情報を生成し、該対
象ファイルが原ファイルに署名情報を付加した署名付き
ファイルであるときは、前記署名情報に当該署名者の原
ファイルに対する署名情報を合成して新たな署名情報と
する署名処理手段と、前記署名処理手段により得られる
署名情報を前記原ファイルに付加して署名付きファイル
を生成する署名付きファイル生成手段と、前記署名付き
ファイル生成手段により生成された署名付きファイルを
署名情報に基づいて検証する検証手段と、を具備する。
め、この発明の第1の観点によるファイル認証システム
は、対象ファイルが原ファイルのみであるときは、原フ
ァイルに基づいて当該署名者の署名情報を生成し、該対
象ファイルが原ファイルに署名情報を付加した署名付き
ファイルであるときは、前記署名情報に当該署名者の原
ファイルに対する署名情報を合成して新たな署名情報と
する署名処理手段と、前記署名処理手段により得られる
署名情報を前記原ファイルに付加して署名付きファイル
を生成する署名付きファイル生成手段と、前記署名付き
ファイル生成手段により生成された署名付きファイルを
署名情報に基づいて検証する検証手段と、を具備する。
【0012】このファイル認証システムでは、署名情報
を累積的に合成していくので、署名ファイルの数を増加
させることなく、運用が容易で、複数の利用者の認証の
レベルに上下関係が発生せず、しかも署名によりデータ
サイズを増大させることがない。
を累積的に合成していくので、署名ファイルの数を増加
させることなく、運用が容易で、複数の利用者の認証の
レベルに上下関係が発生せず、しかも署名によりデータ
サイズを増大させることがない。
【0013】また、この発明の第2の観点によるファイ
ル認証システムは、原ファイルに署名者の公開鍵を含む
電子的な証明書を追加する証明書追加手段、前記原ファ
イル及び証明書から一方向関数を用いてメッセージダイ
ジェストを生成する第1のダイジェスト生成手段、前記
メッセージダイジェストを各署名者の秘密鍵を用いて暗
号化することにより、逐次累積的に署名し、署名データ
を得る署名処理手段、及び前記原ファイル及び証明書に
前記累積的な署名データを付加して、前記原ファイル、
証明書及び署名データからなる署名付きファイルを生成
するデータ結合手段、を具備する署名システムと、前記
署名付きファイル中の証明書から署名者の公開鍵を抽出
する公開鍵抽出手段、抽出された公開鍵を用いて、前記
署名付きファイルから取り出した署名データを逐次復号
することにより、前記署名データを検証し、検証結果と
して元のメッセージダイジェストを得る検証処理手段、
前記署名付きファイルから取り出した原ファイル及び証
明書から前記一方向関数を用いてメッセージダイジェス
トを生成する第2のダイジェスト生成手段、及び前記検
証処理手段による検証結果を前記第2のダイジェスト生
成手段で得られるメッセージダイジェストと比較照合し
て、両者の同一性により原ファイルを認証する照合手
段、を具備する検証システムと、を備える。
ル認証システムは、原ファイルに署名者の公開鍵を含む
電子的な証明書を追加する証明書追加手段、前記原ファ
イル及び証明書から一方向関数を用いてメッセージダイ
ジェストを生成する第1のダイジェスト生成手段、前記
メッセージダイジェストを各署名者の秘密鍵を用いて暗
号化することにより、逐次累積的に署名し、署名データ
を得る署名処理手段、及び前記原ファイル及び証明書に
前記累積的な署名データを付加して、前記原ファイル、
証明書及び署名データからなる署名付きファイルを生成
するデータ結合手段、を具備する署名システムと、前記
署名付きファイル中の証明書から署名者の公開鍵を抽出
する公開鍵抽出手段、抽出された公開鍵を用いて、前記
署名付きファイルから取り出した署名データを逐次復号
することにより、前記署名データを検証し、検証結果と
して元のメッセージダイジェストを得る検証処理手段、
前記署名付きファイルから取り出した原ファイル及び証
明書から前記一方向関数を用いてメッセージダイジェス
トを生成する第2のダイジェスト生成手段、及び前記検
証処理手段による検証結果を前記第2のダイジェスト生
成手段で得られるメッセージダイジェストと比較照合し
て、両者の同一性により原ファイルを認証する照合手
段、を具備する検証システムと、を備える。
【0014】この発明に係るファイル認証システムで
は、ダイジェストを各署名者の秘密鍵で暗号化すること
により、累積的に署名しているので、署名ファイル数や
データサイズが大きく増加することがない。また、証明
書から各署名者の公開鍵を得ることができるので、認証
の順番などに制限を設ける必要がなく、運用が容易で、
複数の利用者の認証のレベルに上下関係が発生しない。
は、ダイジェストを各署名者の秘密鍵で暗号化すること
により、累積的に署名しているので、署名ファイル数や
データサイズが大きく増加することがない。また、証明
書から各署名者の公開鍵を得ることができるので、認証
の順番などに制限を設ける必要がなく、運用が容易で、
複数の利用者の認証のレベルに上下関係が発生しない。
【0015】この発明の第3の観点によるファイル認証
システムは、原ファイルに署名者の公開鍵を含む電子的
な証明書を追加する証明書追加手段、前記原ファイル及
び証明書からハッシュ関数を用いてハッシュ値を求める
第1のハッシュ演算手段、前記ハッシュ値を各署名者の
秘密鍵を用いて暗号化することにより、逐次累積的に署
名し、署名データを得る署名処理手段、及び前記原ファ
イル及び証明書に前記累積的な署名データを付加して、
前記原ファイル、証明書及び署名データからなる署名付
きファイルを生成するデータ結合手段、を具備する署名
システムと、前記原ファイル、証明書及び署名データか
らなる署名付きファイル中の証明書から公開鍵を抽出す
る公開鍵抽出手段、抽出された公開鍵を用いて、前記署
名付きファイルから取り出した署名データを逐次復号す
ることにより、前記署名データを検証し、検証結果とし
て元のハッシュ値を得る検証処理手段、前記署名付きフ
ァイルから取り出した原ファイル及び証明書からハッシ
ュ関数を用いてハッシュ値を得る第2のハッシュ演算手
段、及び前記検証処理手段による検証結果を前記第2の
ハッシュ演算手段で得られるハッシュ値と比較照合し
て、両者の同一性により原ファイルを認証する照合手
段、を具備する検証システムと、を備える。
システムは、原ファイルに署名者の公開鍵を含む電子的
な証明書を追加する証明書追加手段、前記原ファイル及
び証明書からハッシュ関数を用いてハッシュ値を求める
第1のハッシュ演算手段、前記ハッシュ値を各署名者の
秘密鍵を用いて暗号化することにより、逐次累積的に署
名し、署名データを得る署名処理手段、及び前記原ファ
イル及び証明書に前記累積的な署名データを付加して、
前記原ファイル、証明書及び署名データからなる署名付
きファイルを生成するデータ結合手段、を具備する署名
システムと、前記原ファイル、証明書及び署名データか
らなる署名付きファイル中の証明書から公開鍵を抽出す
る公開鍵抽出手段、抽出された公開鍵を用いて、前記署
名付きファイルから取り出した署名データを逐次復号す
ることにより、前記署名データを検証し、検証結果とし
て元のハッシュ値を得る検証処理手段、前記署名付きフ
ァイルから取り出した原ファイル及び証明書からハッシ
ュ関数を用いてハッシュ値を得る第2のハッシュ演算手
段、及び前記検証処理手段による検証結果を前記第2の
ハッシュ演算手段で得られるハッシュ値と比較照合し
て、両者の同一性により原ファイルを認証する照合手
段、を具備する検証システムと、を備える。
【0016】この発明に係るファイル認証システムで
は、原ファイル及び証明書のハッシュ値を各署名者の秘
密鍵で暗号化することにより、累積的に署名しているの
で、署名ファイル数やデータサイズが大きく増加するこ
とがない。また、証明書から各署名者の公開鍵を得るこ
とができるので、認証の順番などに制限を設ける必要が
なく、運用が容易で、複数の利用者の認証のレベルに上
下関係が発生しない。
は、原ファイル及び証明書のハッシュ値を各署名者の秘
密鍵で暗号化することにより、累積的に署名しているの
で、署名ファイル数やデータサイズが大きく増加するこ
とがない。また、証明書から各署名者の公開鍵を得るこ
とができるので、認証の順番などに制限を設ける必要が
なく、運用が容易で、複数の利用者の認証のレベルに上
下関係が発生しない。
【0017】前記署名システムの前記署名処理手段は、
例えば、前記ハッシュ値Hに対して、署名者iがjを署
名する関数をSi(j)とし、署名暗号化されたハッシ
ュ値をCとして、各署名者により所定の順序で逐次、 C1=S1(H) C12=S2(C1) C123=S2(C12) … C1…n=Sn(C1…n−1) として、署名データC1…nを求める手段を含み、前記
検証システムの前記検証処理手段は、例えば、前記署名
データC1…nに対し、署名者iの公開鍵によりjを検
証復号する関数をKi(j)として、各署名者について
前記署名処理手段とは逆順で逐次、 C1…n−1=Kn(C1…n) … C12=K3(C123) C1=K2(C12) H=K1(C1) として元のハッシュ値を求める手段を含む。
例えば、前記ハッシュ値Hに対して、署名者iがjを署
名する関数をSi(j)とし、署名暗号化されたハッシ
ュ値をCとして、各署名者により所定の順序で逐次、 C1=S1(H) C12=S2(C1) C123=S2(C12) … C1…n=Sn(C1…n−1) として、署名データC1…nを求める手段を含み、前記
検証システムの前記検証処理手段は、例えば、前記署名
データC1…nに対し、署名者iの公開鍵によりjを検
証復号する関数をKi(j)として、各署名者について
前記署名処理手段とは逆順で逐次、 C1…n−1=Kn(C1…n) … C12=K3(C123) C1=K2(C12) H=K1(C1) として元のハッシュ値を求める手段を含む。
【0018】前記署名処理手段における各署名の順序
は、例えば、各署名者のモジュロ値の小さい順とし、前
記検証処理手段における検証復号の順序はモジュロ値の
大きい順とする。
は、例えば、各署名者のモジュロ値の小さい順とし、前
記検証処理手段における検証復号の順序はモジュロ値の
大きい順とする。
【0019】さらに、この発明の第4の観点による署名
システムは、原ファイルに署名者の公開鍵を含む電子的
な証明書を追加する証明書追加手段、前記原ファイル及
び証明書から一方向関数を用いてメッセージダイジェス
トを生成する第1のダイジェスト生成手段、前記メッセ
ージダイジェストを、各署名者の秘密鍵を用いて暗号化
することにより、逐次累積的に署名し、署名データを得
る署名処理手段、及び前記原ファイル及び証明書に前記
累積的な署名データを付加して、前記原ファイル、証明
書及び署名データからなる署名付きファイルを生成する
データ結合手段、を備えたことを特徴とする。この署名
システムでは、ダイジェストを各署名者の秘密鍵で暗号
化することにより、累積的に署名しているので、署名者
の数が増加しても、署名データのサイズが抑えられ、結
果として、署名付きファイルのサイズも抑えられる。
システムは、原ファイルに署名者の公開鍵を含む電子的
な証明書を追加する証明書追加手段、前記原ファイル及
び証明書から一方向関数を用いてメッセージダイジェス
トを生成する第1のダイジェスト生成手段、前記メッセ
ージダイジェストを、各署名者の秘密鍵を用いて暗号化
することにより、逐次累積的に署名し、署名データを得
る署名処理手段、及び前記原ファイル及び証明書に前記
累積的な署名データを付加して、前記原ファイル、証明
書及び署名データからなる署名付きファイルを生成する
データ結合手段、を備えたことを特徴とする。この署名
システムでは、ダイジェストを各署名者の秘密鍵で暗号
化することにより、累積的に署名しているので、署名者
の数が増加しても、署名データのサイズが抑えられ、結
果として、署名付きファイルのサイズも抑えられる。
【0020】この署名システムで署名されたファイルを
認証するための認証システムは、署名付きファイル中の
証明書から署名者の公開鍵を抽出する公開鍵抽出手段
と、前記公開鍵抽出手段により抽出された公開鍵を用い
て、前記署名付きファイルから取り出した署名データを
逐次復号することにより、元のメッセージダイジェスト
を得る検証処理手段と、前記署名付きファイルから取り
出した原ファイル及び証明書から前記一方向関数を用い
てメッセージダイジェストを生成するダイジェスト生成
手段と、前記検証処理手段により復号された元のメッセ
ージダイジェストを前記ダイジェスト生成手段で得られ
るメッセージダイジェストと比較照合して、両者の同一
性により原ファイルを認証する照合手段と、を具備す
る。この構成によれば、証明書から各署名者の公開鍵を
得ることができるので、認証の順番などに制限を設ける
必要がなく、運用が容易で、複数の利用者の認証のレベ
ルに上下関係が発生しない。
認証するための認証システムは、署名付きファイル中の
証明書から署名者の公開鍵を抽出する公開鍵抽出手段
と、前記公開鍵抽出手段により抽出された公開鍵を用い
て、前記署名付きファイルから取り出した署名データを
逐次復号することにより、元のメッセージダイジェスト
を得る検証処理手段と、前記署名付きファイルから取り
出した原ファイル及び証明書から前記一方向関数を用い
てメッセージダイジェストを生成するダイジェスト生成
手段と、前記検証処理手段により復号された元のメッセ
ージダイジェストを前記ダイジェスト生成手段で得られ
るメッセージダイジェストと比較照合して、両者の同一
性により原ファイルを認証する照合手段と、を具備す
る。この構成によれば、証明書から各署名者の公開鍵を
得ることができるので、認証の順番などに制限を設ける
必要がなく、運用が容易で、複数の利用者の認証のレベ
ルに上下関係が発生しない。
【0021】この発明の第5の観点によるファイル署名
方法は、原ファイルに署名対象者の公開鍵を含む電子的
な証明書を追加する証明書追加ステップと、前記原ファ
イル及び証明書から一方向関数を用いてメッセージダイ
ジェストを生成する第1のダイジェスト生成ステップ
と、前記メッセージダイジェストを各署名対象者の秘密
鍵を用いて暗号化することにより、逐次累積的に署名
し、署名データを得る署名処理ステップと、前記原ファ
イル及び証明書に前記累積的な署名データを付加して、
前記原ファイル、証明書及び署名データからなる署名付
きファイルを生成するデータ結合ステップと、を有す
る。
方法は、原ファイルに署名対象者の公開鍵を含む電子的
な証明書を追加する証明書追加ステップと、前記原ファ
イル及び証明書から一方向関数を用いてメッセージダイ
ジェストを生成する第1のダイジェスト生成ステップ
と、前記メッセージダイジェストを各署名対象者の秘密
鍵を用いて暗号化することにより、逐次累積的に署名
し、署名データを得る署名処理ステップと、前記原ファ
イル及び証明書に前記累積的な署名データを付加して、
前記原ファイル、証明書及び署名データからなる署名付
きファイルを生成するデータ結合ステップと、を有す
る。
【0022】この署名方法により生成された署名付きフ
ァイルを認証するファイル認証方法は、前記署名付きフ
ァイル中の証明書から署名対象者の公開鍵を抽出する公
開鍵抽出ステップと、抽出した公開鍵を用いて、前記署
名付きファイルから取り出した署名データを逐次復号す
ることにより、元のメッセージダイジェストを復号する
復号ステップと、前記署名付きファイルから取り出した
原ファイル及び証明書から前記一方向関数を用いてメッ
セージダイジェストを生成する第2のダイジェスト生成
ステップと、前記復号ステップにより復号された元のメ
ッセージダイジェストを前記第2のダイジェスト生成ス
テップで得られるメッセージダイジェストと比較照合し
て、両者の同一性により原ファイルを認証する照合ステ
ップと、を有することを特徴とする。
ァイルを認証するファイル認証方法は、前記署名付きフ
ァイル中の証明書から署名対象者の公開鍵を抽出する公
開鍵抽出ステップと、抽出した公開鍵を用いて、前記署
名付きファイルから取り出した署名データを逐次復号す
ることにより、元のメッセージダイジェストを復号する
復号ステップと、前記署名付きファイルから取り出した
原ファイル及び証明書から前記一方向関数を用いてメッ
セージダイジェストを生成する第2のダイジェスト生成
ステップと、前記復号ステップにより復号された元のメ
ッセージダイジェストを前記第2のダイジェスト生成ス
テップで得られるメッセージダイジェストと比較照合し
て、両者の同一性により原ファイルを認証する照合ステ
ップと、を有することを特徴とする。
【0023】また、この発明の第6の観点による記録媒
体は、コンピュータに、原ファイルに第1の署名者によ
り署名処理を施し、該原ファイルに基づいて当該署名者
の署名情報を生成するステップと、該署名情報を前記原
ファイルに付加して署名付きファイルを生成するステッ
プを含む第1の署名ステップと、署名付きファイルを対
象として、署名者の署名処理を施して、従前の署名情報
に当該署名者の原ファイルに対する署名情報を合成して
新たな署名情報とするステップを署名者数に応じて繰り
返して、複数の署名者による署名情報が原ファイルに付
加された署名付きファイルを得る第2の署名ステップ
と、を備える署名方法と、前記署名方法により得られた
前記署名付きファイルを前記署名情報に基づいて検証す
る検証方法と、の少なくとも一方を実行させるためのプ
ログラムをコンピュータ読み取り可能に記録している。
体は、コンピュータに、原ファイルに第1の署名者によ
り署名処理を施し、該原ファイルに基づいて当該署名者
の署名情報を生成するステップと、該署名情報を前記原
ファイルに付加して署名付きファイルを生成するステッ
プを含む第1の署名ステップと、署名付きファイルを対
象として、署名者の署名処理を施して、従前の署名情報
に当該署名者の原ファイルに対する署名情報を合成して
新たな署名情報とするステップを署名者数に応じて繰り
返して、複数の署名者による署名情報が原ファイルに付
加された署名付きファイルを得る第2の署名ステップ
と、を備える署名方法と、前記署名方法により得られた
前記署名付きファイルを前記署名情報に基づいて検証す
る検証方法と、の少なくとも一方を実行させるためのプ
ログラムをコンピュータ読み取り可能に記録している。
【0024】この発明の第7の観点による記録媒体は、
コンピュータに、原ファイルに署名者の公開鍵を含む電
子的な証明書を追加する証明書追加ステップと、前記原
ファイル及び証明書から一方向関数を用いてメッセージ
ダイジェストを生成する第1のダイジェスト生成ステッ
プと、前記メッセージダイジェストを各署名者の秘密鍵
を用いて累積的に暗号化することにより、署名データを
得る署名処理ステップと、前記原ファイル及び証明書に
前記累積的な署名データを付加して、前記原ファイル、
証明書及び署名データからなる署名付きファイルを生成
するデータ結合ステップと、を含む署名方法と、前記署
名付きファイル中の証明書から、署名者の公開鍵を抽出
する公開鍵抽出ステップと、抽出した公開鍵を用いて、
前記署名付きファイルから取り出した署名データを逐次
復号することにより、元のメッセージダイジェストを得
る検証処理ステップと、前記署名付きファイルから取り
出した原ファイル及び証明書から前記一方向関数を用い
てメッセージダイジェストを生成する第2のダイジェス
ト生成ステップと、前記検証処理ステップにより復号さ
れた元のメッセージダイジェストと前記第2のダイジェ
スト生成ステップで得られるメッセージダイジェストと
を比較して、両者の同一性により原ファイルを認証する
照合ステップと、とを含む検証方法と、の少なくとも一
方を実行させるためのプログラムをコンピュータ読み取
り可能に記録している。
コンピュータに、原ファイルに署名者の公開鍵を含む電
子的な証明書を追加する証明書追加ステップと、前記原
ファイル及び証明書から一方向関数を用いてメッセージ
ダイジェストを生成する第1のダイジェスト生成ステッ
プと、前記メッセージダイジェストを各署名者の秘密鍵
を用いて累積的に暗号化することにより、署名データを
得る署名処理ステップと、前記原ファイル及び証明書に
前記累積的な署名データを付加して、前記原ファイル、
証明書及び署名データからなる署名付きファイルを生成
するデータ結合ステップと、を含む署名方法と、前記署
名付きファイル中の証明書から、署名者の公開鍵を抽出
する公開鍵抽出ステップと、抽出した公開鍵を用いて、
前記署名付きファイルから取り出した署名データを逐次
復号することにより、元のメッセージダイジェストを得
る検証処理ステップと、前記署名付きファイルから取り
出した原ファイル及び証明書から前記一方向関数を用い
てメッセージダイジェストを生成する第2のダイジェス
ト生成ステップと、前記検証処理ステップにより復号さ
れた元のメッセージダイジェストと前記第2のダイジェ
スト生成ステップで得られるメッセージダイジェストと
を比較して、両者の同一性により原ファイルを認証する
照合ステップと、とを含む検証方法と、の少なくとも一
方を実行させるためのプログラムをコンピュータ読み取
り可能に記録している。
【0025】
【発明の実施の形態】以下、この発明の実施の形態を図
面を参照して説明する。
面を参照して説明する。
【0026】図1〜図5を参照して、この発明の実施の
形態に係るファイル認証システムを説明する。
形態に係るファイル認証システムを説明する。
【0027】図1は、この発明の実施の形態に係るファ
イル認証システムの構成を模式的に示しており、図2は
付加的に使用し得る追加署名システムの構成を模式的に
示している。
イル認証システムの構成を模式的に示しており、図2は
付加的に使用し得る追加署名システムの構成を模式的に
示している。
【0028】図1に示すファイル認証システムは、署名
システム1及び検証システム2を備えている。
システム1及び検証システム2を備えている。
【0029】署名システム1は、ファイル、例えば文書
ファイルを作成し、複数の利用者による署名を行って署
名付き文書を生成するための部分であり、該署名システ
ム1は、複数の利用者により操作することが可能なコン
ピュータシステム上に構築される。当該コンピュータシ
ステムはネットワークにより結合された複数のコンピュ
ータを含んでいてもよい。
ファイルを作成し、複数の利用者による署名を行って署
名付き文書を生成するための部分であり、該署名システ
ム1は、複数の利用者により操作することが可能なコン
ピュータシステム上に構築される。当該コンピュータシ
ステムはネットワークにより結合された複数のコンピュ
ータを含んでいてもよい。
【0030】署名システム1は、利用者設定部11、証
明書格納部12、文書作成部13、証明書追加部14、
ハッシュ値算出部15、署名操作部16、署名処理部1
7及びデータ結合部18を有している。
明書格納部12、文書作成部13、証明書追加部14、
ハッシュ値算出部15、署名操作部16、署名処理部1
7及びデータ結合部18を有している。
【0031】利用者設定部11は、文書(文書ファイ
ル)に署名すべき複数の利用者(署名者)を外部操作に
より予め設定する。証明書格納部12は、利用者設定部
11により設定された複数の利用者の各公開鍵を含む証
明書を予め格納する。例えば、証明書格納部12は、利
用者がN人で、i番目の利用者の公開鍵をPikとする
と、{P1k;P2k;・・・・;PNk}を含む証明
書を予め作成して記憶する。
ル)に署名すべき複数の利用者(署名者)を外部操作に
より予め設定する。証明書格納部12は、利用者設定部
11により設定された複数の利用者の各公開鍵を含む証
明書を予め格納する。例えば、証明書格納部12は、利
用者がN人で、i番目の利用者の公開鍵をPikとする
と、{P1k;P2k;・・・・;PNk}を含む証明
書を予め作成して記憶する。
【0032】文書作成部13は、通常の場合、前記複数
の利用者のうちの1人である文書作成者の操作により所
要の文書を作成する。証明書追加部14は、文書作成部
13において作成された対象文書に、利用者設定部11
により設定され証明書格納部12に格納された、署名が
予定される全ての利用者の証明書を追加する。
の利用者のうちの1人である文書作成者の操作により所
要の文書を作成する。証明書追加部14は、文書作成部
13において作成された対象文書に、利用者設定部11
により設定され証明書格納部12に格納された、署名が
予定される全ての利用者の証明書を追加する。
【0033】ハッシュ値算出部15は、対象文書に全て
の利用者の証明書を追加したものに対してダイジェスト
関数である一方向関数、例えばハッシュ関数を適用して
演算を行いメッセージダイジェストとしてのハッシュ値
を求める。署名操作部16は、利用者が署名のための操
作を行う部分であり、利用者は、この署名操作部16に
より、対象文書の内容を確認し、署名操作を行う。
の利用者の証明書を追加したものに対してダイジェスト
関数である一方向関数、例えばハッシュ関数を適用して
演算を行いメッセージダイジェストとしてのハッシュ値
を求める。署名操作部16は、利用者が署名のための操
作を行う部分であり、利用者は、この署名操作部16に
より、対象文書の内容を確認し、署名操作を行う。
【0034】署名処理部17は、署名操作部16の操作
に従い、式1に従って、1人目の署名者の場合には、ハ
ッシュ値算出部15で算出されたハッシュ値に公開鍵暗
号方式による暗号化を施して署名を行って署名データを
得て、2人目以降の署名者の場合には、逐次直前の署名
データに公開鍵暗号方式による暗号化を施して署名を行
って署名データを得る。この場合の署名は、具体的に
は、ハッシュ値又は直前の署名データを、署名する利用
者の公開鍵暗号方式の秘密鍵により暗号化する処理を行
う。なお、署名操作部16における署名は、利用者のモ
ジュロ値に従って、最も小さなモジュロ値を有する利用
者からモジュロ値順に逐次行う。この署名順序は、署名
操作部16等に関連し、ディスプレイ等を介して適宜指
示する。
に従い、式1に従って、1人目の署名者の場合には、ハ
ッシュ値算出部15で算出されたハッシュ値に公開鍵暗
号方式による暗号化を施して署名を行って署名データを
得て、2人目以降の署名者の場合には、逐次直前の署名
データに公開鍵暗号方式による暗号化を施して署名を行
って署名データを得る。この場合の署名は、具体的に
は、ハッシュ値又は直前の署名データを、署名する利用
者の公開鍵暗号方式の秘密鍵により暗号化する処理を行
う。なお、署名操作部16における署名は、利用者のモ
ジュロ値に従って、最も小さなモジュロ値を有する利用
者からモジュロ値順に逐次行う。この署名順序は、署名
操作部16等に関連し、ディスプレイ等を介して適宜指
示する。
【0035】
【数1】C=E(M)=M^e mod n (C:暗号文、M:平文、e:暗号鍵(秘密鍵)、n:
モジュロ値) Mは、1人目の場合、ハッシュ値算出部15で算出され
たハッシュ値、2人目以降の場合、直前の署名データ。
モジュロ値) Mは、1人目の場合、ハッシュ値算出部15で算出され
たハッシュ値、2人目以降の場合、直前の署名データ。
【0036】ここで、モジュロ値の小さい順に署名をす
る理由は次の理由による。まず、暗号文Cはモジュロ値
nより小さい必要がある(nで割った余りのため)。こ
こで、例えば、2人の人間a,bがいて、aのモジュロ
値がna=100,bのモジュロ値nb=50だとした
場合に、この実施の形態では、モジュロ値の小さいbが
先に署名し、aが後で署名を行うことを指定している
が、このルールを破り、aが先に署名したとする。aの
モジュロ値naが100なので、暗号化により作成され
た署名の値は0〜99である。今回、たまたま、99で
あったとすると、99>nb=50であり、署名対象M
の方がモジュロ値よりも大きくなってしまう。
る理由は次の理由による。まず、暗号文Cはモジュロ値
nより小さい必要がある(nで割った余りのため)。こ
こで、例えば、2人の人間a,bがいて、aのモジュロ
値がna=100,bのモジュロ値nb=50だとした
場合に、この実施の形態では、モジュロ値の小さいbが
先に署名し、aが後で署名を行うことを指定している
が、このルールを破り、aが先に署名したとする。aの
モジュロ値naが100なので、暗号化により作成され
た署名の値は0〜99である。今回、たまたま、99で
あったとすると、99>nb=50であり、署名対象M
の方がモジュロ値よりも大きくなってしまう。
【0037】データ結合部18は、証明書追加部14に
より証明書が追加された文書にさらに署名処理部17に
よる署名データを結合して、対象文書、全利用者の証明
書及び署名データからなる署名付き文書を生成する。
より証明書が追加された文書にさらに署名処理部17に
よる署名データを結合して、対象文書、全利用者の証明
書及び署名データからなる署名付き文書を生成する。
【0038】検証システム2は、署名システム1により
生成された署名付き文書の検証を行って署名の認証を行
う部分である。この検証システム2は署名システム1と
共通のシステム上に構築することもできるし、別途に単
独の検証システムとして構築することもできる。検証シ
ステム2は、公開鍵抽出部21、検証処理部22、ハッ
シュ値算出部23及び比較判定部24を有している。
生成された署名付き文書の検証を行って署名の認証を行
う部分である。この検証システム2は署名システム1と
共通のシステム上に構築することもできるし、別途に単
独の検証システムとして構築することもできる。検証シ
ステム2は、公開鍵抽出部21、検証処理部22、ハッ
シュ値算出部23及び比較判定部24を有している。
【0039】公開鍵抽出部21は、署名システム1によ
り生成された対象文書、全利用者の証明書及び署名デー
タからなる署名付き文書の証明書から、全ての利用者の
公開鍵を抽出する。上述の例では、N人分の公開鍵P1
k、P2k、・・・・、PNkを抽出する。
り生成された対象文書、全利用者の証明書及び署名デー
タからなる署名付き文書の証明書から、全ての利用者の
公開鍵を抽出する。上述の例では、N人分の公開鍵P1
k、P2k、・・・・、PNkを抽出する。
【0040】検証処理部22は、署名システム1により
生成された署名付き文書の署名データを、公開鍵抽出部
21により抽出した全ての利用者の公開鍵を用いて、式
2に従って、逐次、公開鍵暗号方式による復号を施して
検証し、最終的には当初のハッシュ値に相当する検証結
果を得る。この場合の検証は、具体的には、署名データ
を署名した利用者の公開鍵を用いて復号する処理を行
う。
生成された署名付き文書の署名データを、公開鍵抽出部
21により抽出した全ての利用者の公開鍵を用いて、式
2に従って、逐次、公開鍵暗号方式による復号を施して
検証し、最終的には当初のハッシュ値に相当する検証結
果を得る。この場合の検証は、具体的には、署名データ
を署名した利用者の公開鍵を用いて復号する処理を行
う。
【0041】
【数2】M=D(C)=C^d mod n (M:平文、C:暗号文、d:復号鍵(公開鍵)、n:
モジュロ値)
モジュロ値)
【0042】ハッシュ値算出部23は、署名システム1
により生成された署名付き文書の対象文書及び証明書に
対してハッシュ関数による演算を施し、ハッシュ値を求
める。
により生成された署名付き文書の対象文書及び証明書に
対してハッシュ関数による演算を施し、ハッシュ値を求
める。
【0043】比較判定部24は、検証処理部22で得た
検証結果と、ハッシュ値算出23で得たハッシュ値とを
比較し、両者が同一であれば、元の署名付き文書は、適
切に署名された正当なものであると認証する。比較判定
部24は、比較の結果、検証処理部22で得た検証結果
と、ハッシュ値算出23で得たハッシュ値とが一致しな
ければ、与えられた署名付き文書には、何らかの改竄が
施されているものと判定する。
検証結果と、ハッシュ値算出23で得たハッシュ値とを
比較し、両者が同一であれば、元の署名付き文書は、適
切に署名された正当なものであると認証する。比較判定
部24は、比較の結果、検証処理部22で得た検証結果
と、ハッシュ値算出23で得たハッシュ値とが一致しな
ければ、与えられた署名付き文書には、何らかの改竄が
施されているものと判定する。
【0044】さらに、署名すべき利用者が、図1の署名
システム1を構築しているコンピュータシステム外の利
用者を含む場合には、署名システム1に加えて図2に示
すような追加署名システム3を設ける。この追加署名シ
ステム3は、署名システム1とは異なるコンピュータシ
ステム上に構築するが、この場合署名システム1と共通
のコンピュータシステム上にも同様の追加署名システム
3を構築しておいてもよい。
システム1を構築しているコンピュータシステム外の利
用者を含む場合には、署名システム1に加えて図2に示
すような追加署名システム3を設ける。この追加署名シ
ステム3は、署名システム1とは異なるコンピュータシ
ステム上に構築するが、この場合署名システム1と共通
のコンピュータシステム上にも同様の追加署名システム
3を構築しておいてもよい。
【0045】追加署名システム3は、署名データ分離部
31、署名操作部32、署名処理部33及びデータ結合
部34を有している。
31、署名操作部32、署名処理部33及びデータ結合
部34を有している。
【0046】署名データ分離部31は、対象文書、全利
用者の証明書及び署名データからなる署名付き文書か
ら、署名データを分離して、対象文書及び全利用者の証
明書と署名データとに分ける。なお、署名データは、1
人も署名を行っていない場合には、署名システム1のハ
ッシュ値算出部15で、対象文書に全ての利用者の証明
書を追加したものに対してハッシュ関数を適用して算出
されたハッシュ値である。
用者の証明書及び署名データからなる署名付き文書か
ら、署名データを分離して、対象文書及び全利用者の証
明書と署名データとに分ける。なお、署名データは、1
人も署名を行っていない場合には、署名システム1のハ
ッシュ値算出部15で、対象文書に全ての利用者の証明
書を追加したものに対してハッシュ関数を適用して算出
されたハッシュ値である。
【0047】署名操作部32は、利用者が署名のための
操作を行う部分であり、利用者は、この署名操作部32
により、対象文書の内容を確認し、署名操作を行う。署
名処理部33は、署名操作部32の操作に従い、1人目
の署名者の場合には、ハッシュ値からなる署名データに
公開鍵暗号方式による暗号化を施して署名を行って署名
データを得て、2人目以降の署名者の場合には、逐次直
前の署名データに公開鍵暗号方式による暗号化を施して
署名を行って署名データを得る。この場合の署名は、具
体的には、ハッシュ値又は直前の署名データを、署名す
る利用者の公開鍵暗号方式の秘密鍵により暗号化する処
理を行う。
操作を行う部分であり、利用者は、この署名操作部32
により、対象文書の内容を確認し、署名操作を行う。署
名処理部33は、署名操作部32の操作に従い、1人目
の署名者の場合には、ハッシュ値からなる署名データに
公開鍵暗号方式による暗号化を施して署名を行って署名
データを得て、2人目以降の署名者の場合には、逐次直
前の署名データに公開鍵暗号方式による暗号化を施して
署名を行って署名データを得る。この場合の署名は、具
体的には、ハッシュ値又は直前の署名データを、署名す
る利用者の公開鍵暗号方式の秘密鍵により暗号化する処
理を行う。
【0048】なお、上述したように署名操作部16及び
32における署名は、利用者のモジュロ値nに従って、
最も小さなモジュロ値を有する利用者からモジュロ値順
に逐次行う。この署名順序は、署名操作部16及び32
等に関連し、ディスプレイ等を介して適宜指示する。
32における署名は、利用者のモジュロ値nに従って、
最も小さなモジュロ値を有する利用者からモジュロ値順
に逐次行う。この署名順序は、署名操作部16及び32
等に関連し、ディスプレイ等を介して適宜指示する。
【0049】データ結合部34は、署名データ分離部3
1により分離された対象文書及び証明書に、さらに署名
処理部33による署名データを結合して、対象文書、全
利用者の証明書及び署名データからなる署名付き文書を
生成する。
1により分離された対象文書及び証明書に、さらに署名
処理部33による署名データを結合して、対象文書、全
利用者の証明書及び署名データからなる署名付き文書を
生成する。
【0050】上述した署名システム1、又は該署名シス
テム1及び追加署名システム3は、予定した全ての署名
すべき利用者の署名が完了するまで、逐次署名を繰り返
し、全ての利用者が署名を完了した時点で対象文書、全
利用者の証明書及び署名データからなる署名付き文書を
完成する。検証システム2は、このようにして完成した
署名付き文書の検証を行う。
テム1及び追加署名システム3は、予定した全ての署名
すべき利用者の署名が完了するまで、逐次署名を繰り返
し、全ての利用者が署名を完了した時点で対象文書、全
利用者の証明書及び署名データからなる署名付き文書を
完成する。検証システム2は、このようにして完成した
署名付き文書の検証を行う。
【0051】次に、このように構成したファイル認証シ
ステムの具体的な動作について図3及び図4に示すフロ
ーチャートを参照して説明する。図3は、署名システム
1、又は署名システム1及び追加署名システム3による
署名手続きを示しており、図4は検証システム2による
検証手続きを示している。
ステムの具体的な動作について図3及び図4に示すフロ
ーチャートを参照して説明する。図3は、署名システム
1、又は署名システム1及び追加署名システム3による
署名手続きを示しており、図4は検証システム2による
検証手続きを示している。
【0052】図3に示すように、署名手続きが開始され
ると、まず、文書作成部13により文書(ファイル)M
が作成され(ステップS11)、証明書追加部14によ
り、予定する全ての利用者の公開鍵を含む証明書が該文
書Mに追加される(ステップS12)。このステップS
12においては、予め利用者設定部11により設定した
利用者についての利用者の公開鍵を含む証明書を証明書
格納部12に格納しておいた全ての利用者の証明書を証
明書追加部14により文書Mに追加する。
ると、まず、文書作成部13により文書(ファイル)M
が作成され(ステップS11)、証明書追加部14によ
り、予定する全ての利用者の公開鍵を含む証明書が該文
書Mに追加される(ステップS12)。このステップS
12においては、予め利用者設定部11により設定した
利用者についての利用者の公開鍵を含む証明書を証明書
格納部12に格納しておいた全ての利用者の証明書を証
明書追加部14により文書Mに追加する。
【0053】ステップS12において全利用者の証明書
が追加された文書Mに対して、ハッシュ値算出部15に
より、ハッシュ関数による演算を施してハッシュ値を算
出する(ステップS13)。次に、予定された全ての利
用者のモジュロ値から最小のモジュロ値を持つ利用者を
選択し、署名を指示する(ステップS14)。
が追加された文書Mに対して、ハッシュ値算出部15に
より、ハッシュ関数による演算を施してハッシュ値を算
出する(ステップS13)。次に、予定された全ての利
用者のモジュロ値から最小のモジュロ値を持つ利用者を
選択し、署名を指示する(ステップS14)。
【0054】次に、署名処理部17又は33において、
全ての利用者の署名が完了したか否かを確認し(ステッ
プS15)、全ての利用者の署名が完了していなけれ
ば、署名処理、すなわち1人目の利用者の場合にはハッ
シュ値を当該利用者の秘密鍵で暗号化することによる署
名、を行う(ステップS16)。この署名処理後、当該
利用者の次に小さいモジュロ値を有する利用者を選択し
て署名を指示し(ステップS17)、ステップS15に
戻って、全ての利用者の署名が完了したか否かを確認し
た後、全ての利用者の署名が完了していなければ、ステ
ップS16において、署名処理、すなわち2人目以降の
利用者の場合には直前の署名者により署名された暗号デ
ータ(署名データ)を当該利用者の秘密鍵で暗号化する
ことによる署名を行う。このような処理を全ての利用者
の署名が完了するまで繰り返す。
全ての利用者の署名が完了したか否かを確認し(ステッ
プS15)、全ての利用者の署名が完了していなけれ
ば、署名処理、すなわち1人目の利用者の場合にはハッ
シュ値を当該利用者の秘密鍵で暗号化することによる署
名、を行う(ステップS16)。この署名処理後、当該
利用者の次に小さいモジュロ値を有する利用者を選択し
て署名を指示し(ステップS17)、ステップS15に
戻って、全ての利用者の署名が完了したか否かを確認し
た後、全ての利用者の署名が完了していなければ、ステ
ップS16において、署名処理、すなわち2人目以降の
利用者の場合には直前の署名者により署名された暗号デ
ータ(署名データ)を当該利用者の秘密鍵で暗号化する
ことによる署名を行う。このような処理を全ての利用者
の署名が完了するまで繰り返す。
【0055】このようにして得られる署名データを、デ
ータ結合部18又は34において、対象文書及び証明書
に追加結合して、全ての利用者による署名が行われた署
名付き文書を得て(ステップS18)、署名手続きを終
了する。
ータ結合部18又は34において、対象文書及び証明書
に追加結合して、全ての利用者による署名が行われた署
名付き文書を得て(ステップS18)、署名手続きを終
了する。
【0056】なお、追加署名システム3を用いる場合に
は、署名途中の(全利用者の署名が完了していない)署
名データをデータ結合部18又は34により結合した署
名付き文書から、対象文書及び証明書と、その時点での
署名データとを署名データ分離部31により分離して、
署名処理部33における署名処理に供する。
は、署名途中の(全利用者の署名が完了していない)署
名データをデータ結合部18又は34により結合した署
名付き文書から、対象文書及び証明書と、その時点での
署名データとを署名データ分離部31により分離して、
署名処理部33における署名処理に供する。
【0057】すなわち、最小のモジュロ値をもつ利用者
から、モジュロ値の小さい順に署名、つまり署名者の秘
密鍵によるハッシュ値又はそれを暗号化した署名データ
の暗号化処理、を逐次繰り返して行う。利用者iがjを
署名する関数をSi(j)とし、署名されたハッシュ値
をCとすると、 C1=S1(H) C12=S2(C1) C123=S2(C12) … C1…n=Sn(C1…n−1) という処理を行って、署名データC1…nを得る。この
署名データC1…nを対象文書及び証明書の後に追加結
合して、これら全体を署名付き文書とする。
から、モジュロ値の小さい順に署名、つまり署名者の秘
密鍵によるハッシュ値又はそれを暗号化した署名データ
の暗号化処理、を逐次繰り返して行う。利用者iがjを
署名する関数をSi(j)とし、署名されたハッシュ値
をCとすると、 C1=S1(H) C12=S2(C1) C123=S2(C12) … C1…n=Sn(C1…n−1) という処理を行って、署名データC1…nを得る。この
署名データC1…nを対象文書及び証明書の後に追加結
合して、これら全体を署名付き文書とする。
【0058】したがって、最終的な署名付き文書の形式
は、図示するように[対象文書]、[利用者全ての証明
書]及び[署名データ]が結合された形となる。
は、図示するように[対象文書]、[利用者全ての証明
書]及び[署名データ]が結合された形となる。
【0059】このような署名付き文書に対して、図4に
示すように、検証手続きが開始されると、まず、公開鍵
抽出部21により対象文書、証明書及び署名データから
なる署名付き文書の証明書から署名した全ての利用者の
公開鍵を抽出する(ステップS21)。そして、これら
署名した全ての利用者のうちの最大のモジュロ値を持つ
利用者を選択する(ステップS22)。
示すように、検証手続きが開始されると、まず、公開鍵
抽出部21により対象文書、証明書及び署名データから
なる署名付き文書の証明書から署名した全ての利用者の
公開鍵を抽出する(ステップS21)。そして、これら
署名した全ての利用者のうちの最大のモジュロ値を持つ
利用者を選択する(ステップS22)。
【0060】次に、検証処理部22において、全ての利
用者の署名の検証が完了したか否かを確認し(ステップ
S23)、全ての利用者の署名の検証が完了していなけ
れば、検証処理、すなわち署名データを当該利用者の公
開鍵で復号することによる検証、を行う(ステップS2
4)。この検証処理後、当該利用者の次に大きなモジュ
ロ値を有する利用者を選択し(ステップS25)、ステ
ップS23に戻って、全ての利用者の署名の検証が完了
したか否かを確認した後、全ての利用者の署名の検証が
完了していなければ、ステップS24において、検証処
理、すなわち2人目以降の利用者の検証の場合には直前
の検証により復号された署名データを当該利用者の公開
鍵で復号することによる署名の検証を行う。このような
処理を全ての利用者の署名の検証が完了するまで繰り返
す。
用者の署名の検証が完了したか否かを確認し(ステップ
S23)、全ての利用者の署名の検証が完了していなけ
れば、検証処理、すなわち署名データを当該利用者の公
開鍵で復号することによる検証、を行う(ステップS2
4)。この検証処理後、当該利用者の次に大きなモジュ
ロ値を有する利用者を選択し(ステップS25)、ステ
ップS23に戻って、全ての利用者の署名の検証が完了
したか否かを確認した後、全ての利用者の署名の検証が
完了していなければ、ステップS24において、検証処
理、すなわち2人目以降の利用者の検証の場合には直前
の検証により復号された署名データを当該利用者の公開
鍵で復号することによる署名の検証を行う。このような
処理を全ての利用者の署名の検証が完了するまで繰り返
す。
【0061】ステップS23において、全ての利用者に
ついての検証が完了したと判定されると、与えられた署
名付き文書の対象文書及び証明書に、ハッシュ値算出部
23により、ハッシュ関数による演算が施され、ハッシ
ュ値が求められる(ステップS26)。ステップS26
により得られるハッシュ値と、ステップS23において
得られる元のハッシュ値に相当する検証結果データを、
比較判定部24において比較し(ステップS27)、両
者が同一であれば、検証は成功し、正しく認証されたと
して(ステップS28)、検証手続きを終了する。ステ
ップS27において、両者が同一でない場合には、検証
に失敗し、正しい認証結果が得られなかったとして(ス
テップS29)、処理を終了する。
ついての検証が完了したと判定されると、与えられた署
名付き文書の対象文書及び証明書に、ハッシュ値算出部
23により、ハッシュ関数による演算が施され、ハッシ
ュ値が求められる(ステップS26)。ステップS26
により得られるハッシュ値と、ステップS23において
得られる元のハッシュ値に相当する検証結果データを、
比較判定部24において比較し(ステップS27)、両
者が同一であれば、検証は成功し、正しく認証されたと
して(ステップS28)、検証手続きを終了する。ステ
ップS27において、両者が同一でない場合には、検証
に失敗し、正しい認証結果が得られなかったとして(ス
テップS29)、処理を終了する。
【0062】すなわち、署名付き文書中の証明書から、
署名した全ての利用者の公開鍵を抽出し、最大のモジュ
ロ値をもつ利用者から、モジュロ値の大きい順に署名の
検証、つまり署名者の公開鍵による署名データの復号処
理、を逐次累積的に繰り返して行う。利用者iがjを検
証する関数をKi(j)とすると、 C1…n−1=Kn(C1…n) … C12=K3(C123) C1=K2(C12) H=K1(C1) という処理を行って、検証結果H(元のハッシュ値に相
当する)を得る。この検証結果Hを得た時点で、与えら
れた署名付き文書中の対象文書及び証明書のハッシュ値
HHを求める。このハッシュ値HHと検証結果Hとが同
一であれば、署名付き文書は改竄されていないと認証さ
れる。
署名した全ての利用者の公開鍵を抽出し、最大のモジュ
ロ値をもつ利用者から、モジュロ値の大きい順に署名の
検証、つまり署名者の公開鍵による署名データの復号処
理、を逐次累積的に繰り返して行う。利用者iがjを検
証する関数をKi(j)とすると、 C1…n−1=Kn(C1…n) … C12=K3(C123) C1=K2(C12) H=K1(C1) という処理を行って、検証結果H(元のハッシュ値に相
当する)を得る。この検証結果Hを得た時点で、与えら
れた署名付き文書中の対象文書及び証明書のハッシュ値
HHを求める。このハッシュ値HHと検証結果Hとが同
一であれば、署名付き文書は改竄されていないと認証さ
れる。
【0063】上述したように、このファイル認証システ
ムにおいては、複数の利用者により署名する度に署名デ
ータを随時更新し、各利用者により累積的に暗号化され
た署名データが、対象文書に付加される。すなわち、図
5に示すように、対象文書に対して署名者Aが署名する
ことにより、対象文書に署名者Aの署名(署名A)が付
されて、対象文書及び署名Aからなる署名者Aの署名付
き文書が生成される。そして、この署名付き文書の対象
文書に対して署名者Bが署名することにより、対象文書
に付された署名Aに署名者Bの署名(署名B)で処理し
た署名データ(署名A+署名B)が付されて、対象文書
及び署名データからなる署名付き文書が生成される。こ
のとき、署名者Bの署名対象は、対象文書+署名Aでは
なく、対象文書のみであり、署名者Bの署名処理は署名
Aに対して施される。
ムにおいては、複数の利用者により署名する度に署名デ
ータを随時更新し、各利用者により累積的に暗号化され
た署名データが、対象文書に付加される。すなわち、図
5に示すように、対象文書に対して署名者Aが署名する
ことにより、対象文書に署名者Aの署名(署名A)が付
されて、対象文書及び署名Aからなる署名者Aの署名付
き文書が生成される。そして、この署名付き文書の対象
文書に対して署名者Bが署名することにより、対象文書
に付された署名Aに署名者Bの署名(署名B)で処理し
た署名データ(署名A+署名B)が付されて、対象文書
及び署名データからなる署名付き文書が生成される。こ
のとき、署名者Bの署名対象は、対象文書+署名Aでは
なく、対象文書のみであり、署名者Bの署名処理は署名
Aに対して施される。
【0064】このような形での署名及び検証を可能とす
るため、署名に公開鍵方式の暗号化を用い、予め署名す
る全ての利用者の公開鍵を証明書の形で対象文書に付加
しておく。各利用者による署名は、対象文書及び証明書
から一方向関数により得たメッセージダイジェスト、例
えばハッシュ値、を当該利用者の秘密鍵で累積的に暗号
化することにより行い、暗号化により得られる署名デー
タを、対象文書及び証明書に加えて署名付き文書として
いる。
るため、署名に公開鍵方式の暗号化を用い、予め署名す
る全ての利用者の公開鍵を証明書の形で対象文書に付加
しておく。各利用者による署名は、対象文書及び証明書
から一方向関数により得たメッセージダイジェスト、例
えばハッシュ値、を当該利用者の秘密鍵で累積的に暗号
化することにより行い、暗号化により得られる署名デー
タを、対象文書及び証明書に加えて署名付き文書として
いる。
【0065】このようにすると、検証に際しては、各利
用者の公開鍵を用いて署名データを多重に復号すること
により、元のハッシュ値に相当する値を得て、署名付き
文書中の対象文書及び証明書から新たに求めたハッシュ
値と比較照合することにより、当該対象文書の認証を行
うことができる。
用者の公開鍵を用いて署名データを多重に復号すること
により、元のハッシュ値に相当する値を得て、署名付き
文書中の対象文書及び証明書から新たに求めたハッシュ
値と比較照合することにより、当該対象文書の認証を行
うことができる。
【0066】したがって、対象文書は、単一の文書で管
理することができるので、文書の運用が容易になる。ま
た、利用者相互間での認証のレベルが同一であり、利用
者相互間に優先等の上下関係が発生しない。また、署名
は、累積的に行うので、複数回繰り返すことによって、
署名データのサイズが大きくなることがない。
理することができるので、文書の運用が容易になる。ま
た、利用者相互間での認証のレベルが同一であり、利用
者相互間に優先等の上下関係が発生しない。また、署名
は、累積的に行うので、複数回繰り返すことによって、
署名データのサイズが大きくなることがない。
【0067】なお、上述においては、署名対象となるメ
ッセージとして文書等のファイルを用い、ダイジェスト
関数としての一方向関数として、ハッシュ関数を用い
て、ハッシュ値からなるメッセージダイジェストを得る
ものとして説明したが、文書以外の例えば画像ファイル
等を署名対象としてもよく、ハッシュ値以外のメッセー
ジダイジェスト(電子指紋)を用いるようにしてもよ
い。
ッセージとして文書等のファイルを用い、ダイジェスト
関数としての一方向関数として、ハッシュ関数を用い
て、ハッシュ値からなるメッセージダイジェストを得る
ものとして説明したが、文書以外の例えば画像ファイル
等を署名対象としてもよく、ハッシュ値以外のメッセー
ジダイジェスト(電子指紋)を用いるようにしてもよ
い。
【0068】また、1つの装置が、署名のための構成と
認証のための構成を保持している必要はなく、署名専用
の装置と認証専用の装置が存在してもよい。また、署名
を行う装置、署名する場所、署名する人、署名する時
と、認証(検証)を行う装置、認証する場所、認証する
人、認証時と、は全く異なってもよい。
認証のための構成を保持している必要はなく、署名専用
の装置と認証専用の装置が存在してもよい。また、署名
を行う装置、署名する場所、署名する人、署名する時
と、認証(検証)を行う装置、認証する場所、認証する
人、認証時と、は全く異なってもよい。
【0069】なお、この発明のファイル認証システム
は、専用のシステムとして構成することなく、通常のコ
ンピュータシステムを用いて実現することができる。例
えば、コンピュータシステムに上述の動作を実行するた
めのプログラムを格納した媒体(フロッピーディスク、
CD−ROM等)から該プログラムをインストールする
ことにより、上述の処理を実行するファイル認証システ
ムを構築することができる。インストールによって、当
該プログラムは、コンピュータシステム内のハードディ
スク等の媒体に格納されて、ファイル認証システムを構
成し、実行に供される。
は、専用のシステムとして構成することなく、通常のコ
ンピュータシステムを用いて実現することができる。例
えば、コンピュータシステムに上述の動作を実行するた
めのプログラムを格納した媒体(フロッピーディスク、
CD−ROM等)から該プログラムをインストールする
ことにより、上述の処理を実行するファイル認証システ
ムを構築することができる。インストールによって、当
該プログラムは、コンピュータシステム内のハードディ
スク等の媒体に格納されて、ファイル認証システムを構
成し、実行に供される。
【0070】また、コンピュータにプログラムを供給す
るための媒体は、狭義の記憶媒体に限らず、通信回線、
通信ネットワーク及び通信システムのように、一時的且
つ流動的にプログラム等の情報を保持する通信媒体等を
含む広義の記憶媒体であってもよい。
るための媒体は、狭義の記憶媒体に限らず、通信回線、
通信ネットワーク及び通信システムのように、一時的且
つ流動的にプログラム等の情報を保持する通信媒体等を
含む広義の記憶媒体であってもよい。
【0071】例えば、インターネット等の通信ネットワ
ーク上に設けたFTP(File Transfer Protocol)サー
バに当該プログラムを登録し、FTPクライアントにネ
ットワークを介して配信してもよく、通信ネットワーク
の電子掲示板(BBS:Bulletin Board System)等に
該プログラムを登録し、これをネットワークを介して配
信してもよい。そして、このプログラムを起動し、OS
(Operating System)の制御下において実行することに
より、上述の処理を達成することができる。さらに、通
信ネットワークを介してプログラムを転送しながら起動
実行することによっても、上述の処理を達成することが
できる。また、ネットワークを介してプログラムやデー
タを送信する際の、キャリアウエーブ(搬送波)を媒体
と考えることも可能である。
ーク上に設けたFTP(File Transfer Protocol)サー
バに当該プログラムを登録し、FTPクライアントにネ
ットワークを介して配信してもよく、通信ネットワーク
の電子掲示板(BBS:Bulletin Board System)等に
該プログラムを登録し、これをネットワークを介して配
信してもよい。そして、このプログラムを起動し、OS
(Operating System)の制御下において実行することに
より、上述の処理を達成することができる。さらに、通
信ネットワークを介してプログラムを転送しながら起動
実行することによっても、上述の処理を達成することが
できる。また、ネットワークを介してプログラムやデー
タを送信する際の、キャリアウエーブ(搬送波)を媒体
と考えることも可能である。
【0072】
【発明の効果】以上説明したように、この発明によれ
ば、署名者の数が増加しても、ファイル数やデータサイ
ズを増加させることなく、運用が容易で、認証のレベル
に上下関係が発生しない。
ば、署名者の数が増加しても、ファイル数やデータサイ
ズを増加させることなく、運用が容易で、認証のレベル
に上下関係が発生しない。
【図1】この発明の実施の形態に係るファイル認証シス
テムの構成を模式的に示すブロック図である。
テムの構成を模式的に示すブロック図である。
【図2】図1のファイル認証システムに付加的に用い得
る追加認証システムの構成を模式的に示すブロック図で
ある。
る追加認証システムの構成を模式的に示すブロック図で
ある。
【図3】図1のファイル認証システムにおける署名手続
きの動作を説明するためのフローチャートである。
きの動作を説明するためのフローチャートである。
【図4】図1のファイル認証システムにおける署名の検
証手続きの動作を説明するためのフローチャートであ
る。
証手続きの動作を説明するためのフローチャートであ
る。
【図5】図1のファイル認証システムの原理を説明する
ための模式図である。
ための模式図である。
【図6】従来のファイル認証方式の一例を説明するため
の模式図である。
の模式図である。
【図7】従来のファイル認証方式を用いて複数の利用者
により署名を行う場合の一例を説明するための模式図で
ある。
により署名を行う場合の一例を説明するための模式図で
ある。
【図8】従来のファイル認証方式を用いて複数の利用者
により署名を行う場合の他の一例を説明するための模式
図である。
により署名を行う場合の他の一例を説明するための模式
図である。
1 署名システム 2 検証システム 3 追加署名システム 11 利用者設定部 12 証明書格納部 13 文書作成部 14 証明書追加部 15,23 ハッシュ値算出部 16,32 署名操作部 17,33 署名処理部 18,34 データ結合部 21 公開鍵抽出部 22 検証処理部 24 比較判定部 31 署名データ分離部
Claims (11)
- 【請求項1】対象ファイルが原ファイルのみであるとき
は、原ファイルに基づいて当該署名者の署名情報を生成
し、該対象ファイルが原ファイルに署名情報を付加した
署名付きファイルであるときは、前記署名情報に当該署
名者の原ファイルに対する署名情報を合成して新たな署
名情報とする署名処理手段と、 前記署名処理手段により得られる署名情報を前記原ファ
イルに付加して署名付きファイルを生成する署名付きフ
ァイル生成手段と、 前記署名付きファイル生成手段により生成された署名付
きファイルを署名情報に基づいて検証する検証手段と、
を具備することを特徴とするファイル認証システム。 - 【請求項2】原ファイルに署名者の公開鍵を含む電子的
な証明書を追加する証明書追加手段、 前記原ファイル及び証明書から一方向関数を用いてメッ
セージダイジェストを生成する第1のダイジェスト生成
手段、 前記メッセージダイジェストを各署名者が秘密鍵を用い
て暗号化することにより、逐次累積的に署名し、署名デ
ータを得る署名処理手段、及び前記原ファイル及び証明
書に前記累積的な署名データを付加して、前記原ファイ
ル、証明書及び署名データからなる署名付きファイルを
生成するデータ結合手段、を具備する署名システムと、 前記署名付きファイル中の証明書から署名者の公開鍵を
抽出する公開鍵抽出手段、 抽出された公開鍵を用いて、前記署名付きファイルから
取り出した署名データを逐次復号することにより、前記
署名データを検証し、検証結果として元のメッセージダ
イジェストを得る検証処理手段、 前記署名付きファイルから取り出した原ファイル及び証
明書から前記一方向関数を用いてメッセージダイジェス
トを生成する第2のダイジェスト生成手段、及び前記検
証処理手段による検証結果を前記第2のダイジェスト生
成手段で得られるメッセージダイジェストと比較照合し
て、両者の同一性により原ファイルを認証する照合手
段、を具備する検証システムと、を備えたことを特徴と
するファイル認証システム。 - 【請求項3】原ファイルに署名者の公開鍵を含む電子的
な証明書を追加する証明書追加手段、 前記原ファイル及び証明書からハッシュ関数を用いてハ
ッシュ値を求める第1のハッシュ演算手段、 前記ハッシュ値を各署名者の秘密鍵を用いて暗号化する
ことにより、逐次累積的に署名し、署名データを得る署
名処理手段、及び前記原ファイル及び証明書に前記累積
的な署名データを付加して、前記原ファイル、証明書及
び署名データからなる署名付きファイルを生成するデー
タ結合手段、を具備する署名システムと、 前記原ファイル、証明書及び署名データからなる署名付
きファイル中の証明書から公開鍵を抽出する公開鍵抽出
手段、 抽出された公開鍵を用いて、前記署名付きファイルから
取り出した署名データを逐次復号することにより、前記
署名データを検証し、検証結果として元のハッシュ値を
得る検証処理手段、 前記署名付きファイルから取り出した原ファイル及び証
明書からハッシュ関数を用いてハッシュ値を得る第2の
ハッシュ演算手段、及び前記検証処理手段による検証結
果を前記第2のハッシュ演算手段で得られるハッシュ値
と比較照合して、両者の同一性により原ファイルを認証
する照合手段、を具備する検証システムと、を備えたこ
とを特徴とするファイル認証システム。 - 【請求項4】前記署名システムの前記署名処理手段は、 前記ハッシュ値Hに対して、署名者iがjを署名する関
数をSi(j)とし、署名暗号化されたハッシュ値をC
として、各署名者により所定の順序で逐次、 C1=S1(H) C12=S2(C1) C123=S2(C12) … C1…n=Sn(C1…n−1) として、署名データC1…nを求める手段を含み、且つ
前記検証システムの前記検証処理手段は、 前記署名データC1…nに対し、署名者iの公開鍵によ
りjを検証復号する関数をKi(j)として、各署名者
について前記署名処理手段とは逆順で逐次、 C1…n−1=Kn(C1…n) … C12=K3(C123) C1=K2(C12) H=K1(C1) として元のハッシュ値を求める手段を含むことを特徴と
する請求項3に記載のファイル認証システム。 - 【請求項5】前記署名処理手段における各署名の順序
は、各署名者のモジュロ値の小さい順とし、前記検証処
理手段における検証復号の順序はモジュロ値の大きい順
とすることを特徴とする請求項4に記載のファイル認証
システム。 - 【請求項6】原ファイルに署名者の公開鍵を含む電子的
な証明書を追加する証明書追加手段、 前記原ファイル及び証明書から一方向関数を用いてメッ
セージダイジェストを生成する第1のダイジェスト生成
手段、 前記メッセージダイジェストを、各署名者の秘密鍵を用
いて暗号化することにより、逐次累積的に署名し、署名
データを得る署名処理手段、及び前記原ファイル及び証
明書に前記累積的な署名データを付加して、前記原ファ
イル、証明書及び署名データからなる署名付きファイル
を生成するデータ結合手段、を備えたことを特徴とする
署名システム。 - 【請求項7】原ファイルに署名者の公開鍵を含む電子的
な証明書を追加し、原ファイル及び証明書から一方向関
数を用いてメッセージダイジェストを生成し、前記メッ
セージダイジェストを各署名者の秘密鍵を用いて暗号化
することにより、逐次累積的に署名して署名データを得
て、前記原ファイル及び証明書に前記累積的な署名デー
タを付加して生成された署名付きファイルを検証する認
証システムであって、 署名付きファイル中の証明書から署名者の公開鍵を抽出
する公開鍵抽出手段と、 前記公開鍵抽出手段により抽出された公開鍵を用いて、
前記署名付きファイルから取り出した署名データを逐次
復号することにより、元のメッセージダイジェストを得
る検証処理手段と、 前記署名付きファイルから取り出した原ファイル及び証
明書から前記一方向関数を用いてメッセージダイジェス
トを生成するダイジェスト生成手段と、 前記検証処理手段により復号された元のメッセージダイ
ジェストを前記ダイジェスト生成手段で得られるメッセ
ージダイジェストと比較照合して、両者の同一性により
原ファイルを認証する照合手段と、を具備する認証シス
テム。 - 【請求項8】原ファイルに署名対象者の公開鍵を含む電
子的な証明書を追加する証明書追加ステップと、 前記原ファイル及び証明書から一方向関数を用いてメッ
セージダイジェストを生成する第1のダイジェスト生成
ステップと、 前記メッセージダイジェストを各署名対象者の秘密鍵を
用いて暗号化することにより、逐次累積的に署名し、署
名データを得る署名処理ステップと、 前記原ファイル及び証明書に前記累積的な署名データを
付加して、前記原ファイル、証明書及び署名データから
なる署名付きファイルを生成するデータ結合ステップ
と、を具備する署名方法。 - 【請求項9】請求項8に記載の署名方法により生成され
た署名付きファイルを認証するファイル認証方法であっ
て前記署名付きファイル中の証明書から署名対象者の公
開鍵を抽出する公開鍵抽出ステップと、 抽出した公開鍵を用いて、前記署名付きファイルから取
り出した署名データを逐次復号することにより、元のメ
ッセージダイジェストを復号する復号ステップと、 前記署名付きファイルから取り出した原ファイル及び証
明書から前記一方向関数を用いてメッセージダイジェス
トを生成する第2のダイジェスト生成ステップと、 前記復号ステップにより復号された元のメッセージダイ
ジェストを前記第2のダイジェスト生成ステップで得ら
れるメッセージダイジェストと比較照合して、両者の同
一性により原ファイルを認証する照合ステップと、を有
することを特徴とする認証方法。 - 【請求項10】コンピュータに、 原ファイルに第1の署名者により署名処理を施し、該原
ファイルに基づいて当該署名者の署名情報を生成するス
テップと、該署名情報を前記原ファイルに付加して署名
付きファイルを生成するステップを含む第1の署名ステ
ップと、署名付きファイルを対象として、署名者の署名
処理を施して、従前の署名情報に当該署名者の原ファイ
ルに対する署名情報を合成して新たな署名情報とするス
テップを署名者数に応じて繰り返して、複数の署名者に
よる署名情報が原ファイルに付加された署名付きファイ
ルを得る第2の署名ステップと、を備える署名方法と、 前記署名方法により得られた前記署名付きファイルを前
記署名情報に基づいて検証する検証方法と、 の少なくとも一方を実行させるためのプログラムを記録
したコンピュータ読み取り可能な記録媒体。 - 【請求項11】コンピュータに、 原ファイルに署名者の公開鍵を含む電子的な証明書を追
加する証明書追加ステップと、前記原ファイル及び証明
書から一方向関数を用いてメッセージダイジェストを生
成する第1のダイジェスト生成ステップと、前記メッセ
ージダイジェストを各署名者の秘密鍵を用いて累積的に
暗号化することにより、署名データを得る署名処理ステ
ップと、前記原ファイル及び証明書に前記累積的な署名
データを付加して、前記原ファイル、証明書及び署名デ
ータからなる署名付きファイルを生成するデータ結合ス
テップと、を含む署名方法と、 前記署名付きファイル中の証明書から、署名者の公開鍵
を抽出する公開鍵抽出ステップと、抽出した公開鍵を用
いて、前記署名付きファイルから取り出した署名データ
を逐次復号することにより、元のメッセージダイジェス
トを得る検証処理ステップと、前記署名付きファイルか
ら取り出した原ファイル及び証明書から前記一方向関数
を用いてメッセージダイジェストを生成する第2のダイ
ジェスト生成ステップと、前記検証処理ステップにより
復号された元のメッセージダイジェストと前記第2のダ
イジェスト生成ステップで得られるメッセージダイジェ
ストとを比較して、両者の同一性により原ファイルを認
証する照合ステップと、とを含む検証方法と、 の少なくとも一方を実行させるためのプログラムを記録
したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11052961A JP2000250408A (ja) | 1999-03-01 | 1999-03-01 | ファイル認証システム、署名システム及び署名方法、認証システム及び認証方法、及び記録媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11052961A JP2000250408A (ja) | 1999-03-01 | 1999-03-01 | ファイル認証システム、署名システム及び署名方法、認証システム及び認証方法、及び記録媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000250408A true JP2000250408A (ja) | 2000-09-14 |
Family
ID=12929499
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11052961A Pending JP2000250408A (ja) | 1999-03-01 | 1999-03-01 | ファイル認証システム、署名システム及び署名方法、認証システム及び認証方法、及び記録媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000250408A (ja) |
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002164884A (ja) * | 2000-11-02 | 2002-06-07 | Internatl Business Mach Corp <Ibm> | プロキシサーバ、電子署名システム、電子署名検証システム、ネットワークシステム、電子署名方法、電子署名検証方法、記憶媒体及びプログラム伝送装置 |
| KR20020044343A (ko) * | 2000-12-05 | 2002-06-15 | 구자홍 | 전자 우편 내용 증명 서비스 방법 |
| JP2004007387A (ja) * | 2002-04-12 | 2004-01-08 | Mitsubishi Electric Information Systems Corp | 電子署名文書配信システム、電子署名文書配信方法、電子署名文書配信プログラム、電子署名文書配信プログラムを記録した記録媒体 |
| US7240195B2 (en) | 2001-05-18 | 2007-07-03 | Nec Corporation | Certified shuffle-decrypting system, certified shuffle-decrypting method and certified shuffle-decryption verifying method |
| JPWO2006057390A1 (ja) * | 2004-11-29 | 2008-08-07 | 日本電気株式会社 | 流通経緯認証システム、流通経緯認証方法 |
| KR101735708B1 (ko) * | 2016-02-02 | 2017-05-15 | 주식회사 코인플러그 | 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버 |
| WO2017135669A1 (ko) * | 2016-02-02 | 2017-08-10 | 주식회사 코인플러그 | 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버 |
| KR101798119B1 (ko) * | 2016-02-23 | 2017-11-16 | 주식회사 코인플러그 | 주주명부를 등록하고 주식 소유권 이전을 기록하고 등록된 주주명부 파일을 검증하는 방법 및 서버 |
| CN111597591A (zh) * | 2020-05-13 | 2020-08-28 | 杭州天谷信息科技有限公司 | 混合式签章方法及系统 |
| CN111625787A (zh) * | 2020-05-21 | 2020-09-04 | 杭州尚尚签网络科技有限公司 | 一种基于ofd的电子签章多版本可追溯快速验签方法 |
| CN114039752A (zh) * | 2021-10-27 | 2022-02-11 | 贵州电网有限责任公司 | 数据信息传输方法、继电保护装置以及主站 |
| CN114499891A (zh) * | 2022-03-21 | 2022-05-13 | 宁夏凯信特信息科技有限公司 | 一种签名服务器系统以及签名验证方法 |
| US11824840B1 (en) * | 2019-02-04 | 2023-11-21 | Meixler Technologies, Inc. | System and method for web-browser based end-to-end encrypted messaging and for securely implementing cryptography using client-side scripting in a web browser |
-
1999
- 1999-03-01 JP JP11052961A patent/JP2000250408A/ja active Pending
Cited By (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002164884A (ja) * | 2000-11-02 | 2002-06-07 | Internatl Business Mach Corp <Ibm> | プロキシサーバ、電子署名システム、電子署名検証システム、ネットワークシステム、電子署名方法、電子署名検証方法、記憶媒体及びプログラム伝送装置 |
| KR20020044343A (ko) * | 2000-12-05 | 2002-06-15 | 구자홍 | 전자 우편 내용 증명 서비스 방법 |
| US7240195B2 (en) | 2001-05-18 | 2007-07-03 | Nec Corporation | Certified shuffle-decrypting system, certified shuffle-decrypting method and certified shuffle-decryption verifying method |
| JP2004007387A (ja) * | 2002-04-12 | 2004-01-08 | Mitsubishi Electric Information Systems Corp | 電子署名文書配信システム、電子署名文書配信方法、電子署名文書配信プログラム、電子署名文書配信プログラムを記録した記録媒体 |
| JPWO2006057390A1 (ja) * | 2004-11-29 | 2008-08-07 | 日本電気株式会社 | 流通経緯認証システム、流通経緯認証方法 |
| JP4993076B2 (ja) * | 2004-11-29 | 2012-08-08 | 日本電気株式会社 | 流通経緯認証システム、流通経緯認証方法、リーダライタ、プログラム、無線icタグ |
| US10372942B1 (en) | 2016-02-02 | 2019-08-06 | Coinplug, Inc. | Method and server for providing notary service for file and verifying file recorded by notary service |
| US10924285B2 (en) | 2016-02-02 | 2021-02-16 | Coinplug, Inc. | Method and server for providing notary service with respect to file and verifying file recorded by the notary service |
| WO2017135669A1 (ko) * | 2016-02-02 | 2017-08-10 | 주식회사 코인플러그 | 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버 |
| KR101772554B1 (ko) * | 2016-02-02 | 2017-08-30 | 주식회사 코인플러그 | 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버 |
| US10944570B2 (en) | 2016-02-02 | 2021-03-09 | Coinplug, Inc. | Method and server for providing notary service for file and verifying file recorded by notary service |
| US10235538B2 (en) | 2016-02-02 | 2019-03-19 | Coinplug, Inc. | Method and server for providing notary service for file and verifying file recorded by notary service |
| KR101735708B1 (ko) * | 2016-02-02 | 2017-05-15 | 주식회사 코인플러그 | 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버 |
| US10491396B2 (en) | 2016-02-02 | 2019-11-26 | Coinplug, Inc. | Method and server for providing notary service for file and verifying file recorded by notary service |
| US11438167B2 (en) | 2016-02-02 | 2022-09-06 | Coinplug, Inc. | Method and server for providing notary service for file and verifying file recorded by notary service |
| WO2017135670A1 (ko) * | 2016-02-02 | 2017-08-10 | 주식회사 코인플러그 | 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버 |
| KR101798119B1 (ko) * | 2016-02-23 | 2017-11-16 | 주식회사 코인플러그 | 주주명부를 등록하고 주식 소유권 이전을 기록하고 등록된 주주명부 파일을 검증하는 방법 및 서버 |
| US12363080B2 (en) | 2019-02-04 | 2025-07-15 | Meixler Technologies, Inc. | System and method for web-browser based end-to-end encrypted messaging and for securely implementing cryptography using client-side scripting in a web browser |
| US11824840B1 (en) * | 2019-02-04 | 2023-11-21 | Meixler Technologies, Inc. | System and method for web-browser based end-to-end encrypted messaging and for securely implementing cryptography using client-side scripting in a web browser |
| CN111597591A (zh) * | 2020-05-13 | 2020-08-28 | 杭州天谷信息科技有限公司 | 混合式签章方法及系统 |
| CN111625787A (zh) * | 2020-05-21 | 2020-09-04 | 杭州尚尚签网络科技有限公司 | 一种基于ofd的电子签章多版本可追溯快速验签方法 |
| CN111625787B (zh) * | 2020-05-21 | 2023-04-25 | 杭州尚尚签网络科技有限公司 | 一种基于ofd的电子签章多版本可追溯快速验签方法 |
| CN114039752A (zh) * | 2021-10-27 | 2022-02-11 | 贵州电网有限责任公司 | 数据信息传输方法、继电保护装置以及主站 |
| CN114499891A (zh) * | 2022-03-21 | 2022-05-13 | 宁夏凯信特信息科技有限公司 | 一种签名服务器系统以及签名验证方法 |
| CN114499891B (zh) * | 2022-03-21 | 2024-05-31 | 宁夏凯信特信息科技有限公司 | 一种签名服务器系统以及签名验证方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6553494B1 (en) | Method and apparatus for applying and verifying a biometric-based digital signature to an electronic document | |
| KR101054970B1 (ko) | 개인 정보를 포함하는 전자 증명서를 이용하여 통신 상대를 인증하기 위한 시스템, 장치, 방법, 및 컴퓨터 판독 가능한 기록 매체 | |
| US20070136599A1 (en) | Information processing apparatus and control method thereof | |
| US10887110B2 (en) | Method for digital signing with multiple devices operating multiparty computation with a split key | |
| JP3998640B2 (ja) | 暗号化及び署名方法、装置及びプログラム | |
| JP4776906B2 (ja) | 署名生成方法及び情報処理装置 | |
| US7020776B2 (en) | Cryptosystem based on a Jacobian of a curve | |
| TWI773161B (zh) | 數位簽章私鑰驗證方法 | |
| CN110971411A (zh) | 一种基于sotp技术对私钥乘加密的sm2同态签名方法 | |
| CN112906056A (zh) | 一种基于区块链的云存储密钥安全管理方法 | |
| JP2000250408A (ja) | ファイル認証システム、署名システム及び署名方法、認証システム及び認証方法、及び記録媒体 | |
| US20100161992A1 (en) | Device and method for protecting data, computer program, computer program product | |
| EP4231583A1 (en) | Methods and arrangements for establishing digital identity | |
| JP2003022007A (ja) | ストリーム転送における電子署名方法、システム、プログラム及びプログラムを記録した記録媒体 | |
| CN107947939A (zh) | 支持sm3密码杂凑算法和sm2数字签名算法的pdf签名方法和系统 | |
| JP4765482B2 (ja) | 文書管理システム、文書管理プログラム及び文書管理方法 | |
| CN116346336B (zh) | 一种基于多层密钥生成中心的密钥分发方法及相关系统 | |
| JP2002049310A (ja) | 暗復号装置、認証装置及び記憶媒体 | |
| JPWO2006085430A1 (ja) | メンバー証明書獲得装置、メンバー証明書発行装置、グループ署名装置、グループ署名検証装置 | |
| JP2004234641A (ja) | コンテンツファイル制作者の認証方式およびそのプログラム | |
| JP3984570B2 (ja) | 署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラム | |
| CN114357474B (zh) | 一种防止数据伪造的方法 | |
| JP2001265735A (ja) | Id/パスワードを利用した認証方法及び署名方法及び通信方法及びシステム | |
| JP2007312128A (ja) | 電子データ閲覧システム、装置及びプログラム | |
| JP4840575B2 (ja) | 端末装置、証明書発行装置、証明書発行システム、証明書取得方法および証明書発行方法 |