CN112367168A - 一种区块链用户的密钥生成的方法及装置 - Google Patents

一种区块链用户的密钥生成的方法及装置 Download PDF

Info

Publication number
CN112367168A
CN112367168A CN202011191594.0A CN202011191594A CN112367168A CN 112367168 A CN112367168 A CN 112367168A CN 202011191594 A CN202011191594 A CN 202011191594A CN 112367168 A CN112367168 A CN 112367168A
Authority
CN
China
Prior art keywords
user
key
node
private key
transaction
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
Application number
CN202011191594.0A
Other languages
English (en)
Inventor
莫楠
石翔
王�章
贺双洪
郭锐
李辉忠
范瑞彬
张开翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202011191594.0A priority Critical patent/CN112367168A/zh
Publication of CN112367168A publication Critical patent/CN112367168A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种区块链用户的密钥生成的方法及装置,包括:第一节点从智能合约获取用户客户端发起的第一交易,其中,第一交易中携带有用于标识用户的身份信息的用户公钥和用于标识用户客户端的地址信息,然后第一节点基于智能合约,根据自身存储的主密钥分片和用户公钥生成用户的私钥分片,主密钥分片是第二节点对主密钥进行分片后分发给第一节点的,第一节点根据地址信息,将用户的私钥分片发送给用户客户端,防止主密钥的泄露,用户客户端用于针对用户的私钥分片生成用户的用户私钥,不再通过主密钥生成用户私钥,不再需要主密钥和第三方的参与,实现了去中心化的生成用户私钥。

Description

一种区块链用户的密钥生成的方法及装置
技术领域
本发明涉及金融科技(Fintech)领域,尤其涉及一种区块链用户的密钥生成的方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术(例如:区块链、云计算或大数据)应用在金融领域,传统金融业正在逐步向金融科技转变,大数据技术也不例外,但由于金融、支付行业的安全性、实时性要求,也对大数据技术提出的更高的要求。
现有技术中,以Hyperledger Fabric(分布式超级账本)为代表的多种区块链平台使用基于PKI(Public Key Infrastructure,公钥基础设施)密钥体系的身份管理体系,每个区块链的交易发送方持有公钥和由第三方可信的CA(Certification Authority,签发权利)机构对公钥颁发的证书,以保证公钥的真实性,其中,公钥是一串无意义的字符串,交易验证方需要借助证书来推导出该公钥背后用户的真实信息,但是中心化系统的做法与区块链系统去中心化理念不符,且第三方可信的CA需要管理和维护大量的数据,占据了大量的资源。
因此,需要提供一种去中心化的密钥管理方法,不再通过中心化的主密钥生成用户的私钥,且减少公钥数据的管理和维护,节省资源。
发明内容
本发明实施例提供一种区块链用户的密钥生成的方法及装置,用于实现去中心化的生成区块链用户的密钥。
第一方面,本发明实施例提供一种区块链用户的密钥生成的方法,包括:
第一节点从智能合约获取用户客户端发起的第一交易;所述第一交易中携带有用于标识用户的身份信息的用户公钥和用于标识用户客户端的地址信息;
所述第一节点基于所述智能合约,根据自身存储的主密钥分片和所述用户公钥生成针对所述用户的私钥分片;所述主密钥分片是第二节点对主密钥进行分片后分发给所述第一节点的;
所述第一节点根据所述地址信息,将所述私钥分片发送给所述用户客户端;所述私钥分片用于所述用户客户端生成所述用户的用户私钥。
上述技术方案中,第一节点得到主密钥的分片,在获取到用户的用户私钥时,第一节点根据自身的主密钥分片和得到的用户公钥生成该用户的私钥分片,然后将生成的该用户的私钥分片发送至该用户的用户客户端,并不是将主密钥的分片发送至该用户的用户客户端,防止主密钥的泄露,且保证了主密钥不被公开。用户客户端在接收到第一节点发送的私钥分片之后确定出该用户的用户私钥,不再通过主密钥生成用户的用户私钥,即在生成用户私钥时,不再需要主密钥和第三方的参与,增加了用户私钥的安全性,减少了第三方的参与,实现了去中心化的生成用户私钥。
可选的,根据自身存储的主密钥分片和所述用户公钥生成针对所述用户的私钥分片,包括:
所述第一节点将所述用户公钥和所述主密钥分片通过基于身份的加密算法确定出针对所述用户的私钥分片。
上述技术方案中,第一节点根据用户的用户公钥和自身的主密钥分片通过身份的加密算法确定出用户的私钥分片,以防止主密钥分片泄露。
可选的,所述第一节点从智能合约获取用户客户端发起的第一交易之前,还包括:
第三节点接收所述用户客户端发送的所述第一交易;
所述第三节点在所述第一交易满足验证要求和共识要求后,将所述第一交易写入所述智能合约;
所述第一节点从智能合约获取用户客户端发起的第一交易,包括:
所述第一节点通过注册机制从所述智能合约获取所述第一交易。
可选的,所述方法还包括:
所述第二节点对主密钥进行分片后分发给第一节点之后,删除所述主密钥。
可选的,所述主密钥分片是第二节点对主密钥进行分片后分发给所述第一节点的,包括:
所述第二节点使用随机数算法得到所述主密钥;
所述第二节点根据所述主密钥确定出主密钥函数;
所述第二节点随机从所述主密钥函数中确定出多个坐标点作为多个主密钥分片;所述坐标点与所述主密钥分片一一对应;
所述第二节点将多个主密钥分片随机发送至多个第一节点;所述主密钥分片与所述第一节点一一对应。
上述技术方案中,第二节点在将主密钥分片发送至第一节点之后,将主密钥函数和主密钥销毁,防止主密钥的泄露,保证了主密钥不被公开,增加了用户私钥的安全性。
第二方面,本发明实施例提供一种区块链用户的密钥生成的方法,包括:
用户客户端将用户发起的携带用户公钥的第一交易发送至区块链系统;所述第一交易用于指示所述区块链系统将所述第一交易存储至智能合约;所述用户公钥用于标识用户的身份信息;
所述用户客户端接收多个第一节点发送的针对所述用户的私钥分片;任一私钥分片是第一节点基于所述智能合约通过自身存储的主密钥分片和所述用户公钥生成的;各主密钥分片是第二节点对主密钥进行分片后分发给各第一节点的;
所述用户客户端根据所述用户的多个私钥分片,生成所述用户的用户私钥。
上述技术方案中,用户的用户客户端接收多个第一节点发送的用户的私钥分片,根据多个私钥分片生成用户的用户私钥,并不是根据主密钥分片或者主密钥生成用户私钥,不再需要主密钥和第三方的参与,增加了私钥的安全性,减少了第三方的参与,实现了去中心化的生成用户私钥。
可选的,生成所述用户的用户私钥,包括:
所述用户客户端在接收到针对所述用户的私钥分片的数量不少于数量阈值后,生成所述用户的用户私钥;所述数量阈值是根据主密钥分片的数量确定的。
第三方面,本发明实施例提供一种区块链用户的密钥生成的装置,包括:
获取模块,用于从智能合约获取用户客户端发起的第一交易;所述第一交易中携带有用于标识用户的身份信息的用户公钥和用于标识用户客户端的地址信息;
处理模块,用于基于所述智能合约,根据自身存储的主密钥分片和所述用户公钥生成针对所述用户的私钥分片;所述主密钥分片是第二节点对主密钥进行分片后分发给所述第一节点的;
根据所述地址信息,将所述私钥分片发送给所述用户客户端;所述私钥分片用于所述用户客户端生成所述用户的用户私钥。
可选的,所述处理模块具体用于:
将所述用户公钥和所述主密钥分片通过基于身份的加密算法确定出针对所述用户的私钥分片。
可选的,所述处理模块具体用于:
通过注册机制从所述智能合约获取所述第一交易。
第四方面,本发明实施例提供一种区块链用户的密钥生成的装置,包括:
发送单元,用于将用户发起的携带用户公钥的第一交易发送至区块链系统;所述第一交易用于指示所述区块链系统将所述第一交易存储至智能合约;所述用户公钥用于标识用户的身份信息;
接收单元,用于接收多个第一节点发送的针对所述用户的私钥分片;任一私钥分片是第一节点基于所述智能合约通过自身存储的主密钥分片和所述用户公钥生成的;各主密钥分片是第二节点对主密钥进行分片后分发给各第一节点的;
生成单元,用于根据所述用户的多个私钥分片,生成所述用户的用户私钥。
可选的,所述生成单元具体用于:
在接收到针对所述用户的私钥分片的数量不少于数量阈值后,生成所述用户的用户私钥;所述数量阈值是根据主密钥分片的数量确定的。
第五方面,本发明实施例还提供一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链用户的密钥生成的方法。
第六方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述区块链用户的密钥生成的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构示意图;
图2为本发明实施例提供的一种区块链用户的密钥生成的方法的流程示意图;
图3为本发明实施例提供的一种区块链用户的密钥生成的方法的流程示意图;
图4为本发明实施例提供的一种区块链用户的密钥生成的方法的流程示意图;
图5为本发明实施例提供的一种区块链用户的密钥生成的装置的结构示意图;
图6为本发明实施例提供的一种区块链用户的密钥生成的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在现有技术中,基于身份的密钥生成方法包括IBE算法(Identity BasedEncryption,基于身份的加密算法),交易发送方的公钥为有意义的字符串,如发送方的邮箱、电话等,然而用户的私钥是根据一个可信的第三方生成器PKG(Private KeyGenerator,私钥产生中心),虽然基于身份的加密体系IBE不需要验证公钥,但是需要一个可信的第三方生成器根据自身的主密钥和用户的公钥生成用户的私钥,这与区块链中的去中心化的理念并不相符。以此本发明实施例中提供了一种去中心化的密钥生成的方法。
图1示例性的示出了本发明实施例所适用的一种系统架构,该系统架构包括用户客户端110和区块链系统120。
区块链系统120中包括第三节点111、第一节点121和智能合约200。其中第一节点121可以为多个,在此不做具体数量限定。
其中,用户客户端110用于发起携带用户公钥的第一交易,然后由用户客户端110在区块链系统120中的第三节点111和区块链系统120中的共识节点对第一交易进行验证(如交易金额、交易地址等)和共识(如通过拜占庭方法进行共识第一交易),在第一交易满足验证要求和共识要求后,第三节点111将第一交易写入区块链系统120中的智能合约200,其中,第一交易中包括用于标识用户客户端的地址信息,如用户的IP地址等。
用户客户端110还用于在得到用户的私钥分片达到数量阈值时,根据用户的私钥分片生成用户的用户私钥,其中,用户的私钥分片包括第一节点121根据第一交易得到的和/或第三节点根据第一交易得到的。
第一节点121执行区块链系统120中的智能合约200。例如,获取第一交易的用户公钥,根据用户公钥和第一节点121自身的主密钥分片生成用户的私钥分片,然后根据用户客户端的地址信息将用户的私钥分片发送至用户客户端110,不通过区块链系统120发送,防止私钥分片泄露。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图2示例性的示出了本发明实施例提供的一种区块链用户的密钥生成的方法的流程,该流程可由区块链用户的密钥生成的装置执行。
如图2所示,该流程具体包括:
步骤210,第一节点从智能合约获取用户客户端发起的第一交易。
本发明实施例中,第一节点通过注册机制从智能合约获取所述第一交易,其中,第一交易中携带有用于标识用户的身份信息的用户公钥和用于标识用户客户端的地址信息,例如用户公钥为用户的电话号码,用户客户端的地址信息为用户的IP地址。
步骤220,所述第一节点基于所述智能合约,根据自身存储的主密钥分片和所述用户公钥生成针对所述用户的私钥分片。
本发明实施例中,主密钥分片是第二节点对主密钥进行分片后分发给所述第一节点的,而第二节点可以为第一节点中任一节点,也可以为区块链中任一节点,第二节点对主密钥进行分片后分发给第一节点之后,删除主密钥,而主密钥是第二节点随机生成的,然后第二节点根据随机生成的主密钥进行分片并发放。
进一步地,第二节点使用随机数算法得到主密钥,然后根据主密钥确定出主密钥函数,再随机从主密钥函数中确定出多个坐标点作为多个主密钥分片,再将多个主密钥分片随机发送至多个第一节点,其中,坐标点与主密钥分片一一对应,主密钥分片与第一节点一一对应。例如随机选取从所述主密钥函数确定n个坐标点(n个坐标点均不相同)作为n个主密钥分片,然后将n个主密钥分片随机发送至n个第一节点(即向每个第一节点发送一个主密钥分片),其中,n为正整数,最后销毁主密钥函数和主密钥。
为了更好的解释上述主密钥分片的技术方案,下面将在具体实例中进行阐述。
实例1
第二节点使用随机数算法生成主密钥S,其中主密钥S可以作为一个256位的数值,然后建立主密钥函数,如下述公式1所示的主密钥函数。
F(x)=S+a1*x1+a2*x2+…+at-1*xt-1……………………………………(1)
其中,主密钥函数F(x)为多项式,主密钥S为多项式F(x)的第0阶常量系数,a是随机数,t是根据数量阈值确定的正整数值。
然后可以根据多项式F(x)创建曲线,设曲线的y值与F(x)的值相等,在多项式F(x)中随机选取n个不同的x值,得到n个不同的y值,进而得到n个坐标点(xi,yi),然后将不同的坐标点(xi,yi)作为主密钥分年随机发送至n个第一节点,然后销毁多项式F(x)和主密钥S,以此,第一节点获取到主密钥分片,并存储至第一节点的客户端,并非对主密钥分片进行上链,以防止主密钥分片泄露。然后第一节点在得到用户公钥之后,根据自身客户端的主密钥分片和用户公钥生成用户的用户私钥。
具体的,第一节点将用户公钥和主密钥分片通过基于身份的加密算法确定出针对用户的私钥分片。
本发明实施例中,第一节点通过基于身份的加密算法(如IBE算法)将自身客户端的主密钥分片和用户公钥映射为用户的私钥分片,需要说明的是,私钥分片为一个数据对,如(k,z)。
示例性的,第一节点从智能合约获取用户客户端发起的第一交易之前,第三节点接收用户客户端发送的第一交易,第三节点在第一交易满足验证要求和共识要求后,将第一交易写入所述智能合约。其中,验证要求用于指示第一交易中用户的身份信息是否正确。需要说明的是,第三节点可以是任一的第一节点,也可以是区块链中任一节点,即第三节点可以根据自身的主密钥分片和自身发起的第一交易中的用户公钥确定出自身的私钥分片。
步骤230,所述第一节点根据所述地址信息,将所述私钥分片发送给所述用户客户端。
本发明实施例中,第一节点生成用户的用户私钥之后,根据第一交易中的用户的地址信息,将用户私钥发送至用户客户端。
基于上述技术方案,图3示例性的示出了本发明实施例提供的一种区块链用户的密钥生成的方法的流程,该流程可由区块链用户的密钥生成的装置执行。
如图3所示,具体流程包括:
步骤310,用户客户端将用户发起的携带用户公钥的第一交易发送至区块链系统。
本发明实施例中,第一交易用于指示区块链系统将第一交易存储至智能合约,用户公钥用于标识用户的身份信息。
步骤320,所述用户客户端接收多个第一节点发送的针对所述用户的私钥分片。
本发明实施例中,任一私钥分片是第一节点基于智能合约通过自身存储的主密钥分片和用户公钥生成的,各主密钥分片是第二节点对主密钥进行分片后分发给各第一节点的。
步骤330,所述用户客户端根据所述用户的多个私钥分片,生成所述用户的用户私钥。
本发明实施例中,用户客户端在接收到针对用户的私钥分片的数量不少于数量阈值后,生成用户的用户私钥,其中,数量阈值是根据主密钥分片的数量确定的。
具体的,用户客户端根据用户私钥函数和不少于数量阈值的私钥分片确定出用户私钥,为了更好的解释生成用户私钥的技术方案,下面将在具体实例中进行阐述。
实例2
如下述公式(2)所示的用户私钥函数。
F(k)=L+b1*k1+b2*k2+…+bt-1*kt-1……………………………………(2)
其中,用户私钥函数F(k)为多项式,用户私钥L为多项式F(k)的第0阶常量系数,b是随机数,t是数量阈值。需要说明的是,任一用户客户端的私钥函数F(k)在同一次生成用户私钥的过程中是相同的,而每次生成用户私钥的过程随机数是不同的,例如,用户C在生成用户私钥时的随机数与用户D在生成用户私钥时的随机数是不相同的,但在用户C生成用户私钥的过程中,各第一节点的用户私钥函数是相同的。
用户私钥函数F(k)与主密钥函数F(x)中的t是相等的,进而可以通过多个私钥分片确定出用户私钥L的值,为了更好的解释上述图2和图3的技术方案,下面结合上述实例1和实例2在具体实例中进行阐述。
实例3
图4示例性的示出了一种区块链用户的密钥生成的方法的流程示意图,如图4所示,第二节点B将主密钥S分为n(n为主密钥分片的总数量)个,其中n为4个,S=15,数量阈值为n与1的差值,即数量阈值为3。然后随机赋予主密钥函数中x的值,得到的4个主密钥分片分别为:主密钥分片1(1,22)、主密钥分片2(2,0)、主密钥分片3(3,18)和主密钥分片4(4,7),并将各主密钥分片分发至第一节点,图4所示,向第一节点1分发主密钥分片1,向第一节点2分发主密钥分片2,向第一节点3分发主密钥分片3,向第三节点A(即第三节点为第一节点)分发主密钥分片4。
用户客户端A通过第三节点A将第一交易存储至智能合约,其中,第一交易包括用户的用户公钥A。
各第一节点通过注册机制从智能合约获取第一交易中的公钥A之后,结合自身的主密钥分片和公钥A得到私钥分片,如,第一节点1根据主密钥分片1和公钥A通过IBE算法,生成用户A的私钥分片1(1,14),然后根据智能合约将用户A的私钥分片通过用户A的地址信息发送至用户客户端A,相同的,第一节点2生成用户A的私钥分片2(2,7),第一节点3生成用户A的私钥分片3(3,-4),第三节点A生成用户A的私钥分片4(0,15)。
用户客户端A接收多个第一节点(包括第三节点A)发送的用户A的私钥分片,若接收到的用户A的私钥分片的数量达到3(数量阈值)个,则根据用户私钥函数得到用户A的用户私钥。例如,用户客户端A接收到的私钥分片分别为私钥分片1(1,14)、私钥分片2(2,7)、私钥分片3(3,-4),则结合上述公式(2)可以得出3个关系式:14=L+b1+b2,7=L+2b1+4b2,-4=L+3b1+9b2。通过等式变换可以得出L=17,进而得到用户私钥L的值。其中,17仅为示例性的说明,实质上L为一个256位的数值。
本发明实施例中,第一节点根据自身的主密钥分片获取到的用户私钥后生成该用户的私钥分片,然后将生成的用户的私钥分片发送至用户的用户客户端,并不是将主密钥的分片发送至该用户的用户客户端,防止主密钥分片的泄露,保证了主密钥不被公开。用户客户端在接收到第一节点发送的私钥分片达到数量阈值之后确定出用户私钥,不再通过主密钥,也不是通过主密钥分片生成主密钥,即在生成用户私钥时,不再需要主密钥和第三方的参与,增加了私钥的安全性,减少了第三方的参与,实现了去中心化的生成用户私钥。
基于相同的技术构思,图5示例性的示出了本发明实施例提供的一种区块链用户的密钥生成的装置的结构,该装置可以执行区块链用户的密钥生成的装置的方法的流程。
如图5所示,该装置具体包括:
获取模块510,用于从智能合约获取用户客户端发起的第一交易;所述第一交易中携带有用于标识用户的身份信息的用户公钥和用于标识用户客户端的地址信息;
处理模块520,用于基于所述智能合约,根据自身存储的主密钥分片和所述用户公钥生成针对所述用户的私钥分片;所述主密钥分片是第二节点对主密钥进行分片后分发给所述第一节点的;
根据所述地址信息,将所述私钥分片发送给所述用户客户端;所述私钥分片用于所述用户客户端生成所述用户的用户私钥。
可选的,所述处理模块520具体用于:
将所述用户公钥和所述主密钥分片通过基于身份的加密算法确定出针对所述用户的私钥分片。
可选的,所述处理模块520具体用于:
通过注册机制从所述智能合约获取所述第一交易。
基于相同的技术构思,图6示例性的示出了本发明实施例提供的一种区块链用户的密钥生成的装置的结构,该装置可以执行区块链用户的密钥生成的装置的方法的流程。
如图6所示,该装置具体包括:
发送单元610,用于将用户发起的携带用户公钥的第一交易发送至区块链系统;所述第一交易用于指示所述区块链系统将所述第一交易存储至智能合约;所述用户公钥用于标识用户的身份信息;
接收单元620,用于接收多个第一节点发送的针对所述用户的私钥分片;任一私钥分片是第一节点基于所述智能合约通过自身存储的主密钥分片和所述用户公钥生成的;各主密钥分片是第二节点对主密钥进行分片后分发给各第一节点的;
生成单元630,用于根据所述用户的多个私钥分片,生成所述用户的用户私钥。
可选的,所述生成单元具体用于:
在接收到针对所述用户的私钥分片的数量不少于数量阈值后,生成所述用户的用户私钥;所述数量阈值是根据主密钥分片的数量确定的。
基于相同的技术构思,本发明实施例还提供一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链用户的密钥生成的方法。
基于相同的技术构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述区块链用户的密钥生成的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (11)

1.一种区块链用户的密钥生成的方法,其特征在于,包括:
第一节点从智能合约获取用户客户端发起的第一交易;所述第一交易中携带有用于标识用户的身份信息的用户公钥和用于标识用户客户端的地址信息;
所述第一节点基于所述智能合约,根据自身存储的主密钥分片和所述用户公钥生成针对所述用户的私钥分片;所述主密钥分片是第二节点对主密钥进行分片后分发给所述第一节点的;
所述第一节点根据所述地址信息,将所述私钥分片发送给所述用户客户端;所述私钥分片用于所述用户客户端生成所述用户的用户私钥。
2.如权利要求1所述的方法,其特征在于,根据自身存储的主密钥分片和所述用户公钥生成针对所述用户的私钥分片,包括:
所述第一节点将所述用户公钥和所述主密钥分片通过基于身份的加密算法确定出针对所述用户的私钥分片。
3.如权利要求1所述的方法,其特征在于,所述第一节点从智能合约获取用户客户端发起的第一交易之前,还包括:
第三节点接收所述用户客户端发送的所述第一交易;
所述第三节点在所述第一交易满足验证要求和共识要求后,将所述第一交易写入所述智能合约;
所述第一节点从智能合约获取用户客户端发起的第一交易,包括:
所述第一节点通过注册机制从所述智能合约获取所述第一交易。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述第二节点对主密钥进行分片后分发给所述第一节点之后,删除所述主密钥。
5.如权利要求1至4任一项所述的方法,其特征在于,所述主密钥分片是第二节点对主密钥进行分片后分发给所述第一节点的,包括:
所述第二节点使用随机数算法得到所述主密钥;
所述第二节点根据所述主密钥确定出主密钥函数;
所述第二节点随机从所述主密钥函数中确定出多个坐标点作为多个主密钥分片;所述坐标点与所述主密钥分片一一对应;
所述第二节点将多个主密钥分片随机发送至多个第一节点;所述主密钥分片与所述第一节点一一对应;
所述第二节点销毁所述主密钥函数和所述主密钥。
6.一种区块链用户的密钥生成的方法,其特征在于,包括:
用户客户端将用户发起的携带用户公钥的第一交易发送至区块链系统;所述第一交易用于指示所述区块链系统将所述第一交易存储至智能合约;所述用户公钥用于标识用户的身份信息;
所述用户客户端接收多个第一节点发送的针对所述用户的私钥分片;任一私钥分片是第一节点基于所述智能合约通过自身存储的主密钥分片和所述用户公钥生成的;各主密钥分片是第二节点对主密钥进行分片后分发给各第一节点的;
所述用户客户端根据所述用户的多个私钥分片,生成所述用户的用户私钥。
7.如权利要求6所述的方法,其特征在于,生成所述用户的用户私钥,包括:
所述用户客户端在接收到针对所述用户的私钥分片的数量不少于数量阈值后,生成所述用户的用户私钥;所述数量阈值是根据主密钥分片的数量确定的。
8.一种区块链用户的密钥生成的装置,其特征在于,包括:
获取模块,用于从智能合约获取用户客户端发起的第一交易;所述第一交易中携带有用于标识用户的身份信息的用户公钥和用于标识用户客户端的地址信息;
处理模块,用于基于所述智能合约,根据自身存储的主密钥分片和所述用户公钥生成针对所述用户的私钥分片;所述主密钥分片是第二节点对主密钥进行分片后分发给所述第一节点的;
根据所述地址信息,将所述私钥分片发送给所述用户客户端;所述私钥分片用于所述用户客户端生成所述用户的用户私钥。
9.一种区块链用户的密钥生成的装置,其特征在于,包括:
发送单元,用于将用户发起的携带用户公钥的第一交易发送至区块链系统;所述第一交易用于指示所述区块链系统将所述第一交易存储至智能合约;所述用户公钥用于标识用户的身份信息;
接收单元,用于接收多个第一节点发送的针对所述用户的私钥分片;任一私钥分片是第一节点基于所述智能合约通过自身存储的主密钥分片和所述用户公钥生成的;各主密钥分片是第二节点对主密钥进行分片后分发给各第一节点的;
生成单元,用于根据所述用户的多个私钥分片,生成所述用户的用户私钥。
10.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至5或6至7任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1至5或6至7任一项所述的方法。
CN202011191594.0A 2020-10-30 2020-10-30 一种区块链用户的密钥生成的方法及装置 Pending CN112367168A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011191594.0A CN112367168A (zh) 2020-10-30 2020-10-30 一种区块链用户的密钥生成的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011191594.0A CN112367168A (zh) 2020-10-30 2020-10-30 一种区块链用户的密钥生成的方法及装置

Publications (1)

Publication Number Publication Date
CN112367168A true CN112367168A (zh) 2021-02-12

Family

ID=74512348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011191594.0A Pending CN112367168A (zh) 2020-10-30 2020-10-30 一种区块链用户的密钥生成的方法及装置

Country Status (1)

Country Link
CN (1) CN112367168A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113362065A (zh) * 2021-07-07 2021-09-07 上海特高信息技术有限公司 一种基于分散式私钥的在线签名交易实现方法
CN113869901A (zh) * 2021-12-02 2021-12-31 腾讯科技(深圳)有限公司 密钥生成方法、装置、计算机可读存储介质及计算机设备
CN115296843A (zh) * 2022-06-29 2022-11-04 蚂蚁区块链科技(上海)有限公司 区块链系统中的交易执行方法、第一节点和第二节点

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113362065A (zh) * 2021-07-07 2021-09-07 上海特高信息技术有限公司 一种基于分散式私钥的在线签名交易实现方法
CN113869901A (zh) * 2021-12-02 2021-12-31 腾讯科技(深圳)有限公司 密钥生成方法、装置、计算机可读存储介质及计算机设备
CN115296843A (zh) * 2022-06-29 2022-11-04 蚂蚁区块链科技(上海)有限公司 区块链系统中的交易执行方法、第一节点和第二节点
CN115296843B (zh) * 2022-06-29 2024-04-16 蚂蚁区块链科技(上海)有限公司 区块链系统中的交易执行方法、第一节点和第二节点

Similar Documents

Publication Publication Date Title
CN110391911B (zh) 区块链匿名投票系统及方法
CN112367168A (zh) 一种区块链用户的密钥生成的方法及装置
TW201944755A (zh) 用以移轉數位資產存取權之電腦實施方法及系統
CN111066285A (zh) 基于sm2签名恢复公钥的方法
CN112152778B (zh) 一种节点管理方法、装置、及电子设备
CN112651742B (zh) 一种可监管的分布式机密交易系统及方法
CN111786812A (zh) 节点管理方法、装置、计算机设备和存储介质
CN113095827A (zh) 匿名多重签名方法、计算机设备和存储介质
CN111683090A (zh) 一种基于分布式存储的区块链数字签名方法及装置
CN111211905A (zh) 一种基于无证书认证的Fabric联盟链成员身份管理方法
CN105553667A (zh) 一种动态口令的生成方法
Bellare et al. Deterring certificate subversion: efficient double-authentication-preventing signatures
CN105187218A (zh) 一种多核心基础设施的数字化记录签名、验证方法
CN114528601B (zh) 基于区块链数据的访问方法和装置、处理器及电子设备
US20150023498A1 (en) Byzantine fault tolerance and threshold coin tossing
TW202318833A (zh) 臨界簽章方案
CN112000993A (zh) 一种基于区块链的数据存储验证方法、设备和存储介质
CN108664814A (zh) 一种基于代理的群组数据完整性验证方法
CN112671541A (zh) 一种区块链网络中节点管理的方法及装置
CN110706102B (zh) 一种用于联盟区块链的具有匿名性的多级签名方法
CN111680325A (zh) 一种数据加押方法及装置
CN114448632B (zh) 一种基于区块链的秘钥备份与恢复方法及系统
CN109687967B (zh) 电子签名方法和设备
CN111784338A (zh) 信息处理方法、装置、系统及存储介质
CN113691376B (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