CN117938391A - 多方计算数字签名装置以及方法 - Google Patents
多方计算数字签名装置以及方法 Download PDFInfo
- Publication number
- CN117938391A CN117938391A CN202310564767.6A CN202310564767A CN117938391A CN 117938391 A CN117938391 A CN 117938391A CN 202310564767 A CN202310564767 A CN 202310564767A CN 117938391 A CN117938391 A CN 117938391A
- Authority
- CN
- China
- Prior art keywords
- personal
- key
- user
- private key
- mpc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 47
- 239000012634 fragment Substances 0.000 claims abstract description 55
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000001010 compromised effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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/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
-
- 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
-
- 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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- 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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
-
- 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/3226—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 a predetermined code, e.g. password, passphrase or PIN
- H04L9/3231—Biological data, e.g. fingerprint, voice or retina
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biodiversity & Conservation Biology (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Collating Specific Patterns (AREA)
Abstract
本发明涉及一种多方计算数字签名装置,所述装置包括:个人私钥生成部,用于生成对应于用户的个人私钥;个人私钥分片生成部,对所述生成的个人私钥进行分片,以生成多个分片;个人分布式密钥生成部,利用至少一人其他用户的共享的个人私钥分片中的一部分和所述生成的多个个人私钥分片中的一部分,来生成对应于所述用户的个人分布式密钥;以及共同公钥生成部,基于所述至少一人其他用户的个人分布式密钥和所述用户的个人分布式密钥生成共同的公钥,通过对每个用户的个人私钥进行分片后,再次将所述分片后的个人私钥的一部分共享给每个用户,然后生成个人分布式密钥,从而,可以防止部分用户的私钥被泄露或共同的私钥被泄漏而引起的事故。
Description
技术领域
本发明涉及一种多方计算数字签名装置,更具体地,涉及一种对每个用户的个人私钥进行分片后,再次将所述分片后的个人私钥的一部分共享给每个用户,然后生成个人分布式密钥,从而,可以防止部分用户的个人分布式密钥被泄露或共同的整体私钥被泄漏而引起的事故的多方计算数字签名装置及方法。
背景技术
硬件安全模块(Hardware Security Module,以下,HSM)是专门为安全密钥存储和加密处理而设计的物理计算设备。简而言之,HSM旨在保护密钥的机密性。当密钥在安全硬件环境中时,可以使用密钥执行工作。
出于加密货币目的,HSM用于存储用于交易签名和有效性验证的私钥。HSM可以连接到网络,但在离线模式下也可以用于保护完全与互联网断开连接的钱包(还称为“冷存储”)。
多重签名(Multi-Signature)是一种多个管理员为了交易而对加密货币钱包生成多个密钥,用多个密钥签名时达成交易的签名方式。
当应用多重签名技术时,为了货币交易必须多个管理员参与交易签名。即,必须用多人拥有的多个密钥进行签名才能进行交易。使用多重签名方式时,若多个密钥中的一个被黑客攻击或丢失,就不能使用一个密钥任意生成交易。由于只有在有多个签名时才会生成交易,因此,多重签名最近被视为一种可以防止加密货币被盗的技术。
多方计算(Multi-party computation,以下,MPC)是指互不信任的多个人不共享各自的输入值,而输出经加密的输入值的计算结果。MPC是一种多个参与者在不知道彼此的输入值的情况下安全地参与函数的运算,并在不传递敏感信息的情况下,能证明自己的身份或内容的技术。
同态加密(Homomorphic Encryption)是一种可以在加密数据的状态下进行运算的加密技术。
零知识证明(Zero-Knowledge Proof)是一种在个人(prover)不公开自己持有的的秘密信息的情况下,可以向对方即验证者(verifier)证明已知道信息的加密体系。
以往,由于安全密钥管理的责任在于个人,因此,频繁地发生丢失、黑客攻击和管理负担的问题,并且,当分散在每个用户的加密密钥被暴露时,存在安全性变脆弱的问题。
发明内容
技术问题
因此,本发明首先要解决的问题在于,提供一种对每个用户的个人私钥进行分片后,再次将所述分片后的个人私钥的一部分共享给每个用户,然后生成个人分布式密钥,从而,可以防止部分用户的个人分布式密钥被泄露或共同的整体私钥被泄漏而引起的事故的多方计算数字签名装置。
本发明所要解决的第二个问题在于,提供一种通过对个人分布式密钥进行加密,即使所有用户终端都被黑,也可以防止个人分布式密钥被泄露的多方计算数字签名方法。
此外,本发明提供一种计算机可读记录介质,在所述介质上记录有用于在计算机上执行上述方法的程序。
解决问题的手段
本发明为了达成所述第一目的,提供一种多方计算数字签名装置,其中,包括:个人私钥生成部,用于生成对应于用户的个人私钥;个人私钥分片生成部,对所述生成的个人私钥进行分片,以生成多个分片;个人分布式密钥生成部,利用至少一人其他用户的共享的个人私钥分片中的一部分和所述生成的多个个人私钥分片中的一部分,来生成对应于所述用户的个人分布式密钥;以及共同公钥生成部,基于所述至少一人其他用户的个人分布式密钥和所述用户的个人分布式密钥生成共同的公钥。
根据本发明的一实施例,优选地,所述用户的个人分布式密钥由另外的加密密钥进行加密。
而且,所述个人分布式密钥可通过所述用户的输入加密密钥或个人生物信息进行加密。
根据本发明的其他实施例,优选地,所述共同公钥生成部,通过利用所述至少一人其他用户的个人分布式密钥运算的结果值和使用所述用户的个人分布式密钥运算的结果值,来生成共同的公钥。
根据本发明的其他实施例,还可以包括:签名部,从外部服务器接收交易签名请求,并用所述用户的个人分布式密钥进行签名;以及联合签名值导出部,组合用所述个人分布式密钥签名的签名值和所述至少一人其他用户的共享的签名值来导出联合签名值,通过使用所述共同的公钥验证所述导出的联合签名值,从而,确认所述交易的有效性。
本发明为了达成所述第二目的,提供一种多方计算数字签名方法,其中,包括:生成对应于用户的个人私钥的步骤;对所述生成的个人私钥进行分片,以生成多个分片的步骤;利用至少一人其他用户的共享的个人私钥分片中的一部分和所述生成的多个个人私钥分片中的一部分,来生成对应于所述用户的个人分布式密钥的步骤;以及基于所述至少一人其他用户的个人分布式密钥和所述用户的个人分布式密钥生成共同的公钥的步骤。
根据本发明的一实施例,还可以包括:从外部服务器接收交易签名请求,并用所述用户的个人分布式密钥进行签名的步骤;以及组合用所述个人分布式密钥签名的签名值和所述至少一人其他用户的共享的签名值来导出联合签名值的步骤,通过使用所述共同的公钥验证所述导出的联合签名值,从而,确认所述交易的有效性。
本发明为了达成其他目的,提供一种计算机可读记录介质,其中记录有用于在计算机上执行上述多方计算数字签名方法的程序。
发明效果
根据本发明,为了在多个用户之间执行金融交易,不必所有用户都参与,而可以仅通过一部分用户的签名使其他用户作为受益者进行金融交易。
根据本发明,可以提供一种金融交易方法,所述方法通过对个人分布式密钥进行加密,即使所有用户终端都被黑,也可以防止个人分布式密钥被泄露。
附图说明
图1是根据本发明的一实施例的包括多方计算数字签名装置的整个系统结构图。
图2是示出根据本发明的一实施例的多方计算数字签名方法中通过对个人私钥进行分片生成共同的公钥的过程的示意图。
图3是根据本发明的其他实施例的包括多方计算数字签名装置的整个系统结构图。
图4是示出根据本发明的其他实施例的使用个人分布式密钥进行签名的过程的图。
图5示出根据本发明的其他实施例的使用按每个用户存储的个人分布式密钥分片进行签名的过程。
图6示出根据本发明的其他另一实施例的用户不具有一个私钥而分成几个个人分布式密钥分散在运营商系统中所包括的多个钱包服务器的状态。
图7是根据本发明的一实施例的多方计算数字签名方法的流程图。
图8是根据本发明的其他实施例的多方计算数字签名方法的流程图。
具体实施方式
下面,参照附图详细说明本发明的优选实施例使得本发明所属领域的技术人员能够容易实施。但是,这些实施例是用于具体说明本发明的,本发明的范围并不局限于此是对本领域的技术人员来说是明确的。
为了明确本发明所要解决的课题解决方案,参照附图通过本发明的优选实施例将详细说明本发明的结构,但是,应注意对图中的构成要素标注的图面符号时,即便是在不同的图中,对相同的构成要素也尽量标注相同的符号,并且需要对该图进行说明时,可以引用其他图面的构成要素。并且,在详细说明本发明的优选实施例的动作原理时,若判断对相关的公知功能或结构的具体说明以及此外的内容会使本发明的要旨不明确,则省略对其的详细说明。
在本说明书中所使用的术语仅用于说明特定实施例,并不旨在限制本发明。只要未在文脉上明确表示其他含义,单数的表达可包括复数的表达。在本说明书中,“包括”或“具有”等术语应理解为指定说明书上记载的特征、数字、步骤、动作、构成要素、部件或这些组合的存在,而并不事先排除一个或一个以上的其他特征或数字、步骤、动作、构成要素、部件或这些组合的存在或附加可能性。
图1是包括根据本发明的一实施例的多方计算数字签名装置的整个系统的结构图。
参考图1,包括多方计算数字签名装置的整个系统,包括:第一客户端110、第一MPC服务器140、第二MPC服务器150、第三MPC服务器160及MPC管理服务器200。
第一MPC服务器140,包括:个人私钥生成部141、个人私钥分片生成部142、收发部143、个人分布式密钥生成部144、存储部145,及共同公钥生成部146。尽管图1示出了第一MPC服务器140的详细结构,但是第二MPC服务器150和第三MPC服务器160也同样构成,并且MPC服务器的数量不限于3个。
MPC管理服务器200确认与第一MPC服务器140、第二MPC服务器150及第三MPC服务器160是否参与生成共同的公钥,并请求生成共同的公钥。另外,当需要交易签名时,MPC管理服务器200可以向第一MPC服务器140、第二MPC服务器150及第三MPC服务器160请求参与签名。
个人私钥生成部141生成与用户相对应的个人私钥。所述个人私钥可以在第一MPC服务器140内部随机生成。所述个人私钥用于第一MPC服务器140生成个人私钥分片后,优选不存储。由于所述个人私钥不存储在每个MPC服务器中,而部分个人私钥分片在MPC服务器之间共享,因此,即使一台MPC服务器被黑客攻击,也很难完全恢复个人私钥。
个人私钥分片生成部142对所述生成的个人私钥进行分片,以生成多个个人私钥分片。参考图2,所述个人私钥A可以分为A-1、A-2、A-3,所述个人私钥B可以分为B-1、B-2、B-3,所述个人私钥C可以分为C-1、C-2、C-3。尽管在图2中将个人私钥分为3个分片,但是,分个人私钥的分片的数量不限于此。根据本发明的一实施例的参与多方计算数字签名的用户数可以作为用于区分个人私钥的分片数。
收发部143从个人私钥分片生成部142接收个人私钥分片,并将所接收的个人私钥分片中的一部分与其他MPC服务器,即第二MPC服务器150和第三MPC服务器160共享。另一方面,若使用零知识证明方法将个人私钥分片生成部142的个人私钥分片的一部分与其他MPC服务器共享,则可以确认所述共享的个人私钥分片的一部分是否有效。
另外,收发部143可以对在个人分布式密钥生成部144生成的个人分布式密钥通过另外的计算过程生成第一运算结果值,并将所述生成的第一运算结果值与其他MPC服务器共享。另一方面,若使用零知识证明方法将个人分布式密钥生成部144的第一运算结果值与其他的MPC服务器共享,则可以确认所述共享的第一运算结果值是否有效。
零知识证明是一种在个人(prover)不公开只有自己拥有的的秘密信息的情况下,可以向对方即验证者(verifier)证明知道信息的加密体系。
个人分布式密钥生成部144利用至少一人其他用户的共享的个人私钥分片的一部分和所述生成的多个个人私钥分片的一部分来生成对应于所述用户的个人分布式密钥。
再次参考图2,可以将与第一客户端110的第一用户相对应的个人私钥设置为个人私钥A,可以将与第二客户端120的第二用户相对应的个人私钥设置为个人私钥B,可以将与第三客户端130的第三用户相对应的个人私钥设置为个人私钥C。
作为一实施例,与第一用户相对应的个人分布式密钥A可以使用个人私钥A、B、C的各第一分片A-1、B-1、C-1生成,与第二用户相对应的个人私钥B可以使用个人私钥A、B、C的各第二分片A-2、B-2、C-2生成,与第三用户相对应的个人分布式密钥C可以使用个人私钥A、B、C的各第三分片A-3、B-3、C-3生成。
因此,对应于第一客户端110的第一用户的个人私钥分片中,A-1分片不与第二用户和第三用户共享,A-2或A-3通过非交互零知识证明与第二用户和第三用户共享,因此,不会有个人私钥分片都被泄露的情况。
共同公钥生成部146生成所述至少一人其他用户的个人分布式密钥、及基于所述用户的个人分布式密钥的共同的公钥。
优选地,个人分布式密钥A、个人分布式密钥B及个人分布式密钥C在各个MPC服务器中分别经过另外的运算过程生成第一运算结果值、第二运算结果值及第三运算结果值,第一MPC服务器140、第二MPC服务器150及第三MPC服务器160之间使用零知识证明方法共享。
存储部145用于存储所述生成的个人分布式密钥和共同的公钥。优选地,所述个人分布式密钥被加密后存储在存储部145中,当所述个人分布式密钥用于签名时,可以对其进行解密后使用。
优选地,用户通过第一客户端110输入的加密值或用户的个人生物信息用于对所述个人分布式密钥进行加密。在使用输入的加密值或用户的个人生物信息对个人分布式密钥进行加密的情况下,保证用户必须实时参与,即使所有服务器都被黑客攻击,如果用户不参与,则可以安全地保护资产。
由于各MPC服务器对每个个人分布式密钥进行加密后存储,因此,即使每个个人分布式密钥都被泄露,也不会发生事故。
存储部145可以为硬件安全模块(Hardware Security Module),是专门用于存储安全密钥和加密处理的物理计算设备,但不限于此。
图2是根据本发明的一实施例的多方计算数字签名方法中通过对个人私钥进行分片生成共同的公钥的过程的示意图。
第一MPC服务器140、第二MPC服务器150及第三MPC服务器160生成对应于第一客户端110、第二客户端120及第三客户端130的用户的个人私钥A、B、C。
通过Shamir机密共享算法对个人私钥A、B、C进行分片,在第一MPC服务器140、第二MPC服务器150及第三MPC服务器160之间共享对应于不同用户的个人私钥分片。所述共享时,可以使用零知识证明方法。
在图2中,可以确认将个人私钥A分片为A-1、A-2、A-3,将个人私钥B分片为B-1、B-2、B-3,将个人私钥C分片为C-1、C-2、C-3。
所述共享时,优选不共享对应于用户自己的个人私钥分片,而将剩下的个人私钥分片与其他用户共享。此外,在共享个人私钥分片时,优选通过非交互式零知识证明进行共享。
第一MPC服务器140、第二MPC服务器150及第三MPC服务器160组合自己共享得到的个人私钥分片并将其存储为个人分布式密钥。即,第一MPC服务器140将分片A-1、B-1、C-1存储为个人分布式密钥,第二MPC服务器150将分片A-2、B-2、C-2存储为个人分布式密钥,第三MPC服务器160将分片A-3、B-3、C-3存储为个人分布式密钥。
另外,使用所述个人分布式密钥生成并存储共同的公钥。所述存储的共同的公钥可用于验证签名时使用的联合签名值。
图3是根据本发明的其他实施例的包括多方计算数字签名装置的整个系统结构图。
参考图3,包括多方计算数字签名装置的整个系统,包括:第一客户端110、第一MPC服务器140、第二MPC服务器150、第三MPC服务器160及MPC管理服务器200。
第一MPC服务器140,包括:收发部143、存储部145、签名部147、联合签名值导出部148及验证部149。
签名部147通过收发部143接收来自MPC管理服务器200的交易签名请求,对存储部145中加密存储的个人分布式密钥进行解密后签名。
联合签名值导出部148通过组合在签名部147用个人分布式密钥签名的签名值和与第二MPC服务器150及第三MPC服务器160共享的签名值来导出联合签名值。
验证部149使用存储在存储部145中的共同的公钥来验证所述导出的联合签名值,从而,确认所述交易的有效性。
作为签名的一实施例,3个MPC服务器,即第一MPC服务器140、第二MPC服务器150及第三MPC服务器160参与生成共同的公钥,签名在2个以上的MPC服务器执行时,可以认定为有效交易。
图4是根据本发明的其他实施例的使用个人分布式密钥进行签名过程的示意图。
参考图4,为了使用具有预设阈值以上的MPC服务器参与签名,使用已存储的个人分布式密钥,对相应的交易进行签名。
第一MPC服务器140使用个人分布式密钥A来生成第一用户签名值,第二MPC服务器150使用个人分布式密钥B来生成第二用户签名值。当预设阈值为2时,即使第三MPC服务器160不参与签名,也可以进行签名。
在所述交易的每个MPC服务器各自的分布式密钥没有被公开的状态下,通过非交互式零知识证明,第二MPC服务器150认识到发送第一用户签名值的第一MPC服务器140的签名是否有效,第一MPC服务器140认识到发送第二用户签名值的第二MPC服务器150的签名是否有效。
第一MPC服务器140和第二MPC服务器150分别利用相互共享的签名值导出联合签名值。
通过使用在生成个人分布式密钥时导出的共同的公钥来验证所述导出的联合签名值,从而,可以确认所述签名的交易的有效性。
图5示出根据本发明的其他实施例的使用按每个用户存储的个人分布式密钥进行签名的过程。
参考图5,第一用户客户端、第二用户客户端、钱包服务器及恢复服务器存储各自的分布式密钥。
第一用户客户端、第二用户客户端及钱包服务器可分别对应于图1的第一MPC服务器140、第二MPC服务器150及第三MPC服务器160。
在这种情况下,可以如下生成在第一MPC服务器140、第二MPC服务器150及第三MPC服务器160中分别生成的私钥。
例如,第一用户客户端在由a、b、c组成的个人分布式密钥中持有a、c分片,第二用户客户端持有b、c分片,钱包服务器持有a、b分片。
在这种情况下,即使第一用户客户端、第二用户客户端及钱包服务器中的任何一个主体的个人分布式密钥被泄露,也无法知道所有的个人分布式密钥,因此,相互不同的多方计算数字签名装置都必须参与所有交易。
另外,即使个人分布式密钥a、b被泄露,由于无法知道共同的公钥,因此,还可以防止多方计算数字签名装置内部发生事故。
图6示出根据本发明的其他另一实施例的用户不具有一个私钥而分成几个个人分布式密钥分散在运营商系统中所包括的多个钱包服务器的状态。
参考图6,用户客户端不存储一个私钥,而是将私钥分成几个个人分布式密钥,每个个人分布式密钥分别存储在运营商系统的钱包服务器(区域1)和钱包服务器(区域2)。
在个人分布式密钥从运营商系统中包含的钱包服务器中的一个钱包服务器中泄露的情况下,若存储在其他钱包服务器中的个人分布式密钥没有被泄露,则帐户可以保持安全。
另外,用户客户端、钱包服务器(区域1)及钱包服务器(区域2)可分别对应于图1中的第一客户端110、第一MPC服务器140、及第二MPC服务器150。
与图1中的第一客户端110相同,图6中的用户客户端也不存储私钥,钱包服务器(区域1)及钱包服务器(区域2)可以如下生成个人分布式密钥。
例如,当钱包服务器(区域1)持有个人分布式密钥的分片a、b,而钱包服务器(区域2)持有个人分布式密钥的分片b、c的情况下,即使个人分布式密钥从钱包服务器(区域1、区域2)中的一个钱包服务器中泄露,也不会发生交易。
另外,恢复服务器持有个人分布式密钥的分片a、c,因此,即使钱包服务器中的一个的个人分布式密钥的分片被丢失或删除,也可以用其他钱包服务器和恢复服务器持有的个人分布式密钥分片恢复或重新生成被丢失或删除的个人分布式密钥分片。
例如,钱包服务器(区域1)的个人分布式密钥分片a、b被删除时,若利用恢复服务器持有的个人分布式密钥分片a、c和钱包服务器(区域2)持有的个人分布式密钥分片b、c,则可以恢复钱包服务器(区域1)的个人分布式密钥分片a、b。
图7是根据本发明的一实施例的多方计算数字签名方法的流程图。
参考图7,根据本实施例的多方计算数字签名方法,由在图1和图3所示的多方计算数字签名装置按时间顺序处理的步骤而组成。因此,即使下文中被省略的内容,上述对图1和图3所示的多方计算数字签名装置进行说明的内容也适用于本实施例的多方计算数字签名方法。
在步骤700中,作为多方计算数字签名装置的一实施例,第一MPC服务器140接收来自MPC管理服务器200的密钥生成参与请求。与第一MPC服务器140相同,第二MPC服务器150和第三MPC服务器160也从MPC管理服务器200接收密钥生成参与请求。尽管图7示出了3个MPC服务器,但是,可以由2个以上的多个服务器而构成。
在步骤701中,第一MPC服务器140、第二MPC服务器150及第三MPC服务器160向MPC管理服务器200发送密钥生成参与确认。通过发送所述密钥生成参与确认,每个MPC服务器140、150、160参与生成个人分布式密钥和共同的公钥。
在步骤702中,第一MPC服务器140、第二MPC服务器150及第三MPC服务器160接收来自MPC管理服务器200的生成密钥的请求。若接收到所述密钥生成请求,则各MPC服务器140、150、160分别执行步骤710至760。以下,以第一MPC服务器140为准进行说明,但其他的MPC服务器150、160也执行相同的方法。
在步骤710中,第一MPC服务器140生成对应于第一用户的个人私钥A。所述个人私钥A可以是在第一MPC服务器140中生成的随机值。
在步骤720中,第一MPC服务器140对所述生成的个人私钥进行分片,以生成多个分片。分个人私钥的分片的数量为至少2个,分片数优选与参与交易的用户数相同。
在步骤730中,第一MPC服务器140可以将所述生成的个人私钥分片的一部分共享给其他MPC服务器,即第二MPC服务器150和第三MPC服务器160。第一MPC服务器140、第二MPC服务器150及第三MPC服务器160也可以直接相互共享一部分各自的私钥分片,也可以通过MPC管理服务器200共享。
可以使用与要共享个人私钥分片的对方的个人私钥相对应的个人公钥进行加密后传送。若用自己的个人私钥对共享的对方的经加密的个人私钥分片进行解密,则会成为仍然被分片状态的个人私钥分片数据。
例如,若第一MPC服务器的个人私钥A的分片分成3片,如A-1、A-2、A-3,则A-1为用于生成第一MPC服务器的个人分布式密钥的私钥分片,无需传输至其他的MPC服务器150、160,最好将A-2及A-3分片传输至其他MPC服务器。通过所述方法,私钥A的分片A-1不会传输到第一MPC服务器110之外,因此,除了第一MPC服务器110之外,其他不可能知道完整的私钥A。因此,在所述传传输时不包含与第一MPC服务器140相对应的个人私钥的分片,传输时可以只包含与其他MPC服务器相对应的私钥分片,其他MPC服务器也可以利用相同的方法传输个人私钥的分片。
在步骤740中,第一MPC服务器140使用在步骤730中共享的私钥分片生成第一个人分布式密钥。优选地,所述生成的第一个人分布式密钥经过另外的运算处理过程,生成第一运算结果值。使用所述第一个人分布式密钥运算结果值的方法,可以使用另外的加密函数。
在所述例中,第一MPC服务器140从第二MPC服务器150接收B-1分片,从第三MPC服务器160接收C-1分片,第一MPC服务器140可以与已持有的A-1分片一起生成第一个人分布式密钥。优选地,所述生成的第一个人分布式密钥被加密后存储在存储部145中。
用于加密所述个人分布式密钥的函数可以使用个人生物信息、ID/密码等信息作为加密密钥。此时,优选不存储加密密钥。通过使用所述加密函数对个人分布式密钥进行加密,即使所有MPC服务器都被黑客攻击,除非用户参与,否则不会进行任何交易。
在步骤750中,第一MPC服务器140将使用所述生成的第一个人分布式密钥运算的结果值(第一运算结果值)与其他MPC服务器,即第二MPC服务器150和第三MPC服务器140共享。使用所述第一个人分布式密钥运算运算结果值的方法,可以使用另外的加密函数。第一MPC服务器140通过使用零知识证明方法与其他MPC服务器共享所述第一运算结果值,从而,其他MPC服务器可以确认所述共享的第一运算结果值是否有效。
在步骤760中,第一MPC服务器140利用使用所述第一个人分布式密钥运算的结果值(第一运算结果值)和使用从其他MPC服务器共享的第二个人分布式密钥运算的结果值(第二运算结果值)、及使用第三个人分布式密钥运算的结果值(第三运算结果值)生成公共的公钥。所述运算是使用任意函数的运算,优选在所有MPC服务器中使用相同的函数。
作为一实施例,优选地,第一MPC服务器140对所述第一个人分布式密钥、所述第二个人分布式密钥及所述第三个人分布式密钥分别使用通过同态加密工作获得的同态加密结果值,生成共同的公钥。
由于每个MPC服务器140、150、160不共享各自的个人分布式密钥,而是共享使用个人分布式密钥运算的运算结果值,因此,个人分布式密钥不会暴露于外部。
图8是根据本发明的一实施例的使用通过多方数字签名加密方法生成的共同的公钥进行签名的方法的流程图。
在步骤800中,第一MPC服务器140从MPC管理服务器200接收参与签名的请求。
在步骤801中,第一MPC服务器140向MPC管理服务器200发送参与签名确认。
在步骤802中,第一MPC服务器140从MPC管理服务器200接收签名交易的请求。
在步骤810中,第一MPC服务器140使用在步骤740中生成的第一个人分布式密钥来签名交易。优选地,所述第一个人分布式密钥被加密后存储在存储部145中,并且,在对加密的第一个人分布式密钥进行解密之后签名交易。
在步骤820中,第一MPC服务器140使用零知识证明方法共享用所述第一个人分布式密钥签名的值与在其他MPC服务器150、160中用每个个人分布式密钥签名的值。通过使用所述零知识证明方法,在所述个人分布式密钥未公开的状态下,证明所述签名的值是否为由个人分布式密钥签名。
在步骤830中,第一MPC服务器140组合所述共享的签名值来导出联合签名值。
在步骤840中,第一MPC服务器140将所述导出的联合签名值视为数字签名,并使用存储在存储部145中的共同公钥对其进行验证,从而,确认生成的数字签名是否为正确的数字签名。所述联合签名值也可以在参与签名的其他MPC服务器中验证。
根据本发明的实施例,由于与共同的公钥相对应的私钥实质上不存在,并且使用个人分布式密钥进行签名,因此,具有不必担心私钥被泄露的优点。
尽管在各MPC服务器140、150、160中执行图8的步骤840,但是,由于共同的公钥是被公开的密钥,因此,可以在请求交易的地方执行验证。
用第一MPC服务器140的经解密的个人分布式密钥A进行的数字签名工作可以表示为sA(Tx),用第二MPC服务器150的经解密的个人分布式密钥B进行的数字签名工作可以表示为sB(Tx),用第三MPC服务器160的经解密的的个人分布式密钥C进行的数字签名工作可以表示为sC(Tx),将所有个人分布式密钥的数字签名工作加起来表示为sABC(Tx)。所述sABC(Tx)成为共同签名被使用。
另外,作为备份或冷存储,可以额外具备第四MPC服务器(省略图示)。因此,第四MPC服务器优选为金融保安员等可靠机构的终端。
在第一MPC服务器140、第二MPC服务器150及第三MPC服务器160的3个服务器中的每一个中生成个人分布式密钥,并且,在至少2个MPC服务器中进行有效签名的情况下,假设交易有效,第四MPC服务器在与第一MPC服务器140、第二MPC服务器150及第三MPC服务器160中的一个MPC服务器一起签名时能达成有效交易,因此,起到备份的作用。
本发明的实施例可由通过多种计算机手段执行的程序指令形式实现,并可记录在计算机可读介质中。所述计算机可读介质可单独或组合包括程序指令、数据文件、数据结构等。记录在上述介质中的程序指令可以是专门为本发明设计构建的,也可以是为计算机软件技术人员熟知而应用的。计算机可读记录介质的例包括:磁媒体(magnetic media),如硬盘、软盘和磁带;光学媒体(optical media),如CD-R0M、DVD;磁光媒体(magneto-opticalmedia),如光盘(floptical disk);和如只读存储器(R0M)、随机存取存储器(RAM)、闪存等存储和执行程序指令的专门配置的硬件设备。程序指令的例,不仅包括如由编译器制成的机器语言,还包括含有可使用解释程序等由计算机执行的高级语言代码。所述的硬件装置可以被构成为作为一个以上的软件模块运行以执行本发明的动作,反之亦然。
在本说明书中使用的术语“~部”是指软件元件或硬件元件诸如FPGA(field-programmable gate array)或ASIC等,并且执行相应的功能。然而,应当理解,“~部”不限于软件或硬件元件。组件“~部”可以在可由地址指定的存储介质中实现。“~部”也可以被配置为重新生成一个或多个处理器。例如,“~部”可以包括各种类型的元件(例如,软件元件、面向对象的软件元件、类元件、任务元件等)、段(例如,过程、函数、属性、程序、子例程、程序代码等)、驱动程序、固件、微代码、电路、数据、数据库、数据结构、表、阵列及变量等。由元件和“~部”提供的功能可以通过组合少量元件和“~部”形成,或者可以分成附加元件和“~部”。此外,还可以实现元件和“~部”以在装置或安全多卡(securitymulti-cards)中重新生成一个或多个CPU。
所有的上述功能可以由诸如微处理器、控制器、微控制器或专用集成电路(ASIC,Application Specific Integrated Circuit)以用来执行所述功能的编程代码或软件的方式来实现。基于本发明的描述,代码的设计、开发和执行对于本领域技术人员而言是明显的。
以上,参考具体元件等的特定内容以及有限的实施例和附图说明了本发明,但这些仅是为了帮助更全面地理解本发明而提供的,本发明不限于上述实施方式。本发明所属领域的普通技术人员可以对这些描述进行各种修改和变型。
因此,本发明的精神不应被局限于所述实施例,应理解为权利要求范围以及与这些权利要求范围同等或等价变形的所有修改均属于本发明的精神的范围内。
Claims (8)
1.一种多方计算数字签名装置,其特征在于,包括:
个人私钥生成部,用于生成对应于用户的个人私钥;
个人私钥分片生成部,对所述生成的个人私钥进行分片,以生成多个分片;
个人分布式密钥生成部,利用至少一人其他用户的共享的个人私钥分片中的一部分和所述生成的多个个人私钥分片中的一部分,来生成对应于所述用户的个人分布式密钥;以及
共同公钥生成部,基于所述至少一人其他用户的个人分布式密钥和所述用户的个人分布式密钥生成共同的公钥。
2.根据权利要求1所述的多方计算数字签名装置,其特征在于,所述用户的个人分布式密钥由另外的加密密钥进行加密。
3.根据权利要求1所述的多方计算数字签名装置,其特征在于,所述个人分布式密钥可通过所述用户的输入加密密钥或个人生物信息进行加密。
4.根据权利要求1所述的多方计算数字签名装置,其特征在于,所述共同公钥生成部,通过利用所述至少一人其他用户的个人分布式密钥运算的结果值和使用所述用户的个人分布式密钥运算的结果值,来生成共同的公钥。
5.根据权利要求1所述的多方计算数字签名装置,其特征在于,包括:
签名部,从外部服务器接收交易签名请求,并用所述用户的个人分布式密钥进行签名;以及
联合签名值导出部,组合用所述个人分布式密钥签名的签名值和所述至少一人其他用户的共享的签名值来导出联合签名值,
通过使用所述共同的公钥验证所述导出的联合签名值,从而,确认所述交易的有效性。
6.一种多方计算数字签名方法,其特征在于,包括:
生成对应于用户的个人私钥的步骤;
对所述生成的个人私钥进行分片,以生成多个分片的步骤;
利用至少一人其他用户的共享的个人私钥分片中的一部分和所述生成的多个个人私钥分片中的一部分,来生成对应于所述用户的个人分布式密钥的步骤;以及
基于所述至少一人其他用户的个人分布式密钥和所述用户的个人分布式密钥生成共同的公钥的步骤。
7.根据权利要求6所述的多方计算数字签名方法,其特征在于,包括:
从外部服务器接收交易签名请求,并用所述用户的个人分布式密钥进行签名的步骤;以及
组合用所述个人分布式密钥签名的签名值和所述至少一人其他用户的共享的签名值来导出联合签名值的步骤,
通过使用所述共同的公钥验证所述导出的联合签名值,从而,确认所述交易的有效性。
8.一种计算机可读记录介质,其特征在于,其中记录有用于在计算机上执行权利要求6或7中任一项所述的方法的程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220139182A KR20240058446A (ko) | 2022-10-26 | 2022-10-26 | 다자간 컴퓨팅 디지털 서명 장치 및 방법 |
KR10-2022-0139182 | 2022-10-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117938391A true CN117938391A (zh) | 2024-04-26 |
Family
ID=90759938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310564767.6A Pending CN117938391A (zh) | 2022-10-26 | 2023-05-18 | 多方计算数字签名装置以及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240146542A1 (zh) |
KR (1) | KR20240058446A (zh) |
CN (1) | CN117938391A (zh) |
-
2022
- 2022-10-26 KR KR1020220139182A patent/KR20240058446A/ko unknown
-
2023
- 2023-05-18 US US18/320,094 patent/US20240146542A1/en active Pending
- 2023-05-18 CN CN202310564767.6A patent/CN117938391A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20240058446A (ko) | 2024-05-03 |
US20240146542A1 (en) | 2024-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11856104B2 (en) | Methods for secure credential provisioning | |
EP3619884B1 (en) | Secure dynamic threshold signature scheme employing trusted hardware | |
CN106548345B (zh) | 基于密钥分割实现区块链私钥保护的方法及系统 | |
US10797879B2 (en) | Methods and systems to facilitate authentication of a user | |
AU2015277000B2 (en) | Efficient methods for authenticated communication | |
US9813414B2 (en) | Password-based management of encrypted files | |
CN110519046B (zh) | 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统 | |
US20080052772A1 (en) | Preserving Privacy While Using Authorization Certificates | |
CN109919611B (zh) | 基于对称密钥池服务器的抗量子计算区块链交易方法和系统 | |
AU2015308608A1 (en) | Methods for secure cryptogram generation | |
CN104639516A (zh) | 身份认证方法、设备及系统 | |
CN110138548B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统 | |
CN109921905B (zh) | 基于私钥池的抗量子计算密钥协商方法和系统 | |
CN111327419B (zh) | 基于秘密共享的抗量子计算区块链的方法及系统 | |
CN110380859B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统 | |
CN111355591A (zh) | 一种基于实名认证技术的区块链账号安全的管理方法 | |
CN116349203A (zh) | 识别拒绝服务攻击 | |
CN110176989B (zh) | 基于非对称密钥池的量子通信服务站身份认证方法和系统 | |
CN110519222B (zh) | 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统 | |
CN110365472B (zh) | 基于非对称密钥池对的量子通信服务站数字签名方法、系统 | |
CN110098925B (zh) | 基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和系统 | |
CN110971403A (zh) | 一种基于秘密共享公钥池的抗量子计算区块链系统和交易方法 | |
CN110557247A (zh) | 基于身份的抗量子计算区块链方法和系统 | |
CN110266483B (zh) | 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、系统、设备 | |
CN113545004A (zh) | 具有减少攻击面的认证系统 |
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 |