CN114586313A - 用于签署一信息的系统及方法 - Google Patents
用于签署一信息的系统及方法 Download PDFInfo
- Publication number
- CN114586313A CN114586313A CN202080072249.7A CN202080072249A CN114586313A CN 114586313 A CN114586313 A CN 114586313A CN 202080072249 A CN202080072249 A CN 202080072249A CN 114586313 A CN114586313 A CN 114586313A
- Authority
- CN
- China
- Prior art keywords
- verifier
- private key
- information
- value
- verifier devices
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 177
- 230000004044 response Effects 0.000 claims abstract description 24
- 230000004931 aggregating effect Effects 0.000 claims abstract description 4
- 230000008569 process Effects 0.000 claims description 129
- 238000000638 solvent extraction Methods 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 5
- 230000002776 aggregation Effects 0.000 claims description 2
- 238000004220 aggregation Methods 0.000 claims description 2
- 238000005192 partition Methods 0.000 claims description 2
- 238000009795 derivation Methods 0.000 claims 4
- 238000010586 diagram Methods 0.000 description 22
- 239000000654 additive Substances 0.000 description 17
- 230000000996 additive effect Effects 0.000 description 17
- 238000003860 storage Methods 0.000 description 16
- 230000015654 memory Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000013500 data storage Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 239000000243 solution Substances 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000005284 basis set Methods 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001902 propagating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000010561 standard procedure Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 239000012086 standard solution Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/3236—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 using cryptographic hash functions
- H04L9/3239—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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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/3252—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 DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
一种请求器装置,用于一信息的数字签署,包括:至少一硬件处理器,执行一代码,用于:在一个单一的请求会话中,通过所述网络向多个验证器装置中的每一个传送用于其签署的所述信息,其中一信标装置运算并通过一网络向多个验证器装置中的每一个传送由所述信标装置运算并签署的一签署数据值,在一个单一的响应会话中,从所述多个验证器装置中的每一个接收为所述签署数据值及所述信息运算的各自的一部分开放解密值,以及汇总从所述多个验证器装置接收的多个所述部分开放解密值,以运算出所述信息的所述数字签署。
Description
相关申请案
本申请请求享有2019年9月4日申请的美国临时专利申请案第 16/559,693号的优先权,上述申请案的内容通过引用整体的方式纳入本文。
技术领域
本发明,在其一些实施例中,涉及网络安全,且更具体地但不排他地,涉及通过一网络传送的一信息的数字签署的多个系统及多个方法。
背景技术
通过一不安全的通道发送的多个信息,如可公开地访问的网络,需要一种机制,使所述接收者能够信任所述创始者确实发送了所述信息。多个密码学方法被用来数字签署所述信息。
例如,在多个区块链环境中,多个信息的数字签署被用来验证一交易的所述真实性,例如,将加密货币从一个数字钱包转移到另一个数字钱包。
发明内容
根据一第一方面,一种请求器装置,用于一信息的数字签署,包括:至少一硬件处理器,执行一代码,用于:在一个单一的请求会话中,通过一网络向多个验证器装置中的每一个传送用于其签署的所述信息;其中一信标装置运算并通过所述网络向多个验证器装置中的每一个传送由所述信标装置运算并签署的一签署数据值;在一个单一的响应会话中,从所述多个验证器装置中的每一个接收为所述签署数据值及所述信息运算的各自的一部分开放解密值;以及汇总从所述多个验证器装置接收的多个所述部分开放解密值,以运算出所述信息的所述数字签署。
根据一第二方面,一种系统,用于一信息的数字签署,包括:多个验证器装置,每一个所述验证器装置包括至少一硬件处理器,执行一代码,用于:通过一网络从一信标装置接收由所述信标装置运算并签署的一签署数据值;在一个单一的请求会话中,通过所述网络从一请求器装置接收用于其签署的所述信息;运算所述签署数据值及所述信息的一各自部分开放解密值;以及在一个单一的响应会话中,传送所述各自部分开放解密值至所述请求器装置;其中,所述请求器装置汇总从所述多个验证器装置接收的多个部分开放解密值,以运算所述信息的所述数字签署。
根据一第三方面,一种系统,用于一信息的数字签署,包括:(A)一信标装置的至少一硬件处理器,执行一代码,用于:运算并通过一网络向多个验证器装置中的每一个传送由所述信标装置运算并签署的一签署数据值; (B)多个验证器装置,每一个所述验证器装置包括至少一硬件处理器,执行一代码,用于:在一个单一的请求会话中,通过所述网络从一请求器装置接收用于其签署的所述信息;为所述签署数据值及所述信息运算一各自部分开放解密值;以及在一个单一的响应会话中,传送所述各自部分开放解密值至所述请求器装置,其中所述请求器装置汇总多个部分开放解密值,以运算所述信息的所述数字签署。
在所述第一、第二及第三方面的一进一步实现,还包括代码,用于在所述数字签署未被验证时,对于所述多个验证器装置中的每一个各自的验证器装置,通过比较使用由所述信标装置提供的所述各自的验证器装置的多个独特值及使用所述信息运算的一第一值与使用所述各自的验证器装置基于所述独特值及所述信息提供的证明的一指示运算的一第二值,识别所述多个验证器装置中的何者是恶意的。
在所述第一、第二及第三方面的一进一步实现,还包括代码,用于验证通过汇总从所述多个验证器装置接收的多个所述部分开放解密值运算的所述数字签署是所述信息的一有效签署。
在所述第一、第二及第三方面的一进一步实现,还包括代码,用于从多个所述部分开放解密值运算所述信息的一未加密签署。
在所述第一、第二及第三方面的一进一步实现,所述请求器装置是所述多个验证器装置的其中之一。
在所述第一、第二及第三方面的一进一步实现,还包括代码,用于检查所述信息是否具备由所述多个验证器装置中的每一个各自的验证器装置根据一各自的规则集签署的资格。
在所述第一、第二及第三方面的一进一步实现,还包括代码,用于验证所述信标装置签署所述签署数据值,以及验证所述签署数据值以前未被使用过。
在所述第一、第二及第三方面的一进一步实现,还包括代码,用于运算并通过一网络向所述多个验证器装置中的每一个传送一公钥以及多个分割私钥中的一各自分割私钥,其中所述签署数据值包括由所述信标装置使用一数字签署算法(digital signaturealgorithm,DSA)过程运算出的一数字签署算法私钥,其中所述数字签署算法私钥是以下的至少一者:以对应于所述私钥的所述公钥进行加密,所述私钥被分割成基于一加密过程运算出的所述多个分割私钥,所述加密过程是加法同态的且包括一阈值解密过程;以及所述多个验证器装置中的每一个还包括代码,用于使用应用于所述签署数据值及所述信息的所述各自分割私钥运算所述各自部分开放解密值。
在所述第一、第二及第三方面的一进一步实现,一签署数据值及一私钥通过实现多个加密值的一乘法操作被分割且被共享至使用满足等级1同态加总秘密共享的所述属性的一秘密共享过程的所述多个验证器装置中的每一个。
在所述第一、第二及第三方面的一进一步实现,被分割且被共享的所述签署数据值是从多个签署数据值中被选择出来的,且被分割且被共享的所述私钥是从使用于运算所述多个各自部分开放解密值的多个私钥中被选择出来的,且所述多个验证器装置不知道被选择的特定所述签署数据值及特定所述私钥。
在所述第一、第二及第三方面的一进一步实现,所述签署数据值被共享至使用与加法同态的一秘密共享过程的所述多个验证器装置中的每一个;以及所述验证器装置中的每一个还包括代码,用于基于所述秘密共享过程运算所述各自部分开放解密值。
在所述第一、第二及第三方面的一进一步实现,所述多个分割私钥的一数量与所述多个验证器装置的一数量相对应,并且只有当所述多个验证器装置的所有所述数量提供多个各自部分开放解密值时,运算出所述信息的所述数字签署。
在所述第一、第二及第三方面的一进一步实现,还包括定义用于所述信息的所述数字签属的运算所需的验证器装置的一总数中的验证器装置的一数量的一最小安全级别,根据一组规则将所述最小安全级别增加到一最小阈值,其中所述多个分割私钥的一数量与所述验证器装置的所述总数相对应,且当所述多个验证器装置的所述数量提供高于所述最小阈值的所述多个各自部分开放解密值时,运算出所述信息的所述数字签署。
在所述第一、第二及第三方面的一进一步实现,还包括将所述多个验证器装置的一总数分为至少两组,由所述信标装置为所述至少两组中的每一组提供一独特签署数据值,其中只有当每一组的所有所述多个验证器装置提供使用所述至少两组中的每一组的多个各自独特签署数据值运算的多个各自部分开放解密值时,运算所述信息的所述数字签署。
在所述第一、第二及第三方面的一进一步实现,用于其签署的所述信息由一请求器装置在一个单一的请求会话中通过所述网络传送至所述多个验证器装置中的每一个;所述签署数据值及所述信息的一各自部分开放解密值由所述请求器装置在一个单一的响应会话中从所述多个验证器装置中的每一个接收;以及从所述多个验证器装置接收的所述多个部分开放解密值由所述请求器装置汇总以运算所述信息的所述数字签署。
在所述第一、第二及第三方面的一进一步实现,所述数字签署算法过程包括一椭圆曲线数字签署算法(Elliptic Curve DSA,ECDSA)。
在所述第一、第二及第三方面的一进一步实现,所述数字签署算法过程包括一爱德华兹曲线数字签署算法(Edwards-curve DSA,EdDSA)过程。
在所述第一、第二及第三方面的一进一步实现,所述签署数据值包括以下组成部分:(i)以对应于所述私钥的所述公钥加密的一随机值的一倒数,所述私钥被分割成基于一加密过程运算出的所述多个分割私钥,所述加密过程是加法同态的且包括一阈值解密过程;以及(ii)以对应于所述私钥的所述公钥加密的下述内容的一加密,所述私钥被分割成基于一加密过程运算出的所述多个分割私钥,所述加密过程是加法同态的且包括一阈值解密过程:所述随机值的所述倒数与被提高到所述随机值的幂的一已知常数点的一哈希值的一乘积,以及由所述信标装置使用一数字签署算法过程运算出的一数字签署算法私钥。
在所述第一、第二及第三方面的一进一步实现,所述签署数据值包括以下组成部分:(i)使用与加法同态的一秘密共享过程将一随机值的一倒数分割成多个第一组件;以及(ii)使用所述秘密共享过程将下述内容分割成多个第二组件:所述随机值的所述倒数与被提高到所述随机值的幂的所述已知常数点的所述哈希值的一乘积以及由所述信标装置使用爱德华兹曲线数字签署算法运算出的一爱德华兹曲线数字签署算法私钥,其中所述多个验证器装置中的每一个被提供有一各自的第一及第二组件。
在所述第一、第二及第三方面的一进一步实现,所述签署数据值还包括:(iii)被提高到所述随机值的幂的所述已知常数点的所述哈希值。
在所述第一、第二及第三方面的一进一步实现,所述签署数据值的所述数字签署算法私钥是使用能够使用一推导指数值(derivation index value) 从一基础数字签署算法私钥推导出多个数字签署算法私钥的一层次确定性树 (hd-tree)生成的,且其中所述推导指数值被提供至所述多个验证器装置,用于本地运算所述签署数据值。
在所述第一、第二及第三方面的一进一步实现,所述数字签署算法私钥包括一爱德华兹曲线数字签署算法私钥,且所述层次确定性启用(hd- enabling)从所述基础数字签署算法私钥推导出多个数字签署算法私钥包括从所述基础爱德华兹曲线数字签署算法私钥推导出多个爱德华兹曲线数字签署算法私钥。
在所述第一、第二及第三方面的一进一步实现,所述数字签署算法私钥包括一椭圆曲线数字签署算法私钥,且所述层次确定性启用(hd-enabling) 从所述基础数字签署算法私钥推导出多个数字签署算法私钥包括从所述基础椭圆曲线数字签署算法私钥推导出多个椭圆曲线数字签署算法私钥。
在所述第一、第二及第三方面的一进一步实现,所述公钥及被分割成所述多个分割私钥的所述私钥基于一阈值解密过程被运算;以及还包括代码,用于:运算多个数字签署算法钥匙对;加密所述多个数字签署算法钥匙对中的每一个私钥,以创建多个加密私钥;提供所述多个加密私钥至所述多个验证器装置;选择所述多个加密私钥中的一个,其中所述签署数据值不包括所述选择的私钥;提供所述选择的加密私钥的一指示至所述多个验证器装置,其中所述部分开放解密值通过使用所述选择的加密私钥及不包括所述选择的私钥的所述签署数据值被运算。
在所述第一、第二及第三方面的一进一步实现,所述数字签署算法过程包括爱德华兹曲线数字签署算法,以及还包括代码,用于:运算多个爱德华兹曲线数字签署算法钥匙对;加密所述多个爱德华兹曲线数字签署算法钥匙对中的每一个私钥,以创建多个加密私钥;提供所述多个加密私钥至所述多个验证器装置;选择所述多个加密私钥中的一个,其中所述签署数据值不包括所述选择的私钥;提供所述选择的加密私钥的一指示至所述多个验证器装置,其中所述部分开放解密值通过使用所述选择的加密私钥及不包括所述选择的私钥的所述签署数据值被运算。
在所述第一、第二及第三方面的一进一步实现,所述数字签署算法过程包括椭圆曲线数字签署算法,以及还包括代码,用于:运算多个椭圆曲线数字签署算法钥匙对;加密所述多个椭圆曲线数字签署算法钥匙对中的每一个私钥,以创建多个加密私钥;提供所述多个加密私钥至所述多个验证器装置;选择所述多个加密私钥中的一个,其中所述签署数据值不包括所述选择的私钥;提供所述选择的加密私钥的一指示至所述多个验证器装置,其中所述部分开放解密值通过使用所述选择的加密私钥及不包括所述选择的私钥的所述签署数据值被运算。
在所述第一、第二及第三方面的一进一步实现,还包括:分割多个加密私钥;选择分割的所述多个加密私钥中的任意一个;分割多个签署数据值;选择分割的所述签署数据值中的任意一个;以及通过实现多个加密值的一乘法操作,提供选择的分割的所述加密私钥以及选择的分割的所述签署数据值至使用满足等级1同态秘密共享的所述属性的一秘密共享过程的所述多个验证器装置。
在所述第一、第二及第三方面的一进一步实现,所述等级1同态秘密共享包括等级1同态加总秘密共享。
在所述第一、第二及第三方面的一进一步实现,所述信标装置在不被所述信息触发的情况下,运算并传送所述签署数据值的多个实例。
在所述第一、第二及第三方面的一进一步实现,所述信标装置以一单向的方式连接至所述网络,使得流量从所述信标装置传送到所述网络,但在从所述网络到所述信标装置的一方向上不传送流量。
在所述第一、第二及第三方面的一进一步实现,所述信标装置被实现为一冷离线钱包,所述冷离线钱包连接至被实现为所述请求器装置的一热钱包。
在所述第一、第二及第三方面的一进一步实现,所述信息包括加密货币的一交易,以作为一记录存储在一区块链中。
在所述第一、第二及第三方面的一进一步实现,所述信标装置重复地运算并传送所述签署值。
在所述第一、第二及第三方面的一进一步实现,在一初始化过程后,所述信标装置运算并传送多个不同公钥、多个相应私钥及多个签署数据值的一定义数量的多个实例,其中所述多个验证器装置签署所述预定数量的信息。
除非另外被定义,本文使用的所有技术及/或科学术语与本发明所属领域的普通技术人员通常理解的含义相同。尽管在本发明的实施例的实践或测试中可以使用与本文所述的那些方法及材料相似或等效的方法及材料,但下文描述了示例性方法及/或材料。在冲突的情况下,以专利说明书,包括定义,为准。此外,材料、方法及实施例仅是说明性的,而非旨在进行必要的限制。
附图说明
本发明的一些实施例在此仅通过示例并参照附图进行描述。现在具体详细地参考附图,需要强调的是,所显示的细节是通过示例的方式并且出于对本发明的实施例的说明性讨论的目的。在这点上,结合附图的描述使本领域的技术人员清楚本发明的实施例可以如何被实施。
在附图中:
图1是根据本发明的一些实施例,使用由一信标装置提供的签署数据及由一请求器装置提供的一个单一的请求会话以及来自多个验证器装置中的每一个的一个单一的响应会话对一信息进行数字签署的方法的流程图;
图2是根据本发明的一些实施例,用于使用由一信标装置提供的签署数据及由一请求器装置的一个单一的请求会话以及来自多个验证器装置208 中的每一个的一个单一的响应会话对一信息进行数字签署的系统的组件方块图;
图3是根据本发明的一些实施例,使用由一信标装置提供的签署数据及由一请求器装置的一个单一的请求会话以及来自多个验证器装置中的每一个的一个单一的响应会话对一信息进行数字签署的过程的数据流图;
图4是根据本发明的一些实施例,从所述信标装置的观点的使用一信标装置提供的签署数据对一信息进行数字签署的方法的流程图;
图5是根据本发明的一些实施例,从一请求器装置的观点的使用一信标装置提供的签署数据对一信息进行数字签署的方法的流程图;以及
图6是根据本发明的一些实施例,从每个验证器装置的观点的使用一信标装置提供的签署数据对一信息进行数字签署的方法的流程图。
具体实施方式
本发明,在其一些实施例中,涉及网络安全,且更具体地但不排他地,涉及通过一网络传送的一信息的数字签署的多个系统及多个方法。
本发明一些实施例的一个方面涉及用于对信息进行数字签署的请求器装置、一系统、一方法及/或多个代码指令(即,存储在数据存储装置上并可由硬件处理器执行)。所述请求器装置在一个单一的请求会话中向多个验证器装置中的每一个传送要签署的所述信息。验证器装置的一总数中的至少一预定数量,或所有验证器装置,都被要求签署所述所述信息。一信标装置运算并签署一签署数据值,并将所述签署值传送给所述多个验证器装置中的每一个。每个所述验证器装置为所述签署数据值及所述信息运算各自的一部分开放解密值。验证器装置在一个单一的响应会话中从所述多个验证器装置中的每一个接收各自的所述部分开放解密值。所述请求器装置汇总多所述部分开放解密值以运算所述信息的所述数字签署。
本发明一些实施例的一个方面涉及用于对信息进行数字签署的多个验证器装置、一系统、一方法及/或多个代码指令(即,存储在数据存储装置上并可由硬件处理器执行)。所述多个验证器装置中的每一个,或多个验证器装置的一总数中的至少一最小数量的验证器装置,接收由一信标装置运算的签署数据值的一各自副本,并从一请求器装置接收用于签署的所述信息。在一个单一的请求会话中,从所述请求器装置接收用于签署的所述信息。每个验证器装置运算所述签署数据值及所述信息的各自的一部分开放解密值。每个各自的部分开放解密值在一个单一的响应会话中被传送到所述请求器装置。所述请求器装置汇总收到的多个所述部分开放解密值,以运算所述信息的所述数字签署。
本发明的一些实施例的一个方面涉及用于对信息进行数字签署的一系统、多个装置、一方法及/或多个代码指令(即,存储在数据存储装置上并可由硬件处理器执行)。一信标装置运算并签署一签署数据值。所述签署数据值被提供给多个验证器装置。所述多个验证器装置中的每一个,或多个验证器装置的一总数中的至少一最小数量的验证器装置,接收所述签署数据值的一各自副本,并从一请求器装置接收用于签署的所述信息。在一个单一的请求会话中,从所述请求器装置接收用于签署的所述信息。每个验证器装置可以验证所述信息是否具备由各自的验证器装置签署的资格,例如,满足一组规则。每个验证器装置运算所述签署数据值及所述信息的一各自部分开放解密值。每个各自部分开放解密值在一个单一的响应会话中,被传送到所述请求器装置。所述请求器装置汇总接收到的所述多个部分开放解密值,以运算所述信息的所述数字签署。
所述签署数据值可以使用一加法同态秘密共享过程提供给所述多个验证器装置(例如,如参考www.semanticscholar.org/paper/Using-Level-1-Homorphic-Encryption- to-Improve-DSA-Boneh-Gennaro/a57ae12ec05a71b22ce6504dce29c37c3f86d6fc,所述秘密共享过程如下所述:沙米尔秘密共享(Shamir's Secret Sharing),及/或加总秘密共享(Sum Secret Sharing))及/或使用具有一阈值解密的可能性的一加密方案,诸如一多方运算(Multi-Party Computation,MPC)阈值过程,例如:Paillier。
所述信息可以基于一数字签署算法(DSA)过程进行签署,可选地,施诺尔(Schnorr)签署的任何变体,例如,椭圆曲线数字签署算法(Elliptic Curve DigitalSignature Algorithm,ECDSA),及/或爱德华兹曲线数字签署算法(Edwards-curveDigital Signature Algorithm,EdDSA)。
所述信标可以被设计成安全且没有被恶意攻击及/或篡改的危险。可选地,所述信标以单向的方式连接到所述网络,使得流量只从所述信标传送到所述网络,而非从所述网络到所述信标的方向。所述单向设置可以提供一额外的保护层,以防止基于网络的恶意访问。所述信标可以实现为存储加密货币的冷离线钱包,所述冷离线钱包以一单向的方式连接到所述网络,例如,连接到实现为所述请求器装置的一热钱包。所述信标可以重复地运算及传送所述签署数据值,而不需要一外部触发,例如,不被使用所述签署数据值签署的所述信息所触发。可替换地或额外地,所述信标装置在一初始化过程后传送本文所述的数据。
本文所述的多个系统、多个方法、装置及/或多个代码指令的至少一些实施方案改进了对信息进行运算效率高的数字签署的技术,例如,对一公开地可访问网络中的多个交易记录进行数字签署,例如,对多个加密货币交易进行数字签署。本文所述的多个系统、多个方法、装置及/或多个代码指令的至少一些实施方案解决了网络安全的技术问题,特别是,由于公开地可访问网络的性质,使用加密过程进行数字签署的多个信息,使得一恶意实体能够试图入侵及/或访问所述多个信息,例如,试图窃取所述交易中的所述加密货币。所述技术问题是为了防止多个恶意攻击,用于加密所述信息的所述多个加密过程变得越来越复杂,以至于给所述网络带来的运算压力越来越大,实现复杂的安全加密过程变得不现实。
一些签署过程是基于MPC的,即所述装置要求多个验证器装置一起对所述信息进行数字签署。MPC签署过程需要多回合数据传送,以协调所述共同签署,例如,每个验证器装置与所有其他验证器装置进行通信。由于多个原因,协调共同签署的数据在所述网络环境中是有问题的,例如,由于多回合数据的传送而产生大量的延迟,每个验证器装置的大量处理资源用于多次处理加密数据及/或处理传送及接收的数据。当所述多个信息在一区块链环境中(例如多个加密货币交易)被签署时,所述多个网络延迟及/或处理器利用率特别地成为问题,因为托管所述区块链的一副本的每个服务器需要执行所述加密过程,作为所述区块链协议的一部分。
尽管已经尝试提高MPC过程的运算效率,以实现多个信息的数字签署 (例如,在一公共网络环境中,如在一区块链中记录的多个加密货币交易),但仍然需要大量的协调回合。例如,“Using Level-1 Homomorphic Encryption To Improve Threshold DSASignatures For Bitcoin Wallet Security”所描述的过程,例如,可在以下网址获得:
www.semanticscholar.org/paper/Using-Level-1-Homorphic- Encryption-to-Improve-DSA-Boneh- Gennaro/a57ae12ec05a71b22ce6504dce29c37c3f86d6fc
需要4回合(在一逻辑实现中为4n*(n-1))来实现所述数字签署。
使用MPC对多个信息进行安全数字签署是资源密集的。签署所述信息的运算量需要大量的运算资源,例如,处理器利用率、内存及/或网络带宽,以便在多个签署实体之间传送多个信息。一个标准的解决方案能够使用 6个通信回合,或者可能是4个通信回合来签署一信息,在每个通信回合中,多个参与的签署者中的每一个都向所有其他签署者发送一信息。因此,在一逻辑实现中,在所述网络上传送的多个信息的所述总数可以表示为大约 4n*(n-1)条信息,其中n表示多个参与签署者的所述数量,并进一步包括4 个ping时间的一延迟。需要指出的是,实际上所述签署者假设在所有签署者都想对所述信息进行签署时,他们都会开始。为了达到这个状态,所述多个签署者需要从每个签署者处添加一进一步信息给所有其他签署者(即n-1 个信息)及一额外的ping时间。此外,每个签署装置实现复杂而缓慢的多个运算,以执行各自的签署任务,例如,多个零知识证明及加法同态加密。相对比之下,本文所述的多个系统、多个方法、装置及/或多个代码指令的至少一些实施方案,是基于多个验证器装置在签署所述信息的过程中使用的所述信标装置输出的所述签署数据值,将多个信息的所述数量减少到2n- 2(在一些实施方案中是精确的)及两个ping时间(包括让所有验证器装置知道要签署什么),需要注明的是这不包括所述第一次ping,以查看哪些装置可用于签署。在一些实施方案中,所使用的密码学是运算地有效率的及/或快速的(例如,当实施加总秘密共享时),没有零知识证明。如本文所述,运算地有效率的及/或快速的密码学是由所述信标装置输出的所述签署数据值促成的。
本文所述的多个系统、多个方法、装置及/或多个代码指令的至少一些实施方案提供一信标装置,所述信标装置向所述多个验证器装置提供一签署数据值,将签署所述信息的回合数量减少到一个单一的回合,包括所述请求器终端(请求所述签署)向所述多个验证器装置传送数据的一个单一的请求会话,以及所述多个验证器装置向所述请求器终端传送数据的一个单一的响应会话。与其他需要多个回合协调的过程相比,所述单一的回合的运算效率要高得多(例如,在处理器利用率、网络延迟、网络带宽方面)。
所述签署数据值在一个单一的传送会话中提供给多个验证器装置,例如,使用本文所述的一加法同态秘密共享过程及/或一加法同态多方加密过程。
所述信标装置可以被设计成防篡改及/或安全的,代表一个可信的、未被破坏的、真实的数据来源。所述信标装置可以以一单向的方式连接到所述网络,使得数据只能从所述信标装置通过所述网络传送到所述多个验证器装置及/或所述请求器装置。所述信标装置可以被设计成一无源装置,不能被其他网络装置外部访问。所述信标装置可以被设计成自动地操作,例如,以预定的时间间隔(例如,生成的数据可以有时间标记)生成及传送数据(例如,钥匙、多个签署数据值)。所述信标装置可以被实现为,例如,存储加密货币的一冷钱包,在多个短时间间隔偶尔地连接到所述网络。
所述签署数据值是由所述信标装置运算出来的,因此代表了由所述信标装置产生的可信的、安全的、不受影响的数据,被所述多个验证器装置验证为已经由所述信标装置签署。所述签署数据值可以包括所述信标装置使用数字签署算法(DSA)过程运算的一DSA私钥,可选地为椭圆曲线DSA及/或爱德华兹曲线DSA,其中所述私钥与基于加法同态并包括一阈值解密过程的一加密过程运算的所述公钥(对应于被分割成多个分割私钥的所述私钥)进行了加密。可替换地,使用本文所述的所述秘密共享过程将所述签署数据与所述多个验证器装置共享。
本文所述的多个系统、多个方法、装置及/或多个代码指令的至少一些实施方案通过使用由所述信标装置生成的所述签署数据值将传送及接收会话的数量减少到一个单一的传送会话之后的一个单一的响应会话,即一个单一回合,改进用于签署一信息的多个多方运算(Multi-Party Computation, MPC)进程的技术。相反地,如本文所述,MPC签署的其他方法是基于多个传送及多个接收会话(有时被称为“回合”)。本文描述的所述单一传送会话及所述单一接收会话指的是参与签署所述信息的一个单一单向数据交换。所述单一会话不是指为在所述单一会话上传送数据而设置所述通信通道所需的双向通信,例如,假定双向通信是基于一个或多个协议(如TCP/IP)进行。所述单一会话与标准方法所使用的多个会话(即回合)形成对比,例如,为了签署一信息,所有各方需要在4回合中(在一逻辑实现中)向所有其他各方发送另一信息,例如,导致4n*(n-1)回合,其中n表示签署方的所述数量。
在详细解释本发明的至少一实施例之前,应理解本发明在应用上不一定局限于以下说明中提出的及/或附图及/或实施例中说明的所述多个部件及/ 或多个方法的结构细节及安排。本发明能够有多个其他的实施例或以各种各样的方式实施或执行。
本发明可以是一系统、一方法及/或一计算机程序产品。所述计算机程序产品可以包括一计算机可读存储介质(或媒体),其上有计算机可读程序指令,用于使处理器执行本发明的各个方面。
所述计算机可读存储介质可以是一种有形装置,它可以保留及存储多个指令,供一指令执行装置使用。所述计算机可读存储介质可以是,例如但不限于,一电子存储装置、一磁存储装置、一光学存储装置、一电磁存储装置、一半导体存储装置,或上述的任何适当组合。所述计算机可读存储介质的更具体例子的非详尽清单包括以下内容:一便携式计算机软盘、一硬盘、一随机存取存储器(RAM)、一只读存储器(ROM)、一可擦除可编程只读存储器(EPROM或闪存)、一静态随机存取存储器(SRAM)、一便携式光盘只读存储器(CD-ROM)、一数字多功能光盘(DVD)、一记忆棒、一软盘、一机械编码装置,如多个打孔卡或在一槽中的多个凸起结构,上面记录有多个指令,以及上述的任何适当组合。本文所用的一计算机可读存储介质不应理解为是短暂的信号本身,如多个无线电波或多个其他自由传播的电磁波,通过一波导或其他传送介质传播的电磁波(例如,通过一光缆的多个光脉冲),或通过一电线传送的多个电信号。
本文所述的多个计算机可读程序指令可以从一计算机可读存储介质下载到多个各自的运算/处理装置,或通过一网络下载到一外部计算机或一外部存储装置,例如,所述互联网、一局域网、一广域网及/或一无线网络。所述网络可包括铜质传输电缆、光传输纤维、无线传输、多个路由器、多个防火墙、多个交换机、多个网关计算机及/或多个边缘服务器。每个运算/处理装置中的一网络适配器卡或网络接口从所述网络中接收所述计算机可读程序指令,并将所述计算机可读程序指令转发到各运算/处理装置内的计算机可读存储介质中存储。
用于执行本发明的多个操作的多个计算机可读程序指令可以是多个汇编器指令、多个指令集架构(Instruction-set-architecture,ISA)指令、多个机器指令、多个机器依赖指令、微代码、多个固件指令、状态设置数据,或以一种或多种编程语言的任何组合编写的源代码或目标代码,包括面向对象的编程语言,如Smalltalk、C++或类似语言,以及常规程序性编程语言,如“C”编程语言或类似编程语言。所述多个计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为一个独立的软件包,部分在用户的计算机上执行,部分在远程计算机上执行或完全在远程计算机或服务器上执行。在后一种的情况下,所述远程计算机可以通过任何类型的网络与用户的计算机连接,包括一局域网(LAN)或一广域网 (WAN),或者连接到一外部计算机(例如,通过所述互联网使用一互联网服务提供商ISP)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用所述多个计算机可读程序指令的状态信息来执行所述多个计算机可读程序指令,以实现电子电路的个性化,从而执行本发明的各个方面。
根据本发明的多个实施例的多个方法、装置(多个系统)及多个计算机程序产品的流程图说明及/或方块图来描述本发明的各个方面。可以理解的是,流程图说明及/或方块图中的每个方块,以及流程图说明及/或方块图中的方块的组合,可以通过所述多个计算机可读程序指令实现。
这些计算机可读程序指令可提供给一通用计算机、一专用计算机或其他可编程数据处理装置的一处理器,以制造一机器,使得通过所述计算机或其他可编程数据处理装置的所述处理器执行的所述多个指令,创造实现流程图及/或方块图中指定的功能/行为的多个手段。这些计算机可读程序指令也可以存储在所述计算机可读存储介质中,可以指导一计算机、一可编程数据处理装置及/或其他装置以一特定方式运行,使得具有存储在其中的多个指令的计算机可读存储介质包括一制造品,其中包括实现流程图及/或方块图或方块中指定的功能/行为的各个方面的多个指令。
所述多个计算机可读程序指令也可以被加载到一计算机、其他可编程数据处理装置或其他装置上,以使一系列操作步骤在所述计算机、其他可编程装置或其他装置上执行,从而产生一计算机实现过程,使得在所述计算机、其他可编程装置或其他装置上执行的多个所述指令实现流程图及/或方块图中指定的多个功能/多个行为。
附图中的所述流程图及方块图说明根据本发明的各种实施方案的多个系统、多个方法及多个计算机程序产品的可能实施方案的结构、功能及操作。在这方面,所述流程图或方块图中的每个方块可以代表一模块、区段或部分指令,其包括一个或多个用于实现所述特定逻辑功能的多个可执行指令。在一些替代性的实施方案中,所述方块中指出的多个所述功能可以不按附图中指出的顺序出现。举例而言,连续显示的两个方块实际上可能实质上是同时执行的,或者根据所涉及的功能,这些方块有时可能以相反的顺序执行。还将注意到,方块图及/或流程图说明中的每个方块,以及方块图及/或流程图说明中的方块的组合,可以由基于特殊用途的多个硬件系统来实现,执行所述多个特定功能或行为,或执行特殊用途硬件及多个计算机指令的组合。
现在参考图1,它是根据本发明的一些实施例,使用由一信标装置提供的签署数据及由一请求器装置提供的一个单一的请求会话以及由多个验证器装置中的每一个提供的一个单一的响应会话对一信息进行数字签署的一方法的流程图。图1描述多个装置之间的一整体系统级数据流,包括所述信标装置、所述请求器装置、多个验证器装置,以及可选地一第三方装置。还请参考图2,它是根据本发明的一些实施例,利用一信标装置204提供的签署数据及一请求器装置206的一个单一的请求会话以及来自多个验证器装置 208的一个单一的响应会话,对一信息202进行数字签署的一系统200的多个组件的方块图。系统200的多个组件可以通过由一个或多个装置(例如,信标装置204、请求器装置206、多个验证器装置208)的一个或多个硬件处理器执行的存储在一存储器中的多个代码指令来实现参照图1及/或图3-6 所述的方法的行为。
系统200包括以下一个或多个组件:
*信标装置204,向所述验证器装置206提供所述签署数据值。
*接收信息202以对其进行签署的请求器装置206,并通过与多个验证器装置208协调对信息202进行签署。
*多个验证器装置208,它们共同为信息202提供签署。需要指出的是,为了解释的简单性及明确性,图2中描绘一个单一的验证器装置208,但可以理解的是,装置208代表两个或更多个验证器装置。验证器装置208 的数量可以根据所需的安全级别来选择,其中验证器装置208的数量越多,安全性就越高。
*第三方装置210,可以向请求器装置206提供信息202,以便对其进行签署。
*区块链节点212,其中每个节点存储记录多个已签署信息的所述区块链的一副本。例如,所述区块链存储多个已签署交易的多个记录。
*信标装置204、请求器装置206、验证器装置208、第三方装置210及多个区块链节点212,可以通过一网络230相互通信。
系统200的多个组件可以被安排成多个不同的架构,通过整合两个或更多个装置及/或一个装置执行一个或多个其他装置的功能,例如以下的一个或一组合。
*请求器装置206是多个验证器装置208中的一个。可替换地,验证器装置208中的任何一个可以用作请求器206。
*多个验证器装置208是多个区块链节点212。
信标204及/或请求器装置206及/或验证器装置208之间的通信通道 (例如,通过网络230)可以是安全的。可选地,当信标204向验证器装置 208及/或请求器装置206发送数据(例如,签署数据)时,验证器装置208 及/或请求器装置206是唯一被授权读取所发送的数据的多个装置,及/或验证所述数据是由信标204发送的。安全通信通道可以实现,可选地通过网络230,例如,作为一直接电缆链接,及/或使用信标204及多个装置 206及/或208之间共同的对称加密钥匙,及/或信标204及多个装置206 及/或208中的每一个使用一公钥。在另一个示例中,所述安全通信通道是使用受信任的控制器建立的,在2018年12月6日提交的美国申请号 62/775,942“SECURE CONSENSUS OVER A LIMITED CONNECTION”中参考描述,包括至少一个共享的发明人,在此通过引用整体的方世并入本文。
每个装置204、206、208、210及/或212可以实现为,例如一移动装置、一固定装置、一台式计算机、一服务器、一智能手机、一笔记本电脑、一平板电脑、一可穿戴运算装置、一眼镜运算装置、一手表运算装置、一运算云、一虚拟机及一虚拟服务器。
需要指出的是,所述信标装置204可以实现为一冷存储钱包。
每个装置204、206及/或208包括一各自的处理器214A至214C,其执行存储在一各自的存储器216A至216C中的一各自的代码218A至 218C。处理器214A至214C可以实现为例如中央处理单元(CPU)、图形处理单元(GPU)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、特定应用集成电路(ASIC)、定制电路、用于与多个其他单元连接的多个处理器及/或多个专用硬件加速器。处理器214A至214C可以实现为一个单一的处理器、一多核处理器及/或安排用于并行处理的处理器的一集群(可以包括同质的及/或异质的多个处理器架构)。
相应的存储器216A至216C可以实现为例如一硬盘、一随机存取存储器(RAM)、一只读存储器(ROM)、一光驱、一外部存储装置及/或多个其他存储装置。需要指出的是,处理器214A至214C可以被设计为在硬件中实现一个或更多个特征,否则这些特征将被各自的存储器216A至216C存储为多个代码指令。
信标装置204可以包括存储数据的一数据存储装置220A,例如,分割钥匙对存储库222A,所述分割钥匙对存储库存储所述多个分割私钥(通过分割所述私钥产生)及多个公钥,所述公钥是使用加法同态的加密过程产生的且包括一阈值解密过程,DSA钥匙对存储库222B存储用于签署信息202而产生的的所述多个DSA公钥及多个DSA私钥的钥匙对,以及签署数据值存储库222C,存储运算出的多个签署数据值。应当注意的是,如本文所述,所述多个分割私钥及/或所述多个DSA钥匙及/或所述多个签署数据值可由请求器装置206及/或验证器装置208的多个各自数据存储装置在提供时存储。
请求器装置206可以包括一数据存储装置220B,所述数据存储装置 220B可以例如单独地及/或在一信息存储库中存储所接收的信息202以对其进行签署。
多个验证器装置208可以各自包括一数据存储装置220C,所述数据存储装置220C可以存储各自的分割钥匙,例如,在一分割钥匙存储库224 中。应当注意的是,数据存储装置220C可以存储其他数据,例如,接收的签署数据值及/或接收的信息202。
数据存储装置220A至220C可以实现为例如一随机存取存储器(RAM)、只读存储器(ROM)、非易失性存储器、磁介质、多个半导体存储装置、硬盘、可移除存储、光学介质(例如,DVD、CD-ROM)、一远程存储服务器及一运算云。应当注意的是,一些数据及/或代码可以存储在各自的数据存储装置中,可执行部分加载到各自的存储器中。
网络230可以实现为例如以下的一个或更多个:一基于电线的网络(例如,以太网)、一基于无线的网络、所述互联网、一局域网、一广域网、一虚拟私人网络、一虚拟网络、一蜂窝网络、一短程无线网络、一网状网络及一临时自组网络。网络230可以使用一个或多个协议及/或网络架构来实现。
一个或多个装置204、206及/或208可以包括各自的用户界面232A至 232C,向一用户展示数据及/或包括输入数据的一机制,例如,一个或多个:触摸屏、显示器、键盘、鼠标、语音激活软件及麦克风。一些装置可以在没有一用户界面的情况下操作,例如,多个验证器装置208可以在没有一用户界面的情况下操作。
一个或多个装置204、206及/或208包括用于与网络230通信的各自的网络接口234A至234C,例如,多个实体及/或虚拟组件,例如,一个或多个的天线、网络接口卡、一线端口、在软件中实现的一虚拟接口、提供更高网络连接层的网络通信软件、一应用编程接口(API)、一软件开发工具包 (SDK)及/或其他实施方式。
在102,一信标装置提供并签署一签署数据值。签署数据值以及可选地一相关时间戳记被提供给通过一网络的多个验证器装置(例如,通过其传送)。
所述签署数据值可以通过所述多个请求器装置提供给所述多个验证器装置,例如,在所述信标不直接连接到所述网络但连接到所述请求器装置的一实施方案中,例如,所述信标装置被实现为连接到实现为一热钱包的所述请求器装置的一冷钱包。例如,所述请求器装置从所述信标装置接收所述签署数据值。所述请求器装置可以检查所述签署数据值以前是否被使用过,例如,在以前使用过的签署数据值的一数据集中进行一查找操作,另一个示例是通过检查所述信标与每个签署数据一起发送的一序列号。所述请求器装置可以通过所述网络将所述签署数据值发送给所述多个验证器装置。
所述信标被所述多个验证器装置及/或所述请求器装置认为是可信的。
所述信标可重复地运算及/或生成所述签署值,所述签署值可被进一步签署及/或进一步提供给所述多个验证器装置。例如,每隔定义的时间间隔 (例如,每微秒、每秒钟、每分钟、每小时或其他时间间隔)定期生成新的签署值。可替换地或额外地,所述信标在一定义的事件中生成所述签署值,例如,在初始化时(例如,所述信标的重置,所述信标与一网络连接节点的连接)。可替换地或额外地,在初始化过程(例如,所述信标的重置、所述信标与一网络连接节点的连接)之后,所述信标装置运算并提供多个不同签署数据值的一定义数量的多个实例,以及可选地多个不同公钥及对应的多个私钥(当实施加法同态阈值加密时)。所述多个实例使所述多个验证器装置能够在多个实例的所述预定的数量内签署一数量的信息。
所述信标装置的设计是为了提高对恶意攻击的安全性,特别是源于所述网络的恶意攻击。可选地,所述信标装置以一单向方式连接到所述网络,使得流量从所述信标传送到所述网络,而不是从所述网络传送到所述信标的方向上。例如,所述信标装置被设计成一个“哑巴”装置,可选地一旦检测到连接,就在所述网络上生成并传送所述签署值(及/或其他数据,如钥匙)。所述单向特征减少及/或防止通过所述网络攻击的风险。可选地,所述信标装置被实现为一冷离线钱包,可选地通过实施的一热钱包连接到所述网络,可选地实施为所述请求器装置。应当注意的是,由于所述热钱包连接到所述网络,它容易受到恶意攻击,因此不能被完全信任。所述冷钱包的实施方案减少了攻击的风险,通过在需要时将冷钱包连接到热钱包的短时间间隔,例如,执行多个交易。所述冷钱包在其余时间保持离线并与所述网络断开连接,防止一攻击者通过所述网络访问。可选地,所述信标装置提供一个或多个签署数据值的实例(及/或其他数据,如不同公钥的实例,以及相对应的私钥),而不被所述信息及/或其他需要所述签署数据的指示所触发,例如,在多个常规间隔及/或多个初始化事件中提供所述签署值。与所述信息断开连接可进一步降低恶意活动的风险,例如,通过防止所述信息作为恶意攻击而产生的情况。可替换地,所述信标装置可被设置为始终存活,生成多个签署数据值。
所述签署数据值可以提供给使用例如一加密过程及/或一秘密共享过程的所述多个验证器装置。所述秘密共享过程可以是加法同态的。
所述秘密共享过程可以实现,例如,ECDSA及/或EdDSA。
下面描述的秘密共享过程用于从多个签署数据值中选择一特定的签署数据值及从多个私钥中选择一特定的私钥的每一对,用于运算各自的部分开放解密值,而所述多个验证器装置不知道被选择的所述特定的签署数据值及所述特定的私钥的所述对。
下面描述的秘密共享过程被设计为在若干表示为N的多个参与装置(例如多个验证器装置)之间分割及共享两个秘密值,其中为了重建所述多个秘密,需要所有N个所述参与装置。使用所描述的秘密共享过程,即使当N 个参与装置中的N-1个是恶意的,所述N-1个恶意的装置也不能获得秘密,即使是在互相恶意合作的时候。
本文所述的秘密共享过程满足等级1同态秘密共享,这指的是使用所述秘密共享过程的所述秘密的分割的属性,允许在所述秘密的所述分割部分之间进行一个单一的乘法运算,所述单一的乘法运算等于整个(即未分割)秘密的一运算。
本文所述的秘密共享过程能够选择一第一加密值及一分割第二加密值中的任何一个(例如,分割多个加密私钥并选择所述多个分割加密私钥中的任何一个,以及分割多个签署数据值并选择所述多个分割签署数据值中的任何一个),且提供选择的分割的多个第一及第二值(例如,选择的加密钥匙及选择的分割签署数据值)给多个装置(例如多个验证器装置),使用本文所述的秘密共享过程满足等级1同态秘密共享(例如等级1同态加总秘密共享) 的属性,使多个加密值的一乘法操作成为可能。
本文所述的秘密共享过程可以针对需要在两个需要保密的秘密之间进行一乘法运算的一加密过程(例如ECDSA)来实现。当每个参与装置(例如验证器装置)处理其各自部分的所述秘密并分布结果时,所述加密过程可以应用于所述多个秘密的一个方式为:即使N-1个参与装置是恶意的,所述多个秘密也不会被提供。
所述秘密共享过程是针对两个被保密的值,即k-1及表示为d的私钥而设计的。知道k-1及所述私钥d中至少一个的所述值可以控制所述私钥。现在描述k-1及d的一秘密共享机制过程,使得在定义的(例如商定的)常数表示为r、m,每个参与装置(例如验证器装置)具有k-1及d的份额,可以运算出一份额k-1(m+r*d),所述份额可用于生成所述真实值k-1(m+r*d)。所述秘密共享过程隐藏了k-1及d的真实值,如果没有所有参与装置的恶意合作,是无法恢复的。
所述秘密共享过程使k-1有多个不同的值,d有多个不同的值,使得所述秘密共享机制可以对k-1及d的每一对共享发挥作用,而不知道哪一对将被使用。
所述加总秘密共享方案被使用,使得所述值d的份额维持如下:
所描述的秘密共享机制对加法是同态的,但对乘法不是。其原因是对于 k、d的秘密共享如下:
下面的方程式成立:
由于:
以上是一个线性方程,可以作为所述秘密共享过程的一要求。例如,可以计算出以下结果:
同时确保下面的方程式成立:
其导致所述属性:
基于上述情况,可以选择多个份额以提供等级1同态加密。为了保证所述秘密共享实现的安全,可以从持有以下属性的所述多个份额(例如所有份额)中进行一统一选择:
所述的秘密共享实现对t-1个好奇的参与者是安全的。对于某个选定的用于其秘密共享的私钥d,可以有多个k-1的共享,而对于某个选定的用于其秘密共享的k-1,可以有多个私钥d的共享。下面描述的秘密共享过程对任何d产生多个共享,对任何k-1产生多个共享,这些共享仍然持有与任何一对的等级1同态秘密共享属性。
一个“良好共享”(即等级1同态秘密共享)属性表示为R,定义如下:
其中da表示d的共享,ka表示k-1的共享。c*ka表示将c与各份额相乘,且c+ka表示将c/n加入各份额,ka’+ka表示与矢量加法(r=ka’+ka: ri=ka’i+kai)相同。
对于任何表示为c的常数,以下情况成立:
R(da,ka)->R(da,c*ka)
R(da,ka)->R(c*da,ka)
因此,对于任何常数,表示为c1,2:
R(da,ka)->R(c1*da,c2*ka)
根据上述情况,我们注意到可能有多个k-1的共享,与多个d的共享一起运作。然而,问题是每个参与装置(例如验证器装置)将知道每个k-1之间的线性比率。
应当注意:
(R(da,ka),R(da,ka’))->R(da,ka+ka’)
(R(da,ka),R(da’,ka))->R(da+da’,ka)
当以下关系成立时(例如,被选择及/或被运算):
R(da,ka),R(da,ka’),R(da’,ka’),sum(ka)≠0,sum(ka’)≠0, sum(da)≠0,sum(da’)≠0,对于任何常数表示c1,c2,c3,c4:
R(c1*da+c2*da’,c3*ka+c4*ka’)
当维持上述4个线性方程时,提供了(所述场的大小)钥匙共享选项。
以上描述的钥匙共享过程可以总结为以下几点:
给定:(da,ka),R(da,ka’),R(da’,ka)
给定:某个k及/或某个私钥d中的至少一个
生成:c1,均匀地。
计算:c2=(k-c1*sum(ka))/(sum(ka’))
新的钥匙共享被表示为:c1*ka+c2*ka’。
下面是上述秘密共享过程的一数学证明:
秘密共享过程的其他示例包括,例如,根据沙米尔的秘密共享(例如,参考cs.jhu.edu/~sdoshi/crypto/papers/shamirturing.pdf)及/或加总秘密共享实施。
例如,当所述信标及所述多个验证器装置之间的通信通道不安全时,可以使用所述加密过程。例如,当所述信标及所述多个验证器装置之间的通信通道是安全时,可以使用所述秘密共享过程。
所述阈值解密过程可以被实现,例如基于Paillier过程。使用所述多个分割钥匙的所述阈值解密过程使所述多个验证器装置能够一起打开所述加密的签署数据,而无需彼此共享所述钥匙,例如,参考 iacr.org/archive/pkc2003/25670279/25670279.pdf进行描述。
就多个数学形式而言,所述加密过程及/或所述秘密共享过程的所述加法同态属性可描述如下:给定两个加密值,表示为E(a)及E(b),二者均用相同的私钥加密,一个标记为+E的二进制操作使得:E(a)+EE(b)=E(a+b)。另一个标记为*E的操作使得:a*EE(b)=E(a*b)),其中a表示所述信息空间的任何成员。
可选地,当实施所述加密过程时,所述信标装置生成一公钥(例如,不同公钥的多个实例),以及一相对应的私钥(例如,每个所述多个公钥的一对应私钥),可选地使用所述阈值加密过程,例如,基于Paillier。所述私钥被分割成多个分割钥匙,每个分割钥匙被提供给一不同的验证器装置。所述公钥可以被提供给所有验证器装置及/或所述请求器装置。
可选地,另一个钥匙对被创建,例如,基于EdDSA及/或ECDSA。
所述签署数据值的不同实施方案可以被使用。
可选地,当DSA被实现时,所述签署数据值包括一DSA私钥。所述DSA 私钥可以用对应于被分割成多个分割私钥的私钥的所述公钥进行加密。
所述多个分割私钥的所述数量可以与所述多个验证器装置的所述数量相对应(例如,相等、至少相等)。
可选地,当所述签署数据是基于所述加密过程时,所述签署数据值包括以下一个或多个(可选地全部)成分:(i)用对应于所述私钥的所述公钥加密的一随机值的倒数,所述私钥被分割成多个分割私钥;以及(ii)用对应于被分割成多个分割私钥的所述私钥的所述公钥加密的以下内容:所述随机值的倒数及一已知常数点的一哈希的乘积,所述常数点被提高到所述随机值的所述幂,以及所述信标装置使用所述DSA过程运算的一DSA私钥;以及(iii)一已知常数点的所述哈希提高到所述随机值的所述幂。
为了帮助理解下面使用的数学符号,以下是所述信息的最终运算出的所述签署(例如,在112中运算出))的示例性数学表示法:
当d表示某个私钥,且m表示所述信息,其中g表示一已知常数点,k 表示一随机数,且H表示一哈希函数(例如sha256)。H'(p)表示一个点p 的一特定哈希,所述点p是DSA算法的一部分(例如,在ECDSA中,H'表示 p的x坐标)。
(r,s)=(H'(gk),k-1*(H(m)+H'(gk)*d)),被指出与以下相同:
(r,s)=(H'(gk),k-1*H(m)+k-1*H'(gk)*d)
以下是基于所述信标执行的所述阈值加密过程及/或DSA(例如ECDSA) 生成所述签署数据的一示例性过程。
1.选择一随机值表示为k。
2.运算k-1,可选地表示所述基础组中所述值k的一倒数,例如,k-1取模(mod)一特定的n值,其中n可以表示多个验证器装置的所述数量。
3.用所述公共阈值加法同态加密(例如Paillier)钥匙进行加密,以生成表示为E(k-1)的值。可替换地,使用加法同态秘密共享过程(例如,沙米尔秘密共享及/或加总秘密共享)对k-1进行秘密共享。
操作表示E()可以指用所述阈值加法同态加密过程进行加密及/或使用所述加法同态秘密共享过程进行秘密共享。
4.运算gk,其中g表示一已知常数点。
5.运算k-1*H'(gk)。
6.用所述公共阈值加密(例如Paillier)钥匙加密,以生成表示为E(k-1*H'(gk)*d)的值。可替换地,所述值是秘密共享的。
7.所述签署数据值包括数学上表示为E(k-1),H'(gk),E(k-1*H'(gk)*d) 的值。可替换地,所述签署数据值在数学上表示为E(k-1),E(k-1*H'(gk)*d)。(在这种情况下,H'(gk)只被发送给所述请求者)。
可替换地,上述过程可以使用秘密共享来实现。与其使用所述阈值加密过程对所述值(例如k-1)进行加密,以便能够在多个验证器装置之间分割所述值(如本文所述,在加法同态操作之后,所述多个验证器装置可以解密所述加密的值),不如使用秘密共享提供所述值(例如k-1)。所述秘密共享是加法同态的,且在如本文所述的多个操作之后,每个验证器装置都能够访问所述秘密值。
可选地,所述DSA私钥(例如EdDSA及/或ECDSA)是使用一层次确定性树(hierarchical deterministic tree,hd-tree,hd树)生成的。使用 hd树生成多个钥匙,可以选择不使用等级一Paillier。所述hd树能够从基础ECDSA及/或EdDSA私钥以及称为链数据(Chaindata)的附加数据中推导出ECDSA及/或EdDSA私钥。所述私钥装置的拥有者可以通过向其他装置发送链数据,让其他装置能够从所述基础公钥推导出所述匹配的公钥。Hd 树能够使用一推导指数值从一基础DSA私钥中推导出多个DSA私钥(例如,从所述基础EdDSA私钥中推导出多个EdDSA私钥及/或从所述基础ECDSA私钥中推导出多个ECDCA私钥)。所述推导指数值被提供给所述多个验证器装置,用于本地运算所述签署数据值。
就数学符号而言:
私钥=d
公钥=gd
通过所述推导指数及所述公钥生成一个表示为i的值:
新私钥=私钥+i=d+i
新公钥=公钥*gi=gd*gi=gd+i
当使用hd-tree生成所述多个钥匙时,所述签署数据值可以基于以下数学表示法来实现:
E(k-1),E(k-1*H'(gk)),E(k-1*H'(gk)*d),其中给定一特定i值,可以计算出以下内容:i*EE(k-1*H'(gk))+EE(k-1*H'(gk)*d)=E(k-1*H'(gk)*(d+i))。本文所述过程是使用E(k-1),E(k-1*H'(gk)*(d+i))实现。
需要指出的是,E(k-1*H'(gk))可以通过k-1*EE(H'(gk))来运算。
可选地,当基于所述阈值解密过程运算所述公钥及被分割成多个分割私钥的所述私钥时,所述信标装置生成及/或存储多个钥匙对的多个实例,例如,作为具有许多钥匙的多方运算(MPC)钱包。所述多个钥匙的生成不一定要为每个私钥生成新且不同的签署数据值,例如,为一组多个钥匙生成一个单一的签署数据值。所述相同的(例如单一的)签署数据值只对所述多把钥匙的组中一选定的单一钥匙使用一次。以下是实现具有相同(例如单一的) 签署数据值的多组钥匙的一示例性过程。产生多个DSA(例如EdDSA及/或ECDSA)钥匙对。所述钥匙对中的每个私钥被加密,以创建多个加密的私钥。所述多个加密的私钥被提供给所述多个验证器装置。例如,由所述信标及/或请求器装置选择所述多个加密的私钥的其中一个。所述签署数据值不包括所述选择的私钥。所选选择的加密私钥的一指示被提供给所述多个验证器装置。所述部分开放解密值(例如,参照108所述)由每个各自的验证器装置使用所述选择的加密私钥及不包括所述选择的私钥的所述签署数据值来运算。
当实施具有相同签署数据值的多个钥匙对时,使用的所述阈值加密过程允许进行一次乘法,例如,等级一加法同态加密,例如,在本文附图1的 102描述的所述秘密共享过程中,及/或上文参照以下网址描述:
www.semanticscholar.org/paper/Using-Level-1-Homorphic-Encryption-to- Improve-DSA-Boneh-Gennaro/a57ae12ec05a71b22ce6504dce29c37c3f86d6fc。
在数学表现法而言,所述信标为所述钥匙集的所述多个私钥中的每一个提供E(di)。所述签署数据值可以实现为E(k-1),H'(gk),E(k-1*H'(gk))。所述信标及/或请求器装置选择所述多个钥匙中的一个,并向所述多个验证器装置提供所述选择的钥匙的一指示。每个验证器装置运算一各自的部分开放 (例如在108)为H(m)*EE(k-1)+EE(k-1*H'(gk))*E_level_1E(di)。所述多个秘密值 (例如,多个私钥及签署数据值)可以使用等级1同态加总秘密共享过程来共享,例如,如本文所述。
现在讨论使用爱德华兹曲线数字签署算法多方运算(EdDSA MPC)的实现,可选地在作为一GK8钱包实现的所述信标装置的背景下。所述实现可以基于GK8 MPC与一基础EdDSA签署(例如,在Ed25519椭圆曲线上)。需要注意的是,EdDSA签署是多个Schnorr签署的一个变种,且其他合适的实现可以被使用。例如,当ECDSA涉及到以一分布方式反转一组元素的问题且所述分布方式不存在Schnorr签署,诸如EdDSA时,可以选择EdDSA而不是ECDSA。
以下是对所述多个钥匙(包括私钥及公钥两者),以及一EdDSA签署的所述签署及验证过程的一简要解释。一EdDSA签署方案的所述私钥是一个b 位元的字符串,表示为k,对于一些安全参数表示为b。所述公钥表示为 A=s·B(注意,一标量的乘法是由基础组定义的),其中B表示所述基础曲线上一预先定义的点,且s=H0,...,b-1(k)为一预先定义的目标抗碰撞哈希函数表示为H(例如,对于Ed25519 SHA-512可以被实现)。表示为M的信息上的一EdDSA签署被表示为所述对(R,S),使得:
R=r·B,其中r=H(Hb,......2b-1||M)。
S=r+H(R||A||M)·s mod L,其中L表示所述基础组的所述顺序。
对一EdDSA签署的验证是通过检查以下方程式是否成立来进行的:S· B=R+H(R||A||M)·A。
值得注意的是,在实际实现中,M表示所述原始信息m的一哈希的版本。EdDSA的更多细节可以被找到,例如在RFC 8032中。
需要注意的是,本文描述的基于所述信标装置、多个验证器装置及请求器装置的实现,其中所述多个验证器装置中的任何一个验证器装置都可以作为所述请求装置,这可能是不均衡的,因为一个装置可以要求对任何信息进行签署(与标准方法相反,要签署的所述信息被假定为对所有各方都是已知)。这是在多方运算(MPC)之外处理的,所以可以假设共同签署者(即多个验证器装置)可以验证参与所述阈值签署的请求是合法的。为了实现一阈值签署,实施一个加法同态方案,所述方案承认阈值解密,所述方案涉及一个阶段的部分解密,以及一个阶段的结合所有部分解密的份额以形成一解密。例如,一秘密共享方案(例如沙米尔(Shamir)秘密共享)及/或一加法同态加密方案(例如Paillier)及/或任何适合且安全的原始方案。这个方案的加密/密码被表示为E,其中加法同态作用被表示为+E,一些表示为g的元素与表示为e的一标量相乘被表示为ge。
现在简单讨论爱德华兹曲线数字签署算法多方运算(EdDSA MPC)的实现。应当注意,r被定义为给定信息及私钥的一确定值。r可能是完全随机的,用于执行一阈值签署。正如次处实现的,r可能是随机的,而不是即时共享的,这在技术上是困难的或不可能的,因为它取决于所述信息。在一些实现中,所述请求器充当了需要共同签署的所述多个验证器装置之一。要进行签署的所述信息被表示为m,M表示所述哈希的信息。所述信标装置对一个表示为k的私钥进行采样,如上所述运算s,并使用基础加法同态方案共享所述值。让si表示被表示为i的验证器装置的所述份额。应当注意的是,当使用一加法同态加密方案时,共享的是所述解密钥匙,所有验证器装置都收到E(s)。所述信标装置可以广播被表示为A的所述公钥。所述信标装置可以连续且随机地对r’s进行采样,并共享(i,E(r),R)[即签署数据],其中R是如上运算的,i是一独特指数。所述请求器装置可以提供(例如多个广播)所述对m,i,其中i表示一未使用的签署数据元组的指数,且 m表示要签署的所述信息(例如在106中)。在收到一签署请求后,每个验证器装置可以确保所述信息m是一个合法的,并且i是一未使用的签署数据元组(例如在108中)。让E(r),R表示由i索引的所述对,每个验证器装置执行以下运算的一部分解密(例如在108中):
E(S)=E(r)+E(s)H(R||A||M)=E(r+H(R||A||M)·r)
每个部分开放解密都提供给所述请求器装置(例如在110中)。在收到所有部分开放解密后(例如,所述请求器装置可以运算它自己的部分开放解密),所述请求器装置结合所有的份额以得到S(例如在112中)。所述请求器装置可以发布(R,S)作为m上的签署(例如在114中)。
在104,所述请求器装置收到用于签署的一信息。所述信息可以被接收,例如,从一第三方装置、从所述请求器装置本身及/或从多个其他装置。所述信息可以是任何用于数字签署的信息,以提高所述信息的安全性。例如,所述信息可以是两个数字钱包之间的加密货币的一交易。所述交易记录可以存储在所述区块链数据集中。在另一个示例中,所述信息可能是一个数据库中的一条目,所述条目被签署以获得额外的安全性。
所述请求器装置可以作为一个热钱包,所述热钱包可以连接到所述信标,例如,实现为一冷钱包的所述信标。
在106,用于签署的所述信息由所述请求器装置提供给多个验证器装置。用于签署的所述信息是通过网络上的一个单一的请求会话提供。
所述信息可以被传送到联合签署所需的多个验证器装置的一数量,其中所有的验证器装置都需要签署所述信息。可替换地,所述信息可以被传送到所述多个验证器装置的一数量,所述数量大于联合签署所述信息所需的多个验证器装置的一最小阈值数量。当至少有所述最小数量的多个验证器装置各自签署各自的部分时,所述信息被签署。
每个验证器装置在所述单一的请求会话中接收用于签署的所述信息。
可选地,所述请求器装置是所述多个验证器装置之一。可替换地,所述请求器装置不是所述多个验证器装置之一。
连接到所述网络的所述多个验证器装置受到所述请求器装置(例如所述热钱包)的信任,但可能容易受到所述网络上的恶意攻击。使用多个验证器装置来签署所述信息,可以减轻恶意攻击的所述风险。
在108,所述多个验证器装置中的每一个都运算所述签署数据值及所述信息的一各自部分开放解密值。
所述各自部分开放解密值是根据用于提供所述签署数据值的实施方案运算的,例如,使用应用于所述签署数据值及所述信息的所述各自的分割私钥,及/或使用基于所述秘密共享过程的所述各自部分开放解密值。
可选地,在运算各自的部分开放解密值之前,所述多个验证器装置中的每一个检查所述信息是否具有由各自的验证器装置进行签署的资格。例如,可以根据定义各验证器装置何时签署所述信息的一组规则来评估所述信息,例如,加密货币交易的所述价值在一个范围内及/或低于一个最大值,所述信息的来源地址是有效的,所述信息的目的地地址是有效的,来源钱包有足够的加密货币存储在其中,以允许加密货币交易到另一个钱包等等。在另一个示例中,所述信息被呈现在一显示屏上,供一人类作业员查看。人类作业员可以手动批准签署所述信息,或拒绝签署所述信息,例如,通过按下所述显示器上呈现的一批准或拒绝图标。
可选地,所述多个验证器装置中的每一个都验证所述信标装置签署所述签署数据值及/或所述签署数据值以前没有被各自的验证器装置所使用。
所述多个验证器装置中的每一个可以独立于多个其他验证器装置执行它自己的检查及/或验证过程。
当所述签署数据是基于所述阈值加密过程及/或DSA(例如ECDSA)时,部分开放解密值可按如下方式运算。首先,使用从所述签署数据值中提取的数值运算以下内容。H(m)*EE(k-1)+EE(k-1*H'(gk)*d)=E(k-1*H(m)+k-1*H'(gk)*d)(==H(s))。E(k-1*H(m)+k-1*H'(gk)*d)的部分开放是由各验证器装置使用其各自的分割钥匙运算的,例如,参照people.csail.mit.edu/rivest/voting/papers/DamgardJurikNielsen- AgeneralizationOfPailliersPublicKeySystemWithApplicationsToElec tronicVoting.pdf的描述。
可替换地,如本文所述,所述签署数据是使用秘密共享提供的。
在110,由每个各自验证器装置运算的各部分开放解密值在一个单一的响应会话中被提供给所述请求器装置。
所述请求器装置在所述单一的响应会话中,从所述多个验证器装置中的每一个收到为所述签署数据值及所述信息运算的各自部分开放解密值。
在112,所述请求器装置汇总从所述多个验证器装置收到的多个部分开放解密值,以运算所述信息的所述数字签署。
所述请求器装置从所述部分开放解密值运算出所述信息的一未加密签署。
可选地,所述请求器装置验证所述数字签署(通过汇总从所述多个验证器装置收到的多个所述部分开放解密值运算)是所述信息的一有效签署,例如,验证没有一个验证器装置试图进行恶意活动。
可选地,所述请求器装置验证所有的所述参与设备正确地运算了各自部分开放。由每个各自的验证器装置提供的每个各自部分开放解密值可以包括证明各验证器装置运算其各自部分开放的一指示,例如,使用零知识证明及 /或下面描述的过程。所述证明的指示可以例如在一个单一的信息中及/或作为元数据提供。例如,使用秘密共享过程(例如加总秘密共享),每个验证器装置得到自己的独特值ai、bi(在所述ECDSA的情况下,例如,(ai=k-1*r*d的各自份额)及(bi=k-1的各自份额)),并返回所述值bi+(ai*H(m)),其中H表示本文所述的一哈希函数,且m表示本文所述要签署的所述信息。ai及bi表示可以从所述信标装置等处获得的值及/或可以是预先定义的多个值。所述信标装置可以将值gai及gbi发送到所述请求器装置,其中g表示例如在实现例如ECDSA时曲线上的一个点,如本文所述。当所述数字签署的验证器失败时,导致所述失败的某些参与装置可以被检测到并被排除在进一步的信息签署之外。例如,对每个参与装置进行以下关系的验证:
其中:
R是所述第i个验证器发送的信息;
Ai=gai由所述信标发送到所述请求器;
Bi=gbi由所述信标发送到所述请求器。
当某一参与装置不符合所述关系时,所述参与装置可被指定为恶意的,并被排除在进一步签署信息之外。
可选地,只有当所述多个验证器装置的所有所述数量提供多个各自的部分开放解密值时(即N个中的N个),才会运算出所述信息的所述数字签署。应当注意的是,加总秘密共享与N个中的N个是相容的。
可替换地,当高于所述最小阈值的多个验证器装置的一数量提供各自部分开放解密值(即N个中的K个)时,所述信息的所述数字签署被运算出来。应当注意的是,加总秘密共享与N个中的K个不相容,因此应使用另一个过程(例如,如本文所述)。实现N个中的K个的技术挑战是,如果一黑客能够访问少于K个(例如两个)的验证器装置(例如,在10个中的6个的情况下),所述黑客可以使用相同的签署数据值(以多个其他验证器装置) 签署一第一信息及一第二信息。两次使用相同的签署数据值使所述黑客能够弄清所述私钥的情况。一般来说,对于N个中的K个的情况,所述黑客可以攻击所述多个验证器装置的一数量,用max(1,2K-N)表示,以便能够找出所述私钥。当K及N都很小或K接近N时(即为了运算效率,N选择K的操作很小),一个可能的解决方案是将所述多个验证器装置分成两组或更多组。为不同的组创建一个不同的钥匙,所述钥匙被分割成多个子钥匙。每个不同的钥匙都与一个不同的签署数据值相关。可替换地,为不同的组产生不同的签署数据值,其中所述请求器装置知道哪些验证器装置是哪个组的成员。在另一个解决方案中,它可以与划分成组的所述第一个解决方案结合起来,就是在需要提供各自的部分开放解密值以运算所述信息的所述数字签署的所述多个验证器装置的一总数中,定义一个验证器装置的数量的一最小安全级别。根据一组规则,例如,至少(K+N)/2个验证器装置,所述最小安全级别被提高到一最小阈值。例如,当K及/或N的所述数量很大时,例如,当K大于N的一半时,可以使用第二种解决方案。当所述第二种解决方案与分成组的第一种解决方案相结合时,其中每组具有的多个验证器装置的一数量被表示为A,定义所述最小阈值的所述规则集可以被表示为(K+A)/2。
在数学表现法中,所述信息的所述未加密签署是用以下公式运算的:
s=k-1*H(m)+k-1*H’(gk)*d
就数学表示而言,所述请求器装置验证(r,s)=(H'(gk),k-1*H(m)+k- 1*H'(gk)*d)是m的一有效签署。
在114,所述请求器装置可以提供所述信息的所述运算出的签署,例如,公布的、使其可公开访问的、提供给所述请求的第三方装置及/或存储在所述区块链中。
在数学表示方面,提供(r,s)。
现在参考图3,它是根据本发明的一些实施例,使用由一信标装置提供的签署数据及由一请求器装置提供的一个单一的请求会话以及由多个验证器装置中的每一个提供的一个单一的响应会话对一信息进行数字签署的数据流图。图3描述了多个装置之间的一整体系统级数据流,包括所述信标装置、所述请求器装置、多个验证器装置,以及可选地一第三方装置。图3 的数据流图的一个或多个特征可以对应于本文描述的其他特征,例如,参照图1的描述。图3所描述的数据流可以由参照图2描述的系统200的多个组件来实现。
在302,接收用于签署的一信息,例如,由第三方装置210(及/或另一装置)发送至请求器装置206,例如,如本文参照图1的104所描述。
在304,由信标装置204产生的一签署数据值被提供给多个验证器装置 208。所述签署数据值可以例如通过一加密过程及/或通过一秘密共享过程来提供,例如,如本文参考图1的102所描述。
需要注意的是,302及304可以彼此独立地执行,并且以不同的顺序执行,例如,304发生在302之前,302与304同时发生,及/或302及304 在不同的时间发生而不考虑彼此。
在306,用于签署的信息由请求器装置206在一个单一的请求会话中提供给多个验证器装置208,例如,如本文附图1的106所描述。
在308,所述多个验证器装置208中的每一个运算所述签署数据值及所述信息的一各自部分开放解密值,例如,如本文附图1的108所描述。
在310,由所述多个验证器装置208运算的多个所述部分开放解密值在一个单一的响应会话中被提供给请求器装置206,例如,如本文附图1的 110所描述。
在312,请求器装置206将收到的部分开放解密值汇总,以运算所述信息的所述数字签署,例如,如本文附图1的112所描述。
在314,请求器装置206例如向第三方装置210提供所述信息的所述数字签署,例如,如本文附图1的114所描述。
现在参考图4,图4是根据本发明的一些实施例,从所述信标装置的角度,使用一信标装置提供的签署数据对一信息进行数字签署的一方法的流程图。图4的所述方法的一个或多个特征可以对应于本文描述的其他特征,例如,附图1描述的特征。图4所描述的所述过程可以由附图2描述的系统200的多个组件实现。
在402,所述信标装置可以被连接到所述网络。所述信标装置可以是离线的,并连接到一网络连接节点,例如,连接到一热钱包的一冷钱包。所述信标装置可以通过被激活而连接到所述网络,例如,触发一初始化程序。
在404,所述信标装置产生一个或多个签署数据值。所述签署数据值可以定期地生成,及/或由所述初始化程序触发,如本文所述。单独的签署数据值可以定期地生成,及/或多个签署数据值可以一起生成,例如在启动时,如本文所述。
其他数据可以被生成,例如,如本文所述的公钥-私钥对。所述私钥可被分割成多个分割钥匙,如本文所述。
在406,所述签署数据值被提供给所述多个验证器装置,例如,使用所述加密过程及/或秘密共享过程,如本文所述。
其他数据,例如,所述多个分割钥匙可以提供给所述多个验证器装置,如本文所述。
现在参考图5,图5是根据本发明的一些实施例,从一请求器装置的角度,使用一信标装置提供的签署数据对一信息进行数字签署的一方法的流程图。图5的所述方法的一个或多个特征可以对应于本文描述的其他特征,例如,附图1描述的特征。图5所描述的所述过程可以由附图2描述的系统200的多个组件实现。
在502,所述请求器装置接收用于签署的所述信息,例如,来自一第三方装置。
在504,所述请求器装置在一个单一的请求会话中向多个验证器装置提供所述信息。
在506,所述请求器装置从所述多个验证器装置接收多个部分开放解密值(即从每个验证器装置接收各自的部分开放解密值)。
在508,所述请求器装置从所述收到的部分开放解密值运算出所述信息的所述数字签署。所述请求装置可以汇总所述收到的部分开放解密值以运算所述数字签署。
所述信息的一未加密签署可以从所述部分开放解密值运算出来。
在510,所述请求器装置可以验证所述数字签署是所述信息的一有效签署。
在512,所述数字签署被提供给例如所述信息的所述创始者以进行签署,例如所述第三方装置。
现在参考图6,它是根据本发明的一些实施例,从每个验证器装置的角度,使用一信标装置提供的签署数据对一信息进行数字签署的一方法的流程图。每个验证器装置可以执行图6的所述方法的一个或多个特征。图6的所述方法的一个或多个特征可以对应于本文描述的其他特征,例如,附图1 描述的特征。图6描述的所述过程可以由附图2描述的系统200的多个组件实现。
在602,每个验证器装置接收由所述信标产生的所述签署数据值,例如,通过一加密过程及/或通过一秘密共享过程。
其他数据可以被接收,例如,一各自的分割私钥及/或公钥,如本文所述。
在604,每个验证器装置在一个单一的请求会话中接收用于签署的所述信息。
在606,每一个各自的验证器装置可以在签署所述信息之前执行一个或多个验证过程。
可选地,每一个各自的验证器装置可以检查所述信息是否具备签署资格。每一个验证器装置可以执行它自己的独立检查,例如,使用它自己的规则集。需要注意的是,对于一些信息,一些验证器装置可以确定所述信息具备签署资格,而其他验证器装置可以确定所述信息不具备签署资格。
可替换地或额外地,每一个验证器装置可以检查所述信标装置是否签署所述签署数据值,以及所述签署数据值是否先前已被使用。
在608,每一个验证器装置运算所述签署数据值及所述信息的一各自部分开放解密值。
在610,每一个验证器装置在一个单一的响应会话中向所述请求器装置提供所述各自部分开放解密值。
本发明的各种实施例的描述是为了说明的目的而提出的,但并不打算详尽无遗或受限于所公开的实施例。对于本领域的普通技术人员来说,许多修改及变化是显而易见的,而不会偏离所描述的实施例的范围及精神。本文所使用的术语是为了最好地解释实施例的原理、实际应用或对市场上发现的技术的改进,或使本领域的普通技术人员能够理解本文所公开的实施例。
预计在本申请的一专利成熟期,许多相关的信息签署将被开发出来,且信息签署一词的范围旨在包括所有这些新技术的先验。
在此使用的术语“大约(about)”是指“±10%内”。
术语“包括(comprises)”、“包括(comprising)”、“包括 (includes)”、“包括(including)”、“具有(has)”、“具有 (having)”及其共轭物指“包括但不限于(includingbut not limited to)”。此术语包括术语“由…组成(consisting of)”及“基本上由…组成(consisting essentially of)”。
短语“基本上由…组成(consisting essentially of)”意味着所述组成物、方法或结构可以包括额外的成分、步骤及/或部分,但前提是这些额外的成分、步骤及/或部分不会实质性地改变所要求的组成物、方法或结构的基本及新颖特性。
正如本文所使用的,单数形式的“一(a)”、“一(an)”及“所述 (the)”包括复数参考,除非上下文有明确规定。例如,术语“一化合物”或“至少一化合物”可以包括多个化合物,包括其混合物。
词语“示范性(exemplary)”在这里是指“作为一个例子、实例或说明”。任何被描述为“示例性”的实施例不一定被理解为比其他实施例更优选或更有利,及/或排除对其他实施例特征的纳入。
词语“可选地(optionally)”在这里是指“在一些实施例中提供,而在其他实施例中不提供”。本发明的任何特定实施例都可以包括多个“可选的(optional)”特征,除非这些特征发生冲突。
在本申请中,本发明的各种实施例可以用范围的形式呈现。应该理解的是,以范围格式描述仅仅是为了方便和简洁,不应该被理解为对本发明的范围的僵硬限制。因此,对一个范围的描述应被视为已经具体公开了所有可能的子范围以及该范围内的单个数值。例如,对一个范围的描述,如从1到 6,应被视为具体披露了子范围,如从1到3,从1到4,从1到5,从2到 4,从2到6,从3到6等,以及该范围内的单个数字,例如,1、2、3、 4、5和6。无论范围的广度如何,这都适用。
每当这里指出一个数字范围,它的意思是包括所指出范围内的任何引用的数字(分数或积分)。短语“范围介于(range/ranging/ranges between)”一第一指示数字及一第二指示数字之间及“范围介于 (range/ranging/ranges from)”一第一指示数字“到(to)”一第二指示数字之间的范围在此可互换使用,意在包括第一和第二指示数字以及其间的所有分数和积分数字。
可以理解的是,本发明的某些特征,为了清楚起见,是在单独的实施例中描述的,也可以在单个实施例中组合提供。反之,为了简洁起见,在单一实施例的背景下描述的本发明的各种特征,也可以单独提供,或以任何合适的子组合提供,或在本发明的任何其他描述的实施例中合适地提供。在各种实施例的上下文中描述的某些特征不应视为这些实施例的基本特征,除非所述实施例没有这些要素就无法操作。
尽管本发明已经结合其具体实施例进行了描述,但显然,对于本领域的技术人员来说,许多替代方案、修改及变化都是显而易见的。因此,本发明的目的是包含所有属于所附权利要求的精神及广泛范围内的此类替代方案、修改及变化。
本说明书中提到的所有公开物、专利及专利申请案在此通过引用全部纳入本说明书,其程度与每个单独的公开物、专利或专利申请案被具体及单独指出通过引用纳入本说明书的程度相同。此外,本申请中对任何参考文献的引用或识别不应解释为承认所述参考文献可作为本发明的现有技术。在使用章节标题的情况下,它们不应解释为一定是限制性的。此外,本申请的任何优先权文件在此以参考引用整体的方式全部纳入本文。
Claims (36)
1.一种请求器装置,用于一信息的数字签署,其特征在于:包括:
至少一硬件处理器,执行一代码,用于:
在一个单一的请求会话中,通过一网络向多个验证器装置中的每一个传送用于其签署的所述信息;
其中一信标装置运算并通过所述网络向多个验证器装置中的每一个传送由所述信标装置运算并签署的一签署数据值;
在一个单一的响应会话中,从所述多个验证器装置中的每一个接收为所述签署数据值及所述信息运算的各自的一部分开放解密值;以及
汇总从所述多个验证器装置接收的多个所述部分开放解密值,以运算出所述信息的所述数字签署。
2.根据权利要求1所述的请求器装置,其特征在于:还包括代码,用于在所述数字签署未被验证时,对于所述多个验证器装置中的每一个各自的验证器装置,通过比较使用由所述信标装置提供的所述各自的验证器装置的多个独特值及使用所述信息运算的一第一值与使用所述各自的验证器装置基于所述独特值及所述信息提供的证明的一指示运算的一第二值,识别所述多个验证器装置中的何者是恶意的。
3.根据权利要求1所述的请求器装置,其特征在于:还包括代码,用于验证通过汇总从所述多个验证器装置接收的多个所述部分开放解密值运算的所述数字签署是所述信息的一有效签署。
4.根据权利要求1所述的请求器装置,其特征在于:还包括代码,用于从多个所述部分开放解密值运算所述信息的一未加密签署。
5.根据权利要求1所述的请求器装置,其特征在于:所述请求器装置是所述多个验证器装置的其中之一。
6.一种系统,用于一信息的数字签署,其特征在于:包括:
多个验证器装置,每一个所述验证器装置包括至少一硬件处理器,执行一代码,用于:
通过一网络从一信标装置接收由所述信标装置运算并签署的一签署数据值;
在一个单一的请求会话中,通过所述网络从一请求器装置接收用于其签署的所述信息;
运算所述签署数据值及所述信息的一各自部分开放解密值;以及在一个单一的响应会话中,传送所述各自部分开放解密值至所述请求器装置;
其中,所述请求器装置汇总从所述多个验证器装置接收的多个部分开放解密值,以运算所述信息的所述数字签署。
7.根据权利要求6所述的系统,其特征在于:还包括代码,用于检查所述信息是否具备由所述多个验证器装置中的每一个各自的验证器装置根据一各自的规则集签署的资格。
8.根据权利要求6所述的系统,其特征在于:还包括代码,用于验证所述信标装置签署所述签署数据值,以及验证所述签署数据值以前未被使用过。
9.一种系统,用于一信息的数字签署,其特征在于:包括:
(A)一信标装置的至少一硬件处理器,执行一代码,用于:
运算并通过一网络向多个验证器装置中的每一个传送由所述信标装置运算并签署的一签署数据值;
(B)多个验证器装置,每一个所述验证器装置包括至少一硬件处理器,执行一代码,用于:
在一个单一的请求会话中,通过所述网络从一请求器装置接收用于其签署的所述信息;
为所述签署数据值及所述信息运算一各自部分开放解密值;以及
在一个单一的响应会话中,传送所述各自部分开放解密值至所述请求器装置,其中所述请求器装置汇总多个部分开放解密值,以运算所述信息的所述数字签署。
10.根据权利要求9所述的系统,其特征在于:还包括代码,用于运算并通过一网络向所述多个验证器装置中的每一个传送一公钥以及多个分割私钥中的一各自分割私钥,其中所述签署数据值包括由所述信标装置使用一数字签署算法过程运算出的一数字签署算法私钥,其中所述数字签署算法私钥是以下的至少一者:以对应于所述私钥的所述公钥进行加密,所述私钥被分割成基于一加密过程运算出的所述多个分割私钥,所述加密过程是加法同态的且包括一阈值解密过程;以及
所述多个验证器装置中的每一个还包括代码,用于使用应用于所述签署数据值及所述信息的所述各自分割私钥运算所述各自部分开放解密值。
11.根据权利要求9所述的系统,其特征在于:一签署数据值及一私钥通过实现多个加密值的一乘法操作被分割且被共享至使用满足等级1同态加总秘密共享的所述属性的一秘密共享过程的所述多个验证器装置中的每一个。
12.根据权利要求11所述的系统,其特征在于:被分割且被共享的所述签署数据值是从多个签署数据值中被选择出来的,且被分割且被共享的所述私钥是从使用于运算所述多个各自部分开放解密值的多个私钥中被选择出来的,且所述多个验证器装置不知道被选择的特定所述签署数据值及特定所述私钥。
13.根据权利要求9所述的系统,其特征在于:所述签署数据值被共享至使用与加法同态的一秘密共享过程的所述多个验证器装置中的每一个;以及
所述验证器装置中的每一个还包括代码,用于基于所述秘密共享过程运算所述各自部分开放解密值。
14.根据权利要求10所述的系统,其特征在于:所述多个分割私钥的一数量与所述多个验证器装置的一数量相对应,并且只有当所述多个验证器装置的所有所述数量提供多个各自部分开放解密值时,运算出所述信息的所述数字签署。
15.根据权利要求10所述的系统,其特征在于:还包括定义用于所述信息的所述数字签属的运算所需的验证器装置的一总数中的验证器装置的一数量的一最小安全级别,根据一组规则将所述最小安全级别增加到一最小阈值,其中所述多个分割私钥的一数量与所述验证器装置的所述总数相对应,且当所述多个验证器装置的所述数量提供高于所述最小阈值的所述多个各自部分开放解密值时,运算出所述信息的所述数字签署。
16.根据权利要求10所述的系统,其特征在于:还包括将所述多个验证器装置的一总数分为至少两组,由所述信标装置为所述至少两组中的每一组提供一独特签署数据值,其中只有当每一组的所有所述多个验证器装置提供使用所述至少两组中的每一组的多个各自独特签署数据值运算的多个各自部分开放解密值时,运算所述信息的所述数字签署。
17.根据权利要求9所述的系统,其特征在于:
用于其签署的所述信息由一请求器装置在一个单一的请求会话中通过所述网络传送至所述多个验证器装置中的每一个;
所述签署数据值及所述信息的一各自部分开放解密值由所述请求器装置在一个单一的响应会话中从所述多个验证器装置中的每一个接收;以及
从所述多个验证器装置接收的所述多个部分开放解密值由所述请求器装置汇总以运算所述信息的所述数字签署。
18.根据权利要求10所述的系统,其特征在于:所述数字签署算法过程包括一椭圆曲线数字签署算法。
19.根据权利要求10所述的系统,其特征在于:所述数字签署算法过程包括一爱德华兹曲线数字签署算法过程。
20.根据权利要求10所述的系统,其特征在于:所述签署数据值包括以下组成部分:(i)以对应于所述私钥的所述公钥加密的一随机值的一倒数,所述私钥被分割成基于一加密过程运算出的所述多个分割私钥,所述加密过程是加法同态的且包括一阈值解密过程;以及(ii)以对应于所述私钥的所述公钥加密的下述内容的一加密,所述私钥被分割成基于一加密过程运算出的所述多个分割私钥,所述加密过程是加法同态的且包括一阈值解密过程:所述随机值的所述倒数与被提高到所述随机值的幂的一已知常数点的一哈希值的一乘积,以及由所述信标装置使用一数字签署算法过程运算出的一数字签署算法私钥。
21.根据权利要求10所述的系统,其特征在于:所述签署数据值包括以下组成部分:(i)使用与加法同态的一秘密共享过程将一随机值的一倒数分割成多个第一组件;以及(ii)使用所述秘密共享过程将下述内容分割成多个第二组件:所述随机值的所述倒数与被提高到所述随机值的幂的所述已知常数点的所述哈希值的一乘积以及由所述信标装置使用爱德华兹曲线数字签署算法运算出的一爱德华兹曲线数字签署算法私钥,其中所述多个验证器装置中的每一个被提供有一各自的第一及第二组件。
22.根据权利要求21所述的系统,其特征在于:所述签署数据值还包括:
(iii)被提高到所述随机值的幂的所述已知常数点的所述哈希值。
23.根据权利要求10所述的系统,其特征在于:所述签署数据值的所述数字签署算法私钥是使用能够使用一推导指数值从一基础数字签署算法私钥推导出多个数字签署算法私钥的一层次确定性树生成的,且其中所述推导指数值被提供至所述多个验证器装置,用于本地运算所述签署数据值。
24.根据权利要求23所述的系统,其特征在于:所述数字签署算法私钥包括一爱德华兹曲线数字签署算法私钥,且所述层次确定性启用从所述基础数字签署算法私钥推导出多个数字签署算法私钥包括从所述基础爱德华兹曲线数字签署算法私钥推导出多个爱德华兹曲线数字签署算法私钥。
25.根据权利要求23所述的系统,其特征在于:所述数字签署算法私钥包括一椭圆曲线数字签署算法私钥,且所述层次确定性启用从所述基础数字签署算法私钥推导出多个数字签署算法私钥包括从所述基础椭圆曲线数字签署算法私钥推导出多个椭圆曲线数字签署算法私钥。
26.根据权利要求10所述的系统,其特征在于:所述公钥及被分割成所述多个分割私钥的所述私钥基于一阈值解密过程被运算;以及
还包括代码,用于:
运算多个数字签署算法钥匙对;
加密所述多个数字签署算法钥匙对中的每一个私钥,以创建多个加密私钥;
提供所述多个加密私钥至所述多个验证器装置;
选择所述多个加密私钥中的一个,其中所述签署数据值不包括所述选择的私钥;
提供所述选择的加密私钥的一指示至所述多个验证器装置,其中所述部分开放解密值通过使用所述选择的加密私钥及不包括所述选择的私钥的所述签署数据值被运算。
27.根据权利要求10所述的系统,其特征在于:所述数字签署算法过程包括爱德华兹曲线数字签署算法,以及
还包括代码,用于:
运算多个爱德华兹曲线数字签署算法钥匙对;
加密所述多个爱德华兹曲线数字签署算法钥匙对中的每一个私钥,以创建多个加密私钥;
提供所述多个加密私钥至所述多个验证器装置;
选择所述多个加密私钥中的一个,其中所述签署数据值不包括所述选择的私钥;
提供所述选择的加密私钥的一指示至所述多个验证器装置,其中所述部分开放解密值通过使用所述选择的加密私钥及不包括所述选择的私钥的所述签署数据值被运算。
28.根据权利要求10所述的系统,其特征在于:所述数字签署算法过程包括椭圆曲线数字签署算法,以及
还包括代码,用于:
运算多个椭圆曲线数字签署算法钥匙对;
加密所述多个椭圆曲线数字签署算法钥匙对中的每一个私钥,以创建多个加密私钥;
提供所述多个加密私钥至所述多个验证器装置;
选择所述多个加密私钥中的一个,其中所述签署数据值不包括所述选择的私钥;
提供所述选择的加密私钥的一指示至所述多个验证器装置,其中所述部分开放解密值通过使用所述选择的加密私钥及不包括所述选择的私钥的所述签署数据值被运算。
29.根据权利要求28所述的系统,其特征在于:还包括:
分割多个加密私钥;
选择分割的所述多个加密私钥中的任意一个;
分割多个签署数据值;
选择分割的所述签署数据值中的任意一个;以及
通过实现多个加密值的一乘法操作,提供选择的分割的所述加密私钥以及选择的分割的所述签署数据值至使用满足等级1同态秘密共享的所述属性的一秘密共享过程的所述多个验证器装置。
30.根据权利要求29所述的系统,其特征在于:所述等级1同态秘密共享包括等级1同态加总秘密共享。
31.根据权利要求9所述的系统,其特征在于:所述信标装置在不被所述信息触发的情况下,运算并传送所述签署数据值的多个实例。
32.根据权利要求9所述的系统,其特征在于:所述信标装置以一单向的方式连接至所述网络,使得流量从所述信标装置传送到所述网络,但在从所述网络到所述信标装置的一方向上不传送流量。
33.根据权利要求9所述的系统,其特征在于:所述信标装置被实现为一冷离线钱包,所述冷离线钱包连接至被实现为所述请求器装置的一热钱包。
34.根据权利要求9所述的系统,其特征在于:所述信息包括加密货币的一交易,以作为一记录存储在一区块链中。
35.根据权利要求9所述的系统,其特征在于:所述信标装置重复地运算并传送所述签署值。
36.根据权利要求10所述的系统,其特征在于:在一初始化过程后,所述信标装置运算并传送多个不同公钥、多个相应私钥及多个签署数据值的一定义数量的多个实例,其中所述多个验证器装置签署所述预定数量的信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/559,693 US11088851B2 (en) | 2019-09-04 | 2019-09-04 | Systems and methods for signing of a message |
US16/559,693 | 2019-09-04 | ||
PCT/IL2020/050949 WO2021044411A1 (en) | 2019-09-04 | 2020-09-01 | Systems and methods for signing of a message |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114586313A true CN114586313A (zh) | 2022-06-03 |
CN114586313B CN114586313B (zh) | 2024-05-14 |
Family
ID=74680506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080072249.7A Active CN114586313B (zh) | 2019-09-04 | 2020-09-01 | 用于签署一信息的系统及方法 |
Country Status (8)
Country | Link |
---|---|
US (3) | US11088851B2 (zh) |
EP (1) | EP4026273A4 (zh) |
JP (1) | JP2022547876A (zh) |
CN (1) | CN114586313B (zh) |
AU (1) | AU2020341193A1 (zh) |
CA (1) | CA3152501A1 (zh) |
IL (1) | IL291042A (zh) |
WO (1) | WO2021044411A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114781378A (zh) * | 2022-06-21 | 2022-07-22 | 江苏荣泽信息科技股份有限公司 | 基于区块链的企业数据治理方法及系统 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11088851B2 (en) * | 2019-09-04 | 2021-08-10 | Gk8 Ltd | Systems and methods for signing of a message |
GB2586997B (en) * | 2019-09-11 | 2022-05-11 | PQ Solutions Ltd | Data communication between a group of users |
US11038683B1 (en) * | 2020-01-24 | 2021-06-15 | Via Science, Inc. | Secure data processing |
IL272516A (en) * | 2020-02-06 | 2021-08-31 | Google Llc | Prevention of data manipulation using multiple aggregation servers |
GB2597123B (en) * | 2020-05-14 | 2023-08-30 | Hung Hung Chiu | A method for creating a hierarchical threshold signature digital asset wallet |
CN113726504A (zh) * | 2021-07-13 | 2021-11-30 | 中国电力科学研究院有限公司 | 一种电力数据签名聚合方法及系统 |
US11677552B2 (en) * | 2021-09-09 | 2023-06-13 | Coinbase Il Rd Ltd. | Method for preventing misuse of a cryptographic key |
CN113987594B (zh) * | 2021-10-26 | 2024-08-02 | 深圳前海微众银行股份有限公司 | 一种区块链签名管理方法及装置 |
US20230275932A1 (en) * | 2022-02-25 | 2023-08-31 | Vmware, Inc. | Validation of security standard implementation for applications in protected execution environment |
CN115396086A (zh) * | 2022-06-20 | 2022-11-25 | 中国联合网络通信集团有限公司 | 身份认证方法、装置、设备及存储介质 |
WO2024030122A1 (en) * | 2022-08-02 | 2024-02-08 | WENEW, Inc. | Methods and systems for linking digital wallets on a blockchain network |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8634559B2 (en) * | 2006-09-08 | 2014-01-21 | Certicom Corp. | Aggregate signature schemes |
US20180262341A1 (en) * | 2017-03-10 | 2018-09-13 | Fmr Llc | Secure Firmware Transaction Signing Platform Apparatuses, Methods and Systems |
CN108781161A (zh) * | 2016-02-23 | 2018-11-09 | 区块链控股有限公司 | 用于控制和分发数字内容的区块链实现的方法 |
CN108833115A (zh) * | 2018-06-15 | 2018-11-16 | 中山大学 | 一种基于区块链的多方公平pdf合同签署方法 |
US20180343114A1 (en) * | 2015-11-24 | 2018-11-29 | Adi BEN-ARI | A system and method for blockchain smart contract data privacy |
US20180367316A1 (en) * | 2015-07-14 | 2018-12-20 | Fmr Llc | Seed splitting and firmware extension for secure cryptocurrency key backup, restore, and transaction signing platform apparatuses, methods and systems |
CN109756485A (zh) * | 2018-12-14 | 2019-05-14 | 平安科技(深圳)有限公司 | 电子合同签署方法、装置、计算机设备及存储介质 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6845447B1 (en) * | 1998-11-11 | 2005-01-18 | Nippon Telegraph And Telephone Corporation | Electronic voting method and system and recording medium having recorded thereon a program for implementing the method |
ATE445942T1 (de) * | 2003-10-06 | 2009-10-15 | Ibm | Dokumentierung sicherheitsbezogener aspekte beim prozess von containertransporten |
US20060143701A1 (en) * | 2004-12-23 | 2006-06-29 | Cisco Technology, Inc. | Techniques for authenticating network protocol control messages while changing authentication secrets |
US7596697B2 (en) * | 2005-02-14 | 2009-09-29 | Tricipher, Inc. | Technique for providing multiple levels of security |
US8326996B2 (en) * | 2006-06-02 | 2012-12-04 | Oracle International Corporation | Method and apparatus for establishing multiple sessions between a database and a middle-tier client |
US7917747B2 (en) * | 2007-03-22 | 2011-03-29 | Igt | Multi-party encryption systems and methods |
JP2010050760A (ja) * | 2008-08-22 | 2010-03-04 | Hitachi Ltd | コンテンツ保護装置、および、コンテンツ利用装置 |
US8898468B2 (en) * | 2009-12-08 | 2014-11-25 | Bae Systems Information And Electronic Systems Integration Inc. | Method for ensuring security and privacy in a wireless cognitive network |
JP5447544B2 (ja) * | 2012-01-27 | 2014-03-19 | 沖電気工業株式会社 | 委託パラメータ情報生成装置、共有鍵合成装置、署名情報合成装置、通信装置、鍵共有被計算委託装置、署名情報生成被計算委託装置、被計算委託装置、鍵共有システム、署名情報検証システム及び通信システム |
EP2793194B1 (de) * | 2013-04-19 | 2017-03-15 | Kapsch TrafficCom AG | Verfahren zum Aufladen einer Onboard-Unit mit einem elektronischen Ticket |
WO2014177581A1 (en) * | 2013-04-30 | 2014-11-06 | Thomson Licensing | Threshold encryption using homomorphic signatures |
US10834290B2 (en) * | 2013-10-10 | 2020-11-10 | Elwha Llc | Methods, systems, and devices for delivering image data from captured images to devices |
US10019703B2 (en) * | 2014-05-13 | 2018-07-10 | Google Llc | Verifying a secure connection between a network beacon and a user computing device |
EP3155833B1 (en) * | 2014-06-13 | 2019-01-02 | Philips Lighting Holding B.V. | Localization based on network of wireless nodes |
US11627639B2 (en) * | 2015-01-26 | 2023-04-11 | Ievgen Verzun | Methods and apparatus for HyperSecure last mile communication |
US10149159B1 (en) * | 2015-03-19 | 2018-12-04 | Proxidyne, Inc. | Trusted beacon system and method |
AU2016402775A1 (en) * | 2016-04-15 | 2018-09-27 | Qualcomm Incorporated | Techniques for managing secure content transmissions in a content delivery network |
US10333705B2 (en) * | 2016-04-30 | 2019-06-25 | Civic Technologies, Inc. | Methods and apparatus for providing attestation of information using a centralized or distributed ledger |
US10411897B2 (en) * | 2017-02-17 | 2019-09-10 | Factom, Inc. | Secret sharing via blockchains |
US10817873B2 (en) * | 2017-03-22 | 2020-10-27 | Factom, Inc. | Auditing of electronic documents |
US10270599B2 (en) * | 2017-04-27 | 2019-04-23 | Factom, Inc. | Data reproducibility using blockchains |
US11057819B2 (en) * | 2017-09-22 | 2021-07-06 | Intel Corporation | Physical web beacon, client and proxy |
US20190140819A1 (en) * | 2017-11-08 | 2019-05-09 | Secret Double Octopus Ltd | System and method for mekle puzzles symeteric key establishment and generation of lamport merkle signatures |
GB201720753D0 (en) | 2017-12-13 | 2018-01-24 | Nchain Holdings Ltd | Computer-implemented system and method |
US10219106B1 (en) * | 2018-01-26 | 2019-02-26 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Secure BLE broadcast system for location based service |
US12047501B2 (en) * | 2018-06-01 | 2024-07-23 | Roland Tegeder | System and method for providing an authorised third party with overt ledger secured key escrow access to a secret |
KR102208891B1 (ko) * | 2018-11-07 | 2021-01-29 | 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. | 블록체인 기밀 트랜잭션에서 암호화된 트랜잭션 정보 복구 |
US11088851B2 (en) | 2019-09-04 | 2021-08-10 | Gk8 Ltd | Systems and methods for signing of a message |
-
2019
- 2019-09-04 US US16/559,693 patent/US11088851B2/en active Active
-
2020
- 2020-09-01 AU AU2020341193A patent/AU2020341193A1/en active Pending
- 2020-09-01 JP JP2022514614A patent/JP2022547876A/ja active Pending
- 2020-09-01 WO PCT/IL2020/050949 patent/WO2021044411A1/en unknown
- 2020-09-01 CA CA3152501A patent/CA3152501A1/en active Pending
- 2020-09-01 EP EP20860262.3A patent/EP4026273A4/en active Pending
- 2020-09-01 CN CN202080072249.7A patent/CN114586313B/zh active Active
-
2021
- 2021-08-09 US US17/396,831 patent/US11677566B2/en active Active
-
2022
- 2022-03-01 IL IL291042A patent/IL291042A/en unknown
-
2023
- 2023-06-12 US US18/208,342 patent/US12022007B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8634559B2 (en) * | 2006-09-08 | 2014-01-21 | Certicom Corp. | Aggregate signature schemes |
US20180367316A1 (en) * | 2015-07-14 | 2018-12-20 | Fmr Llc | Seed splitting and firmware extension for secure cryptocurrency key backup, restore, and transaction signing platform apparatuses, methods and systems |
US20180343114A1 (en) * | 2015-11-24 | 2018-11-29 | Adi BEN-ARI | A system and method for blockchain smart contract data privacy |
CN108781161A (zh) * | 2016-02-23 | 2018-11-09 | 区块链控股有限公司 | 用于控制和分发数字内容的区块链实现的方法 |
US20180262341A1 (en) * | 2017-03-10 | 2018-09-13 | Fmr Llc | Secure Firmware Transaction Signing Platform Apparatuses, Methods and Systems |
CN108833115A (zh) * | 2018-06-15 | 2018-11-16 | 中山大学 | 一种基于区块链的多方公平pdf合同签署方法 |
CN109756485A (zh) * | 2018-12-14 | 2019-05-14 | 平安科技(深圳)有限公司 | 电子合同签署方法、装置、计算机设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
SHIGERU FUJIMURA 等: "Bright:a concept for a decentralized right management system based on blockchain", IEEE, pages 345 - 346 * |
STEVEN GOLDFEDER 等: "Securing Bitcoin wallets via threshold signatures", HTTP://WWW.CS.PRINCETON.EDU, pages 4 * |
王子鹏;李璐璐;: "基于区块链技术的电子文件管理模式研究", 浙江档案, no. 02 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114781378A (zh) * | 2022-06-21 | 2022-07-22 | 江苏荣泽信息科技股份有限公司 | 基于区块链的企业数据治理方法及系统 |
CN114781378B (zh) * | 2022-06-21 | 2022-09-13 | 江苏荣泽信息科技股份有限公司 | 基于区块链的企业数据治理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US11677566B2 (en) | 2023-06-13 |
EP4026273A1 (en) | 2022-07-13 |
CA3152501A1 (en) | 2021-03-11 |
US12022007B2 (en) | 2024-06-25 |
US20210367793A1 (en) | 2021-11-25 |
WO2021044411A1 (en) | 2021-03-11 |
CN114586313B (zh) | 2024-05-14 |
US20210067345A1 (en) | 2021-03-04 |
JP2022547876A (ja) | 2022-11-16 |
US20230318850A1 (en) | 2023-10-05 |
IL291042A (en) | 2022-05-01 |
US11088851B2 (en) | 2021-08-10 |
AU2020341193A1 (en) | 2022-04-14 |
EP4026273A4 (en) | 2023-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114586313B (zh) | 用于签署一信息的系统及方法 | |
JP7202358B2 (ja) | 閾ボールトを生成する、コンピュータにより実施される方法 | |
JP7301039B2 (ja) | 閾値デジタル署名方法及びシステム | |
Wang et al. | Privacy-preserving public auditing for data storage security in cloud computing | |
TWI821248B (zh) | 用以移轉數位資產支配權之電腦實施方法及系統 | |
Ch et al. | An efficient signcryption scheme with forward secrecy and public verifiability based on hyper elliptic curve cryptography | |
WO2018232603A1 (en) | SECURE COMPUTERIZED CALCULATION | |
JP2021510954A (ja) | デジタル署名されたデータを取得するためのコンピュータにより実施される方法及びシステム | |
US10630476B1 (en) | Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems | |
CN112417489B (zh) | 数字签名的生成方法、装置和服务器 | |
ALmarwani et al. | An effective, secure and efficient tagging method for integrity protection of outsourced data in a public cloud storage | |
Shabisha et al. | Elliptic curve qu-vanstone based signcryption schemes with proxy re-encryption for secure cloud data storage | |
Ullah et al. | A novel trusted third party based signcryption scheme | |
Srivastava et al. | Integration of quantum computing and blockchain technology: a cryptographic perspective | |
Naresh et al. | Provably secure group key agreement protocol based on ECDH with integrated signature | |
Al-Zubi et al. | Efficient signcryption scheme based on El-Gamal and Schnorr | |
Yang et al. | A lightweight delegated private set intersection cardinality protocol | |
JP2023522748A (ja) | 秘密共有を伴う(ec)dsaしきい値署名 | |
CN115336224A (zh) | 自适应抗攻击分布式对称加密 | |
US10880278B1 (en) | Broadcasting in supersingular isogeny-based cryptosystems | |
Doshi | An enhanced approach for CP-ABE with proxy re-encryption in IoT paradigm | |
Chen et al. | Blockchain as a CA: A provably secure signcryption scheme leveraging blockchains | |
Yakubu et al. | Blockchain-based privacy and security model for transactional data in large private networks | |
Ricci et al. | Privacy-enhancing group signcryption scheme | |
Berenjian | Encryption-Based Secure Protocol Design for Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20231009 Address after: New York, USA Applicant after: Galaxy Digital Trading Co.,Ltd. Address before: Tel Aviv, Israel Applicant before: Gk8 Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |