CN110363528A - 协同地址的生成、交易签名方法及装置、存储介质 - Google Patents
协同地址的生成、交易签名方法及装置、存储介质 Download PDFInfo
- Publication number
- CN110363528A CN110363528A CN201910565773.7A CN201910565773A CN110363528A CN 110363528 A CN110363528 A CN 110363528A CN 201910565773 A CN201910565773 A CN 201910565773A CN 110363528 A CN110363528 A CN 110363528A
- Authority
- CN
- China
- Prior art keywords
- parameter
- client
- server
- evidence
- address
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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/3218—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本说明书实施例提供了一种协同地址的生成、交易签名方法及装置、存储介质,该协同地址的交易签名方法应用于区块链网络中的客户端,其包括:向服务器发起针对协同地址的交易请求,所述协同地址由所述客户端和所述服务器,通过各自持有的密钥碎片执行安全多方计算生成;在被所述服务器通过身份认证时,与所述服务器协同对所述交易请求进行基于安全多方计算的门限签名,从而生成交易签名。本说明书实施例可以提高密码货币钱包的安全性和便利性。
Description
技术领域
本说明书涉及密码货币的钱包技术领域,尤其是涉及一种协同地址的生成、交易签名方法及装置、存储介质。
背景技术
密码货币作为区块链世界的承载工具,如何保证其安全性是其中一个重要问题。对于密码货币的拥有权完全取决于是否持有相应的私钥,因此密码货币的安全性取决于相应的私钥是否具备完善的安全保护策略。
目前对于普通用户来说,使用通常是直接交由密码货币交易所代为保管,或者存储于用户个人的在线钱包或者硬件钱包上。其中,交易所代为保管和在线钱包的安全性相对偏低,可能容易出现如交易所密码货币被盗、在线钱包私钥丢失等事件。硬件钱包是通过将私钥离线存储于硬件设备中,这种方式杜绝了将私钥暴露在网络环境中,免遭黑客攻击的风险,可提更高的安全性,但是用户需要进行交易转账时,需要插入硬件设备或者手动输入私钥,使用不便。
因此,如何提高密码货币钱包的安全性和便利性已成为目前亟需解决的技术问题。
发明内容
本说明书实施例的目的在于提供一种协同地址的创建、签名、私钥恢复方法及装置、存储介质,以提高密码货币钱包的安全性和便利性。
为达到上述目的,一方面,本说明书实施例提供了一种协同地址的交易签名方法,应用于区块链网络中的客户端,包括:
向服务器发起针对协同地址的交易请求,所述协同地址由所述客户端和所述服务器,通过各自持有的密钥碎片执行安全多方计算生成;
在被所述服务器通过身份认证时,与所述服务器协同对所述交易请求进行基于安全多方计算的门限签名,从而生成交易签名。
在本说明实施例中,所述与所述服务器协同对所述交易请求进行基于安全多方计算的门限签名,包括:
生成第一随机数,向所述服务器发送与所述第一随机数相关的第一参数及第一证据,以供所述服务器基于零知识证明算法验证所述第一证据是否为真;
接收所述服务器返回的与第二随机数相关的第二参数及第二证据,并基于所述零知识证明算法验证所述第二证据是否为真;所述第二随机数由所述服务器生成;
当验证所述第二证据为真时,根据所述第一参数及所述第二参数生成第一签名参数;
根据所述交易请求中的交易信息和所述第一随机数生成第一中间参数,根据所述交易信息和所述协同地址对应的第一密钥碎片生成第二中间参数,并将所述第一中间参数和所述第二中间参数提供给所述服务器;
接收所述服务器提供的第三中间参数和第四中间参数;所述第三中间参数由所述服务器根据所述交易信息和所述第二随机数生成,所述第四中间参数由所述服务器根据所述交易信息和所述协同地址对应的第二密钥碎片生成;
根据所述第一中间参数、所述第二中间参数、所述第三中间参数和所述第四中间参数生成第二签名参数;
根据所述第一签名参数和所述第二签名参数生成交易签名。
另一方面,本说明书实施例还提供了一种客户端,应用于区块链网络,包括:
交易请求发起模块,用于向服务器发起针对协同地址的交易请求,所述协同地址由所述客户端和所述服务器,通过各自持有的密钥碎片执行安全多方计算生成;
交易签名生成模块,用于在被所述服务器通过身份认证时,与所述服务器执行门限签名算法,以对所述交易请求进行基于安全多方计算的门限签名,从而生成交易签名。
在本说明实施例中,所述与所述服务器协同对所述交易请求进行基于安全多方计算的门限签名,包括:
生成第一随机数,向所述服务器发送与所述第一随机数相关的第一参数及第一证据,以供所述服务器基于零知识证明算法验证所述第一证据是否为真;
接收所述服务器返回的与第二随机数相关的第二参数及第二证据,并基于所述零知识证明算法验证所述第二证据是否为真;所述第二随机数由所述服务器生成;
当验证所述第二证据为真时,根据所述第一参数及所述第二参数生成第一签名参数;
根据所述交易请求中的交易信息和所述第一随机数生成第一中间参数,根据所述交易信息和所述协同地址对应的第一密钥碎片生成第二中间参数,并将所述第一中间参数和所述第二中间参数提供给所述服务器;
接收所述服务器提供的第三中间参数和第四中间参数;所述第三中间参数由所述服务器根据所述交易信息和所述第二随机数生成,所述第四中间参数由所述服务器根据所述交易信息和所述协同地址对应的第二密钥碎片生成;
根据所述第一中间参数、所述第二中间参数、所述第三中间参数和所述第四中间参数生成第二签名参数;
根据所述第一签名参数和所述第二签名参数生成交易签名。
另一方面,本说明书实施例还提供了一种存储介质,其上存储有计算机程序,应用于区块链网络中的客户端,所述计算机程序被处理器执行时实现以下步骤:
向服务器发起针对协同地址的交易请求,所述协同地址由所述客户端和所述服务器,通过各自持有的密钥碎片执行安全多方计算生成;
在被所述服务器通过身份认证时,与所述服务器协同对所述交易请求进行基于安全多方计算的门限签名,从而生成交易签名。
另一方面,本说明书实施例还提供了另一种协同地址的交易签名方法,应用于区块链网络中的服务器,包括:
接收客户端发起的针对协同地址的交易请求;所述协同地址由所述客户端和所述服务器,通过各自持有的密钥碎片执行安全多方计算生成;
当通过对所述客户端的身份认证时,与所述客户端协同对所述交易请求进行基于安全多方计算的门限签名,从而生成交易签名。
在本说明实施例中,所述与所述客户端协同对所述交易请求进行基于安全多方计算的门限签名,包括:
接收所述客户端发送的与第一随机数相关的第一参数及第一证据,所述第一随机数由所述客户端生成;
生成第二随机数,并向所述客户端发送与所述第二随机数相关的第二参数及第二证据,以供所述客户端基于零知识证明算法验证所述第二证据是否为真;
当基于所述零知识证明算法验证所述第一证据是否为真时,根据所述第一参数及所述第二参数生成第一签名参数;
接收所述客户端提供的第一中间参数和第二中间参数;所述第一中间参数由所述客户端根据所述交易信息和所述第一随机数生成,所述第二中间参数由所述客户端根据所述交易信息和所述协同地址对应的第一密钥碎片生成;
根据所述交易请求中的交易信息和所述第二随机数生成第三中间参数,根据所述交易信息和所述协同地址对应的第二密钥碎片生成第四中间参数,并将所述第三中间参数和所述第四中间参数提供给所述客户端;
根据所述第一中间参数、所述第二中间参数、所述第三中间参数和所述第四中间参数生成第二签名参数;
根据所述第一签名参数和所述第二签名参数生成交易签名。
另一方面,本说明书实施例还提供了另一种服务器,应用于区块链网络,包括:
交易请求接收模块,用于接收客户端发起的针对协同地址的交易请求;所述协同地址由所述客户端和所述服务器,通过各自持有的密钥碎片执行安全多方计算生成;
交易签名生成模块,用于当通过对所述客户端的身份认证时,与所述客户端协同对所述交易请求进行基于安全多方计算的门限签名,从而生成交易签名。
在本说明实施例中,所述与所述客户端协同对所述交易请求进行基于安全多方计算的门限签名,包括:
接收所述客户端发送的与第一随机数相关的第一参数及第一证据,所述第一随机数由所述客户端生成;
生成第二随机数,并向所述客户端发送与所述第二随机数相关的第二参数及第二证据,以供所述客户端基于零知识证明算法验证所述第二证据是否为真;
当基于所述零知识证明算法验证所述第一证据是否为真时,根据所述第一参数及所述第二参数生成第一签名参数;
接收所述客户端提供的第一中间参数和第二中间参数;所述第一中间参数由所述客户端根据所述交易信息和所述第一随机数生成,所述第二中间参数由所述客户端根据所述交易信息和所述协同地址对应的第一密钥碎片生成;
根据所述交易请求中的交易信息和所述第二随机数生成第三中间参数,根据所述交易信息和所述协同地址对应的第二密钥碎片生成第四中间参数,并将所述第三中间参数和所述第四中间参数提供给所述客户端;
根据所述第一中间参数、所述第二中间参数、所述第三中间参数和所述第四中间参数生成第二签名参数;
根据所述第一签名参数和所述第二签名参数生成交易签名。
另一方面,本说明书实施例还提供了另一种存储介质,其上存储有计算机程序,应用于区块链网络中的服务器,所述计算机程序被处理器执行时实现以下步骤:
接收客户端发起的针对协同地址的交易请求;所述协同地址由所述客户端和所述服务器,通过各自持有的密钥碎片执行安全多方计算生成;
当通过对所述客户端的身份认证时,与所述客户端协同对所述交易请求进行基于安全多方计算的门限签名,从而生成交易签名。
另一方面,本说明书实施例还提供了一种协同地址的生成方法,应用于区块链网络中的客户端,包括:
生成第一密钥碎片;
向服务器发起创建协同地址的请求,所述请求中携带与所述第一密钥碎片相关的第一参数及第一证据;
接收所述服务器针对所述请求返回的响应,所述响应中携带与第二密钥碎片相关的第二参数及第二证据,所述第二密钥碎片由所述服务器生成;
当基于零知识证明算法验证所述第二证据为真时,根据所述第一参数和所述第二参数生成协同地址。
在本说明实施例中,所述第一参数根据所述第一密钥碎片生成,所述第一证据是将所述第一密钥碎片及所述第一参数,输入至所述零知识证明算法的证据生成算法生成;所述第二参数根据所述第二密钥碎片生成,所述第二证据是将所述第二密钥碎片及所述第二参数,输入至所述证据生成算法生成。
在本说明实施例中,所述请求中还携带有用所述客户端的公钥加密所述第一密钥碎片后生成的密文密钥碎片,以在所述服务器上备份所述第一密钥碎片。
另一方面,本说明书实施例还提供了另一种客户端,应用于区块链网络,包括:
碎片生成模块,用于生成第一密钥碎片;
请求发送模块,用于向服务器发起创建协同地址的请求,所述请求中携带与所述第一密钥碎片相关的第一参数及第一证据;
响应接收模块,用于接收所述服务器针对所述请求返回的响应,所述响应中携带与第二密钥碎片相关的第二参数及第二证据,所述第二密钥碎片由所述服务器生成;
地址生成模块,用于当基于零知识证明算法验证所述第二证据为真时,根据所述第一参数和所述第二参数生成协同地址。
在本说明实施例中,所述第一参数根据所述第一密钥碎片生成,所述第一证据是将所述第一密钥碎片及所述第一参数,输入至所述零知识证明算法的证据生成算法生成;所述第二参数根据所述第二密钥碎片生成,所述第二证据是将所述第二密钥碎片及所述第二参数,输入至所述证据生成算法生成。
在本说明实施例中,所述请求中还携带有用所述客户端的公钥加密所述第一密钥碎片后生成的密文密钥碎片,以在所述服务器上备份所述第一密钥碎片。
另一方面,本说明书实施例还提供了另一种存储介质,其上存储有计算机程序,应用于区块链网络中的客户端,所述计算机程序被处理器执行时实现以下步骤:
生成第一密钥碎片;
向服务器发起创建协同地址的请求,所述请求中携带与所述第一密钥碎片相关的第一参数及第一证据;
接收所述服务器针对所述请求返回的响应,所述响应中携带与第二密钥碎片相关的第二参数及第二证据,所述第二密钥碎片由所述服务器生成;
基于零知识证明算法验证所述第二证据为真时,根据所述第一参数和所述第二参数生成协同地址。
另一方面,本说明书实施例还提供了另一种协同地址的生成方法,应用于区块链网络中的服务器,包括:
接收客户端发起的创建协同地址的请求,所述请求中携带与第一密钥碎片相关的第一参数及第一证据,所述第一密钥碎片由所述客户端生成;
响应于所述请求,生成第二密钥碎片;
向所述客户端返回响应,所述响应中携带与所述第二密钥碎片相关的第二参数及第二证据;
当基于零知识证明算法验证所述第一证据为真时,根据所述第一参数和所述第二参数生成协同地址。
在本说明实施例中,所述第一参数根据所述第一密钥碎片生成,所述第一证据是将所述第一密钥碎片及所述第一参数,输入至所述零知识证明算法的证据生成算法生成;所述第二参数根据所述第二密钥碎片生成,所述第二证据是将所述第二密钥碎片及所述第二参数,输入至所述证据生成算法生成。
在本说明实施例中,所述请求中还携带有用所述客户端的公钥加密所述第一密钥碎片后生成的密文密钥碎片,以在所述服务器上备份所述第一密钥碎片。
另一方面,本说明书实施例还提供了另一种服务器,应用于区块链网络,包括:
请求接收模块,用于接收客户端发起的创建协同地址的请求,所述请求中携带与第一密钥碎片相关的第一参数及第一证据,所述第一密钥碎片由所述客户端生成;
碎片生成模块,用于响应于所述请求,生成第二密钥碎片;
响应发送模块,用于向所述客户端返回响应,所述响应中携带与所述第二密钥碎片相关的第二参数及第二证据;
地址生成模块,用于当基于零知识证明算法验证所述第一证据为真时,根据所述第一参数和所述第二参数生成协同地址。
在本说明实施例中,所述第一参数根据所述第一密钥碎片生成,所述第一证据是将所述第一密钥碎片及所述第一参数,输入至所述零知识证明算法的证据生成算法生成;所述第二参数根据所述第二密钥碎片生成,所述第二证据是将所述第二密钥碎片及所述第二参数,输入至所述证据生成算法生成。
在本说明实施例中,所述请求中还携带有用所述客户端的公钥加密所述第一密钥碎片后生成的密文密钥碎片,以在所述服务器上备份所述第一密钥碎片。
另一方面,本说明书实施例还提供了另一种存储介质,其上存储有计算机程序,应用于区块链网络中的服务器,所述计算机程序被处理器执行时实现以下步骤:
接收客户端发起的创建协同地址的请求,所述请求中携带与第一密钥碎片相关的第一参数及第一证据,所述第一密钥碎片由所述客户端生成;
响应于所述请求,生成第二密钥碎片;
向所述客户端返回响应,所述响应中携带与所述第二密钥碎片相关的第二参数及第二证据;
当基于零知识证明算法验证所述第一证据为真时,根据所述第一参数和所述第二参数生成协同地址。
由以上本说明书实施例提供的技术方案可见,本说明书实施例通过用安全多方计算技术,使多个参与方可以利用各自持有的密钥碎片生成一个协同地址;在此基础上,当需要交易协同地址上的资产时,通过将安全多方计算和门限签名相结合,使多个参与方可以利用各自持有的密钥碎片生成该协同地址的签名。如此,就实现了各参与方在隐私保护了各自持有的密钥碎片的前提下,协同完成对交易该协同地址上的资产的授权,从而大大提高了密码货币钱包的安全性。由于本说明书实施例也是一种在线钱包技术,因而相对于硬件钱包,其同样兼具有较好的便利性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本说明书一些实施例中生成协同地址的流程图;
图2为本说明书一些实施例中恢复密钥碎片的流程图;
图3为本说明书一些实施例中协同地址的交易签名流程图;
图4为图3中基于安全多方计算的门限签名部分的流程图;
图5为本说明书一些实施例中客户端的结构框图;
图6为本说明书一些实施例中服务器的结构框图;
图7为本说明书另一些实施例中客户端的结构框图;
图8为本说明书另一些实施例中服务器的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
本说明书实施例可以应用于区块链网络中的任何节点,所述节点可以是客户端或服务器。
在本说明书一些实施例中,所述客户端可以为台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备等。其中,智能可穿戴设备可以包括智能手环、智能手表、智能眼镜、智能头盔等。当然,所述客户端并不限于上述具有一定实体的电子设备,其还可以为运行于上述电子设备中的软体。
在本说明书一些实施例中,所述服务器可以为具有运算和网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理和网络交互提供业务逻辑的软体。
门限签名是通过门限密码学构造出的签名方案。例如,在一个t/n门限签名方式中,n个参与方组成群组,并用n个参与方的隐私信息(如,私钥)生成一个协同账户的钱包地址(以下简称协同地址);当需要动用协同地址上的资产时,需要不少于t个参与方利用各自的隐私信息协同合作,才能产生针对协同地址的交易签名。
安全多方计算(Secure Multi-Party Computation,简称MPC),是指用户在无需进行数据归集的情况下,完成数据协同计算,同时保护数据所有方的原始数据隐私。整个计算过程中,计算参与各方除了自己的输入数据和输出结果外,无法获知任何额外有效信息,并且保证计算结果准确。
本说明书实施例旨在利用安全多方计算技术,使多个参与方可以利用各自持有的密钥碎片生成一个协同地址;在此基础上,当需要交易协同地址上的资产时,通过将安全多方计算和门限签名相结合,使多个参与方可以利用各自持有的密钥碎片生成该协同地址的签名。如此,就实现了各参与方在隐私保护了各自持有的密钥碎片的前提下,协同完成对交易该协同地址上的资产的授权,从而大大提高了密码货币钱包的安全性。由于本说明书实施例也是一种在线钱包技术,因而相对于硬件钱包,其兼具有较好的便利性。
为便理解本说明书,下面通过具体实施例并结合具体的应用场景对本说明书进行描述。
在本说明书一些实施例中,图1中示出了协同地址的生成方法。其中,客户端在发起创建协同地址的请求之前,可以在本地生成一个随机数x1,以作为客户端的密钥碎片1。此外,客户端还可以根据密钥碎片1生成参数1及证据1。例如,在一实施例中,客户端可以根据公式X1=x1·G计算出参数1,以用于后续计算协同地址。其中,X1为参数1,G为系统参数,例如在一示例性实施例中,G可以为椭圆曲线生成元。在一实施例中,客户端还可以根据零知识证明(Zero Knowledge Proof)算法中的证据(proof)生成算法生成证据1(即π1←Fzk(X1,x1))。其中,零知识证明是一种密码学技术。利用该技术,一个证明者能够在不向验证者提供任何敏感的信息的情况下,使验证者相信验证者的承若是正确的,从而可以在保护证明者的隐私数据的基础上,使验证者相信其承若是可信的。
本说明书提及的零知识证明算法,通常可以包括密钥生成算法、证据生成算法、以及证据验证算法。密钥生成算法负责计算生成证明密钥(可以作为生成证据的输入数据)和验证密钥(可以作为验证证据的输入数据);证据生成算法负责生成证据;而证据验证算法则负责验证证据,得到真(true)或者假(false)的验证结果。例如,以zksnark算法为例,zksnark算法由G、P、V三种算法组成。G算法为一个密钥生成器,负责生成证明密钥和验证密钥;P算法负责生成证据,V算法负责对P算法生成的证据进行验证,得到真或者假的验证结果。
请继续参考图1所示,在生成密钥碎片1后,客户端可以向服务器发起创建协同地址的请求。其中,所述请求中可以携带与密钥碎片1相关的参数1及证据1。其中,证据1可以用于供服务器验证之用,以便让服务器相信客户端确实是持有密钥碎片1。
请继续参考图1所示,在收到客户端发起创建协同地址的请求后,响应于所述请求,服务器也可以在本地生成一个随机数x2,以作为服务器的密钥碎片2。此外,服务器还可以根据密钥碎片2生成参数2及证据2。例如,在一实施例中,客户端可以根据公式X2=x2·G计算出参数2,以用于后续计算协同地址。在一实施例中,客户端还可以根据零知识证明算法中的证据生成算法生成证据2(即π2←Fzk(X2,x2))。然后,服务器可以向客户端返回响应,所述响应中可以携带与参数2相关的参数2及证据2。其中,证据2可以用于供客户端验证之用,以便让客户端相信服务器确实是持有密钥碎片2。
请继续参考图1所示,客户端在接收到服务器针对所述请求返回的响应后,可以根据零知识证明算法中的验证密钥算法验证证据2是否为真,如果为真,则可以根据参数1和参数2生成协同地址。同样,服务器也以根据零知识证明算法中的验证密钥算法验证证据2是否为真,如果为真,同样也可以根据参数1和参数2生成协同地址。例如,在一实施例中,所述根据参数1和参数2生成协同地址例如可以是根据公式PK=X1+X2计算出协同账户对应的公钥PK,再通过哈希函数Hash()可以生成协同地址Addr←Hash(PK)。从而实现了在基于客户端的密钥碎片1和服务器的密钥碎片2的基础上,利用零知识证明算法实现了协同地址的创建。
在本说明书一些实施例中,在发起创建协同地址的请求之前,客户端还可以生成一对公私钥(sk,pk),并使用pk加密其密钥碎片1(x1),从而可以得到密文密钥碎片Encpk(x1)。相应的,客户端发起的创建协同地址的请求中,还可以携带该密文密钥碎片Encpk(x1),以便于在所述服务器上备份密钥碎片1。由于备份的是密文密钥碎片,服务器也无法解密得到密钥碎片1。实际上,在整个生命周期中,密钥碎片1和密钥碎片2从未以任何形式聚合过,自始至终均保留在各个持有方的本地设备中,从而有利于提高协同地址的安全性。
相应的,在本说明书一些实施例中,一旦用户的客户端设备(例如智能手机)丢失,或者客户端被删除,则用户可以在新的客户端设备安装客户端,或在原有的客户端设备上重新安装客户端。然后可以向服务器发起密钥碎片恢复请求,例如图2所示。在图2所示的恢复流程中,当服务器收到客户端发起的密钥碎片恢复请求后,可以先对客户端进行身份认证;当通过对客户端的身份认证(即确认客户端的身份合法)后,服务器可以向客户端返回对应的密文密钥碎片Encpk(x1)。相应的,客户端可以基于使用自身的私钥sk对密文密钥碎片Encpk(x1)进行解密,从而获得原始密钥碎片x1,至此密钥恢复完成。如此,解决了单个节点丢失密钥造成的钱包无法恢复的问题。
应当理解的是,客户端对应的用户应当是注册用户,即在发起创建协同地址的请求之前,客户端对应的用户需要先下载并完成客户端的安装,然后登陆进客户端,并根据提示进行注册。
在本申请一些实施例中,在创建完成协同地址后,各参与方(即客户端和服务器)就可以协同管理同一个钱包账户了。当需要交易协同地址上的资产时,需要各参与方进行基于安全多方计算的门限签名,以协同完成对交易该协同地址上的资产的授权。例如,以2/2门限签名方式为例,协同地址的交易签名方法可如图3所示。
在图3所示的交易签名方法中,当客户端希望交易协同地址上的资产时,其可以向服务器发起针对该协同地址的交易请求。其中,所述交易请求可以携带有交易信息。例如,以转账交易请求为例,交易信息可以包括转出钱包地址、转入钱包地址、转入额度等等。服务器在收到客户端的交易请求后,可以先对客户端进行身份认证;当通过对客户端的身份认证后,服务器与客户端进行基于安全多方计算的门限签名,以生成交易签名。可见,这种基于门限签名算法设计的密码货币钱包,不仅更加安全,也无需助记词,使用户体验更优。
在本申请一些实施例中,上述的身份认证可以是任何合适的身份认证方式,本说明书对此不作限定,具体可根据需要选择。例如可以为基于KYC(know-your-customer)信息的认证等。其中的KYC信息例如可以包括但不仅限于用户的手机号码、身份证、生物特征(例如指纹、人脸、虹膜)等信息。
在本申请一些实施例中,在图3所示的交易签名方法中,上述的服务器与客户端进行基于安全多方计算的门限签名的具体过程,可如结合图4所示。在如图4所示的交易签名流程中,客户端在被服务器通过身份认证后,可以在本地生成一个随机数k1(即图4中的随机数3)。然后,客户端还可以根据随机数3生成参数3及证据3。例如,在一实施例中,客户端可以根据公式R1=k1·G计算出参数3,以用于后续计算签名参数。在一实施例中,客户端还可以根据零知识证明算法中的证据生成算法生成证据3(即π3←Fzk(R1,k1))。在生成参数3及证据3后,客户端可以将其发送给向服务器。其中,证据3可以用于供服务器验证之用,以便让服务器相信客户端确实是持有该协同地址的一片密钥碎片的。
请继续参考图4所示,当收到参数3及证据3时,服务器也可以在本地生成一个随机数k2(即图4中的随机数4)。然后,客户端还可以根据随机数4生成参数4及证据4。例如,在一实施例中,客户端可以根据公式R2=k2·G计算出参数4,以用于后续计算签名参数。在一实施例中,客户端还可以根据零知识证明算法中的证据生成算法生成证据4(即π4←Fzk(R2,k2))。在生成参数4及证据4后,服务器可以将其提供给客户端。其中,证据4可以用于供客户端验证之用,以便让客户端相信服务器确实是持有该协同地址的另一片密钥碎片的。
请继续参考图4所示,客户端可以根据零知识证明算法中的验证密钥算法验证证据4是否为真,如果为真,则可以根据参数3和参数4生成签名参数1。同样,服务器也可以根据零知识证明算法中的验证密钥算法验证证据3是否为真,如果为真,也可以根据参数3和参数4生成签名参数1。在一实施例中,所述根据参数3和参数4生成签名参数1,例如可以是根据公式R=R1+R2生成签名参数1;其中,R1为参数3,R2为参数4,R为签名参数1。
此外,客户端和服务器还可以分别以交易信息、随机数和密钥碎片为输入计算出一些中间参数,以用于后续进行签名。
例如,客户端可以根据交易请求中的交易信息和随机数3生成中间参数1(即α1←f(e,k1),其中,f(e,k1)为预设的多项式函数,α1为中间参数1,e为交易信息,k1为随机数3),并可以根据该交易信息和客户端持有的与协同地址对应的密钥碎片1生成中间参数2(即β1←g(e,x1),其中,g(e,x1)为预设的多项式函数,β1为中间参数2,e为交易信息,x1为密钥碎片1)。
例如,服务器可以根据交易请求中的交易信息和随机数4生成中间参数3(即α2←f(e,k2),其中,f(e,k2)为预设的多项式函数,α2为中间参数2,e为交易信息,k2为随机数4),并可以根据该交易信息和服务器持有的与协同地址对应的密钥碎片2生成中间参数4(即β2←g(e,x2),其中,g(e,x2)为预设的多项式函数,β2为中间参数4,e为交易信息,x2为密钥碎片2)。
在生成中间参数1和中间参数2后,客户端可以将中间参数1和中间参数2发送给服务器;同样,在生成中间参数3和中间参数4后,服务器也可以将中间参数3和中间参数4发送给客户端。如此,可以使得客户端和服务器双方,均可以根据中间参数1、中间参数2、中间参数3和中间参数4生成签名参数2。例如,在一实施例中,客户端和服务器均可以根据公式s=(α1+α2)-1(β1+β2)modq生成签名参数2,这里q已知,为公共参数。在此基础上,客户端和服务器均可以根据签名参数1和签名参数2得到最终的签名(Rx,s)。其中,Rx为点R(即签名参数1)在坐标系上对应的x坐标值。在本说明书实施例中,生成的交易签名最后会被广播入链。
应当理解的是,以上仅是举例说明基于安全多方计算的门限签名方法,根据签名算法的不同、安全多方计算算法的不同,和/或,门限签名方式(例如2/3模式、3/5模式、5/5模式等)的不同,上述基于安全多方计算的门限签名的方法步骤也会有差异。由于这些都在本说明书的精神和原理之内,因而其所作的修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
虽然上文描述的过程流程包括以特定顺序出现的多个操作,但是,应当清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
参考图5所示,与上述图1所示的协同地址的生成方法对应,本说明书一些实施例的客户端可以包括:
碎片生成模块51,可以用于生成第一密钥碎片;
请求发送模块52,可以用于向服务器发起创建协同地址的请求,所述请求中携带与所述第一密钥碎片相关的第一参数及第一证据;
响应接收模块53,可以用于接收所述服务器针对所述请求返回的响应,所述响应中携带与第二密钥碎片相关的第二参数及第二证据,所述第二密钥碎片由所述服务器生成;
地址生成模块54,可以用于当基于零知识证明算法验证所述第二证据为真时,根据所述第一参数和所述第二参数生成协同地址。
参考图6所示,与上述图1所示的协同地址的生成方法对应,本说明书一些实施例的服务器可以包括:
请求接收模块61,可以用于接收客户端发起的创建协同地址的请求,所述请求中携带与第一密钥碎片相关的第一参数及第一证据,所述第一密钥碎片由所述客户端生成;
碎片生成模块62,可以用于响应于所述请求,生成第二密钥碎片;
响应发送模块63,可以用于向所述客户端返回响应,所述响应中携带与所述第二密钥碎片相关的第二参数及第二证据;
地址生成模块64,可以用于当基于零知识证明算法验证所述第一证据为真时,根据所述第一参数和所述第二参数生成协同地址。
参考图7所示,与上述图3所示的协同地址的交易签名方法对应,本说明书一些实施例的客户端可以包括:
交易请求发起模块71,可以用于向服务器发起针对协同地址的交易请求,所述协同地址由所述客户端和所述服务器,通过各自持有的密钥碎片执行安全多方计算生成;
交易签名生成模块72,可以用于在被所述服务器通过身份认证时,与所述服务器执行门限签名算法,以对所述交易请求进行基于安全多方计算的门限签名,从而生成交易签名。
参考图8所示,与上述图3所示的协同地址的交易签名方法对应,本说明书一些实施例的服务器可以包括:
交易请求接收模块81,可以用于接收客户端发起的针对协同地址的交易请求;所述协同地址由所述客户端和所述服务器,通过各自持有的密钥碎片执行安全多方计算生成;
交易签名生成模块82,可以用于当通过对所述客户端的身份认证时,与所述客户端协同对所述交易请求进行基于安全多方计算的门限签名,从而生成交易签名。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘式存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (24)
1.一种协同地址的交易签名方法,应用于区块链网络中的客户端,其特征在于,包括:
向服务器发起针对协同地址的交易请求,所述协同地址由所述客户端和所述服务器,通过各自持有的密钥碎片执行安全多方计算生成;
在被所述服务器通过身份认证时,与所述服务器协同对所述交易请求进行基于安全多方计算的门限签名,从而生成交易签名。
2.如权利要求1所述协同地址的交易签名方法,其特征在于,所述与所述服务器协同对所述交易请求进行基于安全多方计算的门限签名,包括:
生成第一随机数,向所述服务器发送与所述第一随机数相关的第一参数及第一证据,以供所述服务器基于零知识证明算法验证所述第一证据是否为真;
接收所述服务器返回的与第二随机数相关的第二参数及第二证据,并基于所述零知识证明算法验证所述第二证据是否为真;所述第二随机数由所述服务器生成;
当验证所述第二证据为真时,根据所述第一参数及所述第二参数生成第一签名参数;
根据所述交易请求中的交易信息和所述第一随机数生成第一中间参数,根据所述交易信息和所述协同地址对应的第一密钥碎片生成第二中间参数,并将所述第一中间参数和所述第二中间参数提供给所述服务器;
接收所述服务器提供的第三中间参数和第四中间参数;所述第三中间参数由所述服务器根据所述交易信息和所述第二随机数生成,所述第四中间参数由所述服务器根据所述交易信息和所述协同地址对应的第二密钥碎片生成;
根据所述第一中间参数、所述第二中间参数、所述第三中间参数和所述第四中间参数生成第二签名参数;
根据所述第一签名参数和所述第二签名参数生成交易签名。
3.一种客户端,应用于区块链网络,其特征在于,包括:
交易请求发起模块,用于向服务器发起针对协同地址的交易请求,所述协同地址由所述客户端和所述服务器,通过各自持有的密钥碎片执行安全多方计算生成;
交易签名生成模块,用于在被所述服务器通过身份认证时,与所述服务器执行门限签名算法,以对所述交易请求进行基于安全多方计算的门限签名,从而生成交易签名。
4.如权利要求3所述的客户端,其特征在于,所述与所述服务器协同对所述交易请求进行基于安全多方计算的门限签名,包括:
生成第一随机数,向所述服务器发送与所述第一随机数相关的第一参数及第一证据,以供所述服务器基于零知识证明算法验证所述第一证据是否为真;
接收所述服务器返回的与第二随机数相关的第二参数及第二证据,并基于所述零知识证明算法验证所述第二证据是否为真;所述第二随机数由所述服务器生成;
当验证所述第二证据为真时,根据所述第一参数及所述第二参数生成第一签名参数;
根据所述交易请求中的交易信息和所述第一随机数生成第一中间参数,根据所述交易信息和所述协同地址对应的第一密钥碎片生成第二中间参数,并将所述第一中间参数和所述第二中间参数提供给所述服务器;
接收所述服务器提供的第三中间参数和第四中间参数;所述第三中间参数由所述服务器根据所述交易信息和所述第二随机数生成,所述第四中间参数由所述服务器根据所述交易信息和所述协同地址对应的第二密钥碎片生成;
根据所述第一中间参数、所述第二中间参数、所述第三中间参数和所述第四中间参数生成第二签名参数;
根据所述第一签名参数和所述第二签名参数生成交易签名。
5.一种存储介质,其上存储有计算机程序,应用于区块链网络中的客户端,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
向服务器发起针对协同地址的交易请求,所述协同地址由所述客户端和所述服务器,通过各自持有的密钥碎片执行安全多方计算生成;
在被所述服务器通过身份认证时,与所述服务器协同对所述交易请求进行基于安全多方计算的门限签名,从而生成交易签名。
6.一种协同地址的交易签名方法,应用于区块链网络中的服务器,其特征在于,包括:
接收客户端发起的针对协同地址的交易请求;所述协同地址由所述客户端和所述服务器,通过各自持有的密钥碎片执行安全多方计算生成;
当通过对所述客户端的身份认证时,与所述客户端协同对所述交易请求进行基于安全多方计算的门限签名,从而生成交易签名。
7.如权利要求6所述协同地址的交易签名方法,其特征在于,所述与所述客户端协同对所述交易请求进行基于安全多方计算的门限签名,包括:
接收所述客户端发送的与第一随机数相关的第一参数及第一证据,所述第一随机数由所述客户端生成;
生成第二随机数,并向所述客户端发送与所述第二随机数相关的第二参数及第二证据,以供所述客户端基于零知识证明算法验证所述第二证据是否为真;
当基于所述零知识证明算法验证所述第一证据是否为真时,根据所述第一参数及所述第二参数生成第一签名参数;
接收所述客户端提供的第一中间参数和第二中间参数;所述第一中间参数由所述客户端根据所述交易信息和所述第一随机数生成,所述第二中间参数由所述客户端根据所述交易信息和所述协同地址对应的第一密钥碎片生成;
根据所述交易请求中的交易信息和所述第二随机数生成第三中间参数,根据所述交易信息和所述协同地址对应的第二密钥碎片生成第四中间参数,并将所述第三中间参数和所述第四中间参数提供给所述客户端;
根据所述第一中间参数、所述第二中间参数、所述第三中间参数和所述第四中间参数生成第二签名参数;
根据所述第一签名参数和所述第二签名参数生成交易签名。
8.一种服务器,应用于区块链网络,其特征在于,包括:
交易请求接收模块,用于接收客户端发起的针对协同地址的交易请求;所述协同地址由所述客户端和所述服务器,通过各自持有的密钥碎片执行安全多方计算生成;
交易签名生成模块,用于当通过对所述客户端的身份认证时,与所述客户端协同对所述交易请求进行基于安全多方计算的门限签名,从而生成交易签名。
9.如权利要求8所述的服务器,其特征在于,所述与所述客户端协同对所述交易请求进行基于安全多方计算的门限签名,包括:
接收所述客户端发送的与第一随机数相关的第一参数及第一证据,所述第一随机数由所述客户端生成;
生成第二随机数,并向所述客户端发送与所述第二随机数相关的第二参数及第二证据,以供所述客户端基于零知识证明算法验证所述第二证据是否为真;
当基于所述零知识证明算法验证所述第一证据是否为真时,根据所述第一参数及所述第二参数生成第一签名参数;
接收所述客户端提供的第一中间参数和第二中间参数;所述第一中间参数由所述客户端根据所述交易信息和所述第一随机数生成,所述第二中间参数由所述客户端根据所述交易信息和所述协同地址对应的第一密钥碎片生成;
根据所述交易请求中的交易信息和所述第二随机数生成第三中间参数,根据所述交易信息和所述协同地址对应的第二密钥碎片生成第四中间参数,并将所述第三中间参数和所述第四中间参数提供给所述客户端;
根据所述第一中间参数、所述第二中间参数、所述第三中间参数和所述第四中间参数生成第二签名参数;
根据所述第一签名参数和所述第二签名参数生成交易签名。
10.一种存储介质,其上存储有计算机程序,应用于区块链网络中的服务器,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
接收客户端发起的针对协同地址的交易请求;所述协同地址由所述客户端和所述服务器,通过各自持有的密钥碎片执行安全多方计算生成;
当通过对所述客户端的身份认证时,与所述客户端协同对所述交易请求进行基于安全多方计算的门限签名,从而生成交易签名。
11.一种协同地址的生成方法,应用于区块链网络中的客户端,其特征在于,包括:
生成第一密钥碎片;
向服务器发起创建协同地址的请求,所述请求中携带与所述第一密钥碎片相关的第一参数及第一证据;
接收所述服务器针对所述请求返回的响应,所述响应中携带与第二密钥碎片相关的第二参数及第二证据,所述第二密钥碎片由所述服务器生成;
当基于零知识证明算法验证所述第二证据为真时,根据所述第一参数和所述第二参数生成协同地址。
12.如权利要求11所述协同地址的生成方法,其特征在于,所述第一参数根据所述第一密钥碎片生成,所述第一证据是将所述第一密钥碎片及所述第一参数,输入至所述零知识证明算法的证据生成算法生成;所述第二参数根据所述第二密钥碎片生成,所述第二证据是将所述第二密钥碎片及所述第二参数,输入至所述证据生成算法生成。
13.如权利要求11所述协同地址的生成方法,其特征在于,所述请求中还携带有用所述客户端的公钥加密所述第一密钥碎片后生成的密文密钥碎片,以在所述服务器上备份所述第一密钥碎片。
14.一种客户端,应用于区块链网络,其特征在于,包括:
碎片生成模块,用于生成第一密钥碎片;
请求发送模块,用于向服务器发起创建协同地址的请求,所述请求中携带与所述第一密钥碎片相关的第一参数及第一证据;
响应接收模块,用于接收所述服务器针对所述请求返回的响应,所述响应中携带与第二密钥碎片相关的第二参数及第二证据,所述第二密钥碎片由所述服务器生成;
地址生成模块,用于当基于零知识证明算法验证所述第二证据为真时,根据所述第一参数和所述第二参数生成协同地址。
15.如权利要求14所述的客户端,其特征在于,所述第一参数根据所述第一密钥碎片生成,所述第一证据是将所述第一密钥碎片及所述第一参数,输入至所述零知识证明算法的证据生成算法生成;所述第二参数根据所述第二密钥碎片生成,所述第二证据是将所述第二密钥碎片及所述第二参数,输入至所述证据生成算法生成。
16.如权利要求14所述的客户端,其特征在于,所述请求中还携带有用所述客户端的公钥加密所述第一密钥碎片后生成的密文密钥碎片,以在所述服务器上备份所述第一密钥碎片。
17.一种存储介质,其上存储有计算机程序,应用于区块链网络中的客户端,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
生成第一密钥碎片;
向服务器发起创建协同地址的请求,所述请求中携带与所述第一密钥碎片相关的第一参数及第一证据;
接收所述服务器针对所述请求返回的响应,所述响应中携带与第二密钥碎片相关的第二参数及第二证据,所述第二密钥碎片由所述服务器生成;
基于零知识证明算法验证所述第二证据为真,时,根据所述第一参数和所述第二参数生成协同地址。
18.一种协同地址的生成方法,应用于区块链网络中的服务器,其特征在于,包括:
接收客户端发起的创建协同地址的请求,所述请求中携带与第一密钥碎片相关的第一参数及第一证据,所述第一密钥碎片由所述客户端生成;
响应于所述请求,生成第二密钥碎片;
向所述客户端返回响应,所述响应中携带与所述第二密钥碎片相关的第二参数及第二证据;
当基于零知识证明算法验证所述第一证据为真时,根据所述第一参数和所述第二参数生成协同地址。
19.如权利要求18所述协同地址的生成方法,其特征在于,所述第一参数根据所述第一密钥碎片生成,所述第一证据是将所述第一密钥碎片及所述第一参数,输入至所述零知识证明算法的证据生成算法生成;所述第二参数根据所述第二密钥碎片生成,所述第二证据是将所述第二密钥碎片及所述第二参数,输入至所述证据生成算法生成。
20.如权利要求18所述协同地址的生成方法,其特征在于,所述请求中还携带有用所述客户端的公钥加密所述第一密钥碎片后生成的密文密钥碎片,以在所述服务器上备份所述第一密钥碎片。
21.一种服务器,应用于区块链网络,其特征在于,包括:
请求接收模块,用于接收客户端发起的创建协同地址的请求,所述请求中携带与第一密钥碎片相关的第一参数及第一证据,所述第一密钥碎片由所述客户端生成;
碎片生成模块,用于响应于所述请求,生成第二密钥碎片;
响应发送模块,用于向所述客户端返回响应,所述响应中携带与所述第二密钥碎片相关的第二参数及第二证据;
地址生成模块,用于当基于零知识证明算法验证所述第一证据为真时,根据所述第一参数和所述第二参数生成协同地址。
22.如权利要求21所述的服务器,其特征在于,所述第一参数根据所述第一密钥碎片生成,所述第一证据是将所述第一密钥碎片及所述第一参数,输入至所述零知识证明算法的证据生成算法生成;所述第二参数根据所述第二密钥碎片生成,所述第二证据是将所述第二密钥碎片及所述第二参数,输入至所述证据生成算法生成。
23.如权利要求21所述的服务器,其特征在于,所述请求中还携带有用所述客户端的公钥加密所述第一密钥碎片后生成的密文密钥碎片,以在所述服务器上备份所述第一密钥碎片。
24.一种存储介质,其上存储有计算机程序,应用于区块链网络中的服务器,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
接收客户端发起的创建协同地址的请求,所述请求中携带与第一密钥碎片相关的第一参数及第一证据,所述第一密钥碎片由所述客户端生成;
响应于所述请求,生成第二密钥碎片;
向所述客户端返回响应,所述响应中携带与所述第二密钥碎片相关的第二参数及第二证据;
当基于零知识证明算法验证所述第一证据为真时,根据所述第一参数和所述第二参数生成协同地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910565773.7A CN110363528B (zh) | 2019-06-27 | 2019-06-27 | 协同地址的生成、交易签名方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910565773.7A CN110363528B (zh) | 2019-06-27 | 2019-06-27 | 协同地址的生成、交易签名方法及装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110363528A true CN110363528A (zh) | 2019-10-22 |
CN110363528B CN110363528B (zh) | 2022-06-24 |
Family
ID=68217165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910565773.7A Active CN110363528B (zh) | 2019-06-27 | 2019-06-27 | 协同地址的生成、交易签名方法及装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110363528B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111934889A (zh) * | 2020-10-13 | 2020-11-13 | 百度在线网络技术(北京)有限公司 | 密钥生成方法、签名和验签方法、装置、设备和介质 |
WO2024058896A1 (en) * | 2022-09-13 | 2024-03-21 | Microsoft Technology Licensing, Llc | Decryption key generation and recovery |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850200A (zh) * | 2017-01-25 | 2017-06-13 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 一种使用基于区块链的数字货币的方法、系统及终端 |
US20170221052A1 (en) * | 2015-07-14 | 2017-08-03 | Fmr Llc | Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems |
WO2017192837A1 (en) * | 2016-05-04 | 2017-11-09 | Silvio Micali | Distributed transaction propagation and verification system |
AU2018100477A4 (en) * | 2016-03-28 | 2018-05-10 | Black Gold Coin, Inc. | Systems and methods for providing block chain-based multifactor personal identity verification |
CN108389046A (zh) * | 2018-02-07 | 2018-08-10 | 西安交通大学 | 一种电子商务中基于区块链技术的隐私保护交易方法 |
CN108418689A (zh) * | 2017-11-30 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种适合区块链隐私保护的零知识证明方法和介质 |
CN108418680A (zh) * | 2017-09-05 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种基于多方安全计算技术的区块链密钥恢复方法、介质 |
CN108764874A (zh) * | 2018-05-17 | 2018-11-06 | 深圳前海微众银行股份有限公司 | 基于区块链的匿名转账方法、系统及存储介质 |
CN109064146A (zh) * | 2018-08-07 | 2018-12-21 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种数字货币交易方法、设备、系统、终端及客户端钱包 |
CN109118363A (zh) * | 2018-08-14 | 2019-01-01 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 基于区块链的数字货币钱包地址管理方法、装置及设备 |
CN109359957A (zh) * | 2018-09-17 | 2019-02-19 | 中国银联股份有限公司 | 一种安全多方计算的方法及相关装置 |
CN109377360A (zh) * | 2018-08-31 | 2019-02-22 | 西安电子科技大学 | 基于加权门限签名算法的区块链资产交易转账方法 |
CN109872155A (zh) * | 2019-02-22 | 2019-06-11 | 矩阵元技术(深圳)有限公司 | 数据处理方法和装置 |
CN109919611A (zh) * | 2019-01-15 | 2019-06-21 | 如般量子科技有限公司 | 基于对称密钥池服务器的抗量子计算区块链交易方法和系统 |
-
2019
- 2019-06-27 CN CN201910565773.7A patent/CN110363528B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170221052A1 (en) * | 2015-07-14 | 2017-08-03 | Fmr Llc | Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems |
AU2018100477A4 (en) * | 2016-03-28 | 2018-05-10 | Black Gold Coin, Inc. | Systems and methods for providing block chain-based multifactor personal identity verification |
WO2017192837A1 (en) * | 2016-05-04 | 2017-11-09 | Silvio Micali | Distributed transaction propagation and verification system |
CN106850200A (zh) * | 2017-01-25 | 2017-06-13 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 一种使用基于区块链的数字货币的方法、系统及终端 |
CN108418680A (zh) * | 2017-09-05 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种基于多方安全计算技术的区块链密钥恢复方法、介质 |
CN108418689A (zh) * | 2017-11-30 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种适合区块链隐私保护的零知识证明方法和介质 |
CN108389046A (zh) * | 2018-02-07 | 2018-08-10 | 西安交通大学 | 一种电子商务中基于区块链技术的隐私保护交易方法 |
CN108764874A (zh) * | 2018-05-17 | 2018-11-06 | 深圳前海微众银行股份有限公司 | 基于区块链的匿名转账方法、系统及存储介质 |
CN109064146A (zh) * | 2018-08-07 | 2018-12-21 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种数字货币交易方法、设备、系统、终端及客户端钱包 |
CN109118363A (zh) * | 2018-08-14 | 2019-01-01 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 基于区块链的数字货币钱包地址管理方法、装置及设备 |
CN109377360A (zh) * | 2018-08-31 | 2019-02-22 | 西安电子科技大学 | 基于加权门限签名算法的区块链资产交易转账方法 |
CN109359957A (zh) * | 2018-09-17 | 2019-02-19 | 中国银联股份有限公司 | 一种安全多方计算的方法及相关装置 |
CN109919611A (zh) * | 2019-01-15 | 2019-06-21 | 如般量子科技有限公司 | 基于对称密钥池服务器的抗量子计算区块链交易方法和系统 |
CN109872155A (zh) * | 2019-02-22 | 2019-06-11 | 矩阵元技术(深圳)有限公司 | 数据处理方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111934889A (zh) * | 2020-10-13 | 2020-11-13 | 百度在线网络技术(北京)有限公司 | 密钥生成方法、签名和验签方法、装置、设备和介质 |
CN111934889B (zh) * | 2020-10-13 | 2021-02-26 | 百度在线网络技术(北京)有限公司 | 密钥生成方法、签名和验签方法、装置、设备和介质 |
WO2024058896A1 (en) * | 2022-09-13 | 2024-03-21 | Microsoft Technology Licensing, Llc | Decryption key generation and recovery |
Also Published As
Publication number | Publication date |
---|---|
CN110363528B (zh) | 2022-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11689371B2 (en) | Techniques for securing digital signatures using multi-party computation | |
CN108418680B (zh) | 一种基于安全多方计算技术的区块链密钥恢复方法、介质 | |
CN106779707B (zh) | 基于区块链的数字货币交易信息的监管方法、装置及系统 | |
CN106961336B (zh) | 一种基于sm2算法的密钥分量托管方法和系统 | |
CN107483212B (zh) | 一种双方协作生成数字签名的方法 | |
US10944566B2 (en) | Methods and systems for supporting fairness in secure computations | |
US10461933B2 (en) | Methods for secure credential provisioning | |
CN110289968B (zh) | 私钥恢复、协同地址的创建、签名方法及装置、存储介质 | |
CN108292402A (zh) | 用于信息的安全交换的公共秘密的确定和层级确定性密钥 | |
CN108352015A (zh) | 用于基于区块链的系统结合钱包管理系统的安全多方防遗失存储和加密密钥转移 | |
WO2021174927A1 (zh) | 基于区块链的身份校验方法、装置、设备及存储介质 | |
CN112215608A (zh) | 数据处理方法和装置 | |
CN109872155A (zh) | 数据处理方法和装置 | |
CN104685826A (zh) | 用于双方安全功能评估的输入一致性校验 | |
CN107171796A (zh) | 一种多kmc密钥恢复方法 | |
CN102170356A (zh) | 一种支持数字签名密钥专属控制的认证系统实现方法 | |
CN110138548B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统 | |
CN109861956B (zh) | 基于状态通道的数据验证系统、方法、装置及设备 | |
US7991151B2 (en) | Method for secure delegation of calculation of a bilinear application | |
CN114580029A (zh) | 一种区块链数字资产隐私保护方法、装置、设备及存储介质 | |
El Defrawy et al. | Founding digital currency on secure computation | |
CN109547208A (zh) | 金融电子设备主密钥在线分发方法及系统 | |
CN110716724B (zh) | 基于fpga实现隐私区块链的方法及装置 | |
CN110363528A (zh) | 协同地址的生成、交易签名方法及装置、存储介质 | |
CN110098925A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40010315 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |