CN109872155A - 数据处理方法和装置 - Google Patents
数据处理方法和装置 Download PDFInfo
- Publication number
- CN109872155A CN109872155A CN201910132899.5A CN201910132899A CN109872155A CN 109872155 A CN109872155 A CN 109872155A CN 201910132899 A CN201910132899 A CN 201910132899A CN 109872155 A CN109872155 A CN 109872155A
- Authority
- CN
- China
- Prior art keywords
- private key
- server
- key component
- transaction
- client
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种数据处理方法和装置,客户端保存有第一私钥分量,服务器保存有第二私钥分量,方法包括:响应交易数据处理请求,发起身份验证请求,与服务器进行双向身份验证;在验证通过后,调用预设于客户端的第一MPC节点以第一私钥分量作为输入,和预设于服务器的第二MPC节点以第二私钥分量作为输入,按照预设规则进行预设的函数运算,得到交易签名,进行交易数据处理。由于该方案通过先将交易私钥进行拆分,然后将拆分后的第一私钥分量和第二私钥分量分开保存;在使用时,又调用两侧的MPC节点分别利用上述私钥分量共同参与运算以生成交易签名,从而解决了密钥使用不安全的技术问题,并且满足用户对于完整交易私钥的控制权。
Description
技术领域
本申请涉及互联网技术领域,特别涉及一种数据处理方法和装置。
背景技术
在进行交易数据处理时,常常需要生成相应的交易签名作为交易凭证,再根据该交易签名完成相应的交易数据处理。例如,根据用户的交易签名,调用对应该用户账户中的资金数据来支付交易订单等。
目前,现有的交易数据的处理方法,大多需要用户通过所使用的客户端自己保存、管理完整的密钥(例如交易私钥);在进行交易数据处理时,再获取并使用该完整的密钥生成交易签名,以完成相应的交易数据的处理。
上述方法具体实施时,由于需要用户独自保存、管理完整的交易私钥,或者完全将完整的交易私钥托管给第三方,且在交易数据处理过程中具体使用的也是完整的密钥。基于这种数据处理方法,如果在数据处理过程中的某个环节,用户所使用的密钥遭到泄漏或窃取,则该用户的交易数据处理将会面临较高的安全风险。例如,第三方如果通过某种渠道或方式在交易数据处理过程中窃取到某用户所使用的交易私钥,就可能直接利用该交易私钥自行生成该用户的交易签名,来调用该用户的账户中的资金数据,造成该用户的经济损失。因此,现有方法具体实施时,往往存在密钥使用不安全的技术问题。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据处理方法和装置,以解决现有的交易数据的处理过程中由于需要使用到完整私钥,导致私钥使用不安全的技术问题。
本申请实施例提供了一种数据处理方法,所述数据处理方法应用于客户端,所述客户端保存有第一私钥分量,所述方法包括:
响应交易数据处理请求,发起身份验证请求;
响应所述身份验证请求,与服务器进行双向身份验证,其中,所述服务器保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成;
在双向身份验证通过的情况下,调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
根据所述交易签名,进行交易数据处理。
在一个实施例中,响应所述身份验证请求,与服务器进行双向身份验证,包括:
响应所述身份验证请求,生成第一公钥和第一私钥,其中,所述第一公钥和所述第一私钥匹配;
向服务器发送所述第一公钥,并接收第二公钥,其中,所述服务器用于响应所述身份验证请求,生成第二公钥和第二私钥;
接收加密数据和第一签名数据,其中,所述加密数据为所述服务器根据所述第一公钥对第一随机数进行加密处理得到的数据,所述第一签名数据为所述服务器根据所述第二私钥对所述加密数据进行签名处理得到的数据;
根据所述第二公钥、所述加密数据、所述第一签名数据,进行第一运算,以确定服务器身份验证是否通过,并在确定服务器身份验证通过的情况下,根据所述第二公钥对所述加密数据进行解密处理,得到所述第一随机数;
根据所述第一私钥对所述第一随机数进行签名处理,得到第二签名数据,并向所述服务器发送所述第二签名数据;
接收所述服务器反馈的身份确认信息,其中,所述服务器用于根据所述第一公钥、所述第一随机数、所述第二签名数据,进行第二运算,以确定客户端身份验证是否通过,并在确定所述客户端身份验证通过的情况下,向所述客户端发送确认指示信息。
在一个实施例中,在响应交易数据处理请求,发起身份验证请求之前,所述方法还包括:
响应密钥生成请求,生成交易私钥和交易公钥,其中,所述交易私钥和所述交易公钥匹配;
根据所述交易私钥,生成第一私钥分量、第二私钥分量;
将所述第一私钥分量保存于客户端本地,将所述第二私钥分量发送至服务器,其中,所述服务器用于保存所述第二私钥分量。
在一个实施例中,将所述第二私钥分量发送至服务器,包括:
获取传输公钥,其中,所述传输公钥为服务器生成,所述服务器保存有与所述传输公钥匹配的传输私钥;
根据所述传输公钥对所述第二私钥分量进行加密处理,得到加密后的第二私钥分量;
将所述加密后的第二私钥分量发送至所述服务器。
在一个实施例中,在根据所述交易私钥,生成第一私钥分量、第二私钥分量后,所述方法还包括:
根据所述交易私钥,生成第一备用私钥分量、第二备用私钥分量;
将所述第一备用私钥分量保存于客户端本地,将所述第二备用私钥分量发送至服务器。
在一个实施例中,所述方法还包括:
响应更新请求;调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行第三运算,生成更新后的第一私钥分量和更新后的第二私钥分量;
获取并保存所述更新后的第一私钥分量,其中,所述更新后的第二私钥分量保存于所述服务器。
在一个实施例中,在获取并保存所述更新后的第一私钥分量后,所述方法还包括:
响应密钥验证请求,调用预设于客户端的第一MPC节点以所述更新后的第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述更新后的第二私钥分量作为输入数据,按照预设规则进行第四运算,生成更新后的交易公钥;
根据所述交易公钥和所述更新后的交易公钥,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
在一个实施例中,在获取并保存所述更新后的第一私钥分量后,所述方法还包括:
响应密钥验证请求,生成第二随机数,并将所述第二随机数发送至服务器;
调用预设于客户端的第一MPC节点以所述更新后的第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述更新后的第二私钥分量作为输入数据,按照预设规则对所述第二随机数进行签名处理,得到第三签名数据;
根据所述交易公钥和所述第三签名数据,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
在一个实施例中,所述方法还包括:
在所述第一私钥分量丢失的情况下,调用预设于客户端的第一MPC节点以所述第一备用私钥分量为输入数据,和预设于服务器的第二MPC节点以所述第二备用私钥分量为输入数据,按照预设规则进行第五运算,生成第三私钥分量和第四私钥分量;
获取,并将所述第三私钥分量作为第一私钥分量保存于客户端本地,其中,所述第四私钥分量作为第二私钥分量保存于所述服务器。
在一个实施例中,所述服务器保存有第二私钥分量,所述方法包括:
响应身份验证请求,与客户端进行双向身份验证,其中,所述客户端保存有第一私钥分量;
在双向身份验证通过的情况下,调用预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,和预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名。
本申请实施例还提供了一种数据处理方法,所述数据处理方法应用于包括服务器和客户端的***中,所述客户端保存有第一私钥分量,所述服务器保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成,所述方法包括:
所述客户端响应响应交易数据处理请求,发起身份验证请求;
所述客户端和所述服务器响应所述身份验证请求,进行双向身份验证;
在双向身份验证通过的情况下,调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
根据所述交易签名,进行交易数据处理。
本申请实施例还提供了一种数据处理装置,包括:
发起模块,用于响应交易数据处理请求,发起身份验证请求,其中所述数据处理装置中保存有第一私钥分量;
验证模块,用于响应所述身份验证请求,与服务器进行双向身份验证,其中,所述服务器保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成;
调用模块,用于在双向身份验证通过的情况下,调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
处理模块,用于根据所述交易签名,进行交易数据处理。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现响应交易数据处理请求,发起身份验证请求;响应所述身份验证请求,与服务器进行双向身份验证,其中,所述服务器保存有第二私钥分量;在双向身份验证通过的情况下,调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;根据所述交易签名,进行交易数据处理,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成。
本申请实施例还提供了一种数据处理方法,所述数据处理方法应用于客户端,所述方法包括:
响应交易数据处理请求,发起身份验证请求;
响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,其中,所述第一服务器用于保存第一私钥分量,所述第二服务器用于保存第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成;
在身份验证通过的情况下,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
根据所述交易签名,进行交易数据处理。
在一个实施例中,在响应交易数据处理请求之前,所述方法还包括:
响应密钥生成请求,生成交易私钥和交易公钥,其中,所述交易私钥和所述交易公钥匹配;
根据所述交易私钥,生成第一私钥分量、第二私钥分量;
将所述交易公钥保存于客户端本地,将所述第一私钥分量发送至第一服务器,将所述第二私钥分量发送至第二服务器。
在一个实施例中,将所述第一私钥分量发送至第一服务器,包括:
获取第一传输公钥,其中,所述第一传输公钥为第一服务器生成,所述第一服务器保存有与所述第一传输公钥匹配的第一传输私钥;
根据所述第一传输公钥对所述第一私钥分量进行加密处理,得到加密后的第一私钥分量;
将所述加密后的第一私钥分量发送至所述第一服务器。
在一个实施例中,响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,包括:
响应所述身份验证请求,生成第一随机数,并将所述第一随机数分别发送至第一服务器和第二服务器;
接收第一签名数据,其中,所述第一签名数据为预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行签名处理,得到的数据;
根据所述第一签名数据和所述交易公钥,确定身份验证是否通过。
在一个实施例中,响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,包括:
响应所述身份验证请求,向所述第一服务器,和/或,所述第二服务器发送验证公钥获取请求;
接收验证公钥,其中,所述验证公钥为预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行运算,得到的数据;
根据所述验证公钥和所述交易公钥,确定身份验证是否通过。
在一个实施例中,所述方法还包括:
响应更新请求,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行函数运算,生成更新后的第一私钥分量和更新后的第二私钥分量;其中,所述更新后的第一私钥分量保存于第一服务器,所述更新后的第二私钥分量保存于第二服务器。
在一个实施例中,在响应更新请求,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行函数运算,生成更新后的第一私钥分量和更新后的第二私钥分量后,所述方法还包括:
响应密钥验证请求,生成第二随机数;并将所述第二随机数分别发送至第一服务器和第二服务器;
接收第二签名数据,其中,所述第二签名数据为预设于第一服务器的第一MPC节点以所述更新后的第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述更新后的第二私钥分量作为输入数据,按照预设规则对所述第二随机数进行签名处理,得到的数据;
根据所述交易公钥和所述第二签名数据,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
在一个实施例中,在响应更新请求,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行函数运算,生成更新后的第一私钥分量和更新后的第二私钥分量后,所述方法还包括:
响应密钥验证请求,调用预设于第一服务器的第一MPC节点以所述更新后的第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述更新后的第二私钥分量作为输入数据,按照预设规则进行运算,生成更新后的交易公钥;
根据所述交易公钥和所述更新后的交易公钥,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
本申请实施例还提供了一种数据处理方法,所述数据处理方法应用于第一服务器,所述第一服务器保存有第一私钥分量,所述方法包括:
响应身份验证请求,与第一客户端、第二服务器进行身份验证,其中,所述第二客户端保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成;
在身份验证通过的情况下,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名。
本申请实施例还提供了一种数据处理方法,所述数据处理方法应用于包括第一服务器、第二服务器和客户端的***中,所述第一服务器保存有第一私钥分量,所述第二服务器保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成,所述方法包括:
所述客户端响应响应交易数据处理请求,发起身份验证请求;
所述客户端、所述第一服务器、所述第二服务器响应所述身份验证请求,进行身份验证;
在身份验证通过的情况下,预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名,并将所述交易签名反馈给客户端;
所述客户端根据所述交易签名,进行交易数据处理。
本申请实施例还提供了一种数据处理装置,包括:
发起模块,用于响应交易数据处理请求,发起身份验证请求;
验证模块,用于响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,其中,所述第一服务器用于保存第一私钥分量,所述第二服务器用于保存第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成;
调用模块,用于在身份验证通过的情况下,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
处理模块,用于根据所述交易签名,进行交易数据处理。
在本申请实施例中,由于该方案通过事先将第一私钥分量和第二私钥分量分开保存于客户端和服务器两侧;在用户需要进行交易数据处理时,又通过调用预设于客户端的第一MPC节点和预设于服务器的第二MPC节点分别以各端所保存的第一私钥分量和第二私钥分量作为输入,按照预设规则共同进行预设的函数运算,来生成交易签名,这样使得在交易数据的处理过程中不会出现完整的私钥,从而解决了现有的交易数据的处理过程中由于需要使用到完整密钥,导致密钥使用不安全的技术问题,达到了降低用户的交易数据的处理过程中的安全风险,提高了交易数据处理的安全性,同时满足用户对完整的交易私钥的控制需求的技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施方式提供的数据处理方法的处理流程图;
图2是根据本申请实施方式提供的数据处理方法的一个实施例示意图;
图3是根据本申请实施方式提供的数据处理方法的一个实施例示意图;
图4是根据本申请实施方式提供的数据处理方法的一个实施例示意图;
图5是根据本申请实施方式提供的数据处理方法的一个实施例示意图;
图6是根据本申请实施方式提供的数据处理方法的一个实施例示意图;
图7是根据本申请实施方式提供的数据处理方法的一个实施例示意图;
图8是根据本申请实施方式提供的数据处理装置的组成结构图;
图9是基于本申请实施例提供的数据处理方法的电子设备组成结构示意图;
图10是根据本申请实施方式提供的另一种数据处理方法的处理流程图;
图11是根据本申请实施方式提供的数据处理方法的一个实施例示意图;
图12是根据本申请实施方式提供的数据处理方法的一个实施例示意图;
图13是根据本申请实施方式提供的数据处理方法的一个实施例示意图;
图14是根据本申请实施方式提供的数据处理方法的一个实施例示意图;
图15是根据本申请实施方式提供的数据处理方法的一个实施例示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
考虑到现有的交易数据处理方法,在进行具体数据处理,生成相应的交易签名时,往往会出现并使用完整的密钥,例如完整的交易私钥,这会给用户的交易数据处理的安全性带来较大隐患。例如,如果第三方在交易数据处理过程中窃取了该交易私钥,则可以利用该私钥生成用户的交易签名,进而可以调用该用户账户中的资金数据,从而造成用户的经济损失。此外,现有的交易数据处理方法,还需要用户独自保管完整的私钥,相当于让用户独自去承担所有的安全风险,对用户而言也不够友好。综上,现有方法具体实施时,往往存在密钥使用不安全的技术问题。
针对产生上述技术问题的根本原因,本申请考虑可以将完整的私钥拆分为两部分,由平台服务器与用户客户端分别进行保管,从而可以分担用户风险;同时,在需要进行交易数据处理生成交易签名时,基于安全多方计算,通过调用服务器、客户端上预设的MPC节点以各自保管的私钥分量作为输入,按照预设规则共同参与运算,以生成交易签名,使得整个运算过程中不会出现完整的私钥,且使得生成交易签名的过程更加安全、可靠。从而解决了现有的交易数据的处理过程中由于需要使用到完整密钥,导致密钥使用不安全的技术问题,达到了降低用户的交易数据的处理过程中的安全风险,提高了交易数据处理的安全性,同时满足用户对完整的交易私钥的控制需求的技术效果。
基于上述思考思路,本申请实施例提供了一种数据处理方法。具体请参阅图1所示的根据本申请实施方式提供的数据处理方法的处理流程图。本申请实施例提供的数据处理方法,可以应用于客户端一侧,具体实施时,可以包括以下步骤。
S11:响应交易数据处理请求,发起身份验证请求。
在本实施例中,上述客户端(可以记为Client)具体可以理解为一种应用于用户一侧,能够实现数据传输、数据运算等功能的前端设备。具体的,上述客户端例如可以为台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、具有网络访问功能的电视机等。或者,所述客户端也可以为能够运行于上述电子设备中的软件应用。例如,可以是在手机上运行的某APP等。
在本实施例中,上述客户端具体可以通过有线或无线的方式与业务平台(例如网络交易平台、安全保护平台等)所提供的服务器耦合,以便相互之间进行数据交互,以及数据运算。
在本实施例中,上述服务器具体可以理解为一种位于业务平台一侧,为用户提供密钥管理服务(Key Management Service)的后端设备,可以记为KMS,或者称为托管服务器。所述服务器可以为一个具有数据运算、存储功能以及网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在本实施例中,并不具体限定服务器的数量。需要强调的是,上述服务器具体为一个服务器。
在本实施例中,用于生成交易数据处理过程中所需要的交易签名,原本由客户端单独保管的完整的交易私钥会被预先拆分成了两部分,即:第一私钥分量(可以记为sk1)和第二私钥分量(可以记为sk2)。即所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成。而现有的交易数据处理方法,往往出现并使用完整的交易私钥来生成对应的用户的交易签名。在这种情况下,第三方一旦窃取得到该完整的交易私钥,就能很容易地生成用户的交易签名,进而凭借该交易签名调用该用户的账户中的资金数据。
但在本实施例中,由于先将完整的私钥拆分成了两个私钥分量,并以上述两个私钥分量替代完整的私钥参与具体的数据处理。因此,在整个数据处理过程不会出现完整的交易私钥,只会出现第一私钥分量和第二私钥分量。在这种情况下,第三方如果窃取到其中一个私钥分量往往是无法直接生成用户的交易签名,从而可以提高用户的交易数据处理的安全性。同时,虽然在正常的交易数据处理过程中为了交易数据处理的安全不会直接使用到交易私钥,在私钥分量生成过程中客户端可以保存下完整的交易私钥,从而能满足用户对完整的交易私钥的控制需求。这样在某些突发情况下,例如,服务器所保管的第二私钥分量出现问题时,用户也可以临时使用客户端所保存的完整的交易私钥,进行交易数据处理。同时,又由于在客户端上保存有第一私钥分量的同时还保存有完整的交易私钥,使得用户针对交易数据处理具有更高的控制权,从而能满足不用情况下不同用户的多样化的使用需求。
进一步,在得到了上述两个私钥分量后,可以将第一私钥分量和第二私钥分量分开,并分别保存在客户端、服务器两侧。这样可以通过安全性相对较高的平台服务器分担用户独自保管私钥的风险,同时也可以降低由于两个私钥分量保管于一处,被同时窃取的几率,从而可以进一步提高用户的交易数据处理的安全性。
在本实施例中,上述交易数据处理请求具体可以理解为用户通过客户端发起的进行交易数据处理的请求指令。例如,用户通过手机的支付软件点击付款确认的按键,可以理解为用户发起了一种交易数据处理请求。当然,上述所列举的交易数据处理请求只是一种示意性说明。具体实施时,根据具体情况和处理要求,上述交易数据处理请求还可以包含有其他的形式或内容。对此,本说明书不作限定。
在一个实施例中,基于上述考虑,具体实施时,可以参阅图2所示的根据本申请实施方式提供的数据处理方法的一个实施例示意图,在响应交易数据处理请求,发起身份验证请求之前,可以先按照以下方式将原本完整的交易私钥拆分成两部分,并分别保存于客户端和服务器两侧。
S1:响应密钥生成请求,生成交易私钥和交易公钥,其中,所述交易私钥和所述交易公钥匹配;
S2:根据所述交易私钥,生成第一私钥分量、第二私钥分量;
S3:将所述第一私钥分量保存于客户端本地,将所述第二私钥分量发送至服务器,其中,所述服务器用于保存所述第二私钥分量。
在本实施例中,具体实施时,客户端可以接收用户发出密钥生成请求,并响应该密钥生成请求,生成相互匹配的交易私钥(可以记为sk)和交易公钥(可以记为pk)。其中,上述交易私钥和交易公钥均是完整的密钥。
在本实施例中,在客户端生成上述交易私钥后,可以先将完整交易私钥拆分成两部分。具体的,上述根据所述交易私钥,生成第一私钥分量、第二私钥分量,可以包括:客户端通过secret sharing(即密钥共享,一种分发、保存、恢复秘密密钥的方法),以交易私钥作为输入,生成两个对应的密钥分量,即:第一私钥分量和第二私钥分量。当然,需要说明的是,上述所列举的生成第一私钥分量、第二私钥分量的方式只是一种示意性说明。具体实施时,根据具体情况和保密性要求,也可以采用其他合适的方式将交易私钥拆分成两部分。对此,本说明书不作限定。
在本实施例中,在客户端生成第一私钥分量和第二私钥分量后,可以将第一私钥分量保存于客户端本地,用客户端进行管理和使用。同时,将第二私钥分量发送至服务器,由服务器进行管理和使用。从而可以降低用户单独保管的风险。
在一个实施例中,为了保护第二私钥分量在发送至服务器的过程中不被第三方窃取,保护用户的数据安去,上述将所述第二私钥分量发送至服务器,具体实施时,可以包括以下内容:
S1:获取传输公钥,其中,所述传输公钥为服务器生成,所述服务器保存有与所述传输公钥匹配的传输私钥;
S2:根据所述传输公钥对所述第二私钥分量进行加密处理,得到加密后的第二私钥分量;
S3:将所述加密后的第二私钥分量发送至所述服务器。
在本实施例中,客户端在向服务器发送第二私钥分量之前,可以先向服务器发送传输公钥获取请求。服务器在接收到上述传输公钥获取请求后,可以先响应上述传输公钥的获取请求,生成相互匹配的公私要对,即:传输公钥(可以记为pk_s)和传输私钥(可以记为sk_s)。并将其中的传输公钥发送至客户端,保存在对应的传输私钥。这样客户端可以获取与服务器所保存的传输私钥匹配的传输公钥。
在本实施例中,客户端可以先利用上述传输公钥对第二私钥分量进行加密处理,得到加密后的第二私钥分量(可以记为密文t,是一种加密数据);再将加密后的第二私钥分量发送至服务器。由于传输的是加密后的第二私钥分量,在没有匹配的传输私钥的情况下,即使第三方在传输过程中窃取了加密后的第二私钥分量,也无法解密得到第二私钥分量,从而可以保护传输第二私钥分量过程中的数据安全。
在本实施例中,服务器在接收到加密后的第二私钥分量后,可以利用所保存的传输私钥对上述加密后的第二私钥分量进行解密处理,得到第二私钥分量,并将上述第二私钥分量保存于服务器。服务器在解密得到第二私钥分量后,还可以向客户端反馈,以表示获取了第二私钥分量。
在本实施例中,在服务器生成传输公钥和传输私钥后,也可以不直接将传输公钥发送给客户端,而由客户端通过查询,例如查表等方式,获取上述传输公钥。对于客户端如何获取上述传输公钥,本说明书不作限定。
在一个实施例中,客户端在保存管理第一私钥分量的同时,还可以保存下交易公钥。但通常情况下,该交易公钥不会被直接用于参与具体交易数据的处理,而可以用于参与后续的私钥更新的验证等处理。
在一个实施例中,客户端在保存管理第一私钥分量的同时,还可以保存下交易私钥。但保存下交易私钥不会被直接用于参与相关的数据处理。当然,也可以将上述交易私钥进行销毁处理等。
在一个实施例中,具体实施时,客户端、服务器可以采用以下所列举的存储方式中的任意一种来保存所负责保管的第一私钥分量、第二私钥分量:通过硬件存储,通过使用助记词存储,通过使用口令加密存储等等。当然,需要说明的是,上述所列举的存储方式只是为了更好地说明本说明书实施方式。具体实施时,根据具体情况和加密要求,还可以采用其他合适的存储方式存储私钥分量。对此,本说明书不作限定。
在本实施例中,为了进一步提高交易数据处理过程中的数据安全性,客户端在接收到用户发出的交易数据处理请求后,可以先在客户端和服务器之间发起身份验证请求,以便在验证客户端和服务器的身份均无误后,再调用双方各自保管的私钥分量进行具体的交易数据处理。从而可以及时地发现身份存在问题的客户端或服务器,避免私钥分量的泄漏。
S13:响应所述身份验证请求,与服务器进行双向身份验证,其中,所述服务器保存有第二私钥分量。
在本实施例中,上述身份验证请求具体可以理解为一种针对客户端和服务器双方进行的身份验证请求,即一种双向的身份验证请求。
在本实施例中,上述响应所述身份验证请求,与服务器进行双向身份验证,具体可以理解为客户端和服务器可以响应上述身份验证请求,相互之间分别进行身份验证,即:可以是先由客户端验证服务器的身份是否合法,再由服务器验证客户端的身份是否合法。当然,也可以是先由服务器验证客户端的身份是否合法,再由客户端验证服务器的身份是否合法等。从而完成上述双向身份验证(或称双向认证)。
在一个实施例中,以先由客户端验证服务器的身份是否合法,再由服务器验证客户端的身份是否合法为例,上述响应所述身份验证请求,与服务器进行双向身份验证,具体实施时,可以参阅图3所示的根据本申请实施方式提供的数据处理方法的一个实施例示意图,包括以下内容:
S1:响应所述身份验证请求,生成第一公钥和第一私钥,其中,所述第一公钥和所述第一私钥匹配;
S2:向服务器发送所述第一公钥,并接收第二公钥,其中,所述服务器用于响应所述身份验证请求,生成第二公钥和第二私钥;
S3:接收加密数据和第一签名数据,其中,所述加密数据为所述服务器根据所述第一公钥对第一随机数进行加密处理得到的数据,所述第一签名数据为所述服务器根据所述第二私钥对所述加密数据进行签名处理得到的数据;
S4:以确定服务器身份验证是否通过,并在在根据所述第一运算结果,确定服务器身份验证通过的情况下,根据所述第二公钥对所述加密数据进行解密处理,得到所述第一随机数;
S5:根据所述第一私钥对所述第一随机数进行签名处理,得到第二签名数据,并向所述服务器发送所述第二签名数据;
S6:接收所述服务器反馈的身份确认信息,其中,所述服务器用于根据所述第一公钥、所述第一随机数、所述第二签名数据,进行第二运算,以确定客户端身份验证是否通过,并在确定所述客户端身份验证通过的情况下,向所述客户端发送确认指示信息。
在本实施例中,具体实施时,客户端可以响应上述身份验证请求,生成相互匹配的第一公钥(可以记为pk_c)和第一私钥(sk_c);同时,服务器也响应上述身份验证请求,生成相互匹配的第二公钥(可以记为pk_s)和第二私钥(可以记为sk_s)。
在本实施例中,具体实施时,客户端可以将第一公钥发送给服务器,同时接收服务器发送的第二公钥。相对的,服务器可以将第二公钥发送给客户端,同时接收客户端发送的第一公钥。
在本实施例中,具体实施时,服务器在接收到第一公钥后,可以先生成第一随机数(可以记为m),再利用第一公钥对上述第一随机数进行加密处理,得到对应的加密数据(可以记为cxt)。进一步,服务器可以利用第二私钥对上述加密数据进行签名处理,得到对应的第一签名数据(可以记为sig)。再将上述加密数据和第一签名数据发送给客户端,以便客户端可以接收获取上述加密数据和第一签名数据。
在本实施例中,具体的,例如,服务器可以按照以下方式对第一随机数进行加密处理:Enc(pk_c,m)→cxt。其中,Enc具体可以用于表示加密运算。服务器可以按照以下方式对加密数据进行签名处理:Sign(sk_s,m)→sig。其中,Sign具体可以用于表示签名运算。
在本实施例中,客户端在接收到上述加密数据和第一签名数据后,可以先根据第二公钥、加密数据和第一签名数据,来验证服务器的身份是否合法,即确定正在进行数据交互的服务器是否为所信赖的平台服务器。如果验证服务器的身份合法,则确定服务器身份验证通过。如果验证服务器的身份不合法,则确定服务器身份验证不通过。
在本实施例中,具体实施时,客户端可以根据所述第二公钥、所述加密数据、所述第一签名数据,进行第一运算,得到第一运算结果;再根据第一运算结果,确定服务器身份验证是否通过。
在本实施例中,具体的,例如,客户端可以按照以下方式进行第一运算:Verify(pk_s,cxt,sig)→y。其中,Verify具体可以表示验证运算,y具体可以表示第一运算结果。如果第一运算结果的数值为1,则可以确定服务器身份验证通过。如果第一运算结果的数值不为1,例如为0,则可以确定服务器身份验证不通过。
在本实施例中,客户端在确定服务器身份验证不通过的情况下,可以判断该服务器的身份存在问题,与该服务器进行交易数据处理存在较高风险,这时可以停止后续的数据处理,并向用户反馈该服务器身份可疑的提示信息。同时也可以暂停与该服务器的数据交互,避免客户端所保管的信息数据被泄漏或窃取。
在本实施例中,客户端在确定服务器身份验证通过的情况下,可以判断判断该服务器的身份没有问题,这时可以先根据第二公钥对上述加密数据进行解密处理,得到第一随机数。
在本实施例中,具体的,例如,客户端可以按照以下方式进行解密处理:Dec(sk_c,cxt)→m。其中,Dec具体可以表示解密运算。
在本实施例中,客户端在得到上述第一随机数,进一步可以利用第一私钥对第一随机数进行签名处理,得到对应的第二签名数据(可以记为sig_m);并将上述第二签名数据发送至服务器,以便服务器可以根据第二签名数据对客户端的身份进行验证。
在本实施例中,具体的,例如,客户端可以按照以下方式进行签名处理:Sign(sk_c,m)→sig_m。其中,Sign具体可以用于表示签名运算。
在本实施例中,服务器在接收到上述第二签名数据后,可以根据第一公钥、第一随机数和第二签名数据,来验证客户端的身份是否合法,即确定正在进行数据交互的客户端是否为所用户持有使用的客户端设备。如果验证客户端的身份合法,则确定客户端身份验证通过。如果客户端的身份不合法,则确定客户端身份验证不通过。
在本实施例中,具体实施时,服务器可以根据所述第一公钥、第一随机数、第二签名数据,进行第二运算,得到第二运算结果;再根据第二运算结果,确定客户端身份验证是否通过。
在本实施例中,具体的,例如,服务器可以按照以下方式进行第二运算:Verify(pk_c,m,sig_m)→Y。其中,Y具体可以表示第二运算结果。如果第二运算结果的数值为1,则可以确定客户端身份验证通过。如果第二运算结果的数值不为1,例如为0,则可以确定客户端身份验证不通过。
在本实施例中,服务器在确定客户端身份验证不通过的情况下,可以判断该客户端的身份存在问题,与该客户端进行交易数据处理存在较高风险,这时可以停止后续的数据处理。同时也可以暂停与该客户端的数据交互,避免服务器所保管的信息数据被泄漏或窃取。
在本实施例中,服务器在确定客户端身份验证通过的情况下,可以判断判断该客户端的身份没有问题,这时可以确定双向身份验证通过,即客户端和服务器的身份都是合法的,可以进行后续的数据的处理。服务器在确定客户端身份验证通过后,可以生成,并向客户端反馈确认指示信息,以向客户端指示双向身份验证通过,可以进行后续的数据处理。进而,在服务器确定客户端身份验证通过的情况下,客户端可以接收到服务器反馈的身份确认信息,确定双向身份验证通过。
通过上述双向身份验证,可以发现并避免由于第三方窃取了服务器或客户端所保管的信息数据,发起交易数据处理的情形,进一步提高了用户的交易数据处理的安全性。
S15:在双向身份验证通过的情况下,调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名。
在本实施例中,上述第一MPC节点、第二MPC节点具体可以理解为预先分别设置于客户端、服务器上的运算节点。其中,上述第一MPC节点、第二MPC节点之间可以根据基于MPC协议等生成的预设规则,相互之间进行数据交互,并共同参与预设的函数运算。需要补充的是,上述第一MPC节点具体设置于客户端一侧,与客户端关联,可以调取客户端所保管的信息数据。上述第二MPC节点具体设置于服务器一侧,与服务器关联,可以调取服务器所保管的信息数据。
在本实施例中,上述预设规则具体可以是理解为一种根据MPC(Secure Multi-Party Computation,安全多方计算)协议等生成的,用于表征第一MPC节点、第二MPC节点的数据处理方式的规则集。具体实施时,第一MPC节点和第二MPC节点可以根据上述预设规则进行具体的数据交互,和函数运算。其中,上述MPC协议理解为一种基于密码学,由多方分别输入自己拥有的信息数据,共同参与运算的安全计算协议。
在本实施例中,上述交易签名(也可以称为公钥数字签名或电子签章等)具体可以理解为是一种基于公钥加密技术,用于证明用户身份的数字签名。具体的,上述交易签名可以是一段与用户身份对应,且不易伪造的字符串。在进行具体的交易数据处理时,可以根据上述交易签名,验证用户的身份,并调用用户账户中的资金数据进行具体的交易数据处理。
在本实施例中,上述函数具体可以理解为一种基于上述预设规则的,用于生成交易签名的运算函数。
在本实施例中,具体实施时,在双向身份验证通过的情况下,客户端可以调用第一MPC节点以客户端所保管的第一私钥分量作为输入数据;同时,连同服务器调用第二MPC节点以服务器所保管的第二私钥分量作为输入数据;根据预设规则输入至用于生成交易签名的运算函数中,以共同参与针对该运算函数的预设的函数运算,得到对应的运算结果;进而可以根据上述运算结果,确定出具体的交易签名。
通过上述方式,使得客户端和服务器进行数据交互,以及生成交易签名的运算过程中始终没有出现完整的交易私钥,避免了完整的交易私钥在处理过程中可能被泄漏或窃取所导致的交易风险。同时,也顺利、准确地生成了用于后续具体的交易数据处理的交易签名。
S17:根据所述交易签名,进行交易数据处理。
在本实施例中,在得到上述交易签名后,可以响应交易数据处理请求,以上述交易签名作为身份凭证,进行具体的交易数据处理。
例如,可以根据交易签名作为身份凭证,调用用户的账户中的资金数据来支付账单。也可以根据交易签名,生成该用户的购物订单等等。当然,需要说明的是,上述所列举的交易数据处理方式只是一种示意性说明。具体实施时,根据具体的应用场景和使用需求,还可以根据上述交易签名,进行其他类型的交易数据处理。对此,本说明书不作限定。
在本申请实施例中,相较于现有方法,由于通过事先将交易私钥拆分,并拆分得到的第一私钥分量和第二私钥分量分开保存于客户端和服务器两侧;在用户需要进行交易数据处理时,又通过调用预设于客户端的第一MPC节点和预设于服务器的第二MPC节点分别以各端所保存的第一私钥分量和第二私钥分量作为输入,按照预设规则共同进行预设的函数运算,来生成交易签名,这样使得在交易数据的处理过程中不会出现完整的私钥,从而解决了现有的交易数据的处理过程中由于需要使用到完整密钥,导致密钥使用不安全的技术问题,达到了降低用户的交易数据的处理过程中的安全风险,提高了交易数据处理的安全性,满足用户对完整的交易私钥的控制需求的技术效果。
在一个实施例中,考虑到由于第一私钥分量和第二私钥分量分别保管于客户端和服务器两侧,如果其中一侧所保管的私钥分量丢失,例如,客户端遗失了自己所保管的第一私钥分量,这时单独依靠另一侧所保管的私钥分量是无法生成交易签名,完成相应的交易数据处理,这样会给用户的交易使用造成不便。为了使得在客户端或服务器丢失所保管的私钥分量的情况下,不影响用户的交易数据处理,在保证用户的交易数据处理安全的同时,进一步提高用户的使用体验,具体实施时,可以在按照上述方式生成第一私钥分量和第二私钥分量后,可以再生成一对相互匹配的私钥分量作为第一备份私钥分量(可以记为sk1_b)和第二备份私钥分量(可以记为sk2_b)分别保存于客户端和服务器两侧。这样在客户端或服务器所保管的第一私钥分量或第二私钥分量丢失的情况下,可以及时地调用两侧备用的第一备份私钥分量和第二备份私钥分量生成一对相互匹配的新的私钥分量,再利用新的私钥分量来参与运算,得到对应的交易签名,以进行用户所要求的交易数据处理。
在本实施例中,在根据所述交易私钥,生成第一私钥分量、第二私钥分量后,所述方法具体实施时,还可以包括以下内容:根据所述交易私钥,生成第一备用私钥分量、第二备用私钥分量;将所述第一备用私钥分量保存于客户端本地,将所述第二备用私钥分量发送至服务器。
在本实施例中,如果客户端所保存的第一私钥分量,或者服务器所保存的第二私钥分量被遗失,这时又接收到了用户发起的交易数据处理请求,可以参阅图4所示的根据本申请实施方式提供的数据处理方法的一个实施例示意图。客户端通过第一MPC节点调取所存储的第一备用私钥分量,连同服务器通过第二MPC节点调取所存储的第二备用私钥分量,根据预设规则,共同参与MPC计算,即第五运算(一种基于预设规则的MPC计算),以得到一对新的私钥分量,可以记为:第三私钥分量和第四私钥分量。接着,可以将第三私钥分量和第四私钥分量分别保存于客户端和服务器以替换之前的第一私钥分量和第二私钥分量,同时销毁与所丢失的私钥分量匹配的另一个私钥分量。进而,客户端可以调用预设于客户端的第一MPC节点以所述第三私钥分量作为输入数据,连同服务器调用预设于服务器的第二MPC节点以所述第四私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名。
在一个实施例中,为了进一步提高安全性,还可以每隔一段时间或者响应用户的更新指示,对客户端和服务器所保管的第一私钥分量和第二私钥分量进行更新。
在本实施例中,具体实施时,所述方法具体还可以包括以下内容:响应更新请求;调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行第三运算(一种基于预设规则的MPC计算),生成更新后的第一私钥分量(可以记为sk1’)和更新后的第二私钥分量(可以记为sk2’);获取并保存所述更新后的第一私钥分量,其中,所述更新后的第二私钥分量保存于所述服务器。
在本实施例中,上述更新请求具体可以是客户端和服务器根据预设的时间间隔自动生成的私钥分量的更新请求,也可以是响应用户或者业务平台的更新指令所生成的更新请求。对于上述更新请求的具体生成方式,本说明书不作限定。
在一个实施例中,在响应更新请求,生成对应的新的私钥分量,即更新后的第一私钥分量和更新后的第二私钥分量之后,为了保证更新后的私钥分量是正确、有效的私钥分量,可以生成并响应密钥验证请求,对上述更新后的第一私钥分量和更新后的第二私钥分量进行比对、验证,以确定所生成的更新后的第一私钥分量和更新后的第二私钥分量是否满足要求,即是否能够生成准确的用户签名。在确定所生成的更新后的第一私钥分量和更新后的第二私钥分量满足要求的情况下,再利用更新后的第一私钥分量替换原有的第一私钥分量,保存于客户端;利用更新后的第二私钥分量替换原有的第二私钥分量,保存于服务器,从而完成对私钥分量的更新。在确定所生成的更新后的第一私钥分量和更新后的第二私钥分量不满足要求的情况下,可以重新计算生成更新后的第一私钥分量和更新后的第二私钥分量,再进行验证。
在一个实施例中,具体实施时,可以通过公钥比对的方式,来确定更新后的第一私钥分量和更新后的第二私钥分量是否满足要求。具体的,可以参阅图5所示的根据本申请实施方式提供的数据处理方法的一个实施例示意图,在获取并保存所述更新后的第一私钥分量后,所述方法还可以包括以下内容:客户端响应密钥验证请求,调用预设于客户端的第一MPC节点以所述更新后的第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述更新后的第二私钥分量作为输入数据,按照预设规则进行第四运算(一种基于预设规则的MPC计算),生成更新后的交易公钥(可以记为pk’);根据所述交易公钥和所述更新后的交易公钥,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。其中,上述交易公钥具体可以是与用于生成第一私钥分量和第二私钥分量的交易私钥匹配,且存储于客户端的交易公钥。
在本实施例中,上述根据所述交易公钥和所述更新后的交易公钥,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求,具体实施时,可以包括:比较所述交易公钥和所述更新后的交易公钥的差异值是否小于预设的差异阈值,如果所述交易公钥和所述更新后的交易公钥的差异值小于等于预设的差异阈值,则可以确定所述更新后的第一私钥分量、所述更新后的第二私钥分量满足要求,更新成功,即验证通过。如果所述交易公钥和所述更新后的交易公钥的差异值大于预设的差异阈值,则可以确定所述更新后的第一私钥分量、所述更新后的第二私钥分量不满足要求,更新失败,即验证不通过。
在一个实施例中,具体实施时,还可以通过签名验证的方式,来确定更新后的第一私钥分量和更新后的第二私钥分量是否满足要求。具体的,可以参阅图6所示的根据本申请实施方式提供的数据处理方法的一个实施例示意图,在获取并保存所述更新后的第一私钥分量后,所述方法还可以包括以下内容:响应密钥验证请求,生成第二随机数(可以记为m’),并将所述第二随机数发送至服务器;调用预设于客户端的第一MPC节点以所述更新后的第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述更新后的第二私钥分量作为输入数据,按照预设规则对所述第二随机数进行签名处理,得到第三签名数据(可以记为sig’);根据所述交易公钥和所述第三签名数据,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
在本实施例中,上述根据所述交易公钥和所述第三签名数据,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求,具体实施时,可以包括:客户端利用所保存的交易公钥对上述第三签名数据进行验证处理,如果验证成功,则可以确定所述更新后的第一私钥分量、所述更新后的第二私钥分量满足要求,从而判断更新成功。如果验证不成功,则可以确定所述更新后的第一私钥分量、所述更新后的第二私钥分量不满足要求,从而判断更新失败。
在本实施例中,需要补充的是,在应用于第二服务器一侧的数据处理方法与上述应用于第一服务器一侧的数据处理方法相似。具体实施时,可以参照应用于第一服务器一侧的数据处理方法执行,在此不再赘述。
从以上的描述中,可以看出,本申请实施例提供的数据处理方法,通过事先将第一私钥分量和第二私钥分量分开保存于客户端和服务器两侧;在用户需要进行交易数据处理时,又通过调用预设于客户端的第一MPC节点和预设于服务器的第二MPC节点分别以各端所保存的第一私钥分量和第二私钥分量作为输入,按照预设规则共同进行预设的函数运算,来生成交易签名,这样使得在交易数据的处理过程中不会出现完整的私钥,从而解决了现有的交易数据的处理过程中由于需要使用到完整密钥,导致密钥使用不安全的技术问题,达到了降低用户的交易数据的处理过程中的安全风险,提高了交易数据处理的安全性的技术效果,同时满足用户对完整交易私钥的控制需求;还通过在生成交易签名之前,先根据客户端和服务器所分别生成的第一公钥、第一私钥、第二公钥、第二私钥以进行双向身份验证,在双向身份验证通过的情况下,再生成交易签名,进一步降低了用户的交易数据的处理过程中的安全风险,保障了用户的账户安全;还通过响应用户的更新请求,调用预设于客户端的第一MPC节点和预设于服务器的第二MPC节点分别以各端所保存的第一私钥分量和第二私钥分量作为输入进行运算,生成更新后的第一私钥分量、更新后的第二私钥分量,以分别对原有的第一私钥分量、第二私钥分量进行更新,进一步降低了用户的交易数据的处理过程中的安全风险。
本申请还提供了另一种数据处理方法,该方法具体可以应用于服务器一侧,其中,上述服务器可以保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成。参阅图7所示的根据本申请实施方式提供的数据处理方法的一个实施例示意图。具体实施时,可以包括以下步骤。
S71:响应身份验证请求,与客户端进行双向身份验证,其中,所述客户端保存有第一私钥分量;
S73:在双向身份验证通过的情况下,调用预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,和预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名。
本申请还提供了另一种数据处理方法,该方法具体可以应用于包括服务器和客户端的***中,其中,所述客户端具体可以保存有第一私钥分量,所述服务器具体可以保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成。该方法具体实施时,可以包括以下内容:
所述客户端响应响应交易数据处理请求,发起身份验证请求;
所述客户端和所述服务器响应所述身份验证请求,进行双向身份验证;
在双向身份验证通过的情况下,调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;根据所述交易签名,进行交易数据处理。
在本实施例中,需要说明的是,上述处理过程中,由于使用基于MPC协议的预设规则来实现对私钥分量的生成、使用、恢复等管理,使得用户自己不需要保管或使用完整的交易私钥,在需要交易签名进行交易数据处理的时候,可以和服务器同时使用私钥分量作为输入,来生成所需要的交易签名。这样既保证用户持有私钥,又引入较为可靠的平台服务器和用户一起承担泄露完整交易私钥的风险,即降低了用户独自承担的风险。相当于用户客户端和服务器协同管理用户的账户(例如用户的电子钱包),既分担了风险,也保证了用户对账户中的资金数据的控制权。
从以上的描述中,可以看出,本申请实施例提供的数据处理方法,通过事先将第一私钥分量和第二私钥分量分开保存于客户端和服务器两侧;在用户需要进行交易数据处理时,又通过调用预设于客户端的第一MPC节点和预设于服务器的第二MPC节点分别以各端所保存的第一私钥分量和第二私钥分量作为输入,按照预设规则共同进行预设的函数运算,来生成交易签名,这样使得在交易数据的处理过程中不会出现完整的私钥,从而解决了现有的交易数据的处理过程中由于需要使用到完整密钥,导致密钥使用不安全的技术问题,达到了降低用户的交易数据的处理过程中的安全风险,提高了交易数据处理的安全性的技术效果,满足用户对完整的交易私钥的控制需求。
基于同一发明构思,本发明实施例中还提供了一种数据处理装置,如下面的实施例所述。由于数据处理装置解决问题的原理与数据处理方法相似,因此数据处理装置的实施可以参见数据处理方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。请参阅图8,是本申请实施例提供的数据处理装置的一种组成结构图,该装置具体可以包括:发起模块801、验证模块802、调用模块803和处理模块804,下面对该结构进行具体说明。
发起模块801,具体可以用于响应交易数据处理请求,发起身份验证请求,其中所述数据处理装置中保存有第一私钥分量;
验证模块802,具体可以用于响应所述身份验证请求,与服务器进行双向身份验证,其中,所述服务器保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成;
调用模块803,具体可以用于在双向身份验证通过的情况下,调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
处理模块804,具体可以用于根据所述交易签名,进行交易数据处理。
在一个实施例中,为了能够响应所述身份验证请求,与服务器进行双向身份验证,所述验证模块802具体可以包括以下结构单元:
第一生成单元,具体可以用于响应所述身份验证请求,生成第一公钥和第一私钥,其中,所述第一公钥和所述第一私钥匹配;
第一收发单元,具体可以用于向服务器发送所述第一公钥,并接收第二公钥,其中,所述服务器用于响应所述身份验证请求,生成第二公钥和第二私钥;
第二收发单元,具体可以用于接收加密数据和第一签名数据,其中,所述加密数据为所述服务器根据所述第一公钥对第一随机数进行加密处理得到的数据,所述第一签名数据为所述服务器根据所述第二私钥对所述加密数据进行签名处理得到的数据;
根第一运算单元,具体可以用于据所述第二公钥、所述加密数据、所述第一签名数据,进行第一运算,以确定服务器身份验证是否通过,并在确定服务器身份验证通过的情况下,根据所述第二公钥对所述加密数据进行解密处理,得到所述第一随机数;
第一签名处理单元,具体可以用于根据所述第一私钥对所述第一随机数进行签名处理,得到第二签名数据,并向所述服务器发送所述第二签名数据;
第三收发单元,具体可以用于接收所述服务器反馈的身份确认信息,其中,所述服务器用于根据所述第一公钥、所述第一随机数、所述第二签名数据,进行第二运算,以确定客户端身份验证是否通过,并在确定所述客户端身份验证通过的情况下,向所述客户端发送确认指示信息。
在一个实施例中,所述装置还包括生成模块,用于生成第一私钥分量和第二私钥分量,其中,所述生成模块具体可以包括以下结构单元:
第二生成单元,具体可以用于响应密钥生成请求,生成交易私钥和交易公钥,其中,所述交易私钥和所述交易公钥匹配;
第三生成单元,具体可以用于根据所述交易私钥,生成第一私钥分量、第二私钥分量;
第四收发单元,具体可以用于将所述第一私钥分量保存于客户端本地,将所述第二私钥分量发送至服务器,其中,所述服务器用于保存所述第二私钥分量。
在一个实施例中,为了能够安全地将所述第二私钥分量发送至服务器,所述第四收发单元具体实施时,可以按照以下程序执行:获取传输公钥,其中,所述传输公钥为服务器生成,所述服务器保存有与所述传输公钥匹配的传输私钥;根据所述传输公钥对所述第二私钥分量进行加密处理,得到加密后的第二私钥分量;将所述加密后的第二私钥分量发送至所述服务器。
在一个实施例中,所述装置还包括备用私钥分量生成模块,具体实施时,可以用于根据所述交易私钥,生成第一备用私钥分量、第二备用私钥分量;将所述第一备用私钥分量保存于客户端本地,将所述第二备用私钥分量发送至服务器。
在一个实施例中,所述装置还可以包括更新模块,用于更新客户端和服务器所保管的私钥分量。其中,所述更新模块具体实施时,可以包括以下结构单元:
第三运算单元,具体可以用于响应更新请求;调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行第三运算,生成更新后的第一私钥分量和更新后的第二私钥分量;
获取单元,具体可以用于获取并保存所述更新后的第一私钥分量,其中,所述更新后的第二私钥分量保存于所述服务器。
在一个实施例中,所述装置还可以包括验证模块,具体可以用于响应密钥验证请求,调用预设于客户端的第一MPC节点以所述更新后的第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述更新后的第二私钥分量作为输入数据,按照预设规则进行第四运算,生成更新后的交易公钥;根据所述交易公钥和所述更新后的交易公钥,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
在一个实施例中,所述装置还可以包括另一种验证模块,具体可以用于响应密钥验证请求,生成第二随机数,并将所述第二随机数发送至服务器;调用预设于客户端的第一MPC节点以所述更新后的第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述更新后的第二私钥分量作为输入数据,按照预设规则对所述第二随机数进行签名处理,得到第三签名数据;根据所述交易公钥和所述第三签名数据,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
在一个实施例中,所述装置具体还可以包括备用处理模块,具体可以用于在所述第一私钥分量丢失的情况下,调用预设于客户端的第一MPC节点以所述第一备用私钥分量为输入数据,和预设于服务器的第二MPC节点以所述第二备用私钥分量为输入数据,按照预设规则进行第五运算,生成第三私钥分量和第四私钥分量;获取,并将所述第三私钥分量作为第一私钥分量保存于客户端本地,其中,所述第四私钥分量作为第二私钥分量保存于所述服务器。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,上述实施方式阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,在本说明书中,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
此外,在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
从以上的描述中,可以看出,本申请实施例提供的数据处理装置,通过事先将第一私钥分量和第二私钥分量分开保存于客户端和服务器两侧;在用户需要进行交易数据处理时,又通过调用模块调用预设于客户端的第一MPC节点和预设于服务器的第二MPC节点分别以各端所保存的第一私钥分量和第二私钥分量作为输入,按照预设规则共同进行预设的函数运算,来生成交易签名,再通过处理模块根据上述交易签名,进行具体的交易数据处理,这样使得在交易数据的处理过程中不会出现完整的私钥,从而解决了现有的交易数据的处理过程中由于需要使用到完整密钥,导致密钥使用不安全的技术问题,达到了降低用户的交易数据的处理过程中的安全风险,提高了交易数据处理的安全性的技术效果,同时满足用户对完整的交易私钥的控制需求。
本申请实施例还提供了一种电子设备,具体可以参阅图9所示的基于本申请实施例提供的电子设备组成结构示意图,所述电子设备具体可以包括输入设备91、处理器92、存储器93。其中,所述输入设备91具体可以用于接收交易数据处理请求。所述处理器92具体可以用于响应交易数据处理请求,发起身份验证请求;响应所述身份验证请求,与服务器进行双向身份验证,其中,所述服务器保存有第二私钥分量;在双向身份验证通过的情况下,调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成;根据所述交易签名,进行交易数据处理。所述存储器93具体可以用于存储处理器92所基于的相应的指令程序。
在本实施例中,所述输入设备具体可以是用户和计算机***之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字***中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在***中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该电子设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本申请实施例还提供了一种基于数据处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:响应交易数据处理请求,发起身份验证请求;响应所述身份验证请求,与服务器进行双向身份验证,其中,所述服务器保存有第二私钥分量;在双向身份验证通过的情况下,调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成;根据所述交易签名,进行交易数据处理。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(RandomAccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
为了进一步减少客户端保存私钥分量可能存在的安全风险,本申请实施例还提供了另一种数据处理方法,具体可以参阅图10所示的根据本申请实施方式提供的另一种数据处理方法的处理流程图。具体可以包括以下内容。
S101:响应交易数据处理请求,发起身份验证请求;
S103:响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,其中,所述第一服务器用于保存第一私钥分量,所述第二服务器用于保存第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成;
S105:在身份验证通过的情况下,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
S107:根据所述交易签名,进行交易数据处理。
在本实施例中,通过在***引入相对客户端更为可靠的第一服务器和第二服务器来分别保存用于生成交易签名的第一私钥分量和第二私钥分量,从而降低了由客户端自行保存的部分私钥分量容易被泄漏或窃取的风险,进一步降低用户的交易数据的处理过程中的安全风险,达到提高交易数据处理的安全性的技术效果。
在一个实施例中,具体实施时,还需要先生成用于生成交易签名的第一私钥分量的第二私钥分量,并将上述第一私钥分量和第二私钥分量分别保存于第一服务器和第二服务器两侧。具体的,参阅图11所示的根据本申请实施方式提供的另一种数据处理方法的处理流程图,在响应交易数据处理请求之前,所述方法还可以包括以下内容:
S1:响应密钥生成请求,生成交易私钥和交易公钥,其中,所述交易私钥和所述交易公钥匹配;
S2:根据所述交易私钥,生成第一私钥分量、第二私钥分量;
S3:将所述交易公钥保存于客户端本地,将所述第一私钥分量发送至第一服务器,将所述第二私钥分量发送至第二服务器。
在本实施例中,具体实施时,客户端可以采集并根据用户输入的相关指令,生成并响应上述密钥生成请求,在客户端本地生成交易私钥(可以记为sk)和交易公钥(可以记为pk)。例如,客户端可以按照以上方式在本地生成上述交易私钥和交易公钥:keyGen()→(sk,pk)。进而,客户端可以根据上述交易私钥通过密钥共享的方式生成第一私钥分量(可以记为sk1)和第二私钥分量(可以记为sk2)。例如,客户端可以按照以下方式生成第一私钥分量和第二私钥分量:secrect sharing(sk)→(sk1,sk2)。客户端可以将交易公钥保存在客户端本地,而将第一私钥分量和第二私钥分量分别发送至第一服务器(可以记为KMS1)和第二服务器(可以记为KMS2),由第一服务器保存第一私钥分量,由第二服务器保存第二私钥分量。这样客户端自己可以不需要保存任何的私钥分量,不用承担私钥分量被窃取或泄露的风险,而通过可靠性更高的第一服务器、第二服务器分开保管私钥分量,从而可以将私钥分量被窃取或泄露的风险。
在一个实施例中,在客户端将上述第一私钥分量和第二私钥分量发送至第一服务器和第二服务器时,为避免私钥分量在传输的过程中被窃取或泄露,可以先对私钥分量进行相应的加密处理后,再进行发送。具体的,结合图11所示,上述将所述第一私钥分量发送至第一服务器,可以包括以下内容:
S1:获取第一传输公钥(可以记为pk_s1),其中,所述第一传输公钥为第一服务器生成,所述第一服务器保存有与所述第一传输公钥匹配的第一传输私钥(可以记为sk_s1);
S2:根据所述第一传输公钥对所述第一私钥分量进行加密处理,得到加密后的第一私钥分量(可以记为t1);
S3:将所述加密后的第一私钥分量发送至所述第一服务器。
在本实施例中,客户端可以按照以下方式利用第一传输公钥对第一私钥分量进行加密处理:Enc(pk_s1,sk1)→t1。
在本实施例中,通过上述方式,第一服务器可以得到加密后的第一私钥分量。第一服务器在得到上述加密后的第一私钥分量后,可以利用所保存的第一传输私钥对上述加密后的第一私钥分量进行解密,得到并在第一服务器保存第一私钥分量。例如,第一服务器可以按照以下方式进行解密得到第一私钥分量:Dec(sk_s1,t1)→sk1。
在一个实施例中,可以参照上述将所述第一私钥分量发送至第一服务器的方式,通过以下方式将第二私钥分量发送至第二服务器:
S1:获取第二传输公钥(可以记为pk_s2),其中,所述第二传输公钥为第二服务器生成,所述第二服务器保存有与所述第二传输公钥匹配的第二传输私钥(可以记为sk_s2);
S2:根据所述第二传输公钥对所述第二私钥分量进行加密处理,得到加密后的第二私钥分量(可以记为t2);
S3:将所述加密后的第二私钥分量发送至所述第二服务器。
在本实施例中,客户端可以按照以下方式利用第二传输公钥对第二私钥分量进行加密处理:Enc(pk_s2,sk2)→t2。
在本实施例中,通过上述方式,第二服务器可以得到加密后的第二私钥分量。第二服务器在得到上述加密后的第二私钥分量后,可以利用所保存的第二传输私钥对上述加密后的第二私钥分量进行解密,得到并在第二服务器保存第二私钥分量。例如,第二服务器可以按照以下方式进行解密得到第一私钥分量:Dec(sk_s2,t2)→sk2。
在一个实施例中,为了进一步提高交易数据处理的安全性,具体实施时,在调用预设于第一服务器的第一MPC节点和预设于第二服务器的第二MPC节点分别以各自保存的第一私钥分量和第二私钥分量生成交易签名之前,还可以先对参与交易数据处理的第一服务器、第二服务器和客户端进行身份验证,在身份验证通过的情况下,再生成用于交易数据处理的交易签名。
在一个实施例中,可以参阅图12所示的根据本申请实施方式提供的另一种数据处理方法的处理流程图,上述响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,具体实施时,可以包括以下内容:
S1:响应所述身份验证请求,生成第一随机数,并将所述第一随机数分别发送至第一服务器和第二服务器;
S2:接收第一签名数据,其中,所述第一签名数据为预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行签名处理,得到的数据;
S3:根据所述第一签名数据和所述交易公钥,确定身份验证是否通过。
具体的,参阅图12所示的根据本申请实施方式提供的另一种数据处理方法的处理流程图,可以通过签名验证的方式完成身份验证。客户端(可以记为client)可以先生成一个随机数(记为m1,即第一随机数);再将该第一随机数分别发送至第一服务器(可以记为KMS1)和第二服务器(可以记为KMS2)。第一服务器和第二服务器在接收到上述第一随机数后,可以通过第一MPC节点和第二MPC节点分别以各自保存的第一私钥分量和第二私钥分量作为输入,按照预设规则共同对第一随机数进行签名处理得到第一签名数据(可以记为sig1’)。由第一服务器或第二服务器将共同签名得到的第一签名数据发送至客户端。客户端在接收到第一签名数据后,可以利用所保存的交易公钥对第一签名数据进行验证,根据验证结果确定第一服务器、第二服务器和客户端的身份是否验证通过。在验证通过的情况下,才会触发后续步骤以生成相应的交易签名,进行相应的交易数据处理。
在一个是实施例中,还可以参阅图13所示的根据本申请实施方式提供的另一种数据处理方法的处理流程图,上述响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,具体实施时,可以包括以下内容:
S1:响应所述身份验证请求,向所述第一服务器,和/或,所述第二服务器发送验证公钥获取请求;
S2:接收验证公钥,其中,所述验证公钥为预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行运算,得到的数据;
S3:根据所述验证公钥和所述交易公钥,确定身份验证是否通过。
具体的,参阅图13所示,还可以通过公钥比对的方式完成身份验证。客户端可以向第一服务器和第二服务器中的任意一个服务器,或者同时向两个服务器发送针对身份验证的验证公钥获取请求。第一服务器和第二服务器中任意一个服务器接收到上述验证公钥获取请求后,可以响应上述验证公钥获取请求,同另一个服务器通信,进而可以分别通过对应的MPC节点以各自保存的私钥分量作为输入按照预设规则参与共同运算,生成验证公钥(可以记为pk1’),再将上述验证公钥发送至客户端。客户端再接收到上述验证公钥后,可以将该验证公钥与自己保存的交易公钥进行比对。如果两者完全相同,或者差异值相对较小,则验证成功,进而可以确定第一服务器、第二服务器和客户端身份验证通过,可以进行后续的交易签名的生成。
在一个实施例中,为了满足用户更新私钥分量的需求,所述方法具体实施时,还可以包括以下内容:
响应更新请求,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行函数运算,生成更新后的第一私钥分量(可以记为sk1’)和更新后的第二私钥分量(可以记为sk2’);其中,所述更新后的第一私钥分量保存于第一服务器,所述更新后的第二私钥分量保存于第二服务器。
在一个实施例中,在第一服务器和第二服务器分别通过第一MPC节点和第二MPC节点生成对应的更新后的第一私钥分量和更新后的第二私钥分量后,可以先对所生成的更新后的第一私钥分量和更新后的第二私钥分量对上述更新后的第一私钥分量和更新后的第二私钥分量进行比对、验证,以确定所生成的更新后的第一私钥分量和更新后的第二私钥分量是否满足要求,即是否能够生成准确的用户签名。在确定所生成的更新后的第一私钥分量和更新后的第二私钥分量满足要求的情况下,再利用更新后的第一私钥分量替换原有的第一私钥分量,保存于第一服务器;利用更新后的第二私钥分量替换原有的第二私钥分量,保存于第二服务器,从而完成对私钥分量的更新。
在一个实施例中,可以参阅图14所示的根据本申请实施方式提供的另一种数据处理方法的处理流程图,通过签名验证的方式来验证所生成的更新后的第一私钥分量和更新后的第二私钥分量是否满足要求。具体的,在响应更新请求,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行函数运算,生成更新后的第一私钥分量和更新后的第二私钥分量后,所述方法还可以包括以下内容:
S1:响应密钥验证请求,生成第二随机数(可以记为m2’);并将所述第二随机数分别发送至第一服务器和第二服务器;
S2:接收第二签名数据(可以记为sig2’),其中,所述第二签名数据为预设于第一服务器的第一MPC节点以所述更新后的第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述更新后的第二私钥分量作为输入数据,按照预设规则对所述第二随机数进行签名处理,得到的数据;
S3:根据所述交易公钥和所述第二签名数据,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
在本实施例中,客户端可以利用所保存的交易公钥对所获取的第二签名数据进行验证处理,根据验证结果,确定所述更新后的第一私钥分量、更新后的第二私钥分量是否满足要求。在确定所述更新后的第一私钥分量、更新后的第二私钥分量满足要求的情况下,再由第一服务器和第二服务器分别保存第一私钥分量和第二私钥分量。
在一个实施例中,可以参阅图15所示的根据本申请实施方式提供的另一种数据处理方法的处理流程图,通过公钥比对的方式来确定所生成的更新后的第一私钥分量和更新后的第二私钥分量是否满足要求。具体的,在响应更新请求,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行函数运算,生成更新后的第一私钥分量和更新后的第二私钥分量后,所述方法还可以包括以下内容:
S1:响应密钥验证请求,调用预设于第一服务器的第一MPC节点以所述更新后的第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述更新后的第二私钥分量作为输入数据,按照预设规则进行运算,生成更新后的交易公钥(可以记为pk2’);
S2:根据所述交易公钥和所述更新后的交易公钥,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
在本实施例中,客户端在得到上述更新后的交易公钥后,可以利用自己所保存的交易公钥与更新后的交易公钥进行比对,如果更新后的交易公钥与所保存的交易公钥相同,或者差异值相对较小,则可以确定更新后的第一私钥分量、更新后的第二私钥分量满足要求。
由上可见,由于该方案通过事先将第一私钥分量和第二私钥分量分开保存于可靠性更高的第一服务器和第二服务器两侧;在用户需要进行交易数据处理时,又通过调用预设于第一服务器的第一MPC节点和预设于第二服务器的第二MPC节点分别以各端所保存的第一私钥分量和第二私钥分量作为输入,按照预设规则共同进行预设的函数运算,来生成交易签名,这样使得在交易数据的处理过程中不会出现完整的私钥,客户端也不需要自行保存私钥分量,从而解决了现有的交易数据的处理过程中由于需要使用到完整密钥,导致密钥使用不安全的技术问题,达到了进一步降低用户的交易数据的处理过程中的安全风险,提高了交易数据处理的安全性的技术效果。
本申请实施例还提供了一种数据处理方法,所述数据处理方法具体可以应用于第一服务器,其中,所述第一服务器保存有第一私钥分量,所述方法具体实施时,可以包括以下内容:
S1:响应身份验证请求,与第一客户端、第二服务器进行身份验证,其中,所述第二客户端保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成;
S2:在身份验证通过的情况下,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名。
在本实施例中,需要说明的是,可以参照上述应用于第一服务器的数据处理方法,利用第二服务器保存第二私钥分量,并与第一服务器共同生成交易签名,以完成相应的数据处理。对此,本说明书不再赘述。
本申请实施例还提供了一种数据处理方法,所述数据处理方法具体可以应用于包括第一服务器、第二服务器和客户端的***中,其中,所述第一服务器保存有第一私钥分量,所述第二服务器保存有第二私钥分量,所述方法具体实施时,可以包括以下内容:
S1:所述客户端响应响应交易数据处理请求,发起身份验证请求;
S2:所述客户端、所述第一服务器、所述第二服务器响应所述身份验证请求,进行身份验证;
S3:在身份验证通过的情况下,预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名,并将所述交易签名反馈给客户端;
S4:所述客户端根据所述交易签名,进行交易数据处理。
相应的,本申请实施例还提供了一种数据处理装置,具体可以包括以下结构模块:
发起模块,具体可以用于响应交易数据处理请求,发起身份验证请求;
验证模块,具体可以用于响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,其中,所述第一服务器用于保存第一私钥分量,所述第二服务器用于保存第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成;
调用模块,具体可以用于在身份验证通过的情况下,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
处理模块,具体可以用于根据所述交易签名,进行交易数据处理。
尽管本申请内容中提到不同的具体实施例,但是,本申请并不局限于必须是行业标准或实施例所描述的情况等,某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、处理、输出、判断方式等的实施例,仍然可以属于本申请的可选实施方案范围之内。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
上述实施例阐明的装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的实施方式包括这些变形和变化而不脱离本申请。
Claims (24)
1.一种数据处理方法,所述数据处理方法应用于客户端,其特征在于,所述客户端保存有第一私钥分量,所述方法包括:
响应交易数据处理请求,发起身份验证请求;
响应所述身份验证请求,与服务器进行双向身份验证,其中,所述服务器保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成;
在双向身份验证通过的情况下,调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
根据所述交易签名,进行交易数据处理。
2.根据权利要求1所述的方法,其特征在于,响应所述身份验证请求,与服务器进行双向身份验证,包括:
响应所述身份验证请求,生成第一公钥和第一私钥,其中,所述第一公钥和所述第一私钥匹配;
向服务器发送所述第一公钥,并接收第二公钥,其中,所述服务器用于响应所述身份验证请求,生成第二公钥和第二私钥;
接收加密数据和第一签名数据,其中,所述加密数据为所述服务器根据所述第一公钥对第一随机数进行加密处理得到的数据,所述第一签名数据为所述服务器根据所述第二私钥对所述加密数据进行签名处理得到的数据;
根据所述第二公钥、所述加密数据、所述第一签名数据,进行第一运算,以确定服务器身份验证是否通过,并在确定服务器身份验证通过的情况下,根据所述第二公钥对所述加密数据进行解密处理,得到所述第一随机数;
根据所述第一私钥对所述第一随机数进行签名处理,得到第二签名数据,并向所述服务器发送所述第二签名数据;
接收所述服务器反馈的身份确认信息,其中,所述服务器用于根据所述第一公钥、所述第一随机数、所述第二签名数据,进行第二运算,以确定客户端身份验证是否通过,并在确定所述客户端身份验证通过的情况下,向所述客户端发送确认指示信息。
3.根据权利要求1所述的方法,其特征在于,在响应交易数据处理请求,发起身份验证请求之前,所述方法还包括:
响应密钥生成请求,生成交易私钥和交易公钥,其中,所述交易私钥和所述交易公钥匹配;
根据所述交易私钥,生成第一私钥分量、第二私钥分量;
将所述第一私钥分量保存于客户端本地,将所述第二私钥分量发送至服务器,其中,所述服务器用于保存所述第二私钥分量。
4.根据权利要求3所述的方法,其特征在于,将所述第二私钥分量发送至服务器,包括:
获取传输公钥,其中,所述传输公钥为服务器生成,所述服务器保存有与所述传输公钥匹配的传输私钥;
根据所述传输公钥对所述第二私钥分量进行加密处理,得到加密后的第二私钥分量;
将所述加密后的第二私钥分量发送至所述服务器。
5.根据权利要求3所述的方法,其特征在于,在根据所述交易私钥,生成第一私钥分量、第二私钥分量后,所述方法还包括:
根据所述交易私钥,生成第一备用私钥分量、第二备用私钥分量;
将所述第一备用私钥分量保存于客户端本地,将所述第二备用私钥分量发送至服务器。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
响应更新请求,调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行第三运算,生成更新后的第一私钥分量和更新后的第二私钥分量;
获取并保存所述更新后的第一私钥分量,其中,所述更新后的第二私钥分量保存于所述服务器。
7.根据权利要求6所述的方法,其特征在于,在获取并保存所述更新后的第一私钥分量后,所述方法还包括:
响应密钥验证请求,调用预设于客户端的第一MPC节点以所述更新后的第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述更新后的第二私钥分量作为输入数据,按照预设规则进行第四运算,生成更新后的交易公钥;
根据所述交易公钥和所述更新后的交易公钥,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
8.根据权利要求6所述的方法,其特征在于,在获取并保存所述更新后的第一私钥分量后,所述方法还包括:
响应密钥验证请求,生成第二随机数,并将所述第二随机数发送至服务器;
调用预设于客户端的第一MPC节点以所述更新后的第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述更新后的第二私钥分量作为输入数据,按照预设规则对所述第二随机数进行签名处理,得到第三签名数据;
根据所述交易公钥和所述第三签名数据,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
9.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述第一私钥分量丢失的情况下,调用预设于客户端的第一MPC节点以所述第一备用私钥分量为输入数据,和预设于服务器的第二MPC节点以所述第二备用私钥分量为输入数据,按照预设规则进行第五运算,生成第三私钥分量和第四私钥分量;
获取,并将所述第三私钥分量作为第一私钥分量保存于客户端本地,其中,所述第四私钥分量作为第二私钥分量保存于所述服务器。
10.一种数据处理方法,所述数据处理方法应用于服务器,其特征在于,所述服务器保存有第二私钥分量,所述方法包括:
响应身份验证请求,与客户端进行双向身份验证,其中,所述客户端保存有第一私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成;
在双向身份验证通过的情况下,调用预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,和预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名。
11.一种数据处理方法,所述数据处理方法应用于包括服务器和客户端的***中,其特征在于,所述客户端保存有第一私钥分量,所述服务器保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成所述方法包括:
所述客户端响应响应交易数据处理请求,发起身份验证请求;
所述客户端和所述服务器响应所述身份验证请求,进行双向身份验证;
在双向身份验证通过的情况下,预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
所述客户端根据所述交易签名,进行交易数据处理。
12.一种数据处理装置,其特征在于,包括:
发起模块,用于响应交易数据处理请求,发起身份验证请求,其中所述数据处理装置中保存有第一私钥分量;
验证模块,用于响应所述身份验证请求,与服务器进行双向身份验证,其中,所述服务器保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据交易私钥生成;
调用模块,用于在双向身份验证通过的情况下,调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
处理模块,用于根据所述交易签名,进行交易数据处理。
13.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现权利要求1至9中任一项所述方法的步骤。
14.一种数据处理方法,所述数据处理方法应用于客户端,其特征在于,所述方法包括:
响应交易数据处理请求,发起身份验证请求;
响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,其中,所述第一服务器用于保存第一私钥分量,所述第二服务器用于保存第二私钥分量,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成;
在身份验证通过的情况下,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
根据所述交易签名,进行交易数据处理。
15.根据权利要求14所述的方法,其特征在于,在响应交易数据处理请求之前,所述方法还包括:
响应密钥生成请求,生成交易私钥和交易公钥,其中,所述交易私钥和所述交易公钥匹配;
根据所述交易私钥,生成第一私钥分量、第二私钥分量;
将所述交易公钥保存于客户端本地,将所述第一私钥分量发送至第一服务器,将所述第二私钥分量发送至第二服务器。
16.根据权利要求15所述的方法,其特征在于,将所述第一私钥分量发送至第一服务器,包括:
获取第一传输公钥,其中,所述第一传输公钥为第一服务器生成,所述第一服务器保存有与所述第一传输公钥匹配的第一传输私钥;
根据所述第一传输公钥对所述第一私钥分量进行加密处理,得到加密后的第一私钥分量;
将所述加密后的第一私钥分量发送至所述第一服务器。
17.根据权利要求15所述的方法,其特征在于,响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,包括:
响应所述身份验证请求,生成第一随机数,并将所述第一随机数分别发送至第一服务器和第二服务器;
接收第一签名数据,其中,所述第一签名数据为预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行签名处理,得到的数据;
根据所述第一签名数据和所述交易公钥,确定身份验证是否通过。
18.根据权利要求15所述的方法,其特征在于,响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,包括:
响应所述身份验证请求,向所述第一服务器,和/或,所述第二服务器发送验证公钥获取请求;
接收验证公钥,其中,所述验证公钥为预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行运算,得到的数据;
根据所述验证公钥和所述交易公钥,确定身份验证是否通过。
19.根据权利要求14所述的方法,其特征在于,所述方法还包括:
响应更新请求,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行函数运算,生成更新后的第一私钥分量和更新后的第二私钥分量;其中,所述更新后的第一私钥分量保存于第一服务器,所述更新后的第二私钥分量保存于第二服务器。
20.根据权利要求19所述的方法,其特征在于,在响应更新请求,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行函数运算,生成更新后的第一私钥分量和更新后的第二私钥分量后,所述方法还包括:
响应密钥验证请求,生成第二随机数;并将所述第二随机数分别发送至第一服务器和第二服务器;
接收第二签名数据,其中,所述第二签名数据为预设于第一服务器的第一MPC节点以所述更新后的第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述更新后的第二私钥分量作为输入数据,按照预设规则对所述第二随机数进行签名处理,得到的数据;
根据所述交易公钥和所述第二签名数据,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
21.根据权利要求19所述的方法,其特征在于,在响应更新请求,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行函数运算,生成更新后的第一私钥分量和更新后的第二私钥分量后,所述方法还包括:
响应密钥验证请求,调用预设于第一服务器的第一MPC节点以所述更新后的第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述更新后的第二私钥分量作为输入数据,按照预设规则进行运算,生成更新后的交易公钥;
根据所述交易公钥和所述更新后的交易公钥,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
22.一种数据处理方法,所述数据处理方法应用于第一服务器,其特征在于,所述第一服务器保存有第一私钥分量,所述方法包括:
响应身份验证请求,与第一客户端、第二服务器进行身份验证,其中,所述第二服务器保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成;
在身份验证通过的情况下,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名。
23.一种数据处理方法,所述数据处理方法应用于包括第一服务器、第二服务器和客户端的***中,其特征在于,所述第一服务器保存有第一私钥分量,所述第二服务器保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据所述客户端所生成的交易私钥生成,所述方法包括:
所述客户端响应响应交易数据处理请求,发起身份验证请求;
所述客户端、所述第一服务器、所述第二服务器响应所述身份验证请求,进行身份验证;
在身份验证通过的情况下,预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名,并将所述交易签名反馈给客户端;
所述客户端根据所述交易签名,进行交易数据处理。
24.一种数据处理装置,其特征在于,包括:
发起模块,用于响应交易数据处理请求,发起身份验证请求;
验证模块,用于响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,其中,所述第一服务器用于保存第一私钥分量,所述第二服务器用于保存第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量根据交易私钥生成;
调用模块,用于在身份验证通过的情况下,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
处理模块,用于根据所述交易签名,进行交易数据处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910132899.5A CN109872155A (zh) | 2019-02-22 | 2019-02-22 | 数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910132899.5A CN109872155A (zh) | 2019-02-22 | 2019-02-22 | 数据处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109872155A true CN109872155A (zh) | 2019-06-11 |
Family
ID=66919103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910132899.5A Pending CN109872155A (zh) | 2019-02-22 | 2019-02-22 | 数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109872155A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110278078A (zh) * | 2019-06-17 | 2019-09-24 | 矩阵元技术(深圳)有限公司 | 一种数据处理方法、装置及*** |
CN110289968A (zh) * | 2019-06-27 | 2019-09-27 | 矩阵元技术(深圳)有限公司 | 私钥恢复、协同地址的创建、签名方法及装置、存储介质 |
CN110363528A (zh) * | 2019-06-27 | 2019-10-22 | 矩阵元技术(深圳)有限公司 | 协同地址的生成、交易签名方法及装置、存储介质 |
CN111343160A (zh) * | 2020-02-13 | 2020-06-26 | 南京如般量子科技有限公司 | 基于秘密共享和路由装置的抗量子计算区块链交易方法和*** |
CN111490878A (zh) * | 2020-04-09 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 密钥生成方法、装置、设备及介质 |
CN111723385A (zh) * | 2020-06-01 | 2020-09-29 | 清华大学 | 数据信息处理方法、装置、电子设备及存储介质 |
WO2020252617A1 (zh) * | 2019-06-17 | 2020-12-24 | 云图有限公司 | 一种数据处理方法、装置及*** |
WO2020258126A1 (zh) * | 2019-06-27 | 2020-12-30 | 云图有限公司 | 协同地址的生成、交易签名方法及装置、存储介质 |
WO2021169521A1 (zh) * | 2020-02-24 | 2021-09-02 | 华为技术有限公司 | 签名方法、终端设备及网络设备 |
CN113486320A (zh) * | 2021-07-22 | 2021-10-08 | 广州炒米信息科技有限公司 | 企业电子签章管控方法、装置、存储介质和终端设备 |
CN113496398A (zh) * | 2020-03-19 | 2021-10-12 | 中移(上海)信息通信科技有限公司 | 基于智能合约的数据处理方法、装置、设备及介质 |
CN114666066A (zh) * | 2022-05-20 | 2022-06-24 | 杭州天谷信息科技有限公司 | 私钥的恢复方法和***及更新方法和*** |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101523800A (zh) * | 2006-10-10 | 2009-09-02 | 高通股份有限公司 | 用于双向认证的方法和装置 |
US20160191252A1 (en) * | 2013-08-16 | 2016-06-30 | China Iwncomm Co., Ltd. | Method and device for generating digital signature |
CN106027255A (zh) * | 2016-04-18 | 2016-10-12 | 李明 | 一种身份证读卡响应安全控制方法及装置 |
CN106549770A (zh) * | 2017-01-13 | 2017-03-29 | 武汉理工大学 | Sm2数字签名生成方法及*** |
CN106603485A (zh) * | 2016-10-31 | 2017-04-26 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
CN106961336A (zh) * | 2017-04-18 | 2017-07-18 | 北京百旺信安科技有限公司 | 一种基于sm2算法的密钥分量托管方法和*** |
CN107017993A (zh) * | 2017-04-01 | 2017-08-04 | 北京江南天安科技有限公司 | 一种多方联合密钥产生和数字签名方法及*** |
CN107302438A (zh) * | 2017-08-07 | 2017-10-27 | 收付宝科技有限公司 | 一种基于密钥更新的私钥保护方法、***及装置 |
CN107948189A (zh) * | 2017-12-19 | 2018-04-20 | 数安时代科技股份有限公司 | 非对称密码身份鉴别方法、装置、计算机设备及存储介质 |
-
2019
- 2019-02-22 CN CN201910132899.5A patent/CN109872155A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101523800A (zh) * | 2006-10-10 | 2009-09-02 | 高通股份有限公司 | 用于双向认证的方法和装置 |
US20160191252A1 (en) * | 2013-08-16 | 2016-06-30 | China Iwncomm Co., Ltd. | Method and device for generating digital signature |
CN106027255A (zh) * | 2016-04-18 | 2016-10-12 | 李明 | 一种身份证读卡响应安全控制方法及装置 |
CN106603485A (zh) * | 2016-10-31 | 2017-04-26 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
CN106549770A (zh) * | 2017-01-13 | 2017-03-29 | 武汉理工大学 | Sm2数字签名生成方法及*** |
CN107017993A (zh) * | 2017-04-01 | 2017-08-04 | 北京江南天安科技有限公司 | 一种多方联合密钥产生和数字签名方法及*** |
CN106961336A (zh) * | 2017-04-18 | 2017-07-18 | 北京百旺信安科技有限公司 | 一种基于sm2算法的密钥分量托管方法和*** |
CN107302438A (zh) * | 2017-08-07 | 2017-10-27 | 收付宝科技有限公司 | 一种基于密钥更新的私钥保护方法、***及装置 |
CN107948189A (zh) * | 2017-12-19 | 2018-04-20 | 数安时代科技股份有限公司 | 非对称密码身份鉴别方法、装置、计算机设备及存储介质 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020252617A1 (zh) * | 2019-06-17 | 2020-12-24 | 云图有限公司 | 一种数据处理方法、装置及*** |
CN110278078A (zh) * | 2019-06-17 | 2019-09-24 | 矩阵元技术(深圳)有限公司 | 一种数据处理方法、装置及*** |
CN110363528B (zh) * | 2019-06-27 | 2022-06-24 | 矩阵元技术(深圳)有限公司 | 协同地址的生成、交易签名方法及装置、存储介质 |
CN110289968A (zh) * | 2019-06-27 | 2019-09-27 | 矩阵元技术(深圳)有限公司 | 私钥恢复、协同地址的创建、签名方法及装置、存储介质 |
CN110363528A (zh) * | 2019-06-27 | 2019-10-22 | 矩阵元技术(深圳)有限公司 | 协同地址的生成、交易签名方法及装置、存储介质 |
CN110289968B (zh) * | 2019-06-27 | 2022-06-24 | 矩阵元技术(深圳)有限公司 | 私钥恢复、协同地址的创建、签名方法及装置、存储介质 |
WO2020258126A1 (zh) * | 2019-06-27 | 2020-12-30 | 云图有限公司 | 协同地址的生成、交易签名方法及装置、存储介质 |
CN111343160A (zh) * | 2020-02-13 | 2020-06-26 | 南京如般量子科技有限公司 | 基于秘密共享和路由装置的抗量子计算区块链交易方法和*** |
CN111343160B (zh) * | 2020-02-13 | 2022-07-08 | 南京如般量子科技有限公司 | 基于秘密共享和路由装置的抗量子计算区块链交易方法和*** |
WO2021169521A1 (zh) * | 2020-02-24 | 2021-09-02 | 华为技术有限公司 | 签名方法、终端设备及网络设备 |
CN113496398A (zh) * | 2020-03-19 | 2021-10-12 | 中移(上海)信息通信科技有限公司 | 基于智能合约的数据处理方法、装置、设备及介质 |
CN111490878A (zh) * | 2020-04-09 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 密钥生成方法、装置、设备及介质 |
CN111723385A (zh) * | 2020-06-01 | 2020-09-29 | 清华大学 | 数据信息处理方法、装置、电子设备及存储介质 |
CN111723385B (zh) * | 2020-06-01 | 2024-02-09 | 清华大学 | 数据信息处理方法、装置、电子设备及存储介质 |
CN113486320A (zh) * | 2021-07-22 | 2021-10-08 | 广州炒米信息科技有限公司 | 企业电子签章管控方法、装置、存储介质和终端设备 |
CN113486320B (zh) * | 2021-07-22 | 2024-03-29 | 广州炒米信息科技有限公司 | 企业电子签章管控方法、装置、存储介质和终端设备 |
CN114666066A (zh) * | 2022-05-20 | 2022-06-24 | 杭州天谷信息科技有限公司 | 私钥的恢复方法和***及更新方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109872155A (zh) | 数据处理方法和装置 | |
CN108616539B (zh) | 一种区块链交易记录访问的方法及*** | |
EP3850786B1 (en) | System and method for secure multi-party computation based blockchain transactions | |
Xiong et al. | A key protection scheme based on secret sharing for blockchain-based construction supply chain system | |
KR101634158B1 (ko) | 일종의 신분 인증 및 공유키 생성방법 | |
CN108292402A (zh) | 用于信息的安全交换的公共秘密的确定和层级确定性密钥 | |
CN108768633A (zh) | 实现区块链中信息共享的方法及装置 | |
CN109861816A (zh) | 数据处理方法和装置 | |
CN112507363A (zh) | 基于区块链的数据监管方法、装置、设备及存储介质 | |
CN103888251A (zh) | 一种云环境中虚拟机可信保障的方法 | |
CN1921395B (zh) | 提高网络软件安全性的方法 | |
CN110138548B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和*** | |
US11616643B2 (en) | System and method of management of a shared cryptographic account | |
WO2020253108A1 (zh) | 信息隐匿方法、装置、设备及存储介质 | |
CN111131416A (zh) | 业务服务的提供方法和装置、存储介质、电子装置 | |
CN110380859B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和*** | |
CN111737715A (zh) | 一种去中心化的电子合同在线签署的方法及*** | |
CN105847000A (zh) | 令牌产生方法以及基于该令牌产生方法的通信*** | |
CN109272314A (zh) | 一种基于两方协同签名计算的安全通信方法及*** | |
US20230299942A1 (en) | System and method of multi-party computation based multi-factor authentication | |
CN110046906A (zh) | 一种mpos机与服务器的双向认证交易方法及*** | |
CN113779606A (zh) | 一种降低隐私泄露风险的信息校验方法及*** | |
CN107154916A (zh) | 一种认证信息获取方法、提供方法及装置 | |
CN110176989B (zh) | 基于非对称密钥池的量子通信服务站身份认证方法和*** | |
CN110866754A (zh) | 一种基于动态口令的纯软件dpva身份认证方法 |
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: 40009460 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190611 |