JP3899808B2 - ディジタル署名生成方法およびディジタル署名検証方法 - Google Patents
ディジタル署名生成方法およびディジタル署名検証方法 Download PDFInfo
- Publication number
- JP3899808B2 JP3899808B2 JP2000377990A JP2000377990A JP3899808B2 JP 3899808 B2 JP3899808 B2 JP 3899808B2 JP 2000377990 A JP2000377990 A JP 2000377990A JP 2000377990 A JP2000377990 A JP 2000377990A JP 3899808 B2 JP3899808 B2 JP 3899808B2
- Authority
- JP
- Japan
- Prior art keywords
- signature
- digital signature
- data
- computer
- signature generation
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
- H04L9/3255—Cryptographic 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 using group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Description
【発明の属する技術分野】
本発明は、マルチメディアデータの正当性を保証する技術に関する。
【0002】
【従来の技術】
電子的な文書などのディジタル化されたデータ(マルチメディアデータともいう)に、従来のサイン、印鑑に相当する機能を付与する技術であるディジタル署名が、電子商取引などにおけるネットワークの高度利用を可能にする技術として、注目されつつある。
【0003】
ディジタル署名技術に関する文献としては、たとえば以下のものがある。
【0004】
文献1: Alfred J. Menezes, Paul C. van Oorschot, and Scott A. Vanstone, "Handbook of Applied Cryptography" CRC Press, Inc. 1997
文献2: Bruce Schneier, "Applied Cryptography Second Edition", John Wiley & Sons, Inc. 1996
文献3: "Standerd Specifications for Public Key Cryptography (Draft Version 11)" IEEE P1363, IEEE, July 1999
ディジタル署名技術では、ディジタル署名生成者は、署名対象となるディジタル化されたデータ(以下、メッセージという)Mあるいはその特徴値(圧縮値または、メッセージダイジェストともいう)であるハッシュ値に、自身が秘密裏に保持する秘密鍵を作用させることで、メッセージMに対するディジタル署名Aを生成する。そして、メッセージMにディジタル署名Aを付して公開する。ディジタル署名検証者は、メッセージMに付されたディジタル署名Aを上記秘密鍵と対の公開鍵を作用させることで得た結果と、メッセージMあるいはそのハッシュ値とを比較する。両者が一致しない場合は、ディジタル署名Aが生成された後にメッセージMに何らかの改ざんが加えられた可能性がある。このため、両者が一致する場合に、ディジタル署名AがメッセージMに対してなされたものであることを認証する。
【0005】
また、メッセージがある時点で存在したことをディジタル署名を用いて保証する技術として、タイムスタンプ技術がある。この技術はメッセージとその時点における時刻情報を合わせたデータに対して、ディジタル署名を生成することにより、当該メッセージがその時点において存在したことを保証するものである。
【0006】
タイムスタンプ技術に関しては、上記文献2のP.75、"CHAPTER4 Intermediate Protocols, 4.1 TIMESTAMPING SERVICES"と
文献4:International Application Number PCT/US91/05386
文献5:International Application Number PCT/US99/19061
文献6:Ahto Buldas, Helger Lipmaa, and Berry Schoenmakers, "Optimally Efficient Accountable Time-Stamping"
文献7:Ahto Buldas, Peeter Laud, Helger Lipmaa, and Jan Villenmson, "Time-Stamping with Binary Linking Schemes"
に開示されている。
【0007】
また、故障等により装置の一部が利用不可となった時にも、安全に処理を継続することなどを目的として、複数のエンティティが共同して署名生成を行う場合に、そのうちの一定数のエンティティがそろえば正しい署名を生成可能であるが、それ未満では署名を正しく生成できない「しきい値署名」技術が提案されている。
【0008】
しきい値署名に関しては以下の文献に開示されている。
【0009】
文献8:M. Cerecedo, T. Matsumoto, and H. Imai, "Efficient and Secure Multiparty Generation of Digital Siganatures Based on Discrete Logarithms," IEICE Trans. Fundamentals, Vol.E76-A, No.4, pp.532-545, April 1993.
文献9:R. Gennaro, S. Jarecki, H. Krawczyk, and T. Rabin, "Robust Threshold DSS Signatures," In Proc. of Eurocrypt '96, LNCS 1070, Springer-Verlag, pp.354-371, 1996.
文献10:C. Park and K. Kurosawa, "New ElGamal Type Threshold Digital Signature Scheme," IEICE Trans. Fundamentals, vol.E79-A, no.1, pp.86-93, Jan. 1996.
さらにメッセージにディジタル署名生成者自身が何らかの改ざんを加えて新たにディジタル署名を生成して元のメッセージおよびディジタル署名と置き換える様な不正な行為、を防止する技術が開発されている。
【0010】
該技術では、ディジタル署名生成者は、署名対象となるメッセージMnあるいはそのハッシュ値と1つ前に生成したディジタル署名An-1の生成に関わるデータと時刻データを、自身が秘密裏に保持する秘密鍵を作用させることで、メッセージMnに対するディジタル署名Anを生成する。このようにすると、ディジタル署名Anの次に生成されるディジタル署名An+1には、1つ前に生成したディジタル署名Anの生成に関わるデータが反映される。このため、ディジタル署名生成者が自身が生成したメッセージMnに何らかの改ざんを加えて新たにディジタル署名Anを生成し、これらを元のメッセージMnおよびディジタル署名Anと置き換えるような不正な行為を行うと、ディジタル署名An+1との間で整合がとれなくなる。
【0011】
上述した、メッセージにディジタル署名生成者自身が何らかの改ざんを加えて新たにディジタル署名を生成して元のメッセージおよびディジタル署名と置き換える様な不正な行為、を防止する技術は、文献2、文献4にlinking Protocolとして開示されている。
【0012】
【発明が解決しようとする課題】
しかしながら、上記不正行為を防止する技術においては、複数の装置が共同して署名生成を行うことについては配慮されていなかった。
【0013】
より具体的には、上記不正行為を防止する技術を、上記しきい値署名技術を用いて実現しようとする場合、署名生成を行う複数の装置の中には、一つ前の署名生成に係わらなかった装置、すなわち、一つ前に生成された署名に関する情報を何ら持たない装置、が存在する可能性があるので、一つ前に生成された署名情報を反映できず、不正を防止できない可能性がある。
【0014】
また、上記従来技術に開示された方法においては、ディジタル署名An+1の生成時に用いられたディジタル署名Anの生成に関わるデータが何らかの原因により失われた場合、不正を防止できない可能性がある。
【0015】
本発明は、複数の装置が共同してディジタル署名を生成する際においても、確実に不正を防止する技術を提供しようとするものである。
【0016】
また、以前に生成した署名を反映させるように行う方法であって、署名生成時に必ずしもすべての装置を必要としない方法を提供するものである。
【0017】
また、本発明は、ディジタル署名An+1の生成時に用いられたディジタル署名Anの生成に関わるデータが何らかの原因により失われても、確実に不正を防止する技術を提供しようとするものである。
【0018】
すなわち、連鎖を形成している署名データの一部が失われても、当該失われたデータ以外の署名データ相互の前後関係を保証する手段を与える方法を提供しようとするものである。
【0019】
さらに、本発明は、上記方法を用いたサービスシステムや、そこで用いる装置、または、それらを機能的に実現するプログラムを提供しようとするものである。
【0020】
【課題を解決するための手段】
上記目的を達成するために、本発明は、複数の装置によって署名生成をする際に、連続で署名生成に係わる署名生成装置が少なくとも1台は存在するように署名生成を行う方法を提供する。本発明によれば、少なくとも一つの署名生成装置は、一つ前になされた署名生成に関わるデータを保持しているため、そのデータを利用した署名生成が可能となる。
【0021】
より具体的には、複数の装置によって生成された署名に関わるデータであって、次の署名生成に際し利用されるデータは、当該署名の生成に係わったか否かによらず、全ての署名生成装置が保持すればよい。また、安全な場所に保管された上記データを、すべての署名生成装置が安全な方法でアクセスすることにより共有してもよい。
【0022】
このように実施することにより、署名生成をどのような署名生成装置の組み合わせによって行っても、それらの署名生成装置は、一つ前の署名生成に関わるデータを保持していることになる。
【0023】
また、本発明は、署名生成の際に、それ以前に生成された署名に関わるデータを、複数利用し、各々の署名に関する連鎖(前後関係)を確認可能なように構成する。これにより、データの紛失や不正者の存在など何らかの原因によって、一つの連鎖を確認できなくなったとしても、他の連鎖を確認することで、過去から現在に至る署名の連鎖をとぎれにくくすることが可能になる。
【0024】
より具体的には、本発明は、署名作成手段を備えたn台の装置を用いて、逐次、ディジタル署名を生成する方法として、j番目(j≧1)のディジタル署名生成時に、履歴データjを生成するステップと、上記n台の装置のうち、i番目(i>j)のディジタル署名生成に係わるm台(1≦m≦n)の装置において、上記履歴データjを保持するステップと、上記保持されたL個(1≦L<i)の履歴データj1〜jLのうち少なくとも一つを利用して、i番目のディジタル署名iを生成するステップと、を提供する。
【0025】
上記履歴データjは、上記j番目に生成されたディジタル署名jまたは、当該j番目に生成されたディジタル署名jの生成時に利用されたデータのいずれかでもよい。
【0026】
また、上記履歴データjを生成するステップは、上記m台の装置のいずれか自身において、実行されるものでもよい。
【0027】
また、上記i番目(i>j)のディジタル署名生成に係わるm台(1≦m≦n)の装置において、ディジタル署名を生成する際には、上記m台の装置おのおのが、自身の持つ履歴データのうち最新のものを他のm-1台の装置に対し送信し、他のm-1台の装置から送信された計m-1個の履歴データと、自身が保持する履歴データの中で最新のもの1個をあわせた、合計m個の履歴データのなかから、最新の履歴データを選び、当該最新の履歴データを、上記i番目のディジタル署名を生成する際に利用する履歴データのうちの一つとしてもよい。
【0028】
また、上記履歴データjを生成するステップは、上記n-m台の装置のいずれかにおいて、実行され、上記保持するステップは、上記n-m台の装置のうちの少なくとも1台が上記履歴データjを上記m台の装置に送付するステップと、上記m台の装置が上記送付された履歴データを保持するステップとからなるものでもよい。
【0029】
また、上記(i番目)新たなディジタル署名を生成するステップで利用される履歴データとして、履歴データ(i-1)と、少なくとも1つの履歴データk(k<i-1)を用いるものでもよい。
【0030】
本発明は、上記において生成されたディジタル署名iの検証にあたり、上記i番目のディジタル署名を生成するステップにおいて利用された履歴データが、あらかじめ定められた規則を満たすように利用されていることを確認するステップ、または、複数のディジタル署名h(h>i)の生成ステップにおいて生成された履歴データhが、当該ディジタル署名iの生成ステップにおいて生成された履歴データiを、あらかじめ定められた規則を満たすように利用していることを確認するステップを提供する。
【0031】
上記あらかじめ定められた規則とは、上記複数の履歴データのうちの少なくとも一つを利用すること、または、上記複数の履歴データのうちのすべてを利用するものでもよい。
【0032】
さらに、上記規則が、定められるのは、システム稼動時、または、署名生成時、または、署名検証時であってもよい。
【0033】
【発明の実施の形態】
(第1の実施例)
本発明をネットワークを介したタイムスタンプサービスに適用した一実施例を図を用いて説明する。
【0034】
図1は、本実施例におけるシステム概略構成図である。ネットワーク 1001を介して、タイムスタンプ発行局の制御用コンピュータ 1031 と、何人かの利用者のPC 1011, 1020 が接続されている。利用者は、作成したメッセージが、確かにその時刻に存在したことを、後になって証明することができるようにするために、利用者のPC 1011 により当該メッセージ 1002 をネットワーク 1001 を介して、タイムスタンプ発行局に送る。タイムスタンプ発行局のコンピュータ1031は、利用者からメッセージ 1002 を受け取ると、当該メッセージ1002 に対する時刻保証情報であるタイムスタンプを発行し、メッセージ1002とタイムスタンプとからなるタイムスタンプ付きメッセージ1003を利用者のPC 1011に送り返す。利用者のPC 1011は、当該タイムスタンプ付きメッセージ1003を受け取る。
【0035】
本実施例においては、タイムスタンプとして上述のLinking Protocolに基づく技術を利用する。すなわち、タイムスタンプ発行局は、メッセージと時刻情報に加えて、直前に発行したタイムスタンプに関するデータを付加した情報に対し、ディジタル署名を生成する。
【0036】
さらに本発明においては、ディジタル署名を生成する際に、一層の安全性および信頼性向上を図るために、しきい値署名技術を利用する。より具体的には、n台のコンピュータ(署名生成装置)を使いそのうちの任意のk台がそろった時には正しく署名生成を行うことができるが、n-k台では正しく署名生成することができないk-out-of-nしきい値署名方式を利用する。しきい値署名については、上記文献8〜文献10に開示されているほか、
文献11:特願平11-307993号
に、署名生成過程で秘密通信を必要としないことを特徴とするしきい値署名が開示されている。しきい値署名技術を利用することにより、例えばn台の署名生成装置のうちのn-k台が何らかの原因により故障した場合にも、残りのk台を使ってディジタル署名の生成が可能であり、また一方で、n台の署名生成装置のうちのn-k台が、万一何らかの原因により内部に保存された秘密に保持すべき情報が漏洩したとしても、その情報からだけでは、ディジタル署名の偽造などの不正を行うことは困難なので、安全性と信頼性の高いタイムスタンプ発行システムを構築することが可能となる。
【0037】
以下の実施例では、2-out-of-3しきい値署名技術を例示するが、要求される安全性、信頼性、価格対性能比などに応じて、k,nを選ぶことができる。
【0038】
利用者のPC 1011 は、CPU 1012、メモリ 1013、I/O 1016、ディスプレイ 1014、キーボード 1015とこれらを接続するバスによって構成され、また、I/O 1016を介してネットワーク 1001に接続されている。メモリ 1013内には、利用者のID 1017 、プログラム PROG1 1018 、および、タイムスタンプ発行局の公開鍵 1019が保存されている。プログラムは、バスを介してCPU 1012に伝達され、機能として具現化される。
【0039】
一方、タイムスタンプ発行局側は、タイムスタンプ発行局の制御用コンピュータ 1031、および、署名生成用コンピュータA 1051、コンピュータB 1060、コンピュータC 1070がLAN 1040を介して接続されている。また、LAN 1040は、利用するしきい値署名技術によっては、周知の暗号技術や物理的手段により内部を流れる情報が秘匿されるように構成されている必要がある場合もある。
【0040】
タイムスタンプ発行局側の制御用コンピュータ 1031は、CPU 1032、メモリ 1033、ネットワーク接続用I/O 1036、LAN接続用I/O 1037、ディスプレイ 1034、キーボード1035とこれらを接続するバスによって構成され、ネットワーク接続用I/O 1036を介してネットワーク 1001に接続され、また、LAN接続用I/O 1037を介してLAN 1040に接続されている。またメモリ 1033内にはプログラム PROG2 1038が保存されている。
【0041】
タイムスタンプ発行局側の署名生成用コンピュータA 1051、B 1060、C 1070は、基本的に同構成で、CPU 1052、メモリ 1053、LAN接続用I/O 1054、タイマー1059とこれらを接続するバスによって構成されており、さらにLAN接続用I/O 1037を介してLAN 1040に接続されている。タイマー 1059はあらかじめ何らかの方法により他の署名生成用コンピュータとの間で同期が取られている。またメモリ 1053内にはID 1055*、プログラム PROG3 1056、秘密鍵生成情報 1057が保存されている他、1つ以上前に生成されたディジタル署名または当該1つ以上前に生成されたディジタル署名の生成時に利用されたデータ(以下履歴データという)を保存するための履歴保存領域 1058が用意されている。なお、ID 1055、秘密鍵生成情報1057として、コンピュータ毎に固有の値が設定されている。
【0042】
上記、秘密鍵生成情報1057とは、各署名生成用コンピュータが秘密裏に保持すべきデータであり、あらかじめ定められた条件を満たす署名生成用コンピュータがそろった時(本実施例では2-out-of-3しきい値署名を用いているので、3台中の任意の2台のコンピュータがそろった時)には、それらのコンピュータが保持する秘密鍵生成情報からタイムスタンプ発行局の秘密鍵情報が復元できるように、あらかじめ分散保持されているものとする。分散保持するための具体的な方法については、例えば、上記文献8〜文献11に示されている。
【0043】
図2は、本実施例における処理フローの概略を示した図である。なお、フロー中のステップ2001、2002、2003、2010、2011は利用者のPC 1011上のメモリ 1013中に保存されたプログラムPROG1 1018を、CPU1012が実行することにより実現される機能である。同様に、ステップ 2004、2005、2007、2009は、タイムスタンプ発行局の制御用コンピュータ1031上のPROG2 1038をCPU1032が実行することによって実現される機能であり、ステップ 2006、2008はタイムスタンプ発行局の署名生成用コンピュータA 1051上のPROG 1056をCPU1052が実行することによって実現される機能である。
【0044】
「タイムスタンプ発行処理フロー」
ステップ2001:はじめ
[利用者のPCによる処理]
ステップ2002:存在時刻を証明したい文書を作成する
ステップ2003:タイムスタンプ発行局に対し、タイムスタンプの発行を依頼する(当該文書mのハッシュ値Hnおよび利用者のID Inをタイムスタンプ発行局に送付)
[タイムスタンプ発行局の制御用コンピュータ 1031による処理]
ステップ2004:3台の署名生成用コンピュータから、利用可能な署名生成用コンピュータを2台選択する
ステップ2005:ステップ2004で選択された署名生成用コンピュータに、利用者のPCから受けとった文書を送信する
[タイムスタンプ発行局の署名生成用コンピュータ(上記ステップ2004で選択されたコンピュータ)による処理]
ステップ2006:選択された2台のコンピュータが協調して、当該文書に「時刻データ」「履歴データ」等を付加し、しきい値署名方法にしたがって署名(タイムスタンプ)を生成し、制御用コンピュータに送信する。なお、利用するしきい値署名方法によっては、署名生成用コンピュータと制御用コンピュータとの間で何回か通信が発生することもある
[タイムスタンプ発行局の制御用コンピュータ 1031による処理]
ステップ2007:タイムスタンプ発行局の署名生成用コンピュータで生成された署名(タイムスタンプ)の生成に利用したデータを、当該署名の生成に係わったか否かを問わずすべての署名生成用コンピュータに対して、最新の「履歴データ」として送信する
[タイムスタンプ発行局の署名生成用コンピュータ(すべてのコンピュータ)による処理]
ステップ2008:各署名生成用コンピュータは、制御用コンピュータから受け取ったデータを用いて、各コンピュータ内のメモリ内の履歴保存領域を更新し、正常に更新された旨、制御用コンピュータに送信する
[タイムスタンプ発行局の制御用コンピュータ 1031による処理]
ステップ2009:文書と生成された署名(タイムスタンプ)とからなるタイムスタンプ付きメッセージ1003を、依頼を行った利用者のPCに送信する
[利用者のPCによる処理]
ステップ2010:利用者はタイムスタンプ発行局からタイムスタンプ付き文書を受け取り、タイムスタンプが正当なものであることを、タイムスタンプ発行局の公開鍵を用いて確認した後、当該タイムスタンプ付き文書を受け入れる
ステップ2011:おわり
本実施例によれば、上記ステップ2007において、生成された署名(タイムスタンプ)を生成する際に利用したデータを、最新の「履歴データ」として、すべての署名生成用コンピュータに送信しているため、どの署名生成用コンピュータも、署名生成時には、その時点での最新の履歴データを保持していることになる。したがって、署名生成にどの2台の署名生成装置を利用しても、正しく行うことができる。なお、上記ステップ2007では、すべての署名生成用コンピュータに履歴データを送信している。しかし、当該署名の生成に係わったコンピュータは、署名生成時にこれらのデータを入手可能であるので改めて送らなくてもよい。すなわち当該署名の生成に係わらなかったコンピュータのみに送信するようにしてもよい。
【0045】
図3は、しきい値署名として上記文献11の一実施例に示された方法を利用した場合の上記Linking Protocolに基づくタイムスタンプを発行する場合の「タイムスタンプ発行処理フロー」ステップ2006における処理詳細フローを示した図である。なお、ここでは上記ステップ2004で選ばれた署名生成用コンピュータは、コンピュータA 1051およびコンピュータB 1060であるとする。またコンピュータI(I=A or B or C)の保持する秘密鍵生成情報で、コンピュータJと共に署名生成をする場合に利用するデータをeIJと書く。また、ベースとなるディジタル署名技術として、楕円曲線暗号を利用している。楕円曲線暗号で利用される下記のパラメータ、
定義体GF(p)の位数p(160-bit程度の奇素数)、
楕円曲線Eの定義式:y2=x3+ax+b mod pに現れるパラメータa,b、
上記楕円曲線E上のベースポイントPと呼ばれる点の座標:(xP,yP)、
上記ベースポイントPが生成する楕円曲線E上の有理点からなる群の位数:q(160-bit程度の奇素数)など、
および、楕円曲線上の加算、2倍算、スカラー倍演算、素数を法とした加算、減算、乗算、除算、べき乗演算などの基本演算機能については、あらかじめ各コンピュータが有しているものとする。これらのパラメータ、基本演算については、上記文献3に詳しい。
【0046】
[ステップ2006処理詳細フロー]
ステップ3001:はじめ
[制御用コンピュータによる処理]
ステップ3002:コンピュータA 1051、B 1060に文書mのハッシュ値Hj、および利用者のID Ijを送信(ステップ2005に相当)
[署名生成用コンピュータA 1051による処理]
ステップ3003A:履歴保存領域内に保持されていた「履歴データ」Ij-1,Hj-1,Tj-1,Lj-1から新たにLj=H(Ij-1,Hj-1,Tj-1,Lj-1)を計算する
[署名生成用コンピュータB 1060による処理]
ステップ3003B:コンピュータA 1051と同様に Ljを計算する
[署名生成用コンピュータA 1051による処理]
ステップ3004A:制御用コンピュータから受け取った、ハッシュ値Hj、および利用者のID Ijに、コンピュータA 1051のタイマーから取得した時刻Tj、コンピュータA 1051が履歴データとして保持している、インデックスj、Link Data Lj、および一つ前のタイムスタンプに関するデータ(利用者ID Ij-1、ハッシュ値Hj-1、時刻Tj-1)を結合し、署名対象データMを計算し、そのハッシュ値h(M)を計算する
[署名生成用コンピュータB 1060による処理]
ステップ3004B:ステップ3003Aと同様にしてh(M)を計算する
[署名生成用コンピュータA 1051による処理]
ステップ3005A:0<kA<qを満たす自然数である乱数kAを生成し、楕円曲線上のスカラー倍演算 RA=kA Pを計算し、コンピュータB 1060へ送信
[署名生成用コンピュータB 1060による処理]
ステップ3005B:0<kB<qを満たす自然数である乱数kBを生成し、楕円曲線上のスカラー倍演算 RB=kB Pを計算し、コンピュータA 1051へ送信
[署名生成用コンピュータA 1051による処理]
ステップ3006A:楕円曲線上の加算演算(x,y)=RA+RB、および、r=x (mod q)、sA=eABx+kAh(M) (mod q)を計算し、r,sA、および、Mを制御用コンピュータに送信
[署名生成用コンピュータB 1060による処理]
ステップ3006B:楕円曲線上の加算演算(x,y)=RB+RA、および、r=x (mod q)、sB=eBAx+kBh(M) (mod q)を計算し、r,sB、および、Mを制御用コンピュータに送信(rはステップ3006AでコンピュータA 1051によって計算された値と同じになる)
[制御用コンピュータによる処理]
ステップ3007:s=sA+sB (mod q)を計算し、(r,s)をタイムスタンプTSjとする
ステップ3008:おわり
図4は、図3と同様に、しきい値署名として上記文献11の一実施例に示された方法を利用した場合の上記Linking Protocolに基づくタイムスタンプを発行する場合の「タイムスタンプ発行処理フロー」ステップ2007における処理詳細フローを示した図である。
【0047】
[ステップ2007処理詳細フロー]
ステップ4001:はじめ
[制御用コンピュータによる処理]
ステップ4002:すべての署名生成用コンピュータに対し、Ij,Hj,Tjを新しい履歴データとして送信し更新を依頼(ステップ2007に相当)
[署名生成用コンピュータA 1051、B 1060、C 1070による処理(それぞれ独立に行う)]
ステップ4003:受信した (Ij,Hj,Tj,Lj)を履歴格納領域に保存
ステップ4004:インデックスを1増やす
[制御用コンピュータによる処理]
ステップ4005:TSjをタイムスタンプとして、M=(j,Ij,Hj,Tj,Ij-1,Hj-1,Tj-1,Lj)と共に、依頼を行った利用者(Ij)に返信(ステップ2009に相当)
[利用者のPCによる処理]
ステップ4006:タイムスタンプ付き文書を受信(ステップ2010に相当)
ステップ4007:おわり
図5は、図4に示した処理フロー中のステップ4004の直後の各署名生成用コンピュータ内の履歴保存領域の様子を示した図である。履歴保存領域には、インデックスj+1 5001、利用者ID Ij 5002、メッセージのハッシュ値Hj 5003、時刻情報Tj 5004、Link Data Lj 5005が保存されている。
【0048】
さらに、上記Linking Protocolでは、上記の一連の処理が終わった後、一つ前の利用者(利用者IDがIj-1の利用者)に対し、連鎖が正しくつぎへ反映されているということをたどれるようにするために、今回の利用者のID(Ij)を伝える。
【0049】
タイムスタンプ付き文書を受信した利用者は、しきい値署名技術を利用していない場合と同様にタイムスタンプを検証することができる。具体的には、まず、タイムスタンプ発行局の公開鍵を使って、ディジタル署名検証技術により、(j,Ij,Hj,Tj,Ij-1,Hj-1,Tj-1,Lj)に対するタイムスタンプ(ディジタル署名) TSjの正当性を確認する。タイムスタンプ発行局の不正などがないようにより詳細に確認するために、必要に応じて一つ前の利用者(利用者ID Ij-1)に問い合わせ、Lj-1を入手することにより、受信したデータに含まれるLink data LjがH(Ij-1,Hj-1,Tj-1,Lj-1)に等しいかどうかを確認することができる。同様に一つ後の利用者(利用者ID Ij+1)に問い合わせることにより、受信したデータから計算される値H(Ij,Hj,Tj,Lj)が、一つ後の利用者が受信したデータに含まれるLink data Lj+1に一致しているかどうかを確認することもできる。さらには、同じ操作を逐次繰り返すことにより2つ以上前の利用者や、2つ以上後の利用者に問い合わせることにより、タイムスタンプの正当性をより詳細に確認してもよい。
【0050】
以上に示したとおり、本実施例によれば、直前の署名生成に関するデータを、次の署名生成の際に反映させながら行うような署名生成法に対し、しきい値署名のような複数の署名生成装置が関わる署名生成法を適用することが可能となる。
【0051】
なお、本実施例では、n台の装置のうちのk台がそろった時に正しく署名生成を行うことができる、k-out-of-nしきい値署名法を用いて説明を行ったが、これにとらわれず、例えば、4台の署名生成装置A,B,C,DのうちA,Bの2台からなる組、または、B,C,Dの3台からなる組のどちらか一組がそろえば署名生成可能になるような分散署名技術に対しても同様に適用可能である。このような署名技術の一例が上記文献11に示されている。
【0052】
また、k-out-of-nしきい値署名法の中には、k台以上の署名生成装置に署名生成を依頼し、そのうちの少なくともk台が正しく動作すれば、全体として正しい署名を生成するような技術もある。そのような技術を利用する場合には、例えば、上記ステップ2004で制御用コンピュータにおいて2台の署名生成用コンピュータを選ぶのではなく、すべての署名生成用コンピュータに対して、署名生成処理を依頼してもよい。
【0053】
さらに、上記実施例においては、制御用コンピュータと署名生成用コンピュータを別のコンピュータ装置によって実現していたが、署名生成用コンピュータのうちの1台、または、複数台によって、制御用コンピュータの役割を実現するようにしてもよい。利用者のPCから送信されるメッセージは、あらかじめ利用者のPCにおいてハッシュ関数を用いて計算されたハッシュ値であってもよい。
【0054】
上記実施例においては、次の点が要求される。
【0055】
1.署名生成に直接係わらない署名生成用コンピュータも、履歴データ更新のために通信可能な状態にあること、
2.各署名生成用コンピュータに対し、直前の署名生成に関わる履歴データを外部から設定すること
上記Linking Protocolなどの直前の署名に関わるデータを反映させながら次の署名生成を行う技術の安全性を保つためには、反映させるデータが、確かに直前の署名生成に関わるデータである、ということが保証されなければならないが、上記2において、各署名生成用コンピュータは外部から設定された履歴データが、確かに直前の署名生成に関わるデータであるかどうか、確認する必要がある。
【0056】
これらの条件を緩和する他の実施例を以下に示す。
【0057】
(第2の実施例)
本実施例におけるシステム概略構成図は図1と同様である。本実施例で用いるしきい値署名方法(あるいはより一般に分散署名生成方法)には、次のような性質を持つ方法を用いる。
【0058】
[性質]任意のjに対し、j回目の署名生成に係わる署名生成用コンピュータの集合をSSj、j+1回目の署名生成に係わる署名生成用コンピュータの集合をSSj+1とすると、SSjとSSj+1との共通部分は空ではない(すなわち、2回連続で署名生成に係わる署名生成装置が少なくとも1台は存在する)
例えば、k>n/2の時、k-out-of-nしきい値署名は、署名生成に係わるk台の装置をどのように選んでも、少なくとも2k-n台の装置は2回連続で署名生成に係わることになるので、この性質を満たす。従って、第1の実施例で使った2-out-of-3しきい値署名もこの性質を満たす。
【0059】
本実施例では、上記の性質を持つ署名方法を利用することにより、以下に示すとおり、第1の実施例の場合のように署名生成に係わらなかった署名生成装置に対して履歴データを送信する必要がなくなる。すなわち、上記2の点が解決され、図2に示した「タイムスタンプ発行処理フロー」のうち、ステップ2007、2008が不要となる。
【0060】
本実施例における、ステップ2006の処理フローの詳細は、図6に示すとおりである。
【0061】
[ステップ2006処理詳細フロー]
ステップ6001:はじめ
[制御用コンピュータによる処理]
ステップ6002:ステップ3002と同様
[署名生成用コンピュータA 1051による処理]
ステップ6003A:コンピュータA 1051が保持するインデックスjAをコンピュータB 1060に送信する
[署名生成用コンピュータB 1060による処理]
ステップ6003B:コンピュータB 1060が保持するインデックスjBをコンピュータA 1051に送信する
[署名生成用コンピュータA 1051による処理]
ステップ6004A:jA≧jBならAが保持する「履歴データ」を、ステップ6005Aで利用すると共に、コンピュータB 1060に送信する。そうでなければjA:=jBとし、ステップ6005AではコンピュータB 1060から送信される「履歴データ」を利用する
[署名生成用コンピュータB 1060による処理]
ステップ6004B:jB≧jAならBが保持する「履歴データ」を、ステップ6005Bで利用すると共に、コンピュータA 1051に送信する。そうでなければjB:=jAとし、ステップ6005BでコンピュータA 1051から送信される「履歴データ」を利用する
[署名生成用コンピュータA 1051による処理]
ステップ6005A:ステップ3003A〜3006Aと同様
[署名生成用コンピュータB 1060による処理]
ステップ6005B:ステップ3003B〜3006Bと同様
[署名生成用コンピュータA 1051による処理]
ステップ6006A:インデックスを1増やし、Ij,Hj,Tj,Ljと共に履歴保存領域に保存する
[署名生成用コンピュータB 1060による処理]
ステップ6006B:インデックスを1増やし、Ij,Hj,Tj,Ljと共に履歴保存領域に保存する
[制御用コンピュータによる処理]
ステップ6007:TSjをタイムスタンプとして、(j,Ij,Hj,Tj,Ij-1,Hj-1,Tj-1,Lj)と共に、依頼を行った利用者(Ij)に返信(ステップ2009に相当)
ステップ6008:おわり
本実施例においても、第1の実施例と同様にしてタイムスタンプ付き文書の正当性を確認することができる。
【0062】
本実施例においては、上記、[性質]に述べた分散署名技術を利用しているため、署名生成時に最新の履歴を知る署名生成用コンピュータが存在することが保証されている。さらに、上記ステップ6004Aおよびステップ6004Bにおいて、インデックスを比較することにより、どの署名生成用コンピュータが最新の履歴を有しているか判定可能である。より一般にk台の署名生成用コンピュータが署名生成に係わる場合にも同様に、記録されているインデックスが最大のコンピュータを調べることにより、最新の履歴を知るコンピュータを判定可能である。従って、署名生成に係わった署名生成用コンピュータが、履歴保存領域内の履歴データを更新することにより、署名生成に係わらない署名生成用コンピュータの履歴データまでは更新することなく、最新の履歴データを引き継いだ形で署名生成を行うことができるようになる。
【0063】
このように、本実施例によれば、しきい値署名を利用して、上記Linking Protocolなどの直前の署名に関わるデータを反映させながら次の署名生成を行う技術を実現することが可能となるので、実施例1とは異なり、署名生成に直接係わらない署名生成用コンピュータが、履歴データ更新のために通信可能な状態にある必要はない。すなわち、一部の装置が故障により利用不可となっても署名生成が可能であるという、しきい値署名の一つの特徴を維持することが可能である。
【0064】
さらに、履歴データとして利用されるデータ直前の署名生成に関わるは自分自身が保持しているデータ、または、他の署名生成用コンピュータから送られてきたデータのどちらかであるため、すべての署名生成用コンピュータが信頼できるならば、例えば、署名生成用コンピュータ間の相互認証技術、および、署名生成用コンピュータ間の通信路上でのデータ改竄を防ぐ技術などを適用することにより、直前の署名生成に関わる履歴データを外部から設定しなければならないという前述の条件2を満たすことができる。
【0065】
(第3の実施例)
本実施例におけるシステム概略構成図は図1と同様である。また、本実施例で用いるしきい値署名方法(あるいはより一般に分散署名生成方法)には、上記、第2の実施例に示したのと同じ性質を持つ方法を用いる。
【0066】
本実施例では、以下のような履歴データの引き継ぎ方法を採用する。具体的には、第2の実施例では、署名生成の際に、その時点での最新の履歴データを引き継いでいた(連鎖を形成した)のに対し、本実施例では、当該署名(タイムスタンプ)の発行に係わるすべて署名生成装置各々がもつ当該署名装置にとっての履歴データを、当該署名(タイムスタンプ)の発行に係わるすべて署名生成装置が引き継ぐようにし、また、これらそれぞれの連鎖を独立に検証可能なように署名生成を行う。
【0067】
例えば、2-out-of-3しきい値署名を利用していて、次のような署名生成装置の組み合わせで署名生成(タイムスタンプ発行)を行ったとする。
【0068】
[タイムスタンプ発行シーケンス例]
1回目 A B
2回目 A C
3回目 B C
4回目 A C
5回目 A C
署名生成用コンピュータB 1060と署名生成用コンピュータC 1060とによる3回目の署名生成時には、署名生成用コンピュータB 1060にとっての最新の履歴データは1回目の署名生成に関するデータになり、署名生成用コンピュータC 1060にとっての最新の履歴データは2回目の署名生成に関するデータになる。本実施例においてはこれら両方の履歴データを用いたデータを3回目の署名生成に利用する。
【0069】
両方の履歴データを用いる場合には、例えば結合(連接)により一つにまとめて用いる方法を使うことが可能である。履歴データにはさらに識別情報(例えば、何回前の署名生成に関する履歴データであるか、など)を含めておいても良い。
【0070】
同様に、署名生成用コンピュータA 1051と署名生成用コンピュータC 1060とによる4回目の署名生成では、署名生成用コンピュータA 1051での2回目と署名生成用コンピュータC 1060での3回目の署名生成に関するデータを利用し、5回目の署名生成では、4回目の署名生成に関するデータを2つ合わせたデータを利用する。
【0071】
この署名生成方法により、生成される署名は、常に最新の履歴データが反映される、という第2の実施例による特徴に加えさらに、生成される署名には必ず各署名生成用コンピュータ自身が保持するデータ(すなわち各署名生成用コンピュータにとって信頼できるデータ)が反映するという特徴を備える。
【0072】
さらに本実施例において形成される複数の連鎖は、それぞれ独立に検証できるため、たとえ、当該署名の生成に係わるの中に悪意のある署名生成用コンピュータが存在し、正しくないデータを最新の履歴データとして送信したとしても、少なくとも一つの正しい連鎖が確認できるため、当該悪意のある署名生成用コンピュータによる悪影響を限定的にとどめることが可能となる。
【0073】
このことを上記のタイムスタンプ発行シーケンス例にしたがって以下に説明する。
【0074】
図11は上記タイムスタンプ発行シーケンス時の連鎖の様子を模式的に表した図である。連鎖の様子 11001に示した矢印は、署名間の依存関係を示している。図11に示されているとおり、4回目の署名生成には、2回目と3回目の署名生成に関わる履歴データが反映している。もし、この上記タイムスタンプ発行シーケンス例において、4回目の署名生成時に、署名生成用コンピュータC 1060が、署名生成用コンピュータA 1051に対して、正しい最新履歴データを送らなかったとする。この場合には、3回目の履歴データとの連鎖は確認できないことになる。しかし、この場合でもなお、4回目の署名生成に2回目の署名生成に関わる履歴データが正しく反映されていることは、正当な署名生成用コンピュータA 1051によって保証されるので、4回目以降の署名履歴と、2回目以前の署名履歴との連鎖は確認可能である。つまり署名生成用コンピュータC 1060が4回目の署名生成の際に行った不正行為による影響のおよぶ範囲は、3回目の署名と4回目の署名の不整合に限定される。
【0075】
従来技術である上記Linking Protocolなどでは、一個所(例えば3回目の署名と4回目の署名との間の)連鎖が切れてしまうと、3回目以前のいずれかの署名と、4回目以降のいずれかの署名との間には、何ら関係を見出すことができない。これはすなわち全体の信頼性を失うことにつながる可能性がある。これに対し、本実施例によれば上に述べた通りこの問題を解決できる。
【0076】
以上の通り、本実施例によれば、すべての署名生成用コンピュータが必ずしも信頼できるとは限らないような場面においても、更に効果的に上記2の条件を緩和することが可能となる。したがって、すべての署名生成用コンピュータが信頼できるとは限らなくても、その中の多くの署名生成用コンピュータが信頼できる場合には、本実施例に従うことにより、システム全体として信頼性の高いタイムスタンプシステムを構築することが可能となる。
【0077】
図7は、本実施例におけるステップ2006の処理フローの詳細を示したものである。
【0078】
[ステップ2006処理詳細フロー]
ステップ7001:はじめ
[制御用コンピュータ 1031による処理]
ステップ7002:ステップ3002と同様
[署名生成用コンピュータA 1051による処理]
ステップ7003A:インデックスjAおよびAの「履歴データ」をBに送る
[署名生成用コンピュータB 1060による処理]
ステップ7003B:インデックスjBおよびBの「履歴データ」をAに送る
[署名生成用コンピュータA 1051による処理]
ステップ7004A:(jAとjBのうち大きいほうをj、小さいほうをj_Sとする。)
Link data Lj=H(Ij_S-1,Hj_S-1,Tj_S-1,Lj_S-1)|| H(Ij_S-1,Hj_S-1,Tj_S-1,Lj_S-1) を計算する(||は結合(コンカチネーション)をあらわす)
[署名生成用コンピュータB 1060による処理]
ステップ7004B:コンピュータA 1051と同様に、Ljを計算する
[署名生成用コンピュータA 1051による処理]
ステップ7005A:インデックスj、利用者のID Ij、ハッシュ値Hj、コンピュータA 1051のタイマーから取得した時刻Tj、および、j_S, Ij_S-1, Hj_S-1, Tj_S-1, j, Ij-1, Hj-1, Tj-1, Ljを結合し、署名対象データMを計算し、そのハッシュ値h(M)を計算する
[署名生成用コンピュータB 1060による処理]
ステップ7005B:コンピュータA 1051と同様に、h(M)を計算する
[署名生成用コンピュータA 1051による処理]
ステップ7006A:3005A〜3006Aと同様
[署名生成用コンピュータB 1060による処理]
ステップ7006B:3005B〜3006Bと同様
[署名生成用コンピュータA 1051による処理]
ステップ7007A:インデックスjを1増やし、Ij, Hj, Tj, Ljと共に履歴保存領域に保存
[署名生成用コンピュータB 1060による処理]
ステップ7007B:インデックスjを1増やし、Ij, Hj, Tj, Ljと共に履歴保存領域に保存
[制御用コンピュータによる処理]
ステップ7008:ステップ3008と同様
ステップ7009:TSjをタイムスタンプとして、(j,Ij,Hj,Tj, j_S,Ij_S-1,Hj_S-1,Tj_S-1, j,Ij-1,Hj-1,Tj-1, Lj)と共に、依頼を行った利用者(Ij)に返信(ステップ2009に相当)
ステップ7010:おわり
さらに、上記Linking Protocolでは、連鎖が正しく次へ反映されていることを確認するために、署名生成用コンピュータAを直前に利用した利用者(利用者ID jA)、および、署名生成用コンピュータB 1060を直前に利用した利用者(利用者ID jB)に、今回の利用者ID(Ij)を送信する。
【0079】
本実施例に従い作成されたタイムスタンプ付き文書の正当性を確認するには、まず、タイムスタンプ発行局の公開鍵を使って、ディジタル署名検証技術により、(j,Ij,Hj,Tj, j_S,Ij_S-1,Hj_S-1,Tj_S-1, j,Ij-1,Hj-1,Tj-1, Lj)に対するタイムスタンプ(ディジタル署名) TSjの正当性を確認する。正当性が確認されなければタイムスタンプTSjは正当なものとは認められない。
【0080】
次に、タイムスタンプ発行局の不正などがないことをより詳細に確認するために、必要に応じて署名生成用コンピュータAを直前に利用した利用者(利用者ID jA)(注:jA = j_S または jである)に問い合わせ、LjA-1を入手することにより、受信したデータに含まれるLink data Lj = H(Ij_S-1,Hj_S-1,Tj_S-1,Lj_S-1)|| H(Ij_S-1,Hj_S-1,Tj_S-1,Lj_S-1)の前半分または後半分がH(IjA-1,HjA-1,TjA-1,LjA-1)に等しいことを確認することができる。
【0081】
等しいことを確認できない場合は、署名生成用コンピュータAが故障または不正な動作を行っていた(外部から不正なデータを与えられたことにより、結果として不正な動作を行わさせられた場合を含む)、または署名生成用コンピュータAが保持していたデータIjA-1,HjA-1,TjA-1,LjA-1が正しくない(あるいは正しく利用されない)などが原因である可能性があるので、もう一つの署名生成用コンピュータB 1060を用いた確認を行う。すなわち、署名生成用コンピュータB 1060を直前に利用した利用者(利用者ID jB)に問い合わせ、LjB-1を入手することにより、受信したデータに含まれるLink data Ljの前半分または後半分がH(IjB-1,HjB-1,TjB-1,LjB-1)に等しいことの確認を行う。
【0082】
この作業で、等しいことが確認されれば、本検証方法において、タイムスタンプTSjは正当なものと認められる(または、必要に応じて下記の更なる検証手段に進む)。そうでなければTSjは正当なものとは認められない。
【0083】
署名生成用コンピュータ B1060を直前に利用した利用者(利用者ID jB)の協力による確認は、署名生成用コンピュータAの影響を受けずに行うことができるため、すべての署名生成用コンピュータが必ずしも信頼できるとは限らないような場面、または、署名生成用コンピュータAの協力を得ることができない場合またはコンピュータAが不正な動作をしているときなどにおいても、更に効果的に上記2の条件を緩和することが可能となっていることがわかる。
【0084】
また、この検証方法によれば、検証時に必ずしも他の利用者が協力する(あるいは協力できる)とは限らないような場面においても検証を行いやすい、という利点もある。すなわち、もし署名生成用コンピュータAを直前に利用した利用者(利用者ID jA)が問い合わせに応答せず、LjA-1を入手することができなかった場合にも、署名生成用コンピュータB 1060を直前に利用した利用者(利用者ID jB)の協力が得られれば、検証を行うことができる。
【0085】
さらに、署名生成用コンピュータAを次に利用した利用者に問い合わせることにより、受信したデータから計算される値H(Ij,Hj,Tj,Lj)が、署名生成用コンピュータAの一つ後の利用者が受信したデータに含まれるLink dataの前半分あるいは後半分に一致しているかどうかを確認することもできる。
【0086】
署名生成用コンピュータAが正しく動作していない、あるいは、署名生成用コンピュータAの一つ後の利用者の協力が得られないなどの原因により、Link dataとの一致が確認できない場合には、署名生成用コンピュータB1060の一つ後の利用者に問い合わせることにより、確認を行うこともできる。
【0087】
本検証方法によれば、上記方法の少なくともどちらか一方により後の利用者のLink dataとの一致を確認できれば正当なタイムスタンプとして認められる(または、必要に応じて下記の更なる検証手段に進む)。そうでなければ正当なタイムスタンプとは認められない。
【0088】
本実施例においても前記第1、第2の実施例と同様に、以上の手順を逐次繰り返すことにより2つ以上前の利用者や、2つ以上後の利用者に問い合わせることにより、タイムスタンプの正当性をより詳細に確認してもよい。
【0089】
(第4の実施例)
図8は本発明を、
文献12:特願2000−313123号
に開示された署名システムに適用した場合のシステム概略構成図である。
【0090】
文献12では、正しく生成された署名であるか、不正に偽造にされた署名であるかを判定可能とするために、生成した署名の履歴を保管しておく技術が示されており、さらに、署名の生成にあたっては、一つ前に生成した署名そのものを次の署名生成時に反映させることにより、署名履歴に連鎖を形成させ、履歴を安全に保管することを容易にする技術が示されている。複数の装置(本実施例ではICカード)を利用して、正しく連鎖が形成されるように署名生成を行うためには、基本的には、上記、第1〜3の実施例と同様にして行うことができるが、本実施例では、上記第3の実施例と同様に行った場合を例示する。
【0091】
ネットワーク 8001を介して、署名者のコンピュータ 8031 と、何人かの購入者のPC 8011, 8020 が接続されている。購入者は、署名者からのメッセージ(例えば、電子的な画像、映像、音楽などのディジタル化されたマルチメディアデータや、電子的な(ディジタル化された)有価証券、契約書など)の購入(有償、無償を問わない)にあたり、署名者の署名付きメッセージ 8003 をネットワーク 8001 を介してを受け取る。
【0092】
購入者のPC 8011 は、CPU 8012、メモリ 8013、I/O 8016、ディスプレイ 8014、キーボード 8015によって構成され、これらがバスによって接続されており、また、I/O 8016を介してネットワーク 8001に接続されている。メモリ 8013内には、購入者のID 8017 、プログラム PROG1 8018 、および、署名者の公開鍵 8019が保存されている。プログラムは、バスを介してCPU 8012に伝達され、機能として具現化される。
【0093】
一方、署名者側は、署名者のコンピュータ 8031、および、署名者のICカードA 8051、ICカードB 8060、ICカードC 8070からなる。なお、本実施例でも、上記実施例と同じく2-out-of-3しきい値署名方法を利用する。そのため、ICカードは3枚としているが、枚数は利用する署名スキームに応じて設定すればよい。その他の分散型署名技術を利用して実現することも可能である。
【0094】
署名者のコンピュータ 8031は、CPU 8032、メモリ 8033、I/O 8036、ディスプレイ 8034、キーボード 8035、外部記憶装置 8037、ICカードリーダライタ 8038によって構成され、これらがバスによって接続されており、I/O 8036を介してネットワーク 8001に接続されており、ICカードリーダライタ 8038を介して、ICカードと通信できるようになっている。またメモリ 8033内にはプログラム PROG2 8038が保存されている。
【0095】
署名者のICカードA 8051、B 8060、C 8070は、基本的に同構成で、CPU 8052、メモリ 8053、I/O 8054がバスによって接続されており、さらにI/O 8037を介して署名者のコンピュータと接続可能になっている。またメモリ 8053内にはID 8055、プログラム PROG3 8056、秘密鍵生成情報 8057が保存されている他、以前に生成したディジタル署名(タイムスタンプ)に関係するデータ(履歴データ)を保存するための履歴保存領域 8058が用意されている。なお、ID 8055、秘密鍵生成情報 8057は、コンピュータ毎に固有の値が保持されている。
【0096】
図9は本実施例における、概略処理フローである。
【0097】
「署名生成フロー」
ステップ9001:はじめ
[署名者のコンピュータによる処理]
ステップ9002:購入対象となるメッセージを作成
ステップ9003:3枚の署名生成用ICカードから、利用可能な署名生成用ICカードを2枚選択する
ステップ9004:ステップ9003で選択されたICカードに、署名者のコンピュータから受けとった文書を送信する
[署名生成用ICカード(上記ステップ9003で選択されたICカード)による処理]
ステップ9005:選択された2枚のICカードが協調して、当該文書に「履歴データ」等を付加し、しきい値署名方法にしたがって署名を生成し、署名者のコンピュータに送信する。なお、利用するしきい値署名方法によっては、署名者のコンピュータと署名用ICカードとの間で何回か通信が発生することもある
[署名者のコンピュータによる処理]
ステップ9006:生成された署名を文書と共に、当該メッセージを購入する購入者に送信する
[購入者のPCによる処理]
ステップ9007:購入者は署名者から署名付き文書を受け取り、署名が正当なものであることを、署名者の公開鍵を用いて確認した後、当該署名付き文書を受け入れる
ステップ9008:おわり
図10は、上記署名生成フロー中のステップ9005の詳細処理フローである。なお、上記ステップ9003で選択されたICカードはA 8051とB 8060であったとする。
【0098】
ステップ10001:はじめ
[署名者のコンピュータ8031による処理]
ステップ10002:ステップ9004と同様
[署名生成用ICカードA 8051による処理]
ステップ10003A:ICカードA 8051内に保持されたインデックスjAおよびA 8051の「履歴データ」をB 8060に送る
[署名生成用ICカードB 8060による処理]
ステップ10003B:ICカードB 8060内に保持されたインデックスjBおよびB 8060の「履歴データ」をA 8051に送る
[署名生成用ICカードA 8051による処理]
ステップ10004A:(jAとjBのうち大きいほうをj、小さいほうをj_Sとする。)
Link data Lj = H(Ij_S-1, Hj_S-1, Sj_S-1, Lj_S-1) || H(Ij-1, Hj-1, Sj-1, Lj-1)を計算する(||は結合(コンカチネーション)をあらわす)
[署名生成用ICカードB 8060による処理]
ステップ10004B:ICカードA 8051と同様に、Link data Ljを計算する
[署名生成用ICカードA 8051による処理]
ステップ10005A:j, Ij, Hj, Lj および j_S を結合し、署名対象データMとし、そのハッシュ値h(M)を計算する
[署名生成用ICカードB 8060による処理]
ステップ10005B:A 8051と同様に、ハッシュ値h(M)を計算する
[署名生成用ICカードA 8051による処理]
ステップ10006A:3005Aと同様
[署名生成用ICカードB 8060による処理]
ステップ10006B:3005Bと同様
[署名生成用ICカードA 8051による処理]
ステップ10007A:3006Aと同様に(r, sA)を計算
[署名生成用ICカードB 8060による処理]
ステップ10007B:3006Bと同様に(r, sB)を計算
[署名生成用ICカードA 8051による処理]
ステップ10008A:3007と同様に署名sj:=(r,s)を計算
[署名生成用ICカードB 8060による処理]
ステップ10008B:3007と同様に署名sj:=(r,s)を計算
[署名生成用ICカードA 8051による処理]
ステップ10009A:インデックスjを1増やし、M(= (j, j_S, Ij, Hj, Lj)) , Sjと共に履歴保存領域に保存
[署名生成用ICカードB 8060による処理]
ステップ10009B:インデックスjを1増やし、M(= (j, j_S, Ij, Hj, Lj)) , Sjと共に履歴保存領域に保存
[署名生成用ICカードA 8051による処理]
ステップ10010A:Sjと共にメッセージMを署名者のコンピュータ 8031に送信
[署名生成用ICカードB 8060による処理]
ステップ10010B:Sjと共にメッセージMを署名者のコンピュータ 8031に送信
[署名者のコンピュータ 8031による処理]
ステップ10011:メッセージMと署名Sjを購入者Ijに送信
ステップ10012:おわり
上記各ステップ中で、ICカードへの入出力に際しては、必要に応じて、署名者のコンピュータまたは他のコンピュータが仲介して行うものとしてもよい。
【0099】
このようにして生成された署名Sjの検証は、たとえば、次のように行う。なお、以下の処理は購入者側において行われてもよいし、購入者あるいはその他の者から依頼を受けた調停者によって行われてもよい。以下ではこれらを総称して検証者と呼ぶ。
【0100】
検証者はまず、利用者のPC 1011と同様に構成された検証用コンピュータを用いて署名者の公開鍵 8019を使って、公知のディジタル署名検証技術により、署名Sjの正当性を検証する。正当性が確認されなければ署名Sjが正当な署名であるとは認められない。正当性が確認された場合、必要に応じてさらに詳細に検証を行うため、次の手順に進む。次の手順を実行すべき必要性としては、たとえば、署名Sjの生成時に利用された署名者の秘密鍵情報が漏えいするなどの原因により、公知のディジタル署名技術の信頼性が失われ、前記の手順だけでは十分でない場合や、メッセージMの価値が特に高く入念に検証する必要がある場合などが挙げられる。
【0101】
次に、検証者は、署名者から署名履歴の提出を受け、その署名履歴の中に、署名Sjが含まれていることを確認する。もし含まれていなければ署名Sjが正当な署名であるとは認められない。
【0102】
署名Sjが含まれていた場合、署名Sjの生成に係わった2枚のICカード(仮にICカードAとICカードBであったとする)のどちらか一方がSjの直後に生成した署名Sj'に関する署名履歴を探す(これはインデックスを利用すれば特定可能である)。この署名履歴に含まれるLink dataの前半分または後半分が、署名Sjに関する署名履歴に含まれるデータから計算されたH(Ij, Hj, Sj, Lj)に一致しているかどうかを確認する。もし一致していなければ、もう一方のICカードがSjの直後に生成した署名履歴を探し、同様に調べ、一致していなければ署名Sjが正当な署名であるとは認められない。
【0103】
一致した場合、署名Sj'に対して同様に確認処理を繰り返し、何らかの理由によりあらかじめ信頼できるということが判明している署名(たとえば、既にマスメディア等を通じて公表されている署名や、信頼できる第3者機関によって保証されているデータ、あるいは、署名Sjの検証に関して、利害関係のない第3者によって内容が保証されている署名など)に至るまでの連鎖が確認できれば署名Sjは正当なものと認められる。そうでなければ正当な署名であるとは認められない。
【0104】
以上に示されるように、本検証方法に従えば、文献12に示された、現在のディジタル署名システムの安全性が何らかの理由により脆弱化した場合にも安全性を確保できる。さらに、署名履歴の一部が失われたり、利用不可能になったりした場合にも、その正当性が確認できるという利点が得られる。これは、特に長期にわたり履歴を管理する必要があるような場合にもより頑健な方法およびそれを用いたシステムを実現できるという効果がある。
【0105】
(第5の実施例)
本発明の特徴の一つである、一つ前に生成した署名履歴だけでなくそれ以前の署名履歴も反映して署名を生成する、という方法は、一つの装置を用いた署名生成システム、タイムスタンプシステムを、履歴紛失などに対して、より頑健にする方法として応用することができる。例えば、文献12に記された署名システムで、署名生成時に、一つ前に生成した署名履歴の他、n回前までのn個の署名履歴を反映させるようにし、検証時にはそれらn個のうちの少なくとも一つの連鎖が確認できれば正しいと認めるようにすると、履歴を長期にわたって管理している間に、連続したn個の署名履歴が失われない限り、履歴紛失などに対して、より頑健なシステムを構成することができる。n個の署名履歴を反映させるように署名生成を行うためには、上記第4実施例中のステップ10004A、10005Aに示したのと同様に署名対象データを計算すればよい。
【0106】
検証時には、n個すべての連鎖が確認できたときのみ正しいと認めるようにすれば、履歴紛失への耐性は得られないが、署名の改ざんがより困難になるという点では優れている。なぜなら、n個すべての連鎖を正しく保つためには、与えられたすなわち、検証対象となる署名に含まれているn個のハッシュ値それぞれに対する原像(pre-image)を求める必要があるからである。
【0107】
また、n個中のk個(n>k)の連鎖が確認できればその連鎖は正しいと認めるようにしてもよい。このようにすれば、署名改ざんの困難性を向上しつつ、履歴紛失への耐性を向上させることができる。
【0108】
これら検証のためのルールは、署名生成時、あるいは、システム構築時にあらかじめ決めておいてもよいし、また、実際に署名検証する必要が生じたときに、その時点における、技術環境、システム全体に求められるセキュリティの程度、などに応じて決められるようにしてもよい。
【0109】
また、署名生成時に、複数の履歴データを反映させる方法としては、履歴データを結合(連接)する方法以外にも、上記検証のためのルールにあわせて、検証が可能であるような他の方法を用いても良い。たとえば、排他的論理和(XOR)や加算を用いてもよいし、ハッシュ関数を用いても良い。
【0110】
上記文献5〜文献7は、タイムスタンプサービスにおいて、複数のタイムスタンプ間の連鎖の確認を高速化を目的として、木構造をもったLinking Protocolを構成する方法を開示しているが、本実施例によれば、上記文献5〜文献7が開示していない履歴紛失への耐性向上や、署名の改ざんのより一層の困難化などが可能となる。
【0111】
上記各実施例では各署名対象データに時刻情報を加えてディジタル署名を行うタイムスタンプサービスを例にとって説明した。しかし、本発明を、時刻情報を加えずにディジタル署名を施し、履歴からその対象データが存在したことを証明するサービスに用いることも可能である。
【0112】
【発明の効果】
以上説明したように、本発明によれば、ディジタル署名の生成、利用に際し、安全性と利便性を確保することが可能になる。
【図面の簡単な説明】
【図1】本発明の第1実施例が適用されたシステムの概略図である。
【図2】本発明の第1実施例におけるタイムスタンプ発行処理フロー図である。
【図3】本発明の第1実施例における概略処理フロー中のステップ2006の処理の詳細フロー図である。
【図4】本発明の第1実施例における概略処理フロー中のステップ2007の処理の詳細フロー図である。
【図5】本発明の第1実施例における各署名生成用コンピュータ内の履歴保存領域の様子を示した図である。
【図6】本発明の第2実施例における概略処理フロー中のステップ2006の処理の詳細フロー図である。
【図7】本発明の第3実施例における概略処理フロー中のステップ2006の処理の詳細フロー図である。
【図8】本発明の第4実施例が適用されたシステムの概略図である。
【図9】本発明の第4実施例における署名生成概略処理フロー図である。
【図10】本発明の第4実施例における署名生成概略処理フロー中のステップ9005の処理の詳細フロー図である。
【図11】本発明の第3実施例におけるタイムスタンプ発行シーケンス時の連鎖の様子を模式的に表した図である。
【符号の説明】
1001…ネットワーク、
1002…メッセージ、
1003…タイムスタンプ付きメッセージ、
1011,1020…利用者のPC、
1012…利用者のPC 1011内のCPU、
1013…利用者のPC 1011内のメモリ、
1014…ディスプレイ、
1015…キーボード、
1016…I/O、
1017…利用者のID、
1018…プログラムPROG1、
1019…タイムスタンプ発行局の公開鍵、
1031…タイムスタンプ発行局の制御用コンピュータ、
1032…制御用コンピュータ1031内のCPU、
1033…制御用コンピュータ1031内のメモリ、
1034…ディスプレイ、
1035…キーボード、
1036…I/O(ネットワーク用) 、
1037…I/O(LAN用) 、
1038…プログラムPROG2、
1040…タイムスタンプ発行局側LAN、
1051,1060,1070…署名生成用コンピュータ、
1052…署名生成用コンピュータ1051内のCPU、
1053…署名生成用コンピュータ1051内のメモリ、
1054…I/O、
1055…署名生成用コンピュータのID、
1056…プログラムPROG3、
1057…秘密鍵生成情報、
1058…履歴保存領域、
1059…タイマー。
Claims (10)
- 署名作成手段を備えた n 台の装置を用いて、前記 n 台のうち m(1 ≦ m ≦ n) 台の前記装置が逐次にディジタル署名を生成する方法であって、該生成の k 番目 (k ≧ 1) のディジタル署名に係わる前記装置の数を m k (1 ≦ m k ≦ n) 台とし、
j 番目 (j ≧ 1) のディジタル署名生成時に、 m j 台の前記装置のそれぞれが、履歴データ j を生成する第 1 のステップと、
i 番目 (i > j) のディジタル署名生成前に、 m i 台の前記装置のそれぞれが、 i-1 番目以前のディジタル署名時に生成された履歴データを受け取り、該履歴データのうち L 個 (1 ≦ L< i) の履歴データ j 1 〜 j L を保持する第 2 のステップと、
前記 m i 台の装置が、前記履歴データ j 1 〜 j L のうち少なくとも一つを共通のデータとして利用して、 i 番目のディジタル署名 i を生成する第 3 のステップとを有することを特徴とするディジタル署名生成方法。 - 請求項1記載のディジタル署名生成方法において、
前記履歴データjは、前記j番目に生成されたディジタル署名j又は、該j番目に生成されたディジタル署名jの生成時に利用されたデータのいずれかであることを特徴とするディジタル署名生成方法。 - 請求項1記載のディジタル署名生成方法において、
前記第 1 のステップは、
前記m i 台の装置のいずれか自身において、実行されることを特徴とするディジタル署名生成方法。 - 請求項1記載のディジタル署名生成方法において、
前記第 2 のステップは、
前記m i 台の装置それぞれが、自身の持つ履歴データのうち最新のものを自身以外の m i - 1 台の装置に対し送信するステップと、
前記自身以外の m i -1台の装置から送信された計m i -1個の履歴データと、自身が保持する最新の履歴データを合わせた、計m個の履歴データの中から、最新の履歴データを選ぶステップと
を有し、該最新の履歴データを、前記第 3 のステップのi番目のディジタル署名を生成する際に利用する前記履歴データのうちの一つとすることを特徴とするディジタル署名生成方法。 - 請求項1記載のディジタル署名生成方法において、
前記第 1 のステップは、
n-m i 台の前記装置のいずれかにおいて実行され、
前記第 2 のステップは、
前記n-m i 台の装置のうちの少なくとも1台が前記履歴データjを前記m i 台の装置に送付するステップと、
前記m i 台の装置が前記送付された履歴データを受け取るステップと
を有するディジタル署名生成方法。 - 請求項1記載のディジタル署名生成方法において、
前記第 3 のステップは、
前記(i番目)ディジタル署名を生成する際に利用する履歴データとして、履歴データ(i - 1)と、少なくとも1つの履歴データk (k < i-1)を用いることを特徴とするディジタル署名生成方法。 - 署名検証手段を備えた装置がディジタル署名を検証する方法であって、
署名作成手段を備えた n 台の装置を用いて、前記 n 台のうち m(1 ≦ m ≦ n) 台の前記装置が逐次に生産するディジタル署名であり、前記生成の k 番目 (k ≧ 1) のディジタル署名に係わる前記装置の数を m k (1 ≦ m k ≦ n) 台とし、 j 番目 (j ≧ 1) のディジタル署名生成時に、 m j 台の前記装置が履歴データ j を生成し、 i 番目 (i > j) のディジタル署名生成前に、 m i 台の前記装置それぞれが、 i-1 番目以前のディジタル署名生成時に生成された履歴データを受け取り、該履歴データのうち L 個 (1 ≦ L< i) の前記履歴データ j 1 〜 j L を保持し、前記 m i 台の装置が、前記履歴データ j 1 〜 j L のうち少なくとも一つを共通のデータとして利用して生成した i 番目のディジタル署名 i について、
前記署名検証手段を備えた装置が、
該ディジタル署名 i の生成に利用した履歴データは、前記履歴データ j 1 〜 j L のうち少なくとも一つ又は全てを利用する、という予め定めた規則を満たしていること
を確認するステップを有することを特徴とするディジタル署名検証方法。 - 署名検証手段を備えた装置がディジタル署名を検証する方法であって、
署名作成手段を備えた n 台の装置を用いて、前記 n 台のうち m(1 ≦ m ≦ n) 台の前記装置が逐次に生産するディジタル署名であり、前記生成の k 番目 (k ≧ 1) のディジタル署名に係わる前記装置の数を m k (1 ≦ m k ≦ n) 台とし、 j 番目 (j ≧ 1) のディジタル署名生成時に、 m j 台の前記装置が履歴データ j を生成し、 i 番目 (i > j) のディジタル署名生成前に、 m i 台の前記装置それぞれが i-1 番目以前のディジタル署名生成時に生成された履歴データを受け取り、該履歴データのうち L 個 (1 ≦ L< i) の前記履歴データ j 1 〜 j L を保持し、前記 m i 台の装置が、前記履歴データ j 1 〜 j L のうち少なくとも一つを共通のデータとして利用して生成した i 番目のディジタル署名 i について、
前記署名検証手段を備えた装置が、ディジタル署名 h(h>i) の生成ステップにおいて、
前記 i 番目のディジタル署名 i を生成する際に利用した履歴データは、前記履歴データ j 1 〜 j L のうち少なくとも一つ又は全てを利用する、という予め定めた規則を満たしていること
を確認するステップを有することを特徴とするディジタル署名検証方法。 - 請求項7又は8記載のディジタル署名検証方法において、
前記規則が定められるのは、ディジタル署名生成時、又はディジタル署名検証時であることを特徴とするディジタル署名検証方法。 - 請求項 7 又は 8 記載のディジタル署名検証方法において、
前記署名作成手段を備えた装置は、前記署名検証手段を備えることを特徴とするディジタル署名検証方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000377990A JP3899808B2 (ja) | 2000-12-07 | 2000-12-07 | ディジタル署名生成方法およびディジタル署名検証方法 |
DE60127516T DE60127516T2 (de) | 2000-12-07 | 2001-02-22 | Verfahren zur Erzeugung einer digitalen Unterschrift und Verfahren zur Prüfung einer digitalen Unterschrift |
EP01104299A EP1213873B1 (en) | 2000-12-07 | 2001-02-22 | Digital signature generating method and digital signature verifying method |
US09/797,260 US6816969B2 (en) | 2000-12-07 | 2001-02-28 | Digital signature generating method and digital signature verifying method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000377990A JP3899808B2 (ja) | 2000-12-07 | 2000-12-07 | ディジタル署名生成方法およびディジタル署名検証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002175009A JP2002175009A (ja) | 2002-06-21 |
JP3899808B2 true JP3899808B2 (ja) | 2007-03-28 |
Family
ID=18846639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000377990A Expired - Lifetime JP3899808B2 (ja) | 2000-12-07 | 2000-12-07 | ディジタル署名生成方法およびディジタル署名検証方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6816969B2 (ja) |
EP (1) | EP1213873B1 (ja) |
JP (1) | JP3899808B2 (ja) |
DE (1) | DE60127516T2 (ja) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004104750A (ja) | 2002-07-17 | 2004-04-02 | Hitachi Ltd | ディジタル署名の検証方法 |
US7134021B2 (en) * | 1999-10-22 | 2006-11-07 | Hitachi, Ltd. | Method and system for recovering the validity of cryptographically signed digital data |
US20030059041A1 (en) * | 2001-06-26 | 2003-03-27 | Mackenzie Philip D. | Methods and apparatus for two-party generation of DSA signatures |
US8065713B1 (en) | 2001-12-12 | 2011-11-22 | Klimenty Vainstein | System and method for providing multi-location access management to secured items |
US7380120B1 (en) | 2001-12-12 | 2008-05-27 | Guardian Data Storage, Llc | Secured data format for access control |
US10033700B2 (en) | 2001-12-12 | 2018-07-24 | Intellectual Ventures I Llc | Dynamic evaluation of access rights |
US8006280B1 (en) | 2001-12-12 | 2011-08-23 | Hildebrand Hal S | Security system for generating keys from access rules in a decentralized manner and methods therefor |
US10360545B2 (en) | 2001-12-12 | 2019-07-23 | Guardian Data Storage, Llc | Method and apparatus for accessing secured electronic data off-line |
US7921450B1 (en) | 2001-12-12 | 2011-04-05 | Klimenty Vainstein | Security system using indirect key generation from access rules and methods therefor |
US7565683B1 (en) | 2001-12-12 | 2009-07-21 | Weiqing Huang | Method and system for implementing changes to security policies in a distributed security system |
US7178033B1 (en) | 2001-12-12 | 2007-02-13 | Pss Systems, Inc. | Method and apparatus for securing digital assets |
US7921288B1 (en) | 2001-12-12 | 2011-04-05 | Hildebrand Hal S | System and method for providing different levels of key security for controlling access to secured items |
US7260555B2 (en) | 2001-12-12 | 2007-08-21 | Guardian Data Storage, Llc | Method and architecture for providing pervasive security to digital assets |
US7921284B1 (en) | 2001-12-12 | 2011-04-05 | Gary Mark Kinghorn | Method and system for protecting electronic data in enterprise environment |
US7930756B1 (en) | 2001-12-12 | 2011-04-19 | Crocker Steven Toye | Multi-level cryptographic transformations for securing digital assets |
US7950066B1 (en) | 2001-12-21 | 2011-05-24 | Guardian Data Storage, Llc | Method and system for restricting use of a clipboard application |
US8176334B2 (en) | 2002-09-30 | 2012-05-08 | Guardian Data Storage, Llc | Document security system that permits external users to gain access to secured files |
JP2003244139A (ja) * | 2002-02-20 | 2003-08-29 | Amano Corp | 電子文書に対するタイムスタンプ押印システム、及び、そのプログラム媒体 |
US20030221105A1 (en) * | 2002-05-20 | 2003-11-27 | Autodesk, Inc. | Extensible mechanism for attaching digital signatures to different file types |
JP4520701B2 (ja) * | 2003-02-28 | 2010-08-11 | セイコープレシジョン株式会社 | データの真正性が保証されるデータベースとそのバックアップシステム及び方法 |
US8707034B1 (en) | 2003-05-30 | 2014-04-22 | Intellectual Ventures I Llc | Method and system for using remote headers to secure electronic files |
US7703140B2 (en) | 2003-09-30 | 2010-04-20 | Guardian Data Storage, Llc | Method and system for securing digital assets using process-driven security policies |
US8127366B2 (en) | 2003-09-30 | 2012-02-28 | Guardian Data Storage, Llc | Method and apparatus for transitioning between states of security policies used to secure electronic documents |
US7702909B2 (en) * | 2003-12-22 | 2010-04-20 | Klimenty Vainstein | Method and system for validating timestamps |
JP4569118B2 (ja) * | 2004-02-05 | 2010-10-27 | 株式会社日立製作所 | 署名検証ログを作成する検証結果記録方法とその装置 |
GB0411777D0 (en) * | 2004-05-26 | 2004-06-30 | Crypomathic Ltd | Computationally asymmetric cryptographic systems |
JP4683534B2 (ja) * | 2005-01-13 | 2011-05-18 | 株式会社日立情報システムズ | 電子文書管理システムと方法およびプログラム |
JP4738003B2 (ja) * | 2005-01-24 | 2011-08-03 | 日本電信電話株式会社 | 署名システム、署名方法 |
JP4700388B2 (ja) * | 2005-03-30 | 2011-06-15 | 株式会社日立製作所 | 原本保証方法および原本保証システム |
US7784102B2 (en) * | 2005-12-15 | 2010-08-24 | Xerox Corporation | Method for secure access to document repositories |
US7526530B2 (en) * | 2006-05-05 | 2009-04-28 | Adobe Systems Incorporated | System and method for cacheing web files |
US8185744B2 (en) * | 2006-09-08 | 2012-05-22 | Certicom Corp. | Aggregate signature schemes |
JP4455571B2 (ja) * | 2006-11-21 | 2010-04-21 | キヤノン株式会社 | 文書検証装置 |
CA2753779C (en) * | 2010-11-29 | 2014-12-30 | Research In Motion Limited | System and method of signing a message |
JP5753273B2 (ja) | 2011-10-14 | 2015-07-22 | 株式会社日立製作所 | データの真正性保証方法、管理計算機及び記憶媒体 |
KR101301609B1 (ko) * | 2012-05-31 | 2013-08-29 | 서울대학교산학협력단 | 비밀키 생성 장치 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 |
US9135436B2 (en) * | 2012-10-19 | 2015-09-15 | The Aerospace Corporation | Execution stack securing process |
JP6026385B2 (ja) * | 2013-10-25 | 2016-11-16 | 株式会社日立製作所 | 属性情報提供方法および属性情報提供システム |
SG11202108123RA (en) * | 2019-03-05 | 2021-08-30 | Sepior Aps | A method for providing a digital signature to a message |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3278721B2 (ja) | 1990-08-02 | 2002-04-30 | テルコーディア テクノロジーズ、インコーポレーテッド | 数値文書にタイムスタンプを確実に押す方法 |
US5136646A (en) | 1991-03-08 | 1992-08-04 | Bell Communications Research, Inc. | Digital document time-stamping with catenate certificate |
US5610982A (en) * | 1996-05-15 | 1997-03-11 | Micali; Silvio | Compact certification with threshold signatures |
US5956404A (en) | 1996-09-30 | 1999-09-21 | Schneier; Bruce | Digital signature with auditing bits |
US6151675A (en) * | 1998-07-23 | 2000-11-21 | Tumbleweed Software Corporation | Method and apparatus for effecting secure document format conversion |
CN1319290A (zh) * | 1998-08-18 | 2001-10-24 | Rlj时标公司 | 借助于二进制链接方案的时间标记 |
US7610614B1 (en) * | 1999-02-17 | 2009-10-27 | Certco, Inc. | Cryptographic control and maintenance of organizational structure and functions |
US6738902B1 (en) * | 2000-01-14 | 2004-05-18 | Motorola, Inc. | Systems and methods for controlling authorized intercept |
ATE424067T1 (de) * | 2001-06-11 | 2009-03-15 | Daniel Buettiker | Verfahren zur sicherung von daten bezüglich von benutzern einer infrastruktur mit öffentlichen schlüsseln |
-
2000
- 2000-12-07 JP JP2000377990A patent/JP3899808B2/ja not_active Expired - Lifetime
-
2001
- 2001-02-22 EP EP01104299A patent/EP1213873B1/en not_active Expired - Lifetime
- 2001-02-22 DE DE60127516T patent/DE60127516T2/de not_active Expired - Lifetime
- 2001-02-28 US US09/797,260 patent/US6816969B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE60127516T2 (de) | 2007-12-13 |
EP1213873B1 (en) | 2007-03-28 |
US6816969B2 (en) | 2004-11-09 |
JP2002175009A (ja) | 2002-06-21 |
EP1213873A2 (en) | 2002-06-12 |
DE60127516D1 (de) | 2007-05-10 |
EP1213873A3 (en) | 2003-07-23 |
US20020108044A1 (en) | 2002-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3899808B2 (ja) | ディジタル署名生成方法およびディジタル署名検証方法 | |
Bayer et al. | Improving the efficiency and reliability of digital time-stamping | |
Chen et al. | Flexible and scalable digital signatures in TPM 2.0 | |
KR0146437B1 (ko) | 인증교환 방법, 복원형 전자서명 방법, 부가형 전자서명 방법, 키교환 방법, 복원형 다중전자서명 방법, 부가형 다중전자서명 방법 및 블라인드 전자서명 방법 | |
Gennaro et al. | Robust threshold DSS signatures | |
Di Raimondo et al. | Deniable authentication and key exchange | |
Park et al. | Constructing fair-exchange protocols for E-commerce via distributed computation of RSA signatures | |
US8654975B2 (en) | Joint encryption of data | |
Elkhiyaoui et al. | CHECKER: On-site checking in RFID-based supply chains | |
US20100142704A1 (en) | Cryptographic encoding and decoding of secret data | |
US9882890B2 (en) | Reissue of cryptographic credentials | |
US9088419B2 (en) | Keyed PV signatures | |
US20040193872A1 (en) | System and method for renewing and extending digitally signed certificates | |
US8015398B2 (en) | Set membership proofs in data processing systems | |
Goldwasser et al. | Transformation of digital signature schemes into designated confirmer signature schemes | |
Li et al. | A forward-secure certificate-based signature scheme | |
You et al. | On the efficient implementation of fair non-repudiation | |
Buldas et al. | Do broken hash functions affect the security of time-stamping schemes? | |
Longo | Formal Proofs of Security for Privacy-Preserving Blockchains and other Cryptographic Protocols | |
TWI248744B (en) | Multisignature scheme with message recovery for group authorization in mobile networks | |
Ng et al. | ECDSA-compatible privacy preserving signature with designated verifier | |
Yang et al. | A novel zero knowledge proof of retrievability | |
Keromytis et al. | Creating efficient fail-stop cryptographic protocols | |
CN113868715A (zh) | 一种基于量子密钥的签名方法及其系统 | |
KR20240046201A (ko) | 디지털 서명들의 생성 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040323 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060418 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060911 |
|
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: 20061205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061218 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3899808 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100112 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120112 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130112 Year of fee payment: 6 |
|
EXPY | Cancellation because of completion of term |