区块链用户身份管理方法、系统、设备及存储介质技术方案

技术编号:20449581 阅读:14 留言:0更新日期:2019-02-27 03:22
本发明专利技术提供了一种区块链用户身份管理方法、系统、设备及存储介质,所述方法包括客户端与身份管理服务器建立安全通信通道;所述客户端将用户的交易提案和签名请求通过所述身份管理服务器发送至硬件安全模块;所述硬件安全模块选择相应的用户密钥对所述交易提案进行签名,并将签名后的交易提案通过所述身份管理服务器返回至所述客户端;所述客户端将签名后的交易提案发送至区块链节点。本发明专利技术引入硬件安全模块管理区块链用户身份凭据,在硬件安全模块上实现用户身份凭据的生成、使用和管理功能,重新设计了区块链用户发送交易请求的工作流程,用户无需自行操作签名过程或管理身份凭据,由硬件安全模块进行签名等操作,保证用户隐私数据安全。

【技术实现步骤摘要】
区块链用户身份管理方法、系统、设备及存储介质
本专利技术涉及区块链
,尤其涉及一种区块链用户身份管理方法、系统、设备及存储介质。
技术介绍
企业级区块链一般操作高价值、高隐私性的数据,区块链用户的私钥等身份凭据需要较高安全性的机制保护和管理。现有技术中,用户的签名密钥等隐私数据一般直接存放在API(ApplicationProgrammingInterface,应用程序编程接口)网关服务器中。如图1所示,为现有技术中API网关与区块链节点和客户端连接的示意图,组织101的API网关103是组织101中所有用户访问区块链节点的统一入口,客户端104的请求必须通过API网关103才能访问到区块链节点102。如图2所示,为现有技术中区块链中交易请求提出的时序图。其中,交易请求的提出流程一般为:客户端通过调用API网关提供的API提交交易请求,API网关将客户端提交的请求构建为交易提案(TransactionProposal),再由保存在API网关中的用户密钥进行签名以证明用户身份,最后将签名后的用户提案提交到区块链节点。然而,采用该种方式,存在如下缺陷:(1)API网关安全级别较低,未对用户隐私数据进行特殊保护,容易遭受攻击,而用户密钥等隐私数据一旦泄露后果严重;(2)API网关同时负责处理请求和管理用户身份数据,角色重叠,负载较重;(3)API网关无法满足密钥生成、密钥分享、加密数据的追溯等等与身份管理相关的其他需求;(4)API网关签名后的请求可能被攻击者用于重放攻击(ReplayAttack)。此处,重放攻击指的是攻击者重复发送目的主机已接收过的消息,来达到欺骗系统的目的,主要用于交易提案的重复发送,破坏交易逻辑的正确性。
技术实现思路
针对现有技术中的问题,本专利技术的目的在于提供一种区块链用户身份管理方法、系统、设备及存储介质,引入硬件安全模块对用户身份凭据提供逻辑层面和物理层面的安全保护,提高用户身份凭据的安全性。本专利技术实施例提供一种区块链用户身份管理方法,包括如下步骤:客户端与身份管理服务器建立第一通信通道;所述客户端将用户的交易提案和签名请求通过所述身份管理服务器发送至硬件安全模块;所述硬件安全模块选择相应的用户密钥对所述交易提案进行签名,并将签名后的交易提案通过所述身份管理服务器返回至所述客户端;所述客户端将签名后的交易提案发送至区块链节点。可选地,所述客户端与身份管理服务器建立第一通信通道,包括如下步骤:所述客户端发送通信请求至所述身份管理服务器;所述身份管理服务器对所述客户端进行身份验证,如果验证成功,则建立所述客户端与所述身份管理服务器之间的第一通信通道。可选地,所述身份管理服务器对所述客户端的身份验证成功之后,返回服务器身份认证信息至所述客户端,所述客户端对所述服务器身份认证信息进行验证,如果验证成功,则建立所述客户端与所述身份管理服务器之间的第一通信通道。可选地,所述客户端将交易提案和签名请求通过所述身份管理服务器发送至硬件安全模块,包括如下步骤:所述客户端将交易提案和签名请求发送至所述身份管理服务器;所述身份管理服务器从所述签名请求中提取硬件安全模块的识别信息,并将交易提案和签名请求发送至对应的硬件安全模块。可选地,所述客户端与身份管理服务器建立第一通信通道之后,还包括如下步骤:所述客户端将用户的通信请求在第一通信通道中通过所述身份管理服务器发送至所述硬件安全模块;所述硬件安全模块对用户的通信请求进行身份验证,如果验证通过,则建立用户与所述硬件安全模块之间的第二通信通道。可选地,所述硬件安全模块对用户的通信请求进行身份验证成功后,返回硬件安全模块身份认证信息至所述客户端,所述客户端接收用户对所述硬件安全模块的身份验证结果,如果验证成功,则建立用户与所述硬件安全模块之间的第二通信通道。可选地,所述硬件安全模块选择相应的用户密钥对所述交易提案进行签名,包括如下步骤:所述客户端将交易提案和签名请求在第二通信通道中通过所述身份管理服务器发送至所述硬件安全模块;所述硬件安全模块从签名请求中提取用户信息,所述硬件安全模块选择相应的用户密钥对所述交易提案进行签名。可选地,所述客户端将交易提案和签名请求通过所述通信通道发送至所述身份管理服务器之前,还包括如下步骤:所述客户端向API网关提交交易请求;所述API网关将客户端提交的交易请求映射为智能合约调用,并将智能合约方法名和参数返回至所述客户端;所述客户端根据所述智能合约方法名和参数生成交易提案。可选地,所述客户端将签名后的交易提案发送至区块链节点,包括如下步骤:所述客户端将签名后的交易提案通过所述API网关发送至区块链节点。可选地,所述客户端根据所述智能合约方法名和参数生成交易提案,包括如下步骤:所述客户端生成交易的全局唯一标识符;所述客户端根据所述全局唯一标识符、所述智能合约方法名和参数生成交易提案。可选地,所述客户端将交易提案和签名请求通过所述身份管理服务器发送至硬件安全模块之前,还包括如下步骤:所述客户端将所述交易提案进行盲化处理,得到盲化的交易提案;所述客户端将盲签名后的交易提案发送至区块链节点,包括如下步骤:所述客户端将所述签名去盲因子后与所述交易提案发送至区块链节点。本专利技术实施例还提供一种区块链用户身份管理系统,采用所述的区块链用户身份管理方法,所述系统包括身份管理服务器、硬件安全模块和客户端,其中:所述客户端与身份管理服务器建立第一通信通道;所述客户端将用户的交易提案和签名请求通过所述身份管理服务器发送至硬件安全模块;所述硬件安全模块选择相应的用户密钥对所述交易提案进行签名,并将签名后的交易提案通过所述身份管理服务器返回至所述客户端;所述客户端将签名后的交易提案发送至区块链节点。可选地,所述系统还包括API网关,所述API网关用于接收到客户端的交易请求时,将客户端提交的交易请求映射为智能合约调用,并将智能合约方法名和参数返回至所述客户端;所述客户端根据所述智能合约方法名和参数生成交易提案。本专利技术实施例还提供一种区块链用户身份管理设备,包括:处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行所述的区块链用户身份管理方法的步骤。本专利技术实施例还提供一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被执行时实现所述的区块链用户身份管理方法的步骤。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。本专利技术所提供的区块链用户身份管理方法、系统、设备及存储介质,具有如下有益效果:(1)引入硬件安全模块管理区块链用户身份凭据,在硬件安全模块上实现用户身份凭据的生成、使用和管理功能,保证用户身份凭据安全;(2)重新设计了区块链用户发送交易请求的工作流程,用户无需自行操作签名过程或管理身份凭据,由硬件安全模块进行签名等操作,客户端可以采用盲签名技术,使得提案信息对硬件安全模块也完全保密;(3)每一个交易提案可以拥有全局唯一标识符且有用户签名,区块链节点可以识别重复的交易ID,攻击者无法篡改ID,也无法进行重放攻击,因此通过全局唯一标识符避免重放攻击,保证用户签名的交易提案被正确使用。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其本文档来自技高网
...

【技术保护点】
1.一种区块链用户身份管理方法,其特征在于,包括如下步骤:客户端与身份管理服务器建立第一通信通道;所述客户端将用户的交易提案和签名请求通过所述身份管理服务器发送至硬件安全模块;所述硬件安全模块选择相应的用户密钥对所述交易提案进行签名,并将签名后的交易提案通过所述身份管理服务器返回至所述客户端;所述客户端将签名后的交易提案发送至区块链节点。

【技术特征摘要】
1.一种区块链用户身份管理方法,其特征在于,包括如下步骤:客户端与身份管理服务器建立第一通信通道;所述客户端将用户的交易提案和签名请求通过所述身份管理服务器发送至硬件安全模块;所述硬件安全模块选择相应的用户密钥对所述交易提案进行签名,并将签名后的交易提案通过所述身份管理服务器返回至所述客户端;所述客户端将签名后的交易提案发送至区块链节点。2.根据权利要求1所述的区块链用户身份管理方法,其特征在于,所述客户端与身份管理服务器建立第一通信通道,包括如下步骤:所述客户端发送通信请求至所述身份管理服务器;所述身份管理服务器对所述客户端进行身份验证,如果验证成功,则建立所述客户端与所述身份管理服务器之间的第一通信通道。3.根据权利要求2所述的区块链用户身份管理方法,其特征在于,所述身份管理服务器对所述客户端的身份验证成功之后,返回服务器身份认证信息至所述客户端,所述客户端对所述服务器身份认证信息进行验证,如果验证成功,则建立所述客户端与所述身份管理服务器之间的第一通信通道。4.根据权利要求2所述的区块链用户身份管理方法,其特征在于,所述客户端将交易提案和签名请求通过所述身份管理服务器发送至硬件安全模块,包括如下步骤:所述客户端将交易提案和签名请求发送至所述身份管理服务器;所述身份管理服务器从所述签名请求中提取硬件安全模块的识别信息,并将交易提案和签名请求发送至对应的硬件安全模块。5.根据权利要求1所述的区块链用户身份管理方法,其特征在于,所述客户端与身份管理服务器建立第一通信通道之后,还包括如下步骤:所述客户端将用户的通信请求在第一通信通道中通过所述身份管理服务器发送至所述硬件安全模块;所述硬件安全模块对用户的通信请求进行身份验证,如果验证通过,则建立用户与所述硬件安全模块之间的第二通信通道。6.根据权利要求5所述的区块链用户身份管理方法,其特征在于,所述硬件安全模块对用户的通信请求进行身份验证成功后,通过所述身份管理服务器返回硬件安全模块身份认证信息至所述客户端,所述客户端接收用户对所述硬件安全模块的身份验证结果,如果验证成功,则建立用户与所述硬件安全模块之间的第二通信通道。7.根据权利要求5所述的区块链用户身份管理方法,其特征在于,所述硬件安全模块选择相应的用户密钥对所述交易提案进行签名,包括如下步骤:所述客户端将交易提案和签名请求在第二通信通道中通过所述身份管理服务器发送至所述硬件安全模块;所述硬件安全模块从签名请求中提取用户信息,所述硬件安全模块选择相应的用户密钥对所述交易提案进行签名。8.根据权利要求...

【专利技术属性】
技术研发人员:王欣兰斯·沃伦·斐根徐晓旻黄胜
申请(专利权)人:上海诚频信息科技合伙企业有限合伙
类型:发明
国别省市:上海,31

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

1