区块链系统中的签名方法、签名系统以及相关设备技术方案

技术编号:23163857 阅读:22 留言:0更新日期:2020-01-21 22:24
本公开涉及一种区块链系统中的签名方法、签名系统以及相关设备,涉及计算机技术领域。本公开的方法包括:接收区块链节点发送的待签名信息和第一盲化口令信息,第一盲化口令信息是区块链节点根据用户输入的口令生成的,待签名信息包括:交易信息;利用存储的区块链节点加密后的私钥对待签名信息进行签名,得到初步签名结果,对第一盲化口令信息注入盐值,得到第一加盐结果;将初步签名结果和第一加盐结果返回至区块链节点,以便区块链节点根据初步签名结果和第一加盐结果计算最终签名结果,并发送至区块链系统中的验证节点进行验签。本公开能够提升区块链节点中用户签名的便捷性。

Signature method, signature system and related devices in blockchain system

【技术实现步骤摘要】
区块链系统中的签名方法、签名系统以及相关设备
本公开涉及计算机
,特别涉及一种区块链系统中的签名方法、签名系统以及相关设备。
技术介绍
区块链是具有链式结构、不可篡改且不可伪造的分布式共享账本。在区块链系统中,数字签名的公私钥构成了用户身份。其中,公钥作为地址是公开的;私钥是证明用户身份的证据,用户可以使用私钥来控制公钥对应的资产。密钥管理机制通常需要考虑以下几点:1)可获取性,即随时可以取用私钥并完成交易;2)安全性,即防止私钥的丢失和泄露;3)便捷性和低成本,即管理机制简单易行,且能够降低用户的硬件成本以及机制本身的计算通信代价。实际中,众多管理机制也以上述三个性质作为出发点进行设计和部署。私钥通常是一串很长的哈希值,用户无法直接记忆,通常通过硬件来存储。目前,区块链系统中常用的签名密钥管理机制包括硬件钱包(例如U盾)。硬件钱包通过防篡改硬件设备来存储私钥。
技术实现思路
专利技术人发现:采用硬件钱包存储用户私钥的方式,可能出现遗失等情况,并且用户需要随身携带,使用不方便。本公开所要解决的一个技术问题是:如何提高区块链系统中区块链节点用户签名的便捷性,提升用户体验。根据本公开的一些实施例,提供的一种区块链系统中的签名方法,包括:接收区块链节点发送的待签名信息和第一盲化口令信息,第一盲化口令信息是区块链节点根据用户输入的口令生成的,待签名信息包括:交易信息;利用存储的区块链节点加密后的私钥对待签名信息进行签名,得到初步签名结果,对第一盲化口令信息注入盐值,得到第一加盐结果;将初步签名结果和第一加盐结果返回至区块链节点,以便区块链节点根据初步签名结果和第一加盐结果计算最终签名结果,并发送至区块链系统中的验证节点进行验签。在一些实施例中,待签名信息还包括:第一承诺值,第一承诺值是区块链节点根据第一随机数生成的;利用存储的区块链节点加密后的私钥对待签名信息进行签名,得到初步签名结果包括:根据第二随机数生成第二承诺值;根据第一承诺值、第二承诺值、交易信息和加密后的私钥生成初步签名结果。在一些实施例中,根据第一承诺值、第二承诺值、交易信息和加密后的私钥生成初步签名结果包括:将第一承诺值、第二承诺值按照预设运算方法的运算结果,与交易信息进行连接,并对连接结果进行哈希运算,得到哈希值;根据第二随机数、哈希值、加密后的私钥生成初步签名值,初步签名结果包括初步签名值。在一些实施例中,该方法还包括:接收区块链节点发送的第二盲化口令信息,第二盲化口令信息是区块链节点根据用户输入的口令生成的;选取盐值,对第二盲化口令信息注入盐值,得到第二加盐结果;向区块链节点返回第二加盐结果,以便区块链节点根据第二加盐结果和私钥生成加密后的私钥;接收区块链节点返回的加密后的私钥,并将区块链节点的标识、盐值和加密后的私钥进行对应存储。根据本公开的另一些实施例,提供的一种区块链系统中的签名方法,包括:区块链节点响应于用户输入的口令生成第一盲化口令信息;区块链节点将第一盲化口令信息和待签名信息发送至签名服务器,待签名信息包括:交易信息;区块链节点接收签名服务器返回的初步签名结果和第一加盐结果,初步签名结果是签名服务器利用存储的区块链节点加密后的私钥对待签名信息进行签名的结果,第一加盐结果是签名服务器对第一盲化口令信息注入盐值的结果;区块链节点根据初步签名结果和第一加盐结果计算最终签名结果,并发送至区块链系统中的验证节点,以便验证节点进行验签。在一些实施例中,待签名信息还包括:第一承诺值,第一承诺值是区块链节点根据第一随机数生成的;初步签名结果是签名服务器根据第一承诺值、第二承诺值、交易信息和加密后的私钥生成的,其中,第二承诺值是签名服务器根据第二随机数生成的。在一些实施例中,区块链节点根据初步签名结果和第一加盐结果计算最终签名结果包括:区块链节点对第一加盐结果去盲化,得到口令保护值;区块链节点根据口令保护值和初步签名结果生成最终签名结果。在一些实施例中,初步签名结果包括:哈希值和初步签名值,哈希值是签名服务器根据第一承诺值、第二承诺值和交易信息进行哈希运算生成的,初步签名值是签名服务器根据第二随机数、哈希值、加密后的私钥生成的;区块链节点根据口令保护值和初步签名结果生成最终签名结果包括:区块链节点根据口令保护值、哈希值、初步签名值生成最终签名结果,最终签名结果为第一承诺值、第二承诺值、哈希值和私钥生成的结果。在一些实施例中,该方法还包括:区块链节点响应于用户输入的口令生成第二盲化口令信息;区块链节点将第二盲化口令信息发送至签名服务器,以便签名服务器选取盐值对第二盲化口令信息注入盐值,生成第二加盐结果;区块链节点接收签名服务器返回的第二加盐结果;区块链节点根据第二加盐结果和私钥生成加密后的私钥,并发送至签名服务器,以便签名服务器将区块链节点的标识、盐值和加密后的私钥进行对应存储。在一些实施例中,区块链节点根据第二加盐结果和私钥生成加密后的私钥包括:区块链节点对第二加盐结果去盲化,得到口令保护值;区块链节点根据口令保护值对私钥进行加密生成加密后的私钥。在一些实施例中,该方法还包括:区块链节点响应于签名服务器故障,向备用签名服务器发送第三盲化口令信息和待签名信息,其中,第三盲化口令信息是区块链节点响应于用户输入的备用口令生成的;区块链节点接收备用签名服务器返回的备用初步签名结果和第三加盐结果,备用初步签名结果是备用签名服务器利用存储的区块链节点备用加密后的私钥对待签名信息进行签名的结果,第三加盐结果是备用签名服务器对第三盲化口令信息注入盐值的结果;区块链节点根据备用初步签名结果和第三加盐结果计算备用最终签名结果,并发送至区块链系统中的验证节点,以便验证节点进行验签。根据本公开的又一些实施例,提供的一种签名服务器,包括:信息接收模块,用于接收区块链节点发送的待签名信息和第一盲化口令信息,第一盲化口令信息是区块链节点根据用户输入的口令生成的,待签名信息包括:交易信息;签名模块,用于利用存储的区块链节点加密后的私钥对待签名信息进行签名,得到初步签名结果;加盐模块,用于对第一盲化口令信息注入盐值,得到第一加盐结果;信息发送模块,用于将初步签名结果和第一加盐结果返回至区块链节点,以便区块链节点根据初步签名结果和第一加盐结果计算最终签名结果,并发送至区块链系统中的验证节点进行验签。在一些实施例中,待签名信息还包括:第一承诺值,第一承诺值是区块链节点根据第一随机数生成的;签名模块用于根据第二随机数生成第二承诺值,根据第一承诺值、第二承诺值、交易信息和加密后的私钥生成初步签名结果。在一些实施例中,签名模块用于将第一承诺值、第二承诺值按照预设运算方法的运算结果,与交易信息进行连接,并对连接结果进行哈希运算,得到哈希值;根据第二随机数、哈希值、加密后的私钥生成初步签名值,初步签名结果包括初步签名值。在一些实施例中,该签名服务器还包括:存储模块;信息接收模块还用于接收区块链节点发送的第二盲化口令信息,接收区块链节点返回的加密后的私钥;加盐模块还用于选取盐值本文档来自技高网...

【技术保护点】
1.一种区块链系统中的签名方法,包括:/n接收区块链节点发送的待签名信息和第一盲化口令信息,所述第一盲化口令信息是所述区块链节点根据用户输入的口令生成的,所述待签名信息包括:交易信息;/n利用存储的所述区块链节点加密后的私钥对所述待签名信息进行签名,得到初步签名结果,对所述第一盲化口令信息注入盐值,得到第一加盐结果;/n将所述初步签名结果和第一加盐结果返回至所述区块链节点,以便所述区块链节点根据初步签名结果和所述第一加盐结果计算最终签名结果,并发送至区块链系统中的验证节点进行验签。/n

【技术特征摘要】
1.一种区块链系统中的签名方法,包括:
接收区块链节点发送的待签名信息和第一盲化口令信息,所述第一盲化口令信息是所述区块链节点根据用户输入的口令生成的,所述待签名信息包括:交易信息;
利用存储的所述区块链节点加密后的私钥对所述待签名信息进行签名,得到初步签名结果,对所述第一盲化口令信息注入盐值,得到第一加盐结果;
将所述初步签名结果和第一加盐结果返回至所述区块链节点,以便所述区块链节点根据初步签名结果和所述第一加盐结果计算最终签名结果,并发送至区块链系统中的验证节点进行验签。


2.根据权利要求1所述的签名方法,其中,
所述待签名信息还包括:第一承诺值,所述第一承诺值是所述区块链节点根据第一随机数生成的;
所述利用存储的所述区块链节点加密后的私钥对所述待签名信息进行签名,得到初步签名结果包括:
根据第二随机数生成第二承诺值;
根据所述第一承诺值、第二承诺值、所述交易信息和所述加密后的私钥生成初步签名结果。


3.根据权利要求2所述的签名方法,其中,
所述根据所述第一承诺值、第二承诺值、所述交易信息和所述加密后的私钥生成初步签名结果包括:
将所述第一承诺值、第二承诺值按照预设运算方法的运算结果,与所述交易信息进行连接,并对连接结果进行哈希运算,得到哈希值;
根据所述第二随机数、所述哈希值、所述加密后的私钥生成初步签名值,所述初步签名结果包括所述初步签名值。


4.根据权利要求1所述的签名方法,还包括:
接收所述区块链节点发送的第二盲化口令信息,所述第二盲化口令信息是所述区块链节点根据用户输入的口令生成的;
选取所述盐值,对所述第二盲化口令信息注入盐值,得到第二加盐结果;
向所述区块链节点返回所述第二加盐结果,以便所述区块链节点根据第二加盐结果和私钥生成所述加密后的私钥;
接收所述区块链节点返回的所述加密后的私钥,并将所述区块链节点的标识、所述盐值和所述加密后的私钥进行对应存储。


5.一种区块链系统中的签名方法,包括:
区块链节点响应于用户输入的口令生成第一盲化口令信息;
所述区块链节点将第一盲化口令信息和待签名信息发送至签名服务器,所述待签名信息包括:交易信息;
所述区块链节点接收所述签名服务器返回的初步签名结果和第一加盐结果,所述初步签名结果是所述签名服务器利用存储的所述区块链节点加密后的私钥对待签名信息进行签名的结果,所述第一加盐结果是所述签名服务器对所述第一盲化口令信息注入盐值的结果;
所述区块链节点根据初步签名结果和所述第一加盐结果计算最终签名结果,并发送至区块链系统中的验证节点,以便所述验证节点进行验签。


6.根据权利要求5所述的签名方法,其中,
所述待签名信息还包括:第一承诺值,所述第一承诺值是所述区块链节点根据第一随机数生成的;
所述初步签名结果是所述签名服务器根据所述第一承诺值、第二承诺值、所述交易信息和所述加密后的私钥生成的,其中,所述第二承诺值是所述签名服务器根据第二随机数生成的。


7.根据权利要求5所述的签名方法,其中,
所述区块链节点根据初步签名结果和所述第一加盐结果计算最终签名结果包括:
所述区块链节点对所述第一加盐结果去盲化,得到口令保护值;
所述区块链节点根据所述口令保护值和所述初步签名结果生成最终签名结果。


8.根据权利要求7所述的签名方法,其中,
所述初步签名结果包括:哈希值和初步签名值,所述哈希值是所述签名服务器根据所述第一承诺值、第二承诺值和所述交易信息进行哈希运算生成的,所述初步签名值是所述签名服务器根据第二随机数、所述哈希值、所述加密后的私钥生成的;
所述区块链节点根据所述口令保护值和所述初步签名结果生成最终签名结果包括:
所述区块链节点根据所述口令保护值、所述哈希值、所述初步签名值生成最终签名结果,所述最终签名结果为所述第一承诺值、所述第二承诺值、所述哈希值和所述私钥生成的结果。


9.根据权利要求5所述的签名方法,还包括:
所述区块链节点响应于用户输入的口令生成第二盲化口令信息;
所述区块链节点将第二盲化口令信息发送至所述签名服务器,以便所述签名服务器选取盐值对所述第二盲化口令信息注入盐值,生成第二加盐结果;
所述区块链节点接收所述签名服务器返回的所述第二加盐结果;
所述区块链节点根据第二加盐结果和私钥生成所述加密后的私钥,并发送至所述签名服务器,以便所述签名服务器将所述区块链节点的标识、所述盐值和所述加密后的私钥进行对应存储。


10.根据权利要求9所述的签名方法,其中,
所述区块链节点根据第二加盐结果和私钥生成所述加密后的私钥包括:
所述区块链节点对所述第二加盐结果去盲化,得到所述口令保护值;
所述区块链节点根据所述口令保护值对所述私钥进行加密生成加密后的私钥。


11.根据权利要求5所述的签名方法,还包括:
所述区块链节点响应于所述签名服务器故障,向备用签名服务器发送第三盲化口令信息和所述待签名信息,其中,所述第三盲化口令信息是所述区块链节点响应于用户输入的备用口令生成的;
所述区块链节点接收所述备用签名服务器返回的备用初步签名结果和第三加盐结果,所述备用初步签名结果是所述备用签名服务器利用存储的所述区块链节点备用加密后的私钥对待签名信息进行签名的结果,所述第三加盐结果是所述备用签名服务器对所述第三盲化口令信息注入盐值的结果;
所述区块链节点根据备用初步签名结果和所述第三加盐结果计算备用最终签名结果,并发送至区块链系统中的验证节点,以便所述验证节点进行验签。


12.一种签名服务器,包括:
信息接收模块,用于接收区块链节点发送的待签名信息和第一盲化口令信息,所述第一盲化口令信息是...

【专利技术属性】
技术研发人员:张林黄海泉魏倩文
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1